Перевод на русский язык статьи Why Software Projects are Terrible and How Not To Fix Them.
Если вы хороший разработчик и работаете в дурной фирме, вам часто приходят в голову идеи об улучшении рабочего процесса.
Новый движок, на новом сервере.
Все статьи и комментарии с прошлого движка перетащил на новый. На старом сервере оставил только OpenId-точку, а все старые урлы редиректятся на новый сервер.
Из новых фич: поддержка markdown в комментариях, более умная система отсеивания спама, уведомления по почте. Локальной регистрации не предусмотрено, вместо этого будет внешняя (пока только твитер, но далее появится как минимум openid).
Сам сервер CMS называется pyrone написан на Python с использованием фреймворка Pyramid. Сервер крутится на uwsgi, в качестве бэкенда и для статики используется nginx.
Задача: есть PDF, в котором очень широкие поля, плюс куча мусора на них типа «Украдено в Хилтоне», поэтому нужно поля по максимум отрезать. Можно, конечно, рыть интернеты в поисках подходящей программы, но за короткий срок этого сделать не удалось.
Всё решилось совершенно неожиданным путём: ставим пакет python-pypdf
, пишем простейший питоновский скрипт и получаем ровно что нужно.
Постоянно этот урл забываю
Находящийся ниже текст взят из документа, опубликованного на сайте Минэкономразвития.
Внимание! Gimp 2.8 уже официально выпущен, поэтому статья уже неактуальна.
Собираем пакет с гимпом (девелоперскую ветку 2.7) для дебиана. Хоть способ и не совсем правильный и каноничный, но зато быстрый и работающий (quick and dirty). Сразу отмечу, что никакие зависимости в итоговый пакет не прописываются!
Обновление от 23 апреля 2012 г.: gegl обновлён до версии 0.2
Обновление от 14 мая 2012 г.: номер версии обновлён до 2.8
Ставим нужные пакеты для сборки, включая git:
sudo apt-get build-dep gimp
sudo aptitude install git
sudo aptitude install libtool ruby gtk-doc-tools libdbus-1-dev libtiff4-dev
Для сборки на 64-битной системе нужно также поставить пакет ia32-libs-dev
.
Создаём новый пустой каталог (например, /home/user/gimp-build
), в котором и будем всё собирать. Выкачиваем для начала гимп и сопутствующие библиотеки из git (довольно длительный процесс, так что запасаемся терпением), команды запускаем внутри каталога /home/user/gimp-build
:
git clone git://git.gnome.org/babl
git clone git://git.gnome.org/gegl
git clone git://git.gnome.org/gimp
Включаем микрофон или ещё какой источник звука к линейному/микрофонному входу.
Затем выбираем в alsamixer
, например, нужный источник в capture device
.
Запускаем собственно программу:
ffmpeg -f alsa -ac 2 -i hw:0 -acodec libmp3lame -ab 32k -ac 2 -f rtp rtp://192.168.1.2:5000
С аргументами можно играться, вещание нормально ловится, задержка минимальная.
vlc -vvv alsa://hw:0,0 --sout '#transcode{acodec=mpga,ab=128,channels=2,samplerate=44100}:std{access=http,mux=ts,dst=192.168.0.100:8080}'
Если вы используете Mercurial, то в списке ресурсов будут раздражающие файлы из каталога .hg. Чтобы их убрать, сначала в списке каталогов проекта выключаем скрытие файлов, начинающихся с точки, кликаем правой кнопкой по папке .hg, выбираем Properties и там включаем крыжик «Derived».
Очередная статья из цикла, посвящённого системам управления проектом (процессом). На этот раз немного структурированного формализма: общий план, сравнения, цели, перспективы. По сути, этот текст — самый первый документ, который пишется перед началом любого проекта. Целью проекта является продукт.