(no subject)

Заметил, что желание оформлять мысли в связные блогозаписи как-то разбивается о вопрос "Зачем?"

Бэкап файловой базы 1С

Недавно передо мной встала задачка: бэкапить файловую базу 1С:Денег на сервер, причем если на момент бэкапа в базе кто-то есть, надо дожидаться выхода всех пользователей. Немного блокнота, и на свет родился следующий скрипт: http://pastebin.com/D7gYzkKH

скрипт проверяет наличие файла блокировки, если находит - повторяет проверку через 5 минут, если не находит - выгружает базу по указанному пути, а также очищает старые бэкапы (остаются 3 последние версии).

Как быстро и удобно делать скриншоты

Необходимость сделать снимок экрана (скриншот) рано или поздно возникает перед каждым. Понятно, что самый труЪ способ это сделать -- это достать старый пленочный ФЭД, сделать фотографию экрана, проявить пленку и напечатать снимок, но времени на подобные ритуалы не всегда хватает. Первая задача, требущая снятия скриншота - быстрая отправка картинки собеседнику. Ключевое слово тут "быстро", никакая постобработка обычно не требуется, время жизни такого скриншота тоже может быть сравнительно небольшим. Вторая задача - сделать скриншот для вставки в инструкцию или сохранения на память. Тут уже может потребоваться постобработка, например, расставить стрелочки или номера шагов, выделить какую-то область или наоборот "замазать" конфиденциальные сведения. Здесь же возникают требования к хранению снимка - хорошо бы иметь у себя на диске копию снимка, мало ли что... Все способы подготовки скриншотов я попробую описывать в применении к этим двум задачам.

Первый, и самый банальный способ - нажать кнопку PrtScr, и тогда изображение окажется в буфере обмена. Оттуда его можно вставить в любимый графический редактор (например, тот же Paint) или прямо в Outlook (и получить в свой адрес тонну матюков, потому как вставится несжатая картинка, и адресат получит письмо мегабайт эдак на пять...). Чуть более продвинутым пользователям можно нажать Alt-PrtScr, работает так же, но копируется только картинка активного окна. В Windows 8 добавлено сочетание Win-PrtScr, сохраняющее снимок всего экрана в папке \Изображения\Снимки экрана

Данный способ также является самым неудобным - нужно самому думать, куда вставить изображение и как его переслать. Про подготовку скриншота для документации вообще промолчу -- вставить, фигурно обрезать, нарисовать разные стрелочки-номерки занимает до 5 минут на кадр. В качестве бонуса, клавиша PrntScrn захватывает еще и открытые контекстные меню (если вы думаете, что это бесполезная фишка - вам никогда не доводилось рисовать инструкции!).

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

Первый из них - Gyazo - довольно узко специализирован и предназначен именно для того, чтобы быстро поделиться скриншотом. Он представляет из себя маленькую программку, ярлык к которой висит в таскбаре. По щелчку на ярлыке курсор превращается в крестик, которым следует выделить на экране прямоугольную область. Выделенная область улетает на сервер Gyazo, после загрузки автоматически открывается страничка со скриншотом (это позволяет перед отправкой оценить, а не попало ли в кадр чего лишнего), а ссылка на картинку поселяется в буфере обмена. Просто берем и отправляем эту ссылку собеседнику - хоть почтой, хоть скайпом, хоть как. Со временем Gyazo обросло еще несколькими фишками - горячие клавиши (в отличие от щелчка по иконке в таскбаре, нажатие сочетания горячих клавиш не сбрасывает контекстные меню),  и даже возможность захвата последовательности действий и их склейки в GIF-анимацию (наверно, это круто, но у меня почему-то оно постоянно падало, да и для записи скринкастов я использую другие программы). Для тех, кому не хватает функциональности, есть платная подписка (стоит целых 2 доллара в месяц), она открывает примитивный веб-редактор (стрелочки на скриншот повесить), а также доступ к истории своих снимков за все время. Каждый сам решает, нужно ли оно ему. Я вот считаю, что не нужно.

В бытность рядовым консультантом я, устав делать скриншоты для инструкций в Paint.NET, спросил у гугля: "а какой есть аналог "Ножниц" под WinXP? Гугль мне ответил: Screenpresso. Эта программка уже который год является моей любимицей. Перехватывает нажатие клавиши PrtScr, после чего предлагает выбрать область (при этом границы окон и частей окон умеет определять сама, умница такая, даже не надо ювелирно прямоугольники выделять), после чего открывает скриншот в редакторе (который, кстати, самый продвинутый и богатый инструментами из всех, что я видел в скриншотилках). Результат обработки автоматически сохраняется в папочку на жестком диске, изображение автоматически помещается в буфер обмена (очень удобно получается делать инструкции: PrtScr - щелчок по окну/менюшке - в редакторе накидал стрелки-номера-области - вставил в Word, а если надо вернуться через какое-то время - в папке все файлы называются по дате-времени). Обработанный скриншот можно отправить по почте, через облачное хранилище, залить на какой-нибудь фотохостинг типа Flickr, или даже применить произвольный VBA или C# скрипт.
Также поддерживается функция Cloudpresso - скриншот в один щелчок заливается в облачное хранилище, и формируется публичная ссылка. Ссылка действительна 8 недель, что обычно более чем достаточно.
Начиная с версии 1.5 бесплатная версия также умеет записывать скринкаст неограниченной длины, но с ватермарком. Раньше было без ватермарка, зато 20 секунд.
Из не очень полезного, но забавного - функция автоматической сборки документа из скриншотов (можно сгенерировать PDF, Docx, HTML или даже анимированную GIF). Файл собирается по принципу "Заголовок скрина - описание скрина - картинка" (кроме GIF, который только из картинок состоит) В бесплатной версии результат обязательно будет с ватермарком. Почему я считаю эту функцию не очень полезной? Да потому, что при подготовке нормальной инструкции описание как правило получается более сложным, а для записи анимации с последовательностью действий удобнее делать полноценный скринкаст.

Минусы у Scrennpresso также есть. Первый и главный - бесплатная редакция программы требует автоматического обновления, и без проверки свежей версии просто откажется запускаться. Особых проблем это не доставляет, выключать компьютер совсем - нечастое занятие, а после гибернации Screenpresso отлично работает. Второй минус - некая тормознутость, сильнее всего проявляющаяся при запуске программы. Впрочем, в этом направлении ведется работа, и версия 1.5 уже заметно шустрее предшественниц.
У Screenpresso есть платная версия, за денежку откроются некоторые новые функции, как, например, возможность изменения уже расставленных в прошлом графических элементов (бесплатная версия сохраняет только растровый файл с итоговым результатом). Полный список плюшек можно увидеть на сайте. Честно говоря, пока на трату 28 евро я не соблазнился.

Также примитивная сохранялка скриншотов есть в Dropbox. Клиент перехватывает нажатия PrtScr и Ctrl-PrtScr, в первом случае скриншот экрана просто сохраняется в папку Dropbox, во втором - автоматически генерируется ссылка. Я у себя эту возможность отключил: мало того, что функциональность убогая, так еще и перехватывает PrtScr, что конфликтует со ScreenPresso.

Более продвинуто реализована работа со скриншотами в Яндекс.Диске. Клиент предлагает сохранить весь экран либо прямоугольную область и либо сразу получить публичную ссылку, либо предварительно обработать снимок в редакторе. Последний, хоть и не дотягивает по возможностям до ScreenPresso (например, нет нумератора и затемнения), отличается просто реактивной скоростью работы. Но учитывая, что функция была выпущена всего несколько дней назад, можно надеяться, что список инструментов рисования будет развиваться.

И буквально по ходу написания этой заметки я узнал о существовании кроссплатформенной скриншотилки Joxi. Сделана она на qt, имеет версии под Windows, Linux и MacOS, имеет очень приятный и функциональный редактор, не уступающий ScreenPresso по возможностям. Для публикации снимков предлагается 1 гигабайт на ресурсе Joxi.ru. Есть опция дублирования всех отправляемых снимков в указанную локальную папку (можно увеличить надежность, указав папку в каком-нибудь облачном хранилище). Есть кнопки быстрой публикации скриншота в соцсетях. По итогам беглого тестирования обнаружились следующие минусы:
1) это все-таки программа для публикации скриншотов в интернете. Сохранение на диск без публикации и копирование картинки в буфер обмена не автоматизированы - при нажатии на кнопку "Сохранить" откроется полноценный диалог сохранения файла, а копирование в буфер необходимо осуществлять нажатием Ctrl-C.
2) не удалось обнаружить функции групповой очистки загруженных изображений, только индивидуальное удаление. Что будет, когда забьется предоставленный гигабайт - представить страшно...

upd. Обнаружил еще неплохой бесплатный скриншотер - Greenshot. Считается, что программа предназначена для разработчиков и технических писателей. Интересные функции есть (например, кнопки автоматической вставки в открытые документы Office), но впечатление портит архаичный интерфейс с мелкими пиктограммками и менюшками, а также отсутствие нумератора (ну люблю я его!)

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

Девайс от Самого

Кись-Маську достала Люмия и Windows Phone. То, что казалось мелкими детскими болячками, со временем стало восприниматься как плод хитрого злодейского замысла по нагнетанию стресса. В какой-то момент было окончательно решено сливать Люмию и возвращаться в светлое лоно Android.
Основным претендентом была свежепоявившаяся Sony Xperia Z1 Compact, отпугивала только цена. Я начал морально готовиться к дырочке в бюджете...

И тут на горизонте замаячила Она. Распродажа от человека-и-блогера exler. Кто не знает, он периодически продает в Москве гаджеты, ставшие героями обзоров. Среди прочего, за 14к продавался HTC One Dual Sim. Эту модельку я присматривал еще в ходе прошлой телефонной кампании, когда Кись хотела двухсимочник и отличный звук в наушниках, но отдавать 29-30к за телефон (его тогдашняя цена) жаба несколько душила...

К счастью, пост о распродаже я увидел спустя всего 10 минут после публикации, и Кись-Мась успела договориться о покупке аппарата.

В результате Кись стала обладательницей шикарного во всех аспектах аппарата, да еще и с богатой историей (герой обзора и на два месяца Основной Девайс Экслера). С чем ее и поздравляю :-)

upd. Раньше подобными распродажами не особо интересовался, но факт, что за день был распродан почти весь внушительный список, не может не впечатлить.

One Drive (to rule them all...)

Недавно Microsoft объявили о переименовании SkyDrive в OneDrive. Причина тому - судебные терки с неким, кажется, авиаперевозчиком, и решение, что переименоваться быстрее и дешевле, чем воевать.

Кто не знает, SkyDrive - это облачное файлохранилище, эдакая "онлайн-флэшка" а-ля Dropbox/Яндекс.Диск/да много кто, только от Microsoft. К ее плюсам по сравнению с конкурентами можно отнести:

  • 7 Гб бесплатно на старте;

  • Довольно приятную веб-морду (мне нравится больше, чем дропбоксовская);

  • почти полноценные веб-приложения Word и Excel бесплатно (мне нравятся больше, чем гугледокс, и к тому же результат сразу заботливо кладется в формате docx/xlsx в папочку в Скайдрайве).

  • Интеграцию с ним Офиса 2013 (хотя я этой интеграции что-то не чувствую кроме того, что по дефолту офис предлагает сохранять файлы в папку скайдрайва).

Вместе с переименованием были запущены несколько новых плюшек:

  1. Обновленный клиент для мобильных устройств на Android/iOS научился автоматически загружать фотографии (на WinPhone он это умел изначально), и за включение этой функции вроде должны добавлять +3 Гб к имеющимся 7 (мне пока не добавили...)

  2. Добавлена система инвайтов - если пользователь регистрируется по чьему-то инвайту, то и он, и пригласивший получают по 500 Мб (максимум так можно добрать +5 Гб)

  3. Первые 100 000 человек, которые залогинились в OneDrive после 11:11 am PST 19.02.2014 получили в подарок 100 Гб на год (я специально ждал с вбитыми логином/паролем, чтобы в нужную минуту нажать кнопку "Войти" - и таки 100 Гб прилетели).

Если кто-то хочет попробовать OneDrive с 7.5 Гб изначально - прошу регистрироваться по моей ссылке https://onedrive.live.com?invref=05b99bd437cdb497&invsrc=90

Не было печали - апдейтов накачали. Решение неюзабельности планшета

Проблему с убитым Гуглем интерфейсом на планшете решил просто и радикально - установкой стабильного CyanogenMod (заодно посмотрел, наконец, вживую, что за зверь такой). Версия Андроид та же самая - 4.2.2. Мой Galaxy Tab 2 входит в число официально поддерживаемых устройств, поэтому особых проблем с установкой не возникло (просто идем по мануалу).

Проблему с кнопками по центру там решили довольно интересно - добавив две кнопки по углам. Повесил на левый угол "Назад" и чувствую себя человеком.

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

В остальном полет нормальный.

Не было печали - апдейтов накачали

За те 3 месяца, что боевой Galaxy Tab 2 провалялся выключенным, на него прилетело обновление до Андроида 4.2.2... Раньше у него была красивая менюшка вместо "шторки" и кнопки слева, а теперь кнопки по центру и шторина на весь экран! Пользоваться ЭТИМ, имхо, невозможно, будем на эту тему жрать, грустить и думать.

Зато подарили на 2 года 48 Гб в дропбоксе...

Про SnapRAID + Aufs

Вопрос организации массива дисков встает перед каждым владельцем домашнего сервера. Вариантов тут масса, и все они неплохо задокументированы. Очень много русскоязычной информации можно почерпнуть в профильной ветке на iXBT и в блоге одного из главных ее активистов 2gusia. Одним из наиболее популярных вариантов является использование чудесной файловой системы ZFS. Это действительно невероятно мощная штука, по указанным мной ссылкам можно почерпнуть немало тому доказательств.

Однако (особенно если вы используете Linux) этот вариант не является единственным, и я бы хотел чуть подробнее рассказать об одной из альтернатив ZFS, вполне пригодной для использования в домашнем медиасервере. Это связка из двух программ: SnapRAID и aufs.

SnapRAID обеспечивает аналоги RAID 5-6(-7-8-9...), вычисляя контрольные суммы и храня эти данные на выделенных жестких дисках. В отличие от классического RAID и raidz, он работает поверх файловых систем - на выделенном разделе создается огромный parity-файл, каждый файл на диске лежит на одном конкретном диске. Всего для хранения контрольных сумм можно выделить до 6 дисков (т.е. в теории можно построить просто гигантский массив, устойчивый к гибели до 6 дисков). Важный момент - SnapRAID не обеспечивает полновесный пулинг дисков! В коробке есть функциональность монтирования read only-пула, построенного на симлинках, но оно нам надо? Задачи пулинга возложим на Aufs. Aufs позволяет объединить папки (их система называет Branches - ветки), располагающиеся на самых разных дисках, и взять на себя заботу - куда конкретно положить вот этот файл. Есть различные стратегии балансировки ветвей (забивать ли диски по очереди, или всегда писать на самый свободный). Файл, опять же, всегда находится на одном конкретном диске.

Эту связку активно продвигает сообщество Openmediavault, в нем даже есть плагины для установки и настройки SnapRAID и Aufs из веб-интерфейса.

Попробую описать плюсы и минусы указанной архитектуры. Критика и правки принимаются.

Плюсы:

  • Массив очень легко собрать и разобрать на любых имеющихся дисках. Да-да, тип ФС и заполненность дисков роли почти не играют. Понятно, что для Parity необходимо использовать самые большие из имеющихся дисков, и специфика его использования (один гигантский файл) накладывает некоторые ограничения на выбор ФС - это все описано на сайте SnapRAID. Мой личный конфиг - в SnapRAID массив объединены 5 дисков, 2x 4 Tb (один из них как раз под Parity) на Ext4, 1 x 1 Tb на Ext4, 2 x 1 Tb на NTFS (!). При этом в Aufs-пул не включен один из NTFS-дисков (там лежат файлы жены, и вообще он USB-шный). Вся эта радость довольно стабильно работает, и никто не запрещает добавлять/убирать диски без необходимости сливать куда-нибудь в сторонку всю информацию. Доступ к каждому диску индивидуально остается (например, посмотреть где физически лежит какой файл), хотя вносить изменения подобным образом не рекомендуется (например, если на одноименные папки наложить разные права, могут возникнуть конфузы, а это еще самый очевидный вариант извращения...).

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

  • для чтения 1 файла используется только 1 диск - теоретически, это приводит к некоторому уменьшению шума и энергопотребления сервера.

  • Сравнительно низкие требования к ресурсам ЦПУ и оперативной памяти.

Минусы:

  • SnapRAID заточен под медиасервера - сравнительно большие сравнительно редко меняющиеся файлы. Контрольные суммы вычисляются не в риалтайме, scrub тоже необходимо запускать. С обеими задачами справляется Cron.

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

  • каждый файл пишется на единственный диск - ни о каком приросте скорости речи быть не может. Хотя не скажу, что для домашнего сервера это критично...

  • Сохраняются только файлы, симлинки и хардлинки - права доступа, владельцы, расширенные атрибуты не сохраняются.

Для автоматизации sync и scrub я использую модификацию довольно популярного скрипта. Изначально этот скрипт только выполнял пересчет контрольных сумм, потом автор SnapRAID-плагина адаптировал его к механизму отправки почты OMV, ну а я дописал туда Scrub массива на каждый 10-й запуск (при еженощном выполнении получаем обновление контрольных сумм каждую ночь, и проверку на ошибки каждые 10 ночей). Финальный скрипт можно почитать вот тут: http://pastebin.com/x2aK67TZ

upd от 05.01.2015: в текущей версии OMV скрипт уже умеет из коробки делать scrub, и даже настраивается из веб-морды, так что ссылка выше уже неактуальна.

 Вопрос выбора архитектуры хранения данных вообще не является однозначно решаемым, и каждый должен найти свой ответ под свои задачи. В случае Linux-медиасервера связка SnapRAID + Aufs, однозначно, заслуживает пристального внимания и права на жизнь.

Скрипты для Subsonic

Покупка новых винтов для сервера заставила пересмотреть не только структуру папок (про связку SnapRAID + aufs я надеюсь когда-нибудь подробно и обстоятельно написать, если кому-нибудь интересно - пните меня через недельку :-) ), но и подходы к работе с медиафайлами.
Collapse )