Blog

  • Introduction We’ll address some questions like “how to program big data systems” and how to “store and disseminate content on the web in scalable manners” Quiz: Giant Scale Services Basically almost every service is backed by “Giant Scale” services Tablet Introduction This lesson covers three issues: system issues in giant scale services, programming models for…

    Giant Scale Services – Summary and notes
  • Click here to download “Advanced OS refresher course – summary and study guide” I compiled my various blog posts from the advanced operating systems refresher course and bundled them together into a nicely packed e-book. So, if you are about to enroll in Georgia Tech’s advanced operating system course (AOS) and want to step through…

    Free E-book: Advanced operating systems (AOS) refresher course – summary and study guide
  • Students in the Georgia Tech program collaborate with one another — and collaborate with professors and teacher assistants — through a platform called Piazza. But at the end of the semester, this forum shuts off to read only mode, meaning we all lose connection with one another. Because of this, I recently created an e-mail…

    Failure: I want more of it.
  • Introduction Key Words: EJB, enterprise java beans Discuss how we can structure system software for large scale distributed sytem service Inter Enterprise View Key Words: monolithic, supply chain model, amalgam, survivability, complexity From a user perspective, we view a system (like Ebay or Google) as a blackbox. But in reality, much more complex than that…

    Enterprise Java Beans – notes and summary
  • This blog post is the first in the series on the different ways to write powerful paragraphs, inspired by Victor Pellgrino’s book “A writer’s guide to powerful paragraphs”. According to Victor Pelligrino, a paragraph is a unit of thought that expresses a single idea, communicated through related sentences. And although there are many ways to…

    30 different ways to write paragraphs – series introduction
  • The original paper “Recovery management in quicksilver” introduces a transaction manager that’s responsible for managing servers and coordinates transactions. The below notes discusses how this operating system handles failures and how it makes recovery management a first class citizen. Cleaning up state orphan processes Key Words: Ophaned, breadcrumbs, stateless In client/server systems, state gets created…

    Recovery management in Quicksilver  – Notes and Summary
  • ENOTSUP stands for “Error – not supported” and it is one of the many error codes defined in the error header file. I recently learned about this specific error code when reviewing a pull request that my colleague had submitted. His code review contained an outline — a skeleton — of how we envisioned laying…

    Software craftsmanship: convey intent in your error codes
  • In my mid twenties, I was blessed to receive some of the best career, and quite frankly, life advice. During that period of my life, I was working as a director of technology, leading a small group of engineers. But I was getting ready to throw in the towel. I lacked both the experience and…

    20s for education, 30s for experience, 40s for career.
  • As a software developer, you will sooner or later lead a software development project. Of course it would be nice and ideal to relegate the responsibility of project management to a dedicated project manager — but not all of us are afforded that luxury. And let’s face it: many of us rather be heads down…

    Three project management tips for software developers
  • In 2019, Sal Khan wrote a letter to his past self as a reflection exercise and made that letter public and published it on his blog. Thanks Sal. Inspired by his post and this reflection exercise, I decided to write a letter from my future self (Matt in 2029). In other words, I wrote the…

    A letter from my future self: “Dear 2019 Matt”