serhii.net

In the middle of the desert you can say anything you want

02 Dec 2021

My journey in PKM, Part 1: things I tried

3037 words, ~12 min read

Intro

Hi! Welcome to my take on Personal Knowledge Management (PKM).

I’ll describe the things I tried and lessons I learned trying to save stuff such as links, quotes, code snippets, ideas, book notes, meeting minutes and ideas from conversations I had with people, for the last 10 years. I won’t touch the related (but just as interesting to me) topics of productivity, time management, and task management.

I was planning to make this a short post, but it became unexpectedly large, and I split it into two parts.

Part 1 (this post) will be about things I tried in the past and why I stopped using them, along with what they taught me about my requirements for a PKM system.
Part 2 will be a description of the current iteration.

There may be a bias towards learning in public, text-based and self-hosted things, because I like those things and the post is about my experiences :)

TL;DR: Tried a lot of stuff, My criteria for a PKM system. Look at “Part 2” for my post about what worked at the end, spoiler: one long text file for randomness, Obsidian for notes, Hugo to convert part of it to my public blog.

Quick background and basics

Personal knowledge management (PKM)

Personal knowledge management is “a process of collecting information that a person uses to gather, classify, store, search, retrieve and share knowledge in their daily activities”. 1

Different ways to store different data

You’d likely do something different based on what you’re storing and why. Think of different example scenarios:

What kind of information you’re storing

  • Simple info
    • “London is the capital of Great Britain”
    • “To run Tensorflow 1.2.3b on my Nvidia GPU x234 I needed CUDA v.10.3 and driver version 412.3”
  • Info you might need later, but probably won’t need or be able to remember it specifically:
    • DVC is an open-source VCS for ML projects that would be cool to use sometime”
    • This long-long paper I want to want to be interested in and will definitely read later
  • Personal stuff
    • “Doctor’s apt. 12.02.2022 at 10:00, don’t eat anything beforehand, drinking is fine. Dr. Max Mustermann, Whateverstr. 23 +4915255232148”
    • Things I promised to do during the last meeting
    • Lists of ideas of gifts for people, or debts
  • .. Anything
    • A quote or something funny:
      I, on the date: Are you, what do you think about Google Translation?
      Date: I think he is an excellent tool for communicating with strangers! Now, no need to learn a foreign language!
      "2

How will you look for it

  • You’ll want that specific fact (“When was my appointment?..")
  • “You need something for ML version control? I sometimes save cool links about open source stuff, there were definitely some projects for version control, one sec I’ll find it…"
  • You won’t:
    • … because it’s trivial to Google, not worth the effort to write it down (“London is …")
    • … because you’re only saving it to feel good and “not lose it”, you know you won’t ever read it or even remember it. 3

How will you access it?

  • Is it okay if it exists only as a post-it on the fridge at home?
    • “Honey, you at home today? Could you please take a picture of the paper near my…”
  • You can’t Ctrl+F on a paper notebook
  • You can’t Ctrl+F on a phone that drowned in a river

How often will you need it?

There’s an XXCD for everything4: Is It Worth the Time?

If it’s easily googleable and you’re not anticipating to need it often, it may not be worth the time to save. Generally, the more often you need this information, the fewer clicks and time should be required to access it.

Think of your target audience

“Personal” is not just about information, but also the process itself.

You are the person you care about, you are the only user, adapt it maximally to your own needs and the way your memory works.

There are people who just remember stuff.
There are people who don’t remember stuff but remember where to find it.
There are people who don’t remember stuff, where to find it, but remember what it was called and can search for it.
In my case, I don’t remember anything BUT I can create systems that allow to reconstruct the missing pieces.

There are people who are fine with carrying stuff on a USB stick and copying the latest version of the data to each device they touch, there are people who will spend 5 days automating this instead.

You get the idea.

My opinions here come from my own needs, and it took years for me to figure out my needs, and they keep changing too. It’s very likely you care about completely different stuff.

My journey

Paper, browser bookmarks, then I had a Chrome add-on which opened a small text field to paste notes there.

Then started the era of del.icio.us

1. “Social bookmarking” websites

You add your links there, probably through an addon or bookmarklet, optionally tag them, they are saved somewhere “in the cloud” and optionally public.

Del.icio.us

Delicious was awesome. You could save links, add any tags you like, browse them etc. You could also export your bookmarks in standard formats.

But the magic came from the “social” part of it: you could see which tags were popular for your link if it has been posted already, search other’s links, etc. It worked very well as a search engine, you’d get a much cleaner signal coming from real people, not SEO (especially for things like “Free hosting”).

Then after being sold multiple times and service quality degrading, it finally died. It’s death (and Google Reader’s) were the beginnings of my love for open source and self-hosted stuff, especially for things I depend on.

The current best replacement of it is “Pinboard — Social-bookmarking for introverts”. It’s paid, no-nonsense, has mostly similar features. But the last time I checked it was run completely by one single individual, raising exactly the same doubts for me.

Lessons learned

This story taught me that I want to be in control of my data. It has to be easily exportable to common formats, ideally in an automatizable way (or live locally, or be self-hosted). 5

If I also want stability. Even if I can get my data out, I probably built a workflow based on a specific program/service and converting, re-importing, re-building all of this is painful. Not everything is under our control, but some companies have a better track record than others. Having clear monetization strategy helps here.

This is also relevant for open source stuff: if the project dies, I’m not going to support the codebase myself. I now try to do some basic research about the projects I use, and do monthly donations to projects that add a lot of value to my life.

That was the time when I created my first “real” personal website (shmt.pp.ua), at a certain point with a blog for random interesting stuff.

First I saved links as a long page, then through a Wordpress extension, at the end a separate WordPress installation whose only goal was to keep my links.

The “wordpress extension” phase looked like this:

This gave me much more flexibility. Text/categories/descriptions, links between the posts, or posts containing multiple links about the same things, etc etc etc.

Taxonomy blues

That’s when I learned that taxonomies are hard. I’m not thinking philosophy here, just about what will make sense when looking up stuff later on.

  • What should become a tag, what should become a category?
  • Does this belong in category “Tutorial” or “Tutorials”?
  • Did I tag the other similar links “ML” or “Machine learning”? “Coding” or “Programming”?
  • Does “ML” automatically imply “IT” or it’s better to add “IT” too, for good measure?
  • Do things like “Wikipedia” merit their own category or tag?6
  • Just how much should I add to each link, given that each entity can be described as belonging to basically an infinite number of categories?

How do I keep it dynamic but still consistent, so that I don’t have to look anything up when tagging, don’t end up with duplicate tags, can easily and reliably know which tags to use when looking up stuff, and will never have to manually re-tag a lot of pages?

Information vs data vs knowledge

There was and old metaphor about data being a pile of bricks, information being a house.

Saving/tagging/categorizing links is good, but at a certain point I noticed that I’m not stopping at that anymore. Having a blog meant I could add text to posts - I was adding short descriptions / summaries, conceptualizing it by adding links to other relevant places, creating pages that are actually lists of resources on a specific topic.

This made the info more valuable by itself, but then I realized that it actually helps to remember stuff.

It’s like writing by hand instead of copypasting - once you formulate it in your own words, remove the unneeded parts, distill it to what you care about you already interacted with the source material a bit more and probably memorized part of it already.

Lessons learned

  • Thinking about categories/tags is hard to do but needs to be done, otherwise you’ll end up with an unusable mess with duplicate categories and tags
  • Links alone are good, but to make the most out of it you should have a place for summaries, links to other pages, things not neatly fitting the “one page = one link” concept.

Unmet needs

I was using tags/categories for different things:

  • topics (“Programming”, “Design”)
  • how much I like it (“Good”, “Awesome”)
  • sometimes - where does it come from (wikipedia etc)
  • medium - is it a blog post, is it a website, is it an ebook?

And I had no easy way to use AND/OR in queries, so it was either looking for “IT stuff” OR for “stuff I really liked”.

I wanted a more flexible taxonomy and run advanced queries over it. Something like “search for all the links about ‘Psychology’ except wikipedia articles”.

The next step was a personal wiki, then an overly-complex Semantic Mediawiki.

3. Personal wikis

Personal wikis are a thing, and there are infinite variations here too. I’d assume most aren’t open to the internet, but there are some public ones (for example YourcmcWiki, in Russian).7

There are a lot of engines, from the venerable MediaWiki to smaller/leaner things like dokuwiki [DokuWiki] etc.

Using a wiki also means we can deal with complex information much better - longer pages, inter-links, upload pictures and bigger attachments (.pdf books for example!), etc. You can add descriptions to category pages, you can see stuff like “what links here”, etc.

My own (still existing) wiki

My own personal wiki lives here. It was the main place I organised my links and resources for the last 5 years (though it’s mostly abandoned the least year or so). Of course I wrote a post here about it (in Russian).

Looks/looked like this8:

Home page
Single link page
.

For the “define your own attributes and run complex searches” part I installed Semantic Mediawiki, which allows to define custom attributes and semantic connections between pages.

For example, you can set [London] HAS_POPULATION 400000 or [London] IS_A [City], then query for “Cities with population over 3000”. Just what I wanted.

Now that I could define my own attributes, nothing could stop me.

I used it as a standard PKM wiki with additional bits for the pages representing links.

Standard PKM was simple: I just added the text I want to save in the pages.

Pages representing links were more involved. Each link-page had the following attributes:

  • URI (l)
  • title/name (n)
  • rating (how much I liked it or expect to like it) (r)
  • complexity (how much mental effort does it require) (c)
  • tags (t)

Then since it’s still a normal wiki page, it could belong to categories and it had place for free-form text that I used for summaries (for example, see this page: https://www.serhii.net/f/index.php/Quantifying_Productivity).

Now I finally had built a system exactly the way I wanted it.

Hi link wiki, I’m bored, give me some easy articles about programming I wanted to read.

I go to Special:Ask, then: Query:

[[Category:To read]]
[[Category:IT]]
[[c::<<7]]

Printout (show columns “complexity” and “link”):

?C
?L

Results:

Search results could be returned in various formats (like RSS/JSON/…). The RSS feed of the latest links I liked (rating 8+) was shown on my home page. 9 I once used it to write a simple website where you click on a big red button and it took you to a random link from the wiki.

Good times.

Unmet needs

Then what went wrong?

Friction

A lot of things were stopping me, different ones, but all made the thing not fun to use.

Adding stuff to it took either many steps, or many scripts, I of course chose the second option.

My original post about it goes into painful detail about the process.

Short version: setting the page attributes look like this and is painful to type:

[[Link::http://what.ever]]
[[Name::Link title]]

I wrote a number of scripts that (when run on a page I want to save) open the browser window (through a mediawiki template), pre-fill the URI and title, I add the rest:

https://www.pchr8.net/d/dtb/
Diensttagebuch - A purely technical blog about things I did on particular days, for future reference and search.
5


tag1, tag tag2, tag3

Cat1
Cat2
And a category with space

Then a VIM macro transforms it into this, which becomes the final content of the page:

{{B|https://www.pchr8.net/d/dtb/
|Diensttagebuch - A purely technical blog about things I did on particular days, for future reference and search.
|5
|6
}}
{{#set:
k=tag1, tag tag2, tag3
|+sep=, }}

[[Category: Cat1]]
[[Category: Cat2]]
[[Category: And a category with space]]

B is another mediawiki template I wrote (source here). It sets the SMW parameters (or uses the defaults) + makes the rendered page look nice.

I had keybindings for all this and it was fast, and the rating and complexity were optional and defaulted to 5, but I still had to enter the tags and categories and then wait for it to save to see if it worked.

Slow feedback loops

Tags and category names had to be typed manually and you’d get no feedback until you publish/preview. So:

  • you had to remember them (or look them up)
  • If you made an error, it’d quietly create that tag/category. That’s why I had “Tutorial” and “Tutorials”, for example. 10 My convention of “Categories are plural, tags singular” helped but not too much.
  • Only syntax errors were loud but also only at the very end.

When running, it was slower that I’d have wanted. Of course, it’s a webapp running on a cheap server, but even moving it locally wouldn’t have helped much. This added to the frustration.

Mantaining it

Even when not used, it created problems. Upgrading it, backing it up, moving it was painful and involved SQL databases, read/write permissions in PHP scripts, etc. Migration scripts were often broken, you’d have to re-import and rebuild the database, then find out that some extensions didn’t work etc. Not-upgrading it is a bad idea security-wise11 and if it gets too old your provider stops supporting the PHP/MariaDB versions of everything.

Availability

Corollary of the above, but: If something goes wrong, I can’t easily access that information. If my host goes down, I may have backups locally, but I won’t be able to access the info until I set up an entire LAMP stack and restore it there.

Without noticing or planning to, I moved to a simpler system.

Lessons learned

  • Adding information has to be fast and require few steps
  • The thing has to require very little maintenance to keep it alive
  • The thing has to be future-proof: info should be readable on some level even without the thing that created them being available

My criteria for a PKM system

The tales above point to a nice list of criteria that are important for me:

  • Data storage:
    • The data’s main location shouldn’t be a webservice. Ideally I should control both the data and the tools needed.
    • The data should live in a future-proof format, readable even without the tools
  • It has to require little upkeep/maintenance
  • Should be flexible and the data it gets and support:
    • Not just links, but also pictures/files etc
    • free-form text for manual summaries of the items saved
  • Taxonomy:
    • Ideally as flexible as possible, ability to add own attributes
    • Ability to use complex queries when searching
    • Quick feedback for errors or autocomplete for tags/categories
  • Usability:
    • Adding stuff it should be really fast and friction-free. If it takes time and effort to add new info to it you won’t do it often.
    • Both loading times and number of steps should be very very small

My next post will be about the next step and the system I’m using now, that I’m very happy with. Thanks for reading!


  1. Personal knowledge management - Wikipedia ↩︎

  2. http://allthingslinguistic.com/ ↩︎

  3. this is the story of 70% of my saved links. I don’t want to read it now, I don’t want to lose it by closing the tab, so either it’s in limbo with the other 100+ open tabs, or it goes to a category like “read later” with a single tag “interesting”. ↩︎

  4. xkcd: Is It Worth the Time? ↩︎

  5. Exporting stuff though manual steps is tedious and easily forgettable. And the webservice can randomly stop allowing that, like Goodreads did, or you can lose access to your account. ↩︎

  6. (At the end I decided that yes, because when looking for it I remember it was on Wikipedia and this helps to narrow it down.) ↩︎

  7. I had a lot of them saved in my links, but all except the above are down now. Link rot is another threat and steps can be taken to mitigate it: Archiving URLs · Gwern.net ↩︎

  8. Made some more screenshots just for fun, the link wiki is going down pretty soon, as soon as get to moving it to something static.  ↩︎

  9. Looked like this:  ↩︎

  10.  ↩︎

  11. (this is why I got rid of Wordpress) ↩︎

29 Nov 2021

Attempting to parse Obsidian tags with Templater templates

1503 words, ~6 min read

Obsidian

After more than a month of use, I’m still totally completely absolutely in love with Obsidian.

The standard scenario for any new technology I get excited about is something like

  1. Discover something really cool
  2. Read the entire Internet about it
  3. Try to use it to solve all my problems, to see what sticks
  4. After a week or so, either I stop using it completely, or I keep using it for a narrow use-case. I consider the latter a success.

I think this is the first time the opposite happened: I started to play with Obsidian as a way to quickly sync notes between my computer and phone (better than one-person Telegram groups or Nextcloud or Joplin or…), then started using it to write the Diensttagebuch, then realized I can drag-n-drop pictures/PDFs into it and can use it to keep my vaccination certificate and other stuff I need often on my phone, then oh nice it’s also a markdown editor, and we’re not done yet.

I’d usually avoid closed-source solutions, but it has everything I could ask for except that:

  • a really active community, with blog posts being written, repositories, plugins etc being constantly developed by very different people
  • notes being stored markdown, which then can be version-controlled and edited using any of my existing tools
    • this is much better than being able to “export” them to markdown, one less step to do (or forget, or easily disable). Fits seamlessly into the backup strategies being used.
  • Downloadable program that works even without an Internet connection, even if Obsidian HQ gets hit by a meteorite
  • Obsidian themselves having paid options1, which means a chance, clear plan and incentive to survive, and clear ways to support them. Better than whatever I’d be able to do with an abandoned open source project I rely on. (That said, I’d love them to open source at least the client at some point.)

This mix between personal-and-not-personal stuff, and having both my phone and my laptop as first-class citizens, is something I’ve never had before, and something I like, then if I also try to make it into my published blog I’m bound to find edge cases, one of them being tags. That said until now, and including this bit, everything I tried to do worked seamlessly.

This post describes my attempt to set up tags in a way that both Obsidian’s native autocompletion/search AND Hugo’s tagging work.

Two types of tags

This blog is written in markdown and converted into a static website with Hugo. Both the Diensttagebuch and the journal take files from specific subfolders in a specific Obsidian vault, and get converted into Hugo-friendly markdown using Obyde.

There are two kinds of tags as a result of that:

  • Obsidian’s #tags in the body of the text. They are the main kind supported, they get autocompleted, various #tag/subtag options can happen, etc. They get ignored by obyde/Hugo during conversion.
  • Front matter tags. They look like this in yaml/obsidian:
    Obsidian metadata
    They are parsed by Obsidian, as in searching by them works, but adding them manually is painful and has no autocompletion. One needs to set the ‘metadata’ to be shown in settings for them to be displayed.
    They are the only ones understood by Obyde/Hugo, though.

I decided to write something that takes care of this for me easily.

Obsidian templates and Templater

Logical first step was Templater, which is a plugin for Obsidian I already use for my templating needs, such as generating a YAML frontmatter based only on a filename (see Day 1021).

I wanted:

  • obsidian’s #tags to become part of the yaml frontmatter
  • optionally - adding a line at the end of the file, like “Tags: #one #two #three” with the tags found in the frontmatter but not in the body.

I found a template2 doing pretty much this in the Template Showcase. It uses purely Obsidian’s/Templater’s JS/Templating language and is very close to what I want - but not exactly, and somehow I didn’t want to write more Javascript than needed.

My solution is more of a hack, less portable, and uses Python, because that’s what I know how to write best.

My solution

Python script to parse/add the tags to frontmatter

I wrote a (quick-n-dirty) Python script that:

  • gets the tags from the frontmatter of the input .md file
  • gets the tags found by Obsidian from an environment variable
  • finds tags found by obsidian but not in frontmatter
  • rewrites the .md file with all the tags added to the frontmatter.
from frontmatter import Frontmatter
from pathlib import Path
import os
import argparse
import yaml

ENV_VAR_TAGS = 'tags'
TAGS_LINE = "\nTags: "
IGNORE_TAGS = {"zc"}
TAGS_TO_LOWER = True

def get_args() -> argparse.Namespace:
  parser = argparse.ArgumentParser(description='Remove tags')
  parser.add_argument('--input_file', type=Path, help='Input file')
  parser.add_argument('--print', default=False, action="store_true", help='if set, will print to screen instead of rewriting the input file')
  parser.add_argument('--add_new_tagline', default=False, action="store_true", help='if set, will create/edit a "Tags: " line at the end of the file with tags found in front matter but not text body')
  return parser.parse_args()


def str_tags_to_set(tags: str) -> set:
  """
  Converts tags like "#one,#two,#three" into a set
  of string tags without the "#"s:
    {'one', 'two', 'three'}
  """
  def parse_tag(tag: str):
    ret_tag = tag.lower() if TAGS_TO_LOWER else tag
    return ret_tag[1:]

  return_set = set([parse_tag(x) for x in tags.split(",")])
  return return_set

def set_tags_to_str(tags: set, ignore_tags: set = IGNORE_TAGS) -> str:
  """
  The opposite of str_tags_to_set, returns space-separated "#tag1 #tag, ..".
  Ignores tags that contain even part of any ignore_tags.
  """

  final_tags = ''
  for tag in tags:
    for i in ignore_tags:
      if i in tag:
        continue
    if TAGS_TO_LOWER:
      tag: str = tag.lower()
    final_tags+=f"#{tag} "
  return final_tags

def line_is_tag_line(line: str) -> bool:
  return line[0:len(TAGS_LINE)] == TAGS_LINE

def get_tags_in_tagline(tagline: str) -> set:
  words = tagline.split(" ")
  return {w for w in words if w[0]=="#"}

def main() -> None:
  args = get_args()
  input_file = args.input_file

  # input tags
  tags_frontmatter = set()
  tags_all = set()
  tags_obs = set()

  # output tags
  missing_obs_tags = set()
  missing_yaml_tags = set()

  parsed_yaml_fm = Frontmatter.read_file(input_file)
  frontmatter_dict = parsed_yaml_fm['attributes']
  post_body = parsed_yaml_fm['body']

  has_tags_in_fm = 'tags' in frontmatter_dict

  # all tags (yaml + #obsidian)
  env_tags_by_obsidian = os.getenv(ENV_VAR_TAGS)
  tags_all = str_tags_to_set(env_tags_by_obsidian)

  # tags in yaml frontmatter 
  tags_frontmatter = set()
  if has_tags_in_fm:
    tags_frontmatter = set(frontmatter_dict['tags'])

  # "obsidian" tags (basically #tags in the text)
  tags_obs = tags_all.difference(tags_frontmatter)

  # print(f"{input_file}: \n\
  #     all_tags: {tags_all}\n \
  #     obs_tags: {tags_obs}\n \
  #     fm_tags: {tags_frontmatter}\n"
  #     )

  # tags found in frontmatter but not in #obsidian
  missing_obs_tags = tags_frontmatter.difference(tags_obs)
  # #obsidian tags not found in frontmatter
  missing_fm_tags = tags_obs.difference(tags_frontmatter)

  if missing_fm_tags:
    if not has_tags_in_fm:
      frontmatter_dict['tags'] = list()
    frontmatter_dict['tags'].extend(missing_fm_tags)

  if missing_obs_tags and args.add_new_tagline:
    final_tags = set_tags_to_str(missing_obs_tags)

    # If last line is "Tags: "
    last_line = post_body.splitlines()[-1]
    if line_is_tag_line(last_line):
      # tags_in_tl = get_tags_in_tagline(last_line)
      # Remove last "\n" in post body
      post_body = post_body[:-1]
      # Add the missing tags to the last line
      post_body += " " + final_tags + "\n"
    else:
      # If we have no "Tags: " line, we add one
      final_string = TAGS_LINE + final_tags
      post_body+=final_string

  new_fm_as_str = "---\n" + yaml.dump(frontmatter_dict)  + "\n---"
  final_file_content = new_fm_as_str + "\n" + post_body

  # print(final_file_content)
  if args.print:
    print(final_file_content)
  else:
    input_file.write_text(final_file_content)

if __name__ == "__main__":
  main()

Obsidian templates

To use the python file, I added to Templater a “System command user function” 3 add_tags with this code:

python3 _templates/tags/py_add_tags.py --input_file "<% tp.file.path() %>" 

It calls the python file and passes to it the location of the currently edited file.

Then I create the template that calls it:

<% tp.user.add_tags({"tags": tp.file.tags}) %>

tp.file.tags returns all (all) tags found by Obsidian, so #body tags and frontmatter ones.

They get passed to the python script as an environment variable, canonical way to do this as per Templater docu4.

Initially I tried to pass them as parameter, but tp.file.tags passed in the system command user function always returned an empty list.

Usage

I write the text in Obsidian as usual, adding any #body tags I like, then at the end run that template through the hotkey I bound it to (<C-S-a>), done.

Better ways to do this

Problems with this solution:

  • won’t work on Android
  • too many moving parts

Ways to improve it:

  • It’s possible to do this without Python. The template I found2 uses JS to find the editor window, then the text in it, then the YAML node. Though intuitively I like parsing the YAML as YAML more.
  • I wrote it with further automatization in mind, for example running it in deploy.sh so that it parses and edits all the markdown files in one go. This would mean splitting the thing by words, taking care of correctly grouping #tags-with/subtags and not looking inside code blocks etc. Not sure here. I’d still have Obsidian as ultimate source of truth about what it considers a tag and what not.

What now?

This is the first long-ish blog post I’ve written in a while. Feels awesome. Let’s see if I can get this blog started again.


  1. Pricing - Obsidian ↩︎

  2. Gather up tags and format for YAML frontmatter · Discussion #140 · SilentVoid13/Templater ↩︎

  3. System Command User Functions | Templater ↩︎

  4. System Command User Functions | Templater ↩︎

02 Jan 2021

Підсумки 2020

514 words, ~2 min read

Дуже, дуже цікавий рік був :) Аж вау насправді. Цього року, в останні дні 2020, я перебрав усі документи, завів нову папочку для архіву, передивився білети, записи, чеки, і увійшов в 2021 без відчуття хаосу і пилу.

Пишу ці рядки в своїй квартирі, вечором, другого грудня. На душі відносний спокій.

Now playing: David Bowie - Starman

Досягнення року: Перша full-time робота по спеціальності!
Подія року: Я одружився!
Настрій року: Спочатку невизначеність та неясне хвилювання, потім - спокою, оптимізму, тотальної впевненості в своїх ресурсах та майбутньому.1
Зустріч року: AA
Геморой року: Всі пов’язані з коронавірусом питання: юридичні/логістичні/етичні, Einreisebeschränkungen, планування весілля, “чи закінчиться воно все в серпні”, …
Країна року: Німеччина
Місто року: Лейпциг!!! Цього року з трьома окличними знаками!
Слово року: “Антирекорд”
Подорож року: Карпати, можливо. На безриб’ї?..
Веб-сервіс року: https://hckrnews.com/; Worldometer & MDR Sachsen; Amazon, Netflix
Колір року: Той дивний відтінок червоного, який всі якось історично використовують для зображень і інфографіків пов’язаних з вірусом.2
Запах року: Антисептику
Новина року: Вразила ця серія твітів
Книга року: Starfish (Rifters, #1) by Peter Watts; Difficult Conversations by Douglas Stone
Фільм/серіал року: Bojack Horseman, Star Trek (Корона навчила Netflix-у!). Family guy (мені соромно)
Media N.O.S.: 13 Minutes to the Moon (Podcast)
Пісня року: David Bowie - Starman Lyrics - YouTube Король И Шут Кукла Колдуна - YouTube Red Hot Chili Peppers - Californication - Live in Chorzów - YouTube Вальс в Конго — А всё-таки (Маяковский) | Презентация альбома Алексея Краева «Баю-бай», СПб 24.05.15 - YouTube Murka (in English) - YouTube
Жах року: Коронавірус. Як і минулого року, цікаво спостерігати за думками і поведінкою людей
Заклад року: Star Pizza & Pizza Caesar
Напій року: Протеїнові йогурти та молочні напої
Їжа року: Яйця та омлет, місо-суп
Транспорт року: Nextbike!
Бренд року: Nextbike
Ціль на наступний рік:  (a) Отримати папірець про володіння німецькою на рівні С1. (b) Прочитати цілком хоча б одну нормальну книгу (або офіційну документацію) по Пітону та Джаві. (c) Наскільки це можливо, вийти з екосистеми Гугл. Фактично, основне: перевести основний імейл з gmail. Допустимо залишити Google Photos та пошук.
Побажання собі на 2013 2014 2015 2016 2017 2018 2019 2020 2021 рік:

Продовжити сон, спорт, медитацію – ЦЕ ПРАЦЮЄ. (x3)

Read for enjoyment. Менше дивитися муть, менше відволікати себе муттю.

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

Систематично оцінювати свій стан, джерела вини, планування.

Більше читати цікаві мені технічні речі, навіть якщо вони складні. Більше експериментувати з цікавими мені технологіями.

Вчитися ясно передавати свої думки, більше писати.

Минулого року я писав:

Рік буде цікавим, дуже, але сподіваюсь, що буду відпочивати, свідомо давати собі відпочивати. Я багато робив цього року, наступного теж треба буде робити багато всякого, але тут і зараз планую на 2021 зменшити обороти.

Так от.

ЗМЕНШИТИ ОБОРОТИ

(У)


  1. І це найцікавіше, насправді - як тільки з’явилась впевненість в майбутньому, стабільність, покрилися найнижчі рівні пірамідки, то все інше теж дуже покращилось. Я не знав, наскільки мене їла нестабільність з роботою, візою, і тп. ↩︎

  2. Шукав - знайшов: Coronavirus (COVID-19) Color Scheme » Chocolate » SchemeColor.com: Kenyan Copper (#6E1B09), Amaranth Red (#D22C2C), Chinese Orange (#F07249), Ebony (#5D5F5C) and Onyx (#393A3C). ↩︎

21 Jan 2020

Intermezzo - 2

1131 words, ~4 min read

Три истории про Мерзебург

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

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

Now playing: Stravinsky - Le sacre du printemps / The Rite of Spring

Господи, сколько же всякого происходило тут за последние 4 года.

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

Candle

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

Комнатка прошла полный круг - а изменился ли я?

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

Но это все лирика, лирика которая не должна отвлекать нас от того, что на самом деле важно -

Окна

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

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

Window

Окно 1, левая половина

Life is a non-0-sum game.

"Nothing exists except atoms 
and empty space. Everything 
else is opinion" - Democritus 
    ____ - - -
 
SIT,  BE STILL AND LISTEN, 
BECAUSE YOU ARE DRUNK 
AND WE'RE ON THE 
EDGE OF THE ROOF 
                - RUMI
    __________

BE A LIGHT UPON YOURSELF.
    ___________
    ___________

I make my own coincidences, 
synchronicities, Luck, 
    and Destiny.

    ____________

Rule your mind,  or it will rule you.

    ____________

Безумие, безумие, безумие.
              (с) М.

 Рисунок роботов, вид сверху. 

Окно 1, правая половина

L'occhio del lupo Amazon

U: ---/---
P: admin123

       __________

Рисунок круга с точкой внутри

Leave tonight 
or live and 
die this way.


padik is where your
    semki shells lie


 Еще одна схема робота, одного,
вид прямо 

 Рисунок слона, подписан Ellina

Antal
Szerb: Reise
im Mondlicht

Это все
часть пути

Now playing: Händel - Sarabande, просто самая сильная извесная мне композиция. Мурашки по коже.

Продолжаю.

Window

Окно 2, левая половина

-- Что мне терять 
на этоп этапе?
-- Этап.

Ойген

Matthew 6:33
    TachibanaPC2998

Wovor laüfst
du weg?

 Непонятный рисунок с квадратиками, кружочками и штрих-пунктиром. 
    
    We were dringking
       with Ukrainians!

    19:01

 Рисунок короны

 Рисунок трех синусоид, суммирующихся в 1 

 Две неразборчивых надписи

6C | 2-3

   Wo bist du?
 Sergej

 Еще одна неразборчивая надпись

Buch "Krabat"
 (↳ O.Preußler)

 Смайлик 

         Логитип BMW 

 Рисунок земли, над ней шар,
вокруг шара концентрические стрелочки
Под ним: "2001"

I fucking like
  weather

сука

SOKOLY
(I.M.T. SMILE)

Окно 2, правая половина


 Большой рисунок 
каббалисткого Древа Жизни,
с буквами на иврите внутри 

10:45 am

Мыло для бульбашек

 Рисунок лица в очках 
Сережа ня :3

"Я тебя щелкну
как семку!"
    (с) Женя

 Рисунок Дао  

25см 
(i) 1:17

 Странный рисунок лошади (?)
перехоящей в ботинок (?) 

   Der kleine Prinz
   ist bei mir! 
    - Yasmin
  
    P.S. 
    lies das 
    Parfüm!

 Рисунок графика
и минимумов в нем 

    PRIMETIME 
         SPIRIT

Он хотел историй
Он ее получит [sic]

HN

GL DF
   ALeX

Инсмут

Тут еще будет уместен этот линк на пост, написанный когда я только-только приехал сюда: Файне місто Мерзбург | Я сам, соломка, чай.

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

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

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

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

Не Инсмут

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

Мерзе это город где к тебе могут просто зайти и пригласить выйти погулять, и ты идешь и просто гуляешь по территории и по Tiergarten, до которого метров 500. Это город где шикарно гуляется ночью. И шикарно разговаривается ночью.

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

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

Мерзе меня многому научил. От того, как это, когда вокруг у тебя Мерзебург, где мало что происходит, а ты хочешь чего-то интересного - и ты учишься to make your own fun и организовываешь вещи.

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

В эти секунды тушится свечка.

Спасибо тебе, свечка, спасибо тебе, столик.

Спасибо тебе, здание 5B.

Спасибо тебе, Мерзебург, спасибо за все.

06 Jan 2020

Підсумки 2019

725 words, ~2 min read

Трошки підзабив на блог цього року. Цікаво, що було причиною. 90% суєта суєт - я відчуваю менше потреби читати, писати, розвиватися, і навколо стало відбуватися трошки більше хаосу. З іншого боку, я став значно більше обмінюватися інформацією зі світом (і людьми) в реальному житті.

Це, швидше за все, добре.

З іншого боку те, що до підсумків 2019 я дійшов в Святвечір 2020 року, є трошки меншим добром. Я відчуваю тотальну перегруженість інформаційним шумом.

У будь-якому випадку пишу ці рядки за своїм столом, у своїй кімнатці в Києві, де все дуже рідне і знайоме. Життя продовжується, але це єдине місце (не місто, не країна, а 20 квадратних метрів) куди мені приємно повертатися, де затишок і де мене оточують знайомі приємні речі.

Так от.

Now playing: Мертвий півень - Я помру від застуди

o/`
Я помру від застуди, наш лазарет
Перебазують кудись на південь
І фронт котитиметься вперед
І саме почнеться квітень

o/`

Досягнення року: Знайшов першу дорослу не-internship роботу яка настільки по спеціальності наскільки взагалі можливо в абсолютно чудовому місці! А ще Я БАКАЛАААВРР (знову). Ще я переміг Mikroprozessortechnik. Відсканував фоточки частини сім’ї за останні 5 поколінь. Рік був цікавим, дуже.
Подія року: 36c3! Хоча насправді не впевнений. Ще є тема, що переїхав в труъ квартиру, ще є тема, що знайшов всі свої старі файли десятирічної давності. Складно.
Настрій року: Перегруженості, робота-яка-займає-більше-вільного-часу-і-енергії-ніж-хотілось-би, is-this-what-feeling-an-adult-feels-like?-а-що-ж-тоді-буде-коли-40-годин-на-тиждень?
Зустріч року: Ммм. Ммммммммм. Складно. Хай або Штефан Б., або Йенс.
Геморой року: Електротехніка ні, цього року Mikroprozessortechnik-а.
Країна року: Німеччина?
Місто року: Лейпциг!
Слово року: Thesis
Подорож року: Синевир! Подорож в самому істинному значенні слова
Веб-сервіс року: https://hckrnews.com/
Колір року: Гранж-сірий, а також, окремо від нього - лікарняно-білий з помітними слідами цвяхів
Запах року: Гвоздики
Новина року: “We are very happy to welcome you at $companyName very soon!”
Книга року: “Cakes&Ale” by Somerset Maugham; “Gomorra” by Roberto Saviano. Судячи з мого профілю в Goodreads, цього року я дочитав цілих дві (2) книжки.
Фільм року: Міміно! А також The Original Star Wars Trilogy (взагалі якщо всі відсортував би як 4-5-6-2-1-9)
Пісня року: Ітак. ІТАК. Цього року в оберненому хронологічному порядку. Joan Baez - Diamonds and Rust; The Balfa Brothers - Parlez Nous A Boire; Ludo - Lake Pontchartrain; Hugh Laurie - Saint James Infirmary (Let Them Talk, A Celebration of New Orleans Blues); Dr Dre - Still в 100500 лайв-виконаннях, наприклад раз і два; Mimino - Chito Grito; Bajaga i Instruktori - Zivot je nekad siv, nekad zut; Melanie - Look What They’ve Done To My Song, Ma; Король И Шут - Кукла Колдуна; Агата Кристи - Сказочная тайга; Biagio Antonacci - Mio fratello ft. Mario Incudine і окремо ця лайв версія; Roberto Vecchioni e Angelo Branduardi - Samarcanda; Окремо Bomani Armah - Read a Book і ця лайв версія; Koutev Bulgarian National Ensemble - Bre Petrunko; Fabrizio De André - Via del campo

o/`
Then give me another word for it
You were so good with words
And at keeping things vague
o/`

Відео/Media N.O.S: SCP Readings by TheVolgun; Bedtime Stories; “The Pill Mills of Florida” у цьому виконанні; + “I’m a search and rescue officer for the US forest service creepypasta” + Missing411 у всіх варіаціях
Жах року: Дебати між кандидатами у президенти. (…та результати виборів).
Заклад року: Mensa am Park
Напій року: Чорний чай Lady Gray, Айран
Їжа року: Омлети з молоком, Червоні спагеті
Транспорт року: Wizzair/Ryanair; S5X
Бренд року: … (якщо і наступного року тут буде пусто приберу з анкетки)
Антилюдина року: -
МріяЦіль на наступний рік:  Дійти до точки коли у мене є відчуття професіоналізму чи кваліфікації, хоч трошки, в МЛ, Пітоні та Джаві. На рівні “не боятися йти на інтерв’ю”.

Побажання собі на 2013 2014 2015 2016 2017 2018 2019 2020 рік: 

Продовжити сон, спорт, медитацію – ЦЕ ПРАЦЮЄ. (x2)

Більше читати художньої літератури та consume better media; Менше читати HN.

Allow myself to feel bored, when I walk on the street just walk on the street.

Систематично дивитися, що є джерелами відчуття вини, та систематично їх прибирати, раз в Х днів. 90% це “не відповів Х” та “давно не звонив У”.

Do some technological downshifting and limit the amount of web/online/IT/not-really-existing stuff I have.

Рік буде цікавим, дуже, але сподіваюсь, що буду відпочивати, свідомо давати собі відпочивати. Я багато робив цього року, наступного теж треба буде робити багато всякого, але тут і зараз планую на 2021 зменшити обороти.

Relax and take stuff a bit easier.

(У)

23 Sep 2019

Intermezzo

1093 words, ~4 min read

Had a long and wonderful vacation, and as it usually happens – I regret not keeping better records of what happened. In general, I feel like I’m losing some touch with my ability to write and to do at least semi-artistic things – and I believe this to be a great loss (for me, not for humanity).

Now playing: Музыка для никого - Агата Кристи (минус на пианино). Currently in the plane and without a connection, so untypically there will be no links.


During this trip home we organized another “we have a projector, make a ~20min presentation about whatever interests you” thing, and it went even better than the first – it’s not hard to get people to talk about stuff they are interested in. And it’s a wonderful way to get exposed to a lot of awesome stuff you didn’t know existed – topics ranged from vaccinations to roleplaying to how to play a flute.

Then I took part in my first D&D game, and it was interesting. Not going to get into it heavily, but it’s fascinating how everything is organized to be playable, and I think I see the appeal of it all. Also it looks 10/10 like something I would love – I’m not really sure why I don’t.

The month leading to it were probably one of the least pleasant of the last couple of years – thesis, very unpleasant uni stuff, a couple of all-nighters I could not properly recover from. My coscience was about as fragmented and stressed-out and burned-out as it gets, I think. So after 3 days at home the best thing happened:

Then I went to a 2 week camping thing in the Karpathians.

Now playing: Летов - все идет по плану

И взагалі мій куточок в Інтернет, маю право на що завгодно – продовження буде українською.

Так от, похід по Карпатах – це було настільки тотальне очищення дуже фрагментованої свідомості. Він був значно ващим ніж заплановано, і днів шість (а заплановано було три дні) треба було просто йти вперед. Навіть по-людськи не було часу годинку відпочити і понасолоджуватися на привалі. Плюс було трошки складно з маршрутом, один траверс який був набагато гірше маркованим у середині ніж його початок збив з дороги десь на день. І рюкзаки були значно важчі ніж було б правильно. І вилилось це все в просто 6 днів нервів але особливо тупо фізичного навантаження. І насправді це те, що, думаю, було особисто мені потрібно.

Now playing: Давайте делать паузы в словах

А, ще були гори, багато гір. Дивишся назад - бачиш прекрасний вид. Проходить 40 хв, знову дивишся - він став ще прекраснішим. І ти бачиш гори-гори-гори яких не бачив раніше. І розумієш, що це саме ти своїми ногами піднявся на цю висоту.

Але чи не основне те, що дав цей похід - це Н днів майже без телефону і без Інтернет у будь-якому вигляді. І найбільшу очистку дало саме це. (Окрема галочка – місця без телефонного звʼязку. Коли ти десь на горі, не бачив ніяких зустрічних туристів дня два, розумієш, що до найближчого місця де зможеш подзвонити йти годин 6.) І відчуваєш тоальну свободу, словами не передати яку. Свобода-пустота-ямогувсе, розумієш що для щастя тобі - конкретно тобі - треба небагато. Що проблеми - це шукати дрова, щоб не змерзнути. Прості древні проблеми. Розумієш, скільки умовностей і абстракцій ти собі постворював в т.н. “реальному” житті, і наскільки те, що відбувається тут з тобою на декілька порядків реальніше.

Відчуваю, що гублю ці увідомленя – навіть зараз, пару тижнів після кінця походу. І це теж у мене було - це все про свободу і т.п. не просвітлення після якого все інакше (я не впевнений, що взагалі вірю у такі просвітлення). Такі усвідомлення треба поновлювати, і речі/події які дають такого плану речі теж потрібно повторювати. Пригадую, що було у собору в Кьольні, що було коло Синевиру, що було під час минулих поїздок автостопом. Записувати це може трошки нагадати, але не дасть той самий afterglow котрий на шкірі і глибший за свідомість.

Now playing: Команда нашего двора - Визбор

Не останнім фактором, мені здається, там була тема чисто фізичних зусиль. Коли ти робиш 140% від того, на що (думаєш) здатен. Доходиш на вершину гори. Бачиш просто вау вид навколо, навіть не робиш спробу сфоткати - все рівно нічого не передати, і чимось це вже порожні для тебе категорії. Максимально стараєшся відчути, про-жити це. В тілі всі ті характерні ендорфіни від фізичної роботи, яка так очищає душу.

А на дворі 12 ранку, і ти розумієш, що тобі ще 2 таких подвига сьогодні. Звʼязку немає і не буде, телефон вимкнений, десь у тебе тренується якась нейромережа, але це так далеко і чимось не-реально. Згадуєш людей з твого реального життя, обличча ніби як зі сну.

І ще важливим було чітке розуміння того, що тобі навіть в чисто фізичному плані не так багато потрібно - в плані їжі, 39 душів в день, чистої голови. І хоча все рівно буду її мити, розуміння що 6 днів підряд можна цього не робити і все буде ОК теж робило все світлішим і простішим, чи що. Типу постворювали собі абстрактні системи і умовності, живемо в цьому гіперреальному світі, вирішуємо проблеми в рамках цієї системи - а так не завжди було і можна інакше. (Не в плані, що це погано, але швидше, що цікаво це бачити – бо контакт з простим і реальним втрачаєш тим більше, чим більше часу не маєш контакту з простим і реальним).

Now playing: Ostatnia prośba wędrownego grajka (та сама “Переведіть мене через майдан” польською).

Коли дійшли до цивілізації ми були раді бачити цивілізацію, все ж.

І друга частина відпочинку була ідеальною – лежали в кроватці, гарно їли у місцевій колибі, ходили до озера, потім поверталися, ad infinitum. Але телефона все одно не сильно включали. (Пригадую наскільки фізично дивно було друкувати щось на телефонній клавіатурі). В перший вечір зʼїли 10 блюд з колиби на двох.

Баноші, деруни з былими грибами, млинці з ягодами, ось це все.

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

У будь-якому випадку, Київ був гарним і я був дуже радим його бачити.

Повернувся додому, все було нормально. Галочка 1 - фраза “З дороги завжли треба помити руки і вмитися, щоб змити з себе пил і погляди людей”, і фраза друга-єврея одного street performer про те, що “людей нужно удивлять”.


Позже, вероятно, последует похожий постикак о планах на следующий год.

Over and out. (Y)

25 Aug 2019

Daily todo/check-up/review program concept

1977 words, ~7 min read

EDIT: I use a variation of this now, both more simple and more complex, and better integrated with i3. Not sure I’ll ever do a write-up of that, but for now leaving this here for historical reasons I guess?
EDIT-2: Reimplemented this in Obsidian, now I can access it and fill it from all my devices!

This is an idea that has been floating in my head for over 2 years, and currently lives as a series of random spaghetti-Bash-Python scripts, and I think it would be interesting to formalize this in some way and make The One True Script To Rule Them All ©®™.

The main problem I’m trying to solve is the fact that I was never able to integrate any nice habits in my life without getting constantly reminded of them. The solutions/prescriptions are almost the same as in 2014, and every time I read any old notes I’m shocked by how relevant it is (still), and carry on that momentum for the next couple of days until I forget again.

How nice would it be if every morning I could run a script that generates a todo, checklists, and reminders about relevant habits/ideas?

Stephen Wolfram’s home dashboard (pic, from this article about his personal infrastructure) is probably one of the biggest inspirations for this.

(Read More)

26 Mar 2019

Pchr8board - a mirrored left-hand keyboard layout for Dvorak

1055 words, ~4 min read

Pchr8board

Pchr8board is a keyboard layout for Linux based on Randall Munroe’s Mirrorboard idea and implements it in Linux for the Dvorak keyboard layout.

It looks like this:

(Read More)

09 Jan 2019

Підсумки 2018

458 words, ~1 min read

Невже 7 років?

Перечитую щоденники, листи, календар, гітхаб, передивляюсь фотографії. Вірогідно, це був найкращим роком за все моє життя.

Now playing: Bach, Matthäus-Passion
Досягнення року: Написав і довів до функціонального стану перший нетривіальний програмний проект :) І потім замутив ще один
Подія року: 35c3!
Настрій року: Усвідомленості, свободи та світла всередині, з легким відтінком магічного реалізму
Зустріч року: Э. Деякі зустрічі залишають глибокі сліди. Почесне друге місце — чувак, який мені втирав о сьомій ранку про часові пояси. (“If you use continuous timezones, the width of a server rack is one millisecond”). А так взагалі дуже багато надзвичайних зустрічей цього року.
Геморой року: Електротехніка.
Країна року: Ізраїль
Місто року: Петах Тіква
Слово року: Machine Learning
Подорож року: Ізраїль!
Веб-сервіс року: http://www.time.is/
Колір року: Чорний, можливо з темно-синім.
Запах року: Зеленого чаю
Новина року: “IAESTE nomination confirmed”
Книга року: “Deep Work”, але взагалі дуже мало читав цього року. Вірніше, дуже мало дочитав.
Фільм року: “Отпетые мошенники” + перші дві серії Ліквідації.
Пісня року: Ооо. Продовжимо. As usual, in no particular order. Il Ballo di San Vito – Vinicio Capossela, Branduardi / Battiato – Il Sultano Di Babilonia E La Prostituta, Dr. Dre – Still D.R.E., The Irish Rover, у конкретно цьому виконанні, Leningrad Cowboys – Happy Together + Kasakka, Ritmo di Contrabbando – Eugenio Bennato, The Beatles – Hey Jude, Tracy Chapman – Fast car, Kipparikvartetti – Rovaniemen markkinoilla 1964, Oró Sé do Bheatha ‘Bhaile – The Dubliners. Вовка Затихомиренный — НАЕБАЛИ
Жах року: Реакція окремих людей на окремі події в українській політиці.
Заклад року: Їдальня Хаврат Хашмаль.
Напій року: Зелений чай!
Їжа року: Курині відбивні та спагеті
Транспорт року: Flixbus
Бренд року:
Антилюдина року:
МріяЦіль на наступний рік:  Знайти офіційну цікаву роботу в області ML / Data Science та замутити три нормальних сайтика, один з монетизацією. Закінчити бакалаврат в Мерзе.

Побажання собі на 2013 2014 2015 2016 2017 2018 2019 рік: 

Продовжити сон, спорт, медитацію – ЦЕ ПРАЦЮЄ.

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

Інтенсивно вчити статистику та МЛ та мати проектики які це демонструють, можливо вести якийсь Diensttagebuch (головне не згадувати звідки я дізнався про саме поняття). Чітко щось осмислене робити Х годин на день.

Нормально підтримувати спілкування з людьми, вірогідно це основне що не давало спокою, але воно покращується.

На наступний рік дивлюсь з оптимізмом та вірою в себе та Всесвіт, який мені стабільно підкидає прекрасні речі саме тоді, коли вони мені актуальні. Рік почався абсолютно прекрасно, і так, сподіваюсь, і продовжиться, сам я точно докладу всі зусилля до цього. Ну, фоєр.

(У)

16 Dec 2018

Записки из подполья — часть א из א — Тайные протоколы одесских мудрецов

516 words, ~2 min read

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

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

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

Now playing: Il ballo di san Vito

o/’
terra di sud, terra di sud
terra di confine
terra di dove finisce la terra
o/’

(Read More)