James Long Avatar

James Long

Richmond, VA · Twitter · GitHub · Website

James Long jlongster.com

A future for SQL on the web

Where by “on the web” James means “in the browser”:

SQL is a great way to build apps. Especially small local web apps. Key/value stores may have their place in large distributed systems, but wow wouldn’t it be great if we could use SQLite on the web?

I’m excited to announce absurd-sql which makes this possible. absurd-sql is a filesystem backend for sql.js that allows SQLite to read/write from IndexedDB in small blocks, just like it would a disk. I ported my app to use and you can try it here.

A very cool project that was inspired by phiresky’s Hosting SQLite databases on Github Pages.

James Long jlongster.com

The secret of good Electron apps

James Long is using Electron to build Actual, a personal finance manager — and of course James is sharing the “secrets” he has learned to minimize the common issues with Electron apps.

Some of Electron’s problems (large file size, slower boot up time) are inherent in the architecture and need to be solved at a lower-level. The bigger problems (memory hungry and sluggish) can be managed in user-land, but it takes a lot of care to do so. What if I told you there’s a secret that automatically minimizes these problems?

The “secret” is to do the bulk of your work locally in a background process. The less you rely on the cloud, and the more powerful you make your background process, the more you can reap these benefits…

Dig into jlongster/electron-with-server-example to learn more.

The Changelog The Changelog #242

The Burden of Open Source with James Long

James Long joined the show to talk about his recent post, “Why I’m Frequently Absent from Open Source”. He shared several points in his blog post that struck a chord with us, so we invited him on the show to talk through the gritty details and peel back the layers of open source — the people involved, sustainability, the responsibility, the guilt, and the balance it takes to keep it all together.

0:00 / 0:00