Skip to content

Instantly share code, notes, and snippets.

View jbrown123's full-sized avatar
💭
Looking for a new opportunity

James Brown jbrown123

💭
Looking for a new opportunity
View GitHub Profile
@jbrown123
jbrown123 / -Recursive Queries Using Common Table Expressions.md
Last active August 18, 2025 10:49
Creating arbitrary-depth recursive queries in SQLITE (works for any SQL compliant system) using CTEs (common table expressions)

Recursive Queries Using Common Table Expressions

Common Table Expressions (CTEs) are a bit complex and difficult to understand at first blush. Many of the tutorials and examples on the net don't make it any easier for those just starting out. I thought I'd put together a quick gist that tries to simplify the concept and demonstrate how to do recursive queries using CTEs.

Keep in mind that CTEs have other uses besides just recursive queries but this gist is just about how they can be used to create recursive searches.

I'm using SQLite in this example but any SQL language that implements the WITH keyword should be able to do the same thing. If you've never used SQLite before, you are missing out on an amazing, open source, stand alone, SQL engine. I encourage you to check it out.

A practical example

@jbrown123
jbrown123 / US Zip Codes to Lat Lon from 2016 Government Census Data
Last active May 5, 2017 17:51
All US zip codes (technically "five digit ZIP code tabulation area census codes") with their corresponding latitude and longitude coordinates. Positive values = North or East; Negative values = South or West. Comma delimited for easy import. Source: http://www.census.gov/geo/maps-data/data/gazetteer.html Built with the following commands: unzip …
ZIP,LAT,LON
00601,18.180555,-66.749961
00602,18.361945,-67.175597
00603,18.455183,-67.119887
00606,18.158345,-66.932911
00610,18.295366,-67.125135
00612,18.402253,-66.711397
00616,18.420412,-66.671979
00617,18.445147,-66.559696
00622,17.991245,-67.153993
@jbrown123
jbrown123 / bookmarklet.md
Last active March 6, 2025 16:07
A simple bookmarklet to help clip a webpage to a google doc

Bookmarklet to clip webpages to google docs

Below is a simple bookmarklet (see https://en.wikipedia.org/wiki/Bookmarklet) to make it easier to capture the content of a webpage into a google doc. This is similar (but much simpler and less functionality) to Evernote Web Clipper (see https://evernote.com/webclipper/).

This bookmarklet will copy the URL and the title of the current page. Since most browsers forbid directly manipulating the clipboard contents, it makes a copy by creating a pop-up with all the data highlighted and asks the user to press control-c (the keyboard copy shortcut) and then enter. Once you press enter it will create a new google document for you in a new tab. You can simply press control-v (the keyboard paste shortcut) to put in the URL and title.

If you press escape or hit 'cancel' in the popup, nothing happens and you return to your original webpage.

If you happen to have some text selected on the current webpage, this will be appended to the end of the pasted block. However,

@jbrown123
jbrown123 / reveal per-slide theme override.js
Last active January 19, 2026 17:27
Reveal.js - per-slide theme override using data-theme attribute
// the code below can be added to the end of your Reveal slide deck to implement
// per slide theme setting via the data-theme attribute
// I put this in right below the call to Reveal.initialize()
// the code is smart enough to restore the previous default theme
// (or slide specific theme) as you move forward and backward
// it also takes into account vertical slide stacks with a data-theme
// attribute on the outer <section> tag and allows individual vertical
// slides to specify their own override