Docker Local Image Repository Bloat – Prune Daily

By | Engineering

Your local docker repository can quickly be filled with images that are unnecessary and not associated with any running containers. This could happen if you have an intermediary image that is used in the building of a final image or if you pull down specific versions of an image and leave the old ones which over time will simply build…

Read More

Parse URL QueryString in Javascript

By | Engineering

After stumbling through a few blog and stack overflow posts, I finally landed on an article by David Walsh to find the best way to parse a website URL with Query String parameters. In his article he refers to the use of a URLSearchParams JavaScript object that is natively available in modern browser. The URLSearchParams interface defines utility methods to work…

Read More

UFW Quick Cheat Sheet Reference

By | Engineering

UFW – Uncomplicated Firewall The default firewall configuration tool for Ubuntu is ufw. Developed to ease iptables firewall configuration, ufw provides a user friendly way to create an IPv4 or IPv6 host-based firewall. By default UFW is disabled. To allow a port (ex. SSH = 22) ufw allow 22 To allow all http, https traffic over TCP ufw allow proto…

Read More

Upgrade Your Terminal with iTerm2 and OhMyZsh

By | Engineering

As a developer, when you switch from a Windows based PC or laptop to a Mac, you’ll start to notice an affinity for the terminal. Here’s two pro tips to get your terminal running at tip-top condition. Install iTerm2 Install a new terminal called iTerm2 that provides more robust features and customization. On the link below you’ll find a download…

Read More

dotnet DI Dependency Injection – Transient, Singleton, Scoped (per Http Request)

By | Engineering

With dotnet’s built in Dependency Injection (DI), you have the choice to wire up dependencies with three different flavors of binding. Here’s a quick reference for how those bindings work. Transient Transient lifetime services are created each time they’re requested. This lifetime works best for lightweight, stateless services. services.AddTransient<IService, Service>(); Scoped Scoped lifetime services are created once per request. services.AddScoped<IUsersService,…

Read More

Failed to bind to address – Kill process on port 3000

By | Engineering

When you’re creating a NodeJs application, dotnet core, or other application that spins up a quick server, you may have an app server that is hosting the app. Occasionally the app server will hang and when you go to start up the app again it will respond that the address is already in use. The server/process will need to be…

Read More

Schedule Cron Job on Linux

By | Engineering

The origin of the name cron is from the Greek word for time, χρόνος For reference, here’s how to create a quick cron job task that can run on a recurring schedule on Linux. You have one of two options to get a script to run, either dropping a script into one of the following folders on a linux machine or creating…

Read More

What Linux Distro is Running?

By | Engineering

Wondering what linux distro is running in a container or on some forgotten VM? I’m sure if you’re in the various flavors of Linux, including but not limited to Ubuntu, CentOS, Fedora, Debian, etc., then you would recognize the distro by file structure or other subtle differences. For those that don’t recognize the distro instantly, here’s a quick linux command…

Read More