Category Archives: Productivity

Plan for the year 2017

In no specific order:


The goal here is to be able to read Chinese web pages and maybe newspapers. This year being able to read simple children’s books seems like a reasonable target. After that, I’ll have to readjust the plan depending on how difficult it seems to be.

At the moment I recognize about 100 characters, know some really simple phrases, can’t read even the most simple texts. Someone said somewhere that knowing 2000 characters (+ of course the grammar etc.) is enough to read and understand most newspapers. So a long, long way to go…

Music production

The main goal is to create enough (decent!) music to make an hour long album/mix out of it. Maybe even play that set somewhere.

Currently I have one song I’m willing to call finished. The good thing about that one song is that in the process of making it I finally got rid of the feeling of maybe not being talented enough or whatever. Anyway, here’s that one song:

It’s not great, but I think it’s good enough!

Of course I have tons of unfinished songs and parts of songs lying around… Maybe they’ll be useful someday.

Musical skills

The goal is to be able to play melodies by ear. Be it on piano or guitar. Maybe even singing?

At the moment after hearing a couple of chords from any major key and then a note in that key, I can tell with 90% accuracy which interval from the root note that note was. So not great, but not completely hopeless either. I’ve been using this app for practicing. I think (hope) as long as I keep practicing every day, I’ll be pretty good way before 2018.

With a guitar in my hand I can very slowly figure out melodies, but it’s painfully slow, and to be honest a bit embarrassing considering how long I’ve been playing the guitar.


The plan is to build and finish a simple synthesizer. Then use at least a single sound out of it in a song.

I’ll have to brush up my electronics skills before I even get to the building part. Currently I have a decent idea of the physics side of electronics and some hands-on experience.

I’m now reading Practical Electronics for Inventors and I’m something like 1/10 through it. I think after I’ve read most of the book and refreshed my memory wrt. soldering etc. I’ll be good to go to improve just by reading and building stuff I find from the interwebs.

I’ve already bought all the components for the synth and they’re sitting at our hacking space near my home. Just add water…

Real-time graphics demo / VR application

This is the most open-ended of these. I’m not sure what I want to do, I just finally want to finish something in this space since I have way too many almost-there type of projects lying around. I’ll hopefully make a new post about what this will be during the first half of the year.

B.Sc in Computer Science

Major in CS, minor in theoretical physics. 16 out of 25 ECTS of theoretical physics already done, about 137/180 of CS done (plus getting 10 ECTS due to work experience is just one email away). The missing 33 ECTS or so should be very much doable in a year, as long as I don’t pick anything overboard as the subject for my bachelor’s thesis. We’ll see about that.


A total of 6 goals for the year of 2017. Meaning I could dedicate 2 months of time to each of them if I don’t do them in parallel. Doesn’t sound easy at all, doesn’t sound impossible. If I get all of these done, the 2018 version of me sounds like an awesome dude.

Linux productivity


I used to install Linux on a whim, and when I couldn’t reach the level of productivity I was used to in Windows (since I had been using it for so many years), I’d go back to Windows in a few weeks. What finally changed this and made Linux my favorite OS to develop in was i3(wm). Here’s a couple other productivity tips:


  • `vim -p file1 file2 …` opens multiple files in tabs in vim. With zsh expanding regex, `vim -p ./*` opens all files in your current directory as tabs in vim. `vim .`  browses the current folder using vim
  • use `:! <bash command>` like `:! ls` to run normal bash commands from vim and see the results in that window.
  • Use Awesome vimrc‘s awesome version as a base of your .vimrc if you don’t already have one. Also find the super pretty `wombat256mod` color scheme somewhere, put it to ~/.vim/colors/  and add a `set colorscheme wombat256mod` to your ~/.vimrc.
  • After installing the awesome vimrc, add `execute pathogen#infect()` to your .vimrc, then you can install vim plugins just by cloning them from github to `.vim/bundle/`

Window manager / i3

  • Use a tiling window manager, like awesome or i3wm. I’ve never used awesome, because i3 is so awesome, but definitely give one of those a try. They’re actually the killer feature that made me stick with Linux for the first time. Neither Windows or OSX have anything as good as i3.
  • Change i3 directional keybinds to vim keybinds, since they’re by default  one-to-the-right-of-vim-arrows (jkl; instead of hjkl) which confuses the hell out of your brain when you use both vim and i3


  • use `xset r rate <time in milliseconds until key repeat starts> <repeats per second>` for example `xset r rate 200 40` to make scrolling around vim faster. The default speed limits are for old people.
  • use zsh and oh-my-zsh rather than bash. It’s so much better (case insensitivity, for one), and easy to use if you’re used to bash.
  • make a folder called dotfiles in your home folder, put the files you’d like to sync between installations there, version control it (I have a private Github repo for it), and symlink them from that folder to your ~/
  • Use `mosh` instead of `ssh` if you often work over high latency connections.
  • If you need to follow multiple log files when executing something in the command line, instead of having multiple terminals for logging or having a different split for each file in the same terminal, you can interleave the logs by opening each log file with `tail -f /tmp/logfile &` to the background. This way as the log entries come in, they’ll be in chronological order in the same shell.