Истории с тегом: программизмы

Всего историй: 896

8145

На велофреймворках

Сдал тестовое задание в одну крупную фирму на должность программиста. Получил ответ:

Руководители ознакомились с выполненным вами тестовым заданием и указали на момент, что задание сделано в основном при помощи стандартных мастеров. Мы же хотели посмотреть на то, как вы программируете. В настоящий момент мы не готовы сделать вам предложение о трудоустройстве.

Блин, вот хотел же я сделать всё, как обычно, через задницу! Так нет, послушал внутренний голос, который говорил: «Не выпендривайся, не изобретай велосипед, хоть раз сделай всё, как положено»…

8132

Баба с возу — стеку легче

Девочка рассказала, что утром видела реализацию стека FIFO (first in, first out) в реальной жизни. Плотно набитый двухдверный автобус останавливается на остановке. В первую дверь втискивается мужик, а из последней выталкивает не вместившегося бедолагу.

8112

Дело Мурата живёт

22 мая 1983 года, «Известия».

Статья «Умысел» рассказывает об инциденте на Волжском автомобильном заводе в г. Тольятти: в результате произошедшего по неизвестной причине сбоя остановились электронно-вычислительная машина, управляющая главным конвейером завода, сам конвейер, а за ним и завод, на котором работает более ста тысяч человек. Только через 6 часов работа возобновилась. Как вскоре выяснилось, это была забастовка одного человека: программист Мурат, недовольный медленным продвижением по службе и зарплатой, совершил умышленную ошибку, остановившую компьютер и завод. Обратив внимание на свои требования, он сам исправил ошибку и сам в своём поступке признался, за что было осуждён на три года лишения свободы условно и уплату 7 тысяч рублей штрафа.

Журналист, подробно описавший эту историю, отмечает: «Фигура программиста делается массовой быстрее, чем мы привыкаем к ней». Он особенно подчёркивает бесконтрольность деятельности программиста: «Абсолютная проверка правильности программы другим программистом или невозможна, или требует трудоёмкости, близкой к её написанию». «На всем пути (программирования) с начала до конца, — пишет журналист, — мы можем положиться лишь на самого специалиста». Происходит «отставание управления», опережаемого развитием техники. Автор выражает надежду на то, что «скоро, очевидно, программы станут надёжными и утвердятся формы их проверки». Пока же надо усилить воспитание у специалистов «гражданских качеств», «чувства долга». Заботиться об этом должен прежде всего коллектив.

8093

Помню твёрдо

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

После многократных попыток понять, что произошло, студент бросил попытки изучения языка. Несмотря на все усилия, вместо ожидаемого результата в виде тарабарщины он каждый раз открывал в текстовом файле одну и ту же строку, многократно повторённую: «Вано — дятел!!!»

8084

Пёсика-то за что?

В процессе работы полез в исходники одного пакета (очень удобного и полезного, кстати). Код красивый, прозрачный, понятный, неплохо откомментированный. И вдруг натыкаюсь на такой кусок:

// check if any component is linked to OnRxChar event

procedure CheckLinks;

{$WARNINGS OFF}

var

I: Integer;

FuckMeAndMyDogToo: Pointer; //TCPortBytes;{Pointer}

ComLink: TComLink;

ReadFromBuffer: Boolean;

begin

FuckMeAndMyDogToo := nil;

Это ж до чего человек дошёл в процессе разработки, что так переменную обозвал?

8081

Инвалид нулевой категории

Когда я учился на первом курсе, старшие, уже мнившие себя великими программерами, всячески издевались над новичками. Стоило в компьютерном классе оставить открытым свой исходник и отойти, как он тут же подвергался небольшой правке: в каком-нибудь идентификаторе английская буква «o» менялась на идентичную, только русскую. Бедняга-первокурсник по возвращении не мог откомпилить только что работавший код, долго рвал на себе волосы и не мог понять, за что компилятор называет его инвалидом.

8072

Моя цифра с краю, ничего не знаю

Вечером притопал к другу в гости. У него подъезд на кодовом замке — такой, знаете, с десятью кнопками. Нужно зажать комбинацию, чтобы открылся.

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

Открывает, рассказывает, какой я криворукий идиот. Требую показать мне, как этот замок открывается. Друг хмыкает, но показывает: «Смотри, считаем с краю: один, два, три…»

Кто же знал, что у этих обычных людей нумерация идёт с единицы!

8066

Привычная статика сна

Учусь на первом курсе технического университета. При написании программ в школе мне приходилось сталкиваться лишь со статическим выделением памяти, поэтому динамику я изучала с нуля.

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

— Сейчас у нас что? Лекция по истории. Препод даст новую информацию. Но я же не выделила для этой информации память!

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

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

8056

Сила флибустьерской привычки

На Маке я не программировал давно, а тут потребовалось посмотреть работу программы под iOS 4.1 — чисто для себя. Откомпилировать, посмотреть и забыть. Естественно, помимо прочего, надо иметь iOS SDK и сертификаты. Последние я одолжил у подчинённого (в фирме он теперь Маками занимается), принёс исходники домой, подключил айфон и приступил.

Требуемого SDK не оказалось. Хакинтош старенький — давно не включал. Полез в сетку искать, где скачать. Рапидшары и прочие торренты наперебой предлагали либо скачать за деньги, либо установить трояна, либо рассказать пароль от своей почты. Найденные торрент-закачки отказывались стартовать. Сайт Apple требовал Developer ID.

Заскучал. Переключился на виндовый комп, почитал анекдоты, на автомате переформулировал запрос и ещё раз послал в Гугл, оттуда вывалился на яблочный сайт. В окошке, куда надо было вводить Developer ID, красовался неизвестно из каких кук достанный мой ID пятилетней давности. Пароль набрался сразу — руки не забыли.

Оказывается, я зарегистрированный разработчик под OS X и iOS. И какого хрена убивал время, копаясь в пиратских сайтах? Cила привычки, блин…

8020

Об отсутствии пустоты

Да, товарищи, заработались мы, привыкли к умным компиляторам и IDE.

Помнится, на первом курсе университета я проходил факультативный курс программирования микроконтроллеров. Два дня дебажил задание, не понимая, почему стандартный «хеллоу-ворлд» на Си не компилится. В исступлении на третьи сутки обратился к гуру. Посмотрел он код мой, пожурил и отправил мануалы читать.

Сначала я вспылил: «Как так! Я к нему с простейшей просьбой, а он мне какие-то бумажки суёт!» Поостыв, принялся за чтение спецификации компилятора.

Оказалось, что в коде моём действительно имелся досадный баг. Я-то по наивности писал int main(), а вот в спецификации было указано, что все функции без параметров объявляются как [type] [name](void), и это обязательное требование. В обычном Cи компилятор сам подставлял «пустоту», а этому нужно было указывать явно.

С тех пор я научился читать документацию и лог вывода компилятора, включаю во время дебага все ворнинги и не успокаиваюсь, пока каждый не исправлю.