| BZIK.INFO |
|
BZIK.INFO |
|
|
{249} {248} {247} {246} {245} {244} {243} {242} {241} {240} {239} {238} {237} {236} {235} {234} {233} {232} {231} {230} {229} {228} {227} {226} {225} {224} {223} {222} {221} {220} {219} {218} {217} {216} {215} {214} {213} {212} {211} {210} {209} {208} {207} {206} {205} {204} {203} {202} {201} {200} {199} {198} {197} {196} {195} {194} {193} {192} {191} {190} {189} {188} {187} {186} {185} {184} {183} {182} {181} {180} {179} {178} {177} {176} {175} {174} {173} {172} {171} {170} {169} {168} {167} {166} {165} {164} {163} {162} {161} {160} {159} {158} {157} {156} {155} {154} {153} {152} {151} {150} {149} {148} {147} {146} {145} {144} {143} {142} {141} {140} {139} {138} {137} {136} {135} {134} {133} {132} {131} {130} {129} {128} {127} {126} {125} {124} {123} {122} {121} {120} {119} {118} {117} {116} {115} {114} {113} {112} {111} {110} {109} {108} {107} {106} {105} {104} {103} {102} {101} {100} {99} {98} {97} {96} {95} {94} {93} {92} {91} {90} {89} {88} {87} {86} {85} {84} {83} {82} {81} {80} {79} {78} {77} {76} {75} {74} {73} {72} {71} {70} {69} {68} {67} {66} {65} {64} {63} {62} {61} {60} {59} {58} {57} {56} {55} {54} {53} {52} {51} {50} {49} {48} {47} {46} {45} {44} {43} {42} {41} {40} {39} {38} {37} {36} {35} {34} {33} {32} {31} {30} {29} {28} {27} {26} {25} {24} {23} {22} {21} {20} {19} {18} {17} {16} {15} {14} {13} {12} {11} {10} {9} {8} {7} {6} {5} {4} {3} {2} {1} В одной крупной иностранной компании стоит серьёзная система распознавания текста. А так как компания очень сильно заботится об информационной безопасности, то расшаривать папки строго-настрого (под страхом смертной казни, не иначе) запрещено. Так вот, обнаружили однажды на сервере с той самой системой распознавания всего одну расшаренную папочку, да не просто расшаренную, а с полными правами: и запись, и удаление. Скандал закатили, папочку прикрыли. Долго мы потом не могли понять, почему же у нас перестала работать та самая OCR-система. Да, именно так: из-за одной маленькой, но о-очень гордой папочки отказалась работать целая система за несколько кило вечнозелёных. Если начали вспоминать холивары «какой язык программирования круче», добавлю-ка я и свои пять копеек. В 1998 году случилась эталонная ситуация для подобной проверки. Лос-Анджелес. Монтируется аппаратура на корабле. Задача — принять телеметрию и отобразить в нужном виде на экран. На корабле три изолированных по национальному или производственному признаку сегмента, куда «чужих» не пускают. Отображением в одном сегменте занимался я, в другом — американцы из фирмы «A. S.», в третьем — программеры из рабоче-крестьянской корпорации. Задачи были весьма схожи: принять, обработать, отобразить. Отображение требовалось разное, но это уже неважно. Американцы не задержались на корабле больше недели. Приехали, поставили софт, запрограммировали, получили бабки, уехали. Тихо-мирно, молча. Никаких претензий, никаких проблем. Язык программирования — Visual Basic. Я приехал на неделю раньше американцев и уехал дней на десять позже — уж очень хотелось встретить Новый год дома. Реально я потратил недели две времени на отображение, а потом со скуки прикручивал к программе скриптовый язык для изменения сценариев. Язык программирования — Delphi. Программеры рабоче-крестьянской корпорации приехали вместе со мной, но встречали Новый год вдали от дома. И Старый Новый год — тоже. Потом я просто перестал за этим следить. Язык программирования — Visual С++. Для себя из этой истории я вынес критерий оценки собственной работы: количество усилий, потраченных для решения задачи, разделённое на количество заработанных килобаксов. Если сидишь на окладе, сложных проблем не возникает и нет особой нужды решать проблему быстро, то С++ вне конкуренции — программу любой сложности можно писать и отлаживать практически вечно, регулярно получая оклад. Если присутствует элемент сдельщины, то к С++ надо прибегать в последнюю очередь. Ведь крутизна программера — не в синтаксисе исходников, а в толщине его кошелька. Машины в нашем институте отличались скверным характером и нетерпимостью к любым ошибкам в коде. Год был восемьдесят второй, писали мы на Фортране, запускали на агрегатах ещё, наверное, сталинской закалки, которые на малейшие неудачи в коде имели привычку накрепко виснуть. Но это ещё не самое интересное. Кто писал для «Минска», должен помнить, что в процессе компиляции кода (а компилилось оно долго, особенно расчёты несущих) на экран выводилась огромная такая табличка на незнакомом несоветском языке: «DURATION». И вот сидишь ты в аудитории рядом с ещё двадцатью такими же «специалистами», пишешь, споришь, рассказываешь всем вокруг про «новый подход», компилишь... Виснет. Подходит препод, смотрит код на бумаге, задумчиво изрекает: «И ведь верно, дурейшен писал. Причём такой дурейшен, что ещё поискать надо...» — и, не перезагрузив машину, удаляется. Вскоре вся аудитория медленно, но верно покрывается такими же табличками. — Дурейшен, дурейшен... И ты тоже дурейшен! Воспитательный момент — лучше некуда. Решили с другом выпить пивка и прогуляться. Потягивая пиво, плавно удаляемся от города. Поле, речка — красота! Допили пиво, надо выкинуть бутылки. Метрах в двадцати — куча мусора. Подходим вплотную. Одновременно у обоих на телефон приходит SMS: «Вы находитесь в зоне действия сети 3G». Полдня трахался с настройкой сети под Виндой. После того, как настроил, решил послушать музыку в инете и очень долго думал, почему по запросу «ping floyd» ничего не выдается. Работаю в иностранной компании — делаем софт для программистов на Java. Незадолго до выхода новой версии произошла беда: юридический отдел обнаружил вопиющее нарушение всех общечеловеческих прав, норм морали и копирайта. В проекте был обнаружен файл, содержащий чужую интеллектуальную собственность вражеской компании. Собственно, для меня всё началось с того, что пришёл срочный кейс о том, что такой-то файл нужно удалить и переписать заново. Файл содержит список констант для обозначения разных версий Java (типа «Java_4», «Java_5», «Java_6» и т. д.), а также (о, ужас!) список зарезервированных идентификаторов (class, const, for, else, enum и прочие). Плюс напоминание о том, что данный файл — это вам не хухры-мухры, а «Sun proprietary/confidential». Поскольку файл чужой, секретный и конфиденциальный, его нужно удалить и взамен написать свою реализацию, которая не совпадает с исходной. Более того, все разработчики, имевшие отношение к этому файлу (как оказалось, двое: тот, кто коммитнул исходную версию, и тот, кто потом менял отступы и форматирование) не имеют права этим заниматься. Далее уточняется, что нужен именно человек, который не видел, что внутри файла (чтобы ненароком или по злому умыслу не спереть секретный список ключевых слов Java), и сделает всё то же самое, но только совсем другое. Вот теперь сидим думаем, как сделать тот же самый список другим и кто будет это делать. Я-то по незнанию уже увидел этот список констант, а надо, чтобы писал человек, который его совсем-совсем не знает... Я просто обожаю нашу уборщицу. Эта прекрасная старая женщина, протирая от пыли свитч в щитовой, смахнула с него тряпкой четыре неправильно обжатых и потому мной откушенных коннектора и три хвоста по 20 см, обжатых с двух сторон сыном генерального абы как. Так эта сволочь подняла всё с пола и напихала в свободные порты свитча! Кажется, я скоро поседею. Крупный компьютерный магазин известной питерской сети. Торговый зал. Толпа продавцов в радостном возбуждении, распотрошив свежепришедшую коробку с комплектом NVIDIA 3D Vision, ругается на первый попавшийся 120-герцовый ноут, что тот не показывает вожделенное 3D. Подходят два сотрудника техотдела. Они — единственные, кто заметил под клавиатурой наклейку «ATI Radeon». Подарили мне как то открывашку с логотипом Microsoft TechNet. С тех пор меня мучает вопрос: это мелкомягкие сразу намекают, что без пол-литры не разберёшься, или есть в этом другой, потаённый смысл? Одним холодным зимним вечером приезжаю домой после работы. Младшие сёстры, близняшки-одноклашки, с радостным щебетанием сообщают, что у них сегодня на информатике была тема «Операционная система Windows». На мой вопрос, что же, собственно говоря, такое — эта операционная система, они, ничуть не смутившись, констатировали: — Операционная система — это специальная программа, работающая под биосом, которая служит для запуска материнской платы для последующей работы с жёстким диском. Может, выучили плохо или напутали чего? Проглотив стаканчик виски для успокоения, я попросил тетрадку, где это определение было записано под диктовку. Виски я допил весь, пришёл в себя, и с того вечера беседы на компьютерные темы с разъяснением прошедшей темы урока стали для нас абсолютно нормальным занятием. {249} {248} {247} {246} {245} {244} {243} {242} {241} {240} {239} {238} {237} {236} {235} {234} {233} {232} {231} {230} {229} {228} {227} {226} {225} {224} {223} {222} {221} {220} {219} {218} {217} {216} {215} {214} {213} {212} {211} {210} {209} {208} {207} {206} {205} {204} {203} {202} {201} {200} {199} {198} {197} {196} {195} {194} {193} {192} {191} {190} {189} {188} {187} {186} {185} {184} {183} {182} {181} {180} {179} {178} {177} {176} {175} {174} {173} {172} {171} {170} {169} {168} {167} {166} {165} {164} {163} {162} {161} {160} {159} {158} {157} {156} {155} {154} {153} {152} {151} {150} {149} {148} {147} {146} {145} {144} {143} {142} {141} {140} {139} {138} {137} {136} {135} {134} {133} {132} {131} {130} {129} {128} {127} {126} {125} {124} {123} {122} {121} {120} {119} {118} {117} {116} {115} {114} {113} {112} {111} {110} {109} {108} {107} {106} {105} {104} {103} {102} {101} {100} {99} {98} {97} {96} {95} {94} {93} {92} {91} {90} {89} {88} {87} {86} {85} {84} {83} {82} {81} {80} {79} {78} {77} {76} {75} {74} {73} {72} {71} {70} {69} {68} {67} {66} {65} {64} {63} {62} {61} {60} {59} {58} {57} {56} {55} {54} {53} {52} {51} {50} {49} {48} {47} {46} {45} {44} {43} {42} {41} {40} {39} {38} {37} {36} {35} {34} {33} {32} {31} {30} {29} {28} {27} {26} {25} {24} {23} {22} {21} {20} {19} {18} {17} {16} {15} {14} {13} {12} {11} {10} {9} {8} {7} {6} {5} {4} {3} {2} {1} |
| BZIK.INFO |
|
BZIK.INFO |