Pattern Matching without Regex! – Introducing the Rosie Pattern Language

Recently, I was able to attend Jamie Jenning’s talk on the Rosie Pattern Language (RPL/“Rosie”) at Strange Loop 2018. I had not previously been aware of Rosie, but after learning about it, I am extremely excited about the prospect of never writing another regular expression again. Read more on Pattern Matching without Regex! – Introducing the Rosie Pattern Language…

Making Practical Use of OpenSSL’s s_client

I frequently troubleshoot SSL/TLS server configurations, X.509 certificates, and other SSL/TLS-related concerns. One of the most useful utilities in my toolbox is OpenSSL. I use it for a huge number of tasks: generating new X.509 certificate signing requests, generating random strings for encryption keys, retrieving server X.509 certificates, testing support SSL/TLS ciphers, etc. Read more on Making Practical Use of OpenSSL’s s_client…

Creating Zendesk Tickets from Slack Slash Command

We use Zendesk to help manage internal support requests that the IT operations team handles internally. Zendesk provides multiple methods (or channels) to submit requests, such as e-mail and the Zendesk Guide (Help Center). However, most internal communication with the IT operations team now occurs via Slack. In order to make submitting requests easier, I crafted a Slack app to service slash commands as a way to submit support requests. Read more on Creating Zendesk Tickets from Slack Slash Command…

Secure HTTP Proxy with Static IP

Sometimes, we work with APIs that require whitelisting of origin IP addresses for access. This can prove challenging when applications run on SaaS platforms hosted in the public Cloud—you cannot be guaranteed that your application will make requests from a consistent IP address (or range of IP addresses).

For example, hosting on Heroku means that your origin IP address could conceivably be any IP address in the glut of AWS address spaces. Read more on Secure HTTP Proxy with Static IP…

Formatting AWS CloudFront and ELB Logs for Easy Review

Access logs from AWS CloudFront distributions and AWS Elastic Load Balancers can be essential to diagnosing problems with an AWS infrastructure. AWS provides the ability to store these logs in AWS S3 buckets.

However, the log files are often in very many small files which need to be combined in order to get a full picture of the traffic that they represent. In order to make this process easier, I wrote a few scripts which help me to quickly download and format the logs in a usable format for review. Read more on Formatting AWS CloudFront and ELB Logs for Easy Review…

Avoiding Incomplete/Corrupted Files During Processing Operations

Applications that work with files on disk can encounter incomplete or corrupted files if a target file is actively being written to disk by another process. Typically, this happens when two different systems or processes are interacting with the same file independently. Read more on Avoiding Incomplete/Corrupted Files During Processing Operations…

Five of My Favorite Command-Line Utilities

I spend a lot of time on the command line (generally, GNU/Linux), and often work on automating processes and tasks. My work often occurs on a remote machine to which I do not have access, and it generally must be headless (no GUI).

As a result, I have collected an arsenal of command-line interface (CLI) utilities that I always install when I’m setting up a new development machine for myself. There are often graphical analogues for these utilities, but I prefer these because of their CLI. Below is a sampling of my favorites. Read more on Five of My Favorite Command-Line Utilities…