суббота, ноября 21, 2009

В поисках оригиналов...

Ища оригинальную тему AxelF и пробираясь сквозь кучу ссылок на Crazy Frog, обнаружил мелодию, послужившую базой для музыкальной темы к Футураме. И крышесносящий клип к ней.

Авторы не по-детски зажигают.

пятница, ноября 13, 2009

Всех перенумеровать

Издавна повелось давать недоделанным разрабатываемым программам номера, чтобы не запутаться в дереве ревизий и знать, кто и когда внёс очередную фичу в проект и поломал его. Или потерял. Вопрос же не в этом, а в том, чтобы автоматизировать сей процесс. Завязав в узел Ant и svn, можно сделать следующую загогулину, для получения информации о текущёй ревизии проекта, чтобы потом эту циферку вставить в нужное место. Код Ant target'а следующий:

<target name="get.svn.info">
<mkdir dir="${application.output.dir}"/>
<mkdir dir="${application.testoutput.dir}"/>
<mkdir dir="${application.dist.dir}"/>

<!-- Paste resource file with revision information -->
<exec executable="svn" output="${application.output.dir}/svninfo.xml">
<arg line="info"/>
<arg line="-r HEAD"/>
<arg line="--xml"/>
<!-- root project folder -->
<arg value="${application.basedir}"/>
</exec>

<xmlproperty file="${application.output.dir}/svninfo.xml" prefix="svn" keepRoot="no"/>
<delete file="${application.output.dir}/svninfo.xml"/>
</target>


В результате чего далее в коде Ant'а можно обращаться к следующим property'ям:
svn.entry(revision) - текущая ревизия проекта.
svn.commit.author - Пользователь, сделавший последний коммит в текущей ревизии.
svn.commit.date - Дата последнего коммита текущей ревизии.
и другим менее интересным значениям.
Позже можно просто положить эти значения в файл, который будет читаться программой, например так:

<echo file="${revision.number.file}"># Application revision information
revision=${svn.entry(revision)}
</echo>


Или запаковать программу, промаркеровав имя файла ревизией:

<zip destfile="${application.archive.dir}/${dist.filename}-r${svn.entry(revision)}.zip" level="9" compress="yes">
<fileset dir="${application.dist.dir}">
<include name="**/*"/>
</fileset>
</zip>

пятница, октября 30, 2009

Генетика простым языком.

Из паутины контактов, получил ссылку на очень интересный ресурс посвящённый генетике и строению человека.
http://learn.genetics.utah.edu/

Очень впечатлила флэшка, которая показывает сравнительные размеры молекул, клеток и вирусов.

Интересно, ДНК уже расшифровали, а когда будут гено-ассемблеры и гено-программисты?

суббота, октября 24, 2009

Asus WL500W и Debian

После долгих мучений, мой старый верный товарищ Asus WL-500G Premium сломался :(
По случаю был приобретён новый помощник, коим стал Asus WL-500W. Оказалось, что в отличие от GP, модель W имеет не только улучшенный WiFi адаптер (Broadcom 4321 802.11n draft), но и проблемы с этим адаптером на прошивках DD-WRT и Open-WRT. Было прочитано много безответных веток форумов этих прошивок, перерыт гугл до дна.
Совершенно случайно обнаружил интересную ссылку про установку Debain на Asus WL500W. В первом приближении отличная замена embedded OS для роутеров. Осталось найти линукс, на котором можно будет собрать прошивку...

пятница, августа 21, 2009

Как готовить салаты на Яве?

Очень давно лелеял идею написать свой offline-клиент для RSDN. Практически с первого дня регистрации на этом ресурсе мудрости и тайных знаний программирования.

Форум на RSDN.ru меня подкупил необычностью навигации и способом предоставления веток обсуждения. Но больше всего меня поразил Janus a.k.a. RSDN@Home - обычное приложение, позволяющее скачивать интересные тебе лично обсуждения и читать их не будучи подключенным к интернету.

Единственное, что омрачало мою душу, это то, что Janus был написан на ненавистном мне тогда .NET FrameWork (Это сейчас я уже понимаю, что не бывает плохих языков - есть посредственные программисты. Ну это если не принимать в расчёт PHP, Perl и Brainf*ck). И один только этот пункт дал мне идею написать свой собственный offline-клиент для RSDN с блэк-джеком и шлюхами. Т.е. - на Java.

Много воды с тех пор утекло и много строчек написано на разнообразных языках. В течении полутора лет очень редко я возвращался в этот проект, пытаясь запустить самую суть проекта - синхронизацию с сайтом. Попутно создавались и переписывались сервисы и дизайн. Будучи случайно обнаруженным среди rsdn'овцев, я больше не могу держать этот проект в тайне был вынужден в короткие сроки починить и запустить синхронизацию с сайтом. Конечно, прошло не мало времени между сообщением Сергея Сергеевича и тем, когда я сам прочитал это сообщение, но это же совсем не показывает мою медлительность. Правда ведь?

И вот, сегодня был произведён первый постинг в RSDN.ru с помощью моего, ещё молодого, но перспективного, проекта. С чем я себя и поздравляю. И вас, кто найдёт, что Rojac полезен и удобен для себя. Долгих лет жизни тебе, Rojac и мне идей на тебя и терпения на реализацию этих идей.