Blog

On my blog I used to write about all the interesting things I came across after I immigrated to Moscow in December 2009. And believe me, there were lots of them :)

In September 2012 we moved to Prague, which was nice :), but interesting, not so much. I therefore already then decided to refocus my blog on our many travels.

When we moved back to the Netherlands in November 2013 I decided this would remain the main focus. (Although every once in a while you may find the odd blog post about programming.)

Since then, we got a girl (in 2017), moved near Zurich (in 2019), got a boy (in 2020), and moved to Amsterdam (in 2022). Due to all this life had become pretty hectic and busy. I've therefore decided to no longer update my blog for the foreseeable future.

Follow on RSS or (first) select and some categories:

Metal Gear Solid (MGS1) - all weapons and items hack

Added on Sunday, 2022-11-20 19:06 CET in categories Other, Programming
Metal Gear Solid (MGS1) A few years ago I dusted off my original PlayStation (PS1) and same-era CRT TV. Still worked like a charm! (Yes, that's a PS2 controller… :P) One of my favorite games at the time was Metal Gear Solid (MGS1), so I wanted to give that a try again. MGS1 has two different endings, each of which gives you a (different) special item for your next ...

OSC 52 and (nested) GNU Screen

Added on Saturday, 2022-10-29 22:21 CEST in category Programming
OSC 52 is an ANSI escape sequence that can be used to instruct your terminal to put text into the OS clipboard. It doesn't matter where the text comes from (including over an SSH connection), as long as it's received by the terminal. I'd been stuck using the mouse to copy/paste text from my terminal for years, and now OSC 52 would let me do it using my keyboard or even programmatically, ...

First impressions at Amazon

Added on Friday, 2018-04-27 11:47 CEST in categories Netherlands, Programming
Applying for a job Last year's hiatus from work coincided with the birth of our daughter, which gave us a great opportunity to learn how to be parents, and to spend lots and lots of time with her. And as fun and rewarding as that may be, two things were missing: 1) a challenging and exciting job, and 2) income :P That's why late last year I started applying for jobs. I applied to most of ...

Make Appie.nl show price/kg

Added on Tuesday, 2018-01-16 13:41 CET in categories Netherlands, Programming
We do most of our shopping at Albert Heijn, whose site usually provides quite a customer-friendly shopping experience. The main thing we've been missing, though, is being able to compare products by price per kilogram. Although the price/kg is visible when clicking through to a specific product, it's not being shown on any product overview. So I decided to fix that :) After a bit of digging ...

Explore vs. exploit

Added on Monday, 2017-08-14 22:52 CEST in category Programming
For my birthday I was gifted the book Algorithms To Live By, which talks about several computer algorithms and how they can be applied in real life. The topics included selling real estate, sorting the papers on your desk in least recently used order, and how to make auctions fairer. The algorithm that inspired this blog post deals with exploration vs. exploitation. Suppose you go out for ...

Samba and Bash on Ubuntu on Windows

Added on Saturday, 2017-06-17 20:14 CEST in category Programming
Besides being able to open remote Mutt attachments locally, it would be handy to be able to access all the files on my server locally. I could of course use FTPS/SFTP or smth. similar, but I would have to connect every time, and file timestamps may not be kept the same when copying files over. Instead I put some work into tunneling Samba over SSH, so that my server is accessible via a locally ...

Mutt and Bash on Ubuntu on Windows

Added on Wednesday, 2017-05-17 22:25 CEST in category Programming
For many, many years now I've been running my own email server, with Mutt as my email client, running in Screen on that same server. This setup gives me a lot of flexibility and programmability, but as efficient as it is, there had always been one big issue: attachments. Attachments, be they HTML, PDF, audio/video, etc., just don't work well in a text-based UI. You can imagine my reaction ...

Bash on Ubuntu on Windows

Added on Saturday, 2017-04-22 11:06 CEST in category Programming
With Windows 10's Creators Update came installed the Windows Subsystem for Linux, which allows Linux binaries to run natively on Windows 10. I'd been considering for a while to set up dual booting with Ubuntu, but since there I mainly use the console anyway, I figured I'd instead give Bash on Ubuntu on Windows a go. My goal was to make Bash on Windows run as much as possible like Bash on ...

Hello plant, how are you?

Added on Sunday, 2016-02-28 22:00 CET in categories Netherlands, Programming
After last year's home improvement I felt it was time for something new. A good home is never done, after all, so after browsing amperka.ru (in Russian only) I stumbled upon their soil moisture sensor and instructions on how to automatically water plants (also in Russian only). Pretty neat :) I figured I could do something similar, but didn't feel like having a water tank and pump next to ...

Google Maps shortcuts on iOS

Added on Sunday, 2016-01-03 22:55 CET in categories Programming, Traveling
Update 2018-12-26: since iOS 12 you can easily integrate Shortcuts with Siri, allowing you to launch directions in Google Maps with your voice. Google "ios google maps siri shortcuts" on instructions how to add this functionality. This makes the approach below obsolete. Since I started driving to work, I found myself regularly inputting the same data into the Google Maps app, which ...

Russian crisis, going part-time, and back to Paragin

Added on Monday, 2015-09-28 17:39 CEST in categories Netherlands, Programming
After the global financial crisis in 2008, Russia was hit by another financial crisis in 2014: international sanctions hit after Russia annexed Crimea and the oil price went down. Subsequently so did the Russian ruble, which lost about 50% of its value against major currencies. It also started to fluctuate wildly: from a high of almost 100, to a low of 53 ruble to the euro only three months ...

Mass exporting iTunes playlists

Added on Wednesday, 2015-08-26 23:00 CEST in category Programming
After finally getting iTunes to import my playlists a while back, I thought it'd be a good idea to tackle the problem of exporting them. It's possible to export them one by one, but with ~60 playlists this quickly gets tedious… I found a few solutions online, but they were either Mac only, or required Java or Adobe AIR. Instead of searching further, I thought I'd write something myself. ...

Hacking into my car radio

Added on Sunday, 2015-05-24 13:15 CEST in category Programming
When we bought our car a few years ago in Prague it came fitted with a standard BMW radio. Because of its age it didn't have an auxiliary in port, or a USB port, or support Bluetooth. It didn't really have anything, really, except for a cassette player, meaning the only way to hook up anything external was through a cassette adapter. Ours kinda worked, but the sound quality was bad, the ...

Rescuing Ubuntu after upgrade 11.10 => 12.04 LTS (fixed boot, network, USB)

Added on Thursday, 2014-01-23 20:15 CET in category Programming
Prelude: XBMC and karaoke For a few years now I've been running XBMC on our HTPC, with great results: it supports pretty much all video formats, and it has handy plugins for YouTube, Dumpert and Transmission. For New Year's my wife requested I get karaoke running on it as well, the setup of which I had some problems with: XBMC sent its audio signals to our receiver over S/PDIF (i.e., ...

My News

Added on Thursday, 2013-07-25 17:41 CEST in categories Moscow, Programming
When I started working at Yandex I become responsible for the development of a whole new project within Yandex.News, about which I couldn't tell too much. We developed, developed, developed some more, and yesterday launched My News! (Unfortunately it's only available in Russian and Turkish.) My News is Yandex' first step to personalization of Yandex.News: it shows you news from the news ...

Web toolkit

Added on Sunday, 2011-11-13 19:46 CET in category Programming
Lately I noticed how I was often using snippets like: <?php print urlencode('https://nieko.net/blog/'); ?> In order to make all that a bit faster, I set up my own small little toolkit. It's mainly for my own personal use, but if you find it handy, then do feel free to use it. Update 2011-11-14: I forgot to make it publicly available, oops :P

Importing M3U playlists in iTunes :'(

Added on Sunday, 2011-07-31 09:46 CEST in category Programming
A few days ago, after a laptop format, I had the pleasure of reinstalling iTunes (version 10.4.0.80). It had somehow remembered my apps, podcasts and playlists, except the playlists were all empty… I fortunately had a backup, but for one reason or another, iTunes decided upon importing the playlists (standard .m3u format), that they were in fact all empty. Now this seems to be a common, ...

PSP Tone Generator v0.3

Added on Sunday, 2011-03-27 14:43 CEST in category Programming
A few weeks ago I was suggested a few improvements to v0.2 of the PSP Tone Generator: Assign a button to slow down the changing of the frequency, for more fine-grained control; Assign different frequencies for the left and right output channel, making possible binaural beats. Both these options are available in version 0.3 of the PSP Tone Generator. Thanks to Rin Ishak for ...

First impressions at Yandex

Added on Wednesday, 2011-01-12 17:15 CET in categories Moscow, Programming
Yesterday was my first day at Yandex, where I will be working on Yandex News. My first impressions are very positive, I'm part of a very nice team, with lots of Vim users ;) The office is very reminiscent of all those Google offices you see articles about, with hammocks, a massage room, bean bags, sporting room, high-up balconies with a view over Moscow, etc. See also pictures of the office ...

Exit Parallels, enter Yandex

Added on Thursday, 2010-12-23 10:42 CET in categories Moscow, Programming
Yesterday was my last working day at Parallels. Even though I like the people there and all the extras, the very work itself was unfortunately not what I had been looking for. I'd hereby like to thank my former colleagues for the good time I've had, and I appreciate both your patience with my sometimes somewhat lacking Russian, and your efforts in talking English :) While I was looking ...

MooTabs 1.3

Added on Tuesday, 2010-12-07 21:50 CET in category Programming
For a project I'm working on I wanted to use tabs in the browser. The pure CSS option has nowhere near enough browser support, so I looked around and found MooTabs. Because MooTabs 1.2 (the latest version) requires the somewhat dated MooTools 1.1, I upgraded it to reflect the rather drastic changes from MooTools 1.1 to MooTools 1.3. You can find MooTabs 1.3 in the downloads section. (I ...

Got a job!

Added on Wednesday, 2010-07-14 19:21 CEST in categories Moscow, Programming
The interview I had at Parallels went well enough for them to offer me a job :) I'll be working on Parallels Business Automation - Standard (PBA-S), a billing and hosting automation solution for hosting providers. Very enterprisy :) But while I received my residence permit, I now also need to take care of my work permit… So I'll have to wait a bit to get hired by the Moscow office.

PSPlanets

Added on Monday, 2010-06-21 20:00 CEST in category Programming
PSPlanets is a crude simulator of Newtonian gravity. You can add planets and give them a mass, a position and a speed. And then gravity takes over :) You can add a planet by pressing X. The analog stick moves the planet around, and the L/R triggers change its mass. The lighter an object, the redder it becomes, the heavier, the bluer. Of course, heavier planets have more ...

Higher Order Perl - recursion vs. iterators

Added on Tuesday, 2010-06-15 13:48 CEST in category Programming
Lately I've been reading a lot of Higher Order Perl, which introduces a lot of really nice Perl programming techniques. So far my favorite technique is the use of iterators instead of recursion. A program that may possibly recurse a lot, e.g. if calculating permutations, may well run out of memory before it's done calculating everything. It may also take a lot of time to recurse through the ...

PSP Tone Generator v0.2

Added on Wednesday, 2010-06-09 20:42 CEST in category Programming
For frequencies above about 2.5kHz, version 0.1 of the PSP Tone Generator experienced a rapid tick, caused by timing issues when filling the sound buffer. Seems that, although the mutex works better than the PSP's semaphores, it still wasn't quite enough. Although technically this mutual exclusion between writing to the buffer and reading from it is a good idea, in practice it works well ...

PSP Guitar

Added on Tuesday, 2010-06-08 11:52 CEST in category Programming
Besides the PSP Tone Generator, you can now also find PSP Guitar in the downloads section. PSP Guitar is a guitar synthesizer that supports notes from octave 2 till 6 (inclusive), with support for flat (♭) and sharp (♯) notes. See the projects page for key bindings. If you don't have a PSP, you can also check out a short sample. PSP Guitar uses the Karplus-Strong algorithm for emulating ...

Parallels interview

Added on Monday, 2010-06-07 17:35 CEST in categories Moscow, Programming
Last Friday I got an email from Parallels (known from a.o. Plesk), asking if I was interested in their Perl programmer vacancy, and if so, if I would complete a small test to see if I'm suitable. I've been looking for such a job for a while, so I completed the test, got a response within a few hours, and was invited to an interview today! I had interviews with three people. The first person ...

Google aftermath

Added on Wednesday, 2010-05-26 15:47 CEST in categories Moscow, Programming
The promised additional feedback from Google was: "You don't know Java and C++. Technically, you're on the right level, but we need someone with more experience in those languages. When you do, we'd be happy to interview you again." Good to hear that it's just knowledge and experience that's missing, that I can work on. There's a C++ compiler for the PSP e.g., so C++ is covered. Now what to ...

PSP Tone Generator

Added on Tuesday, 2010-05-25 13:49 CEST in category Programming
I've just released the first version of my PSP Tone Generator (source included). It can create up till five simultaneous tones ranging from 20Hz to 10kHz. It also shows a visualization of the sound waves: Technically the most interesting part was the mutual exclusion between writing to the sound buffer and reading from it. 43 times per second, the sound buffer has to be copied to ...

Writing HTML and CSS faster with SparkUp and Sass

Added on Friday, 2010-05-14 20:00 CEST in category Programming
While working on my new website I came across two nifty tools for web development: SparkUp and Sass. SparkUp lets you write something like html > head > title{My title} + link[href=style.css] < body > div#container > div#menu > a.item$[href=/page$]*5 < + div#main and with a single press of the button you get <html>     <head>         <title>My title</title>         <link href= ...

Thank you from Google…

Added on Tuesday, 2010-04-27 20:00 CEST in categories Moscow, Programming
Today I got an email from my recruiter at Google that I would not be hired :( Even though "the interview team was impressed with your background and accomplishments", "we do not have a position that is a strong match with your qualifications at this time". I will still be receiving a call with addditional feedback, but for now it looks like I'll have to go find something else.

Bloom filters

Added on Tuesday, 2010-03-30 20:00 CEST in category Programming
Lately I've been learning C and decided it'd be a good idea to combine this with some programming exercises, like on CodeKata. One of the exercises was about Bloom filters. A Bloom filter is a probabilistic data structure. Say what? Wikipedia explains it best of course, but it comes down to this: testing if an item exists in a Bloom filter may give a false positive. (False negatives ...

Google interview, on-site

Added on Monday, 2010-03-29 20:00 CEST in categories Moscow, Programming
Apparently my first interview went well, because today I had my on-site interviews at Google Moscow! I was interviewed by five different employees, including one from Zürich. Their video conferencing setup is quite nice :) The office is as you would expect, with the obligatory Wii, Google pillows, gadgets everywhere and free food and drinks. They don't have their own restaurant though. ...

Google interview

Added on Tuesday, 2010-03-16 20:00 CET in categories Moscow, Programming
Today I had my first Google interview! (Thanks to Wilmer, who made the process go a bit faster.) This morning I got a call from Google Zürich, and got pretty much what I expected. There were some questions about complexity, algorithms, tree structures (red black trees e.g.), and I got to write some code. For that we used Google Docs, so with a delay of a few seconds the interviewer could ...

Something different

Added on Monday, 2010-02-22 20:00 CET in categories Moscow, Programming
After quitting my job as a web application developer in the Netherlands, I found it time to reflect on my career path, and figure out what I want from my next job. Web application development can be great fun (like creating my new site), but I want more than that now. I took a look at the projects I'd been working on in my spare time, and at those parts of my previous job I really liked, ...