David Feng

Bara Update

On 8/25/2022, Heroku announced that they are shutting down their free tier products, which include the free tier dyno that Bara runs on. As a result, http://bara.davidfeng.us/#/ starts returning 503 from 11/28/2022. I built Bara, a Yelp-clone full stack site, as my final project from App Academy in 2017. It probably helped me get my first software engineer job at Oracle. I would like to thank Heroku/Salesforce for letting me using their free tier product for more than 5 years (2017-2022).

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: 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

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! Notable Previous Works I was excited about this brilliant idea until I googled ‘greek to me graph’. Of course, people have already done it.

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.

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.