Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Win errs, ICQ 4 DOS, PHP arrays, Colorer, www

Ссылочка (страница больше не существует) на страницу с «недокументированными» кодами ошибок Windows. Страница на английском, но язык выражений настолько прост, что человек, привычный к англоязычными интерфейсам программ, прочтет их без проблем.

Наиболее понравившиеся перлы:

WinErr 001: Windows loaded — System in danger
WinErr 002: No Error — Yet
WinErr 009: Horrible bug encountered — God knows what has happene
WinErr 019: User error — Not our fault. Is Not! Is Not!
WinErr 01B: Illegal error — You are not allowed to get this error. Next time you will get a penalty for that.

Ссылочку прислал Макс Симонов.

Моя кошка в очередной раз завела Любовную Песнь Ко Всем Котам Мира. Песня любовная, но почему такая пошлая? Раз за разом, наполняя воздухом мощные легкие, моя кошка являет миру свою песнь. Витас отдыхает. Боже, дай мне силы вытерпеть это еще раз.

За предоставленную информацию спасибо кошке Брусничке

Как не странно, существуют еще люди, которые ходят в интернет из DOS. Видимо, где-то на Земле сохранились еще компьютеры, которые не работают ни под чем, кроме этой БГом забытой ОС.

Для таких людей существует Lynx под DOS, Arachne и… порт ICQ под DOS. У меня эта программа запускаться отказалась — потребовала установить загадочный «packet driver», где его взять я не знаю, видимо, если у вас настроен TCP/IP под DOS, этот драйвер у вас уже имеется.

Насколько я понял, бегло прочитав руководство, интерфейс у этого клона текстовый, как, например, у его Unix-собрата vICQ. Последний, кстати, весьма любопытен тем, что написан он на языке Perl, т. е. при желании его можно как угодно модифицировать.

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

Любопытная, для PHP-программистов, мысль пришла мне недавно в голову. Никогда не задумывались, почему некоторые люди инициализируют массивы явно, вызовом array(), а другие — неявно, присваиванием?

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

В Perl, например, это делается по-другому — для массивов используются все те же скобки, а для строк пользуются функцией substr, которая ко всему прочему умеет становиться lvalue

Казалось бы, где грабли? Грабли в инициализации. PHP, если вы ничего не меняли в файле настроек, умеет превращать параметры POST- и GET-запросов в переменные скрипта, которому этот запрос адресован. Таким образом, если я вызову некий скрипт с параметром, скажем, ?config=s переменная $config получит значение «s» и тип «строка».

Если далее в программе встретится участок кода, который, по идее, должен был бы работать так, как будто переменная $config является массивом, на деле он будет работать с этой переменной, как со строкой, т. е. конструкция

$config[user_dir] = "/home/www/users";

заменит значение первого символа строки, хранящейся в $config на символ / и, при следующем чтении этого значения, вызов $config[user_dir] вернет слэш, что, потенциально, позволит какому-нибудь кулхацкеру, в зависимости от того, чем занимается этот скрипт, скачивать какие-либо файлы на сервере или изменять их.

Многим давно уже кажется, что то, чем PHP часто привлекает веб-программистов — содержимое главы Variables from outside PHP руководства по PHP, часто на практике приносит больше вреда, чем пользы.

В умах созревает идея заставить разработчиков PHP по-умолчанию эту фичу отключать, а внешние значения выбирать через соответствующие массивы, тем более, что разработчики пошли нам всем навстречу и присвоили им в последних версиях языка альтернативные короткие имена, доступные, к тому, из функций без определения их как global.

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

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

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

Еще одна хорошая новость. На этот раз для поклонников FAR’a и Colorer’a. Хотя на страничке автора никаких анонсов не замечено, Colorer продолжается развиваться. Его страничка переехала на SourceForge и содержит уже два патча. Список изменений не анонсируется.

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

Картинка, ссылку на которую прислали мне по аське. Кто-нибудь видел два евро? Оно (она? он?) действительно так выглядит?

Кто придумал, что сайты обязаны начинаться с www? В последнее время есть тенденция изменения в лучшую сторону, но некоторые упорно не хотят сдаваться. DNS местной фирмы «Мелт», при попытке выкусить у их сайта www грустно сообщает, что IP адрес такого сервера он не знает.

Я тут подсчитал, что если открыть в браузере журнал Хакер по его адресу без «www», браузер пошлет серверу на 360 байт меньше, чем, если бы ссылка эти буквы содержала. Сейчас, сидя на двух мегабитах, мне от такой цифры делается смешно, но дома, на модеме 33600, который вечно сползает до 28800, с постоянными ретрейнами и speed shift, я начинаю тихо плакать в уголке.

Побродив по сайту пару часов, я автоматически умножаю эту цифру на пару тысяч и обнаруживаю, что почти 6 драгоценных минут мой модем качал комбинацию из трех букв и точки. Подсчитать их стоимость с учетом повременки и оплаты интернета мне лень, но, думаю, пара рублей наберется.

Господа веб-мастера, заводя сайты, пожалуйста, вписывайте в DNS и веб-сервер, адреса и без этой злосчастной комбинации тоже, если вам не жалко тех, кто сидит на паршивом диал-апе, то подумайте хотя бы о тех, кто пытается продиктовать ваш адрес по телефону или прочитать по радио! «Дабл-ю, дабл-ю, дабл-ю» или «ве-ве-ве» понятности адресу не добавляют.

Всем удачных выходных! Пишите в ящик и в ньюсы!