Доступ к домашнему фотоархиву
Домашний фотоархив у меня хранится на удаленном сервере в папке на дисках объединенных программным RAID5. Одна маленькая проблемка - сервер хоть и доступен по ssh, физически, находится в другом месте и, вообще в другой стране, поэтому, я давно ищу способ просматривать фотоархив через браузер.
Существует большое количество решений органайзеров для фотоальбомов, но все они либо медленные, либо хотят переименовать и переконвертировать мой фотоархив на свой лад, а это мне не подходит.
Задался вопросом, почему я не могу найти решение которое бы мне подходило? Возможно, я просто не то ищу.
Что мне, собственно, нужно? Мне нужен веб интерфейс для фотоальбома, который будет генерироваться на основе картинок, разложенных по папкам и будет доступен по сети. Желательно чтобы решение работало максимально быстро и не требовало мощного железа. На что это похоже? На статический генератор сайтов!
Вчера попробовал несколько проектов статических фотогалерей и остановился на Sigal.
Sigal это статический генератор фотогалерей который создает статический сайт из папки с изображениями. Написан на Python 2.x, поддерживает субдиректории, имеет несколько тем и умеет работать со всеми основными медиаформатами.
Для установки достаточно набрать:
pip install sigal
Теперь, чтобы сгенерировать сайт наберем:
sigal build /path/to/your/images/
В результате выполнения в текущей директории появится папка _build которая будет содержать html файлы и превьюшки. Можно сразу скормить эту папку апачу или нджинксу или воспользоваться встроенной командой сигала:
sigal serve _build
Открываем адрес http://localhost:8000/ в браузере и наслаждаемся!
Конвертирование 617 гигабайт картинок заняло примерно четыре часа и финальный сайт с превьюшками весит примерно 5 гигабайт, то есть чуть меньше процента от реального размера фотоархива. Странички загружаются довольно шустро, даже несмотря на то, что трафик идет из России через openvpn с сервером в США и открывается в Германии через реверсивный прокси подняный на Raspberry pi Zero W.
А как вы храните свой фотоархив?
Оффлайн распознование текста - Kaldi ASR
Попробовал недавно систему распознавания речи Kaldi и оказалось, что все не так уж плохо, а даже на удивление хорошо. Качество распознавания оказалась ненамного хуже чем это делают это Гугл и Яндекс в онлайн, при этом совершенно бесплатно, без регистрации и СМС. На хабре есть хорошая статья для на эту тему.
При этом голосовой движок находятся на локальном компьютере и неплохо справляется с поставленной задачей. Немного смущает количество ресурсов которые требуются для того чтобы скомпилировать софт. В моем случае я потратил вечер для того чтобы скомпилировать систему, но уже после все заработало как надо. Если компилировать самому не хочется, уже имеется скомпилированный Docker образ, но пока не понятно как к нему подключить языковую модель.
Имеется также и очень неплохая языковая русская модель. Если покопаться в сети можно найти модели и для других языков. Если покопаться в сети можно найти модели и для других языков.
Этот текст был наговорен в процессе движения на работу а затем распознан этой штуковиной. Да, я очень ленив.
Проект выходного дня - Автоответчик на Asterisk
Наконец завершил работу по созданию автоответчика на Asterisk. Задача следующая: поскольку я теперь живу в Германии хотелось бы сохранить свой российский телефонный номер и иметь возможность получать на него голосовые сообщения. На мой российский номер мне постоянно кто-то звонит - в большинстве случаев это спамеры но иногда бывают и полезные звонки и поэтому каждый раз когда мне кто-то звонит мне не хочется перезванивать поскольку роуминг в Европе достаточно дорогой. Во время своего последнего визита на родину я собрал вот такую шарманку: usb voice modem, подключенный к raspberry pi через USB switch. На raspberry pi поставил прошивку с asterisk'ом и freepbx и настроил переадресацию со своего российского мобильного телефона на на sim-карту которая стоит в USB модеме. Теперь любой входящий звонок на мой российский телефон переадресуется на этот чудо комбайн, который человеческим голосом просит оставить сообщение которое я которые затем присылается мне на электронную почту.
Стоит сказать, что автоответчик - это простейшее решение которое я пока реализовал хотя в планах попробовать сделать что-нибудь более навороченное с голосовым меню с возможностью переадресация вызовов на немецкий номер через IP телефонию а также можно сделать возможность переадресации вызовов на нескольких абонентов Но это всё планы будущего пока что такое решение меня вполне устраивает.
Emacs и org-mode
Выходные провёл за изучением Emacs. Вроде бы, казалось, на дворе двадцать первый век, есть Word и OpenOffice а я сижу и разбираюсь в хитросплетениях команд горячих клавиш Emacs. А всё дело в том, что у Emacs есть интересное расширение - org-mode, которое может использоваться для организации заметок, планирования, создания TODO списков и т.п. Говорят, ничего мощнее в природе не существует. Вот я и хочу проверить так ли это или не так. Но просто так взять и пользоваться org-mode нельзя. Нужно сначала разобраться с Emacs.
Emacs это что-то вроде Vim - некоторые про него даже не слышали, некоторые его люто ненавидят а некоторые безмерно любят.
Первые впечатления от редакторе остались весьма положительные. Emacs изначально был создан как тестовый редактор, работающий в текстовых терминалах, поэтому, те навыки, которые мы приобретаем используя новомодные офисные пакеты тут не пригождаются. Более того - Emacs не содержит поддержки мыши и даже общепринятые клавиши навигации со стрелочками тут не приветствуются - вместо этого рекомендутся использоваться сочетания клавиш с ctrl-f,ctrl-b,ctrl-n,ctrl-p. Такой способ довольно необычен, на он значительно ускоряет работу с текстом, поскольку не изменяется положение рук на клавиатуре. Одобряю.
Насколько эффективным окажется использование этой штуки - время покажет. У меня есть сильное сомнение, что поработав в Emacs использование других программ останется таким же комфортным, поживем - увидим, в любом случае всегда интересно освоить что-то новое, взглянуть на вещи под другим углом, так сказать, для расширения кругозора.