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

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

Несмотря на то, что друг делал всё строго по инструкции, я решаю попробовать те же действия сам. Повторяю почти всё, только вкрадчивым голосом говорю девайсу: «Ты поставишь мне эту прошивку» (кто играл в Postal 2, поймёт). Чудо! Прогресс-бар начинает медленно заполняться. Другу с квадратными глазами я в спешном порядке вручаю бубен (шутки ради установленное на телефон приложение), тот начинает в него бить и, уже поняв, что надо делать, мычать что-то на одной ноте.

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

<p>#7966: Аккорд на резистивном экране</p>

2:00 07.12.2011, IT happens

В моду вошли сверхдешёвые андроидные планшеты. Всем они хороши, вот только на экран надо давить с недюжинной силой. Айтишник, пожалуй, смирится, а гитарист найдёт выход. Конечно, жать на экран надо медиатором!

Только что своими глазами увидел в автобусе. Да, есть нам, айтишникам, чему поучиться у гитаристов.

<p>#7967: Удел глупцов</p>

14:00 07.12.2011, IT happens

Уважаемый как бы программист и автор истории «Как жаль»! К сожалению, я не работаю над сверхкрутыми проектами. Я вообще ещё учусь. Однако за три курса я очень хорошо усвоил, что идеальных программистов не бывает и никогда не будет. Но бывают идеальные коллективы программистов. Такие коллективы могут выполнить любую задачу, потому что каждый спокойно помогает своему коллеге.

Объяснять простые вещи нудно и глупо. Я полсеместра объяснял своему однокурснику, чем отличается UpdateData(TRUE) от UpdateData(FALSE). Глупо? Глупо. Однако теперь он так же спокойно объясняет мне элементарные вещи из электродинамики, ибо её я понять не могу.

Вы сделали программу раньше, и вам это вскружило голову? Несомненно, когда что-то получается быстро и качественно, есть повод гордиться. Но скажите мне на милость: почему кто-то должен знать, где находятся ваши проекты? В сети, где и все последние годы? Ответ довольно-таки странный. Неужели гордость не позволяет сказать путь? От этого язык не отвалится.

Когда работаешь в команде, нельзя всех равнять под свою планку. Когда-нибудь и вы окажетесь в неудобной ситуации. Представьте, понравилось бы ли вам такое отношение?

Мне жалко не того «тоже программиста», а вас. Вы стали программистом случайно. Настоящий программист может посмотреть на себя со стороны и не кичиться своими знаниями.

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

Хочу закончить вашими же словами: «Все совпадения с реальными людьми прошу считать неслучайными».

<p>#7968: Ни дня без развлечений</p>

14:00 07.12.2011, IT happens

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

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

Алгоритм протестирован, выдаёт верные результаты. Остаётся скромный допилинг до практически готового скрипта. Добавляю функцию из стандартной библиотеки, запускаю программу в режиме отладки… Окно «Unexpected error occured» вместо правильных результатов. Проверяю циклы, исключаю возможность бесконечной рекурсии, тестирую заново — то же самое.

Строчку кода, добавленную перед последним тестом, нафиг в комментарий:

// output = ini_read_string('res', string(global.resource_files[argument0]), '');

Та-дам! Алгоритм работает. Синтаксис верный, типы параметров совпадают — что неладно? Убираю комментарий, заменяю функцию, передающую в параметр строку, простой строкой вида:

output = ini_read_string('res', 'untitled.jpg', '');

Всё работает на ура. Думаю, вы уже догадались, в чём дело? Функция из стандартной библиотеки принимает в качестве параметра строку и работает с ней без проблем, а с функцией, передающей абсолютно идентичную строку в параметр, вылетает, выдавая неопознанную ошибку.

Спасибо вам, дорогие индусы-разработчики! Без вас было бы так скучно!

<p>#7969: И айфон-то у вас китайский</p>

15:45 07.12.2011, IT happens

Читаю интернеты в Сафари с айфона. Внезапно сайт перенаправляет меня на WAP-страничку такого содержания:

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

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

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

Все жанры