Author Archives: Mark
Tips for reading the Linux kernel
Tips for effective technical presentations
Wrote a twitter thread about this:
How to manage your time like a millionaire
Are you one of those people that believes their time is their most valuable resource?
I think this is wrong. Your time is valuable, but what’s most valuable is your decision making & creative energy.
Continue readingDouble fetches, scheduling algorithms, and onion rings
Most people thought I was crazy for doing this, but I spent the last few months of my gap year working as a short order cook at a family-owned fast-food restaurant. (More on this here.) I’m a programmer by trade, so I enjoyed thinking about the restaurant’s systems from a programmer’s point of view. Here’s some thoughts about two such systems.
Continue readingTaking a gap year and working at a fast food restaurant
Most people thought I was crazy for doing this, but I spent the last few months of my gap year working as a short order cook at a family-owned fast-food restaurant. Here’s a short reflection on 2 things I learned from the experience as it pertains to my gap year. If you’re a programmer you’d probably be more interested in this post instead. Of course, I learned much more than this, but the rest is basic food service industry lessons that would be cringy to write about, so I’ll keep it to myself.
Continue readingWhat they don’t tell you about demand paging in school
This post details my adventures with the Linux virtual memory subsystem, and my discovery of a creative way to taunt the OOM (out of memory) killer by accumulating memory in the kernel, rather than in userspace.
Keep reading and you’ll learn:
- Internal details of the Linux kernel’s demand paging implementation
- How to exploit virtual memory to implement highly efficient sparse data structures
- What page tables are and how to calculate the memory overhead incurred by them
- A cute way to get killed by the OOM killer while appearing to consume very little memory (great for parties)
Note: Victor Michel wrote a great follow up to this post here.
Continue readingTips for submitting your first Linux kernel patch
Congratulations! You just finished developing your first contribution to the Linux kernel, and are excited to submit it. The process for doing so is tricky, with many conventions that the community has developed over time, so here is what I learned after doing so for the first time. This is intended to be a succinct supplement to the official contribution documentation.
Continue readingHow to set up a minimal Linux kernel dev environment on Ubuntu 20.04
Here is everything you need to know to set up a minimal Linux kernel dev environment on Ubuntu 20.04. It works great on small VPS instances, is optimized for a fast development cycle, and allows you to run custom binaries to exercise the specific kernel functionality being developed.
Continue readingThe “Early Stage Founder” Card
(Originally appeared on Indie Hackers)
As the founder of an early stage company, you have a unique tool you can use, but it only lasts for a limited time. It’s the “Early Stage Founder” card.
You can use this card when talking to customers, seeking mentorship, negotiating dealsβ¦ it’s versatile. It goes something like this:
Continue reading