Тема: tech


During two years since publishing some results on Lebedev’s Verbarius clock firmware reverse engineering, I received several requests for source code. So, it’s better late than never, I thought and uploaded on GitHub all scripts, which are necessary to build your own verbarius firmware.

And just to get some fun I added a new script for Babylonian number clock firmware.

Have fun!
Tags: , , , , , | Make a comment


Last weekend it was rainy, so I managed to implement my long-standing idea: I’ve made the animation (the old-school text-scroller) over the row of favicons of a large number of adjacent browser tabs.

You can watch a short movie here:

Or you can try it in yours browser here if you are not afraid to break your browser.
(and, well, yeah, currently it works only for Opera, Chrome and YaBrowser)

The whole idea came to me at the moment I drew attention to the fact as the number of opened tabs grows the modern browsers reduce the size of the head of each tab until only the favicon of the tab stays visible. Just before the favicons disappear they stand in a row very close side by side — and here, I thought, you can use them like a solid integrated screen.

Despite the fact it seems that the implementation of this simple idea should not be complicated, in practice there were several problems, such as:

  • the different visual behaviour of different browsers in case of the huge number of tabs.
  • to open a lot of background tabs automatically is hard nowadays because of a lot of anti-spam restrictions.
  • Webkit is slowing down the inactive tabs updates (up to 1 fps), so I had to use postMessage-mechanism and the setImmediate.js library as a wrapper instead of usual setTimeout/setInterval approach.
  • Seems that Opera Presto tries to cache the dynamic favicons, so I used a almost-invisible random noise to break that cache.

The dynamic animation of favicons is not a new idea itself; it exists for a long time (check, for example, the DEFENDER of the favicon). However, as far as I know, nobody has used simultaneous synchronous animation of the set of favicons before :)

Tags: , , , , , , | Make a comment


Once upon a time… Fifteen years ago my friend Gevor and I (among a lot of other people) had the computer graphics course at Moscow State University. Mentors gave us a freedom of choice so we could develop almost any computer graphics algorithm.

We decided to choose a raytracing approach with several light sources, shadows, textures, mirrors, semitransparent objects and etc. Our ultimate goal was to render the Klein bottle’s 3D projection. We used the triangulation of the “Klein bagel”, the special parameterization of the Klein bottle shaped like a “figure-8″ torus with a 180 degree “Möbius” twist.

We were going to compile a short FLI-movie from a sequence of BMP-formatted frames. Our renderer was developed as a cross-platform pure C code, and we had several hectic weeks trying to catch the deadline. We spent 20+ days to build the single 40 second 320×200 movie.

* * *

The other day my old friend, Gevor, visited me, and we recalled that funny pastime.
Just for fun I dug up that ancient piece of code. We compiled it promptly under my Win7x64 with cygwin’s gcc and build this hires movie:



No code modifications were done except quality and screen resolution constants correction.

Tags: , , , , , , | Make a comment


I just invented the background slideshow generator for funny parties, dull meetings and abstruse lectures. The main idea is pretty simple: just use W3C speech recognition API to compile search queries for Yandex Image Search engine:

Just turn your microphone on and try it! :)

Currently, Web Speech API is supported only in Chrome 25+.

Tags: , , , , , | Make a comment


From the moment I first saw the Lebedev’s Verbarius clock I wanted it to show several strange things.

So, a few weeks ago I realised my plan:

reverse engineering Verbarius clock

You could just watch the short proof movie or check the detailed project description on my recently redesigned site. (Yeah! at last I did it :)

Tags: , , , , , | Make a comment


0. Началось всё с того, что я решил в порядке эксперимента побаловаться зацикливанием url-shortener-ов.

Но оказалось, что идее уже много лет, и многие вполне успешно её реализовали. Нашлись и другие замечательные способы нецелевого использования url-shortener-ов — разнообразные хранилища файлов и данных веб-страниц “в облаке урлов”, а также перебор случайных ресурсов (среди которых попадаются урлы с паролями и session-id, ссылки на крупные интранет ресурсы и другие интересные вещи). Большинство примеров по ссылкам уже не работают, но история учит не всех, а новые укорачиватели открываются чуть ли не каждый день, и имя им легион.

Поэтому я передумал и решил сделать этот пост — пост приятного гиковского хадкора. Вот вам еще несколько странных штук:

1. BareMetal OS от команды ReturnInfinity — полноценная 64-битная операционная система, полный бинарник которой включает CLI, поддержку Ethernet и работу с несколькими ядрами и весит 16384 байта. Сама ось максимально ориентирована на производительность, вся разработка подразумевается на ассемблере (пример “Hello World” компилируется в 31-байтный бинарник). В ближайших планах заявлена поддержка TCP/IP и нативная файловая система. Для продвинутых есть обёртка BareMetal Node — даёт возможность разработки на C/C++/Fortran и управления сетевыми кластерами на BareMetal OS.

2. Эпичная история создания самого короткого png-файла — 1х1 пиксель с альфа-каналом удалось запихать в 67 байт. Отдельную радость доставляют комментарии (“Broon: I can’t see it“, “jcy: that took 8 seconds to render in IE8“, etc). До кучи — аналогичная история про самый короткий GIF. (Слегка напомнило историю о том, как мы с gevor-ом делали четырёхбайтный затиратель CMOSа.)

3. Занимательный пост про то, как Расс Кокс сконструировал рекурсивный zip-файл. Впрочем, не он первый. (Распаковывать с осторожностью :)

Вспоминаются также разнообразные шалости из древнейших времён — папки alt-255, жуткое глумление над биндари нетвари, zip-бомбы на фоссилах и закачка файла lpt1 с BBS. Но об этом всём, может быть, как нибудь в другой раз.

Tags: , , , , | Make a comment


Товарищ Gevor подкинул ссылку на очередной интересный железячный проект — Raspberry Pi.

В двух словах, это — полноценный ARM-компьютер размером с кредитку. 700МГц ARM11, до 256Mb памяти, порты USB2.0, microUSB, SD slot, ethernet, audio, HDMI и т.п.. ОС по умолчанию — Linux (Debian/Fedora/ArchLinux). Питание, wifi, клава, мышь — через USB-хаб. Весит 45 грамм. Ожидаемая цена в такой комплектации — 35$. В продаже ожидаются чуть ли не к февралю 2012.

Происхождение проекта тоже интересно: группа преподавателей Кембриджа затеяла его, чтобы поднять заметно, по их словам, снижающийся уровень технической грамотности учащихся. Среди прочих участников проекта затесался некто Дэвид Брэбен — один из двух авторов игры Elite.

Tags: , , | Make a comment


Я давно подозреваю, что мы живем в мире победившего киберпанка. Достаточно почитать новости незамутненным взглядом: то ученый прививает свои гены цветку петунии, то неизвестные взламывают и рушат биржу криптовалюты, придуманной в прошлом веке шифропанками и реализованной неизвестной виртуальной личностью, а то голограмма компьютерного персонажа проводит концертные гастроли.

А недавно проходила масштабная война между анонимной группировкой хакеров (anonymous) и крупной дзайбацу (Sony). Летопись этой войны сама по себе достойна прочтения, а на сдачу был получен и выложен в открытый доступ свежий датасет из сотен тысяч аккаунтов с паролями.

Таких крупных и свежих вордлистов не появлялось давненько, поэтому вдвойне интересно почитать статистическое исследование логики выбора паролей обычными пользователями, на этих данных основанное.

Tags: , , , | Make a comment


Может, помните, год назад я писал про людей, которые красиво рисовали RFID-поле? Они не остановились и теперь, в этом году, рисуют wifi-поля на улицах, кажется, Осло:

Детали: видео, подробный пост от авторов проекта.

Tags: , , | Make a comment


Набрёл на Test Pilot — отделение MozillaLabs, занимающееся исследованиями использования браузера Firefox.

Там, на добровольных участниках, периодически проводятся различные эксперименты, а по их результатам выкладывается аналитика и обезличенные сэмплы собранных логов.

Из того, что там есть прямо сейчас, мне показались интересными исследования по использованию табов и анализ использования хранилища паролей.

Tags: , , | Make a comment