bash.im ithappens.me zadolba.li
12777

Сто программ — сто проблем

1 ноября 2014, 08:00

Интересно читать истории про злобную винду и проблемы с переводом времени. Если авторы считают это проблемой, они никогда не работали с зоопарком различных продуктов на Linux.

Что я сделал перед сменой часовых поясов на Windows? Установил один апдейт, и всё само заработало.

А вот что пришлось сделать с серверами на Linux: установить апдейт зон в саму систему, затем установить апдейт часовых поясов для Java (и да, это делается отдельной программой, которую для старых версий ещё и поискать). Затем пришлось установить апдейты для Ruby. Ну, и последнее — для библиотеки интернационализации ICU. И, чувствую, это ещё не предел.

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

Open source породил возможность просто скопировать себе достаточно сложную логику, тем самым приведя к множеству несогласованных данных. Может, лучше, как в Windows: довериться системе и пользоваться её возможностями?

12776

С новым квантом

31 октября 2014, 08:24

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

Бухгалтерам, как и другим нормальным людям, такая точность нужна в очень редких случаях. В их учёте квант времени — это день; время внутри одного числа используется, только если с одним и тем же объектом произошло несколько последовательных операций, для отражения их очерёдности. «Жёлтый глюк» это понимает, кстати, и по умолчанию принимает начало периода за DD.MM.YYYY 00:00:00, а конец — за DD.MM.YYYY 23:59:59. Он вообще прямо из коробки понимает много чего — поэтому и задушил в своё время конкурентов, практически монополизировав российский рынок ERP-систем.

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

12775

Синяя, совершенно секретная

31 октября 2014, 08:12

Трудился я как-то на паре объектов на Крайнем Севере. Объекты немного военные, немного секретные и снаружи почти не видны, закопаны на несколько этажей вниз в вечную мерзлоту. Держат ли там «мёртвую руку», выращивают ли зомби или хранят остатки сбитых НЛО — мне не рассказали, а я не спрашивал. Так вот, когда эти бункеры копали, между ними заложили технический тоннель длинной полтора километра, а потом однажды его то ли затопило, то ли засыпало, то ли зомби-пришельцы вырвались, но стал тоннель недоступен, и между объектами прокинули защищенный радиоканал для обмена данными.

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

12774

Не спеши выполнять — отменят

31 октября 2014, 08:00

Люблю старые компы. XP на них тормозит, поэтому 2000-я винда — максимум. На неё патч «медведевского времени», разумеется, не выпустили. Выход из положения — под настроение: или жить в Абу-Даби, или слить ветку реестра с пропатченного XP и подгрузить в 2K.

А ещё у нас на работе харды не такие резиновые, чтоб вмещать весь мусор от семёрочных обновлений. Поэтому они отключены на фиг. Контора жила в Абу-Даби.

Симбиановская Нокия, от которой сложновато отвыкнуть. Патчей нет. Всё понятно — Абу-Даби.

Роутер, на замену которого фирма жмётся (ибо действительно исправно работает, только кондёры поменять раз в пару лет за премию). Сокращение поясов заморский производитель видал в гробу, а на модель забил, выложив исходники, в которых ковыряться времени нет и не будет. Без комментариев.

Наконец-то нас вернули поближе к астрономическому времени. Переезжаем абсолютно безболезненно в Москву-Питер-Волгоград-Казань, снимаем галку про переход… Патчи? Какие патчи?

12773

Стволы Сада Смерти

30 октября 2014, 14:48

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

В один солнечный и ясный день (не всегда погода попадается удачная) у меня случился монстр. Все сущности в мире имели два показателя: «здоровье» и «опыт». Трава сеялась (level 0), росла (level 1–2), цвела (level 3), плодилась (level 4) и жухла (level 5). С каждым уровнем она росла хуже, а вот умирала — лучше. Внезапно умирая, она превращалась в некротраву, и её нельзя было убить, только вылечить до смерти, а она продолжала прокачивать уровни. Вчера это были приятные красные цветочки, сегодня — жухлая зелень, а с завтра — всё сильнее крепнущие стволы Сада Смерти.

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

Если заказчик хочет условие «с …» реализовать знаком , а «по …» — знаком (или наоборот, смотря по коду), то есть «включительно», то это тоже вполне логично.

12772

Есть только миг между прошлым и будущим

30 октября 2014, 08:24

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

Писал какой-то отчёт, была несложная БД, в том числе таблица «События» с колонкой «Время».

Вот нормальный человек сколько натуральных чисел между Х и Х назовёт? Думаю, что ноль. Нет там чисел. А сколько для нормального человека прошло времени от X часов Y минут Z секунд до X часов Y минут Z секунд того же дня? Очевидно, что нисколько не прошло.

Так какого же хрена, когда бухгалтер выбирает DD.MM.YYYY и DD.MM.YYYY, он рассчитывает увидеть там события за весь этот день?

Конечно, сделал, как просили. И видел потом во многих других программах, в том числе и знаменитой жёлтой, то же самое. Но, товарищи, логика где?!

12771

Позвоночный патч

30 октября 2014, 08:12

Я работаю эникеем в городской больнице. Платят мало, работы много, технопарк огромный, машины все разные, а 80% пользователей с трудом пользуются мышкой. Но мне повезло!

Недавно у меня начала кружиться голова. Свалил это на перепады погоды, потом прошло. Сегодня пришёл на работу, дёрнулся, опять закружилась, аж чуть не упал. Пошёл к врачам, сделали УЗИ сосудов шеи — компрессия позвоночных артерий (между прочим, из-за сидения за компом). Прописали упражнения и воротник Шанца, плавание. Быстро, качественно, без боли и нервотрёпок.

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

Добра всем и крепких нервов. И занимайтесь спортом, что ли.

12770

Мы теряем корни

30 октября 2014, 08:00

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

В общем, поставили иксы, накатили браузер и дайлап-клиент. Цикорий прижали поплотнее — и ничего, так и проработал до 11-го класса.

12769

Как увидишь кабель, береги его — он ведь с красным знаменем цвета одного

29 октября 2014, 08:24

A long time ago in a galaxy far far away…

Тьху. Киев, 17 октября 2014 года.

Коварные монтажники «****стара» по указанию грозного ЖЭКа решили в подъезде уложить свои (да и не только свои) провода в короб. Заботу вроде как проявили.

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

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

— Твою мать! — сказал я, растянувшись на полу, и позвонил с жалобой на коварных монтажников в «****стар». Меня выслушали, извинились и пообещали решить проблему (не с моей ногой — с проводами и уборкой). На следующий день мне позвонили монтажники и клятвенно обещали, что в течении двух-трёх дней всё будет тип-топ.

Прошли выходные и ещё трошки времени. Дворник убрал мусор на площадке, и о скотском отношении «****стара» к людям напоминали висящие провода да ноющая нога. Звонить и дрючить их поддержку не было никакого желания, потому я решил при случае накатать жалобу в ЖЭК. Но эти дятлы сами мне позвонили с сообщением, что рассмотрение моего запроса откладывается до 27-го числа. «Мы нагадили, а чтобы мы убрали, сделайте запрос». Я много нехорошего подумал в сторону компании «****стар», мало чего из этого сказал в трубку по причине воспитания и попросил меня больше не беспокоить.

Тут и сказочке конец… Да хрен там, ещё не конец.

27 октября, 10 утра. Набираю код в редакторе. Звонок в дверь.

— Аварийная служба «****стара»!

Вот, думаю, молодцы: пришли всё-таки исправить свои косяки! Лучше поздно, чем никогда. Может, ещё и извинятся. (Ну вот наивный я — верю в невозможное.)

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

— Окей, — говорю, — аварийная служба, когда этот беспорядок с проводами убирать думаете?

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

@#$! Моим, на мою квартиру, пакетником!

Из квартиры послышался писк UPS при перегрузке (не держит он в последнее время почему-то). У меня перед глазами пробежали все набранные строчки. Я судорожно пытался вспомнить, сохранялся ли я, и вспомнил, что нет. Всё, что набрано непосильным трудом…

Налёт воспитания на мне стал исчезать моментально.

— @#$! — сказал я. — Вот перкуя ты ща это сделал? Ты какой пакетник рубанул?

— С красным проводом! — радостно отрапортовал ****старовский рукожоп. — Я посмотрел — красный идёт от нашего оборудования, это наш провод!

Запомните, друзья: красный провод — это провод «****стара», не дай вам Бог где-то его использовать, найдите в доме все красные провода и отдайте хозяевам.

— Опупенно! А чё тогда у меня электричество пропало, не знаешь?

— Ой! Я, кажется, перепутал выключатели. Но ведь красный же наш…

— Лучше бы при твоём зачатии кто-то дырки перепутал, — подумал я, но вслух ничего не сказал.

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

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

Вот я и решил теперь поинтересоваться: что мне делать с «****старом» и их оборудованием?

  1. Потроллить выключением электроэнергии, благо теперь знаю, что питание их оборудования выключается у меня в коробке. (Жаль абонентов, они не виноваты.)

  2. Через пару дней помочь «навести порядок» с проводами компании «****стар» радикально, кусачками под корень. (Опять же — жаль людей.)

  3. Попытаться добиться чего-то жалобами по инстанциям. (Якщо пан має час та натхнення…)

  4. Ждать и верить в порядочность компании «****стар». (А ещё можно верить в единорогов — результат тот же.)

  5. Ваш вариант.

Текст написан в состоянии озлобления и усиления боли в ноге.