Category: Posts
-
VS Code Dev Containers
Remote-SSH One of the things I’ve done a bit in Visual Studio Code is using it’s ability to work on a different machine over SSH. I have a couple of LXCs on a server set up for different languages – one for C++ and another for Rust. They are things I don’t work in often,…
-
Getting Ghostty to Work on Synology
Ghostty is a terminal application that I don’t really need (it’s listed features either already exist in the MacOS terminal, or seem so esoteric or marginal that I can’t imagine any real benefit from them in my normal use), but I wanted to be one of the cool kids, so I thought I’d give it…
-
State of AI tooling (for me)
I’ve been meaning to write this for a couple of weeks, so let’s get to it – things are moving to fast to reflect too long; which is it’s own risk. In March, I wrote about how I was using AI in coding, which was Codeium (now Windsurf) in VS Code for completions, and ChatGPT…
-
Writing a Browser Extension
Web pages are mostly just a collection of HTML, CSS, and JavaScript, so if we had some way of adding some of these into a web page, perhaps from our browser we could add new behaviour to a web page, right? Yes; users have long used tools like Greasemonkey (or similar userscript managers) to inject…
-
End to end testing – Cypress basics
When you’ve made a change to your web-app, do you run it then click around the new bits to check it works? Good start, but instead of doing that yourself, do it in a faster, more comprehensive and automated way with an end-to-end (E2E) testing setup using Cypress. Here’s how. E2E End to End testing…
-
Express router for better code organisation
A Node/Express app I’m working on has been sprouting routes so much that the server.js file has swollen to 800 lines – way past my 200-250 comfort zone, so it’s time to organise the routes into their own files. That seems like a good topic for a beginner blog post, so let’s dive in. Imagine…
-
Functional Javascript array methods
I’ve been whipping up a little mock-database unit that has a few access functions but actually stores the data as arrays for a demo project for a post I’m writing. In the process I wrote this gem: In the comment I’m claiming the code is a bit of a mess (and from a readability point…
-
Moving a domain from WordPress
I love the convenience of a hosted blog on wordpress.com, but one of the justifications for my ‘investment’ in homelab hardware and learning time was that I’d reduce my spend on hosted platforms by self-hosting them. I’ve already quit Evernote and dropped back to the free plan on Dropbox by building systems to replace them…
-
Clear explanation of how transformer AI works
If you’re interested in how generative AI works, check out Ishan Anand‘s Youtube series “Spreadsheets are all you need“. He steps through the basics using an Excel spreadsheet that encompasses most of GPT-2. Just doing that is an impressive (and hilarious) feat, but he also has a knack for teaching, so you’ll come away with…
-
Authentication basics for Node apps
Pretty much every serious web app needs to include a way for users to log in securely and to be served their content. Since there’s a lot of complexity in this, it’s highly advisable to use good libraries to support this. In a future post we’re going to use those libraries, but first I want…