Den Dribbles

A personal blog on all things of interest. Written by Dennis O'Keeffe, Follow me on Twitter

Gopher Gold

October 21, 2020

Weekly nuggets of Golang Gold

Rusticles

October 21, 2020

Rusty runes for the last week in Rust

Weekly Developer Roundup

October 18, 2020

Your weekly dose of trending articles and repos from across the web!

Webpack 5 Builds for AWS Lambda Functions with TypeScript

October 15, 2020

Using Webpack 5 to build lambdas for AWS deployments

Gopher Gold

October 14, 2020

Weekly nuggets of Golang Gold

Rusticles

October 14, 2020

Rusty runes for the last week in Rust

Weekly Developer Roundup

October 11, 2020

Your weekly dose of trending articles and repos from across the web!

Rusticles

October 07, 2020

Rusty runes for the last week in Rust

Gopher Gold

October 07, 2020

Weekly nuggets of Golang Gold

Weekly Developer Roundup

October 04, 2020

Your weekly dose of trending articles and repos from across the web!

Gopher Gold

September 30, 2020

Weekly nuggets of Golang Gold

Rusticles

September 30, 2020

Rusty runes for the last week in Rust

Self-Destructing Tweets

September 30, 2020

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

Weekly Developer Roundup

September 27, 2020

Your weekly dose of trending articles and repos from across the web!

Gopher Gold

September 23, 2020

Weekly nuggets of Golang Gold

Rusticles

September 23, 2020

Rusty runes for the last week in Rust

Weekly Developer Roundup

September 20, 2020

Your weekly dose of trending articles and repos from across the web!

Align TypeScript Standards With JSON Schema

September 20, 2020

Using TypeScript to standardise types across the board using JSON Schema

Generating Types From JSON Schema With QuickType

September 20, 2020

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

Validate Your APIs With OpenAPI Schema Validator

September 20, 2020

Validate Your APIs With OpenAPI Schema Validator, YML and JSON

Prevent Breaking API Changes With OpenAPI And openapi-diff

September 20, 2020

Prevent Breaking API Changes With OpenAPI And openapi-diff

Gopher Gold

September 16, 2020

Weekly nuggets of Golang Gold

Rusticles

September 16, 2020

Rusty runes for the last week in Rust

Weekly Developer Roundup

September 13, 2020

Your weekly dose of trending articles and repos from across the web!

Rusticles

September 09, 2020

Rusty runes for the last week in Rust

Gopher Gold

September 09, 2020

Weekly nuggets of Golang Gold

Weekly Developer Roundup

September 06, 2020

Your weekly dose of trending articles and repos from across the web!

56 Mental Models That Help You Tick

September 03, 2020

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

Gopher Gold

September 02, 2020

Weekly nuggets of Golang Gold

Weekly Developer Roundup

August 30, 2020

Your weekly dose of trending articles and repos from across the web!

Rusticles

August 26, 2020

Rusty runes for the last week in Rust

Weekly Developer Roundup

August 23, 2020

Your weekly dose of trending articles and repos from across the web!

Rusticles

August 19, 2020

Rusty runes for the last week in Rust

Gopher Gold

August 19, 2020

Weekly nuggets of Golang Gold

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

August 18, 2020

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

Your First ESLint Rule Applied To Create-React-App

August 18, 2020

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

Weekly Developer Roundup

August 16, 2020

Your weekly dose of trending articles and repos from across the web!

Creating and using AWS Secrets from the CDK and CLI

August 15, 2020

A quick overview of adding/retrieving secrets for AWS

Rusticles - Wed Aug 12 2020

August 12, 2020

Rusty runes for the last week in Rust

Gopher Gold - Tue Aug 11 2020

August 11, 2020

Weekly nuggets of Golang Gold

Weekly Developer Roundup - 2020-08-09

August 09, 2020

Your weekly dose of trending articles and repos from across the web!

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

August 08, 2020

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

Error Tracing with ES6 Classes and Sentry

August 07, 2020

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

Rusticles - Wed Aug 05 2020

August 05, 2020

Rusty runes for the last week in Rust

Gopher Gold - Tue Aug 04 2020

August 04, 2020

Weekly nuggets of Golang Gold

Weekly Developer Roundup - 2020-08-02

August 02, 2020

Your weekly dose of trending articles and repos from across the web!

Build Your Own Heat Map with D3

July 31, 2020

A quick look at building a heat map in D3

Rusticles - Wed Jul 29 2020

July 29, 2020

Rusty runes for the last week in Rust

Gopher Gold - Tue Jul 28 2020

July 28, 2020

Weekly nuggets of Golang Gold

Unix Redirection In C

July 28, 2020

Explore how redirection works in C

Weekly Developer Roundup - 2020-07-26

July 26, 2020

Your weekly dose of trending articles and repos from across the web!

How To Use Your Tailwind Theme Anywhere Throughout Your React App

July 26, 2020

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

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

July 25, 2020

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

How To Use NPM ES Modules With Deno

July 23, 2020

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

Lessons From My One-Month Writing Milestone

July 22, 2020

Some learnings and reflections after hitting a month of sharing

Rusticles - Wed Jul 22 2020

July 22, 2020

Rusty runes for the last week in Rust

Gopher Gold - Weekly Golang Nuggets

July 21, 2020

Weekly nuggets of Golang Gold

O(1) Reloading With Create React App

July 19, 2020

Upgrade a CRA template to start making use of Snowpack

Weekly Developer Roundup - 2020-07-19

July 19, 2020

Your weekly dose of trending articles and repos from across the web!

What the flip are Unix Named Pipes?

July 17, 2020

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

Speedy diagram mocks with RoughJS and Puppeteer

July 16, 2020

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

BYO Form Builder with Deno, React and JSON

July 13, 2020

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

Weekly Developer Roundup - 2020-07-12

July 12, 2020

Your weekly dose of trending articles and repos from across the web!

4 Easy Steps To Building Your First Twitter Bot With JavaScript

July 11, 2020

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

Docker + GitHub Actions = Your Next Productivity Superpower

July 09, 2020

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

The World's Most Gentle Introduction Into Functional Programming

July 09, 2020

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

Going Back Into Lockdown

July 08, 2020

This year has been... strange.

7 CSS Tips To Save Your Sanity

July 07, 2020

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.

Weekly Developer Roundup - 2020-07-05

July 05, 2020

Your weekly dose of trending articles and repos from across the web!

The 9-Step Plan To Becoming Dangerous In Any Language

July 05, 2020

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

Your First Github npm Package in 5 Minutes

July 05, 2020

A short example of setting up your first npm GitHub package

The ABCs of Pipenv and Python Package Management

July 04, 2020

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

Dipping Your Feet Into Golang Servers With Fiber

July 04, 2020

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.

Up and running with Factory Bot in Rails 5

July 02, 2020

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

Build a CLI Puppeteer tool to screenshot all the things!

July 01, 2020

In this example, we will screenshot vaild HTML with Puppeteer

Build your own code generator in JavaScript

June 30, 2020

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

Weekly Developer Roundup - 2020-06-29

June 29, 2020

Your weekly dose of trending articles and repos from across the web!

5 Resources to Level Up Your Design System

June 29, 2020

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

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

June 27, 2020

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

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

June 27, 2020

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

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

June 27, 2020

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

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

June 27, 2020

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

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

June 27, 2020

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

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

June 26, 2020

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

The ABCs of Rate Limiting ExpressJS Servers with Docker + Redis

June 25, 2020

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

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

June 25, 2020

Satirical Tech Lead Fridays

Authentication with Next Auth

June 24, 2020

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

Dead code elimination with the Babel AST Parser

June 23, 2020

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

Building an Alfred extension for my developer notes

June 23, 2020

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

Bundling TS React Electron Apps with Parcel

June 23, 2020

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

Using the AWS CDK to send a serverless Slack message

June 22, 2020

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.

Weekly Developer Roundup - 2020-06-22

June 22, 2020

Your weekly dose of trending articles and repos from across the web!

Programatically create or update GitHub files

June 22, 2020

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

Running complex applications with Tmux and Tmuxinator

June 22, 2020

Use tmuxinator to setup projects that require complex setups

Scraping websites with Xray

June 22, 2020

Use Nodejs and Xray to scrape the blog website

Algebra Properties

June 21, 2020

A short look at some important algebra properties and their formulas

Converting a rails routes output into a Postman Collection

June 21, 2020

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

Converting the blog to its own subdomain

June 19, 2020

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

Developer Roundup

June 28, 2019

Weekly roundup for June 28th 2019

Network Addressing

June 26, 2019

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

OSI Layers

June 24, 2019

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

Write Ahead Log

June 20, 2019

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

Scala Data Types

June 18, 2019

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

Web Fetch API

June 16, 2019

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

Auxiliary And Space Complexity

June 14, 2019

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

Hello Java Streams

June 12, 2019

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

Kafka Basic Terms

June 10, 2019

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

Intro To Elasticsearch

June 08, 2019

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

Intro To Cassandra

June 06, 2019

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

Autocomplete With RxJS

June 04, 2019

A quick look at how RxJS implements an autocomplete subscription.

Basics On Programming Paradigms

June 01, 2019

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

Logistic Regression Basics

May 31, 2019

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

D3 Scale

May 28, 2019

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

Reselect Quick And Dirty

May 25, 2019

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

Moving To Melbourne

May 22, 2019

tl;dr Syd => Melb.

Go Binary Search Trees

May 20, 2019

Go implementation of a Binary Search Tree.

Process Description And Control

May 17, 2019

A deeper look into processes under the hood.

D3 Word Cloud with Create React App

May 10, 2019

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

Queues with Kue.js, Node.js and Redis

May 07, 2019

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

EKS Basics

May 02, 2019

An introduction to what EKS is.

Redux Persist With React Native

April 29, 2019

Adding Redux Persist to React Native for data persistence.

Python Anagrams

April 25, 2019

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

Intro To Helm

April 22, 2019

An introduction into managing packages on Kubernetes with Helm.

Thread Basics

April 20, 2019

A look into how threads operate.

B Tree Basics

April 19, 2019

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

Istio With EKS

April 15, 2019

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

React Hook Basics

April 15, 2019

An introduction to React Hooks.

Rust Fizzbuzz

April 13, 2019

The classic FizzBuzz implementation in Rust with Unit Testing.

Ruby Trees

April 12, 2019

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

Running Detox With Expo

April 11, 2019

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

PHP Binary Search Trees

April 10, 2019

PHP implementation of a Binary Search Tree.

Trees in Golang

April 08, 2019

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

Java Linked List

April 05, 2019

Java implementation of a basic unidirectional Linked List.

Ruby Binary Search Trees

April 01, 2019

Ruby implementation of a Binary Search Tree.

Anagrams in JavaScript

March 31, 2019

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

Go Linked List

March 30, 2019

Go implementation of a basic unidirectional Linked List.

Python Binary Search Trees

March 22, 2019

Python implementation of a Binary Search Tree.

Spiral Matrices in JavaScript

March 18, 2019

JavaScript Spiral Matrices with unit testing.

MySQL Development With Docker

March 16, 2019

Setting up a MySQL container for local development.

Redis CLI Basics

March 12, 2019

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

Python Trees

March 11, 2019

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

Install Redis With Helm

March 09, 2019

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

EKS Pulling From Docker Hub

March 07, 2019

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

PHP Anonymous Functions

March 07, 2019

Basic intro to anonymous functions with PHP.

Overview of eksctl

March 01, 2019

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

Basic Slices with Golang

February 25, 2019

Basic applications of slices.

Ruby Constructors

February 20, 2019

How to build instances with Ruby.

Python Exceptions

February 16, 2019

Basic error handling with exceptions in Python.

PHP Constructors

February 12, 2019

Building instances with PHP classes.

Java Spiral Matrix

February 09, 2019

Java Spiral Matrices with unit testing.

PHP Unit Testing

February 09, 2019

Basic unit testing for PHP.

Java Lambda Functions

February 05, 2019

How to create basic lambda functions in Java requiring interfaces.

Docker application with Nginx and Nodejs

January 29, 2019

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

Ruby Lambda Functions

January 25, 2019

A quick look at Ruby Lambda and Proc functions.

Go Basic Strings

January 22, 2019

Basic string manipulation in Golang using the strings package.

PHP Array Method Applications

January 22, 2019

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

PHP Linked List

January 17, 2019

PHP implementation of a basic unidirectional Linked List.

Java Maps

January 14, 2019

Basic implementation of maps in Java.

Java Initialising Arrays

January 06, 2019

Using the arrays and array list utility packages in Java.

Javascript Logging Conventions

January 03, 2019

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

Braintree with Nodejs and React

January 02, 2019

Create a basic payment with Braintree using React and Nodejs!

Hello Gin

December 25, 2018

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

React Portal Basics

December 22, 2018

An introduction to React Portals.

Diagrams With Mermaid

December 18, 2018

Checkout how to create dynamic diagrams using mermaid!

Go Spiral Matrix

November 22, 2018

Golang Spiral Matrices with unit testing.

Ruby Error Handling

October 25, 2018

Examples on how to handle errors in Ruby.

Expo Amplify

October 22, 2018

Example of adding in Amplify

Java Anagrams

October 22, 2018

Solution in Java.

Intro To Myrocks

October 22, 2018

Short introduction and link to the MyRocks engine.

Java Trees

October 22, 2018

Solution in Java

JavaScript Naming Conventions

October 22, 2018

Suggestions and guides for naming in JavaScript.

LSM Tree Basics

October 22, 2018

Resources for log-structured merge trees.

Principles

October 22, 2018

A look at current base principles.

Contrast Colors

October 19, 2018

A small intro into auto-determing WCAG color contrast standards

Hello Shave

October 15, 2018

What do you do when your content becomes super long?

Yargs Parser

October 12, 2018

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

Ruby Linked List

October 09, 2018

Ruby implementation of a basic unidirectional Linked List.

Depth Sharp Cli

September 22, 2018

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

Go Fizzbuzz

September 22, 2018

The classic FizzBuzz implementation in Golang with Unit Testing.

Debouncing events in React

September 22, 2018

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

React Context Basics

September 18, 2018

An introduction to React Context.

React Dynamic Imports

September 12, 2018

See example code for dynamically importing a React Component.

Python Spiral Matrix

September 11, 2018

Python Spiral Matrices with unit testing.

Build September 24 2018

August 24, 2018

Quick onboarding app build.

Build September 23 2018

August 23, 2018

Building React Native apps.

Build September 20 2018

August 20, 2018

Quick overview on component updates.

Build September 19 2018

August 19, 2018

Quick website build.

Build September 18 2018

August 18, 2018

Quick website build.

Build September 17 2018

August 17, 2018

Quick website build.

PHP Trees

August 12, 2018

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

Python Linked List

August 12, 2018

Python implementation of a basic unidirectional Linked List.

Ruby Anagrams

August 07, 2018

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

PHP Anagrams

August 02, 2018

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

Kubernetes Healthchecks

July 24, 2018

An example of a simple health check for Kubernetes.

Ruby Fizzbuzz

July 19, 2018

The classic FizzBuzz implementation in Ruby with Unit Testing.

PHP Spiral Matrix

July 15, 2018

PHP Spiral Matrices with unit testing.

Python Fizzbuzz

July 15, 2018

The classic FizzBuzz implementation in Python with Unit Testing.

Ruby Spiral Matrix

July 15, 2018

Ruby Spiral Matrices with unit testing.

Expo Facebook Login

July 12, 2018

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

Java Fizzbuzz

July 04, 2018

The classic FizzBuzz implementation in Java with Unit Testing.

JavaScript FizzBuzz

July 04, 2018

The classic FizzBuzz implementation in JavaScript with Unit Testing.

PHP Fizzbuzz

July 04, 2018

The classic FizzBuzz implementation in PHP with Unit Testing.

Hello, Blog!

July 02, 2018

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