Who's this guy?

Hi! My name is Michael Chan, the developer of Metro Cityscape and Rebel. I have experience primarily with C# and .NET. I'm passionate about a broad range of tech stuff–and have developed various types of software, including games, web apps, mobile apps, and cloud services, so I guess one can say I'm a software generalist. Currently, I focus on software engineering and computer graphics. If I'm not coding, you'll probably find me lifting weights at a gym, building LEGOs, or watching a movie.

I love the feeling of building something out of 'nothing' and enjoy learning new technologies. When picking up a new technology, I always try to understand how it works behind the hood and delve into its implementation details. I believe having a solid foundation of the underlying technology or codebase is essential in developing any software. One way of achieving this is through reading books📚; some of my favorites are:

  • C# in Depth by Jon Skeet
  • C# in a Nutshell: The Definitive Reference by Joseph Albahari & Eric Johannsen
  • JavaScript: The Definitive Guide, by David Flanagan
  • C++ Primer by Stanley B. Lippman, Josée Lajoie, Barbara E. Moo
  • CSS in Depth by Keith J. Grant
  • A Philosophy of Software Design by John Ousterhout
  • Fundamentals of Software Architecture by Mark Richards, Neal Ford
  • Designing Data-Intensive Applications by Martin Kleppmann
  • Fundamentals of Computer Graphics by Steve Marschner, Peter Shirley
  • Real-Time Rendering, by Tomas Akenine-Möller, Eric Haines, Naty Hoffman
  • Foundations of Game Engine Development, Volume 1 & 2 by Eric Lengyel
  • Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
  • Computer Networks: A Systems Approach by Larry L. Peterson, Bruce S. Davie