My Life in Dates

The experiences we have across our life span define us. They make us what we are and provide an insight into where we stand and what we may become later on. Below you will find a list of events I believe somehow influenced my path.

July 2020

Laid my hands on an HHKB keyboard, set it in Sonshi style, learnt Dvorak, and started typing like there was no tomorrow.

2018

Somewhere along the ride I stumbled upon Clojure and became a fan of Rich Hickey. The language and its ecosystem quickly became the harbour at which I spent most of my spare time. I absorbed knowledge of ClojureScript, Datomic, Reagent, and Re-frame. And then there was Emacs.

March 2014 to the end of 2017

Had opportunities to come up with solutions to several greenfield projects and became thoroughly familiar with many technologies of the modern web and iOS development—Angular, React and React Native, Terraform, Docker, Kubernetes, Rancher, EC2, ECR, TypeScript, Swift, and everything in between. Name any and I probably know a thing or two about it and how to use it effectively and, what's arguably more important, when not to use it.

February 9th, 2014 at 12:40pm AEST

My flight landed in Sydney. Australia became my new home.

November 2013

Living on the coast had always been a dream for me. Moscow on the other hand had no coast whatsoever and working remotely was not an option at Yandex. I somehow stumbled on a recruiting pitch by someone from Songsterr, got sold on it, and joined the team.

August 2011

An acquaintance on Twitter led me to signing a full-time contract with Yandex. For the next couple of years I became a keen software engineer on the Yandex.Maps and the Yandex.Metrica iOS teams. Think Google Maps for iOS and Google Analytics for iOS… but in Russia.

May 23rd, 2011

Presented the Karizma video messenger app at the Startup Battlefield at the TechCrunch Disrupt conference in New York, USA. We had a great technology stack under the hood—Jingle, VP8, ICE, Mongo DB and Redis—but seriously lacked in user acquisition skills. The app failed to solve the chicken and the egg problem and failed to raise any funds. Shortly after, I burnt out and moved back to Moscow.

August 2009 to mid-2011

Joined a startup as the main developer on an international crew and spent countless hours coding in every imaginable cafe, airport, hotel, and coworking space in between Moscow, Miami, San Francisco, and New York.

February 4th, 2009

Ditched the enterprise software world and jumped on the iOS software development bandwagon full-time.

July 2008

Signed up and got accepted to the iOS Developer Program.

May 26th, 2007

Bought my first Mac.

February 2007

Obtained a copy of Cocoa Programming for Mac OS X by Aaron Hillegass and managed to run OS X in a virtual machine on a PC to play with Xcode.

January 2007

Landed a job at Acronis, moved to Moscow, and dived into building a .Net/COM bridge to the company's proprietary distributed object framework used in their enterprise products. The framework had RMI interfaces defined in XML and spoke some elaborated binary protocol over the wire. To tie it all in together I eventually provided some .Net runtime written in C# and a set of involved XSLT transformations to generate the bridge.

2004 to the end of 2006

Figured out I'd be better off doing freelance consulting and tackled a wide range of projects for my clients: wrote a sleek GTK UI in Python for a self order payment kiosk provider, implemented a monstrous intranet portal in PHP, developed a non-trivial VFS driver for Windows, and built a full-blown DNS server in C++ from scratch. If it could be hacked, I'd be onto it. Those were fun times.

February 2003

Got hired by a team working on a binary Usenet groups aggregator service. I implemented lots of the backend and frontend mostly in Perl with occasional sprinkles of C: fetching of news articles and their attachments, combining multipart attachments, recovering missing parts, generating thumbnail previews for media files, building a sophisticated declarative forms module, etc.

May 15th, 2002

The company I was working for was a kind of ISP and they were desperetely in need of a billing solution for their clients, which I ended up developing full-time on top of Linux, iptables, NeTraMet, and PostgreSQL. The result even gained me the 1st Place Award at the Soft-Parade student software contest.

March 2001

Landed a web master job at a local advertising agency. ASP, PHP, Parser, MSSQL, PostgreSQL, and a ton of other technologies were together in daily use and I had to figure out all of them.

September 22nd, 2000

Became a proper FidoNet node, 2:5090/114. The station answered calls 24×7 and my mother had to put our home phone into the silent mode.

1999

My obsession with Java continued. I developed an app to build educational presentations. The UI was close to the Visual Basic suite with all the drag'n'drop mechanics and widgets, and the resulting presentations were serialized into standalone player JARs that could run on both Windows and Linux. The project was awarded the 3rd Place Award at the Soft-Parade student software contest.

Near the end of October 1998

Got my first job as a web master. Occupied myself with all things Perl.

Beginning of October 1998

A friend happened to rent an apartment without a phone line and lent me his modem. After spending some time on the local BBSes I managed to become a point in FidoNet. 2:5090/47.41 was the address.

September 1998

Installed Slackware Linux from a CD obtained from a friend.

End of August 1998

Bought the 1st edition of the Java in a Nutshell book and fell in love with the language and the Write-Once-Run-Everywhere idea.

August 15th, 1998

Just two days before the Russian Rouble collapsed my mother bought me a 15-inch LG Flatron monitor. Had it been two days later, we wouldn't be able to afford one.

April 1998

Wrote Boa Vision—a snake game for my girlfriend. All of the images were encoded in my own RLE-based format and the game sported a cool 8-bit tracker soundtrack and effects.

February 1998

My uncle gave me my first PC—a 60Mhz Pentium with 4MB RAM and a 512MB HDD—and a HP LaserJet printer. He hadn't given me a monitor though and I was too poor to buy one. So for a while the Prt Scrn key became my good friend.

April 1996

Discovered Watcom C and the wonderful possibilities provided by the DOS/4GW DOS extender.

March 1996

Learnt enough HTML to launch my own homepage on GeoCities. It had all of the hype bits included: a frameset, blinking text, and animated GIFs.

July 1994

Spent three weeks in a computer summer camp for kids mesmerized by an SGI Indigo2 and IRIX. Learnt what ps ax meant, how to kill -9 stuck processes, and how to free disk space by removing core dumps from crashed software.

January 1994

Ventured into implementing my own Norton Commander clone. I eventually abandoned the idea some months later, but still… had learnt heaps from the endeavour.

December 1993

Learnt enough assembler to interface with mouse drivers and run resident programs under DOS.

November 1993

Got introduced to Turbo C and never looked back.

September 1993

Immersed myself into Turbo Pascal.

June 1993

Played with an Apple computer—Macintosh Centris 610—and Adobe Photoshop for the first time in a local computer expo.

December 1992

Persuaded my mother to buy me an Electronika MS 1502. Unfortunately there was no way to connect it to our old Soviet black-and-white Rassvet 307-1 TV set. Still I managed to write some simple music-generating programs on it, all without being able to see a single character of the Basic code.

September 1992

Started learning Basic on a Soviet-era UKNC-0511.

1987

Discovered computer games in a local arcade. There were several Ataris and I and my friends spent many hours there playing Fort Apocalypse.

May 14th, 1981

Respawned into the amazing world at 56.01722131572176, 92.79474952035382.