Jason Thorsness

github
github icon
linkedin
linkedin icon
twitter
twitter icon
dog eyes closeup
23Feb 11 25

I set out to write an article on how big O notation doesn’t help to compare algorithms at small input sizes. I planned a quick demo to show how constant factors matter. Instead, I found all my assumptions and abstractions broken.

circle grill
22Jan 31 25
Fast Queries Do Less

One universal technique for getting software systems to perform faster is to make them do less work. For database queries, this means both asking for less and getting the system to work more efficiently. Read this article to help your queries do less work today.

circle grill
21Jan 29 25

SingleStore started as MemSQL (YC11) with a memory-optimized skiplist-based table structure. And although it has evolved to feature support disk-based columnar storage, if you look closely enough the row store is still there, and still amazing for some workloads.

bird judge
20Jan 26 25

You’ve maintained an uneasy contract with the web for years — you know web sites scrape every last byte of your information, but you tolerate it because it’s invisible. They don’t JUDGE YOU as a user. At least, not until now. Click onward for the opinion DeepSeek R1 has of YOUR information.

big trilobite
19Jan 24 25

Another article only two days later? Well, I needed to know how my VPS is doing, and this is another straightforward use case for SingleStore: a backend for monitoring! Journey with me to understand my server’s performance.

big succulent
18Jan 22 25

Ever wonder how to build a scalable high-performance real-time application? SingleStore is as close to a drop-in solution as you can get, but you might not know how to get started. If so, this article is for you. Follow along while I build an analytics solution for my web site.

cat face
17Jan 04 25

Images here are powered by Tractor Loader, a glue library for NextJS and Sharp that enables inline image transformation in JSX or MDX, like ![cat](./img.jpg?crop=400,400,400,400&tractor). So far, I am the only user of this library 😢. But perhaps the next user could be you! Read my pitch.

wood corner
16Dec 30 24
Wooden Boxes

I designed and built some gift boxes out of maple, walnut and padauk. Although I laser-cut all of the pieces, I went to great lengths to avoid exposing charred edges. Like most of my craft projects this turned into way more work than I expected. Read on for the full story.

spider web
15Sep 25 24

With only ChatGPT, a web browser, and a random topic, can I generate and load millions of rows of highly-tailored data into SingleStore and highlight key features, all in the space of 5 minutes? With some new scripts and workflow I think I can probably do it, and that you can too! Let’s find out!

dog face
14Aug 28 24

The JSON Schema project has fought the fight against schema-free JSON for many years. Using the same technique as in a previous article, I’ve brought JSON Schema to SingleStore. Use it to validate your INSERTs, UPDATEs, or even as a high-performance query tool. Add some sanity to your JSON today with a simple SQL statement.

wet alpine garden
13Aug 26 24

SingleStore now offers a novel scheduled jobs service, enabling any Python or SQL task to be run on a schedule. I’ve used it to sprinkle some AI ✨ on the home page of weather.bingo. Learn how I did it.

pink and purple leaf
12Aug 18 24
SQL 💜 WebAssembly

SQL makes writing UDFs for complex string, JSON, and blob manipulation awkward. What if instead you could write those UDFs in Go or C/C++ and leverage industry-standard libraries? What if you could safely add such functions to your database just by pasting a GitHub URL? The dream is real.

felt and wood
11Jul 31 24

The Streamlit project is an easy way to visualize data. It works great with SingleStore as a data source, so I’ve connected it up to weather.bingo. Check it out!.

two fish
10Jul 29 24

You’ve probably seen the computer language benchmark game — but how about a real-time comparison in your browser? Join me as I implement a brute-force solution to the traveling salesman problem in C, C#, Go, and TypeScript, and find out how they perform on your own machine.

mesh
9Jul 12 24
S3 Trampoline

Faster AND Cheaper? Bounce a few terabytes of data into SingleStore without paying cross-AZ transfer fees using a technique I’m calling the S3 Trampoline. Learn how it’s done.

moss
8Jul 09 24
Load Data at GiB/s

I hate waiting for data loads. It’s time to stop waiting and load some data at speed. See how I set up a fast system to load over a terabyte of data and 2 billion rows into SingleStore in under 20 minutes.

seattle
7Jun 20 24

The magic of vector search comes from the model, but even today’s most sophisticated models might still be at the “first year at Hogwarts” level. See how I found some nonsensical results from OpenAI’s latest.

aurora
6May 20 24

The location search on weather.bingo is fast. Really — try it now. It just works, globally, with no third-party APIs required. With Vercel Edge functions, this sort of low-latency auto-complete is within the grasp of smaller sites on hobby plans. Learn how.

sea
5May 06 24
Weather Bingo

Did it rain yesterday? The weather apps never tell you what the weather was, only what it will be. For time travelers and historians like myself, this is a major problem. Now with weather.bingo on the SingleStore Free Shared Tier I’ve solved that problem forever. Here’s how.

underwater
4Feb 26 24

I recently wrote an article on the SingleStore Engineering Blog on our use of the BSON Data Type in SingleStore’s latest release. That provides a brief overview of BSON in SingleStore — but what about the minute details of the type itself? Here’s an in-depth guide to the entirety of the BSON data type.

crab
3Feb 25 24

Hundreds of readers wrote to complain about the sluggish performance of the slider on the previous article. Fundamentally the non-SIMD version of the program took long enough to cause noticeable lag in the UI — because the thread used for DOM updates was also the one used for the long-running test. Here’s how I used Web Workers to fix it.

a fungus
2Feb 22 24
WebAssembly SIMD

NativeAOT-LLVM does not yet support SIMD through System.Numerics.Vector. However, it’s straightforward to reimplement the same functionality — if you don’t mind getting your hands a bit dirty with WebAssembly intrinsics in C. Here’s how.

a lichen
1Feb 21 24

DotNet WebAssembly has been tied up with the Blazor project which is an awkward fit for use cases that don’t involve a Blazor UI. Now we have something better. NativeAOT-LLVM compiles C# to WebAssembly using LLVM, and makes interop with JavaScript and other languages like C/C++ straightforward. See how straightforward integration is with NextJS.

ferns
0Feb 21 24

Where Is The Content?

Most of the fun of having a personal website is in recreating it every few years…? This is the simplest layout yet, based on NextJS 14 App Router, DotNet 8, and Tractor Loader for image manipulation. I’ll recycle the content from my old site eventually and replay it here — message me on X/Twitter if there’s anything in particular you miss.

 Top 
TermsPrivacy