The Laboratory
View Experiments & Demos →

Working notes and small writeups.

Things I'm building and why.

Notes from building software, mostly the parts worth remembering by Jason Brown (Loktar).

The Archive

Cloudflare Tunneling and Access Control for locally hosted services

I've been running local LLMs for over a year at this point, and while it's been great my family members have asked for access, some who don't live in the house anymore. There's a myriad of services that do this. In the past I've used ngrok for solutions, or even just set up a VPN through my home router and given access to my kids. None of them were as straightforward as what I found using Cloudflare.

Capturing Work Git History for your github activity graph

If your day job repo is not on GitHub, here is how I export commit dates, bucket them, and replay them so my GitHub activity graph matches the work I actually did.

Recreating this blog with static generation

I got tired of fighting WordPress and Gatsby just to publish a post, so I built a small Node script that turns markdown (front matter included) into a static site using EJS templates, plus a couple helpers for gists and code blocks.

Demos and Deviations Project

I started pulling my scattered demos from places like CodePen and JSFiddle into one repo and gallery. The goal is to keep everything versioned and make it easy to generate previews.

Deep copying in JavaScript

Deep copying in JavaScript is a mess if you do not know the tradeoffs. This post covers shallow vs deep copies, where JSON stringify and spread/Object.assign break down, and when structuredClone is the right tool.

Floating text from cursor generative demo

A quick JS/CSS experiment where text trails the cursor, inspired by a tweet. I fed it a random Nostradamus paragraph and called it a nice little deviation.

Simple One Element Toggle

A minimal toggle built from a single checkbox input. It is pure CSS using pseudo-elements for the track and thumb, so it drops into a form without extra markup.

Extracting the subdomain with node.js

A simple Express pattern for reading the host header, pulling out the subdomain, and normalizing hyphens so you can drive behavior off `whatever.yourdomain.com with` a wildcard DNS entry.

Rift Enabled Canvas Demo

I ported my canvas tunnel demo to the Oculus Rift using oculus-bridge and a CSS shader warp. It renders a canvas per eye and keeps the canvas small enough to work within Chrome's filter limits.

Game Dev Movement cheatsheet with examples

This is my movement cheat sheet for 2D games, with runnable examples. It covers distance checks, angle math, pursuit, projecting points (like gun barrels), rotation while moving, and Asteroids-style heading movement with friction.

Software & Experiments Selected Works
react-lazy-load React, Lazy Load, Performance
Cat Brown Realtor Webdesign, HTML, CSS, JavaScript
Jest Game Framework Game, JavaScript
gui hacker Code Golf, JavaScript
jQuery Snowfall JavaScript
Zombiegames.net Webdesign, Performance
Jason Brown

Jason Brown (Loktar)

Christian, Grandfather, Veteran, lover of everything tech.