RSSAmplifier

Blog

pthorpe92.dev

pthorpe92.devRSS feed ↗15 posts

Latest posts

The absolute beginners guide to databasemaxxing

So, you are interested in getting started learning databases? I get a lot of emails from people asking me how they can begin to learn the vast world of databases, and whether they are far enough along on their programming journey to bother trying to start to learn this sub-genre of CS. This post is meant to be my authoritative answer to those questions... Sort of a database specific version of:…

You can do better

Lately on X I have noticed a trend of posts that I imagine are probably the natural response to 'LinkedIn-brain' posts, which might be the result of the poor job market right now: "If hard work paid off, the donkey would own the farm" And if you were to come straight from the slop filled cringe fest that is LinkedIn these days, I can totally understand why you might have this attitude... But I…

Rewriting SQLite: Adding a new join algorithm

I am not sure that there exists a group of bigger SQLite nerds than those of us at Turso. We use SQLite for everything .. Including for OLAP workloads where we should be using duckdb , or for services which we would love to be totally stateless pods, instead we have statefulsets and PVC's with EBS volumes containing SQLite .db files. Every one of us has probably read just about the entire 265k LOC…

Checkpointing performance in Write-Ahead-Logs

Making Checkpointing fast Since I began working for turso officially in May of this year ( relevant post ), I had been spending most of my time learning the inner workings of the cloud platform, and familiarizing myself with the other codebases and libraries. When I was told a few weeks ago that I could begin spending 80% of my time working on the database itself, I was more than thrilled, as for…

Learn systems, not langauges

Due to the nature of my story and the attention that it's received, as mentioned in my last post , I frequently get emails from developers, college kids, or other people with troubled pasts that are looking for advice on either how to learn or how to get into tech. This blog post will be a compilation of things I have typed out probably a hundred times now, which I hope might help anyone who seeks…

whois pthorpe92.dev

Preston Thorpe senior engineer @ Turso building the modern evolution of sqlite formerly: principal engineer @ Unlocked Labs open source: maintainer @ eza maintainer @ UnlockEdv2 ===================================================================== Currently incarcerated at MVCF in Charleston, ME. ( story ) cli, linux, and rust nerd. open source enthusiast systems/databases/cloud/devops I love…

Working on databases from prison, How I got here, part 2.

How I got here pt. 2 Posted on turso's blog

Calling Rust from cursed Go

The general state of FFI in Go can be expressed well with a story about when I had tried to get mattn/go-sqlite3 drivers to work on a Windows machine a couple years ago around version 1.17 , and CGO would not build properly because my $GOPATH or $CC was in C:\Program Files\ and it split the path on the whitespace . Although I personally find the use of whitespace in system paths especially (and…

Magic isn't real

Any sufficiently advanced technology is indistinguishable from magic . Arthur C. Clarke This quote applies just as much to developers as it does non-tech people, sometimes more. I remember towards the beginning of my programming journey (both the first time I learned 18+ years ago, and again ~15 years later), the root cause of the feeling responsible for what they call tutorial hell (I personally…

PHP/Laravel: Why we rewrote our app in Go

(Modern) PHP: Does it really suck? Like many, many developers out there over the age of 30, I basically started my programming journey with PHP (and perl). Circa ~'05, PHP was the go-to language for the web, and Adobe Dreamweaver supported it out of the box! Most HTML was hand-written, most connections were absent TLS, and lots of form data was still being stuffed raw-dog right into SQL queries.…

Gratitude

How I got here is already far too long of a post, so I must include this for all the credits and gratitude I need to extend to those who made this possible. To my parents: who supported me every single day of the decade+ I have spent behind bars, and who never gave up on me, even when I definitely deserved it and had well past given up on myself. To Mark Spahr and Rachel Mclean Who I work with in…

OCaml + Rust: some comparisons

Following up on the first impressions post, let's solve a problem in OCaml and compare the Rust solution. In Response to how well received my last post was I thought I would follow up with some comparisons between how I would solve a simple problem (Advent of code 2022, day 3 part 1) in both languages and compare the solutions, while trying to portray the kind of thinking required (I think anyway)…

Hackers guide to the hackernews front page

Humorous article, completely unrelated to, and written before, the others ended up actually on the front page. The Goal: To get a post on the front page of the infamous Orange site... The Plan: There are four guaranteed strategies. No one knows why they work, but you may pick one, give it a shot, and tell me I'm wrong. Option 1: Put RISC-V in the title. That's it. I don't care what else the title…

Ocaml: first impressions

The Why I'm somewhat of a language nerd to begin with, and it was Rust that originally got me interested in the whole functional paradigm. Not due to it's lineage, but the heavy use of chained iterator methods in favor over traditional loops. This is one of the more intimidating hurdles for newcomers to the language, but after getting used to it, rarely will you see anyone write a for loop again.…

How I got here

My story, and how this is all possible Introduction My name is Preston Thorpe, I'm 31 years old and I've spent just under 10 years of my life in Prison (all for non-violent drug crimes.) I am currently incarcerated at Mountain View Correctional Facility in Charleston, Maine. More importantly, far more importantly, I am a software developer, open source maintainer, contributor and all around…