jagg's Avatar

jagg

@jagargim.bsky.social

41 Followers  |  58 Following  |  14 Posts  |  Joined: 27.11.2024  |  1.5366

Latest posts by jagargim.bsky.social on Bluesky

Adding replication to the Key-Value Store During the past few weeks I’ve built a basic key-value store that persists data to disk. It works, but only as a single node, so there is a fixed limit on the amount of data it can store, and the thro...

My OCaml exploration continues (the Real World Ocaml book is great!).

This week I added a replication layer to my key-value store. I think I'm starting to get the hang of it...

I also wrote a blog post about how I did it:

jagg.github.io/posts/replic...

19.04.2025 10:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Notes on Eio This weekend I took a step back from working on my Key-Value store to make sure I understand the concurrency model of Eio, the OCaml 5 library that I’m using for concurrency and parallelism. I decided...

I wrote a short post with my notes about Eio, the OCaml 5 async IO library. Still many more things to try, but one step at a time!

jagg.github.io/posts/eio/

06.04.2025 13:23 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A basic Write Ahead Log This weekend I decided to add some basic persistence to my Key-Value store. I considered going directly into B-Trees or LSM, but they are quite involved. Moving, forward I want to focus more on the di...

This weekend I continued my OCaml experiments from last week. I added a Write Ahead Log to my toy Key Value store!

I wrote about it here:
jagg.github.io/posts/wal/

Really enjoying OCaml so far!

30.03.2025 11:36 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Thanks! I’m using Emacs and Merlin, with the utop extension. It works when I run it by itself, but if I try β€œdune utop” it has some formatting error in the buffer…

24.03.2025 14:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Giving OCaml a try During the last couple of weeks I’ve gone on a completely different direction. I happened to hear a few people saying good things about OCaml, and I was kind of missing coding with strong types, so I ...

During the last couple of weeks I've been playing with OCaml. I went back to my super basic key value store, and re-implemented it in OCaml.

I also wrote a bit about it here!

jagg.github.io/posts/trying...

22.03.2025 21:50 β€” πŸ‘ 16    πŸ” 3    πŸ’¬ 2    πŸ“Œ 0
Preview
Designing Data-Intensive Applications, 2nd Edition Data is at the center of many challenges in system design today. Difficult issues such as scalability, consistency, reliability, efficiency, and maintainability need to be resolved. In addition, there...

Chapters 1–7 of the second edition of Designing Data-Intensive Applications are now available in early release (sorry, O'Reilly subscribers only at this point). Among other changes, you may notice that we now talk about β€œsharding” rather than β€œpartitioning” www.oreilly.com/library/view...

11.03.2025 18:01 β€” πŸ‘ 262    πŸ” 43    πŸ’¬ 7    πŸ“Œ 9
Using Zig from Common Lisp Last week I started playing with my own toy key-value store (see the previous post). At the end I got to a hashtable exposed over the network, using a protocol based on S-Expressions. For the next ste...

I spent some time this afternoon learning how to call Zig from Common Lisp! I figured it may come in handy for my Redis clone at some point.

I got it working, but I found some weirdness, may be due to memory alignment, that I can’t explain yet.

jagg.github.io/posts/lisp_z...

08.03.2025 20:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Redis from scratch, or Cledis This week I was looking for something new, and I realised that I’ve never tried to do any network programming using Common Lisp. Also, some time ago I came across the Build your own Redis book, but ne...

I just started a new experiment, implementing a basic Redis clone in Common Lisp.

This is what I have so far:

jagg.github.io/posts/cledis/

02.03.2025 16:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yes, I staying with Emacs for now, but I will keep an eye on it.

27.02.2025 19:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Three questions about Apple, encryption, and the U.K. Two weeks ago, the Washington Post reported that the U.K. government had issued a secret order to Apple demanding that the company include a β€œbackdoor” into the company’s end-to-e…

Three questions about Apple, Encryption, and the U.K. blog.cryptographyengineering.com/2025/02/23/t...

23.02.2025 16:51 β€” πŸ‘ 47    πŸ” 26    πŸ’¬ 4    πŸ“Œ 3

I just tried Lem, the Common Lisp editor. It looks really promising! Is anybody using it as a main editor already?

23.02.2025 16:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
On Lisp

As a second book, On Lisp is nice, and also available for free. It’s a deep dive on macros!

www.paulgraham.com/onlisp.html

22.02.2025 19:25 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Have you played with Erlang? It has a different view on how to do error handling and concurrency.

22.02.2025 19:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Build Your Own Redis with C/C++ | Build Your Own Redis with C/C++ Build Your Own Redis with C/C++ | Learn network programming and data structures

On a similar vein there is β€œBuild your own Redis”, I may actually try that one in Common Lisp!

build-your-own.org/redis/

22.02.2025 19:18 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Logos, Thumos & Code Random ideas about programming

I was missing writing software from scratch, so I’ve decided to save some time every week to reinvent some wheels, and force myself to blog about it!

To make it more interesting, I decided to use #common-lisp!

This is it so far:
jagg.github.io

22.02.2025 19:07 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I guess most people don’t take it home with them.

11.12.2024 19:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@jagargim is following 20 prominent accounts