Опухоль node.js
У некоторых представителей фронтенда наблюдается явная прогрессирующая опухоль, болезнь Node.js.
Чтобы скачать расширение (плагин) для видеоплеера нужно устанавливать ноду. Так указано на официальном сайте.
Предел маразма.
PHPStorm
Убираем эту срань из PhpStorm:

параметр Show parameter name hints
Не знаю кто придумал это, но он явно не программист. Очень мешает восприятию кода.
Полезные опции и утилиты Exim
- 1
exim -bp- 1
exiqgrep -o 600 -if | xargs exim -Mrm- 1
exim -bP- 1
exim -Mvl <message id>- 1
exim -Mvb <message id>- 1
exim -Mvh <message id>- 1
exim -Mrm <message id> ...- 1
exim -Mg <message id> ...- 1
exim -M <message id> ...- 1
exim -Mar messageID <address> <address> ...- 1
exim -Mes <message id> <address>- 1
exim -Mf <message id> <message id> ...прекращаются, пока сообщение не будет разморожено вручную, или пока не
пройдет время указанное в "auto_thaw".
- 1
exim -Mt <message id> <message id> ...- 1
exim -Mmad <message id> <message id> ...Никогда (!) не надо так делать. Сами же запутаетесь.
- 1
exim -Mmd <message id> <address> <address> ...Вот это уже полезнее, если какие-то адреса недоступны.
https://www.opennet.ru/base/net/exim_options.txt.html
Sudoku v.2

Захотелось самому иногда поиграть в метро, например. И решил доработать генератор судоку. На базе первого варианта была сделана вторая версия: /view.php?mid=435
Была поправлена верстка, точнее сделана не на canvas. Сделаны кликабельными клеточки и навешаны обработчики. Добавлена таблица с ответом. Она как раз осталась на канве, чтоб не копировали)
Все обработчики и стили вешаются на чистом javascript. jQuery хоть и подключается, но только для document.ready. Ну и для трафика, чтоб жизнь медом не казалась :-) на самом деле, мобильные операторы мне заплатили ;-)Все это ессно работает на мобилке.
Ссылка для быстрого доступа: Sudoku
Простите за говно в коде))
Судоку, без рекламы, судоку на js, загрузил и играешь сколько влезет
Борьба со спамом в комментариях
Просто блокируешь User-Agent:
- 1
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)За последние полгода ни одного спам сообщения. А до этого комменты заваливало спамом.
Googlebot & Ajax
Что-то меня пугает Googlebot отправляющий ajax-запросы.
На сайте отправляется ajax-запрос при посещении. Это один из способов отсевания ботов.
И вот недавно Googlebot начал их отправлять. Несколько хаотично, не так как "пользователь". Но тем не менее.
Толи он просканил JS-ники и "решил", что надо бы это делать, толи это какой-нибудь "ручной" режим.
В общем, такие вот дела.
Simple sudoku generator
Дело было вечером, делать было нечего... написался генератор Sudoku.
http://b.bit7.cc/sudoku/

Все пляшет от одного массива от 1 до 9. Он перемешивается, и порождает двухмерный массив смещением на 3 "клетки" в каждой ячейке. Все просто короче.
Далее еще проще.
Генерируются объекты перестановок для "X" и "Y". И по ним производятся перестановки в матрице.
Получившаяся "каша" выводится в виде циферок в соответствующие строчки и столбики.
А, ну перед всеми этими махинациями с массивами рисуется кленчатое поле на Canvas, поэтому управлять этим слишком сложно и скопировать куда-либо тоже проблематично, если вообще возможно. В общем, наслаждайтесь :-)
На полностью рандомную матрицу и панель управления меня не хватило... вечер быстро закончился :)
Игра "Жизнь"
Суббота, пиво и JavaScript - так появилась своя реализация игры "Жизнь".
Написана на JS с применением Canvas и jQuery, исключительно, в качестве обработчика событий.Можно выставить число генерируемых "живых" клеток. Ускорить, замедлить или остановить игру.
http://test.jonel.net/life/

Карта метро и районов СПб
Карта метро и районов СПб по версии dprealty.ru.
Пока не закончено, но получается очень круто...
http://test.jonel.net/metro/index.html
И список метро старый

Get palette of image
Потребовалось получать палитру с заданного изображения, программно естественно. Получить 1 цвет совсем не сложно. Нужно всего лишь сжать картинку до 1 пикселя и получите среднее значение цвета.
А вот рассчитать произвольное количество цветов задача не тривиальная. Долго искал информацию по этому вопросу, наконец, нашел Формулу цветового отличия, в частности CIEDE2000. Готовые реализации этого алгоритма можно найти на просторах Интернета.Но результат, который он выдавал меня не вполне устроил.
Потом наткнулся на другой алгоритм - Квантования цвета (Color quantization). Нашел JavaScript-версию вот здесь.
Но JS меня совсем не устраивал, потому как ставить Node.JS для одной задачи не хотелось. Поэтому я переписал скрипт на PHP, исходники которого выложу позже. Но PHP не самый лучший вариант из-за организации памяти:
Ubuntu x86:- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
$ uname -a
Linux jonel 2.6.32-48-generic #110-Ubuntu SMP Fri May 31 19:05:31 UTC 2013 i686 GNU/Linux
$ php palette.php
Amount of memory (empty array): 0.5 Mb
Amount of memory (full array): 1069 Mb
Size of Image: 1920 x 1080
Count pixels: 2073600
Start Script: 0.5 Mb
Peak of memory: 1198 MbDebian x86-64:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
$ uname -a
Linux jonel 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64 GNU/Linux
$ php palette.php
Amount of memory (empty array): 11 Mb
Amount of memory (full array): 2068.75 Mb
Size of Image: 1920 x 1080
Count pixels: 2073600
Start Script: 1 Mb
Peak of memory: 2326.75 MbКак видно, это всего лишь Full HD изображения.
Для расчета создается немаленький массив, размер которого зависит от разрешения изображения. На каждый пиксель по 3 значения, если не учитывать alpha-канал, т.е. width * height * 3.
Можно было бы разделить на несколько блоков и т.п., тем самым уменьшить потребление памяти. Но чем переписывать все на этом же PHP, лучше написать на C. Что гораздо интереснее и намного быстрее будет работать. На сайте Leptonica есть исходники, конечно, но они там настолько общие и громадные... Так что решил переписать самостоятельно под одну задачу.Раздел
Календарь
-
Сегодня
17 Марта 2026, ВторникПН ВТ СР ЧТ ПТ СБ ВС 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31