Recent Posts
My C# project structure
Writing C# code involves using msbuild as the build system that resolves dependencies, orders projects topologically, compiles your codes, gathers your output files, creates publishable artifacts, etc. I learned to author msbuild project files quite well at Microsoft, and I got a few opinions out of it. In this post, I will summarize the best practices I have learned working with msbuild for C# development since 2016.
Vocabulary Words are important, especially with a build system.
read more
Slightly complex VSCode launch configurations
VSCode supports starting and debugging processes through its launch configuration system, largely configured with the tasks.json and launch.json editor configuration files. Launch configurations control what happens, and in what order, when you press F5 and the green play button in the debug pane. As a project grows in scope and in team members, I have learned that it is easier to tell other developers “just press F5 and everything will just work” rather than asking them to read README files.
read more
Hello LLDB
Introduction I am reading through Crafting Interpreters by Robert Nystom and one of the first exercises asks you to write and debug a doubly-linked list in C. Regretfully I confess I never actually learned how to use GDB, ever, and on macOS I need to use the LLVM toolchain which means using LLDB instead of GDB. In this post I will write using LLDB to debug a simple C program.
read more