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

MS ping, PHP compiler, пиво, климат, dead link, автоспам II

Мне кажется или у тех, кто работает в Майкрософт руки кривые? Мой братишка обратил внимание, что утилита ping под Windows подчитывает среднее время прохождения довольно странным образом — время пакетов дошедших до адресата суммируется и все это делится на общее количество отосланных пакетов.

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

C:\>ping 193.45.0.126 -w 4000

Обмен пакетами с 193.45.0.126 по 32 байт:

Ответ от 193.45.0.126: число байт=32 время=4308мс TTL=242
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 193.45.0.126:
    Пакетов: послано = 4, получено = 1, потеряно = 3 (75% потерь),
Приблизительное время передачи и приема:
    наименьшее = 4308мс, наибольшее =  4308мс, среднее =  1077мс

По идее, если уж пришло в голову учитывать еще и не пришедшие пакеты, то надо считать, что время их прихода равно бесконечности. Тогда, правда, и подсчитать ничего толком не получится :). В юниксовых ping’ах не пришедшие пакеты просто не учитываются, что, как мне кажется, более разумно.

www:~# ping 193.45.0.126
PING 193.45.0.126 (193.45.0.126): 56 data bytes
64 bytes from 193.45.0.126: icmp_seq=1 ttl=241 time=3742.2 ms
64 bytes from 193.45.0.126: icmp_seq=2 ttl=240 time=3798.7 ms

--- 193.45.0.126 ping statistics ---
9 packets transmitted, 2 packets received, 77% packet loss
round-trip min/avg/max = 3742.2/3770.4/3798.7 ms

Кстати, я уже не говорю о том, что при указанном времени ожидания 4000 пакет пришел с задержкой 4308.

У Спектатора, в одной из последних заметок прочитал о компиляторе PHP, позволяющем, как и положено компилятору, создавать полноценные приложения Windows. Я уже было обрадовался, но призадумался…

Вообще говоря, компилятор PHP, в полном смысле этого слова, создать невозможно. Конструкции типа $GLOBALS[$a+$b]$$a и $b() — это еще полбеды. В принципе можно хранить имена всех используемых переменных и функций в динамической таблице, для вычисления указателей на переменные в таких вот конструкциях. Конечно, это будет неэффективный компилятор, зато «честный». :)

Гораздо более проблемна конструкция eval, позволяющая выполнять любой, заданный, скажем в виде строки, код PHP. Тут уж без интерпретатора, который будет эту строку разбирать, просто не обойтись.

Подтверждая мои опасения, PHP Compiler оказался самым обычным интерпретатором, который, в виде почти мегабайтной библиотеки, прикладывается к «скомпилированной» им программе. Причем программа на PHP банально записана в конце создаваемого exe-файла, в чем можно убедиться, открыв его в любом текстовом редакторе.

В общем никакого выигрыша от такой «компиляции» я не вижу. А жаль. Разве что такой файл можно зажать каким-нибудь UPX’ом. Кстати, я бы непрочь время от времени отказываться от указанных выше конструкций в пользу полноценной компиляции, ибо PHP мне глубоко симпатичен. Господа разработчики, никто не хочет взяться за эту задачу на некоммерческих началах?

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

Для начала что это и откуда ее пошло́. Какое-то время назад один мой друг познакомил меня с языком программирования Brainf*ck, который увлек меня настолько, что я посвятил ему небольшой сайт, где разместил написанный мной тогда же оптимизирующий кросс-компилятор на JavaScript, переводы статей о языке, программы на нем и ссылки.

Одной из программ была выводящая на экран американскую считалочку про бутылки пива на стене. Программа поразила меня своей бессмысленностью и масштабом времени, потраченным на ее создание. Немногим позже я узнал, что существует целый сайт, посвященный «бутылкам с пивом», написанным на разных языках программирования. Меня удивило, что PHP среди них не было. Так я написал свою первую «песню».

Так сумасшествие овладело мной. :) С тех пор я время от времени разражаюсь очередными «бутылками», это меня забавляет. Мне интересно смотреть чем один язык отличается от другого и интересны причины побуждающие авторов создавать все новые и новые языки. Кстати, я и сам являюсь автором двух. :)

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

Вот какого сервиса мне не хватает в Интернете, так это некоторой смеси поисковой машины с каталогом ссылок и службой редиректа.

Слишком много ссылок в Интернете с каждой минутой становятся «мертвыми». Не успел на что-то дать ссылку, как она уже откинула копыта. Хорошим моментом является то, что информация в Интернете редко пропадает бесследно. Если текст или идея дельная, от ее обязательно кто-то сплагиирует, приютит у себя, а то и просто — откровенно украдет.

Так вот, мне не хватает сервиса, который мог бы по нескольким ключевым словам или некому подобию контрольной суммы текста найти мне этот текст в Интернете и сделать мне на него редирект. Тогда проблема «мертвых ссылок», если и не исчезла бы полностью, но хотя бы стала бы менее актуальной.

Нет желающих заняться созданием чего-нибудь подобного? Не все же свои идеи мне самому реализовывать? :) Впрочем, может такой сервис уже где-то есть? Одна проблема — я не вижу где тут можно делать деньги. Разве что обязать пользователей сервиса размещать баннеры у себя на странице.

По телеку только что услышал. «Кондиционеры YORK. Мы делаем климат в России». Так вот кого убить надо за наш климат.

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

Остается только удивляться, как другие европейские страны, скажем Швейцария или Великобритания научились справляться со своим климатом. А ведь, судя по карте мира, находятся с Россией на одной широте.

К слову, даже если вам совсем не интересно где по отношению к России находятся Швейцария или Британия, на упомянутый сайт с картами заглянуть все-таки стоит. Хотя бы для того, что бы посмотреть на нормальный интерфейс и хороший дизайн. Кроме карты мира на сайте есть карты Петербурга, Москвы, Чечни и Средиземноморья, которые можно сохранить себе на диск.

«Русский журнал» свой бесплатный автоспам-сервис, о котором я как-то уже рассказывал переделывать, по всей видимости, не собирается. Что ж, может это и к лучшему. Я вот тут подумал, ведь строчка

www.russ.ru/.code/sendbymail.cgi?path=/krug/razbor/20010706.html&mail=email

позволяет портить жизнь своему врагу не только через его почтовый ящик, но и при помощи SMS или сообщений на пейджер. Многие операторы ставят гейты, позволяющие отсылать почтовые сообщения на пейджер, как на почтовый ящик. Ставим вместо «email», что-то вроде 345@pager.host.ru и вражеский пейджер морально уничтожен.

C SMS еще проще. Если оператор их поддерживает, то отослать сообщения на телефон можно при помощи любого публичного гейта, например через тот, который пользует аська. Достаточно только узнать полный номер телефона предполагаемого противника. Жаль только, что гейты длину сообщения усекают — ограничения протокола, впрочем сообщений можно отослать много.

Что особенно отвратительно — что-то сделать с этим трудно. На моем sendmail адрес этого сервиса занесен в blacklist, а вот защитить свой SCH-A100, поддерживай мой оператор SMS, я был бы не в состоянии. Разве что мог попытаться объяснить оператору, почему я бы не хотел получать сообщения с определенного адреса.

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