Все записи автора Shoorick

Забывчивый верстак

MySQL Workbench — графический клиент к популярной СУБД MySQL — штука хорошая. Я, пожалуй, поставил бы его на второе место среди известных мне клиентов, но в связи с тем, что самый с моей точки зрения лучший клиент — EMS Studio for MySQL — сейчас выпускается только под винду, приходится использовать всё-таки верстак воркбенч.

Среди нужных мне функций — сохранение паролей к базам данных и SSH-туннелям до них: достаточно ввести один раз, поставить галочку, что пароль должен быть сохранён, и всё — пароль сохранится в Gnome Keyring. Точнее, сохранялся в предыдущих версиях, а в 6.2 эта штука сломалась. Пишут, что в версиях 6.2.5 и 6.3.0 проблема устранена, но у меня установлена более древняя версия.

Проблема решается путём присваивания переменной окружения GNOME_KEYRING_CONTROL значения 1 — можно сделать это прямо в файле /usr/bin/mysql-workbench

#!/bin/bash

# Uncomment the following line if you're having trouble with gnome-keyring lockups.
# This will cause passwords to be stored only temporarily for the session.
#WB_NO_GNOME_KEYRING=1
export GNOME_KEYRING_CONTROL=1

/usr/bin/workbench

После этого MySQL Workbench пароли всё-таки запоминает.

Местное время

Пара наблюдений относящихся к встроенной перловой функции localtime:

Код на перле

  1. Заданное в секундах с начала эпохи время вполне может быть отрицательным — то есть можно работать с датами до 1 января 1970 года.
  2. Разница между местным временем, возвращаемым функцией localtime и временем по Гринвичу (функция gmtime) непостоянна. Само по себе это не удивительно — существует же кое-где до сих пор летнее время. Удивительнее другое: разница эта, если залезть поглубже, иногда не является целым числом часов — можно проверить, например, как менялась она начиная с 1900 года:
#!/usr/bin/perl

use POSIX qw( strftime );

my $SEC_PER_DAY = 24*60*60;
my $old_time = '';

for my $day ( -25567 .. 0 ) {
    my @moment = localtime( $day * $SEC_PER_DAY );
    my $time   = strftime '%X', @moment; # HH:MM:SS
    if ( $old_time ne $time ) {
        printf
            "%s %s\n",
            strftime( '%x', @moment ),
            $time;
        $old_time = $time;
    }
}

Результат неожиданный:

  • 01.01.1900 04:02:33
  • 03.07.1916 03:45:05
  • 16.07.1919 04:00:00
  • 21.06.1930 05:00:00

и не всегда понятный: если 04:02:33 ещё как-то можно объяснить — это время соответствует долготе 60,6375° в. д. — пара километров от нынешнего центра Екатеринбурга, то 03:45:05 откуда? Ближайший крупный город с долготой 56,2708° в. д. — Пермь. Что-то я сильно сомневаюсь, что в дореволюціонномъ Челябинске действовало пермское время.

Ап!

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

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

Чуть помедленнее

На свердловской дороге поменялись знаки: сразу после выезда из Челябинска стоит знак 5.23.2 «Начало населённого пункта», ограничивающий скорость городскими шестьюдесятью километрами в час.

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

Новых камер я пока не заметил.

Разность температур

Обнаружил на гисметео два челябинских прогноза погоды: для города и аэропорта (который, вообще-то, всё равно считается, что в городе находится). Температура заметно отличается: прямо сейчас — на шесть градусов.

Погода в Челябинске

Вот вам и подтверждение, с цифрами — в городе действительно теплее.

Выпускаем джинна

Похоже, с нынешней тенденцией писать редакторы на яваскрипте и запихивать в них ещё и тормозящий браузер, придётся переходить всё-таки на лёгкий софт, потому что не только монстр Komodo тормозит, но даже якобы не такие уж и тяжёлые Atom и Visual Studio Code не отличаются достойной скоростью.

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

geany

Попробую-ка Geany — там и клавиши знакомые, и всякие нужные добавки,: терминал, отладчик (а будет ли работать с перлом?), интерфейс к системам контроля версий — это то, что мне чаще всего надо.

Детали забываются

Появилась задача преобразования из одного XML в другой. Метод понятен — это обсуждалось ужеXSLT.

XSLT

Только вот в голове — пусто, почти всё забыл. «Как так? — удивляешься, — Недавно же вроде делал…» Лезешь в багтрекер за деталями — выясняешь ненароком, что «недавно» — это восемь с половиной лет.