blag

Recent content on blag
https://avi.im/blag/ (RSS)
visit blog
Galloping Search
7 Dec 2024 | original ↗

I recently learned about Galloping Search while building a distributed log called s3-log. It’s used to search sorted items when the upper bound is unknown. In this short post, I will share my notes and other alternatives I discovered for searching over unbounded items

Building a distributed log using S3 (under 150 lines of Go)
30 Nov 2024 | original ↗

In this third part of the series, I will show how we can implement a durable, distributed, and highly available log using S3

Zero Disk Architecture
24 Nov 2024 | original ↗

State is pain. The next generation of infrastructure tools will be built on diskless paradigm. In this short post I will explain what is Diskless / Zero Disk Architecture

PSA: Most databases do not do checksums by default
9 Nov 2024 | original ↗

Most databases don’t do checksums by default. Disk corruptions go silently unnoticed.

PSA: SQLite does not do checksums
9 Nov 2024 | original ↗

SQLite does not do checksums by default. Disk corruptions go silently unnoticed.

Disaggregated Storage - a brief introduction
2 Nov 2024 | original ↗

a brief introduction to disaggregated storage systems in context of database systems

Why does SQLite (in production) have such a bad rep?
19 Jun 2024 | original ↗

My answer to a question online, why?

SQLite Slaps
18 Jun 2024 | original ↗

why SQLite is cracked

Now
2 Mar 2024 | original ↗

This is a /now page. Work I work at Turso Database. Learning Rust and C.

Learning C
2 Mar 2024 | original ↗

Some resources for learning C

Snapshot Testing
1 Mar 2024 | original ↗

A smoll intro to snapshot testing

Win: contribution to libSQL (SQLite) codebase
16 Feb 2024 | original ↗

I got my patches accepted into SQLite fork, libSQL codebase!

Errata in Hekaton MVCC paper
20 Apr 2023 | original ↗

Hekaton MVCC Paper contains a publication error. After reviewing the paper, I confirmed the error with one of the authors. This blog post explains the mistake, the implications and the fix.

Internet is wholesome: MVCC edition
20 Apr 2023 | original ↗

This is a short story about how I hit a wall while implementing a database research paper, found a publication error and how people on the internet helped me.

It is becoming difficult for me to be productive in Python
5 Feb 2023 | original ↗

It’s harder to refactor a large Python codebase. Type hints won’t save you, and you need a lot of unit tests. But how does that work in practice? Is Python fast to ship?

MongoDB secondary only index
22 May 2022 | original ↗

This short post will show how to add a secondary only index in a MongoDB replica set

Introducing CaskDB – a project to teach you writing a key-value store
10 May 2022 | original ↗

CaskDB is an educational project which aims to guide you in writing a persistent, embeddable database from scratch.

Recurse Center: Winter Break
1 Jan 2022 | original ↗

the Recurse Center winter break

Recurse Center Day 24: Hacking Go compiler to add a new keyword
8 Dec 2021 | original ↗

I forked and modified Go compiler to add a new keyword called let, as alias for var

Recurse Center Day 20: Django v4 upgrade (from v1)
2 Dec 2021 | original ↗

I worked on upgrading a Django project from v1 to v4

Recurse Center Day 19
1 Dec 2021 | original ↗

About Now

Recurse Center Day 18
30 Nov 2021 | original ↗

Disk Storage II

Recurse Center Day 17
24 Nov 2021 | original ↗

Disk Storage I

Recurse Center Day 16: Open Source
23 Nov 2021 | original ↗

merged few open pull requests on my projects

Recurse Center Day 15: B Tree Algorithms
20 Nov 2021 | original ↗

I translated B Tree Algorithms from CLRS to Python

Recurse Center Day 14: NoSQL Transactions
19 Nov 2021 | original ↗

I learned how using MongoDB was fatal for a startup

Recurse Center Day 13: Why 'Raft'?
18 Nov 2021 | original ↗

I started re-reading Raft and I learned why it is called so!

Recurse Center Day 12: Isolation Anomalies
17 Nov 2021 | original ↗

Anomalies which define transaction isolation levels

Recurse Center Day 11: B Tree Insertions
16 Nov 2021 | original ↗

I started writing code for B Tree insertions

Recurse Center Day 10: Learning Distributed Systems
13 Nov 2021 | original ↗

How does one start learning to build distributed systems?

Recurse Center Day 9: Papers We Love
12 Nov 2021 | original ↗

I learnt a few things about Dynamo

Recurse Center Day 8: B Tree Fill Factor (Part 2)
11 Nov 2021 | original ↗

I found out the answer to B tree fill factor

Recurse Center Day 7: Basics of ncurses
10 Nov 2021 | original ↗

I learnt some basics of ncurses

Recurse Center Day 6: B Tree Root
9 Nov 2021 | original ↗

B Tree Root: how would you design it?

Recurse Center First Week
7 Nov 2021 | original ↗

Reflections on the first week of the Recurse Center

Recurse Center Day 5: Garbage Collection Algorithms
6 Nov 2021 | original ↗

Learning the basics of GC, mark-sweep algorithm

Recurse Center Day 4: B Tree fill factor
5 Nov 2021 | original ↗

Q: How do I have a same B Tree fill factor across all nodes?

Recurse Center Day 3: Hammock Driven Development
3 Nov 2021 | original ↗

TIL Hammock Driven Development

Recurse Center Day 2: BTree Node
2 Nov 2021 | original ↗

This is a draft post that I have prematurely published. Currently, I am attending RC and I want to write as much as possible, log my daily learnings and activities. But, I also don't want to spend time on grammar and prose, so I am publishing all the posts which usually I'd have kept in my draft folder. B Tree I started working on the B Tree...

Recurse Center Day 1: init
1 Nov 2021 | original ↗

This is a draft post that I have prematurely published. Currently, I am attending RC and I want to write as much as possible, log my daily learnings and activities. But, I also don't want to spend time on grammar and prose, so I am publishing all the posts which usually I'd have kept in my draft folder. My RC first day was filled with welcome...

What I want to do at Recurse Center
24 Oct 2021 | original ↗

Projects I want to work on at RC

Accepted to the Recurse Center!
17 Sept 2021 | original ↗

I got accepted into Recurse Center, wooo!

Towards Inserting One Billion Rows in SQLite Under A Minute
17 Jul 2021 | original ↗

This is a chronicle of my experiment where I set out to insert 1B rows in SQLite

Marshaling Struct with Special Fields to JSON in Golang
1 May 2021 | original ↗

This is a short post explaining how I marshaled http.Request into json

I ended up adding duplicate records on a unique index in MongoDB
31 Mar 2021 | original ↗

how my curiosity lead me to discover a weird inconsistency with MongoDB where I was able to insert records that conflicted the index constraints

Setting up Github Actions for Hugo
29 Nov 2020 | original ↗

Github Actions for Hugo but with particular requirements

Moving to Hugo
29 Nov 2020 | original ↗

some personal notes to remember the migration effort from Pelican to Hugo

Catching SIGTERM in Python
20 Feb 2016 | original ↗

Simple code example to show catching SIGTERM in a Python script.

Git/Github fork-pull request-update cycle
19 Feb 2016 | original ↗

When contributing to Open Source Projects, new contributors often run into problems of having multiple merge commits and issues with keeping the forked repo in sync. This post addresses solutions for some of the problems.

Using uWSGI with Python 3
18 Dec 2015 | original ↗

Simple steps to get uWSGI up and running in Python 3.

When is my Cake Day?
20 Nov 2015 | original ↗

Using praw and prawoauth2 to find when is my cake day on Reddit.

Staying Ahead of Amazon, in Amazon Treasure Hunt Contest
31 Oct 2015 | original ↗

With a simple Man In The Middle (MITM) attack, I tried to cheat(?) one of Amazon India’s contest.

How I Am Maintaining Multiple Emails For Git On A Same Machine
1 Aug 2015 | original ↗

In this simple tutorial I will show how to maintain multiple git emails on a same machine. And how to configure git emails per directory or per project.

An exploit on Gaana.com gave me access to their entire User Database
31 May 2015 | original ↗

In May, 2015 I found an exploit on Gaana.com, which let me access their entire User Database (more than 10 Million) which included all the user info.

Flashing Asus-WRT Merlin by XVortex on NetGear NightHawk R7000
10 May 2015 | original ↗

This tutorial will explain you how to flash Asus-WRT Merlin by XVortex on NetGear NightHawk R7000.

Install Windows 8 UEFI on Legacy BIOS with Clover (and Dual boot with Yosemite)
28 Dec 2014 | original ↗

This tutorial will help you install Windows 8 on a Legacy BIOS in UEFI mode using Clover and dual boot with Yosemite.

Scraping Javascript page using Python
18 Oct 2014 | original ↗

Simple code example to illustrate scraping a javascript driven website, using Python and Dryscape.

Installing Transmission (remote and CLI) client on Raspberry Pi
5 Dec 2013 | original ↗

This tutorial will explain you how to install Transmission client on Raspberry Pi running Raspbian.

Projects
1 Jan 2001 | original ↗

Some of the projects I have done.

About
1 Jan 2001 | original ↗

Some Stuff About Me

↑ These items are from RSS. Visit the blog itself at https://avi.im/blag/ to find everything else and to appreciate author's digital home.