Дневник

Posted in daily by Yuri Bichkoff on Wednesday, 22 February 2012 12:24 UTC Link

Попытка перетряски

Пришла в голову безумная мысль переделать свой сайт с учётом накопившегося опыта и умений. Даже сделал первые телодвижения, но на первой странице сразу встал в тупик. Переделать пол-мегабайта кода — непосильная задача. Проще написать всё с нуля. Похоже, сапожник опять останется, как ему и положено, без сапог.

Удивительное дело: такая скромная цифра — 0.5 МБ, — оказывается, равновелика бесконечности! :)

Tags:


Posted in information by Yuri Bichkoff on Thursday, 16 February 2012 14:54 UTC Link

Цензура в Сети

Русентер, наконец-то, перестал кривляться и объявил открытым текстом о „свободе рук для себя“. В переводе на нормальный язык означает: любой сайт в Рунете может быть закрыт просто потому, что вы ему не нравитесь.

Тренироваться начали давно: Хуяндекс, например, мой блог давно перестал индексировать. Почему? — никто не знает. Не ндравлюсь, видимо. Но это ерунда по сравнению с реальной цензурой, которая собирается стать реальностью.

Сегодня я написал в комментах к одной записи на эту тему.

Изумление, смешанное с брезгливостью у меня вызывают люди, регистрирующие хоть даже сайт про кошечек в зоне .ru.

А также пользующиеся вонючими гебешными почтовиками вроде mail.ru, хуяндекс.ру и проч.

А также пользующиеся говно-поисковиками вроде хуяндекса.

А также покупающие (sic!) продукты поганого гебнюка Касперского...

Можно только повторить сказанное. Что я только что и сделал :)

Тенденция, кстати, общемировая. „Там“, конечно, всё по-приличнее выглядит, но отличается не сильно, по сути.

Tags:


Posted in daily by Yuri Bichkoff on Monday, 13 February 2012 14:44 UTC Link

Cookie

Испытываю интерес к вопросам безопасности в Сети. В основном, интерес праздный, но от этого не менее сильный.

Разрабатываю сейчас систему авторизации (в который уже раз меняю!) и осознание существующей в этой сфере полнейшей туфты накрывает с головой.

О чём речь? — Об авторизационных куках, конечно же. Как всё устроено на большинстве сайтов? Примитивно: юзер заходит на сайт, вводит логин-пароль, которые проверяются с таковыми в базе данных (хешированными или нет — не суть важно) и в случае совпадения получает доступ к каким-то закрытым сервисам, причём на компьютер пользователя устанавливаются зашифрованные куки такого, например, вида:

ivanov:1352145871:f3ea7a238543789b769918864391d51d8d4a7ec2bd67777b417d14b88f9a0904

где логин = ivanov, срок годности этой куки до 1352145871, а дальше — хеш первых двух с куском пароля (например).

Внимание, вопрос: что делает PHP, когда загружает любую страницу? Правильно — он засасывает себе на сервер „environment“, в составе которого — все куки, установленные в браузере для данного сайта. Вот как выглядит кусок реального массива $GLOBALS в нашем случае:

[_COOKIE] => Array(

[__qca] => P0-2134382251-1324748054436

[userauth] => ivanov:1352145871:f3ea7a238543789b769918864391d51d8d4a7ec2bd67777b417d14b88f9a0904

[PHPSESSID] => tiqpognut7fmibslknjbtvdaf7

)

Причём, что особенно приятно, куки „летают“ между браузером и сервером независимо от того, по защищённому протоколу была загружена страница или нет. Т. е., любой желающий может эти самые куки перехватить. После чего воспользоваться ими для взлома аккаунта — дело техники. Как видим, всё супер-пупер „шифрование“ куков, паролей и проч. — не более чем пыль в глаза. С таким же успехом можно было бы хранить „просто пароль“ — отличий никаких.

Как же быть? Как защитить пользователей от кражи ключа? Как быть уверенным, что сидящий за соседним столиком в кафе компьютерного вида юноша уже не читает ваши письма на каком-нибудь поганом почтовике вроде хуяндекс-почты или мэйлру? (Навеяно взломом почты „Наших“; впрочем, а был ли вообще „взлом“?).

Сначала плохая новость. На вышеуказанных (чужих) почтовых серверах — никак. Для вашего собственного сайта обеспечить безопасность тоже невозможно, если сервер, где он хостится, не поддерживает SSL-шифрование потока (https://, ага).

Но есть и хорошие новости.

Программируя систему безопасности, следует предусмотреть всего несколько моментов.

  • Наличие SSL — это даже не обсуждается. Мастби. Если не можете обеспечить — закройте эту страницу и забудьте тему.
  • Любая установка куков должна выполняться с загруженной по защищённому протоколу страницы (проверять $_SERVER["HTTPS"], да-да).
  • Установка куков должна производиться с ключом secure, тогда браузер никогда не будет их посылать в открытую.
  • Ограничивать доступность куков определённой директорией (path) — это также уменьшает риск необоснованной их передачи.

Столь нехитрые рекомендации обеспечивают потрясающую надёжность системы. Любые обращения к кукам делаются „over SSL“, что гарантирует их шифрование в момент передачи и невозможность расшифровки даже на уровне провайдера, который имеет доступ ко всему потоку данных. Причём, запрос о куках можно делать лишь однократно, а потом хранить в сессионной переменной, что повышает производительность многократно и не требует более наличия https для данной сессии — пользователь будет считаться авторизованным.

Далее, можно вообще не хранить куки на компьютере, требуя каждый раз (один раз для сессии) вводить пароль (через https, очевидно). Но это не так актуально — потерять невинность можно только если оставить свой компьютер без присмотра. Обычно предусматривают опцию, которую все радостно включают :)

С этой простой частью покончено. Размышляя далее, приходим к принципам работы протокола https. Процесс авторизации браузера и обмена ключами состоит из порядка девяти шагов (точное количество забыл, — как-то читал подробно об этом). Так вот: нет возможности узнать „с кем вы разговариваете“. Т. е., если сертификат безопасности не заверен кем-то вроде VerySign или Thawte или вы не дали себе труда его проверить, можно попасть — общаться с КГБ, например, вместо Живительного Источника Демократии и Свободы.

Понимаете?! Вы посылаете данные, — вам отвечают. Но КТО отвечает? Когда спохватитесь (например, не получив в ответ нужных вам данных) — будет поздно — авторизационные куки ушли к дяде в СОРМ и „товарищ майор“ уже слюнявит палец, перелистывая страницы ваших секретных дневников :)

И не надо утешать себя тем, что куки привязаны к домену. Этот вопрос тоже решается.

В общем, есть над чем подумать. Но можно выдать рекомендацию сразу: никогда не хранить на чужих серверах и не передавать через интернет ни при каких обстоятельствах незашифрованные данные (пусть даже с помощью PGP). Это 99.99%-я гарантия.

Tags: ,


Posted in daily by Yuri Bichkoff on Monday, 13 February 2012 13:13 UTC Link

e

Вычислил число e до тысячного знака:

2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274274663919320030599218174135966290435729003342952605956307381323286279434907632338298807531952510190115738341879307021540891499348841675092447614606680822648001684774118537423454424371075390777449920695517027618386062613313845830007520449338265602976067371132007093287091274437470472306969772093101416928368190255151086574637721112523897844250569536967707854499699679468644549059879316368892300987931277361782154249992295763514822082698951936680331825288693984964651058209392398294887933203625094431173012381970684161403970198376793206832823764648042953118023287825098194558153017567173613320698112509961818815930416903515988885193458072738667385894228792284998920868058257492796104841984443634632449684875602336248270419786232090021609902353043699418491463140934317381436405462531520961836908887070167683964243781405927145635490613031072085103837505101157477041718986106873969655212671546889570350354

С детства знал мнемоническое правило: 2.7 (каждый помнит) — затем два раза подряд год рождения Л. Толстого (1828 — единственный год рождения, который я запомнил на всю жизнь; даже свой иногда забываю, а Лёвин никогда) — затем год окончания WW2 — затем удвоенный год окончания — затем опять год окончания. Это было круто — в те времена до тысячного знака число е, вероятно, не знал даже сам Колмогоров :)

Собирался написать, как мне это удалось. Потом заглянул вот сюда и передумал.

Хехехе.

Update.

Пришло в голову после этого: по уровню развития нахожусь где-то на миллиардной ступеньке от вершины пирамиды (1012 / 103 = миллиард).

Слабо утешает мысль, что до подножия этой самой пирамиды ещё хрен знает сколько ступенек :)

Tags:


Posted in information by Yuri Bichkoff on Thursday, 26 January 2012 07:51 UTC Link

Спам-фильтр

Написал простейший спам-фильтр на сайт. Три строчки, буквально. Посмотрим, чем дело закончится.

Суть проста: в сессии хранятся несколько параметров; нарушение некоторых правил, составленных из комбинации этих параметров, приводит к блокированию сайта по IP (до закрытия сессии, конечно).

Сам вижу уязвимость и понимаю, что возникнут проблемы на ровном месте для добропорядочных пользователей, в некоторых случаях. Но что-то не хочется улучшать...

Хорошо, что хоть так сделал: за пять лет было лень эти самые три строчки написать :)

Но достали! С одной стороны, пофиг — никаких неудобств никому не создаёт, но почему-то раздражает необыкновенно смотреть на сотни строчек такой вот мутоты ежедневно:

http://bichkov.com/login.php?lang=ru | 46.118.133.122 | http://bichkov.com/login.php?lang=ru

В первой колонке — адрес, во второй — IP, в третьей — откуда пришёл (referer).

Понятно, что всё можно подделать (некоторые так и делают — меняют всё подряд на ходу) — от IP до referer, — поэтому и говорю — примитивный фильтр.

Что меня больше всего бесит — так это непонимание! ЗАЧЕМ они это делают?! Что это даёт?

Tags: ,


Posted in daily by Yuri Bichkoff on Saturday, 14 January 2012 14:10 UTC Link

Результаты

Что-ж, то, чего я боялся, не сбылось. Почему-то казалось, что сайтик не выдержит нагрузки, завалится. Нифига! Тестирование показало: производительность даже возросла. Почему — ума не приложу. Но факт остаётся фактом: пока я один на сайте работал, всё грузилось значительно медленнее. Видимо, где-то страницы кэшируются.

Счётчик liveinternet.ru сегодня показал вот что

Моя статистика даёт другие результаты — полные — они раза в три превышают эти. Всё логично: у меня фиксируются именно что обращения к страницам, а здесь всякие боты игнорируются.

В дальнейшем, конечно, нагрузка уменьшится. Интерес спадёт, все ознакомятся, забудут. Если ЖЖ не навернётся, конечно :)

С технической точки зрения, PHP — не самое плохое решение для сайтостроительства, как выясняется. И хостер тоже ничаво. И даже WordPress, в принципе, „тянет“. Зря я „наезжал“ на него.

Ну, а мы отвлекаемся от созерцания приборов и переходим к текущим, повседневным делам...

Tags:


Posted in information by Yuri Bichkoff on Friday, 13 January 2012 06:32 UTC Link

Плод трудов немалых

Сегодня имею удовольствие представить любезной публике результаты некоторых своих трудов — сайт krylov.cc. Сегодня, в пятницу, в тринадцатое число, — плохая примета :) — доступ к нему открыт для широкой публики

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

В отличие от проектов, которые я делал, здесь найдётся достаточное количество недоброжелателей, техническая квалификация которых намного превосходит мою собственную :(

Tags: , ,


Posted in information by Yuri Bichkoff on Sunday, 18 December 2011 14:45 UTC Link

Косметические изменения

Немного изменил стиль отображения бложика.

Шрифт теперь Arial, 16 px, ширина всей полосы — 1,150 px, контента — 920.

Стало просторнее, уютнее и читабельнее. Шрифт зрительно стал крупнее, расширение полосы следует в фарватере современных тенденций: ширина мониторов ныне редко когда меньше 1,200 px. У кого монитор у́же — тот лузер :)

Замена шрифта на Ариал имеет ещё один плюс — можно ставить ударения над любыми буквами (см., например, чуть выше слово „уже“). Кроме того, отсутствие „засечек“ (serif) улучшает восприятие текста.

В „пролёте“ только фотографии. Мой стандарт в 600, потом 700 пикселей оказывается совершенно непригодным. Опубликованные картинки выглядят „куцо“. Ну, бум работать над новым контентом — постить фотографии размером 900.

Tags:


Posted in review by Yuri Bichkoff on Sunday, 11 December 2011 17:31 UTC Link

О пользе арифметики

Что же, пора подвергнуть некоторые цифры беспощадному анализу.

Сегодня на митинге я шагами замерил ширину проезжей части на Болотной площади: 18 метров. Плюс ещё порядка 4 — тротуар у реки, который сегодня был огорожен, но вчера был под завязку заполнен. Итого: 22 метра.

Яндекс-мапс даёт полную длину Болотной площади в 330 метров (народом было заполнено всё вплоть до Фалеевского переулка — см. имеющиеся в изобилии фотографии, где от Лужкова моста всё было заполнено „влево-вправо“ на равное расстояние; например, интерактивную панораму).

Итак, считаем площадь: 22 х 330 = 7,260 м2.

Теперь — некое допущение. На площади в один квадратный метр могут находиться порядка пяти человек. Утрамбованных у самой сцены — шести—восьми. Но в среднем, можно было спокойно ходить в толпе в середине — у мостика — и далее „вправо“. Так что, принятие пяти человек на квадратный метр очень близко к истине.

Получается: 7,260 х 5 = 36,300 человек.

Принимая во внимание некоторое количество народа на самом Лужковом мосту, на другой стороне реки и рассыпаных в лесочке, где-то с трудом приближаемся к цифре в 50 тысяч человек (под которой я вчера и присягнул).

Так что, реальная цифра: было порядка 45—55,000 человек.

Остальное — пиздёж организаторов, пытающихся заработать политический капитал.

Как-то так, да. Ощущения — ощущениями, но математика — царица всех наук!

Tags: , ,


Posted in information by Yuri Bichkoff on Thursday, 8 December 2011 11:55 UTC Link

Последняя лампа

из трёх, о судьбе которых мы обещали информировать читателей, сегодня сгорела.

Итак, самая стойкая продержалась с 31 августа 2008 года. Немного, если учесть рекламу, обещающую средний (!) срок службы 10 лет (при 3-х часах работы в день). В ванной комнате лампы горели меньше трёх часов в день — часа полтора максимум. Тем не менее, в среднем, менее трёх лет — и покойники.

Не верилось изначально — столь сложный аппарат как энергосберегающая лампа не может служить долго — там полно электроники.

Ложь, ложь, ложь сопровождает нас from the cradle to the grave. На Западе такой дряни меньше, конечно. Тут, у нас, чисто азиатский вариант — наебалово везде и во всём.

Но появился новый фетиш — светодиодные лампы. Вот это, действительно, круто! Ещё в конце лета на „Савёловском“ было темновато и традиционно, но сейчас преобразилось — светодиодными лентами увешано вообще всё. Быстро наши люди учатся, однако. В отличие от китайцев, которые это всё делают, у нас выглядит намного приличнее, по-европейски, всё-таки. Такая вот дикая смесь: Азиопа, в общем.

Пока дóроги, да. И подходящей мощности нет. Но очень нравится. И свет и дизайн и отсутствие энергопотребления и вообще... Почему-то к свету неравнодушен. Солнцепоклонник и светолюбитель.

Tags:


Posted in information by Yuri Bichkoff on Thursday, 24 November 2011 16:25 UTC Link

Новая статья

Немного „причесал“ вчерашнюю заметку о рекурсивных функциях, добавил примерчик — результат реального вывода, — и выложил на сайтик в завершённом виде.

Вот так вот: „Рекурсивные функции“.

Слабо надеюсь, что пригодится кому. Пока Хуяндекс сайт индексировал, народ даже заходил иногда. Сейчас жыдочекисты меня „взяли на карандаш“ и индексировать перестали, а поскольку Гуглем пользуются далеко не все (и напрасно!), аудитория поуменьшилась.

Tags:


Posted in information by Yuri Bichkoff on Saturday, 22 October 2011 19:05 UTC Link

Как правильно рассматривать фотографии

Уверен, что подавляющее большинство людей даже не знают, что такой вопрос можно задать. „Как же ещё? — смотришь и смотришь“. А вот и нет!

Ещё в далёком детстве прочитал в „Занимательной физике“ Я. Перельмана (других не было, ага), в главе девятой книги первой (М., „Наука“, 1976, издание девятнадцатое) вот что.

Искусство рассматривать фотографии

...раз мы желаем получить от снимка такое же зрительное впечатление, как и от самой натуры, мы должны:

  • рассматривать снимок только одним глазом и
  • держать снимок в надлежащем расстоянии от глаза.

Рекомендация такая (не вникая в технические подробности):

Снимок надо приблизить к глазу на расстояние, которое во столько же раз меньше расстояния предмета от объектива, во сколько раз изображение предмета меньше натуральное величины. Другими словами, надо держать снимок от глаза на расстоянии, которое приблизительно равно фокусной длине объектива.

Попробуйте! — снимки,  при рассматривании одним глазом, действительно, оживают! Даже меня проняло.

Tags: ,


Posted in information by Yuri Bichkoff on Sunday, 9 October 2011 16:47 UTC Link

Импорт из ЖЖ

Что-ж, запишу для памяти, пожалуй.

Сегодня закончил большую работу по разбору механизма экспорта-импорта из ЖЖ в Вордпресс. Теперь я умею автоматически брать записи из любого журнала (от которого есть credentials, разумеется) и вставлять их в Вордпресс. Что ещё более круто — делать то же самое с комментариями!

С одним журнальчиком такое и проделал: более 8,000 записей и более 390,000 (sic!) комментариев были высунуты из ЖЖ и засунуты в Вордпресс. Объём базы достиг, при этом, 440 мегабайт!

Не надо ля-ля говорить про имеющийся плагин от WordPress — он не работает :)

Большая трудовая победа, однако. Испытываю искушение написать огромную статью, посвящённую вопросу, а также „отдать долг“ людям, испытывающим подобные же проблемы. Обещал ведь. Но ле-е-ень... Тем более, придётся коды программ приводить к приличному виду, пригодному для использования не только мной.

Tags:


Posted in daily by Yuri Bichkoff on Tuesday, 4 October 2011 07:42 UTC Link

.htaccess

Обратил внимание на обилие ошибок 404 в статистике. Что такое?! Ну, Яндекс криво индексирует — не новость (например, для страницы ...articles.php?lang=ru делает ссылку ...articles?lang=ru — без .php — что приводит к „результатам“). А блог этот вообще дискриминирует — не найдёте его нипочём. И всё за критику, за критику! Жыдов и Яндекса, что одно и то же, впрочем :)

Но сегодня сам тыкнул по ссылочке в бложике и получил Error 404. Аааа! По случаю борьбы с OpenID удалил файлик .htaccess, который ссылочки преобразует и забыл об этом. Вотжеж-а!

Что удивительно, новые версии Вордпресс не требуют помощи Apache. Да-с, пора заняться перетрахиванием перетряхиванием блога. Устарел, устарел морально и физически.

А так... комариху раздавил мордой на подушке сегодня ночью. Надо же! 4 октября, а комарихи ещё не успокоились. Погоды стоят какие нынче прекрасные. И шмель размером с грецкий орех залетел сегодня в форточку. Долго бился о стекло, пока я его не прикрыл пластмассовым стаканчиком и не перенёс, подсунув картонку, к открытому окну и не выпустил. Настолько огромный, что видел его ещё долго, аж на другой стороне улицы. „Полёт шмеля“, да.

Tags: ,


Posted in daily by Yuri Bichkoff on Saturday, 1 October 2011 17:34 UTC Link

Факин ЖЖ

Очередной релиз ЖЖ принёс сюрпрайз: перестал работать мой OpenID, написанный так давно и брошенный разработчиком, что внезапно посыпались ошибки. Пришлось искать новые решения.

Несмотря на обилие предложений и, казалось бы, известность концепции, мало что работает (не говорю о сложных библиотеках, требующих потратить кучу времени на всю эту мутоту). Плагины к бложику тоже кривые какие-то. Что меня удивило немало. Все такие умные, столько всего рожают, а начнёшь искать — пустыня! То не работает, эти приказали долго жить, этого и вовсе нет...

В общем, остановился, в конце концов, на SimpleID, который заработал после удара молотком по темечку — он тоже заточен под старые версии PHP. Выкинув из 295 строки файла discovery.inc знак амперсанда:

$parser =& new XRDSParser();

получил работающую (пока) систему.

Вотжежгады! Все :)

Но нет худа без добра: кое-что есть возможность улучшить, чтобы позволить логиниться или оставлять комменты с использованием OpenID в своём собственном бложике. Давно было пора, но не знал, как подступиться. Оказывается, нет ничего проще.

Tags: ,


Posted in daily by Yuri Bichkoff on Saturday, 27 August 2011 13:43 UTC Link

Полупрозрачность

Удивительное дело: прошло несколько лет, прежде чем я дозрел до переделки динамики на сайте (довольно глупой, надо сказать). Изначально было задумано так, чтобы в „Галереях“ маленькие картинки справа становились ярче при подведении мышки, как на картинке ниже (скриншот не зафиксировал саму мышку, почему-то — она находится в области надписи, над центральной иконкой)

Всё и работало, но только в IE, где наличествовала встроенная функция альфа-прозрачности. В остальных браузерах подобного шика не наблюдалось, отчего я постоянно испытывал невыразимые страдания, ибо Эксплорером пользуется всё меньшее количество людей (что мы одобряем, конечно — то, к чему прикасаются кривые ручки мелкософта, превращается в уродство).

Ко всему прочему, требовался JavaScript, который я просто ненавижу. Беспричинно, — знаю, но ничего не могу с собой поделать.

Наконец, время для великих свершений пришло. Родилась тупая и простая идея решения с использованием CSS. Такая вот комбинация стилей решает задачу:

<style>

a#two img {background-image:url(blank2.png);}

a#two:hover img {background-image:url(blank.gif);}

.icons {background-repeat:no-repeat; background-position:center;}

</style>

В тексте страницы используется HTML:

<div class="icons" style="background-image:url('путь к изображению, которое надо отобразить');">

<a id="two" href="http://example.com"><img src="blank.gif" alt="" width="" height=""></a>

</div>

blank.gifпрозрачный квадратик 110px х 110px, в который заведомо вписывается любая иконка (в данном случае, конечно).

blank2.png — изготовленный в фотошопе полупрозрачный серого цвета квадратик такого же размера; будучи наложен на картинку, делает её затемнённой.

В теге div в качестве фона используется иконка, которую требуется отобразить.

Изящно и незатратно. Код даже упростился в несколько раз, причём, работает в любом браузере. Единственная проблема — вычислять размеры изображения и вставлять их в определители width и height. Это нужно для того, чтобы расстояния между картинками были одинаковыми (можно и пренебречь такой мелочью, конечно). Функция PHP getimagesize() возвращает нужные значения, которые остаётся только вставить „между кавычками“.

Приятная мелочь. И всё работает.

Update.

Кстати сказать, можно было бы вместо прозрачного blank.gif и полупрозрачного blank2.png использовать функцию CSS rgba(), применяя нужный коэффициент прозрачности, вообще упростив код до невозможности (blank2.png вообще был бы не нужен). Увы, тогда ничего не будет работать в треклятом IE — (чтоб Биллу яйца оторвало! :)

Update от 30.08.2011

Туповат, да. Даже хуже — что давно не новость. Но зато упрям, что твой песдетц.

Вот и в этот раз облажался по полной. Надо же такую муйню написать про полупрозрачность! Но упрямая мысль работала „в две дырочки сопел и, наконец, воскликнул: ИДЕЯ“ и привела на сайт консорциума W3C (по другому поводу, впрочем). И оттуда, неведомыми путями — на страницу CSS Image Opacity / Transparency. Несколько готовых решений — выбирай любое.

М-да. Чуть-чуть не додумал, не сообразил, как победить IE — надо было всего лишь добавить его „фильтр“ в таблицу стилей к стандартному opacity. В результате, решение выглядит проще некуда:

<style>

a#two img {opacity:0.5; filter:alpha(opacity=50);}

a#two:hover img {opacity:1; filter:alpha(opacity=100);}

</style>

HTML страницы для отображения картинки:

<a id="two" href="http://example.com"><img src="путь к изображению, которое надо отобразить" alt=""></a>

И не надо никаких дурацких div-ов, „пустых“ картинок и проч.!

Стыдно, аж не могу!.. было бы стыдно, — но дебилам не бывает стыдно.

Tags: , ,


Posted in daily by Yuri Bichkoff on Tuesday, 16 August 2011 08:21 UTC Link

Проверка на вшивость

Забавное дело. На некоем форуме задолбали спамеры, которых регистрировалось до десяти штук в день. Капча не помогала — видимо, ручная регистрация. Или хорошая система распознавания капчи. Например, один уважаемый программист [Фицпатрик] говорил, что двумя лёгкими мазками набросал программу для чтения любой капчи. Этот метод более не эффективен — работает только против школоты.

Особого неудобства (фактического) спамеры не доставляли — все их какашки оставались невидимы для публики. Но мешало само их наличие.

В результате, воспользовавшись предложенной идеей перед началом регистрации задавать тупой вопрос, задача была решена. Ни одного спамера вообще!

Удивителен сам факт: они не могут ответить на вопрос о годе начала первой мировой войны! Я даже думаю, что всё-таки это боты, которые, не найдя в стандартном регистрационном алгоритме форума phpbb нужного им поля, уходят. Ну, не может человек не знать этой даты и прочих подобных?! Или я опять лучше думаю о людях, чем они того заслуживают?

Tags: ,


Posted in daily by Yuri Bichkoff on Saturday, 6 August 2011 14:56 UTC Link

Текучее

Последнее время, начиная с Дня системного администратора, занимался архивами и общей перетряской компьютеров. Свалил систему на ноуте со своими экспериментами; восстанавливать лень, — вряд ли когда понадобится. На другом компе не смог восстановить английскую XP sp1 (снеся предварительно, хехе). Чертовщина какая-то! Видимо, драйверы не подходят к новому железу — не желает грузиться с диска на этапе установки. Так и не понял ничего, бросил затею.

Обнаружил много всяких чудес: что-то не работает, что-то больше не „ставится“, что-то явилось принципиально новое; от чего-то пришлось отказаться, как плохо себя зарекомендовавшего (RAID5, например, — пародия на производительность; обычно дисковая скорость падала до 10 МБ/с (на запись)! Или BitLocker от мелкомягких — нафик-нафик!).

Работа с архивами увлекает, даже если просто их систематизировать — погружаешься в минувшее, которым стало совсем недавнее настоящее (волей-неволей пересмотрел кучу разных фотографий). Оказалось, что часть вообще была только на DVD — пришлось исправлять несправедливость, собирать всё в кучку. Теперь общий архив занимает 1 ТВ на HDD. Помимо горстки пепла от меня останутся нули и единицы, которые столь же бесполезны, как и этот самый пепел — ничего прочитать будет невозможно — только выбросить (давно писалось).

Кстати, об идеологии шифрования. Долгие размышления и предыдущий опыт показывают, что самое лучшее шифрование — и не шифрование вовсе, а секретность. Т. е., даже самый прочный сейф можно взломать (например, работает прекрасное средство — яйца в мясорубку — сам все пароли скажешь), а вот найти свёрток со списками „Народной воли“, закопанный в саду размером с футбольное поле, практически невозможно. Особенно, когда никому неизвестно, где этот сад и есть ли вообще список. Пример из той же серии: подумать, что у очкарика в засаленной куртке, едущего на метро, в полиэтиленовом пакете лежит четверть ляма баксов невозможно (если не было наводки). И т. п.

Именно это соображение следует всегда держать в голове, приуготовляясь зашифровать содержимое компьютера. Разработчики TrueCrypt знали это... Типа, сапиенти сат.

Tags: ,


Posted in review by Yuri Bichkoff on Sunday, 31 July 2011 20:16 UTC Link

Полезные ссылки

Без комментариев.

Зубы по утрам чистите? А делаете, как на сайте по первой ссылке написано? Важнее зубов, между прочим.

Tags: , ,


Posted in daily by Yuri Bichkoff on Friday, 29 July 2011 07:27 UTC Link

О ЖЖ — в последний раз

Вчера разродился призывом „валить из ЖЖ на стандалон“. Позже понял всю его утопичность.

Во-первых, для владения собственным сайтом нужно иметь минимальные технические навыки, помимо желания платить порядка $50 в год за хостинг сайта. 50% народу сломается на первом пункте, ещё 90% — на втором.

Во-вторых, хостинг на американском сервере требует знания хотя бы элементарного английского. С этим полных швах — ни о какой массовости говорить не приходится.

В-третьих, отсутствует софт. По идее, нужен облегченный вариант ЖЖ, заточенный для работы с OpenID и пригодный для автономной установки на любой сайт — примерно как WordPress. Должно быть дажё ещё проще, ещё удобнее. Такого софта нет и вряд ли появится — СУП этим уж точно заниматься не будет.

Этого достаточно, чтобы „ничего не случилось“. А жаль :(

Tags:


Posted in review by Yuri Bichkoff on Thursday, 28 July 2011 16:43 UTC Link

Ещё о ЖЖ

Наблюдая уже третий день агонию ЖЖ, в голову лезут всякие мысли. Выкинуть из головы проблему просто так невозможно — слишком много всего завязано на Живой Журнал.

Моё чутьё редко меня подводило, но убедить людей делать что-то, что я чувствую и что оказывается, в итоге, 100% истиной — невозможно. Однако, некоторые вещи совершенно очевидны.

Например, в интернете действовать следует по принципу: один человек — один сайт. Невозможно удавить (заддосить, хакнуть и т. п.) миллион сайтов одновременно, в то время как „сидение“ на одном ресурсе, вроде ЖЖ, позволяет просто его купить, что и сделали „мамуты“ несколько лет назад. Вот результаты, — предсказуемые, надо сказать.

Аналогично, лихорадочно бросившиеся на Фейсбук пользователи ЖЖ вступают в точно такую же каку (известно, например, что чекисты уже скупают акции фейсбука). Мало того, что ресурс говняный, так и результат известен уже сегодня.

Второй важный пункт: никогда, НИКОГДА не иметь дело с рунетом (прошу пардону за капслок — но тут именно что хочется кричать). Ни почты, ни сайта, ни хостинга — НИЧЕГО не должно находиться здесь! ТОЛЬКО на Западе, лучше всего — в США, ибо Европа — вечный и главный наш враг, — сдаст вас колониальной администрации с потрохами „в случае чего“.

И вот в этом случае „нам не страшен серый волк“. Атакуя отдельных представителей, невозможно разорвать горизонтальные связи между отдельными людьми, объединившимися в комьюнити. Да и замучаешься атаковать миллионы. Невозможно обрушить груз, висящий на сетке, протыкая в ней маленькие дыры. В то время как цепь, пусть даже и очень прочную, можно разорвать, сломав всего лишь одно звено.

Политическая подоплека происходящего, кажется, очевидна. То, что происходит сейчас, возможно, лишь боевое учение и всё завтра заработает. Но суть не изменится: в любой момент любой клиент-сервер ресурс положат и люди останутся один на один с пустым экраном, лишённые возможности к действиям, потеряв наработанное годами...

Так что, друзья, прочь из фейсбука, ЖЖ и вконтактика! Делайте свои, пусть и примитивные сайты (это недорого и несложно) и объединяйтесь на новых технических принципах. Затраты окупятся сторицей.

Так победим!

Tags:


Posted in daily by Yuri Bichkoff on Thursday, 21 July 2011 14:12 UTC Link

О форумах

Великий tema числит в разделе „Ненавижу“ форумы. Вообще, грамотный пацан. Когда вникаешь, осознаёшь, что форумы — это рудимент, оставшийся от раннего интернета. Когда-то я пользовал только один форум — оперный, но он сам-собой отвалился — протух интерес. Потом заходил туда через пару лет — а он умер. Народ разбрёлся по ЖЖ и прочим социальным сетям. Что мудро.

Отчего вдруг вспомнил? Ааа, приходится администрировать (чисто техническую часть — апдейты и проч.) один форумок. Так каждый раз к горлу подступает содержимое желудка — даже боюсь испортить клаву. Видеть не могу!

Хотя, жанр жив ещё: примеры довольно многочисленны — от хабрахабра до гайдпарка. Удивительно!

Tags: ,


Posted in information,review by Yuri Bichkoff on Saturday, 16 July 2011 18:00 UTC Link

Новый тариф

Стрим МТС родил новый тариф „Эконом“: 3072/768, анлим., за 300 руб. Конечно же, немедленно перешёл на него. Потом посмотрел историю своей смены тарифов: оказывается, на предыдущем сидел с 19.09.2008 года! И платил аж 390 руб в месяц! Как это у нас любят делать, повысили цену „неспросясь“. Типа, кризис заставил (за тот же тариф вначале было тоже что-то порядка 300 — уже не помню цифры). Но скорость всегда неуклонно повышалась — я подписчик на самый дешёвый из имеющихся тарифов с февраля 2003, — не изменял провайдеру уже восемь лет  (и вообще, „измена“ мне не свойственна, замечу в скобках).

История смены тарифных планов
Тарифный план Дата начала действия
Домашний Интернет 2,5 19.09.2008
СТРИМ 2 in 18.09.2007
ДВИЖЕНИЕ 13.05.2007
СТРИМ-ФЛАЙ 01.01.2007
СТРИМ-ТУРБО 01.12.2004
Стрим стандарт 01.03.2004
Столичный 2003 (PPPoE) 01.01.2004
Городской 2003 (PPPoE) 26.02.2003

Кстати, самый первый тариф, „Городской 2003“ имел скорость 128/128 (за 527 руб.). Уму непостижимо, что ещё восемь лет назад интернет был таким медленным. Впрочем, в недавней поездке воспоминания нахлынули — периодически с такой скоростью всё и работало. И это было невыносимо!

Tags:


Posted in information by Yuri Bichkoff on Saturday, 16 July 2011 12:55 UTC Link

Уведомление о сгоревшей лампочке

Когда-то я обещал информировать о судьбе энергосберегающих лампочек. Так вот: очередная лампа в ванной комнате, купленная где-то 31 августа 2008 г. — сгорела. Третья пока держится, но уже потемнела у цоколя. Скоро, скоро.

Таким образом, одна из партии прослужила 7 месяцев, вторая — почти три года, третья ещё горит.

На подходе светодиодные лампы (LED). За ними будущее! Его [будущее] я видел в Китае. И мне оно нравится.

Tags:


Posted in information by Yuri Bichkoff on Wednesday, 29 June 2011 16:18 UTC Link

Камбоджа и техническое

Скоро переезжать во Вьетнам, а я выложил только один снимок из Камбоджи. Непорядок. Исправляюсь. Показывать, собственно, нечего — всё-про-всё снято 45 кадров. Слёзы! И если бы гениальное что было — фигтам!

Зато сделал давно назревшее: увеличил размеры экрана в „Галереях“ до 1200 пикселей, равно как и поменял фото-стандарт — теперь картинки будут 700 пикселей по длинной стороне.

Это уже второе по счёту увеличение в истории: вначале они были совсем маленькими — 500 пикселей, потом подросли вместе с ростом Сети, — стали 600. Теперь опять стыдно и обидно стало за державу: когда люди открывают сайт на огромных мониторах, то видят куцый огрызок посередине.

Второй сурьёзный шаг — цвет рамочки. Теперь он почти чёрный, — вместо белого. Смотрится значительно лучше. Ну, главное, чтобы мне нравилось :)

Итак, несколько новых картинок. По такому случаю даю ссылки, а не показываю их здесь.

Набережная — главная улица столицы Камбоджи. Вся жизнь сосредоточена вдоль реки. Очень долго ремонтировали — ещё два года назад тут была ужасающая стройка. Теперь — красота!

http://bichkov.com/galleries.php?id=1334

Королевский дворец. Снимок интересен стаей птиц

http://bichkov.com/galleries.php?id=1335

Вид на слияние двух рек — великого Меконга и реки Тонлесап: как раз за зелёненькой полосочкой земли течёт Меконг

http://bichkov.com/galleries.php?id=1333

Проходил мимо капища буддистского, — остановился поснимать. Какие-то увечные туда, в основном, пришли (не стал их тревожить — на снимке не видно). Видимо, помогает...

Про увечных. Есть такой памятник акыну какому-то. Я сразу обозвал его „односисечным“. Забавно выглядит

Это музыкальный инструмент у него в руках. Кто знает кхмерский язык — могут прочитать надпись и нам рассказать :)

Tags: , , ,


Posted in daily by Yuri Bichkoff on Tuesday, 14 June 2011 03:47 UTC Link

Изменения на сайтике

Изменил систему авторизации на сайте. Помимо упрощения и очевидного ускорения процесса самый заметный эффект — удаление всех паролей пользователей.

Теперь желающим войти на сайтик придётся запрашивать восстановление пароля или регистрироваться заново. Впрочем, таковых немного — можно сказать — никого. Хехехе.

A part. Прекрасное занятие для гостя Патайи — программирование до двух утра. И кто посмеет сказать после этого, что тут „разврат и грязь“?! Только завистники, сидящие сиднем в рашке, ничего не понимающие в путешествиях :)

Tags:


Posted in information by Yuri Bichkoff on Thursday, 21 April 2011 02:06 UTC Link

Subscribe to the feed в ЖЖ

Какой-то хороший человек добавил RSS-поток моего бложика в ЖЖ. Теперь его можно френдить как обычный журнал и читать в ленте (обновляется раз в сутки, как я понимаю).

Вот адрес профиля в ЖЖ, где можно посмотреть инфу: http://bichkov-com.livejournal.com/profile.

Раньше только платные юзеры могли сделать такое доброе дело — добавить посторонний блог в поток. Может быть, теперь ограничение снято? Не буду проверять, — хочу остаться в приятном неведении.

Инжир, халва и изюм тебе, неизвестный самаритянин!

Tags:


Posted in daily by Yuri Bichkoff on Tuesday, 1 February 2011 18:14 UTC Link

Об одном регулярном выражении

Воистину, нет пределов глубине и ширине простого, на первый взгляд, проекта „Ответов“. Начавшись на уровне игры, с размещения обычного html-файла, сделанного на коленке вручную, — к базе данных и, затем, к полностью автоматизированной системе импорта данных через RSS. Самодельный Гугль, типа. Без всякого заимствования готовых кодов где бы то ни было, без всякой „идеологической“ помощи ни от кого.

Дальнейшее обсуждение предназначено для людей, знакомых хотя бы в общих чертах с регулярными выражениями и программированием, с проблемами, стоящими перед веб-разработчиками.

На этот раз пришлось решать простую с виду задачу автоматического превращения интернет-адресов в ссылки, т. е., адресов вида http://example.com, которые обычно люди копируют из адресной строки и просто „кидают“ в текст сообщения в полноценную ссылку http://example.com, по которой удобно кликать другим пользователям, читающим текст.

Увы! Если вы думаете, что всё так просто и задача давно решена, попробую переубедить вас, приведя всего два примера. Один из них — из книги „PHP 5“ уважаемых авторов М. Кузнецова, И. Симдянова и С. Голышева (С.-П., 2006). Вот что мы читаем в главе 5, посвящённой регулярным выражениям („Автоподстветка URL“, листинг 5.7):

<?php
$text = "…на ресурсе, посвящённом PHP-программированию, http://www.example.com вы можете найти…";
$pattern = "/(http:\/\/)(\S+)/i";
$replacement = '<a href="http://\\2">\\2</a>';
echo preg_replace ( $pattern, $replacement, $text );
?>

(read more...)

Tags:


Posted in information by Yuri Bichkoff on Saturday, 22 January 2011 17:57 UTC Link

Таки не утерпел…

Находясь в постоянном творческом поиске, нельзя смириться с наличием идеи и отсутствием её воплощения. Речь идёт об импорте „Ответов“ с использованием RSS-feed, о чём кратко было упомянуто совсем недавно. Оказалось, что „Не-хо-чу!“ на деле означает „хочу изо всех сил!“.

В результате, всё переделал „с нуля“ и наслаждаюсь красотой и простотой решения. Бóльшую часть работы выполняет встроенный в PHP класс DOMDocument(), использование которого позволяет легко обрабатывать XML-документы, в котором виде RSS-поток и генерится сервером.

Выделение всех нужных полей: вопросов, ответов и проч. — дело простейшей техники. Как следствие, общий размер файла — всего 95 строчек (противу почти 140 по старой технологии). Самое главное — можно более не заботиться об изменении дизайна страницы (что они любят проделывать регулярно) — формат XML-документа гарантированно не изменится.

Полная автоматизация достигнута, ручное участие в процессе более не требуется. Слегка изменён и дизайн, а также чуть-чуть структура базы данных — ещё компактнее, ещё разумнее.

Афтар, теперь пеши отвечай больше и чаще! :)

P. S. Совершенно за скобки выносится необходимость подобного сервиса. Очевидно же: вполне можно подписаться на RSS и ложить ржавый болт на мою „помощь“ в этом деле.

Отвечу так. Во-первых, с помощью RSS возможен доступ только к тем „ответам“, которые созданы после „подписки“. Следить за появлением новых можно и даже удобно, но старые „пролетают фанеркой над Парижем“. Во-вторых, функция поиска по всей базе — это очень хорошо и ничто, никакой RSS, не может с этим конкурировать.

В-третьих, решение технических проблем для меня — самодостаточная цель, даже если никакой другой пользы никому не приносит.

Tags:


Posted in daily by Yuri Bichkoff on Tuesday, 11 January 2011 15:39 UTC Link

Шаг за шагом можно достигнуть цели

Сколько времени занимался ручным переносом „ответов Крылова“ в свою базу! Заглянешь на формспринг, сохранишь страничку, потом ручками-ручками в базочку импортируешь. Иногда через много часов после появления новых ответов.

Наконец, надоело и сделал решительный шаг: написал простейший cron job, который делает всё то же самое, но автоматически. Нет более нужды вообще заглядывать в источник и читать эти самые ответы! Пусть другие читают! Шутка.

Вижу несколько проблем, которые непонятно к чему приведут. Первая — наличие на оригинальной странице всего двадцати ответов. Если человек будет сильно стараться и ответит на бóльшее количество в промежутках между запусками cron job, часть из них будет потеряна. Восстановить можно будет, лишь мучительно ковыряя базу вручную. Решается уменьшением времени между запусками. Так что — это пол-проблемы, на самом деле.

Вторая проблема — ГРОСС-проблема — постоянное изменение стиля страницы „гениальными“ дизайнерами Формспринга. Каждый раз после их замены „answered“ на „responded“ и прочих невьъебенных улучшений всё перестаёт работать. Приходится лезть в парсер и подстраиваться под их „улучшения“.

В автоматическом же режиме можно долго не заметить, как всё внезапно сломается. Но не переделывать же сделанное на то же самое, но с RSS-потоком! Не-хо-чу!

Tags:


← Older