Abstractions and Systems -- Part 1

Fall 2009, I was sitting in my dorm room at LUMS. It was sophomore year and I had just declared Electrical Engineering as a major. I was excited to learn about circuits! Curious to understand what else is out there, I found a wonderful resource online, OCW.1 I found 6.002, an introductory Circuits and Electronics course. The lecturer, Anant Agarwal, in the first lecture, talked about the concept of “Abstraction” in engineering and sciences.

A critique of the CAP Theorem

Ever since I started working on distributed systems, I’ve found the “CAP Theorem” very confusing mostly because it’s over simplified and not well defined. It’s more of a rough guideline than a theorem. Sacrificing P is not really an option. CP and AP are hard to map to practical systems; supposedly AP systems have interesting consistency properties. I find that the whole thing is actually too restrictive and doesn’t cover the design space.

Shell scripting template

Once every week or so, I’ve to quickly write up some script(s) to automate something, have more control over a workflow, write a tool, etc. There is a common theme that emerges: Just write all the commands I need to run line by line in the script Wrap the above logic with conditionals or other logic based on the what I need to get done Handle error management gracefully i.

Finally, I've my own self hosted blog!

Finally, I’ve my own self hosted blog! I’ve been wanting to do this for so long, but never really got the time. Plus, setting up your own website, and working through hosting and dns solutions, takes a bit of experimentation and therefore, time. I should probably write a post series on how to get your own blog up and running, what are the different options and tradeoffs to consider, etc.