Свободу политзаключённым! Донат Медиазоне

Пишу про Индивеб, про компьютеры и программирование, про хобби: кофе и скалолазание, отдельно пишу про разработку подкаст-хостинга.

Posts

5 мая

Deep Work

Закончил слушать Deep Work Кала Ньюпорта. Раньше читал его So good they can’t ignore you, но не написал рецензии, поэтому не вспомню деталей. В этот раз попробую написать, чтобы запомнить зацепившие моменты лучше.

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

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

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

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

Надо выцарапывать место и время для своей глубокой работы — само не получится. Можно работать из кельи, где вы недоступны для внешнего мира. Можно выделить чёткое время для глубокой работы, скажем, с семи до десяти утра, в которое вы не отвечаете на чаты, почту, не листаете твиттер, а фокусируетесь на главном. Сам же автор работает как придётся, выкраивая моменты для глубокой работы, когда получается.

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

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

При этом Ньюпорт не пишет толком что делать, и практические советы сводятся к тому, чего не делать. Соцсети убивают концентрацию в моменте и способность концентрироваться в целом, удаляйтесь, говорит автор, а если сомневаетесь — попробуйте просто не заходить тридцать дней, и вы увидите: ничего трагического не произошло, важные новости всё равно до вас долетают, и никто вас не потерял (если вы не написали громкий пост «Удаляюсь…»). В целом, каждый человек думает о себе гораздо больше, чем о нём думают другие люди.

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

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

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

Перезагрузка и папка Downloads; Deep Work; webmention

Привет, это Тим Маринин и «Рассылочка». Вы когда-то давно на неё подписались на моём сайте; если что, всегда можно отписаться.

Перезагрузка

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

Взял всё да удалил. Было страшно, но не сильно: я скопировал важные проекты и все ssh-ключи на внешний диск, а если что-то всё-таки понадобится из удаленного, то есть бэкап жёсткого диска в облаке.

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

Что уже поставил обратно:

  • 1Password, мой менеджер паролей
  • iA Writer для написания текстов и Drafts для маленьких текстов
  • Sublime Text для редактирования кода
  • Tower, графический клиент для гита на попробовать
  • Discord
  • Инструменты для разработки: Xcode, Homebrew, Elixir, Node.js, Deno, Postgres.app
  • Tailscale — удобный VPN поверх Wireguard.

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

Ещё в сфере продуктивности я начал пробовать bullet journal, но об этом как-нибудь в другой раз 😅

Deep Work

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

При этом Ньюпорт не пишет толком что делать, и практические советы сводятся к тому, чего не делать. Соцсети убивают концентрацию в моменте и способность концентрироваться в целом, удаляйтесь, говорит автор, а если сомневаетесь — попробуйте просто не заходить тридцать дней, и вы увидите: ничего трагического не произошло, важные новости всё равно до вас долетают, и никто вас не потерял (если вы не написали громкий пост «Удаляюсь…»). В целом, каждый человек думает о себе гораздо больше, чем о нём думают другие люди.

Другая проблема циферок в социальных сетях — их довольно сложно игнорировать и не реагировать на их колебания. Как вы наверняка не заметили («не» тут стоит не случайно), за последние год-два я стал гораздо меньше постить в Твиттере и Инстаграме, и заметил смешную особенность — чем меньше пишешь, тем меньше пишешь. Просто не приходит в голову что-то написать.

webmention

Я опубликовал на crates.io и Гитхабе webmention: это консольный инструмент и библиотека на Расте для отправки и обработки вебменшенов (про них я писал в Индивеб-календаре). Дело в том, что отправить вебменшен довольно легко, если знать куда, — но для этого нужно найти нужный endpoint, который может таиться как в теге <link rel="webmention">, как на marinintim.com, так и в заголовке Link, и (тут я сам удивился) в обычном теге <a rel="webmention">.

Буду рад звёздочкам на Гитхабе! Сейчас UX утилиты спартанский, в духе старого Unix: если нет ошибок, то нет и вывода. Я хочу прикрутить какую-нибудь визуализацию прогресса отправки, но ещё не придумал, как она должна выглядеть.


В других новостях: перенёс эту рассылку на buttondown.email — тут можно писать в маркдауне!

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

Тим

30 апреля

·

Petition to replace all ping usage with 'boop'.

Here is how you can participate:

$ alias boop=ping
$ boop marinintim.com

2 апреля

·

На текущем проекте есть Настоящие DBA, и я несколько раз удивлялся SQL-запросам, которые они пишут. В частности, хочу записать две вещи, которых я не знал о SQL (и не буду использовать сам в будущем).

JOIN через запятую

SELECT thing_a, thing_b FROM table_a, table_b WHERE table_a.id = table_b.foreign_key_id.

Это join, условие которого написано в where. Это старый стиль, его ещё называют theta-style join.

В целом, считается устаревшим и менее очевидным (лично я привык к обычному JOIN table ON (table_a.field = table_b.field; забываю про существование JOIN table USING (field)).

Создал SQLFiddle с примером.

Ещё есть неплохой пост-сравнение.

ORDER BY 1 / GROUP BY 1, 2, 3

Числа ссылаются на порядок получившихся колонок.

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

23 марта

22 марта

·

Просто тестовая заметка.

14 марта

Выгрузка данных из ВК

Решил, что всё-таки нужно удалиться из ВКонтакте. Давно не пользуюсь, но меня расстраивала перспектива потерять список друзей, фотографии, и все те данные, что я отправлял ВК все эти годы.

ВК не так давно добавил возможность выгрузить архив своих данных, его можно запросить на странице /data_protection. В моём случае архив готовился около суток.

К сожалению, архив оказался далеко не полным — в нём нет ни контактов друзей (только имя с ссылкой на профиль ВКонтакте), ни фотографий (вместо них тег img с src, указывающим на сервера ВК), ни файлов, загруженных в раздел «Документы». Аудиофайлов тоже нет — только названия композиций (но хотя бы плейлисты есть). В целом, это набор перелинованных между собой HTML-страниц в кодировке Windows-1251.

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

Сохраняем фотографии

При помощи такого скрипта можно вытащить ссылки на изображения.

find photos/photo-albums -iname '*.html' | xargs -I% perl -lne 'print "$1.jpg", "\t", $2 if /<a href="https:\/\/vk.com\/([^"]+)"><img src="([^"]+)"/' % >names_urls.txt

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

perl -lne '`wget -O "$1" "$2" &` if /([^\t]+)\t([^\n]+)$/' names_urls.txt

Сохраняем фотографии из сообщений

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

find messages -name '*.html' | xargs -I% perl -lne "print \$ARGV, \"\t\", \$1 if /<a class='attachment__link' href='([^']+)'>/" % >messages_attachments.txt

В эту выборку попадают все ссылки-аттачменты, поэтому я отдельно вытащил ссылки с userapi.com — похоже, что фотографии лежат там.

grep 'userapi.com' messages_attachments.txt >messages_attachments_userapi.txt

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

cat messages_attachments_userapi.txt | perl -MFile::Basename -alne 'my $localfile = dirname($F[0]) .  "/" . basename(split(/\?/, $F[1])); `wget -O "$localfile" "$F[1]"`'

Вполне вероятно, что сами фотографии будут жить на серверах ВК ещё долго после удаления аккаунта, но приятно иметь локальную копию.

Бонус-раунд: поиск по переписке

По идее, можно было бы просто искать по этим файлам, но они лежат в кодировке cp1251. iconv позволяет перекодировать в единственную нормальную кодировку (UTF-8), а ripgrep умеет запускать скрипт, прежде чем искать внутри файла.

Создал такой примитивный скрипт:

#!/bin/sh

iconv -f cp1251 $1

И можно примитивно искать:

rg --pre ./prescript.sh --pre-glob 'messages/*/*.html' -g 'messages/*/*.html' 'Тим из будущего'

Нашёл такое сообщение:

Ха, с этим будет разбираться Тим из будущего, аее

  • 18 ноября 2016 года

😢

26 января

30 ноября 2020

Inputs and Outputs, or How to Shape Your Worldview Before Someone Does It for You

Recently I was talking with Andrey Sitnik about media consumption and IndieWeb paraphernalia, and I stumbled upon a realisation.

A lot of people struggle with Read-it-later services, like Pocket, where the links just pile up, and they never get around to reading it, and then they feel bad.

As it goes, I spoke first and thought second, I said: if you stop and think for five minutes about it, you'll understand why this happens. Then I had to back it up and went on with a blissful feeling of puzzle pieces clicking together: one does not treat 'Pocket' as an input to a system of consuming information, only as an output, thus it is bound to overflow.

Now let me expand on these matters a little bit more.

Inputs are the ways by which information gets to you. If you check Twitter every morning, then your feed is an Input. If you do read email newsletters and not just archive it, that's an Input. Ditto for podcasts, books, Hacker News, Instagram, RSS, and plain old conversations.

The necessary condition of being an Input is that you do consume from it, preferably at regular intervals. Otherwise it may as well not exist for you. To read books you actually have to sit down and read a book.

On the other hand, Outputs are where you put information. If you post photos on Instagram, that's an Output. If you file links to "Read-it-later", that's an Output. Outputs are less complex, and I will discuss them in more detail in another article.

Now, if Pocket is not an Input in your system, then you won't have the chance to read the articles you put there: in the moment when your brain is thirsty for more information, you'll drink from the usual Inputs, not the Pocket. To "read it later" you actually have to sit down and read it at some point, otherwise it just won't happen.

Going further, a thing can be both an Input and an Output at the same time. Sometimes this configuration creates a feedback loop: you read on Twitter about current events, post some hot takes there, get sweet sweet likes, and repeat.

I suppose that a combination of Inputs/Outputs for a particular person is mostly stable over time, while the persona you present online is more flexible. Over time you converge on the set of websites you check regularly and themes that interest you, and if the perceived consensus in the community shifts, you either have to remove yourself from this community, or go with the flow.

Now, the trouble is that "persona you present online" influences the real you as well in subtle, almost imperceptible ways. As Vonnegut wrote, “We are what we pretend to be, so we must be careful about what we pretend to be.”

Going for lighthearted example, if you think that all of your twitter feed is hating on Kubernetes, and you do not have a strong opinion on whether it is good or bad yourself, then you will probably adopt a milder "K8s is at least somewhat bad" attitude, shifting the balance further.

You can also apply this in reverse: other people too can only read what's being made available and are influenced by this no less than you are, so if you want your perspective to be heard and may be even adhered to, then you have to publish it.

Algorithmic sorting, the kind that is used on Twitter, FB, Instagram, is not a perennial evil per se, it just rearranges the contents of a particular Input by predicting what will solicit a visceral reaction from you, forcing you to react (engage) even more. This is a quirk of these Inputs, so you should adjust your expectations and seek alternatives as well.

You can only read on Twitter what is twitable. You can't react to or learn from something that you don't know to exist.

Creating an information bubble is in a sense inevitable, because no one can read everything without some sort of filtering beforehand, so the question is which filters are being used and who set them up.

Shape your inputs consciously, for they in turn shape you.

·

broke: the hero of "Hamilton" is Hamilton
woke: the hero of "Hamilton" is Burr
bespoke: the hero of "Hamilton" is actually Peggy

24 ноября 2020

·

однажды я зашёл в азбуку вкуса и понял, что мои буквы — ъуъ

·

У W3C есть древний документ, ещё за авторством Тима Бёрнерса-Ли: Styleguide.

В частности, там есть страница под названием Refer or Copy:

When you are setting up an information system which refer to information which is available elsewhere, be very careful before taking a copy.

Here are some reasons for leaving it where it is:

  • When it is updated, you will either have to have a way of finding out, and make a fresh copy, or you will end up with an out of date copy.
  • If you feel that your copy will be easier to access, remember that this is relative. You will have readers from other places who may find the original is closer. If the original has a serious access problem, you could find another server (maybe offer your own) as the definitive storage point.

И приводится пример того, что нет смысла копировать:

You should be very wary before referring to your own private collections of the following, of which plenty of established collections exist:

Ни одна из этих ссылок больше не работает.

20 ноября 2020

·

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

·

Написал статью для сайта Нодскула: «Как установить Node.js на macOS» (tl;dr: nvm).

Не удержался от мини-ранта:

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

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

Более правильная терминология для iTerm2 или Terminal.app — эмуляторы терминала, потому что они эмулируют настоящие устройства, чтобы шелл и прочие программы могли и дальше делать вид, что мы живём в семидесятых.

22 октября 2020

·

Websites are meant to be indexed by Google and only incidentally for humans to read.

2 октября 2020

Веб для исследований

Веб это граф, страницы это узлы, а ссылки — связи между ними. Помимо этого есть измерение времени — вчера я ссылался на такую-то страницу, а теперь — нет, или самой страницы больше нет (с этим иногда помогает Internet Archive Wayback Machine).

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

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

История браузера — тоже граф.


В своё время Гугл придумал как ранжировать результаты в выдаче, ориентируясь на ссылки сайтов друг на друга (PageRank). Довольно быстро это стали абьюзить через мусорные «покупные» ссылки.

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

Constructing hypertext maps based on geography is always tempting; when we are looking for a two-dimensional organizing principle, conventional mapping naturally suggests itself. Avoid falling back on geography by habit, but don’t overlook occasions where it may provide fresh insight.

— Mark Bernstein, The Tinderbox Way

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

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

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

Веб сегодня — территория потребителей, пассивно поглощающих контент, относящиеся к вебу как к чему-то данному извне. Это рационально: пользователь действительно не может повлиять на контент сайта. Но при помощи разных User Agents consumer может превратиться в prosumer.

30 сентября 2020

·

Old Git master prepares to die and calls his sons to the deathbed.

“Take these branches one-by-one, and break them.”

Sons obliged, effortlessly breaking the build in single branches.

“Now take the repo as a whole, every branch together, and break it.”

Sons took the whole repo and broke it.

“You idiots! You’ve ruined my metaphor”, said the old master, and merged himself with the remote “heaven”.

4 сентября 2020

Рассылочка №6: On Writing Well и ИНТЕРАКТИВ

Книга

William Zinsser — On Writing Well: The Classic Guide to Writing Nonfiction

Это книга о прозе, а точнее — о нонфикшене.

💥 Пишу эту рассылку, не дочитав ещё до конца.

Руководств как писать на рынке уже очень много — в начале этой книги автор честно признаётся, что Elements of Style его до сих пор вдохновляют. On Writing Well ценен своим фокусом: прагматичные советы про конкретные жанры текстов (например, как писать про путешествия).

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

Автор зачастую приводит правило и тут же его демонстрирует (или демонстрирует, нарушая) ради комического эффекта.

Отдельно очень смеялся от главы Clutter:

Clutter is the official language used by corporations to hide their mistakes. When the Digital Equipment Corporation eliminated 3,000 jobs its statement didn’t mention layoffs; thise were “involuntary methodologies.” When an Air Force missile crashed, it “impacted with the ground prematurely.” When General Motors had a plant shutdown, that was a “volume-related production-schedule adjustment.” Companies that go belly-up have “a negative cash-flow position.”

Дочитал пока не до конца, но пока кажется, что очень ок.

Один из эффектов от книги — хочется писать, и писать вдумчиво.

Интерактив!

Книга ко мне приехала случайно в двух экземплярах, поэтому один из них можем разыграть: напишите про эту Рассылочку где-нибудь у себя и пришлите ссылку (mt@marinintim.com), я прочитаю всё, и в следующей Рассылочке объявлю, кто победил (и отправлю вам книгу).

Ссылки

On Ownership — почему писать программы для себя это хорошо, даже когда неудобно. Автор пишет заметки и ведёт тудушки в своих программах, написанных на его же языке программирования. Даже если я не готов сделать то же самое (не готов), это внушает уважение.

Иммигранткаст переехал на свой сайт. Отлично смотрится, 💜 (подробнее про «стэк» можно прочесть в твиттере Артура).

И две ссылки на marinintim.com:

Выложил предыдущие выпуски Рассылочки на https://marinintim.com/newsletter/. Во-первых, чтобы хранить контент у себя, а во-вторых — так им удобнее делиться (до этого приходилось копировать и скидывать заинтересованным куски текстов).

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

Мысли и прочее

Я вернулся из Москвы с двумя новыми книгами (Дом Правительства, Осень Средневековья) и кружкой со схемой метрополитена Москвы. Там непривычно много по сравнению с Питером бойцов Росгвардии на улицах. Не планируя, гуляя по столице, натолкнулся на посольство Беларуси. До этих книг доберусь, впрочем, не скоро 😅

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

Тим

21 августа 2020

Рассылочка №5: Your Money or Your Life

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

Книга: Your Money or Your Life

Это книга про личные финансы. Если верить Википедии и книге, то именно благодаря ей возникло движение FIRE (Financial Independence / Retire Early).

Секрет, как обычно, известен всем: тратить меньше, чем зарабатываешь. Если накопить средств на 25 лет трат, то можно и не работать за деньги, потому что эти деньги будут зарабатывать деньги.

Но при всей очевидности тезиса, были и интересные (для меня) мысли:

  • мы тратим на работу не только само рабочее время: приходится поддерживать соответствующий работе внешний вид
  • когда выматываешься на работе так, что в отпуске просто лежишь без сил на пляже две недели — это тоже, по сути, рабочие расходы
  • копить на годы «без работы» тем проще, чем ниже расходы
  • общество подталкивает потреблять новое: когда в последний раз использовали какую-нибудь вещь до конца?
  • рабочий день застрял на восьми часах непонятно почему — можно было бы работать по два-три с той же продуктивностью
  • важно разделять work (полезное действие), job (work, который не стал бы сам делать без денежной компенсации), income (ну, доход)

Когда привязываешься к работе-за-деньги в том числе и психологически, становится страшновато представить, что было бы, если бы не надо было проводить по восемь часов в офисе. ДМС, идентичность, сообщество — мы стали возлагать на job очень многое (соответственно, терять работу болезненно! А ведь на подходе роботы, AI, ну и так далее).

В целом, книгу могу порекомендовать: слушая её, получаешь несколько часов, в которые можно задуматься о своём финансовом положении. Не знаю, смогу ли сам применить все описанные способы (особенно откладывать больше половины доходов), но а) снова начал вести YNAB :) б) стал больше задумываться о покупках.

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

В полном заглавии упоминаются девять шагов к финансовой независимости, вот они:

  1. Making Peace with the Past. На этом шаге нужно посчитать net worth (всё имущество минус все долги) и сколько всего заработали за жизнь
  2. Being in the Present: tracking your life energy. Надо подсчитать сколько стоит твой час и подсчитывать расходы. Недостаточно просто разделить зарплату на количество рабочих часов: приходится тратить на одежду, которую бы не стал покупать, машину, соответствующую статусу, ну и так далее. В расходах важно подсчитывать каждую копеечку.
  3. Where is it all going: monthly tabulation. Раз в месяц подбивать все доходы и расходы в табличку, и перевести рубли в часы жизненной энергии.
  4. Three Questions that Would Transform Your Life. Получил ли я удовольствие и ценность пропорционально потраченной жизненной энергии? Согласуется ли эта трата с моими ценностями и целью в жизни? Как бы поменялась эта трата, если бы было не надо работать за деньги? На каждую трату.
  5. Making life energy visible. Рисуем графики: расходы против доходов, повесить на видное место.
  6. Valuing your life energy: minimising spending. Не тратить жизненную энергию (то бишь, деньги) на хлам. Научиться самому чинить штуки, помогать друзьям и знакомым, в надежде, что когда нужно — помогут тебе.
  7. Valuing your life energy: maximizing income. Работа — это обмен жизненной энергии на деньги, поэтому стоит максимизировать обменный курс.
  8. Capital and Crossover Point. Капитал приносит доход. Умножаем его на процент по облигациям и делим на двенадцать — ежемесячный доход от инвестиций. Когда он превысит расходы — точка перехода, где можно и перестать работать.
  9. Investing for FI. Самое простое — ETF, то бишь, индексные фонды. В целом, делят деньги на три категории: capital (приносит основной доход), cushion (подушка на полгода-год, или срочные большие траты), cash (деньги на прям щас).

YourMoneyOrYourLife.com

Ссылки

2019, I Am the Cheapest Bastard In Indie Games — Джефф Вогель пишет о бюджетах своих инди-игр, и почему в его играх такая графика. Я очень люблю, когда инди-разработчики пишут о своём опыте, поэтому если натолкнётесь — не стесняйтесь присылать ссылки, буду рад!

YouTube. CGP Grey Was Wrong — потрясающий пример видео исправления ошибки (не буду спойлерить).

2014, Semantic Compression — отличный пост/рант на тему программирования. На самом деле, это целая серия постов, и у меня они вызывают чувство собственной неадекватности, так что reader beware!

Мысли и прочее

Недавно столкнулся с тем, что хотелось поделиться книгой, а она — в Audible, то есть, с DRM, то есть — не поделиться. Обидно! Бумажные книги в этом плане гораздо удобнее, как и ePub/MP3, который автор продаёт напрямую. Поэтому отменил подписку на Audible (следуя советам книги выше!), и постараюсь покупать в будущем, при наличии выбора, не-DRM-ные версии.

Доктороу, которого в этой рассылке довольно много, много и часто пишет о проблемах интеллектуальной собственности, рано или поздно доберусь до его книг Content и Information Doesn’t Want to Be Free (их можно скачать на его сайте craphound.com в нормальных форматах).

Отдельно хочется обсудить его же доклад про войну против general-purpose computing, но поля этой рассылки слишком узки, так что, возможно, что напишу настоящий длинный пост!

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

Тим

P.S. Я думаю обновить списочек русскоязычных подписок — на какие блоги/подкасты вы подписаны и можете порекомендовать?