Поиск по тегу "programmism" дал 527 результатов.

Дата добавления: 11:45:00 29.03.2011

Работаю штатным кодером в маленькой европейской стране. Меня всегда умиляла реакция людей, которым повезло заглянуть в мой экран и увидеть там что-то типа:

class Destructor() {

public function get_parent_location() …
public function kill_children() …
public function kill_child_by_parent() …

}


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

Коллеги, будьте внимательны — избегайте контакта запуганных юзеров с открытым кодом!

Теги: IT happens, истории, импорт, взаимонепонимание, программизмы, юзвери

Дата добавления: 10:00:00 29.03.2011

Учился я тогда на четвёртом курсе по специальности «Системное программирование». Жил в общежитии, пил пиво вечерами и кодил сутками. В соседней комнате жили два друга с первого курса, которые в программировании разбирались, как я в балете. Частенько мне доводилось делать им разные задания на «сях» да «плюсях», получая оплату в пиволитрах и бутербродометрах.

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

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

Пришёл, делая умный вид, несколько раз прочитал задание: «Бла-бла-бла… Чтение из файла… Сортировка строк…» Тут второй начал возмущатся:

— Да куда ж ему код писать? Он еле на ногах стоит!

Ответив что-то неприличное, я сел за комп. Что было дальше — не особо помню, но при каждой компиляции бегущие строчки окна логов вызывали головокружение и рвотные позывы, поэтому, нажимая F5, я закрывал глаза рукой.

Проснулся у себя в комнате. Надо мной стояли два первокурсника с довольными рожами и радовались пятёркам.

Теги: IT happens, истории, импорт, образование, программизмы

Дата добавления: 10:00:00 29.03.2011

Работаю я в конторе, связанной с производством программно-аппаратных комплексов для телевещания.

Утро, метро, очередь в кассу. На моё плечо ложится чья-то рука. Поворачиваюсь и вижу друга, с которым не виделись пару лет. Разговорились. Друг спрашивает:

— Чем на хлеб зарабатываешь?
— Программы для телевидения пишу.

В этот момент ко мне поворачивается стоящая впереди женщина:

— Молодой человек, это вы пишете программы для телевидения?
(слегка растерявшись) Пишу… А что?
— Тогда объясните мне, почему сериалы идут в такое неудобное время?

Пришлось двинуть стрелы на приказ начальства и посоветовать накатать жалобу на имя Эрнста.

Теги: IT happens, истории, импорт, взаимонепонимание, программизмы

Дата добавления: 10:00:00 27.03.2011

Эта короткая, но поучительная история приключилась со мной в юности, году этак в 93-м. Пребывая в глубоко промежуточном состоянии абитуриента и проскочив в универ без экзаменов, под конец лета я приналёг на водочку. Онажды за каким-то фигом (не помню уже зачем — родителям в помощь, наверное) потребовалось мне вечером запрограммировать какой-то график.

Ну, надо, так надо. Ничтоже сумняшеся, я, пошатываясь, вскрыл свежую пол-литру злого яда и на пару с оной плюхнулся за комп. Прихлёбывая, приступил. Всё, что помню — сначала на экран нужно было выплюнуть сетку координат десять на десять клеток. Дальнейшее — тайна, покрытая раком… Ни фига не помню.

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

Я таки нарисовал эту сетку координат. Запустил программу — всё пашет идеально. Вот только передо мной во всём своём непередаваемом великолепии красовались двадцать два последовательных вызова LineTo и столько же вызовов MoveTo с вручную расчитанными экранными координатами — и никаких циклов.

С тех пор зарёкся кодить пьяным. Уже сколько лет прошло, а до сих пор помню и содрогаюсь…

Теги: IT happens, истории, импорт, программизмы, факапы

Дата добавления: 08:00:00 27.03.2011

Потерял паспорт три года назад, написал заявление об утрате в МВД. Потом паспорт нашёлся, и заявление я забрал.

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

Теги: IT happens, истории, импорт, госконторы, программизмы

Дата добавления: 09:00:00 26.03.2011

В конце восьмидесятых у нас в школе появились компьютеры — клоны «Синклера». В системе были предустановленные игры и поддержка Бейсика, разумеется. Наглядевшись на всё это, мой друг решил написать собственную игру — лучше тех, что были в комплекте. И написал. Это была простенькая двумерная космическая стрелялка — для тех времён очень даже ничего. Я был назначен первым тестером.

Исхитрившись остаться после уроков в классе, я стал увлечённо играть. За сбивание звездолёта с первого выстрела игроку добавлялась в запас одна жизнь. Я набрал пятнадцать жизней и, пальнув по очередному звездолёту, ожидал прибавления шестнадцатой — но жизней стало ноль, и я умер.

Прошло уже больше двадцати лет, а я так и не полюбил компьютерные игры.

Теги: IT happens, истории, импорт, давным-давно, игры, программизмы

Дата добавления: 11:00:00 25.03.2011

Работаю в совершенно замечательной конторе, занимающейся веб-разработкой на базе коммерческой CMS на букву «Б». Понадобилось нам создать дополнительную примочку к административной панели. Важную миссию доверили вашему покорному слуге.

— А вот такой-то вариант вызова функции может быть? — поинтересовался я, когда продумывал алгоритм.

— Нет, что ты! Согласно концепции проекта такое невозможно. У нас всё будет по-другому, — ответил мне senior developer, сидящий за соседним столом.

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

Прошло три недели. Сижу, ковыряюсь в коде, и тут справа от меня раздаётся проникнутый удивлением вопль на весь офис:

— Что это?!

Подлетаю к «сеньору» и вижу на экране открытую админку, где вместо полей с данными для заполнения виднеется заветное сообщение об ошибке: «Горшочек, не вари!»

Теги: IT happens, истории, импорт, веб-разработка, программизмы

Дата добавления: 12:45:00 24.03.2011

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

Будучи обычным студентом обычного вуза, мой брат Саша помимо обычных студенческих увлечений уважал две вещи: программирование и хоккей. Именно поэтому в качестве обязательной для любого студента халтуры была выбрана полставочная должность инженера-системотехника в местном ледовом дворце. Да, в нашем уездном городке была своя хоккейная команда (назовём её «ГазМяс»), которая играла хоть и не на высшем уровне, но с довольно стабильной периодичностью занимала призовые места в своём дивизионе. Тренер «ГазМяса», дядя Вася, пользовался огромным уважением в кругах болельщиков.

Сашкина работа была довольно творческой и в основном заключалась в лечении внезапно глюкнувшего электронного оборудования. Особенно любимым занятием на рабочем месте была пляска с бубном вокруг электронного табло. Монохромная светодиодная панель через пень-колоду была подключена к гордости завхоза ледового дворца, старенькому 286-му с 640 килобайтами памяти и 30-мегабайтным винчестером. Работой табло управляла писанная на Сях программка, сопровождение которой передавалось по наследству от одного инженера-системотехника к другому. Жил мой брат да не тужил, но в один прекрасный день пришёл домой сильно пьяным, а наутро подал заявление об уходе. О причинах такого поступка он рассказал мне только через десять с лишним лет, и то после очень хорошего количества совместно принятого на грудь алкоголя.

Шёл февраль, хоккейный сезон подходил к своей кульминации, и мой брателло начал было грустить по поводу будущего вынужденного отпуска, как вдруг в один прекрасный день к нему в каморку зашёл профсоюзный деятель с предложением скинуться на подарок к дню рождения дяди Васи. И тут Сашка зажёгся Идеей! Лучший подарок для тренера что? Разумеется, победа любимой команды!

Идея была простой и гениальной. Большинство очков «ГазМяс» терял, лидируя в конце матча с разницей в одну шайбу и пропуская гол за несколько секунд до конца встречи. Соответственно, если как-нибудь уменьшить время игры, то и вероятность неблагоприятного исхода была бы меньше. Помимо судьи-хронометриста, контрольный секундомер которого благополучно пылился в ящике стола, единственным источником точного времени было пресловутое табло. Идея Саши заключалась в следующем: модифицировать табло так, что если «ГазМяс» ведёт, то смена секунд происходила бы не через одну секунду реального времени, а приблизительно через 0,9 секунды. Разница для человеческого глаза во время игры практически незаметная, но для игры — довольно критическая.

В программу было внесено следующее условие:

for (i=0; i<2; i++) { // Мы не знаем, в каком порядке команды будут на табло
if (startswith(lower(team[i]), "газмяс") { // Пусть мелочь из «ГазМяса-2» тоже порадуется
teamindex = i;
}
}

if (score[teamindex] > score[1 - teamindex]) {
quantifier = 0.9;
} else {
quantifier = 1;
}

Изменения были успешно протестированы на второй команде. Наступил день рождения уважаемого тренера, по совпадению ставший и днём очередного матча «ГазМяса». Саша, предвкушая радость дяди Васи вечером, отправился сдавать последний экзамен сессии. Только вот препод попался на редкость въедливый, и освободиться брату удалось только часов в восемь, аккурат к окончанию третьего периода. В нетерпении он зашёл на трибуну и обомлел. «ГазМяс» проигрывал одну шайбу, до конца игры оставалось десять секунд. Вбрасывание, пас назад, к левому борту, в центр, бросок… Шайба вошла в ворота соперника «ГазМяса» на мгновение позже сирены. Судья покачал головой и развёл руки в стороны, показывая, что взятие ворот засчитано не будет. Сашка посмотрел на табло. Местный «ГазМяс» встречался с «ГазМясом» из другого города. Украденной десятой доли секунды не хватило до ничьей.

К счастью, о произошедшем никто не узнал, а на турнирном положении «ГазМяса» потеря двух очков так в итоге и не отразилась. Мой брат живёт и работает сейчас в Штатах, пишет программы для микроконтроллеров, которые использует NASA в своих спутниках.

Теги: IT happens, истории, импорт, давным-давно, программизмы, факапы

Дата добавления: 12:45:00 22.03.2011

На втором курсе нам преподавали Delphi. В конце года сказали для доступа к экзамену задали написать программу. Дали темы, провели несколько консультаций и сказали: «Шуруйте!» Однокурснику Андрею выпало писать игру «Танчики».

Сдав свои проекты и стоя в коридоре, мы обсуждали, кто как сдал и как писал код. Тут из кабинета послышались громкие возгласы: кто-то сильно удивился. Мы решили проверить, что стряслось, и, войдя в кабинет, увидели толпу около Андрея.

Посмотрев пояснительную записку, преподаватель, мягко говоря, офигел. У всех записки вышли на 10–30 листов, а у Андрея их было около 400. Танчики ездили, стреляли, врезались в стенки, даже мины работали, но в коде не было ни одного цикла и ни одного массива. Переделывать программу преподаватель просить побоялся — мало ли что ещё вылезет!

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

Теги: IT happens, истории, импорт, игры, образование, программизмы

Дата добавления: 11:00:00 21.03.2011

Повадилась одна система валиться, причём в каких-то левых местах, каждый раз в новой подсистеме. А поскольку программа должна была бить рекорды надёжности (что-то там на электростанции измерять), то по шапке получили все, в чьих подсистемах были замечены падения.

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

Итак, есть подпрограмма:

1. Объявляем массив для хранения имени файла.
2. Адрес этого массива передаём в другую подпрограмму, где в него заносится имя файла, файл загружается, и с ним довольно долго работают.
3. Выходим из всех подпрограмм наверх, в главное меню.

Как вы думаете, что лежало в памяти за «хвостом» массива? Правильно, адрес возврата из подпрограммы. Классическое переполнение буфера: стоит записать в массив на один символ больше, и по возврату из подпрограммы нам гарантирован полёт в неизвестность со всеми спецэффектами.

Заключительный аккорд: размер массива зарезал сам начальник. Молодость программистскую, блин, вспомнил. Программа-то 16-битная была, стек, соответственно, больше 64К быть не мог. Вот и оказал нам шеф свою посильную помощь, снизив нагрузку…

Теги: IT happens, истории, импорт, программизмы

[ << | 1 | ... | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | ... | 52 | >> ]