TL;DR: You should still learn regex (and other things), but I really just wanted an excuse to vibe code Regex Blaster Just because AI coding is doing all the heavy lifting on the boring stuff, that doesn’t mean we should stop learning how all these pieces fit together. Having a deep understanding of the system, languages and frameworks you interact with daily might not be a requirement…
AI hype is very much in effect in the business world, but ironically any time a new technology comes along it’s often developers that harbor the most cynicism. And this isn’t new, it’s actually the learned response of most engineers, especially the experienced ones. The old guard questioned Linux and open source, spent countless hours harping on how the cloud was an overpriced…
Although the idea of open source software has been around since the 1950’s, it wasn’t until 1992 when Linus Torvalds licensed Linux under the General Public License and that the modern era of open source began. Linux’s rise to domination was slow and steady (And once prompted Steve Ballmer to label open source a cancer), eventually leading it to dominate nearly every back-end…
I prefer to develop on remote systems, especially now with VSCode’s ability to work on remote machines. And most of the time I’m working within a container, like Docker. The only issue I occasionally run into is the tendency for a larger project to peg the CPU when a bunch of operations are going on. This results in a serious performance penalty for the system I’m on, in some…
Github pages has long felt like a bit of an orphan product at Github, but it’s still a useful one, and one that I find myself using for a variety of reasons (documentation, static demo pages). Before Github actions became a thing, it was quite a chore to get something up on Github pages from a CI system like Travis. Usually you either needed to create a deploy key or use a personal access…
You’re terrible at hiring — A startup’s guide to interviewing engineers I frequently get asked by startups for help hiring engineers. Everyone wants a quick solution, but the problem with hiring humans is that they’re human. Studies also show that we’re terrible at picking the best candidate. Rather than throwing our hands in the air and hoping for the best, it’s even more important to have a…
Quick and dirty developer guide to U2F I recently had the chance to implement U2F authentication in a small side project. During the process, I learned a lot about both the protocol and the current state of U2F documentation, or lack thereof. I hope that if you’re in the same place I was, this will get you up to speed more quickly than the other guides available. If you learn better with hands on…
Prototyping in the age of NoSQL TLDR; I love Firebase, but their database offering leaves a lot to be desired when you’re in the early stages of prototyping a new application. I’ve recently been exploring Firebase and while I love the ability to quickly get a project up and running, it’s data storage layer leaves a lot to be desired at the prototype stage of a new project. I’m not going to argue…
CSP in Express.js / Node This is pretty straightforward, but here’s how I implement CSP in an Express middleware layer. A few notes: CSP statements like `self` and `unsafe-eval`need to include the single quotes in the header, so you’ll need to escape them. `connect-src` are your websocket endpoints You can whitelist an entire schema (eg. ‘https’), which is also a great way of prevent mixed content…
Tracking the mail with a $29.99 phone Let me frank, I buy a lot of stupid stuff from the Internet. And like most people, I obsess over where it is and when it will I’ll have it in my hands. But even with today’s ubiquitous package tracking, all I really get is a list of places my package visited as it made it’s way to my doorstep. For example, I may know that it stopped in Sacramento, but I’m…
I stumbled across this the other day on Tumblr. One of the issues with letting people render any HTML they want on your domain is that nefarious users can render a password field on an official looking page and capture the input from the victim. Tumblr seems to have come up strategy to try and prevent tricked users from entering their passwords. View the source and you’ll see that they…
There was an interesting article today on HTML5’s solution to solving the missing referrers problem in HTTPS -> HTTP transitions. But I thought I’d describe how Twitter’s t.co ‘fixed’ the problem. Background The root of this problem is that when you click any HTTP link on an HTTPS hosted page the browser will strip any referrer info. HTML5 is now allowing you to rectify this with a ‘meta’ tag to…
I was messing with my Raspberry Pi via ssh tonight and wanted to quickly stash a file to gist.github.com. One option, I can install the command line gist tool. But wouldn’t it be nice if you could just curl the content of the file directly to Gist $ curl --data-binary @README.md http://cist.herokuapp.com/read.md #> https://gist.github.com/32d1b11087f326a9653f Much better. If you want to run your…
So Evernote got hacked. Suprised? I m not. First off, let me quickly note that I actually use Evernote on a daily basis and like the product very much. It s great for taking notes and stashing the digital cruft I inevitably accumulate; email receipts, travel confirmations, snippets of articles, all go into my Evernote account. I even hacked up a script to send my Github Gists into Evernote so I…
Reworked my Gist importer for EvernoteIf your looking to import your Github gists into Evernote and make them searchable, this is your starting point. The code is quite brittle, but it does the job, as I ve been running it for around a year. Not something I m looking to spend much time on, but feel free to run with it on your own; it s MIT licensed and such. Find out more at: https://github.