JavaScript is getting array grouping methods π
Grouping items in an array is one of those things you've probably done a load of times. Each time you would have written a grouping function by hand o [...]
a collection of dev rss feeds - blogroll
Posts
Grouping items in an array is one of those things you've probably done a load of times. Each time you would have written a grouping function by hand o [...]
With the recent release of version 20.6.0, Node.js now has built-in support for .env files. You can now load environment variables from a .env file in [...]
Generating pagination links is not as straightforward as it may seem. So, while rebuilding my own site with Astro, I released a <Pagination /> compone [...]
Bluesky is the new social network in town and it's an exciting place to explore right now. I was fortunate enough to get an invite early on and take p [...]
ChatGPT has taken the world by storm and this week OpenAI released the ChatGPT API. I've spent some time playing with ChatGPT in the browser, but the [...]
I recently came across this blog post from Ruud van Asseldonk titled "The yaml document from hell". I've always heard that yaml has its pitfalls, but [...]
Two factor authentication (2FA) is a great way to improve the security of user accounts in an application. It helps protect against common issues with [...]
Mastodon is different to most online services. It is a federated network, so when you set up an account you need to choose a server to use. Your usern [...]
Link shortening has been around for a long time and Bitly is arguably the king of the link shorteners. It has support for shortening long URLs as well [...]
Sometimes the platform we are building on provides more functionality than we can keep in our own heads. However, depending on the problem, we often f [...]
When I am developing web applications in Node.js, I like the server to restart when I make changes, so I use nodemon. When I am developing an applicat [...]
Time zones are hard. Not only are there a lot of them, but they don't fit nicely into whole hour blocks, daylight savings time changes individual zone [...]
Got is a Node.js library for making HTTP requests. It has both promise and stream based APIs and in this post I want to explore how to use the stream [...]
Over the Easter weekend, a four day weekend characterised by lockdowns all over the world, I decided to use the extra time I had at home to start a ne [...]
I've been trying out streaming live code on Twitch which is a lot of fun. I wanted to share on my own site that I was streaming so I have built a page [...]
The list on GitHub of repositories that depend on your repository is scary. There's something nice about writing and releasing a library, module, Ruby [...]
Some things you do as a developer can work for you for years, then turn around and bite you when you were least expecting. These are the things that y [...]
So you've decided to speak at a developer conference? You have a story you want to share with your peersβhow you built something, how you learned some [...]
Recently I've been refactoring the tests for a gem I maintain and I needed to test that it sets the right cookies at the right time. But the cookies i [...]
Array sorting is one of those things you don't spend too long thinking about, until it stops working for you. Recently I was working with array of ite [...]
Sometimes I write blog posts to remind myself what I've learned and sometimes I write them because someone else shares something and I want to remembe [...]
I've never been one for writing a review of my year. This year I've found myself not only reading, but comparing myself to others' reviews. I realised [...]
You've implemented a service worker to cache some assets. Everything is working well, your service worker is a success, you're feeling good. But then. [...]
I recently experimented with audio visualisation in React on the Twilio blog. While I meant to teach myself more about the web audio API I found that [...]
Crystal is still a young language, there aren't a lot of libraries available yet. For some this could be offputting, but for others this is a chance t [...]
I've seen the following tweet about git making its way around Twitter recently: <blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr [...]
Development machines can build up such a lot of cruft. Old versions, oudated programs and unused caches litter the hard drive. It's good to take time [...]
I'm a fan of the web share API but I was not happy with my initial implementation of the API. It was all a bit complex for what is a very simple API. [...]
There are a whole bunch of CSS selectors available to web developers, but sometimes there's still not enough. I found this recently when building the [...]
At the start of the year I looked into how to better compress the output of a Jekyll site. I'll write up the results to that soon. For now, here's how [...]
I am a fan of progressive web apps and the powers that they bestow on web developers to build the next generation of applications. We can write web ap [...]
I had the fortune of attending the wonderful Brighton Ruby conference last week. It was full of excellent advice, wisdom and code. There was one talk, [...]
The service worker API is expanding as more ways to use the background dwelling worker emerge. I've written before about push notifications and backgr [...]
Did you know bundler can download and install gems in parallel? That's right, using the --jobs option for bundle install means you can set the number [...]
Here's a quick tip for anyone who uses rbenv and ruby-build to manage installing and switching Ruby versions. When installing a new version of Ruby I [...]
Recently I implemented the web share API for my site as a means of testing it out. If you are using version 55 or above of Chrome on Android then you [...]
I wrote a blog post last week and bits of it were wrong. This is not a retraction of that blog post, I just wanted to share the feedback that I got, t [...]
I think the ES2015 destructuring syntax is pretty cool. It might not grab the headlines like Promises, Generators or the class syntax, but I find it r [...]
Sometimes open source work is just fixing one tiny thing that bugs you. However, rolling up your sleeves and delving into even the smallest amount of [...]
Browser dev tools are so full of features it's hard to keep up. I bet every developer knows a different set of features to each other. I wanted to sha [...]
Git may be the best version control software I've used but it is a complex beast and makes it easy to shoot yourself in the foot. Recently, however, I [...]
Last week I was blown away by the response to a problem I was experiencing from maintainers of two of the larger open source projects in the Ruby worl [...]
There's been some interesting updates in service workers recently. The big news is that the Microsoft Edge development version now has service workers [...]
June saw me ask for your help as I started to learn Swift. July was busy with travel. Now August is iOS month. I'm lucky that part of my job as a deve [...]
When I started again on this site, I wanted to make sure it was going to load fast. Performance matters. Bundling, minifying and caching the static as [...]
I am currently in the middle of a Swift and iOS course with the excellent Big Nerd Ranch. Taking a week to dedicate to learning a new language and fra [...]
Building up and sending an Ajax request is so much easier than it ever used to be. No longer must we hassle ourselves with XMLHttpRequest, never mind [...]
No running site is ever completely finished. This one is no exception. There is more to build, more to style and more to write. It's a challenge. Welc [...]