2006/11/24

Менеджер проектов

Иногда вот так просрем проект и остаются одни выражения, но их как-то сдерживаешь, все таки культурные люди. А вот у некоторых так накипает, что это выливается в 4-х минутный поток креатива.
Слушать здесь (очень много, даже сплошная ненормативная лексика)

Del.icio.us

Сегодня перенес все свои закладки, ну почти все - походу половина хлама убилось (туда им и дорога), на del.icio.us. Потому как глюки GoogleBrowserSync уже достали вконец, а хранить букмарки в одном месте мне не удобно.

2006/11/09

10 худших багов в истории человечества

Если баги в программном обеспечении приводят к зависанию компьютера, то это ерунда. Гораздо хуже, если из-за ошибок в ПО ломаются автомобили, взрываются ракеты и погибают люди.

Самая первый компьютерный баг в истории был обнаружен в 1945 г., когда инженеры нашли в корпусе компьютера Harvard Mark II мотылька. Этот мотылек закорачивал контакты — и компьютер сбоил. Инженеры сделали запись в журнале событий «Первый случай обнаружения бага» (по-английски «bug» означает «насекомое»). С тех пор компьютерные сбои принято называть багами.

По мере распространения цифровых устройств баги все глубже проникают в нашу жизнь. Они окружают нас повсюду — на мобильных телефонах, в бытовой технике, в автомобилях. К счастью, обычно баги не приносят никакого вреда, кроме морального. Но бывает и по-другому, когда баг вызывает огромные финансовые потери и даже забирает человеческие жизни. Журнал Wired посвятил этой проблеме целую тему номера и опубликовал список 10 худших багов в истории человечества, в хронологическом порядке.

28 июля 1962 г. Космический аппарат Mariner I стартовал по направлению к Венере. Из-за поломки антенны корабль потерял связь с земными службами управлениями и перешел на собственную систему пилотирования. Но эта система содержала обидный маленький баг. В результате аппарат полетел совсем не в ту сторону и его пришлось подорвать над Атлантическим океаном. Последующее расследование установило, что в процессе программирования системы навигации была совершена маленькая опечатка — при вводе одной из формул был пропущен один символ.

1982 г. Авария на Транссибирском трубопроводе. Оперативники ЦРУ внедрили баг (отчет в формате PDF) в канадское программное обеспечение, управлявшее газовыми трубопроводами. Советская разведка получила это ПО как объект промышленного шпионажа и внедрила на Транссибирском трубопроводе. Результатом стал самый большой неядерный взрыв в истории человечества.


1985–87 гг. Несколько человек получили смертельную дозу облучения во время сеансов радиационной терапии с медицинским ускорителем Therac-25. Основанная на предыдущей версии ускорителя, «улучшенная» модель Therac-25 могла генерировать два вида излучения: слабое электронное бета-излучение и нормальное рентгеновское излучение. Еще одно «улучшение» состояло в том, что вместо электромеханической защиты пациента в устройстве была реализована программная защита, якобы более надежная. Обе новые функции были некорректно реализованы неопытным программистом, результатом чего стали как минимум пять смертей и огромное количество несмертельных случаев переоблучения.

1988 г. Переполнение буфера в Berkeley Unix. Первый в мире компьютерный червь (так называемый червь Морриса) заразил от 2.000 до 6.000 компьютеров менее чем за сутки, эксплуатируя уязвимость в реализации функции gets(). В ОС Berkeley Unix эта функция ввода/вывода не имела ограничения на максимальную длину.

1988–96 гг. Генератор случайных чисел Kerberos в течение нескольких лет широко использовался в различных системах шифрования. Предполагалось, что программа должна выбирать ключ случайным образом из многих миллиардов чисел, но генератор случайных чисел выбирал из гораздо меньшего набора численностью примерно в миллион. Как результат, в течение восьми лет любой пользователь мог без труда проникнуть в компьютерную систему, которая использовала модуль Kerberos.

15 января 1990 г. Падение телефонной сети AT&T. Ошибка в новой версии прошивки междугородних коммутаторов привела к тому, что коммутатор перезагружался, если получал специфический сигнал от соседнего коммутатора. Но беда в том, что этот сигнал генерировался в тот момент, когда коммутатор восстанавливал свою работу после сбоя. В один прекрасный день, когда какой-то коммутатор в Нью-Йорке перезагрузился, он подал тот самый злополучный сигнал — и началось. Вскоре 114 соседних коммутаторов непрерывно перезагружались каждые 6 секунд, а 60 тыс. человек остались без междугородней связи на 9 часов, пока инженеры не установили на коммутаторы предыдущую версию прошивки.

1993 г. Широко разрекламированный процессор Intel Pentium неправильно производил деление с плавающей запятой, ошибаясь на 0,006%. Хотя эта проблема реально коснулась немногих пользователей, но стала настоящим кошмаром для имиджа Intel. Поначалу фирма согласилась менять процессор только для тех пользователей, которые могли доказать, что им в вычислениях нужна подобная точность, но затем согласилась поменять процессор всем желающим. Этот баг стоил Intel около $475 млн.

1995–96 гг. Пинг смерти. Отсутствие проверки на ошибки при обработке IP-пакетов позволяла порушить практически любую операционную систему, отправив ей через интернет специальный пакет («пинг»).

4 июня 1996 г. Новая ракета-носитель Ariane 5, результат многолетней работы европейских ученых, гордость стран Евросоюза, взорвалась через 40 секунд после своего первого старта. Только научное оборудование на борту ракеты стоило около $500 млн, не говоря о множестве побочных финансовых последствий. Система автоподрыва ракеты сработала после остановки обоих процессоров в результате цепочки ошибок. Началом этой цепочки послужило переполнение буфера, поскольку система навигации подала недопустимо большое значение параметра горизонтальной скорости. Дело в том, что система управления Ariane 5 переделывалась из Ariane 4, а там такого большого значения не могло быть теоретически. В целях снижения нагрузки на рабочий компьютер инженеры сняли защиту от ошибок переполнения буфера в этом программном модуле, поскольку были уверены, что такого значения горизонтальной скорости не может быть в принципе — и просчитались.

Ноябрь 2000 г. Национальный институт рака, Панама. Здесь произошла целая серия инцидентов, вызванная тем, что ПО для планирования радиационной терапии производства американской компании Multidata Systems International неправильно рассчитывало дозы облучения для пациентов. Программа позволяла врачу нарисовать на компьютерном экране расположение защитных металлических щитов, которые защищают тело от радиации. Но программа позволяла манипулировать только четырьмя щитами, тогда как врачи хотели задействовать пять. Они нашли способ «обхитрить» программу, если нарисовать все пять щитов в виде единого блока с дыркой посередине. Единственное, чего они не знали, что программа рассчитывает разные дозы радиации в зависимости от того, как нарисована дырка. Если рисовать ее особым образом, то устройство выдавало двойную дозу радиации. Как минимум восемь человек погибли, а еще 20 получили переоблучение. Врачи, которые должны были вручную перепроверять расчеты программы, были осуждены за убийство.

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

2006/11/08

Троллейбус

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

2006/11/03

Google Earth War - MMOG на движке Google Earth

GEWar.net

Вышла первая MMOG на движке Google Earth
В интернете появилась первая многопользовательская игра, действие которой происходит не в каком-то фантастическом вымышленном мире, а прямо на нашей Земле. Это игра GEwar, то есть Google Earth War.

В принципе, сама игра достаточно проста. Здесь есть все то же самое, что и в других MMOG-играх, но только с одним важным отличием: действие происходит на реальной карте нашей планеты. Дело в том, что GEwar создана на движке Google Earth.

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

Армии в игре покупаются за игровую валюту «гео». Есть много способов ее заработать: это поиск сокровищ, добыча нефти или алмазов, выращивание хлопка. Жители захваченных городов платят вам налоги. Например, население такого города как Москва (около 10 млн жителей) будет платить примерно 50 гео в день. Заработанный капитал можно положить в банк и получать по нему проценты.

Каждое действие в игре происходит на поверхности нашей планеты. Для игры требуется установленная программа Google Earth. Чтобы начать, к примеру, поиск кладов, нужно скачать соответствующий KML-файл с кладами и загрузить его в программу. Тогда на карте митра появляются значки — в каком городе или в какой местности можно найти клад. Это территория примерно 80 ? 80 км. Нужно «полететь» туда и тщательно ее обследовать на высоком разрешении.

Бурение нефтяной вышки стоит 50 гео, а за время ее существования можно заработать от 60 до 500 гео. Алмазы принесут больше денег, но за длительный период времени. А выращивание хлопка — это наиболее прибыльный, но самый длительный бизнес.

Для добычи сейчас нефти предлагаются участки в Саудовской Аравии, для добычи алмазов — в Южной Африке, для выращивания хлопка — в Джорджии (США).

После найма первой армии вы выбираете место для своей главной базы (нужно скачать отдельный KML-файл). База может находиться в любой точке земного шара: хоть в Подмосковье, хоть в рязанских лесах. После этого можно начинать боевые действия и захватывать города, не забывая продолжать зарабатывать деньги.

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

2006/11/02

Написал я когда-то скрипт MS SQL shrink log files for all databases. И тут вдруг наткнулся на случайный пост The FRED SCRIPT v2.0 (FOR DAVID AND MARK)
Years ago while I was with Parity, we were always having to truncate the log file on our development servers as we were always running out to disk space.

We wrote a small little script which would truncate and shrink the log file and for some reason we called this script 'Fred'. Fred became a little star of a script being sent off to clients to get them out of problems.

I was trying to clean my machine down in order to clean some space for Vista the other night and realised that my log files were hitting ~ 1GB on my Dev machine (don't ask).

I came across this script posted on http://textsnippets.com by Sergey Okhotny.
I like this script so much that I've named this Fredv2.0


Приятно читать, что все такие не зря писал :))

2006/11/01

Цитата жизни

"А единственная перспектива у продвинутого парня в этой стране - работать клоуном у пидарасов.
- Мне кажется, - ответил я, - есть и другие варианты.
- Есть. Кто не хочет работать клоуном у пидарасов, будет работать пидарасом у клоунов. За тот же самый мелкий прайс."


"Ампир В" (говорят Пелевин, а говорят и нет)

Там где кончается Надежда


Она умирает последней, но иногда кончается и она.