Архив за месяц: Март 2014

Без лишних движений мышью

Отлаживаю скрипт, получаю развесистую структуру данных, чей дамп, сделанный модулем Data::Dumper, занимает почти 9000 строк. Вывел дамп на экран, потянулся к мышке, чтоб скопировать и засунуть в файл, да вовремя остановился — есть же простой метод: достаточно написать в отладчике всего пару строк:

use File::Slurp
write_file 'big-structure.pl', Dumper $structure

P. S. А если вместо Data::Dumper использовать Data::Dumper::Perltidy, результат получается более симпатичным.

Как люди работают в Unity?

Около месяца назад обновил Ubuntu до 13.10, заодно и оконную среду обновил: вместо чистого GNOME 2 использую Unity.

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

  • Переключение раскладки, которое нормально работало и в голой консоли, и в KDE, и в гноме, вытворяет фокусы: при нажатии Caps Lock (а я переключаю раскладку именно им) сначала меняется регистр символов, затем — раскладка, а потом регистр символов возвращается к исходному; подобное неспешное переключение может занимать целую секунду. Ну и светодиодный индикатор, обозначавший раньше раскладку, теперь не светит, и как его включить — неясно: графических средств для этого нет, а есть ли смысл править /etc/X11/xorg.conf (которого нет) — непонятно.
  • Окна иногда по непонятным причинам оказываются на другом рабочем столе. Бегать по всем шести рабочим столам в поисках сбежавшего окна не хочется.
  • Окно, разворачиваемое на полный экран, часто стремится сбежать на соседний монитор.
  • Индикаторы, которые сидят в углу (в моём случае на верхней панели) дублируются: видны на обоих мониторах.
  • Нет индикатора погоды.

Видимо, пора вернуться к обычному гному.

Трамвайная схема из OpenStreetMap

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

Прошло шесть с половиной лет, OpenStreetMap развился до состояния, когда на карты некоторых районов уже можно стало смотреть без слёз. «Почему б не попробовать схему с картой из OSM?» — подумал я. И попробовал.

Сначала был TileMill (я год назад о нём рассказывал на UWDC) — можно, например, сделать свой картостиль, основываясь на OSM Bright. Карта получается достаточно симпатичной и её внешний легко настраивается — в тайлмилле используется CSS-подобный язык разметки. Однако добавить на карту трамвайные маршруты не получилось — в OSM Bright трамвайные пути и железные дороги отображаются совершенно одинаково. Это, наверное, можно изменить, поковырявшись в настройке, но скрипты преобразования геоданных написаны на питоне, в котором я почти ничего не понимаю. Поэтому пришлось добавлять трамвайные линии вручную. Результат —

Попробовал альтернативный способ — alaCarte. В alaCarte оказалось возможным сразу выделить трамвайные пути, и, кроме того, alaCarte создаёт набор тайлов, пригодный для использования с библиотеками OpenLayers и Leaflet.

Получается, например, так:

Схема трамвайных маршрутов

в виде интерактивной карты — http://tile.susu.ac.ru/tram.html, используемые стили скоро будут на гитхабе. Stay tuned!

Скоро в лес!

111 / IIIДо дня рож осталось девять часов, до начала праздничного выхода в лес — на полсуток больше. В этом году — юбилей: вот уж двадцать лет подряд (начиная с 1994 года) день рож отмечается на одном и том же месте — традиция!

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

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

Знакомый аккорд, да эффект не тот

В большинстве знакомых мне программ сочетание клавиш Ctrl+Shift+S соответствует команде «Сохранить как». В редакторе Komodo Edit 8.5 — нет: нажатие знакомого аккорда вызовет немедленное сохранение всего, что открыто вместо задания вопроса, куда сохранять. Подобное поведение можно изменить через настройки редактора — Edit → Preferences → Editor → Key Bindings:

Komodo Edit Preferences

Перед внесением изменений Komodo предложит сохранить сочетания клавиш как новую схему.