Интернет-страничка инженера

Ещё один блог на этом хостинге

Послевыборное политичное

Хотел проголосовать за Единую Россию, да, к сожалению, на выборы не попал, пришлось срочно слететь-съездить в пару-тройку мест. А пойти не знаю куда и взять открепительное удостоверение меня не хватило, да и времени особо не было.

И дело даже не в том, что я считаю ЕР и правда лучшим выбором и чем-то достойным для подражания. Не совсем так. Просто нельзя выключать старое работающее, не включив и не проверив работоспособнойть нового. Как функционировать, если старое уже выключено, а новое еще не может работать?

Когда-то в школе один из учителей говорил о том, что ЕР – это попытка реставрации системы власти СССР. И вот в 2011 году я вижу, что он был прав. Потому что другой работающей системы у нас нету. А подход «но надо же что-то делать, давайте например разрушим имеющуюся коррумпированную систему и посмотрим что из этого выйдет» – это что-то сильно далекое от реальности.

Если оппозиция так хороша, то где ее система? Почему у нее нет инфраструктуры, нету капитала, нету хозяйствующих руководителей (или есть но их отчего-то не видно)? А если и действительно нету, то как собственно она собирается управляться с тем чего не знает? Как оппозиция собралась править страной без штанов? Наверное у меня хочет отобрать. Почему, в конце-концов, вместо вышеперечисленного машина хайпа, флеш-мобов и медиавирусов – есть? Скептицизм.

Иллюстрации в книгах

Что-то неправильное есть в рисовании иллюстраций в художественные книжки. Я понимаю иллюстрировать что-нибудь легкое, ненавязчивое, журнал, газетную заметку, но Братьев Карамазовых. В произведение, куда надо вникать, над которым надо думать. Ну вот, вник, подумал выстроил некоторую картину у себя в голове, невольно появились образы главных и второстепенных героев.

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

Как я научил WMP 12 играть MP4 с внешними субтитрами

Глянул графэдитом на то, как рендерятся mp4 и обнаружил, что рендерятся они через микрософтовский кодек MSDTV-DVD или как-то так. И в этом вся проблема – когда рендеринг идет через него, DirectVobSub почему-то не цепляется и субтитры не кажет.

Проблемка решается следующим образом: смените владельца файла msmpeg2vdec.dll (в директории C:\Windows\system32) на себя и переименуйте его в msmpeg2vdec.dll.bak.

jQuery relaxed Each

Возникла тут у меня на практике интересная пограничная ситуация. Есть некоторое количество записей чего-нибудь там, по которому необходимо организовать поиск. Количество этих записей не такое уж и маленькое, чтобы обычный яваскрипт не тормозил, и, с другой стороны, не такое уж большое, чтобы организовывать поиск на сервере. Читать далее…

Туннельный синдром

Ничего сильно большого в своей жизни я еще не написал (ну почти), однако зачатки RSI уже дают о себе знать. Прежде всего на правой руке — той, которой я мышку держу.

Внезапно стало понятно, зачем в емаксе все эти комбинации C-b, C-f и тому подобные. Сижу сейчас изучаю http://lionet.livejournal.com/71005.html и http://en.wikipedia.org/wiki/Repetitive_strain_injury.

Заодним ищу нормальный Spatial Navigation для chrome. Да даже надо ставить не его а какой-нибудь из vimperator’ов. Стрелочками тоже больно тыкать.

Екатеринбургская biennale

Ездил я тут на первую Екатеринбургскую Bienalle. Ощущения от нее – ни в сказке сказать, ни пером описать. Выглядят конечно художники в наших краях странно, контрастно и необычно, потому что Урал в основе своей состоит из рабочих заводов, торговцев, бывших заключенных многочисленных колоний.

Есть конечно и другие слои населения, но они немногочисленны и встречаются редко. А тут такое художественное мероприятие.

Читать далее…

Пара слов о емаксе под windows 7

Если установить емакс в w7 и закрепить его в супербаре, при повторном запуске из супербара появляется мерзкое консольное окошко.

runemacs.exe тут не поможет, так как если мы закрепим в супербаре его – открытый emacs.exe будет висеть отдельным квадратиком. Тоже некрасиво.

Чтобы сделать красиво надо пропатчить emacs.exe с помощью pe tools. Процесс выглядит примерно так.

Кстати, если емакс у вас лежит в Program Files PE Tools просто сделает серыми кнопочки Ok ничего не сказав по поводу того, что ему не хватает доступа. Имейте ввиду.

Некое подобие «use strict» для node.js

Недавно в группе node.js был поднят вопрос о том, когда же появится обещаемый спецификацией ECMAScript 5 режим "use strict".

Проблема конечно насущная, учитывая особенностями обращения яваскрипта с глобальными переменными и использования прототипной модели. С другой стороны это как раз что-то из разряда «за что ненавидим, за то и любим».

И насколько эта проблема насущная, настолько же и трудноразрешимая, потому что по этому поводу надо теребить разработчиков v8, а у них роадмап не располагает.

2010 – Q2 – Make V8 faster
2010 – Q3 – Make V8 faster
2010 – Q4 – Make V8 faster
2011 – Q1 – Make V8 faster
2011 – Q2 – Make V8 faster
2011 – Q3 – Release quantum entanglement device
2011 – Q4 – Make V8 faster
(источник)

У меня есть решение, в принципе выполняющее то, что от него нужно:

function strict (fun) {
   var sandbox = {}, err = null

   process.binding('evals').Script
        .runInNewContext('('+fun.toString()+')()',sandbox);

   /* Check sandbox for new members. Each of them is an error */
   for (err in sandbox)
      console.error('Undeclarated variable: '+ err)
   if (err)
      throw 'Strict mode violation'
}

Основную задачу – изоляцию кода от глобальных переменных он выполняет. Однако с недостатками:

  1. как видно из исходника проверка на объявление глобальных переменных осуществляется только после того, как весь код отработает. Вообще в асинхронном окружении node.js, где любой кусок кода должен выполняться за миллисекунды это не проблема. Но тем не менее, возможно это не достаточно надежно для конструкции языка, которая не должна закладываться на синхронность-асинхронность.
  2. 2) некие проблемы с взаимодействием с внешним кодом. Очень уж strict выходит.

Есть еще одно решение - мониторить объект global по таймеру в рантайме. Такое же, что и мое: не совсем академично (даже возможно забавно – по таймеру чекать глобалсы), но оно работает.

B+ Tree на Javascript

/**
 * btree.js - plain javascript b+tree implementation.
 *
 * 2010, Michel Belohshitsky
 *
 * Placed in public domain.
 */

Читать далее…

NieA under 7

Абэ ещё ни разу меня не разочаровал.

Follow

Get every new post delivered to your Inbox.