Читаем Bash.org.ru IT Happens Истории ## 5301 – 5400 полностью

— Которые уже есть. А то иначе не работает.

Понятно, думаю, такой безумный вариант я уже видел. Смотрю код дальше. Ничего подобного! Какие-то проверки, сравнения, штук пять разнообразных рекурсивных вызовов — и fktrl(n?1, p), и fktrl(n, p+1), и совсем загадочное fktrl(n?2, 3). Умножений нет вообще, зато есть сложения.

Времени не остаётся. Ставлю студенту плюсик (потом по моим плюсикам проверят только, кто присутствовал, — хотя студенты этого, конечно, не знают, маленькие ещё) и бегу принимать дальше. Но два вопроса меня теперь мучают: как это работало и как такое можно было придумать и отладить?

<p>#5327: Пять по алгебре, а ко мне на пересдачу</p>

12:00 31.01.2011, IT happens

Третий курс IT-факультета с математической направленностью. Зачётная неделя перед зимней сессией, на кафедре сдаю накопившиеся за семестр лабораторные и непроверенные контрольные по программированию. Рядом сидят однокурсники и в потугах пытаются получить зачёт. Вопросы отлетают, как от стены. В итоге препод пытается вытянуть ребят хотя бы на минимальную оценку.

— Что такое класс?

Ответа закономерно нет.

— Ладно, что такое полиморфизм?

Бедный студент начинает рыться в памяти на предмет знакомых ему понятий:

— Ну, я знаю, что такое гомоморфизм, изоморфизм, эндоморфизм, автоморфизм и даже диффиоморфизм, а о полиморфизме слышу впервые.

<p>#5328: В сценическом образе</p>

12:00 31.01.2011, IT happens

Нужно было мне от одного знакомого, не особо сильного в компах, получить файлик — ISO-образ в 600 метров весом. Пока я думал, поднять у себя FTP или объяснить, как пользоваться файл-хостингами, человек написал, чтобы я готовился принимать по электронке.

К вечеру я получил от него 30 писем, в каждом из которых лежал 20-метровый RAR-архив. Сразу же вспомнились старые добрые времена, когда на двух пачках дискет носили игры друг другу. Но сюрприз ожидал меня в конце. Распаковав этот многотомный архив, я получил… запароленный RAR-архив с нужным мне диском. Пароль мне знакомый потом сообщил по телефону, а причины решения объяснил так: «Ты же рассказывал мне, что надо осторожнее быть с информацией в сети, что важную информацию не стоит пересылать по небезопасным соединениям. Я не знаю, безопасна ли почта или нет, поэтому решил подстраховаться».

Люблю таких пользователей. Хоть и не всегда знают, как сделать, но стараются.

<p>#5329: Между трёх огней</p>

12:00 31.01.2011, IT happens

Ковыряю один не очень известный драйвер для восьми трёхцветных светодиодов, где яркость каждого цвета можно менять как тремя внешними резисторами, так и программно. Сам не так давно отказался от DIP-корпусов, почти всё использую SMD (в первую очередь резисторы).

Началось с того, что при пайке плату я повернул на 180 градусов (так было удобнее), а микру нет — но это полбеды. Всё припаял заново, даже смог управлять. Быстренько зашил в контроллер таблицу синусов, настроил таймеры, и по светодиодам весело побежала радуга. Радость была недолгой: красная составляющая резко стала явно преобладать над остальными. Не беда: поправил константу, и всё встало на свои места. Вскоре возникла та же проблема, но уже с синим цветом. Начал подозревать перегрев драйвера, однако палец почти не чувствовал тепла. Стал ковырять программу, пробовал вызывать функцию инициализации драйвера по несколько раз, уменьшил скорость передачи до 10 байт в секунду, пропаял все разъёмы — ничего. «Баланс белого» гулял, как ему вздумается.

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

Разработчики и радиолюбители! Если уж используете активный флюс, так смывайте тщательно. Удачи в творении — и поменьше нервничайте.

<p>#5330: Золотая раздача платинового альбома</p>

14:00 31.01.2011, IT happens

«Left its seeds while I was sleeping», — пели Саймон и Гарфанкел в далёком 1965 году, задолго то того, как на нашем национальном трекере ввели систему подсчёта рейтинга.

<p>#5331: О сложности простоты</p>

14:00 31.01.2011, IT happens

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

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

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

Перейти на страницу:

Все книги серии Bash.org.ru IT Happens

Похожие книги