JavaScript – Replace Only Replaces First Occurence

By | Engineering | No Comments

It’s awkward to find out that the the string.replace(targetString, replaceWith) function in JavaScript doesn’t act like it does in most other modern programming languages. JavaScript will only find the first instance of the target string and replace it. It will not continue to find other instances of the targeted string and replace it. Java/.Net/etc. will search for all occurrences of…

Read More

Parse URL QueryString in Javascript

By | Engineering | No Comments

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 | No Comments

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 | No Comments

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 | No Comments

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

Schedule Cron Job on Linux

By | Engineering | One Comment

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