Есть у нас в рабочей среде одна женщина. Не глупая. Настолько знала все рабочие процессы, что умеючи заискивая с начальником отдела, проталкивала решения, по которым те обязанности, которые раньше выполняла она, перекладывались приказом на иных лиц. Неплохо так себя разгрузила за пару лет. Потом при очередной оптимизации сверху выяснилось, что она практически ничем не занимается и была первой сокращена.
Я со своей будущей супругой работал в одной конторе и в одном кабинете. Она бухгалтер, я - сисадмин. Мы только начали как-то общаться и слегка проявлять симпатию. Однажды пили чай вместе, болтали, и она рассказала, что уже неделю делает какую-то нудятину а-ля сведение нескольких огромных таблиц в Excel.
Конкретную задачу за давностью лет уже не вспомню, но примерно суть была в чем: берем строку из первого файла, там есть код транзакции. Во втором и последующих документах есть одна или несколько соответствующих строк этой транзакции, но с другими данными (платеж там на несколько разбит или еще что), при этом код этой строки содержит в себе код исходной, но формат у него другой, и даже несколько разных видов. Нужно найти эти соответствующие строки, посчитать по формуле числа из разных колонок, и если результат не сошелся с исходным файлом - значит чего-то там не бьется, и нужно по этим транзакциям уточнять.
Собственно задачей супруги и было составление списка транзакций и контрагентов, по которым чего-то не хватает. Документы по несколько сотен строчек каждый, и задача повторяется каждый квартал. Времени она на это обычно тратила около недели, головные боли и красные глаза прилагались.
Расспросив подробности и смекнув, что задача абсолютно рутинная, и ее грех не автоматизировать, я ей это и предложил. В итоге получил несколько примеров старых файлов с уже известным результатом потренироваться, приступил к исполнению.
Ну и короче моих знаний VBA и макросов Excel хватило на то, чтобы через пару дней я презентовал ей первый вариант "программы", где достаточно было положить все файлы в одну папку, обозвать нужными именами и нажать кнопочку "Сделать красиво" на форме - и спустя пару минут был готов итоговый файл, удовлетворяющий искомому результату. Список появился, нужные строчки в исходных файлах выделялись цветом, чтобы их можно было легко найти.
Девушка была в восторге, еще бы, потратить две минуты времени на то, что она раньше делала неделю!
Конечно потом нашлось несколько косяков, потом пришла новая форма исходников, я еще несколько раз дорабатывал свой макрос, а потом я уволился с той конторы, мы поженились, стали жить поживать, да иногда эту историю с макросом вспоминать.
Мораль: знание даже основ программирования может пригодиться вам в совершенно непредсказуемых обстоятельствах. Или нет.
Коллега с работы рассказал, про то, как страшно и необычно он когда то словил инсульт. Дело было года три назад. Коллега, назовём его Юрик, человек в меру ответственный, почти спортсмен, бухает только по пятницам и редко по субботам. Вобщем в тот хуёвый день сидел он на работе не как обычно до шести вечера, а отпросился домой пораньше, какая то тревога его охватила. И так домой заторопился, что даже телефон на работе оставил. Прыгнул он значит в маршрутку, остановка у него самая последняя в Мурино, и заснул по дороге, в телефон то не позалипать. Просыпается в маршрутке рядом со своими новостройками почему то совершенно один, даже водила куда-то ушёл, может покурить. Да и похуй на него, почесал Юрик к своим новостройкам дабы успеть отдохнуть до следующего рабочего дня. Идёт, торопится, а только ноги, как чужие после сна, как буд-то вязнут в асфальте. С трудом добрался до парадняка, видит дверь нараспашку, света на площадке нет. Ну, думает, бляди застройщики, проводка говно, напругу не держит. Поднимается к лифты, а тот то же не работает. Делать нечего, поперся пешком на свой шестой этаж. Поднимается, а ноги вообще, как в вязкой глине, еле идут, вокруг темень, только высоко в пролёте тускло свет горит и какой то звук низкий, как от дизельного движка. Юрику уже откровенно хуево и страшно стало, мысль одна, лишь бы дойти. На третьем пролёте решил он присесть передохнуть. Опустился на ступеньку, помассировать ноги, вдруг чувствует, как будто рука чья то на плече, обернулся назад, а там в темноте какой то силуэт, хуй разберёшь кто. Заорал Юрец от испуга и пизданулся в обморок,а очнулся уже на койке в больнице,весь в трубках. Дождался сестры и сразу спросил, кто его сюда доставил. Короче выяснилось, что упал он без сознания ещё на работе, инсульт у него случился, а всё остальное ему приглючилось как в хорошем кино, только с личным участием. Жизнь постепенно наладилась, ноги ходят, голова думает, хотя здоровья уже не восстановить. А фильм этот с собой в главной роли, никогда не забудет.
Недавно знакомый принес трехминутное видео и пожаловался, что его компьютер не воспроизводит этот формат, а ему надо посмотреть видеофиксацию административного нарушения.
Включили на моем, смотрим. На экране торговый зал крупного сетевого магазина. Народу прилично и все без масок.
- Ну вот, - говорю, - сколько нарушителей, выбирай на вкус.
- Нет, масочный режим ввели с понедельника, а это съемка раньше была.
- Тогда вот этот мужик в шортах! Смотри, берет с полки помидор и ест, да еще подругу угощает!
- Нет это не нарушитель.
- Как не нарушитель? Помидор укусил два раза и на место положил! Потом проделал тоже самое с яблоком.
- Мы этим не занимаемся. Это – мелочи. Я тут недавно наблюдал, как один гражданин килограмм бананов почистил, в пакет сложил и на кассу пошел расплачиваться. И ничего с такими кадрами не сделаешь, а вот и наш нарушитель!
Я присмотрелся и увидел молодого парня с маленькой собачонкой на руках.
- А в чем его нарушение?
- Он в магазин с собакой зашел, а это запрещено! Теперь, как минимум, получит штраф размером в одну минималку, все можно выключать.
Знакомый ушел, а я задумался. Если за несколько минут столько удивительного произошло, чего же там работники магазина за целый день насмотрятся?
Работал я в банке, в ~2007 году. По приходу в этот банк - закупил новый сервер, поставил в туда новый опердень, поднял DC, протянул и настроил сеть, закупил и настроил новые машины для операционистов, всё завёл, всё работает. Ну, такой банк, да. Да, не было сети у многих. Но речь не об том.
Дело идёт к концу года. Я уже сижу и просто мониторю машины, бэкапы. Чегототам программирую от нечего делать.
Замечаю что главбух (Г) уже неделю задерживается чуть ли не до ночи. Интересуюсь что случилось.
Г: - Да вот, годовой баланс свожу
Я: - Ну так опердень же умеет. Давайте найду как
Г: - Да опердень то умеет но проблема в другом. Во первых, в опердне только часть транзакций, с того времени как внедрили. Во вторых, есть старый опердень и там ещё часть транзакций за исключением тех, которые туда не попали из-за аварий и от тех транзакций осталось только платёжки.
Я: - Так, и что вы делаете?
Г: - Ну вот у меня есть старый опердень, есть новый, есть текстовые файлики с платёжками. Вот это всё в эксель переношу и считаю.
Я: - Понял. Могу помочь. Рассказывайте что в итоге должно быть и как считать.
Главбух бровь подняла, но начала рассказывать. В итоге я понял что в принципе достаточно ей html странички, где по каждому счёту нужно показать остатки. Показала где какие данные.
Взял я в руки perl и пошёл говнокодить. Сначала разобрался с новым оперднем. Делал в него запрос, в БД, вытаскивал данные в нужном формате. Во вторых, старый опердень. БД - dbf. Тоже относительно просто откопал оттуда нужное. В третьих - файлики текстовые. Где-то cp866, гдето 1251… Конечно же регекспы! Провозился чуть дольше но и это осилил. Время от времени ходил к главбуху, показывал промежуточное и выяснял правильно ли иду. На третий день уже она начала мне помогать. Про двойную книгу рассказала, местами помогла найти ошибки в логике расчётов. В общем, недели две или три вот так вот мы с ней в команде работали и таки родили результат. Довольная была как не знаю даже кто. Говорила что сама бы провозилась месяца два минимум.
Собственноручно выписала мне премию хорошую такую за труды. И до сих пор при встрече всегда здоровается, улыбается интересуется делами и так далее.
Счастливым человеком стать проще, чем счастливой женщиной.
Почему так дорого?
Заказчик:
- Сколько будет стоить выполнения этой работы?
Мастер:
- 1500$
Заказчик:
- Почему так дорого?
Мастер:
- А сколько по вашему мнению будет стоить эта работа, если вы выполните её самостоятельно?
Заказчик:
- Ну, максимум 800$. Ведь со стороны это кажется не сложной работой.
Мастер:
- За 800$ я предлагаю вам самостоятельно это сделать.
Заказчик:
- Но... Я не умею!
Мастер:
- Хорошо! Я научу вас этой работе за 800$ и вы приобретёте знания для следующего подобного случая.
Заказчик:
- Это интересное предложение. Я согласен!
Мастер:
- Итак, вам необходимо иметь с собой: сварочный аппарат, электропилу, дрель, перчатки и...
Заказчик:
- Стоп! У меня нет всего этого оборудования и я не буду его покупать только для этой работы!
Мастер:
- В таком случае, для выполнения этой работы, за 300$ я могу вам сдать инструменты в аренду.
Заказчик:
- Хорошо!
Мастер:
- Договорились! Во вторник жду вас для выполнения работы.
Заказчик:
- Хм. Я не могу во вторник!
Мастер:
- Извините, но у меня свободен только вторник. Все остальные дни заняты другими заказами.
Заказчик:
- Ну ладно! Мне придется изменить свои планы...
Мастер:
- Я соберу весь необходимый материал, и вам придется загрузить автомобиль во вторник в 6 утра. Не опаздывайте пожалуйста.
Заказчик:
- В 6 утра? Нет! Мне это совсем не удобно. Знаете, я наверное всё же заплачу вам эти 1500$. Ведь я сам понимаю, что все равно не смогу сделать эту работу качественно и уже понимаю, что стоить мне это в итоге будет значительно дороже.
Совсем не смотрю телевизор, и политикой, тем более, не интересуюсь, но тут случайно увидел выступление Владимира Владимировича. Восхищен! Как он прямо высказывался о том, до чего страну довели: о коррупции, о зажравшихся чиновниках, нелицеприятно критиковал ситуацию с медициной, образованием, космосом… Никто ему в подметки не годится. Что тут думать, вот кого надо в президенты России выбирать! ...что?! Как уже двадцать лет?!