[humor] Чудо-программист

ipush

<не мое>
У нас в банкирской конторе "Сикоморский и Цесаревич" был программист Вася. Это был чудо-программист.
Программист Вася писал программы на Дельфи. При компиляции он никогда не обращал внимания на хинты и ворнинги. Вася выделял память только тогда, когда возникал аксесс виолэйшын. Если указатель при инициализации случайно указывал на уже выделенную область памяти, то память Вася не выделял.
Один раз Вася написал программу для ГЦИ ЦБ РФ. Программа постоянно висла, и Вася написал для нее вотчдог, который раз в минуту пингал программу, и, в случае чего, перегружал машину. Но программа грузилась гораздо дольше минуты, поэтому вотчдог, грузящийся первым, не получал ответа, и перегружал машину сразу. В таком режиме программа проработала около 4-х месяцев, прежде чем кто-то что-то заметил.
Еще программист Вася написал программу отслеживания объектов на видеокартинке. Для этой цели он запускал стандартную программу, идущую в комплекте с камерой, которая оверлеем выдавала картинку на экран, а потом эту самую картинку прямо из видеопамяти и считывал. Один раз программа показала огромного размера объект, находящийся в неположенном месте, и имеющий явно враждебные намерения по отношению к ГУ ЦБ РФ по Орловской области. Когда пришли разбираться, оказалось, что этим объектом был мессадж бокс с аксесс виолэйшыном. Васина программа считала его из видеопамяти вместе с картинкой.
Еще Вася написал программу для чистки временной директории. Он readdir`ом рекурсивно считывал все директории, начиная с корня временной, и удалял из них все файлы. Надо ли говорить, что первой считанной им директорией была директория с названием ".."? Программа успокаивалась только тогда, когда доходила до своп-файла Windows.
Вот такой у нас был программист Вася.

maggi14

sergey_m

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

margadon

vijrel7878

Программист Вася писал программы на Дельфи
на c++ писать такие программы еще проще

hoha32

Вася - хороший программист. Вася не ищет лёгких путей.

stm7884696

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

margadon

Ага, я как-то скачал кривой ВарКрафт - у него в папке была корневая директория %(
После "деинсталла" клавишей F8 мало что осталось

gopnik1994

эээ
а как она туда попала?

margadon

Гм... вот и я думал как... думал-думал... и нажал f8
Процесс сей остановился только когда Windows Commander дошёл до wincmd32.exe и сказал, что ниасилил это удалить И это всё время я хлопал ушами
это весёлый глюк FAT32 Главное, что если заходишь в неё, попадаешь в корень.
я, бывало, видел в папках две родительские папки ".." особенно на старых компактах

freezer

на старых компах со старым мс-досом с помощью нортоновской тулзы DiskEdit можно было и не такое сделать

Flack_bfsp

О! Дискедит! Я помню, как лёгким движением руки всю инфу накрыл медным тазом...

sergey_m

> на старых компах со старым мс-досом с помощью нортоновской тулзы DiskEdit можно было и не такое сделать
С помощью diskedit я вышеописанные проблемы с FAT чинил, а не делал.

durka82

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

mkolyaskin

Julie16

Похоже я нашел этого Васю
web-страница
К примеру:

tmp = new QWidget *[n];
tmp = header;
delete header;

a10063

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

margadon

мдаааааа

Valerik62

 QWidget *t = new QWidget; 
t->resize(playlisttabs->space_width playlisttabs->space_height;
QWidget *t1 = new QWidget;
t1->resize(playlisttabs->space_width playlisttabs->space_height;
playlisttabs->addTab(t);
playlisttabs->addTab(t);
playlisttabs->addTab(t1);
// playlisttabs->addTab(t1); //Если его добавить то прога падает
валялся

lera98

Вот из-за таких жестоких примеров и возникают предрассудки по поводу указателей

Werdna

написал для нее вотчдог, который раз в минуту пингал программу
у меня как-то лики в проге были, так я в кроне такое примерно написал:
* */2 * * * root kill `cat /var/pid/program.pid` && /usr/bin/program

sergey_m

* */2 * * * root kill `cat /var/pid/program.pid` && /usr/bin/program
возьмут сразу, если расскажешь на собеседовании, что практикуешь вышеописанный приём.

Chupa

> Сюда возьмут сразу
тестировщиком, надо полагать, возьмут, т.к. васей, судя по твоим описаниям, там в избытке

viktor954

Фсё фигня!
Вот обсуждение вотчдога в аське:
Date : 22.03.2005 Time : 18:23
From : AAA
Подход с вотчдогом например
Date : 22.03.2005 Time : 18:23
To : BBB
Ну ГРАМОТНО! правда я лично вотчдоги встраиваю НЕПОСРЕДСТВЕННО В ПРОГРАММУ
Date : 22.03.2005 Time : 18:26
From : AAA
Я тоже Но наверное подход с внешней прогой имеет свои плюсы
Date : 22.03.2005 Time : 18:27
To : BBB
Я ВНЕШНЕЕ делал, только когда с ОДНОГО КОМПА следил за ЗАВИСАНИЕМ ДРУГОГО и его ПЕРЕГРУЖАЛ
Date : 22.03.2005 Time : 18:29
From : AAA
А у меня программа, которая должна была файлы обрабатывать, если вылетала по ошибке считала файл -
битым, удаляла его и перезапускалась
Date : 22.03.2005 Time : 18:30
To : BBB
:-D
Date : 22.03.2005 Time : 18:30
From : AAA
И ни обной жалобы, хотя я ее популярной считаю
[/qoute]

lera98

По всему видно, практикуется подход со стороны жопы

lera98

Раз уж зашла речь об операторе "=" :
EditPackages=Core
EditPackages=Engine
EditPackages=Editor
EditPackages=UWindow
EditPackages=Fire
EditPackages=IpDrv
EditPackages=UWeb
EditPackages=UBrowser
EditPackages=UnrealShare
EditPackages=UnrealI
EditPackages=UMenu
EditPackages=IpServer
EditPackages=Botpack
EditPackages=UTServerAdmin
EditPackages=UTMenu
EditPackages=UTBrowser
Прогер должен знать, что будет делать этот оператор в каждом конкретном случае, а не быть "обдолбаным Васей". Здесь этот оператор добавляет массиву пакаджев новые элементы.

Dasar

'+=' смотрелся бы более естественно.

lera98

Ну это не моё. Я бы оформил более тривиально для понимания, чтоб ни у кого вопросов не возникало. Например: EditPackages.Add(UTServerAdmin);
Оставить комментарий
Имя или ник:
Комментарий: