Пушка и футболки, Cooler, WebBomb, Www2icq, Any key
Те, кто читает «Вебтилятора», видели, наверное, на его сайте пушку, стреляющую картошкой. А вот на вручении
Таким вот способом организаторы шоу решили подарить нескольким, выбранным наугад, счастливчикам по футболке белого цвета.
Кстати, о Вебтиляторе. Сайт сменил дизайн и хостинг. Насколько я понимаю проект теперь являет частью Emax.ru. Не знаю, как это скажется на качестве выпусков, но, пока, изменений
Давно хотел попробовать и мыльная бомба из предыдущего выпуска меня к этому подтолкнула.
Современные браузеры от Netscape, Microsoft и Opera (да и Lynx, кажется, тоже) умеют работать не только с обычными HTML-файлами, но и со сжатыми gzip’ом документами, распаковывая их налету. Знакомая ситуация?
Так вот, заходим на свой сервер, говорим Apache (или что у нас там?), что файлы с расширением ghtml — это теперь gzip encoded и даем следующую команду (если Перл у вас старый, рекомендую вместо foreach поставить обычный цикл):
perl -e 'print "0" for (1...100000000)' | gzip -f -9 > tyx.ghtmlВ итоге получаем файл в 94 килобайта, который открываем браузером, написав его URL в строке запроса. Бедный браузер, не ожидая такой подлости, терпеливо распаковывает в память почти 100 мегабайт мусора. Естественно, что, операционная система, через некоторое время, начинает жутко ругаться и свопиться (если не начинает, попробуйте увеличить диапазон), а через некоторое время у нее начинаются судороги и она, в мучениях, загибается. Спасает только кнопка «Reset».
Интересно будет попробовать приаттачить такой файл к письму, с соответствующим указанием всех заголовков, и отправить на Outlook или Netscape Messenger. Зная любовь этих клиентов к HTML-письмам, можно предположить некоторые любопытные последствия… :)
В РуНете появился новый интересный сервис — «WWW2ICQ». Как, наверное, понятно из названия сайт предоставляет возможность общаться с пользователем ICQ прямо из окна браузера. Имеется возможность ведения архива,
Ссылка предоставлена Andrew Arro
Фирма Compaq, наверное устав от бесконечных вопросов, типа «где на клавиатуре находится клавиша „any key“?», поместила ответ на этот вопрос в FAQ, публикуемое на её официальном сайте. Итак, что бы вы знали… :)
Compaq FAQ: Where is the ANY Key? (FAQ2859)
This is not a key. When you are instructed to press any key, this means you can press any of the keys on the keyboard (such as the Enter key, the R key, or the space bar).
Created: 3/23/99 9:48:24 AM
Modified: 3/23/99 9:48:24 AM
Author: COMPAQ — Marilyn O
23-е, Outlook, авторские права, Yandex
Поздравляю всех, к кому это относится, с Днем Защитника Отечества! Желаю все, что к этому дню желать положено и т. д. и т. п. Я,
Микрософт не устает радовать нас своими интерфейсными новинками. Вот и я, решив поставить MS Outlook, что бы посмотреть на этого монстра, наткнулся на такой вот экран. Специально для тех, кто отключил графику или не дождался загрузки поясняю. Мне предлагается выбрать «Пропустить», но такого пункта на экране нет. Очевидно переводчики напортачили.
А вот интересно, сграбив эту формочку, я нарушил
Вообще тема авторских прав очень забавная. Вот я видел в одной лицензии запрет на дизассемблирование и сохранение более чем одной копии программы. Теперь вопрос. Точнее два или даже три. Вопрос первый: программа у меня выполнила нечто недопустимое и отладчик (SoftIce, например) показал мне кусок кода программы. Занимался ли я дизассемблированием? Вопрос номер два: я посмотрел в HEX-вьювере шестнадцатеричные коды файла, в уме, а многие из них я знаю, перевел их в ассемблер. Теперь я занимался дизассемблированием? Меня будут судить? Вопрос номер три: промучившись с месяц (ну или с год) я запомнил, скажем, все 30 килобайт (бывают и такие программы) кода. Получается я сохранил еще одну копию. Стоит ли меня отдавать под суд?
Думаю юристы сломают еще немало копий (или что у них там?) на этом поприще. Тут еще очень много странного. Вот один хитрый парень зарегистрировал торговую марку
Или, если я завтра открою фирму и зарегистрирую на нее, в качестве торговой марки,
Еще пример.
Может мне завтра взять патент на белый цвет или, может быть, форму буквы «О»? А что? Стал бы богаче Билла Гейтса. :) Кто тут последний в патентную комиссию?
Увидев такое на своей панели задач, я долго не мог понять, чем я так огорчил Яndex, а потом вспомнил, что первым символом моей строки поиска (я активно пользуюсь языком запросов) была открывающая скобка… :)
FreeInet, UIN Shop, граффити и MailBomb
Проект «Бесплатный Интернет» возрождается! Предыдущую страничку закрыли, но появилась новая. Список телефонов доступа теперь разделен на 3 части: 33600, 28800 и 14400 (мой город нашелся в последней), изменены скрипты для доступа и появилась программа для автоматической настройки в которой, по мнению AVP, находится троянец. Думаю, это не злой умысел, а просто оплошность автора. Известны случаи, когда вирусованные файлы скачивались с крупных freeware-серверов.
Судя по всему, проект получил довольно широкое распространение, в списке участников теперь числятся такие корпорации, как Sita International, Equant, Global One, UUNET USA и MCI WorldCom. Так что подключайтесь и пользуйтесь, пока бесплатно. :)
Адресок аськи 44469999 не интересует?
Если интересует, добро пожаловать на сайт «Uin Shop», где выставляются на продажу UIN’ы тети аси. Цены, думаю, вас не порадуют. Например, за номер 100077 просят 1000 долларов США. Интересно, как много людей готовы выложить такую сумму за сомнительное счастье обладать легко запоминающимся номером?
Шведское граффити. Мне понравилось. На страничке 20 фотографий «заборного творчества». Загляните для интереса. На мой непрофессиональный взгляд качество работ выше того, что можно найти на эту тему в РуНете, хотя, может быть я плохо искал.
Для тех кто не в курсе, «граффити» (ударение на второй слог) — это настенные рисунки или надписи, наносимые, обычно, аэрозолью или маркерами. Зародилось это течение
Хорошая вещь AVP… Ищет вирусы даже в архивах и упакованных файлах, распаковывая их «на лету» и даже в почтовых папках известных (типа The BAT! и Outlook) программ… Красота! Теперь представьте, что в эту красоту, на почтовый ящик посылается архив, размером так, мегабайта два, содержащий всего один файл в четыре гигабайта размером. Представили? Ссылочка внизу, качайте и отправляйте своему врагу.
Кстати, что любопытно, не так давно появился AVP для провайдеров, который ставится у вашего ISP и проверяет все скачиваемые файлы на предмет вирусов. Интересно, что будет твориться на их машинах в момент отправки такого письма
99 бутылок: Small C, dbPager
14. Small C. Написав в предыдущей серии программу, выводящую песню о пиве, на Си—, я заинтересовался классом малоизвестных
Первое, что мне попалось — это Small C. Впервые сведения о этом языке появились в октябре 1999 года в Dr. Dobb’s Journal. Язык простой и удобный, настолько отличен от Си, что перечислять эти отличия тут я не буду. Подробности можно найти в документации, доступной там же, на сайте.
Интересно, что исполнение программ происходит, как и в Java, в два этапа. На первом программа прекомпилируется
Несколько матерных слов в адрес компилятора. Отвратительная диагностика, странная реакция на символы табуляции, лишние переводы строки и символы «^», неработоспособность конструкции «a?b:c» и так далее. Компиляция моего небольшого примера заняла на
Программа, выводящая песню о пиве (Small C).
/* 99 beer song. Written by Stepanischev E.V. Small C */
#include <console>
printbeer (b)
{
if (b) printf ("%d",b); else printf ("No")
printf (" bottle")
if (b!=1) printf ("s")
printf (" of beer")
}
main ()
{
for (new i = 99; i > 0;)
{
printbeer (i)
printf (" on the wall, ")
printbeer (i)
printf (".^nTake one and pass it around,^n")
i--
printbeer (i)
printf (" on the wall.^n^n")
}
printf ("No more bottles of beer...^n");
printf ("Go to the store and buy some more...^n");
printf ("99 bottles of beer.");
}15. Язык dbPager. Предназначен для динамической генерации страничек под MS IIS. Инструкцию по настройке прекомпилятора под IIS5 я не нашел, так что тестировал под версией для командной строки. Язык несколько, на мой взгляд, необычен своей концепцией блочников и некоторыми конструкциями, но, в целом, очень хорошо читается и воспринимается.
Скрипт, выводящий песню о пиве (beer.dbp).
// Beer song. Written by Stepanischev E.V. (dbPager)
var "beer=99"
var "LoopLimit=99" :: while 1
var ""
@beer:printbeer
%Space%on the wall,
var ""
@beer:printbeer
.%CrLf%
Take one and pass it around,%CrLf%
set "beer=[%beer%-1]"
var ""
@beer:printbeer
%Space%on the wall.%CrLf%%CrLf%
No more bottles of beer...%CrLf%
Go to the store and buy some more...%CrLf%
99 bottles of beer.
:printbeer
switch %beer%
#0 :: No
#else :: %beer%
%Space%bottle
switch %beer%
#1 ::
#else :: s
%Space%of beer
PS-HTTPD, Shasm, растаманы, покровитель Интернета
Каждый сходит с ума
Во время приступов этой болезни у меня, писался эмулятор Unix и оптимизирующий интерпретатор языка Brainf*ck на DHTML. А вот в Германии живет маньяк, написавший, видимо, во время обострения, транслятор с Ассемблера на… языке bash. Не верится? Предлагаю скачать и убедиться. :)
Продолжая тему. В далеком забугорье сидели люди, пили кофе, говорили о принтерах, веб серверах и языке postscript. В шутку
Ну и на закуску. В рунете есть намек на существование интерпретатора BASIC, написанном на… языке текстовой разметки TeX, но ссылку на него самого я, к сожалению, не нашел. Если
Hа днях я впервые купил книгу через Интернет. «Растаманские народные сказки» Дм. Гайдука. Внешний вид можно увидеть на картинке. Книжка обошлась мне 43 рубля с копейками, включая пересылку.
Я не люблю покупать
В книге, кроме самих рассказов, есть еще глоссарий с толкованием употребляемых в книге «терминов» :) и краткая история каждой сказки. Так что, если вам нравятся «Растаманские сказки» рекомендую купить еще и книгу, хотя бы для того чтобы поддержать ее автора.
Оказывается, Ватикан назначил Интернету собственного покровительствующего святого. Им стал Святой Исидор Севильский, который известен тем, что в VII веке написал первую энциклопедию. Она включала в себя знания по медицине, математике, грамматике, истории, риторике и теологии.
Интересно, что претендентов на эту должность было несколько: Святая Рита Каскийская, Апостол Филипп, Отец Пио и Архангел Гавриил. Как видно, святой, ставший покровителем, в списке не числился. Блат? :)
99 бутылок: C--, WSH
12. Sphinx
Язык мне показался обычным ассемблером, с внедрёнными элементами синтаксиса Си. Этакий навороченный макроассемблер. Попался бы мне такой лет так пять назад — оторвал бы с руками, а сейчас… Но, хотя на ассемблере теперь я пишу только мелочь, а мелочь лучше писать без применения всяческих прилад, стирать все же не буду — вдруг пригодится.
P.S. Кстати, на страничке языка можно скачать архиватор HA, переписанный
Программа, выводящая песню о пиве.
?use80486
?include "WRITE.h--"
void PRINTBEER ()
{
$PUSH AX;
IF (AX) WRITEWORD (AX); ELSE WRITESTR ("No");
WRITESTR (" bottle");
$POP AX;
IF (AX<>1) WRITE ('s');
WRITESTR (" of beer");
}
void main()
byte bott;
byte beer = 99;
{
WHILE (beer)
{
PRINTBEER (beer);
WRITESTR (" on the wall, ");
PRINTBEER (beer);
WRITESTR (".\nTake one and pass it around,\n");
beer--;
PRINTBEER (beer);
WRITESTR (" on the wall.\n\n");
};
WRITESTR ("No more bottles of beer...\n");
WRITESTR ("Go to the store and buy some more...\n");
WRITESTR ("99 bottles of beer.");
AX = 0x4C;
$INT 0x21;
}13. Windows Script Host — технология, заботливо упрятанная в недра вашей Windows заботливой компанией Microsoft. Скрипт написан с применением второй версии технологии, которая распространяется вместе с Windows 2000. Впрочем, ничего не мешает поставить его на любую другую ОС этого семейства. Базируется она на JScript или VBScript и позиционируется как замена пакетному (batch) языку DOS.
Способ запуска: wscript.exe beer.js. Во время выполнения настоятельно не рекомендуется переключать окна.
Скрипт, выводящий песню о пиве (beer.js).
function PrintBeer(i)
{
return (i?i:"No")+" bottle"+(i-1?'s':'')+" of beer"
}
WshShell = WScript.CreateObject("WScript.Shell")
with (WshShell)
{
Run("notepad.exe")
WScript.Sleep(100)
AppActivate("Untitled - Notepad")
for (i = 99; i>0;)
{
SendKeys (PrintBeer (i)+" of beer on the wall, ")
SendKeys (PrintBeer (i)+".~")
SendKeys ("Take one and pass it around,~")
i--
SendKeys (PrintBeer (i)+" on the wall.~~")
}
SendKeys ("No more bottles of beer...~")
SendKeys ("Go to the store and buy some more...~")
SendKeys ("99 bottles of beer.")
}
РК-86 и Орион-128, вирус на PHP, Opera на FD
Человеку свойственно мечтать о лучшем. Когда у меня была «двойка» я мечтал о «тройке», появился
И вот,
Своего компьютера у меня тогда не было и программировал я на листочке, прямо в машинных кодах, на пальцах считая константы для переходов, ломая голову, как сократить пару байт. Потом приходил к дяде и вбивал в память компьютера с клавиатуры цифры, записывал на магнитофон, отлаживал, перезагружался, читал с магнитофона, снова отлаживал…
Сейчас, когда стандартное приглашение РадиоРК можно встретить только в мониторе
Закономерно. Unix’ы, выбравшие в начале своего пути, иное направление, были практически непригодны, как рабочие станции, а значит путь в массы им был закрыт. Linux, привлекший внимание монстров, вроде Corel и IBM, все больше поворачивается к пользователю лицом. В смысле интерфейсом. Дружественные инсталляторы, драйверы, диалоговые утилиты.
Возможно, если так дело пойдет и дальше, Linux, в качестве desktop OS, заменит собой и тормозную, падучую Windows, и даже умницу BeOS. Хотя, теперь уже в рядах юниксоидов, набирает силу еще робкое «а Linux-то сакс!». С одной стороны — плевки в сторону Microsoft и призывы задавить Windows, с другой стороны — охаивание инициативы тех, кто, устав ждать милости от Билли, решил хоть
PHP обрел такую популярность, что на нем уже был написан первый вирус! Вирус пока опасности не представляет, просто заражает все .php, .hm, .html и .htt файлы, обнаруженные на машине, своей копией. Вот только «обучить» его выполнять
Скачав по ссылке с сайта Opera.nm.ru браузер Opera, занимающий одну дискету, я, к сожалению, не смог его запустить. Программа вылетает с сообщением о недопустимой операции. Вооружившись UPX и здравым смыслом я изготовил свой дистрибутив, который так же занимает всего одну
Валидатор. Ломаем Small HTTP Server. Scandisk
Тестировал я его под Small HTTP Server (by Max Feoktistov) v 2.03 и решил этот самый сервер «поковырять» на предмет неустойчивой работы и дыр в системе безопасности. Вот что я наковырял:
- Встретив инструкцию <--#exec --> (именно в такой форме), в файле, где разрешены SSI, сервер «падает» с ошибкой при обращении к KERNEL.DLL.
- <--#include virtual="C:/autoexec.bat" --> — выдаст на экран файл autoexec.bat или, при указании другого пути,
что-то более интересное. Так что, будьте осторожны, используя эту конструкцию с переменными, переданными странице через GET, в качестве параметра. - Если знать название хотя бы одного SSI-скрипта, можно, довольно легко, «уронить» сервер дистанционно. Достаточно написать
что-то вроде file.shtm?%. - Посланные несколько раз подряд запросы, вида http://xxx.xxx.xxx.xxx/PRN (можно CLOCK$ или CONFIG$), вызывают, на моем
Celeron-466 под Windows 98, долгую100%-ю загрузку процессора, причем без свопа. То есть, чувствуется, что компьютер сильно тормозит, но от чего, без анализа, непонятно. - И уж совсем «на сладкое». Запрос вида http://xxx.xxx.xxx.xxx./AUX вызвал у моей
98-й Винды глубокую кому, вывести из которой ее смогла лишь перезагрузка через Reset, тут же повлекшая за собой потерянные сектора и неправильные длинные имена файлов.
Кстати, могу предположить, что
L.P.S. Попробовал. Все перечисленное, кроме последнего пункта, работает. Правда,
Scandisk хвастается:
Папка C:\Windows
была повреждена:
Эта папка содержала одно или более длинных имен файлов,
не связанных с файлами.
Устранение ошибок: Исправить ошибку
Результаты: Ошибка была исправлена.
Программа проверки диска обнаружила на этом диске ошибки и все их исправила.Почему хвастается? Потому что информации в логе — ноль рублей две копейки. Сколько именно было файлов? Что это были за имена? Как именно scandisk исправил ошибку?
99 бутылок: Microsoft Dialer
11. Microsoft Dialer. Можно только удивляться, сколько языков программирования можно найти у себя на компьютере. Эта песнь о пиве написана на языке программирования SCP-файлов, файлов, руководящих соединением через модем. Насколько я понял в этом языке есть примитивная арифметика, вывод, циклы и ветвление (правда без else), но нет преобразования типов. Так что переменная цикла nB используется только для упрощения. Но как бы то ни было, написать программу у меня получилось. :)
Скрипт, выводящий песню о пиве.
; "99 beer" song by Evgeny V. Stepanischev
proc main
string szA = "9"
string szB = "9"
string szS = " bottles"
string szX = ""
string szY = ""
integer nB = 99
set screen keyboard on
delay 2
; Эту строчку ждет мой провайдер
; У вас она может быть другой
transmit "@D^M^M"
while Nb>0 do
if szA!="0" then
transmit szA
endif
transmit szB
szS = " bottles"
if nB==1 then
szS = " bottle"
endif
transmit szS
transmit " of beer on the wall, "
if szA!="0" then
transmit szA
endif
transmit szB
transmit szS
transmit " of beer.^M"
transmit "Take one and pass it around,^M"
szX = szA
if szB=="0" then
if szA=="1" then
szX = "0"
endif
if szA=="2" then
szX = "1"
endif
if szA=="3" then
szX = "2"
endif
if szA=="4" then
szX = "3"
endif
if szA=="5" then
szX = "4"
endif
if szA=="6" then
szX = "5"
endif
if szA=="7" then
szX = "6"
endif
if szA=="8" then
szX = "7"
endif
if szA=="9" then
szX = "8"
endif
szY = "9"
endif
if szB=="1" then
szY = "0"
endif
if szB=="2" then
szY = "1"
endif
if szB=="3" then
szY = "2"
endif
if szB=="4" then
szY = "3"
endif
if szB=="5" then
szY = "4"
endif
if szB=="6" then
szY = "5"
endif
if szB=="7" then
szY = "6"
endif
if szB=="8" then
szY = "7"
endif
if szB=="9" then
szY = "8"
endif
szA = szX
szB = szY
nB = nB - 1
if nB==0 then
transmit "No more bottles of beer on the wall.^M"
endif
if nB!=0 then
if szA!="0" then
transmit szA
endif
transmit szB
szS = " bottles"
if nB==1 then
szS = " bottle"
endif
transmit szS
transmit " of beer on the wall.^M^M"
endif
endwhile
transmit "No more bottles of beer...^M"
transmit "Go to the store and buy some more...^M"
transmit "99 bottles of beer.^M"
delay 99
endprocTrek ThumbDrive, мертвый FreeInet и купленный доступ
Я давно искал способ переносить большие (по несколько мегабайт) объемы данных с работы домой и обратно. На дискетах часто появляются сбойные сектора, на них мало что помещается, они чересчур медленны. ZIP… неплохо, но очень громоздко, да оперативно смонтировать его трудно.
На картинке изображен ThumbDrive, носитель фирмы Trek. Подключается к компьютеру он через USB-порт и, в зависимости от варианта, имеет на борту от 16 до 256Мб памяти. Размером это чудо — чуть больше половины пачки
С устройством в комплект входит дискета с драйверами и шнурок с чехлом — так что все это можно носить на шее или с ключами, как брелок. :)
После установки драйвера, стоит вставить ThumbDrive в разъем, в системе появляется новое устройство — съемный накопитель. Эмулируется файловая система FAT, т. е. устройство это можно отформатировать, проверить scandisk’ом,
Чисто субъективно, устройство работает очень быстро, несмотря на то, что под Windows 98 не используется кеш. Так что, если у вас есть лишние 110$ (а именно столько стоит самая дешевая модель в Москве) — очень советую.
Не прошло и трех дней, как я узнал о возможности подключиться к Интернету бесплатно (см. предыдущие заметки), и возможность эта исчезла. Организатор всего этого дела не отвечает, скрипты не работают, народ на форуме сайта стонет, жалуется и недоумевает.
Еще неясно, временное это явление или FreeInet умер навсегда, но лично я склоняюсь ко второй версии. Иначе в форуме давно появился бы автор сайта и объяснил ситуацию. Ну что ж, похоронили и забыли.
А я, тем временем, заплатил деньги и купил доступ в Интернет у одного из крупных казанских провайдеров. Я ругал FreeInet? О, это были цветочки. Причем бесплатные. Те ягодки, что я получил за деньги не идут ни в какое сравнение. Модем связывается на скорости 33600 (у меня Tainet, там эту скорость видно), вне зависимости от АТС, на которую я звоню, пинг уже только до головного сервера провайдера — примерно 300ms, с потерями 20—23%. Что уж говорить о удаленных сайтах. Линия кажется чистой, АТС цифровая. Переписка с провайдером пока ничего не дала. А по ощущениям — на FreeInet скорость была выше.
С уважением,
Евгений Степанищев.
PComm, шуршик, WebClub и снова о FreeInternet
Несколько слов о бесплатном Интернете (см. предыдущую заметку). Людям, которые любят рассуждать о бесплатном сыре и мышеловке: если это и сыр, то очень замшелый и сроком годности прошедшим лет так на 5 назад. Я объясню почему. Вчера мне
- только
с 20-й попытки и то, после того, как я провел всю сессию «руками», посмотрел где затыкается скрипт и подпатчил его. - дозвонился я только по одному телефону (второй так и не ответил), на 12800, пинг 3—8 секунд и минимум 35 хостов между мной и любым из серверов, куда бы я не шел.
- сайты доступны все, но открываются ооооочень медленно. По полчаса. А может мне просто не повезло.
Как говорится, а что вы хотели за такие деньги? На фоне введенной повременки в Казани (3 рубля, 25 копеек в час) еще неизвестно, что дешевле выйдет — пользоваться доступом за деньги или «бесплатным» Интернетом. Но, как запасной вариант, совсем не помешает.
Угадайте, что изображено на картинке? Это — шуршик! Именно так
L.P.S. Извиняюсь за качество. Фотоаппарата под рукой не было, а был сканер и, в качестве фона, кружка.
Помниться, DZ, не далее как неделю назад, писал о компании Zairmail. Компания эта предложила жителям забугорья новую услугу: вы посылаете на электронный адрес компании
Такой нет. Но есть подобная, уже года два как есть. Называется она Mail Club. Для того чтобы пользоваться услугами клуба вы обязаны в него вступить и выполнять все указания координатора. Способ преобразования цифири в буковь прост: член клуба, получивший послание на ящик
Сейчас в списке более 80 городов из более чем 10 стран. Всю, интересующую информацию, можно найти на сайте. Кстати, недавно при MailClub открылся еще и FaxClub. Я не интересовался, но, наверняка, принцип работы — тот же.
Microsoft собирается открыть исходный код Windows… нет, не каждому желающему, а еще нескольким сотням крупных заказчиков. Кажется, Билла Гейтса
Вы хотели бы установить модемное соединение между двумя компьютерами или подсетями, но качество линии связи не позволяет это сделать? Тогда, возможно, вас заинтересуют модемы фирмы PComm. Предназначены они для работы именно на линиях _низкого_ качества. Применяемая технология — ATMT; скорость передачи — до 30000 бит/сек в режиме коммутируемого канала, на стандартном диапазоне ТЧ 300…3400Гц — 24000 бит/сек, в режиме двухпроводной выделенной линии — до 56000 бит/сек.
Ограничения, накладываемые на линии связи:
- Допустимое отношение
сигнал-шум — до −3 дБ; - Допустимый уровень входного сигнала до −60 дБ;
- Дрожание и скачки фазы — до 90 гр.;
- Допустимые провалы мощности сигнала ниже −60 дБ до 20 сек;
- Всплески шумов и помех до 60 дБ до 20 сек;
- Сдвиг частот — до 20 Гц;
Стоимость модемов по Москве, если верить сайту Price.ru, — в пределах 250 — 350 долларов США.
Ускоряем VNC, boot, Colorer и PHP. OperaR, IE 6.0b
Если вы собираетесь в ближайшее время прикупить себе доменное имя, то подождите до 13 февраля. Именно с 13 февраля этого года организация RIPN обещает снизить стоимость регистрации домена в зоне RU до 24 долларов США. А с первого апреля нас ждет еще одна приятная новость — стоимость продления регистрации доменного имени будет стоить всего 18 долларов.
Для удаленного управления из дома своим компьютером на работе я использую программу VNC. Жутко медленно, но, включив «Restrict pixels
У меня еще не было времени как следует оттестировать скорость работы с применением новых методов сжатия, но, в ближайшее время, я обязательно попробую сделать
Не хватает денег на подключение к сети Интернет? Оказывается есть способ подключиться бесплатно. Не для всех, конечно, а только для людей, проживающих в городе, присутствующем в списке на сайте. Мне (Казань) не повезло. В списке около
В момент заливки заметки я обнаружил, что, список городов на сайте расширился (появилась Казань!), теперь их стало около двухсот. Обязательно сегодня же попробую подключиться.
И последнее: сайт часто переезжает и бывает недоступен. Если такое случится, то новый адрес можно узнать по ICQ 100077.
Продолжая тему ускорения. Для разработчиков, выбравших в свое время PHP, не секрет, что
С сайта можно скачать либо исходный код и скомпилировать все на месте, либо so- (shared object) файл. Если все прошло успешно, то функция phpinfo() должна выдать
This program makes use of the Zend scripting language engine:
Zend Engine v1.0.4, Copyright © 1998-2000 Zend Technologies
with Bware Cache v0.7, Copyright © 2000/2001 Bware Technologies,
by Roberto.Biancardi@bware.it
Продолжим. С выходом FAR 1.70b2, где, в инструментарий разработчика плагинов, добавились новые события редактора EE_REDRAW и EEREDRAW_CHANGE, появилась возможность отслеживать именно изменения текста в окне, а не передвижение курсора.
В связи с этим пользователям этой версии FAR и Colorer4you имеет смысл скачать патч библиотеки Colorer’а, который «обрабатывает новое событие редактора…», благодаря чему «…_значительно_ повышена скорость перемещения курсора в пределах одного экрана». Правда, предупреждает автор, скорость собственно раскраски несколько упала, так как модуль скомпилирован с применением Borland C++ Builder 3.0.
Я скачал и поставил. Если скорость перерисовки и упала, то это, для меня, прошло незамеченным. Но лучше, перед установкой патча, сделать backup, чтобы, в случае неприятных последствий, можно было вернуться к старой версии.
А закончить тему ускорения всего и вся я бы хотел ссылкой на программу Bootcelerator, которая призвана ускорить загрузку (boot) операционной системы Windows. Скачайте, посмотрите. Во встроенном help написано, что время загрузки уменьшается с трех минут до 30 секунд. Как я понял, все, что делает программа — меняет значения
С сайта WebCooler: «
На скриншоты я, как и Cooler, взглянул,
L.P.S. Естественно, что нашлись люди, которые успели за отведенное время скачать бету и выложить ее у себя на FTP.
O, как ошибся! Компания Opera
IE 5.5: новые классы CSS
Сегодня я зашел на сайт PixelCore под своим IE 5.5 и увидел там полосу прокрутки… шоколадного цвета! Мыслей возникло две — новые возможности новой версии и глюк браузера.
Версию о глюке я отложил в сторону и стал смотреть откуда растут шоколадные ноги у полос прокрутки. Под подозрение попал PixelCore’вский CSS-файл. Скачав его себе, я увидел внутри вожделенные свойства, начинающиеся со слова scrollbar. «Так,» — подумал я — «пора сходить на MSDN».
На MSDN’е мне вежливо объяснили, что браузере IE5.5 от мамы с папой при рождении получил, кроме нового в области фильтров и JavaScript, еще и новые атрибуты к евойному CSS, о чем подробнее можно почитать «здесь, там и еще вот тут». Я проникся уважением от такой заботы к разработчикам и с удовольствием почитал. И вот, что я узнал.
scrollbar-face-color, scrollbar-shadow-color, scrollbar-highlight-color, scrollbar-3dlight-color, scrollbar-darkshadow-color, scrollbar-track-color, scrollbar-arrow-color — весьма многочисленная группа атрибутов, управляющая цветами элементов прокрутки. Назначение каждого, думаю, понятно из названия
word-wrap — управляет разбиением текста в контейнере. Возможные значения — normal и word-break. Второе указывает на то, что текст, не поместившийся в контейнер по ширине будет принудительно разбит на несколько строк. Помните, как слишком длинные слова «раздвигали» таблицу? Теперь это поправимо средствами CSS.
writing-mode — переключает между режимами написания
white-space — может принимать значения normal или nowrap. normal задает обычный режимом вывода (текст, не поместившийся по ширине, автоматически разбивается на строки по пробелам и знакам препинания), nowrap — режим, при котором не поместившийся текст увеличивает ширину контейнера.
text-underline-position — управляет стилем подчеркивания текста. Принимает значения below (линия под текстом) и above (линия над текстом).
zoom — как и следует из названия, атрибут, предназначенный для _масштабирования_ содержимого тега. Значения указываются в процентах (например, 110%, 200%, 14%) или как коэффициент масштабирования (например, 1.1, 2, 0.14). Масштабировать можно все, что имеет содержание (например BODY).
Кроме того в IE 5.5
Китайское 404, taint в JavaScript, NewOrder и NoNaMe
Вы когда нибудь видели «ошибку 404» (страница не найдена), написанную
Если просмотреть все сообщения о дырах, найденных в браузерах, за последние пару лет, то видно, что большинство, своим наличием, обязано факту поддержки браузером JavaScript. Почему так сложно сделать защищенный интерпретатор мне не ясно.
С моей точки зрения все просто. Каждый объект в JavaScript (переменная, функция и т. д.) должен иметь два флага защиты. Возведением и снятием каждого из них заведует сам интерпретатор. Если установлен первый флаг, то это говорит о том, что объект принадлежит к классу «внутренних», возведение второго — причисляет его к классу «внешних». Естественно, что флаги эти взаимоисключаемы. Выражение, в котором присутствует объект с возведенным флагом, получает статус этого объекта.
Никакое «внутреннее» значение не может быть присвоено объекту с флагом «внешний». За этим следит строгая, но справедливая система безопасности. Других ограничений нет. Таким образом, буфер обмена получает статус «внутренний», объект location и методы, позволяющие передать информацию во внешний мир (open, replace и т. д.), становятся «внешними», а вот свойства объекта navigator никакого особого статуса не заслуживают.
Единственная сложность — решить к какому классу отнести информацию, полученную от «сторонних» источников — Java-апплетов, приложений ActiveX и проч. Я бы отнес их к классу «внутренних» объектов. Передавать информацию от них во внешний мир через JavaScript я нужды не вижу. Если их собственная система безопасности это позволит, то они прекрасно справятся с этой задачей сами.
Сегодня, в который раз обращаясь за помощью к Astalavita, я нашел там ссылку на сайт, услугами которого я теперь намерен пользоваться достаточно часто. Речь идет о сайте «NewOrder» (наверное можно перевести, как «Новый Порядок» :). Это обширный и, судя по всему, обновляемый довольно часто, каталог всего того, что может понадобится любому человеку, который тесно общается с компьютерной техникой.
Думаю, разделы скажут сами за себя: «Security», «Privacy», «Virii», «Exploits», ну и так далее. Информации и программ очень много, ценно, что все это, вот так вот, собрано в одном месте и разложено по полочкам. На сайте публикуются новости из мира хака, проводятся голосования, есть форумы. Теперь о ложке дегтя (хотя лично для меня она — чайная) — все это на _английском_. Надеюсь, вы ничего другого и не ожидали.
Людям, в силу
Я, например, уже обзавелся «довеском» к Win 2.80b4, скачанным по ссылке с этого сайта и узнал, что сайт LevelZero, следы которого оборвались на закрытом, с недавних пор, lz.knet.ru, оказывается переехал на другой адрес. Так что очень рекомендую посетить.
Warez. WinAmp3a2, Opera 5.02, WinRAR 2.8b4
P.S. Подробности — на сайте «Правый щелчок».
Пока
Сайт «Парсера» студии Лебедева растет и пухнет. Парсер обзавелся довольно симпатичной эмблемой, со времени моего последнего появления появились разделы «FAQ», «жаргон», «в действии» и «куда говорить».
Вообще, я думаю, любая более или менее крупная фирма, занимающаяся разработкой
Фирма Opera буквально на днях порадовала нас выходом новой подверсии своего одноименного браузера. В списке «WhatsNew» 5.02 в основном «шашечки»: изменения
JavaScript: Недосказанное Нетскейпом
Не оставляя надежду найти аналог CollectGarbage в Netscape, я сегодня расковырял интерпретатор JavaScript’а своего браузера на предмет наличия всего недокументированного. Ковырять вручную было лениво и я сначала написал небольшую программку, вычесывающую все текстовое из файла, на Перле, а потом небольшой скриптик под JUnix, который проверил, что из найденного относится к JavaScript. Ничего похожего на вызов сборщика мусора я так и не нашел, зато нашел
Script(string) — создает кусок JavaScript-кода, который можно вызвать как обычную функцию. Разница между этим конструктором и Function заключается в том, что из кода, созданного конструктором Script, нельзя получить доступ к arguments и прочим свойствам и методам, специфическим для функций.
Пример использования Script:
AX = new Script ("alert('TEST')")
AX () // Нaпечатает "TEST"Call() — создает пустой объект типа Window. Практической пользы маловато, но, как это можно применить я могу придумать.
Пример того, что можно сделать с Call:
AX = window
AX.BX = "TEST"
alert (window.BX) // Напечатает "TEST"
window.BX = "TEST1"
AX = new Call()
AX.BX = window.BX
window.BX = "TEST2"
alert (AX.BX) // Напечатает "TEST2"
AX.open = window.open
AX.open ("about:blank") // Откроет новое окно
BX = {}
BX.open = window.open
BX.open ("about:blank") // Вызовет ошибкуWith(object) — достаточно странная функция. Копирует объект на новое место. Конструктор не вызывается, операция сравнения без приведения утверждает, что был создан новый объект, но изменения в одном экземпляре вызывают изменения в другом.
Пример вызова функции With:
function probe ()
{
alert ('Create.')
this.let = let
this.val = val
}
function let (n)
{
this.val = n
}
AX = new probe() // Напечатает "Create"
BX = AX
alert (AX===BX) // Напечатает "true"
BX = With (AX)
BX.let ("TEST")
alert (AX.val) // Напечатает "TEST"
alert (AX===BX) // Напечатает "false"Closure(function_object) — очень похожа на With, но с парой отличий.
Пример вызова функции и конструктора Closure:
function let (n)
{
this.val = n
}
Function.prototype.let = let
AX = new Function ("","")
BX = AX
alert (AX===BX) // "true". Объекты одинаковые.
AX.let ("TEST1")
alert (BX.val) // "TEST1". И это логично.
BX = Closure (AX)
alert (AX===BX) // "false". Объекты разные.
AX.let ("OTHER")
alert (BX.val) // "TEST2". И это тоже логично.
BX = new Closure (AX)
alert (AX===BX) // "false". Объекты разные.
AX.let ("TEST2")
alert (BX.val) // "TEST2". И это странно.Arguments(объект) — в принципе можно применять для дублирования массива аргументов. Если применить как функцию, а не как конструктор, то Netscape может обидится и сказать GPF. А вообще во время экспериментов с этим объектом мой NC 4.7 падал настолько часто, что можно сказать — это его больное место, трогать которое не рекомендуется.
Пример вызова конструктора Arguments:
AX = new Function ("", "return new Arguments(arguments)")
alert (AX("TEST1").length) // "1"
alert (AX("TEST1","TEST2").length) // "2"Желающим испытать свое терпение и способности к обобщению, предлагается выяснить, какие функции несет каждый объект, свойство или метод из списка: __count__, __parent__, __proto__, __name__, __length__, __arity__, __call__, __caller__, __callee__.
Мое мнение — все, что я накопал, это усы от внутренней объектной модели браузера. Результат попытки упихать все, что только возможно, в объекты.
P.S. Мучал я Netscape версии 4.7. Как нибудь, надеюсь, руки дойдут
CollectGarbage. И все-таки она работает!
Сегодня я решился
Но, чтобы
Скажу сразу — функция работает! Но самое интересное не это. Оказалось, что если в MSIE (ровно, как и в Netscape, позднее я повторил эксперимент и под ним тоже) и есть сборщик мусора, то он очень неторопливый. В одном из экспериментов я прождал около 20 минут, прежде чем мое терпение кончилось!
Более того, если нажать «Create» несколько раз подряд, то память будет выделяться после каждого раза. То есть в программах на JavaScript, постоянно создающих структуры большого объема, вызов этой функции жизненно необходим! Я, например, сегодня же выпущу новую версию JUnix с демоном сборки мусора. К сожалению, как я не старался, мне не удалось найти ничего похожего в версии JavaScript от Netscape. Так что вопрос об высвобождении памяти под этим браузером остается открытым.
Демонстрационный пример:
<SCRIPT>
function Create()
{
Arr = new Array ()
for (i = 0; i<100000; i++)
Arr[i] = '01234567890123456789012345678901234567890'+
'12345678901234567890123456789012345678901234567890'+
'12345678901234567890123456789012345678901234567890'+
'12345678901234567890123456789012345678901234567890123456789'
}
function Drop()
{
delete Arr
}
function Collect()
{
CollectGarbage()
}
</SCRIPT>
<BODY>
<FORM>
<INPUT TYPE=BUTTON onClick="Create()" VALUE=Create>
<INPUT TYPE=BUTTON onClick="Drop()" VALUE=Drop>
<INPUT TYPE=BUTTON onClick="Collect()" VALUE=Collect>
</FORM>
</BODY>Наши браузеры. Какие они?
Пару дней назад мне пришлось поспорить с одним человеком по поводу того, какие браузеры существуют и что они из себя представляют. Похоже, разветвление проекта Netscape сразу на три направления, внесло некоторую путаницу в головы
Internet Explorer
Начну я со своего любимого браузера — детища фирмы Microsoft. Internet Explorer (текущая версия — 5.5SP1) — пожалуй самый навороченный браузер из всех нижеописанных. Выпускается под Windows, Mac, я так же слышал о версиях под Unix.
Из стандартов поддерживает: HTML 4.0, со своими расширениями; CSS 1, (почти полностью) CSS 2, плюс специальные эффекты — фильтры; DirectAnimation; VML (векторный язык); VRML; JScript (как составляющую — JavaScript и ECMAScript); W3C DOM; VBScript; XML; ActiveX; Java; динамическое связывание в HTML; behaviors и многое другое.
В данный момент — это самый популярный браузер в российском Интернете, его доля составляет около 70%—80%, по данным SpyLog. Что,
Netscape 4
Точнее Netscape 4. Выпускается одноименной компанией, текущая версия — 4.75. В прошлом — основной конкурент Explorer, ныне — отмирающая тупиковая ветвь. Совокупная с Netscape 6 доля, по данным SpyLog, — примерно 9—19%. Выпускается под Windows, Unix и Mac.
Сейчас уже практически не развивается, хотя время от времени появляются новые версии с незначительными или некому не нужными (типа добавления к пакету WinAmp) изменениями. Поддерживает HTML 3.2, со своими расширениями; частично CSS1 и CSS2; Java; VRML; JavaScript (в его рамках — EMCAScript). Браузер расширяется в основном за счет так называемых «плагинов» — модулей расширений от сторонних производителей. Был любим среди пользователей Unix, как практически единственный графический браузер в этой среде.
Кстати, о версии HTML. HTML 4.0 не поддерживается этим браузером. Достаточно взглянуть на стандарт от W3C, что бы это понять.
Netscape 6
Надежда всех любителей браузеров от Netscape. Время показало, что ожидания оказались напрасными. Релиз оказался на удивление сырым и с массой глюков.
Ничего о нем сказать не могу, поскольку, с момента появления этого самого релиза, более я им не интересуюсь. Проект развивается настолько вяло, что, думаю, все, включая разработчиков, махнули на него рукой.
Отличительная его особенность — браузер позволяет менять свой внешний вид, т. е. устанавливать так называемые скины. Эта способность, как и новой Мозилле, досталась ему от Netscape 5, так называемом Gecko, который в чистом виде в уже природе не встречается.
Mozilla
Текущая версия — 0.7. По внешнему виду —
О его доле я сказать ничего не могу, но проект, в последнее время (а ему уже 3 года), стал очень динамично развиваться и стремительно завоевывать сердца и мониторы пользователей Unix. Эта хорошая альтернатива, для противников продуктов от Microsoft, морально устаревшему Netscape 4. Насколько я знаю, поддерживает HTML 4.0, CSS 1, частично CSS 2, EMCAScript, W3C DOM, частично DOM II, XML, Java, есть экспериментальная поддержка ActiveX.
Lynx
Этот браузер в данном ряду необычен тем, что он полностью текстовый. Текущая версия — 2.8.3. Выпускается под Unix, Windows, VMS, DOS, OS/2 и Mac. Процент его использования невелик — порядка одной десятой процента, используется, в основном, под текстовой консолью Unix и распространяется вместе операционными системами этого типа, чем и жив.
Поддерживает HTML в рамках разумного. Т. е. практически все, что можно реализовать в текстовом режиме, в нем реализовано. Поддержки CSS, скриптовых языков и XML нет. Зато, в силу невеликих возможностей браузера, за все время существования была найдена только одна дыра в безопасности. :) Вот и все, что можно о нем сказать.
Opera
Очень хороший браузер. Быстрый, относительно легкий. Урезанный дистрибутив умещается на одной дискете. Текущая версия для Windows — 5.02. Выпускается для платформ Windows, EPOC, Unix, Mac и BeOS.
Его доля близка к одному проценту, браузер еще относительно молодой. Жаль, только его создатели так увлеклись накручиванием «шашечек». Но, не смотря на это, Opera — потенциально, довольно серьезный конкурент MSIE и Mozilla.
Из возможностей — поддержка HTML 4.01 с собственными расширениями, CSS 1,2
***
P.S. Я не включил в обзор экспериментальные браузеры (например Arena) и браузеры, не получившие широкого распространения. Их время еще не пришло или не придет никогда. В любом случае, пока серьезно я их не воспринимаю. Докажите мне, что я ошибаюсь и я охотно помещу здесь описание любого из них. :)
P.P.S. Спасибо моему другу, Сергею Шишкину, за время, потраченное на попытки сделать скриншот с Mozilla. К сожалению, я так и не смог его забрать.
Микрософт жива. mod_cgisock, JScript и CK-22B6
Для начала, о событии, так меня заинтересовавшем в позапрошлом выпуске. Вчера на ZDNet.com я,
Оказывается, во всем был виноват (а я был
А теперь скажите мне, что такое mod_cgisock. Так вот, это модуль Apache, который предоставляет возможность работать с CGI через обычные юниксовые сокеты. CGI в этом случае пишется на языке, способном работать с сокетами, и, насколько я понимаю, выступает в роли сервера, обслуживающего запросы Apache. Утверждается, что такой способ позволяет существенно экономить память и выполнять приложения гораздо быстрее.
Весьма любопытно, тем более, что слышу я об этом впервые, но для PHP (а он у меня скомпилирован как модуль), который мне в последнее время так полюбился, абсолютно бесполезно. :)
Есть у меня телевизор Samsung
Кстати, загляните на сайт Самсунг. Там, у телевизора есть забавная характеристика — кривизна экрана… Я долго смеялся. Тем, кто юмора не понял, объяснять ничего не буду. Не способен. :)
Маленькое продолжение темы недокументированных возможностей. На этот раз порадовал Microsoft Internet Explorer 5.0 и 5.5. Случайно обнаружил, что в JScript интерпретаторе этого браузера есть две, нигде не описанные, но, тем не менее, судя по всему, прекрасно работающие фичи.
А на сегодня это все. :)
Quake под PDA, DOOM в фотоаппарате. BSoD
LOL!!! Сейчас будете смеяться! У вас Windows 2000?
Если да, то сделайте вот что:
- Запускаем regedit.exe
- Переходим на KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
- Из меню «Edit» выбираем «New», DWORD
- Вводим CrashOnCtrlScroll, нажимаем Enter
- Кликаем туда мышкой и устанавливаем в «1». Нажимаем «OK»
- Перезагружаемся
Теперь, если дважды нажать комбинацию Ctrl+Scroll Lock, система рухнет с появлением знаменитого «голубого экрана смерти» и сообщением MANUALLY_INITIATED_CRASH (0xE2). По словам тех, кто это нашел на сайте Microsoft — сделано это для разработчиков (наверное, чтобы «не забыли» как выглядит экран смерти aka BSoD :).
Сегодня, определенно, день смеха… Slashdot (устами
Проект все еще в стадии доработки (текущая версия — 0.02 alpha), и когда выйдет первая версия, пока неясно. Остается надеяться, что это не очередной fake. В любом случае, на сайте доступны два файла, общим объемом примерно в 9 мегабайт для скачивания, так что владельцам iPaq стоит на это посмотреть.
P.S. Кстати, для интереса я скачал оба файла. В первом действительно лежит PocketQuake.exe, readme.txt и файл конфигурации. Во втором — pack0.pak. Так что, по крайней мере, с виду, все честно.
P.P.S. На том же DZ, основываясь на анализе цвета, Завалишин сделал вывод, что все это — надувательство. Может быть, а может быть и нет. Есть же Doom под фотоаппарат Kodak
Кстати, о Doom’e и Kodak
Сзади фотоаппарата располагается прямоугольное окошко, где вы сможете просмотреть отснятое, покопаться в полноцветном меню или… а вот тут самое интересное.
Теперь, интересующие меня, технические характеристики. Kodak
Судя по всему, есть тенденция встраивать операционные системы во все, что имеет экран. Наверное, очередь за часами. Вот сверху часы — видеотелефон (фото с Вебтилятора). Подождем когда… :)
Надеюсь BlueTooth пробьет себе дорогу. Это, если
Так вот.