Randomized Demo Challenge ➞
15 — Sep 25 24With 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!
JSON Schema with Speed ➞
14 — Aug 28 24The 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.
Spicing Things Up With Jobs ➞
13 — Aug 26 24SingleStore 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.
SQL 💜 WebAssembly ➞
12 — Aug 18 24SQL 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.
Streamlit for Weather.Bingo ➞
11 — Jul 31 24The 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!.
C, C#, Go, TS via WebAssembly ➞
10 — Jul 29 24You’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.
S3 Trampoline ➞
9 — Jul 12 24Faster 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.
Load Data at GiB/s ➞
8 — Jul 09 24I 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.
OpenAI Serving Up Nonsense ➞
7 — Jun 20 24The 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.
The Edge of the World ➞
6 — May 20 24The 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.
Weather Bingo ➞
5 — May 06 24Did 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.
BSON — The Gritty Details ➞
4 — Feb 26 24I 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.
Hire Some Web Workers ➞
3 — Feb 25 24Hundreds 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.
WebAssembly SIMD ➞
2 — Feb 22 24NativeAOT-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.
Better DotNet WebAssembly ➞
1 — Feb 21 24DotNet 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.
Where Is The Content?
0 — Feb 21 24Most 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.