No public Twitter messages.


Этот блог устарел и, скорее всего, больше не будет обновляться. В ближайшем будущем он переедет сюда.
4 августа 2011 // Портфолио

Декодер шрифта Брайля (шрифтбрайля.рф)

Шрифт Брайля был разработан для чтения книг слепыми людьми посредством тактильного контакта с поверхностью (кому интересно — можете почитать в Википедии), и из-за своего непохожего на обычный текст вида стал популярен для различного рода шифровок, вследствие чего его часто называют «шифром Брайля».

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

Собственно он :)

И поскольку многое я сделал исключительно для саморазвития — могу отметить несколько интересных функций, например все изменения введённых символов сохраняются в адресной строке, т.е. ссылку на набранную строку можно отправить кому угодно. Ещё, например, Помимо прямого дешифра используется и обратный, т.е. когда введены точки 1,2 и 3 отдельным столбиком выводится результат дешифровки 4, 5 и 6, т.к. в задании может не быть чёткой ясности о том что есть пустая точка, а что заполненная.

теги: , , , ,

2 комментария.


13 января 2011 // Веб-разработка

Определяем iPad с помощью JavaScript

Поскольку моя работа в данный момент связана с проектами для московского правительства, то вполне очевидно, что без особенной поддержки таких устройств как iPad не обойтись. Нанотехнологии, инновации, Россия вперёд! Все дела, в общем. У нас на работе проблема обнаружения iPad до недавнего времени решалась грустным костылём — if($.browser.safari). Не дело.

Разумеется самый простой и адекватный способ — распарсить строку юзерагента. Выглядит она у iPad примерно так:

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10

Для определения же, создаём переменную isiPad:

var isiPad = navigator.userAgent.match(/iPad/i) != null;

Далее просто используем условие if(isiPad) или if(!isiPad).

теги: , ,

1 комментарий.



  • twitter
  • rss
  • хабр
  • жежека
  • ластфм