пятница, 26 августа 2016 г.

DEFAULT DATE 'yesterday'

Создал функцию в Postgres с таким заколовком:

CREATE OR REPLACE FUNCTION prepare_report(tradedate date DEFAULT DATE 'yesterday')

Т.е. функции нужна дата. Если дату не передали, то автоматически используется вчерашняя.

Но оказалось, что этой ситуации yesterday - это "вчера" по состоянию на момент создания функции, т.е. оно тупо заменяется  на константу.

Правильно так:

CREATE OR REPLACE FUNCTION prepare_report(tradedate date DEFAULT CURRENT_DATE - INTERVAL '1' day)


вторник, 23 августа 2016 г.

Активно-пассивный

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

Банковские счета бывают активные, пассивные и активно-пассивные. Не совсем очевидно, но с точки зрения банка кредит, выданный клиенту - это актив. Потому что деньги работают. А вот деньги на текущем счете клиента - пассив; они как бы лежат без дела, и когда-то мы должны их вернуть. Наличка в кассе, золото в хранилище - актив. Иными словами, актив - это нечто положительное (с точки зрения банка), а пассив - отрицательное. В далеком 1998 (?) году, когда Нацбанк менял план счетов (якобы "под европейский стандарт"), большинство популярных балансовых счетов они сделали или активными, или пассивными. Т.е. на таком счете всегда должна быть сумма с каким-то одним знаком (по-крайней мере, по состоянию на конец операционного дня). Активно-пассивные счета тогда редко использовались.
Изначально балансовый счет 2600 (текущий счёт клиента) был пассивным. Пассив - это, как мы помним, "минус" с точки зрения банка. Но разработчики нашей банковской системы подумали: как-то глупо показывать "минус", когда у клиента есть деньги, а "плюс" - если он загнал счет в овердрафт (превысил свой остаток, ушёл в минус). Наверняка ведь пользователи постоянно будут путаться. И было принято простое решение: на пассивных счетах положительная сумма будет считаться пассивом, а не активом. Так мы её и храним в базе данных. Такой небольшой хак. Для активных и активно-пассивных счетов по-прежнему "плюс" - это актив, "минус" - пассив.

Если клиент попытался перерасходать свои средства, и у него был договор на овердрафт, то на счете появляется активный остаток (клиент нам должен). Но счёт-то пассивный, и иметь актив на нём запрещено. Поэтому, по требованиям НБУ, в конце операционного дня всё эти активы автоматически перегонялись на активные счета 2000 (овердрафт), а утром - обратно на 2600. И вот в какой-то момент Нацбанк подумал: а на хрена эти сложности? У больших банков много клиентов могут пользоваться овердрафтом, и в результате каждый день приходится делать сотни или тысячи автоматических проводок, которые просто засоряют бухгалтерскую книгу. Гораздо проще сказать, что клиентский текущий счет 2600 может быть активно-пассивным, т.е. отображать как реальные деньги, так и долг клиента. Поскольку в статотчетности активный и пассивный остаток на балансовом счете отображается отдельно, Нацбанк по-прежнему будет видеть полную картину. А счета 2000 можно закрыть за ненадобностью.

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

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

пятница, 19 августа 2016 г.

Bucher

Оказывается, собаки и кошки тоже сдают донорскую кровь.

Забавно, что об этом рассказывает ветеринар по фамилии Bucher. Почти как "мясник" (butcher).

Two teas

Как учили в школе, в английском есть слова без множественного числа. Например, research, evidence, tea. Нужно выражаться как-то иначе: "four research projects", "three pieces of evidence" или "two cups of tea".

Так вот, в Лондоне правило про чай не знаю. На просьбу "two cups of tea" обычно переспрашивают: "Two teas?" Конечно, в здешнем общепите в основном восточноевропейцы и азиаты, но и англичане так говорят. Наверное, тоже испортили себе язык, постоянно работая с иностранцами :)


Bloomy

Так на биржевом сленге называют Bloomberg.

Наверное, можно перевести как "Блумберишка" или "Цветунчик".

вторник, 16 августа 2016 г.

Книги с помойки

Марина часто вспоминала про болото, возле которого прошло её детство. Там росли кушинки и даже водилась мелкая рыба. Так что детям очень нравилось играть, хотя это было не безопасно. А потом в Алматы решили строить метро. Болото стали осушать и засыпать мусором. В итоге осушить не удалось - вода всё равно нашла себе дорогу. Метро смогли построить только через много лет, и в другом месте.

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

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

Фазы Луны

Украинские эксперты высмеивают топорно слепленную провокацию с "крымскими диверсантами": фазы Луны, шлепанцы и прочие нестыковки. И делают вывод: это всё явно для внутреннего российского потребления, Запад не может поверить в такой бред.

Увы, не всё так просто: цель достигается и на Западе. Да, наверное, лидеры государств получают объективные отчеты от своих разведок. Но интерес к Украине давно спал, поэтому в английских и американских СМИ я вижу в основном короткие заметки с сухой констатацией фактов, примерно такого плана: "После долгого затишья конфликт Украины и России обострился. Путин обвинил Украину в терроризме. Украина решительно отвергает обвинения".

"She said, he said", "слово против слова". Оба хороши, и чёрт там ногу сломит, кто прав, кто виноват... а тут ещё и в Сирии проблем хвататет, плюс Рио. Так что не расслабляйтесь: на западных обывателей пропаганда частично действует. А политики тут обычно делают то, что требуют люди.

понедельник, 15 августа 2016 г.

Немцовский проспект

Насколько я знаю, в процессе декокоммунизации в Украине не нашлось ни одной жалкой улочки, которую бы переименовали в честь Бориса Немцова. Спасибо, хоть для Новодворской нашли. В Киеве собирались, да так и не дособирались. По-моему, чёрная неблагодарность. Он сделал для Украины больше, чем любой другой российский политик современности. И, скорее всего, был бы сейчас живой и здоровый, если бы не писал доклады о действиях РФ на Донбассе.

На Московский проспект в Харькове уже косо смотрят, а "Немцовский" и "Московский" звучат похоже - таксистам легко будет запомнить. И адекватным москвичам и нижегоро́дцам будет приятно, что увековечили память их земляка. Ах, Немцов не был лично связан с Харьковом? А разве был связан Гарибальди, Ньютон, Пастер? (впрочем, Пастер таки был "через рукопожатие" - приютил у себя Мечникова).

четверг, 11 августа 2016 г.

Дефибриллятор

На работе покупают автоматизированный дефибриллятор. "Автоматизированный" потому, что красную кнопку надо нажимать только один раз. Алгоритм такой: один человек начинает реанимацию, второй бежит за устройством. Как только открываешь крышку, оно начинает говорить, что делать дальше. Плюс на пакете с клеммами рисунок. Закрепил клеммы, нажал красную кнопку. После этого продолжаешь массаж сердца. Оно само скажет "Clear!", когда/если нужен ещё один разряд. Конечно, недостаток этой автоматизации в том, что можно случайно долбануть и растерявшегося спасателя.


На приборе лампочка, которая всегда должна гореть зеленым. Лежит в сумке, в которой рекомендуется также держать запасной аккумулятор и клеммы. Если не использовать, аккумулятора обычно хватает на четыре года. Кардиограмма и время разрядов пишутся в память. Было бы здорово, если бы дефибриллятор ещё и сам звонил в скорую помощь. Наверняка через несколько лет так и будет.


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


Неочевидная мысль: стоит написать емейл не только своим сотрудникам, но и соседям по зданию: "На таком-то этаже есть дефибриллятор".

пятница, 5 августа 2016 г.

Велосирена

Едет упакованный велосипедист по центру: крутая форма и велик, две видеокамеры (чтобы родственники знали, кто виноват, если что). А сирена очень похожая на полицейскую. Это чтоб отгонять пешеходов, которые спросонья плохо замечают велосипедистов. Обычно они просто свистят. Интересно, разрешается ли так мимикрировать под полицию? Сирена, конечно, не на 100% идентична полицейской - более слабая и немного похожая на птичий крик.


P.S. А на Гренаде у полицейских сирена совсем не грозная, несколько легкомысленная. Больше подходит для фургона с мороженным. Может, специально, чтобы туристы чувстовали себя расслабленнее и безопаснее.

Транспортер без траспорта

На радио Magic FM обсуждали необычные собеседования на работу. Слушательница рассказывает, как поехала в аэропорт Хитроу и не могла найти, где запарковаться (вообще-то там не найти парковку трудно, но она, видимо, не хотела платить). Опаздывала. В конце концов случайно приехала прямо к месту собеседования. Спросила человека, который как раз оказался её потенциальным начальником. Он рассказал, как проехать на парковку для персонала. Объехала ещё раз весь аэропорт, но не нашла. Уже сильно опаздывала. Вернулась, начала ещё раз распрашивать работодателя. Он поехал с ней вместе. С парковки вместе возращались в офис на автобусе.


- Так что, работу получила?
- Да!
- A что за работа?
- Transport Organiser...
- ?!

Левотироксин

В Америке Марине первый раз выписали какой-то американский левотироксин (не помню, так ли он назывался). Сначала от него было плохо, трясло. А врач говорит, что да, изредка бывает такое: плохая реакция на "generic". Дал более дорогой "brand" (синтроид), и действительно стало гораздо лучше.


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


Потом в Канаде начались какие-то проблемы с аптеками. А Марина уже как-то привыкла и к местному левотироксину, который, к тому же, для неё бесплатный.


А сейчас вот что-то опять не так. Анализы скачут загадочно. Сходила к частному эндокринологу и - о, чудо! - оказалось, что и в Британии можно получить brand. Просто не в NHS. Как объяснил врач, в дешевом варианте левотироксина, который дает государство, доза очень не точная. Допустим, 100 мг - это реально может быть от 75 до 125 мг.


Как говорил Жванецкий в "Тщательнее":
А потом слышны медицинские крики — как же, точно по формуле СН3СОС2Н5 плюс метилхлотилгидрат на пару — не помогает, а точно такая же швейцарская сволочь эту бациллу берет.

понедельник, 1 августа 2016 г.

Китайцы и лаванда

Снова были на лавандовом поле. Очень много китайцев. То ли в Китае её нет, и это экзотика; то ли наоборот, её там очень много, и в Англии лаванда вызывает ностальгию по их большой родине. Много свадеб. На поле есть три беседки, там получаются хорошие фотографии. Ещё есть красная телефонная будка (правда, запертая), магазин и кафе со всяческими лавандовыми товарами, и ещё одно небольшое кафе посреди поля. Кроме того, по периметру ездит трактор с прицепом туристов.

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

А вот сидят две девушки в самодельных веночках. Московский акцент. Ага, понятно - наши люди в Голливуде.

Off-licence

Магазин бухла в Америке Джорджии называется package store. Потому что там всё положено складывать в бумажные пакеты и не светить на улице. Когда я первый раз увидел в Англии вывеску off-licence, то сразу догадался, что там продают, и что означает это местный эфемизм: "без-прав", "сегодня водительские права [и машину] оставил дома, можно и выпить".


На самом же деле, хотя там действительно алкоголь, происхождение термина другое: у заведения лицензия есть только на выпивание "off the premises" ("вне помещения").


Nursery nurse

Nurse - медсестра, но nursery - детский садик или дом престарелых. Медсестра, работающая в доме престарелых - nursery nurse. "Масло маслянное".

Рожденный летать НДС не платит

На птичий корм нет НДС, а на кошачий - есть. Великобритания поощряет тех, кто умеет летать! :)


Точнее, налог есть на пакетики, а сухой корм для кошек и собак вроде тоже без НДС. Также налога нет на большинство продуктов и подгузники, потому что они считаются "товарами первой необходимости".


На презервативы и тампоны - есть, но пониженная ставка 5%. Это был один из весомых аргументов за Brexit: "ЕС не разрешает нам убрать tampon tax! Ну, ладно, секс можно не считать необходимостью, но месячные-то происходят независимо от нашего желания!"


В Pret и некоторых других забегаловках еда, купленная на вынос, дешевле. Но не потому, что помещение маленькое, и владельцы таким способом стимулируют людей не задерживаться. А потому что бутерброд, съеденный внутри - это уже "услуга", а не просто "еда". В принципе, можно сказать, что take away, но нагло сесть за стол. Учреждению всё равно - лишние 20% не пошли бы им в карман.

Ratings by outbrain