Моя система

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

Решил себя организовать и написал «ежедневное письмо самому себе». Каждый день его перечитывал и немного менял, чтобы не устаревало. Однако, менять его быстро стало лень, а воодушевляющие фразы через неделю приелись. Надоело и бросил.

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

Зачем нужна система

Чтобы жить хорошо.

Элементы системы

Цели

Цели — смысл всей системы. Целей должно быть много. Цель не поставлена, пока нет противоположной. Ещё лучше, когда вокруг цели кучка попутно достижимых.

Задачи

Задачи ставятся

  • по целям,
  • из идей (про них ниже),
  • по просьбам окружающих.

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

Если задача не делается, значит она плохо поставлена. Для меня откровением была лекция Макса Дорофеева «Джедайская техника пустого инбокса»

Хорошо поставленная задача выполняется с наполовину выключенным мозгом

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

До этого пробовал Гугл Инбокс — он отличный почтовик и ужасный тасклист. Список задач нельзя смешивать с почтой, иначе приходящие письма отвлекают в течение дня. Я хочу читать почту пару раз в сутки и уж точно не утром. Кстати, моя жизнь резко улучшилась, когда я отключил все уведомления на ноуте и телефоне.

Задачи бывают разной степени детализации. От «Позвонить Пушкину +79051234567» до «Сходить в горный поход». Первая хороша: нажал на номер телефона, и готово. Вторая — не задача вовсе, это проект.

Проекты

Храню их в том же Тиктике, вперемежку с задачами. Чтобы выполнить проект «Сходить в горный поход», делаю так:

  1. Переименовываю его в «Сходить в горный поход: разбить на задачи». Такая штука сделается за две минуты.
  2. Ставлю эту задачу на завтра. Никаких задач на сегодня.
  3. На следующий день придумываю подзадачи и сохраняю их в описании родительской задачи. Вместо того, чтобы закрыть, переименовываю задачу в «Сходить в горный поход: сделать что-нибудь по списку».
  4. Переношу её на завтра и ставлю ежедневное повторение.

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

Идеи

Идеи записываю на диктофон. Раз в неделю удаляю все записи. Перед удалением ставлю задачу или дополняю базу знаний. Или просто удаляю. Раньше делал заметки в телефоне, но диктофон в 4 раза быстрее. Можно писать на бегу. Можно напеть мелодию. Звуки окружения помогают вспомнить свои мысли в момент записи.

База знаний

Сохраняю информацию.

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

Основа системы

Многие идеи взял из этих книжек:

Научное и важное

Друзья часто радуют утверждениями вроде:

Нельзя есть мясо. У него плохая энергетика.
Энергия огня делает человека деятельным.
Скорпионы упрямые.

У меня автоматически появляются вопросы.

  • Вы подарили мне сакральное знание. Спасибо! Что мне с ним теперь делать?
  • Как оно привязано к реальности? Как в этом убедиться? Какой эксперимент мог бы его опровергнуть?
  • Если знание не применимо, то зачем оно вообще?

Казалось бы, всё ненаучное знание не имеет права на существование. Но некоторые вещи вроде субъективных переживаний экспериментами не проверяются. «Мне хорошо» — ненаучное утверждение, но для меня оно важно.

До субъективных переживаний наука ещё не добралась

Информация типа «Солнце — это астральная проекция Ктулху» бесполезна для астрофизики. Однако, любой псевдонаучный бред изменит реальность, если им руководствоваться. Во имя ненаучных идей строят храмы, убивают неверных и ловят покемонов.

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

Идеальный движок блога

Идеальный блог:

  • Многоязычный.
  • С минималистичным интерфейсом, как у Драфтина.
  • С загрузкой картинок из буфера обмена.
  • Кастомный. Я хочу добавить врезки, фактоиды и прочее.
  • Иррационально кайфный.

Рассматривал варианты:

  • вордпрес,
  • друпал,
  • тумблер,
  • ЖЖ,
  • блоггер.

Друпал

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

wordpress

В вордпресе слишком много интерфейса

Вордпрес

Думал, что это гениальное решение. Все на нём делают блоги.

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

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

Интерфейс прозы

Проза — редктор сайтов на джекиле. Набираю этот текст в нём

Джекил

В последнее год работаю с этим «блогом для хакеров»: веду на нём пару проектов. На статических сайтах нельзя собирать комментарии без сторонних сервисов вроде дискуса. Картинки будут загружены без превьюшек. Добавление каждого тега будет страданием.

Зато остальное — кайф! Редактирование в маркдауне. Минималистичнее не бывает. Сделать своё оформление — легко! САСС из коробки. Бесплатный и быстрый хостинг на гитхабе. Никакой базы данных. Глоток свежего воздуха после монструозных ЦМС.

Думал, что главная проблема джекила — загрузка картинок. Оказывается, prose.io умеет загружать их на гитхаб и сразу вставлять ссылку на картинку.

Платформы блогинга

Не могу объяснить рационально, но на платформах вести блог я не хочу. Вроде всё прекрасно: покликал и готово. Но чего-то не хватает. Кастомности? Да нет: перепиши темы, добавь стили, сделай что хочешь. Наверное, хочется сделать что-то своё, гордое и независимое. Но для полноты картины напишу о тех платформах, которые довелось потестить.

Тумблер

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

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

ЖЖ

Раньше бложил там, и было круто. Дружил с юзерами, знакомился, приезжал в гости. Главный плюс — много народа в жежешной тусовке. Давно меня там не было.

Блоггер

Страшная админка. Пустое комьюнити. В остальном всё хорошо.

Итог

Выбрал джекил. Пусть без фичь, зато сколько удовольствия.

Making customer specific site versions

UPD: bad approach, don’t use it 😶

Jekyll provides great tool to keep separate folders with customer specific data. You can select one of them withing a single line in a config:

exclude:
  - _cards/
  - _areas/

include:
  - .htaccess
  - client1 

note, that is mask, so it matches to all files and folders containing

client1,
/client1/,
/client11/,
/_cards/client1/,
client1.md

Masks act a bit weiredly: client* will match to client1/, but client*/ will not.

Unfortunately jekyll doesn’t process collections nested to folders like /client1/_cards, it would be the most elegant solution though.

Красивые адреса страниц на Jekyll

Адреса материалов можно настраивать тремя способами:

  • Меняя путь к исходному файлу материала. Например, файл /blog/hello.md будет сконвертирован в /_site/blog/hello.html
  • Меняя пермалинк во фронтматтере у файла страницы. Где бы исходник материала не находился, можно задать
    ` — permalink: /blog/hello.html — ` и он будет конвертирован в файл доступный по указанному адресу.
  • В настройках генератора _config.yml
    самый общий способ. Удобно выбрать страницы по определённому признаку и прописать для них настройки адресов по умолчанию. Получаем такие плюсы:
    • Исходные файлы упорядочены по папкам, как нам удобно
    • Адреса при этом красивые
    • Можем при необходимости поменять их быстро и везде. И минус: настраивать сложнее, можно по неосторожности переместить все материалы сайта, поломав внутренние и внешние ссылки, что плохо для СЕО и вообще.

Если с первыми двумя способами всё понятно, то третий заработал у меня не сразу. Я хотел, чтобы страницы были доступны по адресам вида /about.html, а страницы блога /blog/hello.html. Первым делом попробовал задать пермалинки так же, как и другие дефолтные метаданные: ` defaults:

  • scope: type: posts values: permalink: /blog/:title ` Но джекилл воспринял :title не как переменную, а как текст, в результати все страницы получили один и тож же адрес “/blog/:title”. Я так и не понял, баг это или фича. Заработал другой подход: ` permalink: /:categories/:title ` Тут мы задаём пермалинк для всех материалов сайта. Если у страницы есть категория, то она будет лежать в папке с названием этой категории. Отлично! Остаётся добавить категорию blog для всех постов по умолчанию
permalink: /:categories/:title
defaults:
  - 
    scope:
      type: posts
    values:
      categories: blog

Скролл без дырок

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

Один из способов решения: останавливать скролл короткого столбца. Он реализован вконтакте на странице поиска человека.

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

Плюсы:

  • Плавно и красиво

Минусы:

  • При значительном различии высоты столбцов, скажем, 1:100, придётся очень долго прогручивать страницу, чтобы короткий столбец немного сдвинулся. Не удивительно, что в контакте другая реализация: страницы там бесконечные.

hello world

Только что запустил свой первый блог на Jekyll и Github pages.