Две замечательные функции END_OF_MONTH_DETERMINE и END_OF_MONTH_DETERMINE_2.
Находятся в группах FV03 и FV02 соответственно. При этом алгоритм практически повторяется. Видно, что вторая тупо списана с первой. Но автор второй, вероятно, решил не полагаться на автора первой, а иметь такую важную функцию под собственным контролем. Обе честно вычисляют високосность года, но только по юлианскому календарю. А чего заморачиваться — на ближайшие 90 лет-то хватит, а там пусть потомки решают «проблему 2100»…
Самая аккуратная реализация оказалась у разработчика конечного пользователя. Лаконичная, эффективная и снабжённая исчерпывающими комментариями. Это и понятно — он ведь заведомо не индус.
#9561: Драная, дырявая
12:15 14.07.2012, IT happens
Осмотрел компьютер в цеху, предложил привезти к нам на ремонт. После обеда компьютер был у меня, но уже без лицензионной наклейки.
— Где наклейка?
— Было стыдно нести грязный компьютер, — ответила наивная женщина-пользователь. — Я протёрла, отодрала какую-то бумажку и с чистой совестью отправила к вам.
#9562: Коробочка с интернетом
12:15 14.07.2012, IT happens
Устроился на завод, в цех, где не требуются знания компьютеров. Вся работа ручками и глазками — приборы, паяльники, микроскопы… И всё же в свободное время отсутствие халявного интернета на коммуникаторе несколько не устраивало. Просканировал вайфай в округе — ловится весьма хорошая точка, работает, хоть и со слабым сигналом, только в конце участка и около окна.
По приходе домой достал замученный бывшим владельцем известный 320-й роутер с горелыми портами. Восстановил бутлоадер через JTAG, прошил в DD-WRT, нашёл полудохлые банки ноутбучных аккумуляторов и притащил утром на работу. Питание роутера завёл от аккумов, с коммуникатора попытался поднять беспроводной линк. Жутко неудобно и хреново выходит.
На следующий день взял с собой нетбук. Дело продвинулось, но роутер подчинялся плохо. Бегать делать хард-ресеты надоело. Появился вопрос создания беспроводного механизма, чтобы замыкал кнопку сброса на 15 секунд. Схемы в интернете не удовлетворяли моим требованиям.
Озарение пришло дома. Выйдя покурить на балкон, зацепился взглядом за разбитый китайский радиоуправляемый вертолёт. Снял приёмник-контроллер, из 3310-й «нокии» выкорчевал моторчик, взял пульт. На работе приступил к сборке. К моторчику припаял лопасть из полоски латуни, кнопку в роутере перепаял на 180 градусов, рядом закрепил моторчик, прицепил ограничительный резистор и аккумы. Вместе с контроллером и ранее изготовленной биквадратной антенной смонтировал внутри роутера. На пульте нажимаю рычаг газа — моторчик хлопает лопастью по кнопке и держит, пока не отпустишь рычаг. Шикарно!
Шайтан-девайс закинул на шкаф у окна, растянул метра три провода от приёмника. Не вставая с рабочего места, быстро настроил беспроводной мост и оставшуюся пару рабочих часов провёл уже в интернете, почитывая свежие вести с IT happens.
Со временем о точке узнали молодые коллеги. В обмен на пароль обязались заряжать девайс по окончании рабочего дня. Я же, помимо кнопки ресета, внедрил возможность включения и выключения питания с того же пульта, но через релюшку. Красота!
#9563: Синий зуб звонит бревну
12:15 14.07.2012, IT happens
Сегодня заходил на один сайт о строительных материалах. Обычный шаблонный сайт, таких миллионы в интернете. Сразу отметил несколько признаков индусского быдлокода:
— Отсутствует 301-й редирект. Сайт работает только с WWW.
— Работает только под «ослом». Пришлось запускать через Wine.
— Отсутствует поиск.
— Имеется русская локализация, но переведённая в стиле «Синий зуб — Позвонить бревну».
— В некоторых местах русский язык вообще отсутствует, текст написан на английском.
И как тут не вспомнить бородатый анекдот, как программисты строили дом?[2]
#9564: Голенькие одноклассники
12:15 14.07.2012, IT happens