12392

Воспитанные в скромности

Термостат настраивал. Вспомнил уроки информатики в четвёртом классе. БК-0010 с Бейсиком, 16-битный процессор, 32 килобайта ПЗУ, 16 ОЗУ, 16 видеопамяти, разрешение 512×256, несколько десятков клавиш. Достаточно ресурсов, чтобы сделать имена переменных многосимвольными. Но они односимвольные.

А термостат? Внутрь не лазил, но навскидку — контроллер восьмибитный, ПЗУ килобайт восемь, ОЗУ килобайта два. Видеопамять отсутствует как класс, индикация — восемь семисегментных знакомест. Кнопок всего три. Казалось бы, надо каждый байт экономить, но нет — имена переменных четырёхсимвольные.

Что имеем в первом случае? Программистов, которые задолго до БК работали на чём-нибудь с намного более ограниченными ресурсами и, получив в распоряжение машину с бóльшими ресурсами, от привычки экономить память не отказались.

А во втором? Наоборот. В распоряжении программистов современная персоналка, которой БК по ресурсам в подмётки не годится, где экономить не надо ничего, а когда понадобилось написать прошивку для контроллера, где ресурсов меньше, чем в БК — привычка экономить сама ниоткуда не взялась.

Потому что ничего само ниоткуда не берётся. Даже привычки.

12391

Трагическая смерть за день до пенсии

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

Наткнулся на одном форуме на длинную тему, начатую в 2007 году, а оконченную аж в 2012-м. Вся она посвящена вопросу, как «без палева» (слово-то какое!) перед самым окончанием гарантийного срока испортить мобильный девайс так, чтобы на экспертизе решили, что он сломался сам, и вернули деньги.

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

Не нравится нечестность многих (не всех!) мастеров? Боритесь с ней не негативными, а позитивными методами. Каждая неисправность индивидуальна, каждый пользователь индивидуален, каждая железка индивидуальна. Чувствуете, что справитесь — направьте свои скиллы не на поломку «без палева», а на самостоятельный ремонт. Чувствуете, что не справитесь — проголосуйте рублём за того ремонтника, который не обманывает. Обманывающий сдуется сам. А то выдумали: пока одни стараются продлить срок службы устройства с установленных производителями двух-трёх лет хотя бы до десяти, что вполне реально, другие искусственно его портят. Не смешно самим-то?

Я нового ничего не сказал. Такое давно имеет место на одном форуме по ремонту холодильников. Там мастера не секретничают, а обладают невероятным чутьём. Чувствует ремонтник, что клиент справится сам — жертвует хлебом, чтобы спасти репутацию. Во всех подробностях рассказывает, где купить запчасть и как её поставить. Чувствует, что не справится — объясняет, почему лучше самому не лезть, предлагает свои услуги и получает честно заработанный хлеб. А клиенты, в свою очередь, не занимаются выкрутасами с гарантиями. Вот бы эту идиллию, да в мир мобилоремонта!

Есть фирма, названная в честь того, что погубило построенный профессионалами «Титаник», но не тронуло построенный любителем ковчег. Там есть как мастерская, так и магазин запчастей для желающих починить самостоятельно. Выбирай тот путь, который нравится! И рубрика «вопрос — ответ», где можно получить совет. И, что характерно, глыба эта уверенно плавает по рынку десятилетия два, никого не задевая, и сама не разоряется.

12390

Доктор, я слышу регистры

Без общения с единомышленниками обладатель любого хобби действительно зачахнет. А будет ли это общение реальным или виртуальным, не столь важно.

Год был 1996-й. Так получилось, что я оказался единственным ретрокомпьютерщиком на весь свой район и несколько близлежащих. У меня — ZX и БК, у остальных — либо приставки, ретрокомпьютерами тогда не считавшиеся, либо разнокалиберные PC от 286-го и выше. В школе — тоже не первой свежести, но PC. Интернет и Фидонет были недоступны по причине страшной дороговизны модемов. Общаться на тему ретрокомпьютинга было абсолютно не с кем. А хотелось!

Как-то увидел телепередачу о неком клубе-центре для реабилитации шизофреников. Реабилитация была многоплановой: арт-терапия, музыкотерапия, сценическое искусство и… программирование. Увидев класс для последнего вида терапии, я обомлел: стройные ряды величественных Daewoo CPC на Z80!

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

12389

Дата в базе, ноль в уме

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

Утром меня ждало письмо с заголовком «Ни черта не работает». Удивляюсь: кроме меня, на сопровождении этого софта больше никто не работает, вчера всё проверял при тестировщике. Запускаю программу — реально ничего не работает! Точнее, записи по кругу импортируются, как в бесконечном цикле.

Данные источник поставлял в виде XML-сообщений, а уникальность проверялась по дате создания. Почему-то творец логики решил особо не заморачиватся с парсингом и сравнивал записи о дате создания как строки. В источнике формат dd/MM/yyyy, в приёмнике — d/MM/yyyy. А так как моя работа над всем этим пришлась аккурат под конец месяца, баг только сейчас и всплыл. Закончил бы раньше — так бы и не узнали до продакшна. Как это не выловили за два долгие года работы на продакшне — ума не приложу.

Две вещи, которые я вынес из всего этого:

  • я никогда не смогу учесть всего, и моё творение обязательно упадёт/зависнет в последнюю секунду 29 февраля високосного года;

  • данные нужно приводить к виду, с которым нужно работать.

12388

Сосём при свечах

Работал я эникеем около года и решил, что пора расти. Пошёл учиться в некую %academyName%, где обучают всяким IT-специальностям. В группе, ориентированной на программирование и системное администрирование, оказалось, к моему удивлению, две девушки.

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

— А как долго должна заряжаться батарея от UPS?

— Ну, смотря какая батарея.

— У меня бесперебойник неделю стоит пищит, светится индикатор «Батарея заряжается». Сначала, когда его купили, такого не было, а потом я включила в него пылесос…

Дальше все ржали.

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

12387

Заслать дурачка

Какой способ насолить конкуренту эффективнее, чем заслать казачка? Заслать дурачка.

Дурачок нечаянно натворит больше бед, чем казачок специально. Не говорите ему, для чего засылаете. Просто зашлите. Дальше он, сам того не ведая, сделает всё сам. Потом его, конечно, выгонят, но перед этим он успеет попортить конкуренту немало нервишек.

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

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

12386

Хвостатая, к ноге!

Новое значение фразы «сделано на коленке» преподнесла мне новая мышка для ноутбука. Зараза оказалась очень привередлива к поверхности, но неплохо работает на тёмной ткани. То есть на штанах. Теперь у меня есть несколько презентаций, свёрстанных буквально на коленке.

12385

Александр Сергеевич Колокольчикомаслогусиноид

Пушкин понятия не имел, из-за чего к нему в дверь постучались жандармы. До той дуэли с Дантесом было ещё далеко. С порога они сказали, что долго искали кнопку звонка, которой не было. Как пользоваться колокольчиком со шнурком, они не поняли. Пришлось вспомнить, как стучать.

— Это чтобы патент на электрический звонок не нарушать.

— Угадали, Александр Сергеевич. Мы за этим и пришли. Покажите-ка стол, за которым пишете. Стальных перьев нет? Патент не нарушаете на них?

— Ну, что вы, что вы. Только гусиные, на них нет патента.

— А вот эта лампа? Керосиновая? На неё тоже патент.

— Масляная. Можете снять абажур и убедиться сами.

— Хм. Снимается!

— Да, масляная лампа удобна. Можно разобрать. И пересобрать.

— Колокольчикомаслогусиноид, что ли?

— Так точно!

— Не знали, не знали… А скажите, когда ваши стихи и прозу под керосиновыми лампами читают, проблем с отображением у читателей не возникает?

— Каких ещё?

— Ну, буквы не прыгают?

— А, слышал про такой стереотип. Нет, не прыгают.

— Хорошо, будем знать. К вам больше претензий нет. До свидания!

— Надеюсь, не до скорого!

12383

Ты здесь хозяин, а не гость

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

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

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

— Корзину первым делом проверь.

— А, не, уже нашлись. Кто-то включил учётную запись гостя, и так как на компе всего две учётки — «Андрей» и «Guest», то мужик решил, что он точно не «Андрей». Это его сын, кстати.

Всё, проблема решена. Вешает трубку. Через десять минут перезванивает:

— Серёга, объясни, пожалуйста, клиенту, почему он должен мне платить, если я всего лишь вошёл?

12382

Как вашим нейронам угодно

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

Приведу пару аналогий.

Инженер разработал проект здания, утвердил его, отдал строителям на реализацию. Строители посмотрели на чертежи, прикинули, как это сделать, уточнили некоторые нюансы с инженером и ушли строить. Несколько раз во время постройки, в какие-то ключевые моменты, приглашали инженера посмотреть, как проходят работы и устраивает ли его. Инженер молча кивал. Момент истины: здание готово! И тут вдруг инженер начинает негодовать и доказывать, что такого у него в чертежах не было, он изначально не мог не возмущаться на этот фундамент, и вообще, нужно сносить и строить заново по другим чертежам. На его же подписи в изначальных чертежах и документах реагировать каким-либо образом отказывается.

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

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

И, наконец, самый великолепный и очаровательный подвид (и сюда относятся не только девушки): «не знаю как, но пусть работает». Сюда отнесу тех, кто хочет, чтобы программа в формуле расчётов имела дополнительно ещё пару динамических чисел, которые хранятся у пользователя если не на бумажке, то в голове, и чтобы программа эти числа предугадывала; предложение о всплывающем окне ввода чисел с клавиатуры воспринимается как богомерзкая ересь. Когда я отшутился такому пользователю, что регламент его предприятия не позволяет закупать нейроинтерфейсы для работы с компьютером, он на полном серьёзе написал прошение о закупке оных и разрешении лично ему с ними работать. Почти все сотрудники были в истерике от комичности ситуации, кроме него и тех, кто не понял, в чём юмор. Ещё один такой в другой конторе заявил: «Хочу, чтобы вы написали программу, которая будет предсказывать момент обрыва интернета», — видите ли, чтобы он мог предупредить собеседника в соцсети, что ответить какое-то время не сможет. Для тех, кто не осознал, что он имел в виду: он хотел программу, которая будет выглядеть как таймер, отсчитывающий секунды/минуты/часы/дни до следующего разрыва связи с интернетом.

Добра всем!