Тема: js


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


И вот почему: Мэтью Генри aka P01 сделал js-браузерную дему MATRAKA с 3d-графикой, музыкой и текстом, которая представляет собой 1k png-файл, самораспаковывающийся в javascript-код:

А кроме того:

Что еще почитать:

И, да, все ссылки работают у меня в Хроме, на кроссбраузерность не проверял.

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


В догонку за недавним эмулятором COMMODORE 64 на JavaScript нашелся эмулятор Linux-а на JS. Ядро 2.6.20, шел, компилятор, сеть (loopback, вестимо) — в общем, достаточно полноценная игрушка. Из основных ограничений — как я понял, реализована упрощенная модель памяти, порезаны режимы процессора.

Без проблем работает под хромом, еще, как минимум, должен жить под фоксом (я не проверял).

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

Tags: , , , | Make a comment