Некоторые капчи просто удивительны: принимают GET-параметры количества символов, используемых шрифтов и многого другого.
Сегодня наткнулся на следующее: WordPress-конпонент cForms, а конкретно CAPTCHA, предоставляемая им, в качестве аргумента URL принимает используемый при построении изображения алфавит.
Пример кривых рук, которые участвовали в разработке этой поделки. Пообновляйте страницу, это поднимает настроение.
Установка Virtualbox Guest additions в Ubuntu Server
Что за дополнения и для чего они нужны?
Virtualbox Guest additions изначально были сделаны для систем линейки Windows (согласно документации) и представляют из себя набор драйверов и утилит для управления гостевой ОС.В Linux эти дополнения так же набор драйверов, но представляют собой модули для ядра. В связи с этим, модули необходимо пересобирать каждый раз, как будет обновлён пакет ядра Linux (
linux-image-*), если в системе не установлен DKMS. В большинстве *nix систем модули Virtualbox присутствуют, но зачастую очень старых версий. В официальной документации рекомендуется заменять их Дополнениями, актуальными для версии Virtualbox, установленной на хосте.
Устанавливаем
Итак, для того чтобы установить дополнения гостевой ОС, необходимо:- Обновить гостевую систему, так как модули ядра работают только с той версией ядра, на которой они собраны:
sudo apt-get update && sudo apt-get upgrade - Установить
build-essential, так как мы планируем собирать модуль ядра, а данный метапакет содержит необходимые намmakeиgcc:sudo apt-get install build-essential - К счастью, в Ubuntu есть DKMS и нам не придётся собирать модули в ручную каждый раз, как обновили систему. Ставим его:
sudo apt-get install dkms - В меню Virtualbox выбираем Устройства → Установить Дополнения гостевой ОС или нажимаем Host+D. Монтируем cdrom:
sudo mount /dev/cdrom /media/cdrom - Переходим на смонтированный диск и запускаем установку:
cd /media/cdrom && sudo sh ./VBoxLinuxAdditions.run
В случае, если вы проделываете это не в Ubuntu или в Ubuntu до 8.10, или в вашей системе попросту отсутствует DKMS, то необходимо будет после каждого обновления ядра системы пересобирать модули Virtualbox. Для этого необходимо выполнить команду
sudo /etc/init.d/vboxadd setup.
Ярлыки:
howto,
ubuntu,
useless,
virtualbox
Использование локального принтера в сеансе удалённого доступа — RDP printer redirection/mapping
Для того, чтобы использовать ваш локальный принтер необходимо проделать следующее:
- Разрешить подключение локальных принтеров в удалённом сеансе:
- После подключения необходимо установить драйвер принтера (такой же, как вы используете локально). На примере Samsung SCX-4216F:
Скачать и установить
Принтер скорее всего появится в списке. УДАЛЯЕМ ЕГО.
Удостоверяемся, что необходимый драйвер остался задействован. Файл → Свойства сервера → Драйверы:
Отключаемся от RDP и подключаемся снова — локальный принтер должен появиться при подключении
Use cases:
- Терминальный сервер 1С: печать на принтер, который стоит рядом
- Терминальный сервер «…»: печать на принтер, который стоит рядом
- …
Ярлыки:
принтер,
терминальный сервер,
printer mapping,
printer redirection,
RDP
Восстановление писем из архива Kerio Mail/Connect — вытащить иголку из стога
В один прекрасный день, у одной прекрасной дамочки пропали письма в Outlook'е, да при этом аж за три месяца. Очень странным это может показаться, но .pst и не такое умеет.
В качестве сервера почты работает Kerio Connect 7.0.1 build 1249. Включены бэкапы, но работают они не так, как хотелось бы — делается копия текущего состояния ящика (а у пользователей, конечно же, стоит удаление писем с сервера).
К счастью, когда-то давно мной была выставлена спасительная галочка в настройках — «сохранять архив сообщений», благодаря которой Kerio любезно складывал всю почту (почта raw — там и спам, при желании можно заставить kerio и вирусы туда класть) за последние полгода в архив. Вздохнули с облегчением.
Архив делится на папки по месяцам. И все, чёрт побери, все письма за этот месяц лежат в одной папке. В моём случае писем было ≈15 тысяч. Что может быть проще — разделить почту на папки на уровне почтового сервера, выделив почтовые адреса как сущности.
Спасительный
Спасибо за внимание.
В качестве сервера почты работает Kerio Connect 7.0.1 build 1249. Включены бэкапы, но работают они не так, как хотелось бы — делается копия текущего состояния ящика (а у пользователей, конечно же, стоит удаление писем с сервера).
К счастью, когда-то давно мной была выставлена спасительная галочка в настройках — «сохранять архив сообщений», благодаря которой Kerio любезно складывал всю почту (почта raw — там и спам, при желании можно заставить kerio и вирусы туда класть) за последние полгода в архив. Вздохнули с облегчением.
Структура архива Kerio Connect/Mail
А структуры нет. Ну, я конечно же преувеличиваю.. Но она ужасна.Архив делится на папки по месяцам. И все, чёрт побери, все письма за этот месяц лежат в одной папке. В моём случае писем было ≈15 тысяч. Что может быть проще — разделить почту на папки на уровне почтового сервера, выделив почтовые адреса как сущности.
Разделить архив по получателям
Ну, это было первой идеей. Позже руки опустились, к сожалению. Поскольку писем много, а нам нужен только один получатель — пойдём «лоб в лоб»: возьмём плохой и ужасный php, чудесный и прекрасный Notepad++, такой розовый и блондинистый Denwer.. В общем, как обычно.Спасительный говнокод.
Ах да — мне было лень, создайте сами папку #saved рядом с #messages. Скрипт класть в папку #messages. Запускать как-то так:
<?php foreach( new DirectoryIterator( '.' ) as $file ) { if ( $file->isDot() || $file->isDir() || $file->getFilename == __FILE__ ) { continue; } $name = $file->getFilename(); $file = file_get_contents( './' . $name ); if ( preg_match( '/(whatShouldWeFind@domain.(ru|com))/', $file ) ) { rename( './' . $name, '../#saved/' . $name ); echo "moved " . $name . PHP_EOL; } echo "skipped " . $name . PHP_EOL; }
cd dirWithArchive/2011-Jan/#msgs && /usr/local/php5/php script.php. В 9-й строке меняется необходимый получатель.Подведём итог
Скрипт ужасен. Скрипт работает. Разработчики Kerio в очередной раз доказали, что продукт хорош до тех пор, пока его используют стандартно — поставили, взломали через ukaip86.exe, настроили и забыли.Спасибо за внимание.
Ярлыки:
admin,
govnocode,
kerio connect,
kerio mail,
php
reset.css — так ли всё хорошо?
Наткнулся на необычный и интересный баг — <b> и <strong> не делают текст полужирным, если использовать reset.css от Eric A. and Kathryn S. Meyer:

Решение: закомментировать 23-ю строку в reset.css (font: inherit;). Пользуйтесь.
Решение: закомментировать 23-ю строку в reset.css (font: inherit;). Пользуйтесь.
Интересное поведение Google Chrome
Наткнулся на удивительное: мало того, что Chrome кастомизирует страницу с ошибкой, так ещё и докладывает, что я не один не могу открыть сайт. Приятно.
jQuery.mousewheel: обработка событий колеса мыши
В данной статье мы будем пользоваться jquery.mousewheel.
Для того, чтобы обработать событие скролла, необходимо повесить listener на определённый элемент:
Для того, чтобы обработать событие скролла, необходимо повесить listener на определённый элемент:
Пример — как обработать скролл — делаем горизонтальную прокрутку блока при вращении колёсика мыши:
$('#wrapper') .mousewheel(function (event, delta) { //code }) ;
$('#photo-wrapper') .data('scrollLeft', -1) //для предотвращения блокировки вертикального скролла .mousewheel(function (event, delta) { if ( (!this.scrollLeft && delta > 0) || (this.scrollLeft == $(this).data('scrollLeft') && delta < 0) ) { return true; //данный блок необходим для того, чтобы перестать блокировать вертикальный скролл, если горизонтальный закончился } $(this).data('scrollLeft', this.scrollLeft); //сохраняем текущий скролл слева this.scrollLeft -= (delta * 300); //на сколько прокрутить блок? (размер скролла) return false; //отключить вертикальный }) ;
Ярлыки:
javascript,
jquery
Подписаться на:
Сообщения (Atom)