Месячный Архив: Сентябрь 2012

DSL groovy programming

Упрощаем тестирование и программирование с Groovy DSL

Сложный страшный код для создания тестовых данных

Тут я даже не стал показывать пример заполнения каких-либо списков, это просто превращается в муку. Но я же не поплакать этот пост пишу!

Читать далее »

GD graphics perl

Склеиваем картинки при помощи Perl и GD

Все наверное уже видели этот шэдевральный комикс от xkcd. А тем кто не видел — очень рекомендую посмотреть.
Ну так вот. Интересно мне было посмотреть как он выглядит целиком. И вот если бы я сначала подумал, а не сразу принялся бы код, то понял бы, что это бессмысленно. т.к. общий размер изображения 13+ ГИГАПИКСЕЛЕЙ. А моим вьювером, как выяснилось больше 0.6 ГП не открывается. Да и библиотека с изображениями, размер которых по одному из измерений больше 33 КП, работает нестабильно. Но зато я хоть немножко познакомился с GD.
Склеить получилось(нормально склеилось и нормально смотрелось) участок вот такого размера:

Полная же картинка выглядит так:

Второе изображение отсюда.
upd. На хабре узнал про скрол версию.
Для склейки изображений я набрасал простенький скрипт, код которого приведён далее.
Читать далее »

network security Wi-Fi

Free Wi-Fi. Вопросы безопасности


Предупреждение: статья не для гуру компьютерной безопасности, а для тех, кто не до конца понимает, как работает авторизация на различных сайтах и какие дополнительные моменты появляются при работе в wifi сетях. Попытаюсь объяснить «на пальцах».
Начнём с мат части.
Как обычно происходит авторизация на различных вёб ресурсах? Точнее как это происходит чаще всего.
Вы вводите логин и пароль в форме логина, нажимаете кнопку и данные отправляется по каналу с безопасностью A, после чего сервер присылает ответ с сеансовым ключом, и этот сеансовый ключ в дальнейшем используется для обмена сообщениями по каналу с безопасностью B.
И если:

  • A и B — оба https. В этом случае всё хорошо, ну или почти всё. Практически спокойно можно пользоваться сервисом в любой сети. Хотя некоторые ограничения остаются, которые не будет рассматриваться сейчас.
  • A и B — https и http. Самое интересное.
  • A и B — обычный http. Очень грустно. Можно надеятся только на недоступность сети другим. Не интересно.

Так когда и в каком случае ваша личная информация может стать доступной ещё кому-либо? Об этом читайте далее. Читать далее »

html5 java programming video web

Видеонаблюдение на коленке

Преамбула

Вот захотелось Ивану Царевичу видеонаблюдение для государства своего, да так чтобы удалённое!
Чтобы, даже когда он в отпуске на карибах, он знал что в королевстве делается!

Что есть?

  1. Дешёвая камера Logitech за 500 деревянных
  2. Компьютер с белым IP
  3. Прямые руки

Реализация до боли проста: VLC + Приложение на Java

Читать далее »

backup programming svn vcs

Резервное копирование удалённого SVN репозитория

Создадим локальный репозиторий с именем «my_local_repo».

Разрешим делать с локальным репозиторием что угодно. В директории

Инициализируем локальную копию. Возможно придётся ввести логин и пароль.

запускаем в интерактивном режиме для ввода логина и пароля и их сохранения, а также первой загрузки данных из удалённого репозитория.

Напишем скрипт для cron’а.
backup_svn_script.sh:

Он будет создавать файлы вида «svn_2012_09_07_01_34_01.tar.gz» в вашей директории с бэкапами.

Для добавления скрипта в крон, нужно запустить:

и, например для сохранения бэкапа в 4:00 каждый день, добавить следующую строчку:

Этот метод очень неэффективный в отношении дискового пространства, но очень простой и быстро реализуемый. Подойдёт для минимальной защиты от сбоев основного svn сервера.

Источники:
using svnsync
installing subversion server in ubuntu

bash linux one-liner

Калькулятор, который всегда под рукой

— Так у тебя уже трое детей? И сколько им лет?
— Если перемножить их возраст, то получится 36. А если сложить, то получим номер автобуса, на котором мы с тобой едем.
— Но я не могу на основании этого определить их возраст!
— А, забыл сказать — старший такой же рыжий как и я!
— Ну тогда ясно!

А Вам ясно? Сразу? Серьёзно? Хорошо Вам! Тем, кто так быстро не считает, может помочь калькулятор, который всегда под рукой(у линуксоидов):

Под катом код не однострочником Читать далее »