Fixing Safari’s Cache With Vue.js (Developer Mode) (2020)

I happen to like Apple’s Safari browser, and I’d like to use it when developing stuff with Vue.js. I ran into a problem with this, however: Safari would cache the response from the live-reload development server on localhost, so that when I made changes it didn’t update, even when hitting the reload button. I think I’ve solved this though with a Cache-Control header configued in the project’s vue.config.js file. tl;dr Put this in a file at project root called vue.
Read more →

Where do I store my AWS credentials for working with Terraform? (2019)

It’s always a good practice to keep your authentication/authorization details out of your code (or anything that’ll be shared with others via source control, etc.). So when working with AWS and Terraform, how do you securely tell it what your AWS credentials are? The answer: $HOME/.aws/credentials (On Windows, "%USERPROFILE%.aws\credentials".) This is going to be a plain text file named “credentials” in that directory. A minimal implementation will contain just 3 lines.
Read more →

ld: library not found for -lssl after updating XCode (2019)

I recently updated XCode on my MacOS Mojave hackintosh, and to my surprise thereafter, was unable to install a version of the MySQL2 gem for a project I was working on. The solution ultimately was to install a package I didn’t know existed. When upgrading to a slightly newer version of Ruby for a (somewhat legacy) project I was working on, I had to re-bundle to reinstall gems. One of those was mysql2.
Read more →

Using dd to Create OS Installation Disks (USB) (2019)

When creating OS installation media, a lot of people suggest using various third party tools, such as Etcher and others. However, it’s fairly easy just using dd (Data Dump) on any Unix-like OS to do the same thing. Zero Out the Disk Insert a USB stick and identify its appropriate name under /dev/. For MacOS, you can try diskutil list - just identify the disk that wasn’t there before you inserted your USB stick.
Read more →

Serving Static Assets Over localhost HTTP with Caddy (2018)

Caddy is a great HTTP/2 server written in Go that you can set up rather easily on MacOS to serve static assets over localhost. This is a quick how-to showing how I personally have it set up for development/testing purposes. Install It I use Homebrew to install such things: brew install caddy This will install Caddy, but won’t create a configuration file for it. By default, Caddy will serve HTTP assets in the directory you start it from if you do so in the foreground, but since I wanted this always running as a service, I needed to create a simple configuration file and use brew services to automate loading it with MacOS' launchctl.
Read more →

Hackintosh: How to find out what motherboard model you have (2018)

Hackintosh enthusiasts often have to fix small but important missing or malfunctioning features of their OS after they get their first successful build, and key to that is knowing your hardware. And instead of being outright lied to by MacOS and its built-in tools, I’ll show you how one terminal command can help you get the truth. Let’s get straight to it: $ ioreg -rc FakeSMCKeyStore +-o FakeSMCKeyStore <class FakeSMCKeyStore, id 0x100000128, registered, matched, active, busy 0 (1 ms), retain 13> { "IOProbeScore" = 0 "CFBundleIdentifier" = "org.
Read more →

Deleting a Windows 10 Storage Space Using PowerShell (2018)

If you tried to delete a Storage Space via the built-in Windows GUI and it just hangs forever, try this PowerShell method for quickly deleting it so you can re-use your drives. I recently set up a Windows 10 Storage Space - basically a built-in software RAID - and realized the performance was horrible, so I went to delete it. But the GUI just sat there and hung for hours, with no progress and no errors reported.
Read more →

wget: Download entire directories over HTTP (2018)

Say you want to download everything in a certian directory that’s shown via HTTP (like nginx directory listing). wget can help you get the job done. For example, let’s say you have http://somehost/ISO/, and in that directory are subdirectories for linux, bsd, and windows. /ISO - /linux - /bsd - /windows - index.html And let’s say that inside linux are several Linux distribution ISOs, same with bsd and windows contains ISOs for multiple versions of Windows.
Read more →

Development Platform Considerations: WSL vs. MacOS (2017)

For over a year now, my development environment has been a mix of Microsoft’s Windows Subsystem for Linux, and the more often-used (at least in my industry) MacOS environment. Each has its virtues, and each has problems. This article discusses reasons for switching away from MacOS, the differences between the two development platforms, and compares and contrasts developer tools available for each. Apple’s MacOS: The Gold Standard In my “industry” (really, a small slice of the overall “developer/devops” community that usually works with technologies like Ruby, Linux, Chef, maybe some Python, etc.
Read more →

(Video) Co-Presenting Trailblazer with Nick Sutterer (2015)

While at Railsconf 2015 I was fortunate to have the opportunity to co-present on Trailblazer, a new way to structure Ruby on Rails applications, with its creator, Nick Sutterer. Nick is a great guy, and a lot of fun to work with. For some reason he and I get along famously well, and Engine Yard asked us to co-present that year. In this presentation, Nick explains the “why” of Trailblazer, and I show the audience an application built with Nick’s framework.
Read more →

(Video) App Server Arena: Comparing Ruby Application Servers (2013)

I had the privilege of presenting at Lonestar Ruby Conference in 2013 on the topic of Ruby application servers. To many Ruby developers, this may sound like a rather esoteric and useless topic, but as I show in this presentation, your choice of application server can have a profound impact on how your application behaves in production. This talk specifically examines four application servers: Thin, Puma, Passenger and Unicorn. https://www.youtube.com/embed/jgLASW2jYhI
Read more →

(Video) Rails 4: Changes and New Features (2013)

Ruby on Rails version 4 released, by total luck, the very same day I gave this presentation at “Austin on Rails”, a local Ruby on Rails meetup in Austin, TX. This presentation covers tons of changes and features between versions 3 and 4 of the popular web application framework. Link to the video on YouTube This presentation is also accompanied by a two-part series I wrote for Engine Yard; it seems that their migration to a new blog platform has mangled the formatting, but the information is nonetheless available at the Engine Yard blog as well as PDF documents I’ve made from said blog in the event Engine Yard no longer hosts the content.
Read more →

New Relic Request Queueing (2013)

New Relic’s “Request Queuing” metric is an often misunderstood and badly named figure that often confuses and worries application developers and DevOps engineers. In 2013, after receiving the umpteenth support request worried about this metric while working with Engine Yard’s Application Support team, I took some time and wrote this guide to show how request queueing is actually request latency, and does not indicate that your application server has its request queue backed up, but instead that this is the difference in time between front-end proxy and the execution of the New Relic Agent code in your app.
Read more →

New Features in Rails 3.1 (2011)

Read more →

From Rails 2.3 to 3.0 (2011)

Read more →

Moving to Hugo

Test post for moving to Hugo blog system
Read more →