What Is a Distributed System?

A collection of independent computers that appear to its users as one computer - Andrew Tannenbaum Life was simple when business applications ran on a single server, connected to a single database sitting on a rack in the basement of a company’s office. Everything was local, contained, and relatively easy to reason about. But that model doesn’t hold up anymore. As businesses evolved and data became central to every function — from dashboards to machine learning — the demands on infrastructure grew exponentially. Datasets ballooned in size. It became impractical, even impossible, to store and process everything on a single machine. ...

June 9, 2025 · 2 min · Dinesh Auti

DynamoDB Pricing

DynamoDB can get very expensive, very fast. The example below demostartes that and a quick learning point. “If you were planning on storing YouTube views in Dynamo, you may calculate that each item is just a userId, videoId, and timestamp which is about 100 bytes. This means that you could store 10,000 views per second on a single shard. If you expect to have 10,000,000 views per second, you’d need ~1,000 shards to support the write load, which could cost approximately $150,000 per day based on current pricing”1 ...

June 7, 2025 · 2 min · Dinesh Auti

Cap Theorem: Eric A. Brewer

Eric A. Brewer first introduced the CAP theorem as a keynote talk at the 2000 Symposium on Principles of Distributed Computing (PODC), titled “Towards Robust Distributed Systems” . The original presentation slides from this keynote—created by Brewer himself are available here Brewer’s later reflections and clarifications on the theorem, his 2012 article “CAP Twelve Years Later: How the ‘Rules’ Have Changed” Understanding the CAP theorem has been a game changer for me while reading papers on large scale distributed systems like Amazon Dynamo and Google File Systems. The more I learn to apply it and see how it is being applied makes it feel more natural like the laws of physics. ...

June 2, 2025 · 1 min · Dinesh Auti

Hugo Open External Links in a New Tab

The default behaviour in Hugo is not open a new tab for external links. This little snippet does the trick using render hooks. It looks complicated unless you have a basic understanding of the go templating packages Create a new file layouts/_default/_markup/render-link.html and add the below. Thats it! <a href="{{- .Destination | safeURL -}}"{{ with .Title}} title="{{- . -}}"{{ end }}{{ if strings.HasPrefix .Destination "http" }} target="_blank" rel="nofollow noopener noreferrer" {{ end }}>{{- .Text | safeHTML -}}</a> References Hugo: open external links in a new tab

May 30, 2025 · 1 min · Dinesh Auti

How the Internet Works

You type https://www.minecraft.net/ into the browser. What happens next? Every question that we answer below has a protocol associated with it to decode what is needed for the next step. Internet protocols are layered, and they work together to get work done. Protocol: A format and rules for exchanging information. What is minecraft.net? The internet is a global network of computers, and for these computers to talk to each other, each one needs a unique address. This address takes the form of four numbers separated by dots — something like 192.0.2.1. These are called IP addresses, and the format supports around 4 billion unique addresses (2³², technically). ...

May 29, 2025 · 5 min · Dinesh Auti

Hugo Line Break

By default, Hugo does not render the <br /> HTML tag for line breaks. To insert a line break in your content, add two spaces at the end of a line.

May 28, 2025 · 1 min · Dinesh Auti

Hugo Starter Setup

Base setup for Hugo with PaperMod theme After a few hours of tinkering, I finally have a basic Hugo blog setup with the PaperMod theme. Love the theme’s simplicity and responsiveness. Here’s a quick rundown of the setup process: Install Hugo: Follow the Hugo installation guide to get Hugo up and running on your machine. Create a new site: Run hugo new site myblog --format "yaml" to create a new Hugo site. Add the theme: Clone the PaperMod theme into your site’s themes directory: git submodule add https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod Start the server: Navigate to your site directory and run hugo server -D to start the local development server. Thats all! You can now start creating content in the content directory and customize your site using the theme’s configuration options. ...

May 27, 2025 · 4 min · Dinesh Auti

Hugo Homepage Mainsections

You can control which sections of content appear on your Hugo homepage using the mainSections setting in your site configuration (config.yaml or config.toml). By default, Hugo may show all posts, but specifying mainSections lets you limit the homepage to specific sections. For example, to display only posts from the posts and til sections, add the following to your config: mainSections: ["posts", "til"]

May 26, 2025 · 1 min · Dinesh Auti