[двухминутка ненависти] Python datetime ↔ ISO 8601

2012-05-21 | 17:18

Сегодняшний луч поноса получают следующие категории людей:

  • принадлежащие Императору;
  • мумифицированные;
  • не заложившие в класс datetime стандартной библиотеки Python’а функции конвертации с валидацией из строки в формате ISO 8601;
  • которые написали в ISO 8601, что указание часового пояса опционально;
  • которые пишут парсеры из ISO 8601 и не сообщают на выходе, содержала ли входная строка таймзону или нет;
  • авторы функций strptime в PHP.
This entry was originally posted at http://yurikhan.dreamwidth.org/52480.html.

Link | Leave a comment | Add to Memories | Share


xfce 4.10

2012-05-14 | 12:44

Когда в Ubuntu 11.04 они выкатили в качестве основного DE сырой, глючный и неудобный Unity, я пожал плечами и перелогинился в Ubuntu Classic со вторым Гномом.

В Ubuntu 11.10 Classic’а уже не было. Был выбор — привыкать к Unity (который, может, уже не такой глючный, но не менее неудобный), ставить GNOME 3 Shell (который как Unity, только GNOME), ставить GNOME 3 Classic (который на вид как GNOME 2, только несовместимый с теми сторонними плагинами панели, к которым я привык), или искать другой DE.

В общем, я посмотрел ещё XFCE и LXDE и остановился на первом. Оно вполне вписалось в мой паттерн использования. Особенно после замены штатного xfwm4 на Compiz и доустановки темы Clearwaita для тех немногих, но важных программ, перешедших на GTK+3.

Сегодня проапгрейдился до XFCE 4.10, которая не успела в Xubuntu 12.04. Главная юзабилити-фича — таскбар теперь можно заставить не переключать окна по повороту колеса мыши.

This entry was originally posted at http://yurikhan.dreamwidth.org/52335.html.

Link | Leave a comment {10} | Add to Memories | Share


Embedded HTML in XML

2012-05-12 | 12:43

Люди, которые проектируют какую-нибудь XML-схему, сначала описывают какой-нибудь элемент как содержащий текст (xsd:string), а потом говорят «Oops, а нам надо туда форматированный текст… ну пофиг, зафигачим туда кусок HTML, обёрнутый в <![CDATA[…]]>» — заслуживают выделенного круга ада. Google KML, I’m looking at you.

(Правильный путь, разумеется, включать xhtml как подсхему.)

This entry was originally posted at http://yurikhan.dreamwidth.org/52001.html.

Link | Leave a comment | Add to Memories | Share


Табы в Firefox’е

2012-05-03 | 20:08

Кто-то (возможно, [info]eugenius_nsk) мне совсем недавно утверждал, что TabMixPlus ставить уже необязательно, а что следующие фичи есть из коробки:

  • При вводе URL’а в адресную строку и нажатии Enter открывать его в новой вкладке (важно: именно по Enter, а не по Alt+Enter)
  • При выборе закладки из меню открывать её в новой вкладке
  • Открывать новые вкладки строго рядом с текущей, а не слева направо

Где настраивается?

This entry was originally posted at http://yurikhan.dreamwidth.org/51725.html.
Tags:

Link | Leave a comment | Add to Memories | Share


0023 Have you ever wanted to download pizza?

2012-02-14 | 20:47

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

This entry was originally posted at http://yurikhan.dreamwidth.org/51685.html.
Tags:

Link | Leave a comment {2} | Add to Memories | Share


Ещё о клавиатурных раскладках

2012-02-05 | 00:17

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

QWERTY:

~   !   @   #   $   %   ^   &   *   (   )   _   +
`   1   2   3   4   5   6   7   8   9   0   -   =
      Q   W   E   R   T   Y   U   I   O   P   {   }
                                              [   ]
       A   S   D   F   G   H   J   K   L   :   "   |
                                           ;   '   \
         Z   X   C   V   B   N   M   <   >   ?
                                     ,   .   /

Programmer Dvorak:

~   %   7   5   3   1   9   0   2   4   6   8   `
$   &   [   {   }   (   =   *   )   +   ]   !   #
      :   <   >   P   Y   F   G   C   R   L   ?   ^
      ;   ,   .                               /   @
       A   O   E   U   I   D   H   T   N   S   _   |
                                               -   \
         "   Q   J   K   X   B   M   W   V   Z
         '

Colemak:

~   !   @   #   $   %   ^   &   *   (   )   _   +
`   1   2   3   4   5   6   7   8   9   0   -   =
      Q   W   F   P   G   J   L   U   Y   :   {   }
                                          ;   [   ]
       A   R   S   T   D   H   N   E   I   O   "   |
                                               '   \
         Z   X   C   V   B   K   M   <   >   ?
                                     ,   .   /

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

Какие выводы: Вероятно, раскладка Дворака действительно минимизирует какой-то функционал при наборе текстов на английском языке. Однако есть проблема: работа программиста включает не только и не столько набор на английском языке, но и набор команд шелла, идентификаторов стандартной библиотеки и т.п. Вот с шеллом всё плохо. Особенно с командой ls -l (правый мизинец такой весь FFFFUUUUUUUUU). И ещё с пространством имён C++ std. Очень трудно учится цифровой ряд, этому также не способствует то, что в каждой вариации раскладки он разный. И, наконец, в Двораке шорткаты Ctrl+ZXCV разбросаны по всей клавиатуре.

Поэтому в итоге я остановился на Colemak. Там ZXCV на своём месте и правый мизинец не перегружен.

Но это всё латиница. Кириллицу же я оставил на потом и занялся ей вплотную только в конце года, когда мне привезли купленные по предзаказу клавиатуры Truly Ergonomic, модель без маркировки клавиш. (Основные проектные решения, которые меня привлекли: (1) полностью симметричный дизайн, (2) отсутствие горизонтального сдвига рядов на [1/2, 1/4, 1/2] клавиши друг относительно друга.) Ясно, что на клаве без маркировки надо набирать вслепую; неясно, в какой раскладке.

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

Среди существующих раскладок выбор невелик. Есть ЙЦУКЕН, о котором чуть дальше. Есть фонетическая, основанная на QWERTY — её брать не имеет смысла вообще, поскольку она костыль для тех, кто вообще не владеет слепой печатью и вынужден смотреть на клавиши, отмаркированные только латиницей. Ну и можно что-нибудь кастомное сочинить.

Что не так с ЙЦУКЕН? Казалось бы, некоторые называют её чуть ли не русским аналогом Дворака. А вот и нет. Если посчитать аккуратно, то получается, что в ЙЦУКЕНе 65% нажатий букв приходятся на указательные пальцы. О какой вообще скорости и о каком десятипальцевом наборе может идти речь?

Разочаровавшись в стандартных раскладках, попробовал сделать фонетическую на основе Colemak, поскольку замечал за собой позывы набирать ЕИО соответственно средним/безымянным/мизинцем правой руки в основной позиции. Ну что я могу сказать, эксперимент не удался — биграммы русского языка существенно другие, временами приходится вводить две буквы подряд одним пальцем.

И тут внезапно лентой приносит пост, где [personal profile] alexkuklin жалуется на то, что на болгарской клавиатуре кириллица размещена так, что каждый случайный взгляд вводит в ступор.

)   !   ?   +   "   %   =   :   /   —   №   $   €
(   1   2   3   4   5   6   7   8   9   0   -   .
      Ы   У   Е   И   Ш   Щ   К   С   Д   З   Ц   §
      ,                                           ;
       Ь   Я   А   О   Ж   Г   Т   Н   В   М   Ч   ”
                                                   „
         Ю   Й   Ъ   Э   Ф   Х   П   Р   Л   Б

Как вам нравится клавиатура, на которой практически написано «уе*ище»? Я вот с первого взгляда подумал, что у неё должны быть очень неплохие показатели по чередованию рук и достаточно равномерное распределение нагрузки по пальцам. Этого уже было достаточно, чтобы пробовать.

Испытания показали, что раскладку цифрового ряда я лучше оставлю от русской. Тогда у меня освобождается клавиша из-под точки с запятой. И типографские кавычки я лучше загоню в AltGr. Зато я бы предпочёл отдельные клавиши для Ё и Ы. И ещё в русском языке несколько другое распределение частот букв, поэтому имеют смысл небольшие перестановки редких букв:

  • Ъ в болгарском языке — одна из часто используемых гласных. Да у них даже Болгария пишется через Ъ. В русском языке — самая редкая буква. Жирно будет ей средний левый палец в нижнем ряду, лучше поставим туда Ы. А в освободившийся верхний регистр запятой отличнейше встанет точка. (См. также Лебедева о трагедии запятой.)
  • Ч и Ц в русском языке встречаются чаще, чем Ш и Щ. ЦЧ в центр верхнего ряда, ШЩ на периферию.
  • Буква Э пусть уступит место более частой Ё.
  • Ну и конструктивные особенности Truly Ergonomic: две из клавиш правой части во имя симметрии уезжают влево, на то место, где обычно Tab. Пусть там будут Э и Ъ.
    )   !   "   №   ;   %     :   ?   *   (   )   _   +
    (   1   2   3   4   5     6   7   8   9   0   -   =
Ъ   Э   .   У   Е   И   Ц     Ч   К   С   Д   З   Ш   Щ
        ,
        Ь   Я   А   О   Ж     Г   Т   Н   В   М

        Ю   Й   Ы   Ё   Ф     Х   П   Р   Л   Б

Вот эту раскладку теперь предстоит прошить в пальцы. Впрочем, уже со шпаргалкой скорость не сильно отличается от той, которая была с ЙЦУКЕН и подглядыванием на клавиши.

This entry was originally posted at http://yurikhan.dreamwidth.org/51250.html.

Link | Leave a comment {13} | Add to Memories | Share


Все побежали — и я побежал

2012-01-18 | 22:32

С примерно тех времён, когда ЖЖ перешёл от Фицпатрика к Six Apart, он двигается куда-то не туда. А после продажи СУПу и подавно.

Когда они ввели «кириллические сервисы», я от них отписался и терпел. Когда пустили рекламу и LJTimes, я стал логиниться каждый раз и терпел. Когда сделали Navigation Strip, я написал юзерстиль и терпел. Но под Новый год они передизайнили всю систему комментов. Нет, вы представляете, в лёгкой, цвето- и шрифтонезависимой теме Lynx ­— голубые градиентные комменты и Arial. Да сейчас даже дефолтные шаблоны Word’а не верстают Arial’ом.

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

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

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

Так что [personal profile] yurikhan. Трансляция для тех, кто ещё не решился. Комментировать пока можно и там и там, хотя лучше бы на DW.

This entry was originally posted at http://yurikhan.dreamwidth.org/50709.html.
Tags: ,

Link | Leave a comment {9} | Add to Memories | Share


ЖЖшное

2011-12-24 | 21:21

Юзерстиль против Релиза 88. (Rationale)
Tags:

Link | Leave a comment | Add to Memories | Share


Банковское и про Город

2011-09-16 | 11:15

Итак, с января я работаю на новом месте. А это значит — новая зарплатная карта.

2011-01-12. В этот раз я был уже учёный и, когда поехал оформлять документы о приёме на работу, специально отметил, что, когда мне будут делать карточку, пусть правильно напишут имя и фамилию.

2011-02-28 (полтора месяца, блин!). Карточка приехала. На ней написано, разумеется, YURIY KHAN. Отказываюсь получать, отправляю на перевыпуск.

2011-03-16 или что-то около того. Отдел кадров говорит, что ВТБ-24 не признаёт ошибку и отказывается перевыпускать.

Иду в банк, обрисовываю проблему. Принимают заявление.

2011-03-31. Карта готова. Забираю. Заодно подключаю интернет-банк. Закидываю денег на счёт, потому что зарплату пока носят наличкой, а надо кой-чего заказать с Интернета.

Однако же выясняется, что карточки ВТБ-24 не работают с PayPal[информация устаревшая и сейчас может не соответствовать действительности]. Узнаю об этом только дома, заказываю себе отдельную карту для интернет-платежей.

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

Гляжу на эти шаблоны. Чтобы создать шаблон, нужно заполнить реквизиты получателя (со всеми этими многозначными номерами и кодами) и указать свой номер лицевого счёта. Для каждого отдельного поставщика услуг. Да, а ещё, когда создаёшь шаблон, он сразу не начинает работать, а его сначала ещё проверит Специально Обученный Органический Оператор. @#$%#. Похожу пока в отделение зелёно-белого банка, благо оно как раз по пути на работу.

В очередной визит в зелёно-белый обнаруживается, что они больше не принимают в кассе оплату за городской телефон. Зато у них стоит терминал самообслуживания, который принимает. Рядом с автоматом стоит Специально Обученный Органический Оператор, которая напоминает посетителям о существовании автомата, призывает им пользоваться и объясняет, какие кнопочки нажимать. Нет, автомат сдачу не выдаёт. Да вы не волнуйтесь, зачислите на счёт, оно не пропадёт, ну будет переплата, что такого? Ну или сходите в кассу, разменяйте. @#$%#. В следующий раз иду в другую кассу приёма платежей, там за телефон продолжают принимать нормально.

2011-05-26. Интересуюсь у отдела кадров, почему мне до сих пор носят зарплату наличкой, хотя я карту получил 2011-03-31 и заявление в бухгалтерию написал. 2011-05-27: «всё выясню и вам напишу!» Оооок. Следующая зарплата приходит на карту.

2011-06-17. Тем временем на работе …хм… некие структурные изменения, в связи с чем мы будем менять банк. В корпоративной рассылке на эту тему говорится, что рассмотрели пять кандидатов и выбрали, тадададам, Райффайзен. И дальше восемь аргументов, почему нам должен нравиться Райффайзенбанк, в том числе — «бесплатное зачисление зарплаты», «бесплатное снятие налички», «удобный интернет-банк» и «35 банкоматов по городу». (Однако поиск по 2ГИСу показывает, что, кхм, банкомат Райффайзена в Академгородке ровно один. Я его даже помню, он стоит в ТЦ, в переходе возле платного сортира. Ближайший офис — в Бердске, работает в рабочее время и по утрам суббот.) Тут у меня срабатывает bullshit detector, я совершенно случайно по злому умыслу нажимаю reply all и высказываю всё, что думаю о Райффайзенбанке, о людях, которые умудрились из этих пяти кандидатур выбрать именно его, и о том, что я лично считаю «удобным интернет-банком».

А «удобным» я считаю такой интернет-банк, который обладает тремя желательными свойствами:

  1. Интеграция с системой «Город». У полноценной интеграции, в свою очередь, две стороны:
    • Я могу ввести свой адрес и получить список всех поставщиков услуг, которым я мог бы хотеть платить.
    • В каждый момент времени я с точностью до копейки знаю, сколько денег я должен каждому поставщику.
  2. Работает во всех браузерах под всеми операционными системами. Ну, в разумных пределах. Но комбинация Firefox/GNU/Linux в эти пределы должна входить.
  3. Если мне понадобится делать переводы через этот интернет-банк, то они должны работать, не требуя проприетарных плагинов типа Java или Flash.

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

2011-06-22. Банк, видимо, почувствовал, что может остаться без корпоративного клиента, и прислал ответы. В основном всякая хрень, но рядом с нашим офисом поставят Ещё Один банкомат, а ещё все переводы в другие банки будут идти без комиссии. «Города» нет, но к концу года обещают сделать. И ещё обещают в случае необходимости отправлять в наш офис своих людей, чтобы сотрудникам не приходилось ездить в офис.

2011-07-13. Поставили банкомат. Однако, одно дело, когда банкомат стоит в «Золотой роще», где я почти ежедневно закупаюсь, и совсем другое дело, когда за деньгами нужно куда-то ходить. Присматриваюсь к другим банкам, где бы можно было завести счёт, всю зарплату переводить туда, ну и чтобы интернет-банк с системой «Город».

2011-07-18. Иду на сайт МДМ-банка, которым пользовался на прошлой работе. Вижу объявление, что они отказываются от Фактуры-Лайт и запилили свой собственный интернет-банк с блэкджеком и ш. Задаю вопрос в онлайн-форму, работает ли он под Firefox под Linux’ом, и не отвалился ли «Город».

2011-07-19. Система МДМ Online разработана для работы в Интернет-браузере Microsoft Internet Explorer версии 7.0 и выше. Система «ГОРОД» в рамках МДМ Online не предусмотрена. @#$%$.

2011-08-10. Приносят карточки Райффайзена. На моей написано угадайте что. Не угадали. KHAN YURIY. Пишу заявление на перевыпуск, попутно объясняю сотруднику банка, что мы не в Японии и имя нужно писать впереди фамилии.

2011-08-13. Открываю счёт в Альфа-банке.

2011-08-22. Забираю карточку Альфа-банка. Обнаруживается, что у Альфа-банка интеграция с «Городом» хоть и есть, но неполноценная: если вводишь адрес, то суммы задолженностей не показываются. В мануале написано, что можно ввести номер карты «Город», и суммы будет видно. Но карты «Город» у меня нет.

2011-08-31. Разбираюсь с переводами из Райффайзена. Выясняется, что там всё по последнему слову криптографии; чтобы сделать перевод, нужно подписать заявку приватным ключом. Генерация ключей и подписывание делается при помощи Java-апплета. (Это в веке, когда уже даже Microsoft заявляет о поддержке HTML5.) Апплет, что характерно, не работает в IcedTea, а только под Oracle’овской Java-машиной, которую теперь нельзя ставить deb-пакетом из репозитория, а только качать с официального сайта.

2011-09-16. Звоню в «Город», спрашиваю, как получить карту. Выясняется, что просто так их не дают, а только при открытии счёта в одном из банков-партнёров. ВТБ-24, Райффайзен и Альфа — не партнёры. @#$%#.

2011-09-26. Приедут опять из Райффайзена, привезут исправленную карточку.


Вот какого, спрашивается, хрена? Мне что теперь, идти открывать ещё один счёт, на этот раз в банке, дающем карту «Город»? А если я его закрою сразу, как получу карту, она будет продолжать работать, или тоже сдохнет? И почему было не сделать Просто Форму оплаты с Vis’ы на сайте Города?

Link | Leave a comment {22} | Add to Memories | Share


Размер имеет значение

2011-08-18 | 11:02

Рабочий стол программиста должен быть глубиной не менее 80 см. И ещё он должен быть достаточно тяжёлый/устойчивый и с тумбочкой.

Link | Leave a comment {5} | Add to Memories | Share