Qt Software → Параллельная компиляция Qt в Windows
Параллельная компиляция Qt-проектов под Windows с использованием QtCreator — зверь загадочный и очень привередливый. В этой небольшой статье я расскажу, как же все-таки его приручить. Параллельная компиляция может быть выполнена достаточно просто в теории, на практике дела обстоят не совсем гладко, чему в подтверждение бесконечное число тем на форумах, где предлагаются всевозможные решения. Ни одно из них, к сожалению, нам не помогло.
Блог компании Амперка → Ino — работа с Arduino из командной строки
Хабрадевелоперам, привет!Те, кто работал с Arduino, знает, что для его программирования существует специальная Arduino IDE. По сути это блокнот с двумя кнопками: «прошить» и «послушать через serial». Блокнот подходит для написания маленьких программок-экспериментов, но выбешивает при написании чего-то большего.
Многие привыкли работать в своих любимых Visual Studio, Eclipse, KDevelop и т.п. Я сам — убеждённый фанат Vim’а, окна терминала и кнопок Alt+Tab. Давно хотелось, чтобы сборка проектов для Arduino была такой же простой, как в официальной IDE, а вот их ужасный редактор на глаза больше не попадался. Тем более, что язык «Arduino» несмотря на позиционирование как отдельного, простого языка программирования — это не что иное, как C++. А собирается всё в конечном итоге инструментами avr-gcc.
Для решения проблемы Амперкой был создан Ino.
Я пиарюсь → Спасибо, Кэп!
Дизайн-бюро «make» и студия «Март» проводят 02 июля в Одессе форум «Спасибо, Кэп!».
Приглашаем всех желающих!

Наш форум посвящен вопросу: «Как сделать занятие дизайном эффективным и успешным бизнесом». Неважно кто вы — руководитель компании, менеджер, сотрудник или фрилансер — мы уверены — вам будет интересно обсудить основные проблемы, которые стоят сегодня на пути к успеху в индустрии дизайна и веб-разработок.
Интересные доклады, новые знакомства, лето, море, солнце и Одессу — гарантируем.
Приглашаем всех желающих!

Наш форум посвящен вопросу: «Как сделать занятие дизайном эффективным и успешным бизнесом». Неважно кто вы — руководитель компании, менеджер, сотрудник или фрилансер — мы уверены — вам будет интересно обсудить основные проблемы, которые стоят сегодня на пути к успеху в индустрии дизайна и веб-разработок.
Интересные доклады, новые знакомства, лето, море, солнце и Одессу — гарантируем.
JavaScript → Сборка проекта без единой глобальной переменной
Представьте, у вас есть проект, состоящий из нескольких модулей и, например, jQuery или любая другая библиотеки в CDN. У вас есть огромное желание не показывать пользователю ваши глобальные переменные и по возможности не показывать jQuery и $. Ну и, конечно, сделать все без изменения кода проекта.
Причины для сокрытия глобалов могут быть разные: для красоты, из соображений безопасности, для затруднения анализа кода и другие. Пользователь взаимодействует с вашим кодом, используя события, которые он не сможет сломать — больше ему ничего и не нужно.
Самый очевидный способ — создать единственный namespace в который пассивно экспортировать прочие объекты, а jQuery и $ в конце удалить.
После сборки код будет какой-то такой:
Это идеальный вариант, но чаще бывает не так. Посмотрите ваш код, такой ли он?
Под катом универсальное решение, позволяющее собрать любой код без единой глобальной переменной.
Причины для сокрытия глобалов могут быть разные: для красоты, из соображений безопасности, для затруднения анализа кода и другие. Пользователь взаимодействует с вашим кодом, используя события, которые он не сможет сломать — больше ему ничего и не нужно.
Самый очевидный способ — создать единственный namespace в который пассивно экспортировать прочие объекты, а jQuery и $ в конце удалить.
После сборки код будет какой-то такой:
(function(window, undefined){
// include ./js/YourNamespace.js
var YourNamespace = (function () {
// что-то ещё
return {};
}());
// include ./js/YourNamespace/SomeObject.js
YourNamespace.SomeObject = (function () {
// что-то ещё
return function () {
};
}());
// Cleanup
delete window.$;
delete window.jQuery;
}(window));
Это идеальный вариант, но чаще бывает не так. Посмотрите ваш код, такой ли он?
Под катом универсальное решение, позволяющее собрать любой код без единой глобальной переменной.
LaTeX → [Перевод] Построение документов Latex с помощью Waf из песочницы
Это исправленный и дополненный перевод статьи о многофункциональной системе сборки Waf.
С самого начала использования сервиса Dropbox для хранения моих научных исследований и проектов я стал искать решение, которое позволит мне строить документы LaTeX без засорения каталога с документом. В обычных условиях я просто игнорирую такие файлы, но под Dropbox, каждый раз после построения документа файлы начинают синхронизироваться с сервером. Так как в Dropbox нет возможности указать файлы для игнорирования (если кто-то из компании читает это сообщение, пожалуйста, сделайте файл .dropboxignore), то я начал искать другое решение.
С самого начала использования сервиса Dropbox для хранения моих научных исследований и проектов я стал искать решение, которое позволит мне строить документы LaTeX без засорения каталога с документом. В обычных условиях я просто игнорирую такие файлы, но под Dropbox, каждый раз после построения документа файлы начинают синхронизироваться с сервером. Так как в Dropbox нет возможности указать файлы для игнорирования (если кто-то из компании читает это сообщение, пожалуйста, сделайте файл .dropboxignore), то я начал искать другое решение.
Разработка → Обзор систем сборки SCons и Waf

Я — разработчик и в качестве основного языка последние пару лет использую Python. Однако время от времени появляются задачи, когда нужно писать на C/C++. Существуют разные системы, с помощью которых можно собирать такие проекты. Классикой являются make и autotools. Я же хочу заострить внимание на таких альтернативах, как SCons и Waf. Целью поста не является доказательство того, что они лучше или хуже make. Хочется просто провести короткий экскурс, чтобы стало приблизительно понятно что это, зачем это и как с этим начать работать.
Чтобы разговор был предметным, предлагаю рассмотреть системы на практике. Я решил использовать простенький проект, в котором необходимы типовые, но не всегда тривиальные задачи сборки. Будем делать простенький web-сервер, цель которого: выдавать статичную страницу, которая готовится в отдельном html файле, но которая в итоге должна быть встроена в исполняемый файл. То есть на стадии сборки по html-коду должен быть собран исходник с си-кодом. В качестве серверной библиотеки используем mongoose, исходники которого положим внутрь проекта и будем собирать их в статическую библиотеку, которую в последствии будем прилинковывать к исполняемому файлу. Думаю, задача понятна.
Linux для всех → Распараллеливание задач в Linux
Потребовалось мне перекодировать некоторое количество видео-файлов. Для этого я написал следующий сценарий:
Казалось-бы все готово, но я заметил, что загружен только один процессор из двух, а это значит, что этот процесс можно ускорить, раза в два.
#!/bin/bash
recode() {
mencoder -o $2 $1 -ovc x264 -x264encopts bitrate=22000:keyint=50 -oac mp3lame -lameopts vbr=3:br=320 -fps 50
}
recode input/00108.mts 00108.avi
recode input/00109.mts 00109.avi
...
...
Казалось-бы все готово, но я заметил, что загружен только один процессор из двух, а это значит, что этот процесс можно ускорить, раза в два.
SQL → SQLite и полноценный UNICODE
Наверно многим известна embed база данных SQLite. SQLite полностью поддерживает кодировки UTF-8 и UTF-16. Но есть один нюанс, для строковых и текстовых полей, символы которых выходят за пределы ASCII таблицы, не работает нечувствительный к регистру LIKE и ORDER BY.
Например:
Например:
sqlite> SELECT "ы" LIKE "Ы"; 0в то время как
sqlite> SELECT "s" LIKE "S"; 1Давайте разберемся как же это исправить.
Разработка → Build automation in Windows: Краткий обзор софта
Хотелось бы рассказать об инструментах автоматизации сборки под Windows.
Это не коим образом не реклама, а только обзор средств.
Буду рад за ссылки на другие продукты и отзовы об их использовании.
Это не коим образом не реклама, а только обзор средств.
Буду рад за ссылки на другие продукты и отзовы об их использовании.
Персональные блоги → make test
Собираю dbase для php5:
P.S. Встала нормально, конечно :)
…Забавно.
Build complete.
Don't forget to run 'make test'.
# make test
make: don't know how to make test. Stop
P.S. Встала нормально, конечно :)