Битва двух якодзун

Очень я люблю сравнивать несравниваемое, а особенно теплое с мягким.

У меня давно есть и переодически продлевается лицензия на RealBasic. Да, простой как грабли тот самый бэйсик, который обвешали гуем и сделали кросс-платформенным.

А тут субботний вечер, всякие мысли лезут в голову и одна из них почему-то проколупала мне дырку в черепе “А какова скорость обработки всяких UI элементов?”

Фигня вопрос, устраиваем битву. В одном углу ринга ставим RealBasic, а в другой – QT5. Делаем простую формочку:

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

RB:

  for i as integer =0 to 100
    ProgressBar1.Value=i
    TextArea1.Text=str(i)
    for q as integer =0 to 1000
      dim p as integer =0
      p=p+q*i
      TextArea1.Text=TextArea1.Text+" "+str(p)
    next
  next
  

QT:

   for(int i=0;i<=100;i++)
    {
        ui->progressBar->setValue(i);
        QTextDocument * d;
        d=new QTextDocument(ui->plainTextEdit);
        QPlainTextDocumentLayout *layout = new QPlainTextDocumentLayout(d);
        d->setDocumentLayout(layout);

        d->setPlainText(QString("%1").arg(i));
        ui->plainTextEdit->setDocument(d);

        for(int q=0;q<=1000;q++)
        {
            int p =0;

        p=p+q*i;
        d->setPlainText(d->toPlainText()+" "+QString("%1").arg(p));
        ui->plainTextEdit->setDocument(d);
      }
    }

Результаты меня убили: RB выполнился за 1:20, QT5 на 12 секунд дольше. Плюс RB не вывесило флаг “Application Not Responding” и где-то по середине сумело один раз обновить UI.

PS Я знаю, что код кривой/неоптимальный и там и там.
PSS Пооптимизировал код. При использовании стандартных виджетов результаты еще хуже: RB 8 секунд, QT5 35. Проблема именно в навороченности стандартных виджетов QT: он там судя по всему простой текст в html рендрит, а только потом его уже отображает. Ибо если поставить вместо поля редактирования label, то скорость резко увеличивается. Но тогда нечестно 🙂

Музыкальный матч

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

Вообще-то у меня задача по прослушиванию музыки стоит очень простая: “Я хочу максимально не заморачиваясь слушать музыку со всех доступных мне устройств. И я не хочу повторно слушать то, что я слышал недавно”.  И именно из-за второй части хотелки я не могу слушать плэйлисты наших радиостанций – они там по 30-50 песен.

Я перепробовал кучу программ, пытался писать свое, пока разными путями я не вышел на iTunes. Он умеет все, что я от него хочу. Скормил ему свежезарипанное и забыл. Сделал умный плэйлист и забыл. Засинхронизировал этот плэйлист с айфончиком или андроидом и забыл. Практически полное благолепие и красота.

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

Во-первых, у меня довольно большая библиотека. 160+ гигов и под 30 тысяч песен. А на ноутбуке винт всего 64Гб. Вроде можно включить “шаринг” на большом компе, но это надо иметь постоянную связь с ним, да и вся идеи с умными плэйлистами тут же становятся неразрешимыми.

Во-вторых, на рабочем компьютере я тоже слушаю музыку. И хоть там не стоит проблема с  местом, там точно так же встает проблема с “неслушаньем” прослушанной музыки и синхронизацией

В-третьих, я стараюсь жить честно. И по моим прикидкам, примерно 80% моей библиотеки это легально купленные диски. Легально – это значит я отнес большую кучу денег в магазины типа “Союз” и затем попросту сграбил купленные диски. Не так давно я тупо выбросил 4 ашановских сумки с дисками. Ибо 99% дисков открывались один раз – на процесс рипа.

Остальные диски в моей коллекции – пиратка. Но пиратка эта от простой невозможности купить эти диски: они попросту неинтересны для производства. А я хочу иметь у себя “Мальчишник”, “Ласковый май” и газмановское “Люси”. И кучу другого хочу, но как говорится, не имею физической возможности …

Отдельной проблемой моей библиотеки стоит качество оригиналов. У меня есть сборники в духе “Гранды русского рока”, где заявлено качество 128Кбит/с, а в реальности там 96VBR … У меня есть треки, которые сграблены с сидюков, которые хоть и продавались в огромной сети музыкальных магазинов, но в реальности являются обычной записью mp3 на диск … В общем, давно ее надо привести в порядок, но то времени нет, то желания.

И тут как-то более менее сразу совпало два события: в качестве основного телефона я был вынужден перейти на iPhone 4S со старого SGS и в России Apple официально открыла свой музыкальный магазин.

Конечно, можно было и раньше им пользоваться через подарочные карты и прочие ухищрения, но это все было слишком неудобно (вы ведь помните, что я ленивый? 🙂

А вдобавок к магазину открыли для России и сервис iTunes Match. Поэтому вы сможете меня понять, когда я обратил самое пристальное внимание на эту штуку, ибо именно музыка вытащила Apple из жопы и вознесла на всяческие вершины. А поэтому можно ожидать, что все связанное с этим будет работать практически безупречно.

Итак, что мне обещает iTunes Match?

– Хранение всей моей музыки в “облаке”.

– Возможность закачки до 25 тысяч своих песен в “облако”. Даже тех, которые вы собственноручно сграбили.

– Обновление треков с плохим битрейтом до формата 256Кбит/с.

– Возможность как проигрывания песен напрямую из “облака”, так и предварительное закачивание на диск.

– Один аккаунт могут использовать до 10 устройств.

– Все это стоит 800 рублей в год (для России).

Понятно, что никто не собирается хранить в облаке все песни, которые пользователи будут туда закачивать. Просто каким-нибудь хитрым алгоритмом будут находиться аналоги из уже существующего в iTunes Music и выдаваться за ваше. Ну а небольшой остаток песен можно и хранить. Да и то, наверняка я не один буду с таким же треком, так что и тут можно сэкономить. В общем, шикарная и гениальная возможность сделать деньги практически из воздуха.

Ну и как следствие возможности проигрывания из “облака”, возможно теперь я смогу на ноутбуке слушать свою коллекцию. Ибо 64Гб диска не хватит на сколько-нибудь приличную коллекцию, а интернета вокруг меня не просто много, а очень много.

В общем, хватит расползаться клавишами по клавиатуре, пора попробовать это в реальности.

Для начала я в лоб пошел в iTunes Match. И так же в лоб получил ответ

В общем, товарищам с большой библиотекой казалось бы делать там нечего … Ладно, зайдем с другой стороны.

Решил я взять первую попавшуюся музыку (примерно 5 тысяч треков) на работе и скормить ее. Как ни странно, примерно 2/3 библиотеки залетели туда мгновенно. А вот с остальными возникла проблема. Они добавлялись в библиотеку очень медленно, по 1 песне в 5-10 минут и при этом процесе жрало 1,5 ядра процессора.

И при этом, сколько я не разглядывал тестовую библиотеку в iCloud, я так и не понял, на каких принципах отбираются туда треки.

То есть оно засосало то, чего у них в библиотеке точно нет и умерло на том, что у них в библиотеке есть, а у меня с картинками, тэгами и прочим. Но все-таки большую часть оно забрало без проблем, плюс все дубликаты оно отсеяло в самом начале.

Выводим в библиотеке iCloud status и получаем следующее:

– “waiting”. Вот чего оно ждет, я так и не понял. Статус снимается от 1-2 секунд до бесконечности на трек.

– “error”. Это судя по всему из-за банальной перегрузки эппловских серверов, потом что потом ошибка исчезла.

– “purchased”. Тут и так понятно, это я купил.

– “matched”. Это как раз те треки, которые я не покупал, но которые сервис распознал как уже имеющиеся у него. При этом ни название, ни теги не меняются!

– “uploaded”.  Те треки, которые он типа не нашел у себя и поэтому закачал к себе.

Функций типа “давай я покажу тебе, какому треку это соответствует” нет.

Теперь приступлю к тестированию обещанных фичек.

1. Стриминг, то есть проигрывание файликов по сети.

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

А вот iPhone тут оказался полностью провальным. Он тормозил и запинался как при работе через WiFi, так и через 3G. При этом по поведению телефона становилось понятно, что ему просто не хватает “мощи”.

2. Скачивание из облака на диск.

Тут никаких проблем не было. Всё, как обещано: то, что распозналось, то приехало назад в 256ААС. То, что не распозналось и залилось “как есть”, приехало в том же виде.

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

3. Плейлисты.

Вот тут и скрывается пока для меня самое странное.

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

А вот со смарт-листами ситуация другая. Нет, они так же копируются между компьютерами, но если стоит галочка “выбирать случайно”, то все плэйлисты будут разными. Судя по всему, в 11й версии наконец-то сменили генератор “случайных” чисел и он теперь на самом деле выбирает их случайно.

Одно “НО” – я так и не понял, как и когда он синхронизирует плэйлисты. Иногда практически мгновенно, а иногда приходится ждать несколько часов. Есть и ручное проталкивание: Надо просто выбрать “обновить iTunes Match” последовательно на всех компьютерах, при этом первым должен быть тот, где делали последние изменения.

iPhone и тут не смог не подложить пакость. На смарт-листах размером где-то больше 3-4Гб программка Music попросту падает. Без всяких сообщений и прочего. Р-р-раз и вы на главном экране.

Я пока выключил iTunes Match и iPhone синхронизирую через ноутбучный iTunes. Получается гораздо быстрее и безпроблемней.

Итак, как на мой взгляд надо рассматривать iTunes Match:

– Легализация свой музыкальной библиотеки за 800 рублей в год.

– Удаление дубликатов из библиотеки.

– Обновление большинства содержащихся в библиотеке песен до приемлимого качества

– “Растягивание” свой библиотеке на 10 компьютеров

– Снятие такой задачи как синхронизация музыки между несколькими устройствами.

– Облако – вполне неплохая замена резервному копированию в этом случае.

Для кого эта вся штука категорически не подойдет:

– Любители многоканальной и lossless музыки.

– Владельцы библиотек, где больше 25 000 треков.

– Те, у кого неприятие продукции Apple как класса.

– Любителям поделиться со всеми. Ибо в треках записывает ваш Apple ID и по нему легко можно добраться до вас …

Ну а если вернуться назад, к моей большой библиотеке …  iTunes Match решил мою задачу. Я просто разбил свою библиотеку на две части и по частям залил туда. Попутно Match вычистил мои дубликаты (у некоторых было аж по 4 копии с разным битрейтом), а я вычистил всякие track01 и track02.

В общем, пока категорически рекомендую, я буду дальше тестироватьи искать какие-нибудь неприятности …

 

Почти практическое применение знаниям …

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

Как и у любой компании, у нас есть свой почтовый сервер. На нем крутится куча доменов и постоянно кипит жизнь.

Но регулярно к нам приходят пользователи со словами “я тут час, день, месяц назад отправил письмо, а оно не пришло”. Обычно да, прокатывают стандартные ответы “посмотрите в спаме” или “по логам оно было принято ТЕМ почтовым сервером, а куда потом делось мы уже не можем знать”.

Но попутно у меня возник вопрос: а на самом деле, какова реальная задержка в доставке почты ? Задержка – это от момента, когда исходный сервер уже проверил письмо, прошел все правила типа рассылок и до момента, когда удаленный сервер ответил что-то типа 250: Queued for delivery …

Взял логи за последний месяц, пара строчек в консоли, потом из-за недостатка опыта полчаса возни с gnuplot. И вуаля!

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

Неплохо, я как-то думал, что письма дольше ходят …

Задокументируй ЭТО!

Где отчет по загрузкам фиговины с хреновины за последний месяц? Мы его 26 секунд назад должны были послать! Заказчик в потолок кричит уже!

Или нет, лучше вот так:

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

Да не вопрос! Открыл новую вкладку в IDE, вдохновился и описал свой шедевр. Вернее, попытался описать. Диаграммку надо вот тут вставить, а вон там без скриншота не обойтись …

Так, добавляем нужные теги в файл, меняем его расширение в html. Все, готово! Еще надо в PDF? Ставим виртуальный принтер и печатаем на него. Как картинки поехали? Переносим написанное в Word или LibreOffice. Заказчик зубчиками недоволен? Данные для диаграмки поменялись? Скриншотик поменять надо?  А-а-а-а … Отвалите от меня! Все, нету больше документации! Вон остатки валяются, пусть технический писатель мучается, ему за это деньги платят!

Знакомо? Думаю да. Любой, кто прикасался к описанию чего-либо, готов часами материться от совместимости форматов, стилей, шрифтов и прочих ужасов. А если подобное надо делать регулярно и еще совместно с кем-нибудь …

Все, мощнейшая демотивация обеспечена. А это неправильно. Тут я пишу про обратное, поэтому нефиг тут. Будем исправлять ситуацию.

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

Задача 1: Регулярно отправлять Заказчику (Акционеру, Руководителю, Министерству, еще кому-нибудь) какой-нибудь Очень Важный Отчет. В отчете должны быть Очень Важные Цифры, и График, построенный по этим цифрам.

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

Усложняем задачи тем, что над ними работает не один человек, желательно результат получить в нескольких форматах и все полученное сохранить для потомков. Прибьем сверху условие, что все работают под разными платформами и посмеемся над полученным.

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

Как ни странно, для таких задач давно существует целый класс программ “то, что у вас в уме, то вы и получите”. Задача их состоит в том, что бы взять исходный текст и оформить его согласно правилам для того или иного выходного формата. Надо выложить на веб-сайт? Отрисовываем картинки в низком разрешении и генерируем  html. Надо подготовить для печати? Перегенерируем  рисунки в большом разрешении и выводим все в eps или pdf. Надо сделать справку для программы? Выбираем нужный формат и все.

Легкий поиск по гуглу легко обрушивает на нас ворох ссылок. Если вам некуда девать деньги и вы работаете только под Windows, то Help&Manual практически однозначный выбор (Helpinator тоже ничего). Если вы дружите с php, то взгляните на отечественный BullDoc, питонистам пригодится Sphinx и так далее.

Люди, давно живущие в интернете, тут же предложат какой-либо движок на Wiki с соответствующими плагинами. В общем, вариантов море.

Давайте я уточню условия:

– Эта штука должна максимально хорошо дружить с системами контроля версий.

– Эта штука должна быть максимально приспособлена под “пользователя тупого, необученного”. У меня нет желания лазить по очередному скоплению менюшек или рассматривать многотомное руководство по языку.

– Эта штука должна быть максимально рассчитана под групповую работу. Когда одну часть документа делает Вася, а другую Петя.

– Эта штука должна максимально автоматизироваться. Я ленивый.

– Бесплатность – это хорошо. Но можно и денег дать, если что.

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

Итак, за основу я предлагаю взять asciidoc. Есть для всех платформ и четко следует unix-идеологии выполнять хорошо только одну задачу. На входе обычный текст, а на выходе, особенно с использованием других программ, что угодно: от разметки для какой-нибудь wiki до pdf. После краткого просмотра команд становится непонятно, а почему раньше этим не пользовался …

Рисуночки и диаграммки отдадим на откуп gnuplot и graphviz. Они работают аналогично.

Решение задачи 1

Любым способом получаем так нам необходимые данные. Вытаскиваем руками из базы, пишем скрипт для сбора с оборудования, создаем большую таблицу в экселе. И сохраняем их в обычный и привычный всем csv формат. Скажем, мы получили вот такие данные:

Скажем, первый столбец означает число кирпичей, а второй объем выпитого кофе. Очень важные и секретные данные.

Для начала напишем, какие графики мы желаем построить по этим данным:

Очень нечитаемое, да? А в результате команды gnuplot for_gnuplot мы получим вот такую вот картинку в формате svg (формат можно и поменять), которую можно засунуть куда угодно.

Это я так, не выпендривался. Но если что, можно в этой картинке поменять все. От типа линий и заканчивая тем, чем будут рисоваться столбики.

Теперь точно таким же образом опишем сам отчет.

Правда, тут выяснилось, что я раньше сделал две ошибки: во-первых, есть проблемы с отображением svg inline, а во вторых, я как-то не нашел, как заставить asciidoc пропустить первую строчку в csv файле. Обе эти проблемы решаются просто, но мне уже лень переделывать скриншоты. Но в итоге получаем вполне симпатичный html.

Можно дальше его допиливать, а можно и так оставить.

Теперь осталась сущая мелочь: засунуть это в планировщик задач и наслаждаться автоматически отправляемыми отчетами.

К решению задачи 2 мы добавим еще одну программу – graphviz. Она шикарно умеет рисовать всякие диаграммки.

К примеру, нам надо нарисовать схему взаимоотношений в коллективе.

Одна команда и получаем:

Более того, команды для graphviz можно вставить прямо в исходники для asciidoc.

Шикарно? Шикарно!

А ведь я даже не упомянул и 1% возможностей этих программ. Хотя большинству и этого процента хватит за глаза.

А ведь все исходные данные в plain text, что очень понравится использующим системы контроля версий. И все замечательно скриптуется, что еще больше понравится таким лентяям как мне …

Я доволен, а вы?

MT#23

А? Что? Хозяин, ты чего в такую рань приперся? В субботу же никуда не катаемся обычно … Отдыхаем, так сказать … На матраз решил съездить? Это тот, где мы зимой катались по снегу на надутых колесах и наблюдали, как машинки из сугробов выбраться не могут? Ну-ну … Покататься он решил … Если бы решил, то хоть оделся бы поприличней, а то в чистых брюках и гламурных кроссовках поперся …

Ох, ну поехали. Без тросов, рации и компрессора … Чего, в гараж заедем? Ну-ну … Надо же, заехали. Теперь у меня в багажнике снова куча тросов и шаклов. Не, красную палку брать не будем. Покатушка же, а не трофя с рейдами.

Ладно, поехали. Так сказать, помигаем ошибками и поскрипим подшипниками …

Приехали. Ну … машинки есть знакомые …

Как колеса травить? Чего, в самом деле попрешься? Типа покататься? Ну трави-трави …

Что, уже? Даже фары не протрешь? А, там бродики будут, сами помоются? Ну ладно …

Да, хорошо колесики помыли. Что там дальше? Горка?

Ну забрался я на горку. Стою, наблюдаю и слушаю рацию, все равно хозяин ходит и  руками машет. Дескать, помогает другим забраться. Советы советует, руками разводит. Ну пусть машет, ага. А мне и так хорошо. Все равно, пока всем не помашет, не успокоится и поедем мы в хвосте, заезжающих “внетуда” дергать бум …

Что все, проехали? Ну поехали дальше. Опять встали. Убежал. Судя по крикам, пикапчик катают по колее туда-сюда … Накатались? Так быстро? Странно. А где катали? Что, мы уже проехали? А, ну да, лысая резина это печалька в наших краях, да …

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

Сам-то еду везде. Не асфальт конечно, но до “ужас-ужас” далеко. Опять же, не зря в грязевую резину обутый, да и хозяин не первый раз в грязи, мантры “не ссы, проедем” и “вторая пониженная, тапку в пол” знает хорошо. Да, чего-то гул подшипников ушел. Странно. Надо чего-нить выкинуть этакое .. О. Хозяин, потеряна связь коробки с мозгами! Вишь, лампочки “M” и “S” мигают? Все, аварийный режим! Зови эвакуатор! Что значит нефиг? Что значит “счас в бродике туда-сюда покатаемся, промоем, высохнешь и уйдет ошибка”? …

Странно. Покатались. Ушла … Шаман, однако. Всю книжку по моему ремонту выучил, не испугаешь с кондачка … Ой, а мы тут уже были. Выезд из бродика как раскатали-то … Так, Д3 не заехал. Пробую. Не заехал. Пробую еще раз. Не заехал. И еще раз … Все. Довыпендривались. Хозяин, я того, на заднем бампере вишу, задними колесами земли не чувствую … Что значит “копает хорошо-то как”? А кто на тапку давил?

Нет худа без добра и посмотреть на брюхо без подъемника можно? Лентяй …

Чего? Креномер врет! И вообще у тебя горизонт завален! Какие в попу 50 градусов? В мою? Так там у меня земля … Чернозем, хороший, качественный … Ладно, ладно. Стою, жду подмогу.

А все-таки красиво стою. На взлет дескать иду …

Жалко, долго стоять не дали. Приехал старшой братишка, дефендер, встал якорем, я за него лебедкой зацепился и выполз. Потери? Какие потери, хозяин, ты же меня для этого и делал! А, ну да, рамка номера поломалась, пока передним бампером горку рыл. Не срыл, а рамку поломал. Ну и все равно, номер-то на болтах сам же садил, фиг оторвешь такой мелочью …

Выполз, посмотрел пока другие выползут, да бедному Д3 колесо забортируют назад … Второй раз одно и тоже. Надо посоветовать, что бы разнообразил для приличия. Что, едем? Ну ладно, не едем. Ползем в хвосте замыкающими. Доля такая наша. А ведь когда-то с тросиков не сползал … Растем, да …

Что, уже приехали? Пробка? Подвинуться? Да пожалуйста. А я погляжу, как эти машинки отсюда будут выезжать …

Вот … Д3 умница! Не стал хозяина разочаровывать. Теперь другое колесо разбортировал. Но вытащили, да. 50м до лагеря, народ радуется бесплатному зрелищу …

Все, я последний на трассе? Всех уже утащили? Чего? Меня? Не, счас назад сдам … Тапка в пол, ух, как по грязи-то таскает, слалом прямо. Все? Выехали? Закончилось? Хорошо-то как …

Чего? Какие такие ошибки и шумы … Нету ничего, поехали пузатерок попугаем грязью и травой в бампере …

P.S. Другие фотографии и видео (они там даже машину утопили) можно глянуть тут

 

Ведроводческое …

Он стоит, сверкая каплями после прошедшего ночью дождя. Ждет. Меня.

Подхожу. Мигнув поворотниками, он откликается на кнопку разблокировки и отпирает водительскую дверь. Открываю дверь и вставляю ключ в любезно подсвеченное гнездо. Поворот ключа и приборная панель озаряется огоньками. Глаза привычно обегают панель и я жду, пока всё погаснет. Доворачиваю ключ и щелкнув втягивающим, стартер начинает проворачивать двигатель. Давно не заводил, поэтому крутнувшись пару оборотов, двигатель откликается утробным рыком. Проснувшиеся четыре литра заставляют окрестных собак поучаствовать в этом празднике пробуждающегося крутящего момента …

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

Сажусь, пристегиваюсь, ногу на тормоз, селектор в R и выбираюсь со стоянки. Перевожу коробку в drive и дождавшись подъема шлагбаума, выруливаю на дорогу …

Правая рука шарит около пассажирского сиденья, нащупывает тангету радиостанции и зажимает кнопку включения. Салон тут же наполняется шумом и треском эфира. Срабатывает шумоподавитель, оставляя только матерки дальнобойщиков, круглосуточно обсуждающих всё и всех вокруг. Дожидаюсь паузы и “мужики, только что вышел, подскажите дорожку по внутреннему до звенигородки?”. В ответ тут же слышится уже привычное “братишка, там ограничение на 3.9, не пройдешь”. Отвечаю “я на маленькой, пройду”. Дальше разговор не вяжется и перебивается другими голосами. Всё-таки нет ничего лучше, чем потрындеть  с незнакомыми людьми поутру …

Рыкнув двигателем, вписываюсь в вечно спешащий поток на МКАДе и спокойно еду до работы. Дорога известная и кружащиеся вокруг мелкие машинки вызывают только снисходительную усмешку. Они может и могут ездить быстро, зато я могу ездить везде …

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

Я ушел, но он будет ждать …

Флюсуемся …

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

Что значит удобней? Как ни странно, большинство считают слово удобство синонимом слова привычно. Привыкли копать огород лопатой, вот и копают от зари и до зари, хотя на заднем дворе стоит трактор со всем навесным оборудованием … Почему? Ну дык его заводить надо, обслуживать … А лопатой раз-раз и все …

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

Так как все люди разные, то и универсальных рецептов в духе “возьми вот это и будет тебе хорошо” не получится. Зато получится описать примерный алгоритм решения.

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

Сейчас абсолютно пофиг, “хорошая” это задача или “плохая”. Задача сделать её удобней. Ну и если получится, заодно и продуктивней.

Ставим мысленно галочку “попридираться” и при работе с этим начинаем задавать себе вопросы “а нафига?”. И просто скидывать их куда-нибудь. Скажем, в тот же Evernote или WorkFlowy.

Просто скидывать, не задумываясь над сутью. Поначалу будет тяжело, ибо вы ко всему привыкли, все кажется привычным и не требующим изменений. Тут главное поймать даже самое легкое раздражение и зафиксировать его.

И потом, когда появится свободное время или настроение, открывать этот список и начинать устранять причины этого раздражения.

Как и в случае с учетом времени, через некоторое время я обозрев список, подумал что-то вроде “как с этим я вообще живу?”. Честно, список касался всего: от обстановки в машине и заканчивая ssh клиентом.

Раз упомянул ssh клиента, то вот на его примере и раскрою этот конкретный случай.

У меня есть куча серверов под линуксом. И мне, как ни странно, регулярно туда надо заходить. И заходить из-под Windows. Раньше я использовал решение в лоб: после установки windows, я качал putty, менял в нем трансляцию на utf-8 и успокаивался. Однако после проведения инвентаризации раздражалок у меня получился следующий список:

– Неадекватная работа с copy-paste. Невозможно сделать это через меню в духе Edit-Paste. А если на клавиатуре нет кнопки Ins, то только через 3ю кнопку мыши. Да с cr/lf как-то все время ляпы происходят.

– Почему-то регулярно pscp отказывается не в путях и его надо тащить вручную. И процесс “мы на сервере, надо бросить туда файлик” какая-то корявая …

– Зачем-то вместо обычных форматов ключей он требует .ppk

– Некоторые клавиатурные комбинации отрабатывают не так и фиг его знает, кто виноват – я или сервер. Лень разбираться.

– При обрыве выкидывает окошко, которое сволочь модальное.

– Где табы?

Повторяюсь, это лично мои заморочки с этим. У вас их может не быть или будут другими. Главное – поймать их.

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

Через некоторое время вы обнаружите, что жить стало гораздо удобней. А ведь ничего сложного же, да?

We need more powerspeed!

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

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

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

Вы кто такие? идите на..й, я вас не звал!

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

Попутно сменить периодичность проверки почтового ящика с стандартных 1 или 5 минут на 30 минут или что еще лучше, на час. Я еще ни разу за всю свою карьеру не видел письма, неответ на которое “тут же” приводил бы к какому-либо значительному событию (конечно, если вы не сотрудник технической поддержки).

Прочитайте инструкцию к вашему телефону и научитесь на нем ставить режим DND для всех, кто не должен вас беспокоить. Не умеете сами – сходите к тому, кто занимается телефонами в компании, поставьте ему пива/сока/угостите обедом/чтоугодно и попросите научить/настроить.

Главная задача этого шага состоит в том, что бы во время наиболее интересного действа (сейчас какая-нибудь прикольная штука или страничка, а потом – полезное дело) никто и ничто не смогло вас отвлечь от сокровенного.

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

Лично для меня проще и лучше всего оказалось вернуться к старым школьным временам: 45 минут работы и 10-15 минут перерыва.

В очередь, сукины дети!

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

Опять же, из личного опыта, наиболее лучшим выходом в данном случае является “загон” всех в электронную почту. При попытке поймать в коридоре и начать “мне надо” отлично работает скорчить жалобное лицо и произнести что-то вроде “я весь такой затраханный, напиши в почту, а то я забуду”. Если входной канал является чатиком или еще каким мессенджером, то создаете письмо, тупо копируйте задачу и все относящееся к ней и отправляете ее заказчику.

Тут появляется сразу несколько плюсов:

– Пишущий сам будет вынужден подумать хоть чуть-чуть над задачей. Или сформулировать ее, ибо “ну нам надо это … того … ну которая голубенькая и завтра до обеда” в виде печатного текста выглядит по идиотски даже для пишушего. Но зато как отлично произносится на бегу …

– Нет ручек? Нету и печенья! Не написали, значит не очень и нужна …

– Отсутствие эффекта “испорченного телефона” если эта задача будет передана вашему сотруднику. Заодно и все контакты поставившего задачу не потеряются – развивать горизонтальные связи в компании вроде как очень полезно …

– Наличие возможности (или невозможнсти) отбояриться от задачи в духе “я ничего не видел/я забыл”. Ибо “я говорил ему в пятницу пару недель назад … ну когда корпоратив только начинался …” является абсолютно никаким оправданием (если это говорил не босс. смаил).

– У вас появляется время для более вдумчивого ответа. И меньше шансов нарваться на ситуацию “ты же говорил, что на эту задачу требуется 5 дней, а сейчас пишешь, что две недели минимум”. Плюсик в репутацию и карму, как не крути.

И наконец, послать кого-либо гораздо проще по почте, а не в лицо. Вон, всякие умные люди пишут книжки на тему “учимся говорить нет” а надо просто писать …

Сунул-вынул и пошел!

А теперь дошла очередь до тюнинга основных инструментов, используемых вами.

Наступите песне на горло и добавьте в браузер три (и только их) плагина: отрезающий рекламу (обычно находится по словам AdBlock), блокирующий флеш (FlashBlock или как-то так) и менеджер паролей. И после переноса запретите браузеру сохранять пароли. И никаких гугль-баров и прочих штуковин. Голый браузер без свистелок и перделок!

То есть вас при просмотре страниц не должно ничего отвлекать и не влечь в разные стороны. Браузер должен стать “раскаленным ножом, входящим в масло” (с) какой-то порнушечный роман времен начал перестройки. Или чем быстрее вы просмотрите страницы, тем раньше вернетесь к нормальной работе.

Еще здорово помогает занесение основных посещаемых сайтов в папку-закладку (firefox и safari точно так умеют), что бы по нажатии одной кнопки они всех открывались в разных табах браузера. Психологически будет проще: закончились табы, значит больше нечего там делать.

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

В общем, вы делаете тоже самое, что делали раньше, только гораздо быстрее и лучше. А это значит, что у вас остается гораздо больше времени для всяких непризводительных и личных штук! По моему, совершенно шикарно.

Ломай меня нежно!

Но тюнинг программ это конечно хорошо. Но почему бы не оттюнинговать самого себя? Благо время на побалбесничать увеличилось.

Тут скажу пока лично у меня не густо. Я начитался про кучу методов, но ко мне применилось только два: скорочтение и скоропечатание (или как еще назвать, когда все десять пальцев лупят по кнопкам?). Первый позволяет быстро вычленить из написанного основную мысль или понятия, а второй позволяет еще быстрее выплеснуть находящее в голове на экран монитора.

Где и как их изучать я рекомендовать не берусь. Британцев, помогавших мне изучать английский и готовиться к IELTS (там скорочтение необходимо при reading)  выгнали, а других я не знаю. Но думаю, всякие гуглы и яндексы дадут довольно быстрый ответ на эту тему.

Теперь думаю, пора пойти и перевернуть мир 🙂 …

Куда уходит время?

Всем нам иногда охота заиметь не 24, а 40 часов в сутках. Ну или по крайней мере 25. Времени не хватает, дела “проэтосамываются” и времени на семью не остается категорически. Думаю, совершенно знакомая ситуация для большинства из вас.

Пару раз и я себя ловил на этом. Но периодически я так же ловил себя на мысли “как-то же другие-то справляются с таким потоком дел?”. В общем, типичная ловушка. Я не могу, потому что не знаю, а не знаю, потому что некогда. Или “некогда мне точить пилу, мне пилить надо!”

Ситуация как обычно усугублялась тем, что я постоянно мигрирую с платформы на платформу.

Но где путем “забивания” на все, где после прямых намеков со стороны биг-босса в духе “ты охренел все делать сам, у тебя толпа народу” появилось время для “подумать” и для “почитать”.

Первой под каток моего чтения попала книга Дэвида Аллена “Как привести дела в порядок”. Или если коротко, то всемирно известные буквы GTD.  Прикинув трудозатраты на заведение папок и оценив тот бардак, который у меня в голове, я как-то приуныл. Я давно отвык держать ручку или карандаш в руках, а обилие программ, выпрыгивающих в гугле на слова GTD, превышало все разумные пределы.

Я перепробовал кучу программ, затратил кучу денег и в результате получил ноль. Полный и практически абсолютный.

Почему практически? Ну в принципе во всех этих штуках есть смысл, но смысл только для абсолютно забюракратизированого импортного человека.  Который работает в большой корпорации с 6 до 15 рядом с такими же как он, знает свое расписание и максимальный стресс которого составляет внезапный снегопад на улице.

В нашем же бардаке, когда сейчас есть проект, потом внезапно появляется еще один, а кто делать будет непонятно и каждый сваливает ответственность на других, такая регламентированность идет лесом практически в первый же день. Я прочитал всего Архангельского (одно время его книги вообще не исчезали из туалета), еще кучу авторов всех мастей и цветов, пробовал применять предлагаемые ими методики и указания … Календарики-пинарики и прочий бумажный мусор.  В общем, в результате был уже не ноль, но и далеко не единица.

Сейчас я еще далек от тех “желалок” и “хотелок”, которые я себе нарисовал, но по крайней мере начинает прорисовываться дорога. Зная, сколько сил я потратил на пройденное, я и решил написать этот пост, что бы хоть чуть-чуть сократить кому-либо еще путь.

В общем, начну потихоньку.

Что первым приходит в голову, когда кто-либо начинает жаловаться на недостаток времени? То, что неплохо бы этого времени заиметь побольше. Но времени нельзя заиметь побольше. Его дается всем и каждому в одинаковых количествах. Раз нельзя заиметь побольше, то надо тратить поменьше. И тут большинство прочитанных мной авторов тут же срываются на “эффективность”, “делегирование” и прочие слова из лексикона эффективных менеджеров.

А я предлагаю упереться на слово “тратить”.  А кто знает сколько он тратит время? По осторожным опросам вокруг выяснилось, что все знают, куда они тратят время. Ну не с точностью до минуты, но до получаса точно. И точно знают, да.

И тут меня торкнуло: ситуация была один в один с ситуацией с деньгами. Я (как и опрошенные вокруг) был абсолютно уверен, что я знаю, куда и сколько я трачу. Ну с точностью до тыщи, максимум до 5. Но на всякий случай решил поставить gnucash и подсчитать. Реальность оказалась ужасающей. В смысле траты, показанные программой, абсолютно никак не коррелировались с моими представленями. Но эта тема не для одного поста и потом.

Итак, я начал с банального время=деньги и решил подсчитать, на что я трачу деньги, то есть свое время. Но как человек ленивый, решил не заниматься занудством с блокнотиками, а возложить эту обязанность на программы.

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

Сразу заход в AppStore по словам time tracking. Первичный отбор принес две программы: Timing Lite и TimeTrackerproLite. Оба для мака, оба показывают в бесплатной версии только за “сегодня” и за “вчера” и вроде оба то, что надо.

Запустил и постарался забыть об их существовании. Напрочь забыть не получалось, потому что иконки висели в доке, поэтому изредка я тыкался в них и медитировал.

Про прошествии пары недель выявился абсолютный победитель в этом ужастном соревновании самого с собой. Timing.

Во-первых, он рисует значительно более удобно воспринимаемые графики. Во-вторых, он не считает хранитель экрана задачей, которой я занимаюсь. И наконец, его “учитывалка времени” не виснет и не теряет задачи. К примеру, на скриншоте выше видно на что я потратил 2 часа своей жизни. TimeTracker из этих 2х часов увидел только 7 минут.

Программа совершенно перекрывает мои потребности по отчетам. Можно группировать задачи или наоборот, производить декомпозицию до максимума.

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

В общем, будь я обычным офисным хомячком с маком (где такие бывают?), то 8 баксов будут потрачены не зря. Повторюсь, единственное отличие платной от бесплатной – возможность просмотра статистики не только за “сегодня” и “вчера”, а по всему диапазону дат.

Но я не офисный хомячок. В смысле офисный, но надеюсь, что не хомячок. Я еще с работы до дому добираюсь или наоборот. Ну и иногда на всяких встречах встречаюсь. Значит, необходим мобильный учет времени. Тут меня в основном интересовал вопрос про структуру трат, ибо путь от дома до работы все время разный (люблю я иногда кругаля выдать) и встречи тоже разные бывают …

Значит, надо что-нибудь подобное водрузить на карманный андроид. Опять же идем в Google Play и ищем time tracking. Находим ораву программ для фрилансеров и начинаем органолептическое тестирование.

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

В общем, после некототорого тестирования у меня на телефоне поселилась timesheet

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

Казалось бы, все счастливы и довольны, если бы не одно НО. Я иногда и даже изредка совсем работаю под Linux или вовсе под Windows. Когда я начинал искать, как-то я пропустил данный момент … Ну раз пропустил, то и надо запускать заново.

Правда, в этой раз было проще. В evernote еще лежала куча ссылок, еще не так было все забыто …

Результатом стало открытие давно забытого сайта RescueTime (осторожно, линк с рефералом. вам все равно, а мне приятно). На какой-то из распродаж для мака я получил год триала для него, некоторое время попользовался им и закрыл. В основном из-за того, что этот гнусный сайт утверждал, что я трачу время совершенно непродуктивно, а читерить и заносить всякие ЖЖ в “продуктивные” категории мне не хотелось.

Этот сервис обладает клиентом для мака, который умеет не отсвечивать в доке, клиентом для винды и двумя клиентами для Ubuntu и Fedora. В принципе там есть еще какой-то, который вроде не их и не поддерживается, но мне первых двух хватает.

Бесплатная версия рисует кучу вполне информативных графиков, а платная (72 бакса в год или 9 в месяц) позволяет еще красивее рассказать вам о вашей безалаберности.

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

К примеру, у меня сейчас показывает 63% (А в начале этого года вообще колебалось около 10% и некоторое время я был в прострации). Говоря другими словами, я сейчас 37% своего времени и сил трачу на какую-то херню.  На общение не по делу, фейсбучики и жажечки, просмотр всяких новостей и прочее, прочее, прочее …

Конечно, rescuetime позволяет загнать всякие facebook в категорию “очень продуктивных” (ну или можно постоянно делать “перерывы”), но какой смысл врать самому себе?

В общем, у этой системы есть два минуса: она гонит все данные о заголовках ваших окон “на сторону” (именно так она решает, чем вы занимаетесь) и стоит денег. Стоит ли она этого, решите сами.

Кажется, про учет потребляемого времени на данный момент все.
Теперь можно и оглянуться на пройденный этап (который кстати, практически не потребовал напряжения каких-либо сил, не так ли?): я в курсе, куда я трачу время. Пусть не до минуты, пусть трачу не туда и не так и не тем способом, но я знаю. Даже если ничего не делаю! В общем, двигаю в реальность лозунг “пусть работает машина, а не человек”. Мечта лентяя в действии: ничего не делаешь, а графики рисуются сами.
Мелочь, а до чего приятно. Дальше расскажу, как я с этим борюсь и иногда даже побеждаю …

Храни пароль!

Летом по интернету прокатилась волна новостей, как с того или иного ресурса стащили базу паролей. В принципе мне все эти новости довольно параллельны: я на тех ресурсах не бывал, да и есть у меня большой опыт именно в хранении паролей и другой “нежной” информации …

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

Одновременно опять возникло желание сделать что-нибудь этакое, что бы при моих переездах с машины на машину и с операционки на операционку весь этот шлейф паролей оставался бы управляемым …

Решение в лоб

Первое, что приходит в голову, это использовать обычный бумажный блокнотик. Э-э-э .. в общем, объяснять минусы не буду. Да и мы с компьютерами работаем, а не с бумажными архивами …

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

Сразу на ум приходят два решения: папка в почтовом ящике и какое-нибудь облачное хранилище файлов.

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

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

Как вариант можно использовать evernote или catch или .. в общем, всем всё понятно.

Но … Опять эти “НО” …

Человек чудовищно ленивая скотина. Сначала ему будет лень постоянно открывать-закрывать контейнер или записывать в почту. Потом он плюнет на все и снова поставит галочку “запоминать пароли в почте”, а затем в очередной раз он обновится/сменит браузер и все начнется сначала.

Я тоже ленивая скотина. 

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

– максимальная кросс-платформенность. Решение должно позволить мне получить доступ до моих паролей на OS X, Windows, Linux и Android. IPhone хорошо, но совершенно не критично. Остальные платформы мне совершенно не критичны, ибо устройств под их управлением у меня нет.

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

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

– ну и решение должно иметь минимальное число проблем в моей конфигурации (macbook air, samsung galaxy s, windows 7 дома и linux, windows7 и os x на работе)

На возражения в духе “ну как можно отдать свое самое сокровенное какой-то программе” я давно махнул рукой: то, что можно достать в результате взлома этих баз, мне принесет только моральные расстройства. А вот удобства они добавляют много.

Гугл всемогущий даст мне ответ

Пошел я в гугл искать на предмет “best password manager” и “лучший менеджер паролей”. Число страниц меня удивило …

В общем, на мой внутренний ринг выходят RoboForm, 1Password, LastPass и KeePass. Другие отсеялись еще на этапе просмотра сайтов. К примеру если я не понимаю, за счет чего зарабатывает проект, то я автоматом подозреваю его автора в самых нехороших намерениях.

Каждой программе был предоставлен снапшот виртуалки с windows7, где у меня стоит зоопарк из ie, firefox и safari. Затем борцы со всем арсеналом перемещались на аналогичные виртуалки с linux и os x, и только после отсутствия ошибок получали возможноcть показать себя на реальном ноутбуке с os x и на моем samsung galaxy s (рутованный на 2.3.6 и без каких-то особенных извращений)

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

Шышел-мышел … в общем, первый вышел.

RoboForm. Еще во времена выпуска печатной версии “компьютерры” я читал много хвалебных отзывов о этой программе.  Голубицкий только что шоколадом онную не мазал. Ну и гугл при выдаче результатов не обделял данную программу вниманием.

Первый звонок прозвенел на этапе обустройства: для доступа в личный кабинет используется один пароль, а для открытия парольной базы – другой. И зная первый пароль, можно легко удалить аккаунт вместе с парольной базой. Неаккуратненько.

Второй звонок был чисто субъективный. RoboForm выглядит этаким монстром даже по меркам windows: куча менюшек, настроек и кнопочек. И вся эта куча этак неряшливо собрана под одним заголовком … Но на вкус и цвет все фломастеры разные, поэтому не стал обращать внимание: вдруг привыкну.

Но третий звонок стал завершающим для RoboForm: его сайт не принимал установленный из под Internet Explorer мастер-пароль, когда я его вводил из под Firefox под Linux. Поначалу я не понял и не поверил: ну взял и ошибся или на русском языке остался. Раз проверил, два. Менял пароль и вводил его с удвоенным вниманием … Не принимает.

Ну, такой менеджер паролей мне не нужен.

Даешь опенсурс!

Расстроенный предидущим обстоятельством, решил метнуться в стан открытых решений. KeePass.

Простой заход на страницу закачки подтверждает, что данное решение пользуется популярностью. Я попытался придумать вариант, который невозможно реализовать, но не смог: после первого же запроса “хренотень keepass howto” гугл тут же выдавал пару-тройку вполне внятных сайтов.

Но эта же открытость встала мне боком: что бы заставить работать это решение, потребовалось довольно много телодвижений. Может, мой опыт уже начал играть против меня, но мне уже стало как-то некомфортно … А зачем себя мучать?

В общем, я решил посмотреть на другие.

LastPass или “точно последний раз?”

Самый первый подход чуть было не завершился крахом: я забыл мастер-пароль к базе буквально через 5 минут после его ввода. А восстановить его нельзя.

Найти как пересоздать аккаунт удалось только с помощью гугла. Что, неужели такая неуверенность?

После установки LastPass бабахнул бальзамом на мои раны: после установки он единственный предложил забрать все пароли из браузеров и потом удалить их.

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

LastPass легко прошел все поставленные мной барьеры и без проблем обосновался на ноутбуке и смартфоне.

Последний 1Password

Скажу честно, на 1Password я глядел со скептицизмом. Во-первых, мне заранее было известно об отсутствии клиента под Linux и “только чтением” под Android. Во-вторых, я не понимал какой дурак будет платить 49 баксов за версию только под одну платформу, когда тот же LastPass предлагает тот же функционал за бакс в месяц для всех платформ, а если забыть про мобильные, то и вовсе бесплатно …

Расширенный функционал по хранению логинов-паролей ко всяким ftp и database серверам мне не нужен. Хранить лицензии можно и в записках. Всякие кредитки и прочее … В общем, совершенно ненужное мне.

Но оставлю, да. Должна же быть какая-нибудь конкуренция LastPass …

Жизнь – она многогранна …

Было довольно интересно наблюдать, как LastPass и 1Password наперебой предлагают мне сохранить или ввести пароли. Я оценивал установки по умолчанию, удобство управления и прочие характеристики, которые каждый примеряет на себя.

И по прошествии полутора недель (триал у LastPass составляет 14 дней, а мне еще хотелось запаса) ситуация оказалась перевернутой с ног на голову. Но давайте по-порядку.

1) Получив доступ к базе 1Password (скажем, сперев флешку), я могу легко узнать имена файлов, которые хранятся в базе. Нет, сами файлы вроде зашифрованы, но имена может прочитать любой.

2) LastPass при экспорте файлов из секретного хранилища (надо же их когда-нибудь использовать) зачем-то меняет им имена на хешеподобные. Совершенно убийственная вещь, особенно когда файл не один … .

3) LastPass предполагает что у вас всегда есть доступ к сети. Никаких флешек и прочих извращений. Облако и все хранится в нем. 1Password более демократичный: либо укажи сам где, либо я положу базу в DropBox.

4) Почему-то LastPass не предлагает никаких горячих клавиш для заполнения полей. 1Password в данном случае выглядит гораздо гуманней: Cmd- и он либо вводит все сам, либо предлагает выбрать из имеющихся.  Мне, как имеющему 5 логинов на nic.ru, такое поведение очень по душе.

5) Настройки по-умолчанию в 1Password более “секурные”. 12 символов в пароле вместо 8, программа раньше закрывает базу и тому подобное. В LastPass  все можно сделать аналогично, но кто-нибудь делает это?

6) LastPass переводили на русский автоматическим переводчиком: “взломать локальный логин” на титульном экране андроида оказалось в оригинале “force local login” …

7) 1Password есть в AppStore, а LastPass нет. Для маковладельцев это довольно весомый аргумент.

8) Доступ до базы 1Password можно получить практически на любой машине без установки чего-нибудь и в оффлайне!

И в качестве финального выстрела: LastPass не смогла обновить базу на моем Samsung Galaxy S. Просто сообщала, что нет соединения с сервером. Хотя браузер браузерил и facebook фэйсбучил. И такое “нет соединения” меня ну очень напрягло.  1Password рядом после ввода мастер-пароля сообщил, что он обнаружил обновления, забрал их и показал мне мою базу.

В общем, мои $49 уходит авторам 1Password. Я оказался одним из тех дураков, которых раньше не понимал.

 

Очередная объяснялка, зачем все это надо

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

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

В общем, ура графоманству на своей собственной площадке.