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


As you may know since early days of Internet the main specs, algorithms and innovations are submitted, discussed and published in the form of RFC (which stays for Request For Comments). All the core protocols of the TCP/IP stack along with dozens of others are described here.

There are almost 7200 of RFC right now, and the number keeps growing rapidly. Recently I’ve found a nice index with the citations and connections between RFCs. So I decided to build a graph of this network and to draw some clusters from it.

You can play with the graph online here (I’ve filtered out a lot of small standalone clusters as a noise)

And here it goes a list of some interesting snippets:

the main cluster of RFC graph
Continue reading

Tags: , , , , | Make a comment


One friend of mine has always been slightly obsessed with the penguins.
He has made a huge collection of toy-penguins, joined WWF and installed Linux.

Once upon a time he stumbled upon a website of German Antarctica Station, and there were three webcameras.
And there were a lot of penguins for sure.
So he wrote a script to pull images from the webcameras each 30 minutes and ran it, and had checked images from time to time.

Recently I discovered that I have a copy of the archive of these images for almost two years.
The website is dead long ago, although I’m sure about the Station itself.
But I’ve cleaned the images and compiled some antarctic time-lapse short movies:

You can watch it or open the playlist.

Tags: , , , | Make a comment


Recently I’d stumbled upon the short stats on Moscow babies naming published by Moscow registry.

There are a lot of such stats for USA, but it’s still really hard to get your hands on something like that in Russia.

So despite the fact that the data contained only five time slices, I decided to make a short visualization of trends in Moscow baby naming:


Also, there are three really creepy pages with unusual and rare names.

Tags: , , , | Make a comment


Since solving some Euler project’s task, I have the Roman-Arabic numerals converter.

Recently I found the way to use it just for fun!

Check, how the multiplication table up to 100×100 does look like, colored by length of the corresponding roman number (in symbols):


What about the Ulam spiral?


And, it could not be complete without the Peano curve:

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


How would look a 3D structure with layers corresponding to the cascade of generations of Conway’s Life?
 I thought that the simplest way to check it is to build some visualization environment and look at the actual results:

Conway Tree teaser

The interested readers are able to:

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


Just returned from SIGIR 2013 @ Dublin.

Nice place, clever people, lots of impressions and ideas.

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