Posts

You've probably heard the saying that if you don't pay for a product, you are the product. With Google search, this has never been more true. These days, it is not unusual that the first page of results contains more ads than useful results. I don't blame Goog…

Read post

This week, I decided to shut down WeCode NI. For those unaware, WeCode NI was a job board for developers in Northern Ireland. I created it almost 5 years ago following a frustrating job search. Most job adverts were managed by recruitment agencies, so it was d…

Read post

Writing software is hard. One of the main reasons for this is that there are so many ways to achieve the same thing. Each implementation of a feature has tradeoffs. It is easy to fall into the trap of premature optimisation and waste a lot of time trying to bu…

Read post

Doing the right thing is hard. It's often easier to do nothing at all. We make these kinds of decisions dozens of times per day. It is constant and it is exhausting. It can feel safer not to make decisions at all and to just let life happen. I'm going to try a…

Read post

The most energy-hungry part of the human body is the brain. Our large brains are what set us apart from other animals and have made us one of the dominant species on this planet. To me, it makes sense then that when we do that hard work of thinking we should t…

Read post

Recently I was working on a bug in my day job where a 3rd party dependency was misbehaving. Usually when something like this happens in code I have control over, I'd sprinkle in a few console.logs to find out what was going on. Most of the time this would help…

Read post

Hi, I'm Paul. I'm 31 years old and this week I learned how to type. I've been using computers almost daily since I was 7 years old. Back then it was for playing games and chatting with my friends. These days it's for work (and still playing games). There is ra…

Read post

Building a Second Brain is a book about notes, written by Tiago Forte in June 2022. It covers what Tiago believes to be a productive an useful way to take and use notes. I thoroughly enjoyed this book so below I'll share my summary. What is a Second Brain? Sim…

Read post

Having a personal website is more important and relevant today than it's ever been. With the rise of social media, it is easy to get lost in the noise. A personal website gives you the freedom to share your ideas, thoughts, and passions with the world on your…

Read post

Building software involves a lot of compromise. Everything has pros and cons. In this article I'd like to share what I used to build WeCode NI. It's a job board for developers in Northern Ireland. It's not a complicated app, but has plenty of moving parts incl…

Read post

What success looks like will be different for each person. What someone wants out of life will depend on what they have now, how they grew up, and what stage of life they are at. In this article I'll share what I want from life. By sharing these details, I hop…

Read post

If you've been on the internet recently, you've probably heard of CSS-in-JS. The technology has been growing in popularity recently but not everyone is a fan. Today, I'd like to shed some light on what it is and help you decide if it is right for your next pro…

Read post

I recently read an article by Dan Abramov where he listed all of the technologies he wasn't familiar with. Dan is someone I look up to and seeing this kind of honesty from him only added to my respect. After reading his article I took stock of what I know and…

Read post

After much anticipation, Webpack 4 has finally been released and it is pretty great! If you are looking for zero config JavaScript bundling, then Webpack 4 is the tool for you. In this article, we’ll talk about the changes made from version 3 and how to get up…

Read post

In this episode of Functional Programming in JavaScript, we discuss pure functions. You probably already use pure functions all the time and are unaware of what they are or what advantages they bring to your code base. Watch the Youtube below to find out why p…

Read post

In this episode, we look at the reduce function and how to use it. Reduce is a massively flexible function. In this video, we use it to transform an array of data into an object and use it to recreate the filter function. How it's used An example of how the re…

Read post

In today's episode, we'll learn how to use the filter function and how it can be chained with other array functions such as map. If you've not seen the previous episode, you can find it here. The Map Function. The filter function is part of the array object. I…

Read post

Today I am pleased to bring you what will be the first episode in a series of videos on Functional Programming in JavaScript. This episode covers the map function. To see more of my videos, check out my other screencasts The map function is part of the array o…

Read post

If you've ever looked into AWS (Amazon Web Services), you'll know how overwhelming it can be. There are close to 100 different products and services with countless possible applications. If AWS wasn't confusing enough, the services have cryptic names making ne…

Read post

React is a big buzzword word right now. In fact, it has been a big buzz word for a few years now and with good reason. React has shot to meteoric success since its release in May 2013. Today I'll discuss 5 reasons to learn React. 1\. Performance React is light…

Read post

In Node.js we use the CommonJS module pattern for sharing code between files. In this article, I'll explain how to use the require keyword and how it's related to module caching in Node. CommonJS CommonJS is the pattern used in Node.js to share functionality f…

Read post

As we know, Node.js is a single threaded JavaScript runtime. A node process can only use a maximum of 1 CPU core and around 1.5GB of RAM. In this article, I will show you how we can use the Node.js cluster module to node processes to allow your app to take ful…

Read post

The JavaScript Fetch API replaces XMLHttpRequest for making network requests from client side apps. One of the main differences is that XMLHttpRequest uses callback functions to handle the response where as Fetch uses promises. Let's look at an example of each…

Read post

With the release of the Async/Await syntax in JavaScript we now have a succinct and highly legible way of writing asynchronous code. In this article, I'll cover how to use Async/Await functions and why they are better than promises. Let's start by using the Fe…

Read post

The work of a front-end developer is complicated. There is a lot of compiling and minifying code, moving assets around and installing dependencies! Let's not forget actually writing the code too. In today's article, I'm going to talk about some of the tools of…

Read post

It sounds crazy, right? A rubber duck is the perfect debugging partner. It has no arms or legs and sure as hell can't read or write code. So how can our little yellow friend help us write better code? Today we're going to learn about Rubber Duck Debugging. Let…

Read post

The Javascript spread operator is something I use on a daily basis. If you use Redux, or need to write any kind of functional JavaScript then you need to know how to use the spread operator. So what is the spread operator and how is it used? Lets see what the…

Read post

With the release of ES2015, we now have three ways of defining variables in JavaScript. var, let and const. Let me explain the difference. Pun fully intended. There are some important differences between them and in this article, we'll discuss the differences…

Read post

With the release of EcmaScript2015/ES6, JavaScript has undergone major changes. Amongst these major changes is the addition of javascript arrow functions. In this article , am going to explain what an arrow function is and how to use it. What is an arrow funct…

Read post

Picking a programming language is one of the first things you have to decide when you want to learn how to write code. In this article, I aim to help make this decision easier and give you all the information you needed to answer the question "What programming…

Read post