The Farrelly text on fireRoman style column in old computer graphics style
The Farrelly in text on fireRoman statue of a head
The Farrelly text on fireRoman style column in old computer graphics style

Kia ora, I'm Farrelly

Developer since way back, I've made websites and apps using React for years.

If you're looking to hire, or contact me, message me on Linkedin

Lately I've been..

Web scraping basics with Puppeteer

Web scraping is a way to collect data on webpages across the internet. See something on a webpage that you want? Take it, scrape it. This tutorial is going to use Puppeteer, a NodeJS tool specialised for web scraping, and automation.

read article

Web scraping basics with Puppeteer

Web scraping is a way to collect data on webpages across the internet. See something on a webpage that you want? Take it, scrape it. This tutorial is going to use Puppeteer, a NodeJS tool specialised for web scraping, and automation.

read article

The last Google image search

90% of us don’t go past the first page of Google search results. From living within a career where the quality of search terms resolving your queries is a measurable correlation to your overall skills, you, the question asker, begin to embark on a journey to increase efficiency, and reduce pondering. It is either the answer, or it is not.

read article

The last Google image search

90% of us don’t go past the first page of Google search results. From living within a career where the quality of search terms resolving your queries is a measurable correlation to your overall skills, you, the question asker, begin to embark on a journey to increase efficiency, and reduce pondering. It is either the answer, or it is not.

read article

Developers are sensitive, review with caution

Us as humans tend to focus on negatives rather than positive, that’s an artefact of our monkey brains focusing on survival. Although it may feel like it at times, code review isn’t a question of survival, it should be constructive criticism to improve the codebase, and it’s maintainers.

read article

Developers are sensitive, review with caution

Us as humans tend to focus on negatives rather than positive, that’s an artefact of our monkey brains focusing on survival. Although it may feel like it at times, code review isn’t a question of survival, it should be constructive criticism to improve the codebase, and it’s maintainers.

read article

React/React-native monorepo with yarn workspaces tutorial

Monorepos are a great tool to use when you have code to share across many different repositories. For example, if you have a web, and native app which can share code, creating a 'common' or 'shared' repository can keep your code DRY. Otherwise you're going to be abusing copy and paste in a way Larry Tesler won't be proud of.

read article

React/React-native monorepo with yarn workspaces tutorial

Monorepos are a great tool to use when you have code to share across many different repositories. For example, if you have a web, and native app which can share code, creating a 'common' or 'shared' repository can keep your code DRY. Otherwise you're going to be abusing copy and paste in a way Larry Tesler won't be proud of.

read article

Programming tests don't have to suck

We’ve all been here. You’re looking for a new job, and you’ve aced a couple of interviews. They now ask you to do a take-home technical test, no worries you think, I’m a great developer. Then you look at the test... It’s 10 hours worth of work. You cringe, you cry, you wonder if it’s worth your time.

read article

Programming tests don't have to suck

We’ve all been here. You’re looking for a new job, and you’ve aced a couple of interviews. They now ask you to do a take-home technical test, no worries you think, I’m a great developer. Then you look at the test... It’s 10 hours worth of work. You cringe, you cry, you wonder if it’s worth your time.

read article

Git tags: standard, and somewhat unnecessary

During a release, one of the tasks you’ll need to do is bump the current version. Generally by incrementing the patch number (assuming semantic versioning). Then you’ll create a git tag, but why do we? It’s easier to read. That’s it. It doesn’t provide any hidden benefit, it’s just a more readable way to find a specific point in time of your codebase.

read article

Git tags: standard, and somewhat unnecessary

During a release, one of the tasks you’ll need to do is bump the current version. Generally by incrementing the patch number (assuming semantic versioning). Then you’ll create a git tag, but why do we? It’s easier to read. That’s it. It doesn’t provide any hidden benefit, it’s just a more readable way to find a specific point in time of your codebase.

read article

Designing the perfect programming test

At the end of the day, no test is perfect, we can only aim for perfection. However we look at three different programming tests - PR review, Pomodoro timer, and the hands-off test. Then delve into the how, and why of each. Keeping in mind feedback is critical, ask the developers who took the test what they thought about it.

read article

Designing the perfect programming test

At the end of the day, no test is perfect, we can only aim for perfection. However we look at three different programming tests - PR review, Pomodoro timer, and the hands-off test. Then delve into the how, and why of each. Keeping in mind feedback is critical, ask the developers who took the test what they thought about it.

read article

Now that I've made too many promises, how can I keep them all

Now that we’re able to make promises, access the result, and handle rejection. We’re in a stellar place to start to tackle some more complex situations we may find ourselves in. Such as having a series to Promises to make, but not caring about the result. Or needing each Promise to resolve. The Promise API provides us four distinct methods...

read article

Now that I've made too many promises, how can I keep them all

Now that we’re able to make promises, access the result, and handle rejection. We’re in a stellar place to start to tackle some more complex situations we may find ourselves in. Such as having a series to Promises to make, but not caring about the result. Or needing each Promise to resolve. The Promise API provides us four distinct methods...

read article

It started with a promise

A promise is an object which will return an asynchronous (think not at the same time) result. The classic promise use case is fetching data from a remote server. You have no idea how long it’ll take for the data to come back, you’re just promising Javascript that it’ll come, along with some code to run when it does.

read article

It started with a promise

A promise is an object which will return an asynchronous (think not at the same time) result. The classic promise use case is fetching data from a remote server. You have no idea how long it’ll take for the data to come back, you’re just promising Javascript that it’ll come, along with some code to run when it does.

read article

An overly enthusiastic developer, Machine learning, and a Twitter bot

Once upon a time I stumbled across an article chronicling a machine learning algorithm using the Harry Potter series as input to write it’s own chapter. Enthralled by the pure oddity of what a machine’s understanding of language and creativity turned out to be, I was intrigued to do something similar...

read article

An overly enthusiastic developer, Machine learning, and a Twitter bot

Once upon a time I stumbled across an article chronicling a machine learning algorithm using the Harry Potter series as input to write it’s own chapter. Enthralled by the pure oddity of what a machine’s understanding of language and creativity turned out to be, I was intrigued to do something similar...

read article