У нас в банкирской конторе "Сикоморский и Цесаревич" был программист Вася. Это был чудо-программист.
Программист Вася писал программы на Дельфи. При компиляции он никогда не обращал внимания на хинты и ворнинги. Вася выделял память только тогда, когда возникал аксесс виолэйшын. Если указатель при инициализации случайно указывал на уже выделенную область памяти, то память Вася не выделял.
Один раз Вася написал программу для ГЦИ ЦБ РФ. Программа постоянно висла, и Вася написал для нее вотчдог, который раз в минуту пингал программу, и, в случае чего, перегружал машину. Но программа грузилась гораздо дольше минуты, поэтому вотчдог, грузящийся первым, не получал ответа, и перегружал машину сразу. В таком режиме программа проработала около 4-х месяцев, прежде чем кто-то что-то заметил.
Еще программист Вася написал программу отслеживания объектов на видеокартинке. Для этой цели он запускал стандартную программу, идущую в комплекте с камерой, которая оверлеем выдавала картинку на экран, а потом эту самую картинку прямо из видеопамяти и считывал. Один раз программа показала огромного размера объект, находящийся в неположенном месте, и имеющий явно враждебные намерения по отношению к ГУ ЦБ РФ по Орловской области. Когда пришли разбираться, оказалось, что этим объектом был мессадж бокс с аксесс виолэйшыном. Васина программа считала его из видеопамяти вместе с картинкой.
Еще Вася написал программу для чистки временной директории. Он readdir`ом рекурсивно считывал все директории, начиная с корня временной, и удалял из них все файлы. Надо ли говорить, что первой считанной им директорией была директория с названием ".."? Программа успокаивалась только тогда, когда доходила до своп-файла Windows.
Вот такой у нас был программист Вася.
[size=-2]------ Добавлено в 20:12
Из книги "Персональные ЭВМ в инженерной практике", М. Радио и связь, 1989.
...Одним из примеров громоздкой и, по мнению авторов, бесполезной надстройки является интегрированная система WINDOWS фирмы Microsoft. Эта система занимает почти 1 Мбайт дисковой памяти и рассчитана на преимущественное использование совместно с устройством типа ”мышь”...
...Таким образом, читатель уже понял, что среди надстроек над ДОС бывают довольно бесполезные системы, которые только выглядят красиво, а на самом деле отнимают время пользователя, память на дисках и оперативную память ЭВМ. Обманчивая красота таких систем, однако, сильно воздействует на неискушенных пользователей, которые не имели практики работы на машине. Инерция мышления бывает столь сильна, что авторам приходилось наблюдать, как люди, начавшие работать с подобной надстройкой, впоследствии с трудом заставляют себя изучать команды ДОС. Хочется предостеречь от этой ошибки читателей ...
...Одним из примеров громоздкой и, по мнению авторов, бесполезной надстройки является интегрированная система WINDOWS фирмы Microsoft. Эта система занимает почти 1 Мбайт дисковой памяти и рассчитана на преимущественное использование совместно с устройством типа ”мышь”...
...Таким образом, читатель уже понял, что среди надстроек над ДОС бывают довольно бесполезные системы, которые только выглядят красиво, а на самом деле отнимают время пользователя, память на дисках и оперативную память ЭВМ. Обманчивая красота таких систем, однако, сильно воздействует на неискушенных пользователей, которые не имели практики работы на машине. Инерция мышления бывает столь сильна, что авторам приходилось наблюдать, как люди, начавшие работать с подобной надстройкой, впоследствии с трудом заставляют себя изучать команды ДОС. Хочется предостеречь от этой ошибки читателей ...
[size=-2]------ Добавлено в 20:16
Q&A
Q: У меня не хватает денег на новую мышку, и я хочу разогнать старую. Это можно сделать?
A: Прежде всего нелишне будет напомнить, что всякий разгон – дело чреватое, и, следуя нашим советам, вы действуете на свой страх и риск. Но, в принципе, большинство мышей, выпущенных до 1999 года, успешно разгоняются. Следует, однако, учесть возможные побочные эффекты. Во-первых, во избежание пробуксовок рекомендуем поставить в мышь шипованную резину. Во-вторых, в разогнанной мыши из-за высокой частоты вращения шарика возникает сильный гироскопический эффект, препятствующий отклонению мыши от курса. При программировании или веб-серфинге это не помешает, а вот художнику, которому часто приходится водить мышь по кривой траектории, может создать проблемы. В-третьих, разогнанную мышь необходимо оснастить коробкой передач хотя бы на три скорости – иначе потери мощности сведут все выгоды от разгона фактически к нулю. Ну и, наконец, вам понадобится установить на мышь кулер, который будет отгонять запах горелой резины подальше от рабочего места. Если же ваша мышь выпущена после 1999, то, скорее всего, сделать ничего нельзя: в современных мышах возможность разгона заблокирована аппаратно, а в оптических этому и вовсе препятствует фундаментальный принцип постоянства скорости света.
Q: Когда я сижу за компьютером больше 30 часов подряд, у меня начинают уставать глаза, болит голова и хочется спать. Мой друг говорит, что это из-за низкой частоты кадров. Как ее увеличить?
A: К сожалению, никак: это аппаратное ограничение конструкции монитора. Но проблему негативного воздействия мерцания на глаза можно решить с помощью стробоскопического эффекта: для этого надо моргать с частотой кадровой развертки.
Q: У меня есть пишущий сидюк, но нет болванок R/W. Как мне сделать новую запись на обычную болванку?
A: Вопреки распространенному мнению, на обычные болванки тоже можно писать несколько раз. Причем даже с двух сторон. Для этого вам потребуется обычный фломастер. Информацию следует записывать по часовой стрелке, от краев диска к центру. Количество информации, которую можно записать таким образом, зависит от плотности строк и степени сжатия букв. Этот способ имеет и то преимущество, что для считывания вообще не требуется CD драйв (достаточно обычного сканера), а очистить диск для новой записи можно с помощью простого ластика, смоченного в спирте. Следует, однако, помнить, что метод непригоден для записи звуковых файлов и исполняемых модулей.
Q: Я купил себе крутые колонки, но у меня проблема. Когда я врубаю их на полную мощность, стол так трясется, что компьютер съезжает и падает на пол. Я сменил уже пять драйверов звуковухи и три компьютера. Помогите плиз!
A: Эту проблему легко решить, если отрегулировать длину проводов, идущих к колонкам. Разница должна равняться половине длины волны электрического сигнала. Тогда сигнал будет приходить в левую и правую колонку в противофазе, и вибрация будет взаимно гаситься. Кроме того, рекомендуем укоротить провод питания компьютера – тогда при падении компьютер успеет сам себя выключить и запарковать винчестер.
Q: Хочу купить себе новый корпус, но не знаю, какой выбрать - десктоп или тауэр. Подскажите, какой из них быстрее?
A: Они одинаковы по быстродействию. Хотя в tower'ах электроны, двигаясь по проводам сверху вниз, разгоняются под действием силы тяжести, но они в такой же степени замедляются, когда движутся в обратном направлении, так что суммарный эффект будет таким же, как в desktop-е. Выигрыша можно добиться только в узком классе задач, где данные передаются преимущественно в одном направлении (причем важно не перепутать, в каком именно). Но есть еще одна тонкость. Двигаясь в вертикальном направлении, электроны совершают работу в поле силы тяжести, что требует дополнительного расхода энергии – так что корпуса типа tower менее экономичны.
Q: Мой друг говорит, что винчестер должен крутиться без остановок, тогда от нагревания его емкость увеличивается. Это правда? Если да, то грозит ли выключение потерей данных?
A: Нет, это неправда. Существует, правда, другой эффект, способный увеличить емкость винчестера: под действием центробежной силы данные постепенно смещаются к краю диска и уплотняются там, освобождая место в центральной зоне. Но такой прирост емкости незначителен, а использование этого эффекта требует сложного перепозиционирования головок, поэтому с ним предпочитают бороться. Современные высокоскоростные винчестеры IBM, например, при непрерывной работе периодически останавливаются на несколько секунд, чтобы данные вернулись на место.
Q: Как убить процесс в Win2K (98)
A: Способов несколько
1. Шотган. Пара выстрелов в системник и процесс будет убит наповал. Побочный эффект – будут убиты все остальные процессы.
2. Веревочкой привязываешь лоток сидюка к кнопке резета. Потом программно выдвигаешь лоток. Недостаток – процесс будет убит не окончательно, после перезагрузки его можно будет запустить по новой.
3. Чисто программный. Считываешь с SMBus частоту вращения кулера. Затем начинаешь шевелить головками винта и сидюка с такой же частотой. В результате крыльчатка кулера попадет в резонанс и через некоторое время развалится. В результате остановки кулера процессор перегреется и повиснет. Процесс, естественно, убьется. Если процессор – Athlon, то, возможно, и навсегда.
Q: У меня не хватает денег на новую мышку, и я хочу разогнать старую. Это можно сделать?
A: Прежде всего нелишне будет напомнить, что всякий разгон – дело чреватое, и, следуя нашим советам, вы действуете на свой страх и риск. Но, в принципе, большинство мышей, выпущенных до 1999 года, успешно разгоняются. Следует, однако, учесть возможные побочные эффекты. Во-первых, во избежание пробуксовок рекомендуем поставить в мышь шипованную резину. Во-вторых, в разогнанной мыши из-за высокой частоты вращения шарика возникает сильный гироскопический эффект, препятствующий отклонению мыши от курса. При программировании или веб-серфинге это не помешает, а вот художнику, которому часто приходится водить мышь по кривой траектории, может создать проблемы. В-третьих, разогнанную мышь необходимо оснастить коробкой передач хотя бы на три скорости – иначе потери мощности сведут все выгоды от разгона фактически к нулю. Ну и, наконец, вам понадобится установить на мышь кулер, который будет отгонять запах горелой резины подальше от рабочего места. Если же ваша мышь выпущена после 1999, то, скорее всего, сделать ничего нельзя: в современных мышах возможность разгона заблокирована аппаратно, а в оптических этому и вовсе препятствует фундаментальный принцип постоянства скорости света.
Q: Когда я сижу за компьютером больше 30 часов подряд, у меня начинают уставать глаза, болит голова и хочется спать. Мой друг говорит, что это из-за низкой частоты кадров. Как ее увеличить?
A: К сожалению, никак: это аппаратное ограничение конструкции монитора. Но проблему негативного воздействия мерцания на глаза можно решить с помощью стробоскопического эффекта: для этого надо моргать с частотой кадровой развертки.
Q: У меня есть пишущий сидюк, но нет болванок R/W. Как мне сделать новую запись на обычную болванку?
A: Вопреки распространенному мнению, на обычные болванки тоже можно писать несколько раз. Причем даже с двух сторон. Для этого вам потребуется обычный фломастер. Информацию следует записывать по часовой стрелке, от краев диска к центру. Количество информации, которую можно записать таким образом, зависит от плотности строк и степени сжатия букв. Этот способ имеет и то преимущество, что для считывания вообще не требуется CD драйв (достаточно обычного сканера), а очистить диск для новой записи можно с помощью простого ластика, смоченного в спирте. Следует, однако, помнить, что метод непригоден для записи звуковых файлов и исполняемых модулей.
Q: Я купил себе крутые колонки, но у меня проблема. Когда я врубаю их на полную мощность, стол так трясется, что компьютер съезжает и падает на пол. Я сменил уже пять драйверов звуковухи и три компьютера. Помогите плиз!
A: Эту проблему легко решить, если отрегулировать длину проводов, идущих к колонкам. Разница должна равняться половине длины волны электрического сигнала. Тогда сигнал будет приходить в левую и правую колонку в противофазе, и вибрация будет взаимно гаситься. Кроме того, рекомендуем укоротить провод питания компьютера – тогда при падении компьютер успеет сам себя выключить и запарковать винчестер.
Q: Хочу купить себе новый корпус, но не знаю, какой выбрать - десктоп или тауэр. Подскажите, какой из них быстрее?
A: Они одинаковы по быстродействию. Хотя в tower'ах электроны, двигаясь по проводам сверху вниз, разгоняются под действием силы тяжести, но они в такой же степени замедляются, когда движутся в обратном направлении, так что суммарный эффект будет таким же, как в desktop-е. Выигрыша можно добиться только в узком классе задач, где данные передаются преимущественно в одном направлении (причем важно не перепутать, в каком именно). Но есть еще одна тонкость. Двигаясь в вертикальном направлении, электроны совершают работу в поле силы тяжести, что требует дополнительного расхода энергии – так что корпуса типа tower менее экономичны.
Q: Мой друг говорит, что винчестер должен крутиться без остановок, тогда от нагревания его емкость увеличивается. Это правда? Если да, то грозит ли выключение потерей данных?
A: Нет, это неправда. Существует, правда, другой эффект, способный увеличить емкость винчестера: под действием центробежной силы данные постепенно смещаются к краю диска и уплотняются там, освобождая место в центральной зоне. Но такой прирост емкости незначителен, а использование этого эффекта требует сложного перепозиционирования головок, поэтому с ним предпочитают бороться. Современные высокоскоростные винчестеры IBM, например, при непрерывной работе периодически останавливаются на несколько секунд, чтобы данные вернулись на место.
Q: Как убить процесс в Win2K (98)
A: Способов несколько
1. Шотган. Пара выстрелов в системник и процесс будет убит наповал. Побочный эффект – будут убиты все остальные процессы.
2. Веревочкой привязываешь лоток сидюка к кнопке резета. Потом программно выдвигаешь лоток. Недостаток – процесс будет убит не окончательно, после перезагрузки его можно будет запустить по новой.
3. Чисто программный. Считываешь с SMBus частоту вращения кулера. Затем начинаешь шевелить головками винта и сидюка с такой же частотой. В результате крыльчатка кулера попадет в резонанс и через некоторое время развалится. В результате остановки кулера процессор перегреется и повиснет. Процесс, естественно, убьется. Если процессор – Athlon, то, возможно, и навсегда.