* * *
Сегодня пришло письмо:
iPhone 4S 32 ГБ на базе Android по очень низкой цене!
Перейти на сайт
Так и живём.
#9894: Ноль по наследству
12:15 19.09.2012, IT happens
Технический вуз. Первое знакомство с ассемблером. Задание на лабораторную работу: написать прогу, которая демонстрирует работу конструкции if-then-else. Собственно, с клавиатуры вводится число, и если оно не равно 10, то преобразуется по одной формуле, а если да — то по другой: x = 5x ? 45.
Программу написал быстро. Проверка на неравенство прошла нормально. Остаётся проверить при х = 10, и можно со спокойной душою сдавать, тем более что преподаватель обещал поощрить двух самых быстрых кодеров.
Ввожу «10». Программа быстренько прыгает по регистрам, по флажкам и в конце бодро выдаёт мне результат: «50». Я, конечно, почти ничего против не имею, но ответ должен быть ровно в десять раз меньше. Следующие несколько минут проходят в подробном изучении синтаксиса ассемблера: лекцию ведь я бессовестно проспал. Однако даже после этого программа непреклонна — «50», и всё.
Люди понемногу начинают сдавать свои программы. Некоторые собираются возле меня, и мы вместе начинаем искать ошибки. Проверяется свыше десятка альтернативных вариантов, но ответ при этом не меняется. Самое обидное, что в аккумуляторном регистре, содержание которого в итоге и выводится на экран, хранится заветное «05», но увидеть пятёрку на экране почему-то не судьба.
Только когда пара уже почти заканчивалась, я, как это обычно бывает, внезапно понял, в чём дело. Проверяя условие, которое работало нормально, я вводил, например, «3», и получал ответ, скажем, «49». А здесь я вводил «10» в начале первой строки консоли, программа мне выводила «5» там же. Соответственно, нолик от введённой мной десятки благополучно переезжал в новое число — об очистке экрана или переносе на новую строку никто ведь не подумал…
Мало написать программу, которая может решить вашу задачу. Нужно ещё понять, что она выводит вам в ответ.
#9895: Под тёплым виндовым крылышком
12:45 19.09.2012, IT happens
Я пишу программы. Раньше по большей части это были десктопные приложения, сейчас в основном занимаюсь облачными решениями и вебом.
С десктопными мороки было больше. Несмотря на обилие документации, требовалось знать некоторые особенности известной многим библиотеки классов: в определённых ситуациях программа начинала вести себя не так, как планировалось, и требовался отладчик для выяснения причин. Причины, как правило, были в многоуровневом наследовании классов, но это отдельный привет апологетам ООП, да и вообще не о том сейчас речь. Плюс к тому — проблема с версиями библиотек: иной раз выверенная программа внезапно начинала глючить после установки какого-нибудь пакета, заменившего парочку системных файлов.
Сейчас всё значительно проще: протоколы детально описаны в стандартах, подключаемые библиотеки работают согласно спецификациям, а сомнительные с точки зрения надежности фреймворки и библиотеки я просто не использую.
Ну и о чём эта история, скажете вы? Обычное дело, программистские будни. Просто я не начинаю с первых строк акцентировать внимание на том, что глючная библиотека — это MFC от MS, что у встроенного редактора ресурсов Visual Studio был неприятный баг с подвисанием при определённом сочетании условий, что теперь мне легко и комфортно работается в опенсорсе, где я фактически забыл о существовании дебаггеров за ненадобностью, что вынос пользовательских приложений в облако позволяет существенно сократить издержки на поддержание зоопарка ПК со всеми их вирусами-антивирусами и проч. Тем не менее, всё именно так.
Почему-то в последнее время всё чаще попадаются истории, построенные по совсем другому шаблону: «Как я попробовал опенсорс, как это ужасно-сложно-неудобно, лучше пользоваться Виндоус, если у вас есть жена и дети». То у них Андроид хуже Винфона, то у них симлинки в линуксе падают, то ещё какая напасть — но непременно надо подчеркнуть, что причиной всему — опенсорс, а тут жена и дети, поэтому надо пользоваться Виндоус. Это такая информационная война или просто нашествие криворуких ламеров?
#9896: Свежемороженая админятина
12:45 19.09.2012, IT happens
Попросили как-то раз на одной бирже настроить VPN, чтоб торгаши из дома могли коннектится в систему и торговать. Админ тамошний заведует софтом для торгов, а вот с Керио не дружит. Ну ладно, где наша не пропадала?