OSRC

05.04.2006 12:35:24

Забавная все-таки штука этот OSRC. Каждый день, за редким исключением, я с большими глазами гляжу на чумовые потоки новостей и понимаю, что я ни черта не успеваю сделать в плане их перевода и что мне все это уже давно не нужно. Потом думаешь — «блин, ну все-таки надо уже как-то что-то догонять», и дальше кидаешься в этот поток на несколько часов, чтобы выйти из него с довольной рожей.

В этот момент начинает казаться, что не так уж это и сложно, и что при наличии чуть большего количества свободного времени это была бы одна из лучших новостных лент Рунета. Однако, надо еще и работу работать, и еще, и еще… И на следующий день снова сидишь с большими глазами и думаешь, куда бы это все послать.

Мне не нравится как сейчас функционирует OSRC. Провал-аврал — несолидно для новостной ленты (да и делать можно было бы глубже и даже немного больше), я уж не говорю о том, что на сайте уже давным давно не было своих материалов. Однако, ни спонсоров, ни волонтеров почему-то не наблюдается. А жаль.

Го

04.04.2006 09:20:25

Несколько неожиданно для самого себя стал обладателем комплекта для игры в го. Доска буковая, камни пластиковые. Сижу, много радуюсь. Пора учиться считать очки и все-таки выбрать еще правильного клиента для игры по Сети. 🙂

Страшное

02.04.2006 22:54:50

За прошедшие выходные количество закладок в основном браузере уменьшилось с привычных 20-30 до 12 (да еще на пятом рабочем столе из ~60 ушли две или три), а количество непрочитанных писем в LKML уменьшилось тысячи на полторы (еще ~16100 ждут). Неплохо.

Транслятор?

02.04.2006 18:11:16

Встав бодренько в восемь часов утра принялся писать транслятор. Собственно, давно была идея что-нибудь этакое сваять-попробовать. Естественно, что ни о чем серьезном речи еще не идет, все что я хотел сделать — это преобразовать обычную инфиксную алгебраическую нотацию в обратную польскую.

Пример частый и популярный, собственно, я его из книжки по основам построения трансляторов и почерпнул. Там он рассматривается схематично, все очень просто и понятно, но так как надо бы уже оттачивать владение инструментами реализации всего этого безобразия (КС-грамматик), то было решено что-нибудь накорябать.

Для начала я взял полюбившийся мне Ragel, который компилятор конечных автоматов. Человек знающий улыбнется уже здесь, ну а я несколько часов все-таки постучался лбом об стену того, что анализ КС-грамматики в принципе невозможно реализовать в рамках конечного автомата, зато с помощью автомата с магазинной памятью — только так. 🙂

Впрочем, стучал не совсем без толку, поскольку на Ragel это сделать все-таки можно, он может делать «странные» переходы и КС-грамматику на его основе проанализировать можно. Можно, но очень некрасиво, а меня это совсем неустраивало.

В результате, пока я обдумывал, как бы мне начать работать с LLnextgen или Flex, правильный человек aka Дрюнь прислал мне ссылку на Bison. На который я резко и накинулся, а в «info bison» как раз обнаружился пример калькулятора что в обратной польской нотации, что в обычной инфиксной.

В общем, я взял за основу постфиксный калькулятор, описал свою грамматику (BTW, vim замечательно подсвечивает синтаксис) и получил не только «переводчик» из инфикса в постфикс, но еще и (заметьте, нахаляву!) калькулятор. По этому поводу сижу и радуюсь.

А описание получилось в таком духе:

%token NUM
%left  '-' '+'
%left  '*' '/'
%left  NEG
%start input
 
 
%%
 
input       : /* empty */
            | input line
;
 
line        : '\n'
            | expr '\n' { printf( "\n\t%.10g\n", $1 ); }
;
 
expr    : NUM                   { $$ = $1; printf("%.10g ", $1); }
        | expr '+' expr         { $$ = $1 + $3; printf("+ "); }
        | expr '-' expr         { $$ = $1 - $3; printf("- "); }
        | expr '*' expr         { $$ = $1 * $3; printf("* ");}
        | expr '/' expr         { $$ = $1 / $3; printf("/ ");}
        | '-' expr %prec NEG    { $$ = - $2; printf("inv ");}
        | '(' expr ')'          { $$ = $2; }
;
 
%%

Internet is shit

30.03.2006 22:34:41

Набрел случайно на позитивный сайт.

Маркетинг и языки программирования

30.03.2006 15:52:21

Определенно, это не лишено смысла: раз, два.

OpenBSD 3.9

29.03.2006 20:46:13

Ха-ха! Только что заказал OpenBSD 3.9 и футболочку к нему. По этому поводу много радуюсь. 🙂

Искусство перевода

29.03.2006 00:00:28

Владимир Набоков — «Искусство перевода«. Потрясающе точная статья в деле описания переводческих мучений, это просто надо читать. Что лично меня еще веселило иногда, так это обдумывание разных кусков своих статей на английском и на русском, обычно получалось так, что на английском все было бы написано по-другому, хотя ощущения передаются где-то те же.

Эх, что-то давно я и сам ничего и не писал, и не переводил. Надо это дело исправлять, тем более, что есть возможность написать тот самый двойной текст (на двух языках), английская часть которого тоже будет опубликована. Ищу время.

Premier’s Darjeeling

25.03.2006 23:01:35

Заходил сегодня в магазин и обнаружил неожиданно совсем новую для себя группу чаев, которые производит контора Premier’s Tea. Компания эта располагается в Индии, существует не так давно (с 1988 года), ассортимент соответствует местоположению — дарджилинг, ассам, нилгири и более простые чаи, в том числе, ароматизированные.

Увидев такое дело не смог удержаться и схватил одну баночку в свои цепкие лапы. Схватил дарджилинг (можно увидеть тут, самая первая верхняя зелененькая баночка), поскольку самый, наверное, капризный из всех, а потому для оценки и интересен.

Сейчас вот его пью и могу сказать только одно — очень правильный, на мой вкус, дарджилинг. Один из самых светлых, что мне доводилось видеть и очень, очень приятный на вкус. Теперь вот интересно попробовать другие чаи той же компании, ассамчик, например. Таки прямо из Индии, елы-палы!

For

24.03.2006 22:06:09

Неторопливо копошась сегодня в исходниках Linux, обнаружил забавный пример кода (drivers/md/raid6main.c:220):

for (i=disks; i--; ) {

Оно работает, естественно (ведь совершенно правильная конструкция с точки зрения C!), но выглядит, согласитесь, весьма «интересно». Что еще интереснее, так это то, что ровно такая же конструкция используется по всему этому файлу далее. Собственно, здесь же куча закомментированного кода, причем разными способами…

В общем, наткнулся на откровенный отстойник какой-то, прям воротит.