My 2026 Tech Stack SnapshotMaking Leaflet polylines easier to click on mobileGetting Things Done with Obsidian TasksTurning my London Marathon fundraiser into a sponsorable routeMy terminal setup and commands I use on a daily basis when working with GitHubDisplaying latest posts on your GitHub profileUsing Codecov within a monorepoDisplaying Strava stats using webhooks & GitHub ActionsFiltering duplicate data points on Chart.jsNext.js Typerite Template BoilerplateAdding a body class in GatsbyJs to prevent flashing contentReactJs Snapshot unit testing and mocking componentsAccess user details and email address from Auth0 with NodeJsHosting Hugo on NetlifyDopetrope Hugo ThemeMassively Hugo ThemeAngularJs with Jest Unit TestingLischana Lane Photography Portfolio8 Useful Atom PackagesStyling readonly attributes with CSSMoving from Wordpress to HugoDefault parameters with ES68 Tips to increase front end website performanceFiltering arrays in AngularJSSetting up a simple AngularJS app to display an arrayHow to store razor helpers globallyManaging @font-face definitions with LESSUsing @font-face and preventing faux-stylesPreventing console.log issues in IERound to the nearest decimalMixing Revealing Module and Singleton Javascript PatternsWhat is cache busting?Quickly create HTML elements in jsFiddleAbstract config settings from web.configCopy table schema to new a tableCreate a flashing tab notification page titleNamespacing jQuery event handlersDefault negative variables to zero in javascriptUnderstanding jQuery data() storageconsole.log() vs alert() when debuggingReading URL hashtag valuesCheck javascript function exists before calling itCreating a new rule for a CSS class in jQueryHow to prevent self-closing elements in XSLTUsing jQuery callback functionsStrongly typed Stored Procedure names in C#

Uses

A living document of the hardware, software, and tools I use day-to-day. See uses.tech for other setups.

Hardware

Audio

Development

Productivity

Services

This Site