1. Building the Matcha Byron Bay website

    18 min read

    A rundown on the design, technology and wholesale work behind the new Matcha Byron Bay website

  2. Building the Pocket Rice marketing website

    6 min read

    A rundown on some of the designs and working behind the Pocket Rice marketing website

  3. Two Pointers

    12 min read

    Learn how to spot two-pointer problems and walk through pair sum variants with interactive visuals

  4. Software Interview Guideline 2026 (Australian edition)

    16 min read

    A collection of links, ideas and approaches to interviewing for software companies in 2026.

  5. Using BuildKite with AWS CodeBuild

    17 min read

    A working proof-of-concept for using BuildKite with AWS CodeBuild with the AWS CDK

  6. Using AWS Bedrock with opencode

    1 min read

    Setup your opencode CLI to work with AWS Bedrock foundational models

  7. Interface-based functional optionals in Golang

    8 min read

    A pattern to pass optional settings to build flexible constructors without a ton of parameters.

  8. Adding Swift packages in Xcode

    7 min read

    Learn how to add the popular Swift networking package Alamofire in a Swift Xcode project

  9. Swift from the command line

    7 min read

    An introduction to using Swift without Xcode

  10. Building TUIs with Golang and tview

    18 min read

    A practical walkthrough for your first steps on building TUIs with Golang and tview

  11. Implementing more manageable transform streams in Node.js

    5 min read

    After working through async generators and class streams, I'm sharing my conclusion on making these streams more manageable

  12. Configuring Omarchy on Beelink

    8 min read

    This walkthrough describes the steps taken to load Omarchy, an opinionated archlinux/Hyprland setup, onto my new Beelink SER5.

  13. TypeScript Private Elements vs Private Modifiers

    5 min read

    We explore private elements in classes and why you should use them over modifiers

  14. Tail Recursion

    5 min read

    Understand what tail recursion with this visual aide and example in Zig.

  15. Data Classes in TypeScript

    11 min read

    Learn how classes focused on holding data can clean up type definitions and provide discriminants for your TypeScript code.

  16. Isolating PostgreSQL Tests with PGLite

    15 min read

    Learn how to rapidly extend your test boundaries to the database without losing speed or introducing flaky tests.

  17. PostgreSQL Performance

    1 min read

    Learn more about PostgreSQL indexing practices and performance measurement in this blog post.

  18. Multi-tenant testing

    19 min read

    Exploring Uber multi-tenancy paradigms and seeing how they can impact testing in TypeScript.

  19. Retries, timeouts and spans for TS Rest clients

    11 min read

    Customize your TS Rest API calls to enable capabilities such as retries, timeouts and span information

  20. Well Known JSON Web Key Sets (JWKS)

    7 min read

    Understand how JSON Web Key Sets served from .well-known endpoints enable you to dynamically verify JSON Web Tokens (JWTS).

  21. Mutual Transport Layer Security (mTLS)

    19 min read

    Understand how mutual transport layer security works (mTLS), configure your own chain of trust and see real-world use cases.

  22. Roll Your Own API Keys

    12 min read

    Ever wondered how to configure your own API keys? This blog post explores API key design options and trade-offs.

  23. The Boundaries of TypeScript Testing

    28 min read

    Learn how to increase your testing confidence vector with principles and tools like MSW and testcontainers.

  24. Effective TypeScript Principles in 2025

    26 min read

    A set of guidelines to reduce code management and improve developer experience in 2025

  25. Better .NET Controllers with OneOf

    9 min read

    A reflection on a recent codebase change where the choice came between handling exceptions from middleware or controlling responses from the controller.

  26. AWS Aurora DSQL in Action

    6 min read

    Take a look into AWS' recently announced distributed Aurora SQL solution, now in preview!

  27. Exploring Git Worktree

    8 min read

    An exploration on how Git Worktree makes stash redundant and saves you headaches across large changes.

  28. Expressing Your Thoughts in Software

    10 min read

    Learn to express your thoughts and opinions better with this guide.

  29. Resource Management in TypeScript

    12 min read

    We look into implementing the Acquire and Release Pattern in TypeScript for creating a sequence of operations with compensating actions on failure.

  30. Creating a Result Type in TypeScript

    26 min read

    In this blog post, we take a look at libraries such as EffectTS, Zod, Valibot and Joi to understand how they approach a Result-like type and how we could approach building our own.

  31. Node.js Streams in Action with the AWS CDK

    19 min read

    We tie together everything that we've learned so far about Node.js streams and apply it through a practical example using the AWS CDK, AWS S3 and AWS Transfer Family.

  32. Stream Pipelines in Node.js

    11 min read

    We looking into the pipeline function from the Node.js stream module.

  33. Transform Streams in Node.js

    6 min read

    What are Transform streams in Node.js? How do they work? We cover the fourth and final fundamental stream type in this post.

  34. Duplex Streams in Node.js

    11 min read

    What are Duplex streams in Node.js? How do they work? We cover the third fundamental stream type in this post.

  35. Writable Streams in Node.js

    11 min read

    What are Writable streams in Node.js? How do they work? What are some common use cases for Writable streams? We continue our exploration into streams in this post.

  36. Readable Streams in Node.js

    11 min read

    What are readable streams in Node.js? How do they work? What are some common use cases for readable streams? Let's explore these questions in this post.

  37. Understanding Node.js Streams

    23 min read

    Everything you need to prepare yourself to know Node.js Streams.

  38. Node.js Buffers Explained

    12 min read

    Learn what a Buffer is in Node.js, how to think about it and how it is useful.

  39. Dependency Injection with InversifyJS

    9 min read

    Learn how we can use InversifyJS to help dependency injection with it's inversion of control container.

  40. Up and running with Go 1.22's new built-in router

    8 min read

    Go 1.22 comes a brand new built-in router option for more complicated server applications. This is a basic dive in for Golang first timers.

  41. Type-safe usage of React as a prop for flexible components

    8 min read

    Ever wondered how design systems provide an 'as' prop for their components that you can use to inject or change the component type? Let's look at how we can do this with TypeScript.

  42. Mounting Your Own Cloud Storage With Cloud Mounter and AWS

    7 min read

    After another failed hard drive meant losing data, I decided to look into mounting my own cloud storage. Here is how I did it.

  43. Using Prisma For Migrations And DrizzleORM For Querying

    6 min read

    This post is for you if you are migrating across from a Prisma application or just want to check out the performance difference with DrizzleORM.

  44. Node.js --prof and --process-prof flags

    11 min read

    Understand the Node.js profile flag by improving an inefficient approach to getting unique elements from an array.

  45. Explaining CJS vs AMD vs UMD vs ESM

    9 min read

    One of the JavaScript ecosystems biggest pain points. What are they and why do library maintainers hurt inside when they have to support them all?

  46. Mastering API Testing with Supertest, Express.js, and Jest

    5 min read

    A walkthrough on setting up a basic Express.js application and writing tests using Supertest for robust APIs.

  47. Diving Into Typescript's Type System: Type Operators

    4 min read

    Join me as we dive deep into TypeScript's type operators, including keyof, index types, and index signatures. I'll be guiding you through practical examples that you can follow along with in the TypeScript Playground. Master these powerful tools with me to boost your TypeScript's code reliability and predictability with an advanced type system.

  48. Typescript And Promises: Conquering Asynchronous Programming

    4 min read

    See how TypeScript is used with async promises.

  49. Typescript And Functional Programming

    3 min read

    Implement your own map function with TypeScript.

  50. Advanced Union And Intersection Types In Typescript

    4 min read

    A practical explanation of how union and intersection types work.

  51. Typescript Modules For Organizing And Sharing Code Effectively

    3 min read

    This post covers the basics of modules in TypeScript.

  52. Harnessing The Power Of The keyof Operator

    2 min read

    See how we can use the TypeScript operator keyof to dig into our types.

  53. Advanced Typescript Generics In Practice

    4 min read

    A look at different implementations of generics for more specific use cases.

  54. TypeScript Decorators: An Introduction To Metadata And Annotation

    5 min read

    Decorators, a proposed feature for JavaScript, are already available as an experimental feature in TypeScript. See an example of decorators in action in this post exploring the topic.

  55. Ensuring Type Safety With Type Guards

    5 min read

    Implementing custom type guards for a complex type validation with deep object structures.

  56. Next.js + Vercel AI Package In Action

    7 min read

    Get started with the new Vercel AI SDK in this quick demo with NextJS.

  57. Exploring Typescript Mapped Types And Transformations

    3 min read

    Mapped types are a powerful feature that enable us to take existing types and generate new types from them on the fly.

  58. Mastering Conditional Types In Typescript

    6 min read

    See the T extends U ? X : Y syntax in action with simple examples.

  59. Understanding Advance Type Inference In Typescript

    7 min read

    Advanced Use Case: Exploring type inference with conditional types and more complex generic patterns.

  60. The Benefits of Combining Static Site Generation with Incremental Static Regeneration

    9 min read

    Learn how you can statically generate pre-determined Next.js pages using a database for improved build times while still allowing for dynamic content to be generated on the fly.

  61. A Practical Look At The "Unknown" Type In Typescript

    8 min read

    Ever wanted to better understand the unknown type? This blog post walks you through a practical setup and look at working with the unknown type.

  62. Using The New Vercel Open Graph Image Generation

    6 min read

    Following the release of Satori and Vercel's new open graph image generation, follow along as I demonstrate how I updated my own open graph images for the blog.

  63. Exploring the Tremor dashboard UI library

    4 min read

    A look at implementing beautiful graph UI components quickly with Tremor.

  64. Iterating on our bulk Visi exports feature

    24 min read

    This post focuses on my work at Visibuild to roll-forward a feature to a more scalable solution.

  65. Discriminated Unions In Typescript

    11 min read

    Peel back some of the magic behind discriminated union in TypeScript and how they impact your workflow.

  66. Annotated Rails Models

    3 min read

    Help understand your Rails models easier with the help of the annotate models gem.

  67. Local ActiveStorage Development With Rails 7

    4 min read

    Set up ActiveStorage on your local developer environment with Rails 7.

  68. Mocks With Minitest

    4 min read

    A short overview on how you can mock both class methods and instance methods when dealing with Minitest.

  69. Pry Debugger Tips

    6 min read

    Some basic tips on getting more value from the Pry debugger.

  70. Ruby SmarterCSV Gem

    2 min read

    A quick look at using the SmarterCSV gem.

  71. Processing Local YAML Files With Sidekiq

    5 min read

    See how you can use Sidekiq jobs to read and process a local YAML template for populating the database.

  72. Uploading Files In ActiveAdmin

    5 min read

    See how to upload files to ActiveAdmin using this example that uploads a CSV file and populates data to the database.

  73. Automating Ruby Gem Package Releases With Github Actions

    6 min read

    In the final part of the Ruby Gem series, we will be automating the deployment of our recently created gem using GitHub Actions.

  74. Creating Your Own Ruby Gem

    2 min read

    In this post we will take our basic code from the previous exercises and package it up as a Ruby gem to install in other projects.

  75. Deploying Your Gem To RubyGems

    3 min read

    In part two of the Ruby gem series, we will take the gem we created in the previous part and deploy it to RubyGems.

  76. MiniTest With GitHub Actions

    4 min read

    In this short overview, see how MiniTest can be incorporated into your GitHub Actions workflows.

  77. RSpec With GitHub Actions

    3 min read

    In this short overview, see how RSpec can be incorporated into your GitHub Actions workflows.

  78. Rails Entity-Relationship Diagrams

    1 min read

    In this short post, see how you can visualize your domain model quickly using the rails-erd gem.

  79. Through Rails Associations

    5 min read

    Following up on the previous post, we will be looking at the last through associations that come baked into Rails.

  80. Devise Part 10: Devise Token Auth

    4 min read

    In part ten of the Devise series, we start a new project from scratch to explore how the devise-token-auth gem can be setup with a Rails 7 application.

  81. Devise Part 11: Authentication Tokens With Doorkeeper

    7 min read

    In part eleven of the Devise series, we continue on with the previous project to add the capability of authenticating to a public API using authentication tokens with Doorkeeper.

  82. Understanding Rails Associations

    9 min read

    In this post, we go through all six of the possible Rails associations with visualizations to help us understand what associations are supported and how they work in Rails 7.

  83. Exploring Ahoy Analytics With Rails 7

    4 min read

    This post is a reflection on my first look at using Ahoy analytics in a Rails 7 application.

  84. ActiveAdmin With Ruby On Rails 7

    5 min read

    ActiveAdmin is a powerful gem to help us generate admin panels for our internal usage for Rails applications. This post will cover the basics of getting up and running with ActiveAdmin and Ruby on Rails 7.

  85. Getting Started With The FriendlyID Gem In Rails 7

    5 min read

    See how the FriendlyID gem makes it simple to convert you URLs into something more useful and friendly with Rails 7.

  86. Ruby Memoization Basics And Memoist

    4 min read

    An intro into Ruby memoization with the memoization operator and the Memoist gem.

  87. SimpleCov With Ruby And GitHub Actions

    5 min read

    See how to setup SimpleCov for your RSpec tests in a simple Ruby setup and then implement a GitHub Action to comment the coverage results in a pull request.

  88. Devise Part 7: Testing With RSpec And Factory Bot

    6 min read

    For this part, we look at setting up some helpers for us to log users in when writing controller tests.

  89. Devise Part 8: Policy Authorization In Rails 7 With Pundit

    10 min read

    This post looks at how we outline required policies in order to fulfill requests in Ruby on Rails using the Pundit gem.

  90. Devise Part 9: Setting Up 302 Redirection vs 401 Unauthorized Handlers

    6 min read

    In part nine, we take a look at how we can set up our API endpoints to return a 401 response if a user is not signed in instead of the default 302 redirect to the login page.

  91. Benchmarking In Ruby

    3 min read

    This post will demonstrate how to benchmark and compare code to help us better understand the performance of our Ruby code.

  92. Devise Part 5: OAuth With GitHub And OmniAuth

    7 min read

    In part five, we set up the OmniAuth configuration for Devise to demonstrate login using GitHub.

  93. Devise Part 6: Adding Recaptcha To Prevent Fraud And Abuse

    6 min read

    In part six, we enforce the usage of reCAPTCHA v2 to prevent signing up or logging in without passing the reCAPTCHA verification.

  94. Sending Your First Email With ActionMailer In Rails 7

    13 min read

    Follow the basics to send an email using a Postmark template and view it in the browser during development.

  95. Devise Part 1: Setting Up Devise With Rails 7 And React

    5 min read

    In part one of this six part series on Devise and Ruby on Rails, we demonstrate setting up Devise for Rails 7 with a basic sign up and login flow.

  96. Devise Part 2: Using Redis Sessions Instead Of The Cookie Store

    3 min read

    In part two of our Devise series, we look at how we can replace the default cookie session store with Redis.

  97. Devise Part 3: Updating Our Devise Views With Tailwind CSS

    4 min read

    In part three of the series, we walk through how to add TailwindCSS to a Rails 7 project and spruce up our sign in page.

  98. Devise Part 4: Authentication With A Separate Frontend

    9 min read

    In part four, we add in a separate Next.js project into the mix and demonstrate how to organize authentication for our main Rails API.

  99. Rate Limiting With Rack Attack In Rails 7

    10 min read

    In the second of two posts, we look at setting up rate-limiting with the rack-attack gem to see how we can limit requests to our API.

  100. Rate Limiting With Rack Throttle In Rails 7

    6 min read

    This is the first of two posts that will look at rate limiting in Rails application. This post will focus on the rack-throttle gem and its usage with Redis.

  101. Getting Started With Sidekiq In Rails 7

    7 min read

    A demonstration on getting a local development environment going with Sidekiq and Redis to run a simple demonstration job in Rails 7.

  102. Using The Rails Cache With Redis

    6 min read

    An entry-level introduction to setting up the Rails cache and seeing it in action with Redis in development.

  103. Ruby On Rails Pagination With Kaminari

    9 min read

    Implement simple pagination mechanisms using the Kaminari gem with Ruby on Rails 7.

  104. Action Cable Messages With Redux

    8 min read

    Continuing on from the last post, we introduce Redux to handle our remote messages and perform actions on our React.js application.

  105. Action Cable Hello World With Rails 7

    8 min read

    Dive head-first into using Action Cable with Rails 7 and setup a basic React project that can handle web sockets.

  106. Factory Bot With Rails

    11 min read

    At this stage of the project, we are introducing Factory Bot to help replace the default fixtures so we can test our PostsRepository code.

  107. Dry Validation With Rails

    16 min read

    Continuing on with our project, the next step is to add in dry-validation and dry-monads to help tidy up our code.

  108. Repository Pattern In Rails

    10 min read

    A look at how we can implement a Railsy-way of the Repository Pattern in our Rails apps.

  109. Exploring Dry-RB With Dry Matcher And Dry Monads

    7 min read

    See how we can use the Dry RB gems dry-matcher and dry-monads to clean up our Ruby code.

  110. Setting Up A Base GraphQL Server And GraphiQL With Rails 7

    7 min read

    Follow along as we build out a skeleton Rails 7 server that enables us to use GraphQL.

  111. Rails 7 Using React With ESBuild

    4 min read

    Set up a new Rails 7 project with ESBuild that has TypeScript support out-of-the-box.

  112. Rails 7 Using React With Htm

    6 min read

    See how you can update your new Ruby on Rails 7 project to use HTM and React without a Node.js setup.

  113. The Beginner's Guide To Monkey Patching In Ruby

    9 min read

    This guide will alleviate questions that new Rubyists have around monkey patching and how it works in Ruby.

  114. Bang Methods In Ruby

    3 min read

    Why the '!' in Ruby is so important to conquer and real-world implications.

  115. Pattern Matching In Ruby

    4 min read

    Understand pattern matching in Ruby.

  116. Understanding Ruby Blocks

    8 min read

    A recap on the fundamentals of Ruby blocks.

  117. My Core Principles For 2022

    9 min read

    As 2022 kicks off, I am listing out the core principles that I am putting a focus into throughout the year.

  118. Python Decorators In Action

    5 min read

    An overview on Python higher-order functions, decorators and some practical examples for when decorators can be used.

  119. Jest Snapshot Testing For Template Languages

    8 min read

    Discover a great use case for Jest Snapshot testing with template engines and generators.

  120. Generating Fake Data From JSON Schema

    4 min read

    Generate fake data to be used in your applications based on a JSON schema document.

  121. Generating JSON Schema From Typescript Types

    3 min read

    Use the ts-json-schema-generator package to generate a valid JSON schema from your TypeScript types.

  122. Generating DBML Files From A Prisma Schema

    4 min read

    Output DMBL files from your Prisma schema and see how you can view it online.

  123. Create Stripe Subscription Products From The CLI

    3 min read

    Create new Stripe subscription products from a simple TypeScript script.

  124. Next.js Enterprise Project Structure

    12 min read

    Set yourself up for success in large Next.js project structures by following this opinionated layout.

  125. 5 Must Have Figma Plugins For Web UI Design

    3 min read

    I share 5 of the Figma plugins that sped up my workflow 10x.

  126. Scheduled Post Test

    1 min read

    Don't mind me, I am just testing my scheduled blog post workflow.

  127. Scheduling One-Off Cron Jobs With AWS EventBridge And AWS Lambda

    8 min read

    Reduce instances and costs for single-run cron jobs by using AWS EventBridge rules to trigger AWS Lambda functions.

  128. Next.js Shortened URL Automation

    6 min read

    Automate the process of creating shortened URLs for your Next.js posts with this how-to guide.

  129. In My First 5 Days Of NFTs I Minted 2460 Collectibles From Hotel Quarantine

    25 min read

    A recount on how I minted 2460 pieces of generated digital art onto OpenSea from my hotel room in Australia.

  130. Jest With GitHub Actions

    5 min read

    See how to use Jest alongside GitHub Actions run Jest testing in CI.

  131. Building Typescript NPM Packages With Parcel 2

    8 min read

    See how easy it is to build a TypeScript NPM package using Parcel 2.

  132. Locking Redis Transactions In Node.js

    11 min read

    Avoid dirty reads on highly contended cache resources in Node.js with the Redlock package.

  133. Introduction To Caching With Next.js

    21 min read

    The beginner's guide to how different forms of server and client caching work with Redis and React Query.

  134. Converting The Interim Swyftx Data Structure Into A Valid OpenAPI Format

    15 min read

    Following on from the previous post, we will take the interim data structure we scraped from the Apiary documentation website and reshape it into a valid OpenAPI JSON structure.

  135. Authenticating Use For The Swyftx API With Node.js

    8 min read

    As we begin a new short series on Swyftx, we begin by getting up and running with your API keys and retrieving your profile with a simple Node.js project.

  136. Scraping The Swyftx Apiary Docs Into A JSON File With Puppeteer

    15 min read

    Using Puppeteer, we scrape the Swyftx API docs from Apiary and convert it into a JSON data structure to use later.

  137. 5 Handy Python Tips For Beginners

    4 min read

    After 30+ days of my 100 day Python journey, I stop to reflect on the five tips that have been unusual by helpful coming into the language.

  138. Regression With Scikit Learn (Part 4)

    5 min read

    In our final coverage of regression using SciKit Learn, we look at how we can use regression with regularization.

  139. Regression With Scikit Learn (Part 3)

    4 min read

    In part three, we look at using k-fold cross-validation to prevent dependency on a particular train/test split.

  140. Regression With Scikit Learn (Part 2)

    5 min read

    In second blog post on linear regression, we take what we learned in part one and look deeper into the basics of linear regression and applying a train-test-split to our data.

  141. Recapping Kubernetes Basics

    7 min read

    This short recap on Kubernetes will set the foundation for the upcoming series on Kubernetes and EKS.

  142. Regression With Scikit Learn (Part 1)

    4 min read

    Continuing with our look into supervised learning, today we explore the basics linear regression by applying it to another Scikit Learn toy dataset.

  143. Measuring Classifier Model Performance

    7 min read

    See how we can visual test the performance capability of our K-Nearest Neighbors classifier using Scikit Learn.

  144. First Look At Supervised Learning With Classification

    10 min read

    The 34 Days of Python series is moving into its second phase with Machine Learning. The journey will start with a first look at project setup and classification.

  145. Python Lambda Functions Deployed With The Typescript AWS CDK

    7 min read

    Deploy a simple Python lambda function with the TypeScript AWS CDK to LocalStack.

  146. Deploying An EKS Fargate Cluster With The AWS CDK (Part 1)

    4 min read

    Deploy a Kubernetes Fargate on EKS cluster using the AWS CDK.

  147. Oil Paint Effect With OpenCV Python

    2 min read

    Apply an oil paint effect to images in Python with OpenCV.

  148. Automating Pip Package Deployment With Github Actions

    4 min read

    Learn how to use GitHub Actions to speed up your Pip package deployments to PyPi.

  149. Deploying A Fargate Cluster With LocalStack And The AWS CDK

    11 min read

    Use the ECS patterns library to deploy a simple Fargate cluster to LocalStack.

  150. Generating Fake CSV Data With Python

    8 min read

    Learn how to generate random data and export it to CSV to use in your projects.

  151. DynamoDB With LocalStack And The AWS CDK (Part 2)

    6 min read

    The second part of this demo will show how to interact with our DynamoDB table using DynamoDB Toolbox.

  152. Semantic Versioning In Python With Git Hooks

    6 min read

    Use Conventional Commits, pre-commit and Commitizen to automate your versioning based on commit messages.

  153. DynamoDB With LocalStack And The AWS CDK (Part 1)

    10 min read

    A walkthrough on how to deploy a local DynamoDB table to LocalStack with the AWS TypeScript CDK.

  154. Your First Pip Package In Python

    8 min read

    Learn how to deploy your first package to Pip in this straight-forward tutorial.

  155. Building A CDN With S3, Cloudfront And The AWS CDK

    13 min read

    Use the TypeScript AWS CDK to deploy an S3 Bucket fronted by a CloudFront CDN and Route53 record.

  156. PyTest With GitHub Actions

    4 min read

    Build off previous work on PyTest by adding a GitHub action to run PyTest in CI.

  157. How PyDoc Helps Your Python Development

    7 min read

    Explore PyDoc and understand how it can improve your documentation and how to search it.

  158. Using The AWS CDK With LocalStack And aws-cdk-local

    5 min read

    Speed up your local AWS CDK development but using LocalStack and the AWS CDK Local wrapper package.

  159. AWS CDK With Typescript Foundations

    12 min read

    Get started with the AWS CDK in TypeScript and learn some of the foundational work for upcoming tutorials.

  160. Time Functionality In Python

    3 min read

    Explore how to work with the time module from the Python Standard Library in detail.

  161. Mocking Python datetime In Tests With FreezeGun

    5 min read

    Learn how to set up reliable PyTest unit tests for the Python datetime library with FreezeGun.

  162. Datetime In Python

    4 min read

    Learn how to work with the datetime library in Python.

  163. Exceptions In Python

    4 min read

    An overview look at custom exceptions in Python

  164. Working With Regex Expressions In Python

    4 min read

    This post will look at how the regex module in python can be used to work with regular expressions.

  165. Beautiful CLIs With The Rich Python Library

    4 min read

    See how the Rich library for Python can make it easy to add color and style to terminal output.

  166. Annotating Video Clips With MoviePy

    4 min read

    Introduce yourself to MoviePy through a simple example to add text to video.

  167. Pretty Error Output In Python

    2 min read

    Make debugging Python errors more enjoyable.

  168. CLI Prompts In Python

    5 min read

    Use PyInquirer to create more interactive and user-friendly command line prompts.

  169. Tip: Interactive Python Notebooks With Binder

    2 min read

    Display your public GitHub repositories in an interactive notebook.

  170. Tip: Making Directories Recursively With Python

    1 min read

    Using the OS module recursively make folders on your operating system.

  171. Python Unit Testing With PyTest

    4 min read

    Learn the basics of installing and using PyTest with a basic math module example.

  172. Building CLIs With python-fire

    3 min read

    Work through an example of building a simple CLI script with the python-fire library.

  173. Dev Only Next.js Routes

    5 min read

    A method to protect your Next.js routes from being accessed in production.

  174. Releasing workingoutloud.dev

    1 min read

    A Sunday morning product built to help be more public about my work and day-to-day life.

  175. Reading a file directory with Python

    3 min read

    Use the glob library to create a list of all the files in a directory.

  176. Frontmatter Parsing With Python

    2 min read

    Learn how to take a markdown file and parse the frontmatter metadata for usage in your scripts.

  177. Composing Images and Text with Python

    4 min read

    Use the Pillow image library to add text and icons layers to an image programmatically.

  178. Unsplash API with Python

    3 min read

    Installing and using an unofficial Python Unsplash API by salvoventura

  179. First Steps With Jupyter Notebooks

    3 min read

    Setting up a Jupyter Notebook for the first time to aid with the 100 Days of Python challenge

  180. A First Look At Generative Art With p5.js

    7 min read

    Slowly introducing yourself to the world of generative art with this short introduction

  181. Debugging JavaScript Performance With NDB

    5 min read

    Use the Node debugger to visualise performance

  182. Intro To Debugging Node.js Applications With VSCode

    10 min read

    See how you can get started with the VSCode debugger for Node.js applications

  183. Running Cron Jobs On Your Local Mac

    5 min read

    An easy-to-understand example of how to run automated jobs using crontab on your Mac

  184. Local AWS development with LocalStack

    4 min read

    Learn how to setup LocalStack to help with local development emulating AWS products

  185. Using DynamoDB on your local with NoSQL Workbench

    4 min read

    Learn how to play around with DynamoDB locally and use NoSQL Workbench to plan out your work

  186. Dynamic UIs Using Dynamic Imports, Next.js 10 and React State

    3 min read

    See how you can dynamically create UIs based on React State using dynamic imports, Next.js 10 and React State

  187. Building A Design System Package With Storybook, TypeScript And React In 15 Minutes

    8 min read

    Have you ever wanted to build a UI Component Library with TypeScript and React? This blog post will take you through a straightforward set up that uses the bare minimum to get a working component library that you can re-use across your different React projects.

  188. Adding A Basic Related Articles Section To The Gatsby Starter Blog Starter

    5 min read

    This blog post will show you how I updated my Gatsby website to display a basic related articles section based on frontmatter tags.

  189. Implementing Simple Auth To Your Next.js Website using Next.js Auth

    5 min read

    This post will go through a simple example of setting up simple authentication with a user and password to your Next.js website.

  190. Exploring The New Image Component With Next.js

    4 min read

    This blog post will explore the new Next.js Image component for an optimised image experience on the web.

  191. Exploring Internationalisation With Nextjs 10 and react-intl

    7 min read

    This blog post will explore the new internationalised routing in Next.js 10 and how you can use this to your advantage with react-intl for React.js

  192. Taking Stripe Payments With Next.js 10, TypeScript 4, React 17 and Vercel

    10 min read

    Learn how to create a test Stripe example, update that example and deploy to Vercel for a Stripe payment gateway, React 17, TypeScript 4 and Next.js 10

  193. Exploring Vercel Analytics Using Next.js 10 and GTMetrix

    5 min read

    See a roundup of my look into Vercel's new analytics feature that you can enable on a Vercel project and see how I used GTMetrix to help push some numbers.

  194. Deploying Next.js 10 With Vercel CLI and the Vercel GitHub Integration

    4 min read

    Learn how to deploy the base Next.js 10 app with the Vercel CLI and/or the Vercel GitHub Integration

  195. Deploying Static Websites To AWS S3 + CloudFront + Route53 Using The TypeScript AWS CDK

    8 min read

    Use the TypeScript AWS CDK to deploy static sites to S3 with a CloudFront distribution and Route53 setup for a custom domain.

  196. Exporting Static HTML From A Nextjs 10 Site

    3 min read

    Learn how to export static HTML from a Nextjs 10 project to host

  197. Snowpack 2.15.1 with Create React App 4.0.0 and NPM 7

    1 min read

    Updating my previous post on using Create React App with Snowpack for the latest versions and NPM 7

  198. Webpack 5 Builds for AWS Lambda Functions with TypeScript

    5 min read

    Using Webpack 5 to build lambdas for AWS deployments

  199. Self-Destructing Tweets

    6 min read

    A look into how you can run a cron job to self-destruct tweets

  200. Generating Types From JSON Schema With QuickType

    7 min read

    Generate strongly-typed models and serializers from JSON, JSON Schema

  201. Align TypeScript Standards With JSON Schema

    4 min read

    Using TypeScript to standardise types across the board using JSON Schema

  202. Prevent Breaking API Changes With OpenAPI And openapi-diff

    4 min read

    Prevent Breaking API Changes With OpenAPI And openapi-diff

  203. Validate Your APIs With OpenAPI Schema Validator

    4 min read

    Validate Your APIs With OpenAPI Schema Validator, YML and JSON

  204. 56 Mental Models That Help You Tick

    10 min read

    Explore a tool kit of models that you can apply to your own work day

  205. Your First ESLint Rule Applied To Create-React-App

    8 min read

    Look at how you can create your first ESLint rule and apply it to a working application

  206. Prompting New App Versions With The Service Worker And Create-React-App

    4 min read

    Look at how we can work around one of the Service Worker's biggest misunderstanding

  207. Creating and using AWS Secrets from the CDK and CLI

    3 min read

    A quick overview of adding/retrieving secrets for AWS

  208. 10 Time Management Tips for the Developer Who Wants It All Now

    17 min read

    Tips and tricks for how you can become the developer you've always wanted to be

  209. Error Tracing with ES6 Classes and Sentry

    8 min read

    Extend the Error prototype with ES6 classes to capture errors and send them to Sentry

  210. Build Your Own Heat Map with D3

    5 min read

    A quick look at building a heat map in D3

  211. Unix Redirection In C

    5 min read

    Explore how redirection works in C

  212. How To Use Your Tailwind Theme Anywhere Throughout Your React App

    6 min read

    Use the React Context API with Tailwind's theme generator to access the values anywhere throughout the application

  213. Getting Started With React + TypeScript + Tailwind + Classnames In Minutes

    4 min read

    Get up and running with Tailwind faster than your bread takes to toast

  214. How To Use NPM ES Modules With Deno

    2 min read

    Discover how the Skypack CDN can help use your favourite modules with Deno

  215. Lessons From My One-Month Writing Milestone

    8 min read

    Some learnings and reflections after hitting a month of sharing

  216. O(1) Reloading With Create React App

    7 min read

    Upgrade a CRA template to start making use of Snowpack

  217. What the flip are Unix Named Pipes?

    5 min read

    A look at named pipes and how we can interact with them in Golang

  218. Speedy diagram mocks with RoughJS and Puppeteer

    12 min read

    An evening project to speed up small, rough diagrams from the command line

  219. BYO Form Builder with Deno, React and JSON

    15 min read

    See how we can auto-generate fully validated forms using React, Snowpack, YAML and a bit of grit

  220. 4 Easy Steps To Building Your First Twitter Bot With JavaScript

    5 min read

    Tired of Twitter negativity? Avoid it all by posting from the safety of the command line!

  221. Docker + GitHub Actions = Your Next Productivity Superpower

    6 min read

    Run through the basics to get your first Docker GitHub Action up and running

  222. The World's Most Gentle Introduction Into Functional Programming

    19 min read

    Understanding core functional programming concepts by implementing "pipe" and "compose" - two of the most common utility functions in JavaScript

  223. Going Back Into Lockdown

    8 min read

    This year has been... strange.

  224. 7 CSS Tips To Save Your Sanity

    9 min read

    CSS is hard. In fact, I preach day in and day out that it one of the more difficult concepts to grasp effectively. Here are 7 tips to help you scale and manage CSS and its alternatives.

  225. Deploying Serverless Golang APIs With The AWS CDK

    9 min read

    This tutorial covers setting up a project, writing a Go Lambda server using Gin, and deploying it with AWS CDK, providing detailed code examples and instructions.

  226. The 9-Step Plan To Becoming Dangerous In Any Language

    14 min read

    Learn the lessons that I had to find out the hard way when it came to learning languages over and over and over...

  227. Your First Github npm Package in 5 Minutes

    3 min read

    A short example of setting up your first npm GitHub package

  228. The ABCs of Pipenv and Python Package Management

    6 min read

    An entry-level look at how to setup determinstic Python environments using Pipenv

  229. Dipping Your Feet Into Golang Servers With Fiber

    9 min read

    In this entry into Fiber, we will cover installation of Fiber, as well as the basics of GET + POST requests, handling errors and returning JSON.

  230. Up and running with Factory Bot in Rails 5

    4 min read

    A short morning run over setting up the factory_bot_rails gem with RSpec

  231. Build a CLI Puppeteer tool to screenshot all the things!

    10 min read

    In this example, we will screenshot vaild HTML with Puppeteer

  232. Build your own code generator in JavaScript

    10 min read

    Follow along as we do the bare minimum to start generating files using EJS from the command line

  233. 5 Resources to Level Up Your Design System

    4 min read

    Improve your Design System with these websites that work as together as a foundation into your next UI iteration

  234. Creating your first Stripe Charge with Dotnet + C# in 5 minutes

    3 min read

    Follow along in this short Stripe series as we take a look at making a Stripe charge in a few different languages!

  235. Creating your first Stripe Charge with Python + Flask in 5 minutes

    2 min read

    Follow along in this short Stripe series as we take a look at making a Stripe charge in a few different languages!

  236. Creating your first Stripe Charge with Gin + Golang in 5 minutes

    3 min read

    Follow along in this short Stripe series as we take a look at making a Stripe charge in a few different languages!

  237. Creating your first Stripe Charge with Slim + PHP in 5 minutes

    3 min read

    Follow along in this short Stripe series as we take a look at making a Stripe charge in a few different languages!

  238. Creating your first Stripe Charge with Java + Spring in 5 minutes

    4 min read

    Follow along in this short Stripe series as we take a look at making a Stripe charge in a few different languages!

  239. Creating your first Stripe Charge with Ruby on Rails in 5 minutes

    3 min read

    Follow along in this short Stripe series as we take a look at making a Stripe charge in a few different languages!

  240. The ABCs of Rate Limiting ExpressJS Servers with Docker + Redis

    11 min read

    Follow along as we go start to finish in setting up rate limiting on an ExpressJS server and show how to enforce it across multiple servers

  241. Seven things to start saying RIGHT NOW to become a Tech Lead

    5 min read

    Satirical Tech Lead Fridays

  242. Authentication with Next Auth

    6 min read

    Use Next Auth to login into a Next.js application using GitHub Credentials, and store them in a local MySQL Docker container

  243. Building an Alfred extension for my developer notes

    3 min read

    How I built a local Alfred extension to quickly jump to the web page online

  244. Dead code elimination with the Babel AST Parser

    7 min read

    Using the Babel AST Parser to help find unused JS/TS/Less/SCSS files in the code base

  245. Bundling TS React Electron Apps with Parcel

    6 min read

    Get up and going with Electron by using Parcel to handle the bundling, TypeScript for type checking, React for the UI and the Electron dialog API to help read/write files

  246. Using the AWS CDK to send a serverless Slack message

    7 min read

    Follow along to send a simple message to Slack by using the AWS SDK to trigger a JavaScript Lambda function on a timed cron job that has NPM dependencies required.

  247. Scraping websites with Xray

    3 min read

    Use Nodejs and Xray to scrape the blog website

  248. Running complex applications with Tmux and Tmuxinator

    3 min read

    Use tmuxinator to setup projects that require complex setups

  249. Programatically create or update GitHub files

    3 min read

    Use Node.js and Octokit to programatically create a markdown file in a GitHub repo

  250. Algebra Properties

    3 min read

    A short look at some important algebra properties and their formulas

  251. Converting a rails routes output into a Postman Collection

    9 min read

    Follow as I use functional Ruby programming to generate an OpenAPI v3 yml file from information given from rails routes and import it into Postman

  252. Converting the blog to its own subdomain

    5 min read

    Challenges and process to get the blog converted over to Gatsby + Netlify CMS

  253. Network Addressing

    4 min read

    An overview of network addressing and how to understand concepts like network masking.

  254. OSI Layers

    1 min read

    A quick overview on the seven layers of the Open System Interconnection (OSI) model.

  255. Write Ahead Log

    4 min read

    A quick overview on the seven layers of the Open System Interconnection (OSI) model.

  256. Scala Data Types

    2 min read

    A short look at the data types available when using Scala.

  257. Web Fetch API

    2 min read

    Looking at usage of the web "fetch" API. This example uses the node-fetch library for demonstration purposes.

  258. Auxiliary And Space Complexity

    3 min read

    Looking at usage of the web "fetch" API. This example uses the node-fetch library for demonstration purposes.

  259. Hello Java Streams

    2 min read

    A short look at how to sum an integer list and manipulate a string list using Java 8 streams.

  260. Kafka Basic Terms

    6 min read

    A look into the common terms and their definitions when using Apache Kafka.

  261. Intro To Elasticsearch

    3 min read

    A look at ElasticSearch and setting up a multi-node cluster using Docker compose and create a JavaScript client for insertions.

  262. Intro To Cassandra

    4 min read

    A small intro into how you can get started with Cassandra using Docker and basic syntax.

  263. Autocomplete With RxJS

    2 min read

    A quick look at how RxJS implements an autocomplete subscription.

  264. Basics On Programming Paradigms

    2 min read

    A quick overview of a number of programming paradigms and what are some key defining features.

  265. Logistic Regression Basics

    6 min read

    A quick and dirty intro into the applications of numpy, pandas, sklearn and matplotlib to apply basic logistic regression.

  266. D3 Scale

    10 min read

    Looking at how we can normalise data using the d3-scale library.

  267. Reselect Quick And Dirty

    1 min read

    The tl;dr reminder of how Reselect works for Redux state memoization.

  268. Moving To Melbourne

    1 min read

    tl;dr Syd => Melb.

  269. Go Binary Search Trees

    3 min read

    Go implementation of a Binary Search Tree.

  270. Process Description And Control

    8 min read

    A deeper look into processes under the hood.

  271. D3 Word Cloud with Create React App

    4 min read

    Creating a D3 word cloud from a base Create React App project.

  272. Queues with Kue.js, Node.js and Redis

    2 min read

    Creating queues to schedule workers using Kue.js, Node.js and Redis

  273. EKS Basics

    4 min read

    An introduction to what EKS is.

  274. Redux Persist With React Native

    1 min read

    Adding Redux Persist to React Native for data persistence.

  275. Python Anagrams

    1 min read

    Python implementation of comparing two strings to check if they are anagrams.

  276. Intro To Helm

    7 min read

    An introduction into managing packages on Kubernetes with Helm.

  277. Thread Basics

    6 min read

    A look into how threads operate.

  278. B Tree Basics

    2 min read

    A short look into B-Tree structures, what defines them and some technologies that use them.

  279. Istio With EKS

    6 min read

    A basic look at how to add Istio to your EKS cluster.

  280. React Hook Basics

    2 min read

    An introduction to React Hooks.

  281. Rust Fizzbuzz

    2 min read

    The classic FizzBuzz implementation in Rust with Unit Testing.

  282. Ruby Trees

    2 min read

    Ruby implementation of a basic node tree and traversal using DFS and BFS.

  283. Running Detox With Expo

    2 min read

    How to setup Detox to run e2e tests for an Expo application.

  284. PHP Binary Search Trees

    2 min read

    PHP implementation of a Binary Search Tree.

  285. Trees in Golang

    3 min read

    Golang implementation of a basic node tree and traversal using DFS and BFS.

  286. Java Linked List

    5 min read

    Java implementation of a basic unidirectional Linked List.

  287. Ruby Binary Search Trees

    2 min read

    Ruby implementation of a Binary Search Tree.

  288. Anagrams in JavaScript

    1 min read

    JavaScript implementation of comparing two strings to check if they are anagrams.

  289. Go Linked List

    6 min read

    Go implementation of a basic unidirectional Linked List.

  290. Python Binary Search Trees

    2 min read

    Python implementation of a Binary Search Tree.

  291. Spiral Matrices in JavaScript

    2 min read

    JavaScript Spiral Matrices with unit testing.

  292. MySQL Development With Docker

    1 min read

    Setting up a MySQL container for local development.

  293. Redis CLI Basics

    2 min read

    Basic usage and command calls for Redis from the command line.

  294. Python Trees

    2 min read

    Python implementation of a basic node tree and traversal using DFS and BFS.

  295. Install Redis With Helm

    1 min read

    A basic intro to using the Redis chart and installing it with Helm.

  296. EKS Pulling From Docker Hub

    1 min read

    Adding credentials to be used for EKS when pulling images from Docker Hub.

  297. PHP Anonymous Functions

    1 min read

    Basic intro to anonymous functions with PHP.

  298. Overview of eksctl

    4 min read

    Basic instructions on how to use EKSCTL on the command line.

  299. Basic Slices with Golang

    2 min read

    Basic applications of slices.

  300. Ruby Constructors

    2 min read

    How to build instances with Ruby.

  301. Python Exceptions

    1 min read

    Basic error handling with exceptions in Python.

  302. PHP Constructors

    1 min read

    Building instances with PHP classes.

  303. Java Spiral Matrix

    2 min read

    Java Spiral Matrices with unit testing.

  304. PHP Unit Testing

    1 min read

    Basic unit testing for PHP.

  305. Java Lambda Functions

    1 min read

    How to create basic lambda functions in Java requiring interfaces.

  306. Docker application with Nginx and Nodejs

    2 min read

    Linking two Docker containers to run a Nodejs app behind a NGINX reverse proxy.

  307. Ruby Lambda Functions

    1 min read

    A quick look at Ruby Lambda and Proc functions.

  308. Go Basic Strings

    2 min read

    Basic string manipulation in Golang using the strings package.

  309. PHP Array Method Applications

    2 min read

    Basic push, pop, shift and unshift applications for PHP.

  310. PHP Linked List

    1 min read

    PHP implementation of a basic unidirectional Linked List.

  311. Java Maps

    1 min read

    Basic implementation of maps in Java.

  312. Java Initialising Arrays

    2 min read

    Using the arrays and array list utility packages in Java.

  313. Javascript Logging Conventions

    3 min read

    See what I do when it comes to JavaScript logging for web.

  314. Braintree with Nodejs and React

    7 min read

    Create a basic payment with Braintree using React and Nodejs!

  315. Hello Gin

    2 min read

    Simple basics on a GET and POST request for Gin in Go.

  316. React Portal Basics

    1 min read

    An introduction to React Portals.

  317. Diagrams With Mermaid

    5 min read

    Checkout how to create dynamic diagrams using mermaid!

  318. Go Spiral Matrix

    2 min read

    Golang Spiral Matrices with unit testing.

  319. Ruby Error Handling

    1 min read

    Examples on how to handle errors in Ruby.

  320. Expo Amplify

    1 min read

    Example of adding in Amplify

  321. Intro To Myrocks

    1 min read

    Short introduction and link to the MyRocks engine.

  322. Java Anagrams

    1 min read

    Solution in Java.

  323. Java Trees

    2 min read

    Solution in Java

  324. JavaScript Naming Conventions

    1 min read

    Suggestions and guides for naming in JavaScript.

  325. LSM Tree Basics

    1 min read

    Resources for log-structured merge trees.

  326. Principles

    6 min read

    A look at current base principles.

  327. Contrast Colors

    1 min read

    A small intro into auto-determining WCAG color contrast standards

  328. Hello Shave

    1 min read

    What do you do when your content becomes super long?

  329. Yargs Parser

    3 min read

    Say hello to an easy way to parse CLI args and options with yargs parser.

  330. Ruby Linked List

    2 min read

    Ruby implementation of a basic unidirectional Linked List.

  331. Depth Sharp Cli

    7 min read

    Use the incredible Sharp package for Node and build a simple CLI image compression tool.

  332. Go Fizzbuzz

    2 min read

    The classic FizzBuzz implementation in Golang with Unit Testing.

  333. Debouncing events in React

    3 min read

    See example code on how to debounce trailing and leading events.

  334. React Context Basics

    3 min read

    An introduction to React Context.

  335. React Dynamic Imports

    1 min read

    See example code for dynamically importing a React Component.

  336. Python Spiral Matrix

    2 min read

    Python Spiral Matrices with unit testing.

  337. PHP Trees

    2 min read

    PHP implementation of a basic node tree and traversal using DFS and BFS.

  338. Python Linked List

    4 min read

    Python implementation of a basic unidirectional Linked List.

  339. Ruby Anagrams

    1 min read

    Ruby implementation of comparing two strings to check if they are anagrams.

  340. PHP Anagrams

    1 min read

    PHP implementation of comparing two strings to check if they are anagrams.

  341. Kubernetes Healthchecks

    1 min read

    An example of a simple health check for Kubernetes.

  342. Ruby Fizzbuzz

    1 min read

    The classic FizzBuzz implementation in Ruby with Unit Testing.

  343. PHP Spiral Matrix

    1 min read

    PHP Spiral Matrices with unit testing.

  344. Python Fizzbuzz

    1 min read

    The classic FizzBuzz implementation in Python with Unit Testing.

  345. Ruby Spiral Matrix

    2 min read

    Ruby Spiral Matrices with unit testing.

  346. Expo Facebook Login

    1 min read

    How to use the Expo API to log into Facebook and authenticate on AWS Amplify.

  347. Java Fizzbuzz

    1 min read

    The classic FizzBuzz implementation in Java with Unit Testing.

  348. JavaScript FizzBuzz

    1 min read

    The classic FizzBuzz implementation in JavaScript with Unit Testing.

  349. PHP Fizzbuzz

    1 min read

    The classic FizzBuzz implementation in PHP with Unit Testing.

  350. Hello, Blog!

    2 min read

    Blog initiation and hazing. Read my primary objectives with this blog and the series I will write about.