2018 in review
Looking back 2018, it flew like an arrow. It was so fast that it's already in February 2019!
We had lived in an apartment on the border of Schöneberg and Wilmersdorf for 2 years, and decided to move out at the end of October without extending the contract. We spent two or three months for flat search, and a month and a half for moving, buying furniture and setting up the new apartment. After all, we like the new area and are looking forward to spend time on the balcony in the summer.
In the meanwhile, I got my left arm injured and it took a few months to recover.
I visited two new countries and seven new cities. I wanted to visit a few more countries, but could not manage mainly because of the moving.
- Tokyo, Japan in Feburary
- Spreewald, Germany in March
- Amsterdam, Netherlands for React Amsterdam in April
- Leipzig, Germany in May
- Vienna, Austria for a wedding party in July
- München, Germany for Oktoberfest in September
- Köln and Düsseldorf, Germany in November
After finishing an A2 course at office, I started a B1 course at Speakeasy. I felt that I should have taken A2 again... In the end, I was distracted by something else and stopped going to the course.
It has been 2 years since I started working at Zalando. 2017 was about architecture migration from a monolith to microservices. 2018 was about optimization (and the next migration already started...).
In addition to front-end tasks, I focused more on non-feature stuff.
In the first half of the year, I focused on web (frontend) performance optimization. My team's work was featured in a blog post, Loading Time Matters, on the company blog.
In June, my team had a series of incidents on one of our applications, but we didn't know why. It opened a door of learning for me. I dug into Node.js internals and Linux network stack. I was lucky enough to find Systems Performance by Brendan Gregg, which is one of my all-time favorite technical books. As a by-product of the research/learning, I profiled Node.js servers on production and made some performance improvements. Wrote about it on Node.js under a Microscope: CPU FlameGraph and FlameScope.
I didn't worked on many side projects in 2018. Instead, I learned a lot of low-level stuff. Network, Linux, Node.js. I put some of what I learned into the knowledge repo inspired by yoshuawuyts/knowledge. Also, as a permanent solution for the issue at work, I wrote a library to keep Node.js app resilient against DNS timeouts, pollen. It's been working without issues for 1.5 months!
Some other unfinished pieces:
- Wrote some Haskell for a GLSL parser in the Elm compiler with @w0rm, but it's pending
- Experimented Node.js profiling at perf-playground
- Played around with image formats at incomplete-image-parser
- Tried to write a Node.js profiler inspired by rbspy, but gave up to figure out memory layout of V8 objects
- Investigated an issue with React + Google Translate
In 2018, I focused on tiny things such as shaving hundreds of milliseconds. In 2019, I would like to be more open. Try new things. Travel more.