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