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.
Это не коим образом не реклама, а только обзор средств.
Буду рад за ссылки на другие продукты и отзовы об их использовании.
Это не коим образом не реклама, а только обзор средств.
Буду рад за ссылки на другие продукты и отзовы об их использовании.
Блог им. smart → 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. Встала нормально, конечно :)
Разработка → GNU Make может больше чем ты думаешь
Как только исходники проекта надо распространять, то возникает необходимость использовать систему сборке, вместо того что нагенерила любимая IDE. В мире unix (с подачи gnu) традиционно используется autotools, ему есть отличные альтернативы в виде cmake или scons. Но почему-то ядро Linux собирается при помощи GNU Make, а вся FreeBSD включая порты при помощи BSD Make. WTF?
Однажды намучившись с autotools, я решил провести эксперимент — насколько можно перелопатить Makefile, чтобы обеспечить себе более-менее удобную сборку.
Однажды намучившись с autotools, я решил провести эксперимент — насколько можно перелопатить Makefile, чтобы обеспечить себе более-менее удобную сборку.
VIM → Умный make
Большенство адэптов vim, которые использую его для работы с кодом, знают про такие комманды как: make и: cw. Первая запускает make, а вторая выводит список ошибок.
Так уж сложилось, что мои основные рабочие (те которые использую на работе :)) языки это Си и C++. И часто бывает, что нужно написать программку в один файл, дабы проверить какой-то алгоритм, функцию или идею. При том писать makefile для одного файла в лом, а так хочется использовать привычную комбинацию клавиш. Набросал замечательный солюшен:
Как видно суть в том, что запускать просто make при наличае makefile и make имя_файла при отсутствии. make -j4 указывает на запуск четырёх потоков сборки, для двухядерных процессоров самое оно, особенно в сочетании с ключеком -pipe для gcc :)
Так уж сложилось, что мои основные рабочие (те которые использую на работе :)) языки это Си и C++. И часто бывает, что нужно написать программку в один файл, дабы проверить какой-то алгоритм, функцию или идею. При том писать makefile для одного файла в лом, а так хочется использовать привычную комбинацию клавиш. Набросал замечательный солюшен:
if filereadable("Makefile")
set makeprg=make\ -j4
map <C-b> :make<CR>:cw<CR>
else
map <C-b> :make %:r<CR>:cw<CR>
endif
Как видно суть в том, что запускать просто make при наличае makefile и make имя_файла при отсутствии. make -j4 указывает на запуск четырёх потоков сборки, для двухядерных процессоров самое оно, особенно в сочетании с ключеком -pipe для gcc :)
Эти пользовательские интерфейсы → Выход для обезьяны
Разрабатываем сейчас сайт-портфолио для одного фотографа. Возник спор, как лучше организовывать фотографии. Рубриками или тегами?
Убунтариум → Стоп! Снято!
О Screencast.
Для начала коротко о том, что такое скринкаст.
Screencast (скринкаст) — Цифровая запись с экрана монитора, со звуком или без.
Так как мы «правильные» пользователи, то будем использовать только Open Source программы.
Из нескольких программ для записи скринкастов, я выбрал самые работоспособные.
Для каждой программы указаны плюсы и минусы, домашняя страница, сделаны скриншот и скринкаст, самой программой.
Веб-дизайн → Памятка дизайнеру сайтов
Эта статья писалась мною как памятка для внутреннего пользования дизайнерам нашего бюро.К сожелению огромная армия даже опытных, модных и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не «супер-скриншот» для портфолио, годный лишь в роли эффектного плаката.Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе разработки дизайна сайта.
Блог им. iderins → Как публиковать посты в коллективных блогах?
Готовлю публикацию в блог GUI...
Но не могу понять, каким образом туда написать: хотя я на него подписан, в списке «В какой блог публикуем?» находится только мой персональный блог.
Хабрафренды, подскажите, как публиковать посты в коллективных блогах?
Но не могу понять, каким образом туда написать: хотя я на него подписан, в списке «В какой блог публикуем?» находится только мой персональный блог.
Хабрафренды, подскажите, как публиковать посты в коллективных блогах?