Опухоль node.js

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


12 января 2026

 PHPStorm

Убираем эту срань из PhpStorm:

Editor -> General -> Appearance
параметр Show parameter name hints

Не знаю кто придумал это, но он явно не программист. Очень мешает восприятию кода.


17 октября 2017

 Полезные опции и утилиты Exim

  1. 1
exim -bp
Очередь отправки
  1. 1
exiqgrep -o 600 -if | xargs exim -Mrm
Удалить все письма старше 10 минут


  1. 1
exim -bP
Параметры конфига

  1. 1
exim -Mvl <message id>
Посмотреть лог сообщения
  1. 1
exim -Mvb <message id>
Посмотреть тело сообщения
  1. 1
exim -Mvh <message id>
Посмотреть заголовки сообщения
  1. 1
exim -Mrm <message id> ...
Удалить сообщения и не посылать никаких ошибок (в логах упоминание будет).

  1. 1
exim -Mg <message id> ...
Удалить сообщение и отослать отлуп (cancelled by administrator).

  1. 1
exim -M <message id> ...
Ускорить доставку для сообщения с данным messageID (безусловно немедленно доставляет сообщение)

  1. 1
exim -Mar messageID <address> <address> ...
Добавить адрес в список получателей сообщения.

  1. 1
exim -Mes <message id> <address>
Изменить адрес отправителя в сообщении на заданный адрес.

  1. 1
exim -Mf <message id> <message id> ...
Отметить перечисленные сообщения как "frozen". Любые попытки доставки
прекращаются, пока сообщение не будет разморожено вручную, или пока не
пройдет время указанное в "auto_thaw".

  1. 1
exim -Mt <message id> <message id> ...
"разморозить" сообщение.

  1. 1
exim -Mmad <message id> <message id> ...
пометить все адреса получателей в сообщениях как уже доставленные.
Никогда (!) не надо так делать. Сами же запутаетесь.

  1. 1
exim -Mmd <message id> <address> <address> ...
пометить заданные адреса как уже доставленные. Адреса регистрозависимы.
Вот это уже полезнее, если какие-то адреса недоступны.

https://www.opennet.ru/base/net/exim_options.txt.html


16 ноября 2016

 Sudoku v.2


Захотелось самому иногда поиграть в метро, например. И решил доработать генератор судоку. На базе первого варианта была сделана вторая версия: /view.php?mid=435

Была поправлена верстка, точнее сделана не на canvas. Сделаны кликабельными клеточки и навешаны обработчики. Добавлена таблица с ответом. Она как раз осталась на канве, чтоб не копировали)

Все обработчики и стили вешаются на чистом javascript. jQuery хоть и подключается, но только для document.ready. Ну и для трафика, чтоб жизнь медом не казалась :-) на самом деле, мобильные операторы мне заплатили ;-)
Все это ессно работает на мобилке.
Ссылка для быстрого доступа: Sudoku

Простите за говно в коде))

Судоку, без рекламы, судоку на js, загрузил и играешь сколько влезет


02 октября 2015

 Борьба со спамом в комментариях

Просто блокируешь User-Agent:

  1. 1
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
и спам прекращается.
За последние полгода ни одного спам сообщения. А до этого комменты заваливало спамом.


02 сентября 2015

 Googlebot & Ajax

Что-то меня пугает Googlebot отправляющий ajax-запросы.

На сайте отправляется ajax-запрос при посещении. Это один из способов отсевания ботов.
И вот недавно Googlebot начал их отправлять. Несколько хаотично, не так как "пользователь". Но тем не менее.
Толи он просканил JS-ники и "решил", что надо бы это делать, толи это какой-нибудь "ручной" режим.
В общем, такие вот дела.


30 апреля 2015

 Simple sudoku generator

Дело было вечером, делать было нечего... написался генератор Sudoku.
http://b.bit7.cc/sudoku/


Все пляшет от одного массива от 1 до 9. Он перемешивается, и порождает двухмерный массив смещением на 3 "клетки" в каждой ячейке. Все просто короче.

Далее еще проще.
Генерируются объекты перестановок для "X" и "Y". И по ним производятся перестановки в матрице.

Получившаяся "каша" выводится в виде циферок в соответствующие строчки и столбики.
А, ну перед всеми этими махинациями с массивами рисуется кленчатое поле на Canvas, поэтому управлять этим слишком сложно и скопировать куда-либо тоже проблематично, если вообще возможно. В общем, наслаждайтесь :-)

На полностью рандомную матрицу и панель управления меня не хватило... вечер быстро закончился :)


21 октября 2014

 Игра "Жизнь"

Суббота, пиво и JavaScript - так появилась своя реализация игры "Жизнь".

Написана на JS с применением Canvas и jQuery, исключительно, в качестве обработчика событий.
Можно выставить число генерируемых "живых" клеток. Ускорить, замедлить или остановить игру.
http://test.jonel.net/life/


17 ноября 2013

 Карта метро и районов СПб

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


08 октября 2013

 Get palette of image

Потребовалось получать палитру с заданного изображения, программно естественно. Получить 1 цвет совсем не сложно. Нужно всего лишь сжать картинку до 1 пикселя и получите среднее значение цвета.

А вот рассчитать произвольное количество цветов задача не тривиальная. Долго искал информацию по этому вопросу, наконец, нашел Формулу цветового отличия, в частности CIEDE2000. Готовые реализации этого алгоритма можно найти на просторах Интернета.
Но результат, который он выдавал меня не вполне устроил.

Потом наткнулся на другой алгоритм - Квантования цвета (Color quantization). Нашел JavaScript-версию вот здесь.

Но JS меня совсем не устраивал, потому как ставить Node.JS для одной задачи не хотелось. Поэтому я переписал скрипт на PHP, исходники которого выложу позже. Но PHP не самый лучший вариант из-за организации памяти:

Ubuntu x86:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 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 Mb


Debian x86-64:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 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 есть исходники, конечно, но они там настолько общие и громадные... Так что решил переписать самостоятельно под одну задачу.


06 июля 2013

Календарь

  • Сегодня
    17 Марта 2026, Вторник
    ПНВТСРЧТПТСБВС
    1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031

Авторизация