A shelter from pigs on the wing
DMZ
дневник заведен 09-08-2004
постоянные читатели [32]
3 CaHuTaPa, 517design, Arde, Art`Is, aviabaza, BlackDrago, CyberJoe, DeadMorozz, Depeche Mode, DMZ, d_r, Ewige, glv12 Marla Zinger, goldenandy, Grimble, Hydralisk, Jude, Katrine Himitsu, Leave-me-alone, MISTIK, My3a, Nash, Nicholas Hawkwood, Pingvin, Riskoff, VorteX DrAgON, Wolfram, Букля_, достало, Муть, Рика, Эль
закладки:
цитатник:
дневник:
местожительство:
Красноярск, Россия, Сибирь
интересы [24]
программирование, C++, Depeche Mode, Star Wars, perl, DVD, JavaScript, FAR, lost, 80е, Half Life 2, долго спать, Miami Vice, веб-роботы, кентаврицы
антиресы [9]
грибы, грейпфрутовый сок, мёртвые люди, табличка обед, долго спать
Суббота, 10 Января 2009 г.
09:52
Как быстро и весело заменить все ссылки на картинки на сами картинки? Допустим, мы ленивы, чтобы кликать и открывать все в новом окне. Можно попробовать JavaScript. Современные браузеры позволяют много чего интересного делать скриптами.
Например Опера. Подсматриваем в opera:about путь к папке User Javascript (или задаем его в настройках, если тут пусто) и кладем туда "файл.js" типа такого:

"скрипт"

Я вот как-то не уверен, что если ссылка у нас была не на рисунок, а, допустим, баннер ведущий на HTML-страницу, то должен ли обработчик 'error' это дело замечать? Это место еще не доконца проверено. Если ссылка была вокруг двух рисунков или рисунков и текста (на самом деле это не очень красиво так верстать), то в конце уничтожится все, кроме первого рисунка под ссылкой.
И даже если была ошибка и 'error' её словил, то дерево мы все равно перекраиваем
Ну и плюс это тестилось только под Оперой

Ну а в конце добавляем в избранное новую ссылку
javascript:void(aimg2a());
, ставим галочку «Отображать на личной панели». И теперь у нас под рукой всегда будет кнопка, чтобы «развернуть» ссылки на картинки на текущей открытой странице.
Пятница, 19 Октября 2007 г.
08:48 Программисткое... Fuzzy search, Perl-XS...
На днях сделал пару страшных вещей - собрал модули для PHP и Perl.
Немного по порядку и за жизнь...

Началось все это со сравнения строк. Строки - это очень страшные вещи на самом деле. Правда чтобы это понять, сначала надо вспомнить про обычные числа.
Вот все знают, что 2+2=4. И 4=4, а 5!=4. Сравнивать целые числы одно удовольствие.
А дальше будут числа вещественные и мнимые
Теперь, когда мы что-то поняли в сравнении чисел можно поговорить про строки. До этого мы работали с цифрами - и там было все просто с арифметикой. Но можно ли вычитать буквы? С одной стороны в компе строки - это набор битов и есть ASCII таблица. Далее строку можно рассматривать как n-мерный вектор кодов, где n-длина строки. Можно даже начать строить векторную алгебру на этом но... и как же сравнивают строки?
А теперь, собственно, задача и нафига мне этот нечеткий поиск понадобился.
Надо было мне написать поисковик по базе, который учитывал бы опечатки, пропавшие умляуты, битые артикли и прочее...
Часть следущая: Юникод, умляуты и транслит
Итак. У меня была строка без лишних символов. (А еще я вырезал артикли - это не сложно). Есть Левенштейн. ε я взял как четверть от максимальной строки + 1.
И с этими данными процесс пошел. Поиск работал очень неплохо. Сложная часть была позади - если надо добавить что-то в таблицу декомпозиции или подправить сравнение строк, то там уже чисто правка кода и ничего сложного.
В итоге я взял мою базу в SQLite 3 и стал думать как теперь сделать поиск по базе... Оказалось все просто - SQLite 3 можно создать свою функцию и SQL движок будет её использовать. Причем функция пишется не на SQL, а на Perl/PHP/C - смотря где пишешь. Так что вся мощь языка в твоих руках.
Как обычно сначала я начал с Perl-а:
Perl, скорость, C, PHP
Вот такая погоня за скоростью. Теперь можно это использовать в работе. Иногда добавляя что-нибудь в C-код. Еще неплохо бы написать скрипт, который компилит все три библиотеки сразу, чтобы не бегать по папкам и запускать.
Пятница, 16 Февраля 2007 г.
10:08 YouTube
А не заняться ли мне общественно полезным делом?

Есть тут у меня скриптик один (ну вообще-то не один) для хорошей такой вещи - закачивание видео с YouTube.com. Как и для любого скрипта его ценность в том, что его можно вставлять в другие скрипты и в итоге замутить автоматизацию.

Скриптик написан на Perl-е, юзает LWP, wget и fork
Отлично работает как минимум на FreeBSD

Собственно скрипт

или ссылкой

Использовать его очень даже просто:

Допустим нам охота скачать рекламку макинтоша, известную под кодовым названием "1984". На сайте YouTube.com находим ссылку вида http://youtube.com/watch?v=OYecfV3ubP8

пишем в консоли:

$ ./vdl.pl http://youtube.com/watch?v=OYecfV3ubP8

Процесс пошел.
Скрипт лезет на keepvid.com за прямой ссылкой, потом снова на YouTube.com за названием ролика, а потом запускает wget на скачивание ролика.

Причем скрипт сразу будет записывать в красивое имя файла (транслитерация кириллицы тоже есть)

http://youtube-609.vo.llnwd.net/d1/...OYecfV3ubP8.flv => youtube_1984_apple_s_macintosh_commercial.flv

и показывать статистику

Downloading: 1.9MB / 2.2MB [86.59%] ETA: 00:00:02 RATE: 1261.4 kB/s (990.4 kB/s)

----===============------

Скрипт свободно распротроняем и модифифцируем.
Закрыть