Home avatar

David Feng

2022-08-28 Weekly Report 04 - Starting a New Job, How to Read a Book

(Translated from the Chinese version with the help of Claude.)

This week I started at a new company, and there’s a lot to learn. I estimate this suffocating underwater state will need to continue for about three to four months before gradually improving. Lowering expectations leads to pleasant surprises. But if I’m following Hofstadter’s Law and already expecting surprises, will the surprises still appear?

Last week’s goodbyes to old colleagues were somewhat melancholy, while this week I’m slowly building connections and getting to know new colleagues. What I didn’t expect was that the new company is so large - there are quite a few high school classmates, college classmates, graduate school classmates, and former colleagues at the new company, which actually provides me with opportunities to “renew old friendships” 😊 Life is wonderful - it’s all about fate!

How to present the differences between vegan and vegetarian diets

Today I decided to figure out what are the differences between vegan and vegetarian diets. Google pointed me to this page which contains the following table:

vegan table

While the information is very detailed and helpful, IMHO the table could use some better design. So here is my revised version:

name eggs dairy fish/seafood meat poultry
Semi-vegetarian or flexitarian Y Y maybe maybe maybe
Pescatarian Y Y Y N N
Vegetarian or lacto-ovo vegetarian Y Y N N N
Ovo-vegetarian Y N N N N
Lacto-vegetarian N Y N N N
Vegan N N N N N

Cassette Tapes, Linkin Park, Chicago

(Translated from the Chinese version with the help of Claude.)

Today I had some rare free time, so I decided to string together and record some old stories that I’ve been reminiscing about lately.

Back in middle school, everyone was still listening to music on cassette tapes. Do kids nowadays even know what those are? They looked like this 👇:

Rewinding, getting tapes stuck, flipping sides - these terms are probably going to fade into history. Friends would often exchange tapes to listen to popular songs. The NOW (that’s what I call music!) series was very popular back then, with covers that all looked like this:

The "Greek to me" Graph

In English, when people don’t understand what you are saying, they might say “it’s Greek to me”. We can represent this relationship with a direct edge from an English node to a Greek node. This Wikipedia page collects similar idioms in various languages. We can construct a graph from this!

I was excited about this brilliant idea until I googled ‘greek to me graph’. Of course, people have already done it. This post (2015) shows how to use python to parse the Wikipedia page and generate the graph, highly recommended.

What is agile (for a software developer)?

(Adapted from an internal talk)

The tech world has seen a lot of talking about agile/scrum, almost to the point that it is the silver bullet for software engineering. The new meaning is even in the definitions that google gives.

On the contrary, some people absolutely hate it, some say that process matters far less than everyone pretends it does (which I agree). I also saw a very interesting theory from HackerNews: the agile process improves the productivity of a C-level developer, but it slows down your A-level developer at the same time, so everyone ends up at B-level. Since C-level developers are much more common than A-level ones, the overall gain is positive.

Cleaning up CollisionViz - advice to new programmers

CollisionViz is a data visualization app which shows car crashes in the New York City. I wrote it when I was at AppAcademy in 2017. Since then, I haven’t spent a lot of time on it. Recently I found out that it stopped working. Software is like cars - it needs maintenance. In addition to fixing it, I gave it an overhaul. Below are some advice that I wise I knew when I first wrote CollisionViz, and hopefully it is applicable to other new programmers.