Coding for fun, and for 饭 ([fàn], food)
  • Just another programmer...
  • Currently focusing on backend/infra/API
  • First-hand experiences in machine learning, mostly dealing with ranking/classification problems.
  • Once worked on big data processing, using Hadoop/Spark and friends.
  • Some experiences in web frontend. Used React for work and Angular for fun. No plan to invest heavily in frontend, but need just enough knowledge to maintain and improve this Gatsby/React website.
  • Actively using Java, Python, Javascript, SQL; learning bits of C/C++ and Go if needed; once used but not anymore: Scala, PHP/Hack, Perl, Ruby, LISP, Pascal, QB
  • Played both offense(products and growth) and defense(abuse/fraud detection)
  • Experienced different however interconnected industries: Geo/Transportation, Payments, Ads, E-Commerce


Too dumb to memorize everything in my head, too lazy to maintain a server to host a CMS, and too skeptical to trust a third-party online publishing service; thus this static website to dump my learnings and thoughts.

Why "note" instead of "blog"? The content is my knowledge graph, I'm building it up iteratively, and cleaning it up periodically. Blog serves as a snapshot of one's thoughts at that very timestamp, I may start a blog once I do have enough original "thoughts" to share, before that, I keep these notes for "facts".

A static website like this feels far from a real technical product, or startup. I asked myself what can I learn from doing so and what not to expect, here's the list I came up with:

  • experiences to gain: Google Analytics, Google Webmaster, domains, SEO, monetization, tax, responsive design, PWA, static web/server side rendering, web hosting, CDN, React, CSS, privacy policy/regulations, social media and marketing.
  • not included: auth, cloud services(backend), databases, interactive/dynamic web app.