Technical Ramblings

Rants about programming and software in general.

For my recent blog posts, please head over to my company blog.

Problems When Scaling Fails–and Solutions

🗓 13 May 2020
In: 📁 DevOps

Things were working fine a few days ago... and then traffic spiked for whatever reason and the system could not handle it. Everything is slow or just not working. Maybe deploying new code to your servers isn't working consistently either. It's just a hot mess. The application was working fine...

Reducing Operational Expenses by Going Serverless with AWS

🗓 14 Apr 2020
In: 📁 DevOps 📁 AWS

This post may apply to you if you want to reduce infrastructure expenses. Though, I bet everyone identifies with that. But how about this: you’re paying for a marketing website/some CMS server, and you are not actively doing anything with it (and really don’t plan to). You should be thinking...

To Serve or Not to Serve: Amazon Aurora Serverless

🗓 24 Sep 2019
In: 📁 DevOps 📁 AWS

Serverless is a borderline buzzword nowadays. Serverless websites! Serverless APIs! Serverless…everything! And now serverless databases. Amazon Web Services has their own serverless database offering, which is semi-new, semi-old, depending on the “compatibility version.” This is how you have to use Amazon Aurora, AWS’s database engine, which has both MySQL and...

Remote Team Workflows

🗓 28 May 2019
In: 📁 Remote 📁 Communications

Being in the same room as the people you are working with is not a luxury we all have. Sometimes we are remote from the people we’re developing for and that we develop with. For the Managed Software Services team, that’s basically the rule rather than the exception. We often...

Diagnosing Problems Quickly

🗓 21 May 2018
In: 📁 Support

Everything is on fire. Okay, not really. One thing is on fire. Or is it? You have no idea. The client knows. The client knows that everyone is screaming and nothing is happening and the dollar signs are evaporating. More are going to go the way of the dinosaur unless...

Basic Web App Architecture 101

🗓 04 Apr 2018
In: 📁 Architecture 📁 Web App

Okay, so you want to build a web app. Let’s use a very basic web application for instance. The user story is this: The user logs in. The user goes to another page, which has a form. When the user clicks submit, data is saved and they can view it...

Making a Static Website with Jekyll and S3

🗓 14 Feb 2018
In: 📁 AWS 📁 Web Development 📁 Jekyll

If you need to make a marketing website for your business, aside from the branding and design aspect, your main concerns are probably: Will the site be fast and responsive for my potential clients/customers? How much will the site cost to make and maintain? Site speed and reliability is huge...

AWS Do's and Don'ts

🗓 15 Sep 2017
In: 📁 DevOps 📁 AWS

So. You’re migrating to the cloud. Simple, right? Everything is basically the same. You’ve got a server with an operating system of your choice. Nothing’s really different. Just launch an EC2 instance on AWS, do everything you’ve always done, and boom. Done. You’re certifiably in the cloud. Yeah. No. That’s...

A Case for Amazon's Elastic File System

🗓 18 May 2017
In: 📁 DevOps 📁 AWS

Imagine this: You’re moving an application from a shared server to a cloud system. This application has a massive folder of files saved onto the server that is growing constantly. When you get to it, it is about thirty-five gigabytes. You could just move the application to a single server...

Ansible and AWS: Painless Deployment

🗓 14 Mar 2017
In: 📁 DevOps 📁 AWS 📁 Ansible

Ansible is a fantastic way to orchestrate deployments that aren’t exactly trivial. In a complex deployment, there are dozens of players and they all need to act at a specific moment. It is no wonder then that Ansible calls the deployment scripts playbooks. It makes it sound so artistic. You...

Ansible Dynamic Inventory Thoughts

🗓 03 Feb 2017
In: 📁 DevOps 📁 Ansible

My DevOps experience is varied but limited. I’ve done some Chef, packer, and now Ansible. The latter of which is my most recent dive into scripting deployments and probably the most enjoyable. What Ansible was being used for in my case was to: Deploy Infrastructure Stack onto AWS. In this...

Comparing Common LISP and Clojure: Cons Cells

🗓 24 Jan 2017
In: 📁 Coding 📁 Clojure

The existence (or lack thereof) of cons cells in Clojure might be one of the first things LISPers notice when switching to Clojure. It was for me, anyway. In Common LISP and other LISP languages, cons cells are two element structures that are the basis of all lists and essentially...

Assimilating with Clojure: REDUX

🗓 27 Oct 2016
In: 📁 Clojure

Functional Programming nowadays is seen as kind of sexy by some sects of programmers and developers. Object Oriented Programming has for so long been a crutch, and using functional programming languages seems liberating and more efficient. It feels like a new toy. Which it really isn’t, but, programming styles, like...

Emacs Kill Buffer Hydra of Power

🗓 21 Oct 2016
In: 📁 Emacs

I’ve just started to get into using the Emacs Hydra package by abo-abo, a true saint among Emacs users. Hydra is an Emacs package that allows you to create chained commands. It is kind of hard to explain without a concrete example. The example I am going to use is...

iOS10 Music App

🗓 16 Sep 2016
In: 📁 iOS 📁 Apple 📁 QA 📁 Bugs

I used the iOS music app pretty religiously. I have over three thousand songs. The music apps I use are very important to me. I need clear organization, design, and structure to be able to listen effectively. So when the iOS 10 music app rolled out I was pretty furious....

ElasticSearch Queries

🗓 16 Sep 2016
In: 📁 ElasticSearch

Elasticsearch is a tool for searching. Elastic being a part of its name, it is rather flexible. Whatever you need to search on and how, it can probably do. Say you wanted to do an exact match on a value or any value of an array of values to a...

Moving Emacs to a Server setup

🗓 13 Sep 2016
In: 📁 Emacs

This is one of the big leaps of my Emacs configuration: Getting it run as a ‘server’ with ‘clients.’ AKA a Daemon. So you load it up once and never again. Great reduction in start up times. Basically, you start emacs in the background and then new instances will be...

My Hack Emacs Configuration

🗓 29 Aug 2016
In: 📁 Emacs

Okay so I’ve been using Emacs for a couple months now and have created a pretty intense configuration. Not that intense. Just…sort of all over the place. I use the GUI version of Emacs, so it is more tailored for that than the console version. I have some conditionals set...

Database Views

🗓 26 Aug 2016
In: 📁 SQL

Database views are a type of stored query that create a pseudo-‘table’. Instead of doing the same join table mish-mash to get the relationship of data needed, you can create a view that will store the query to get that data. This query is run every time so the data...

Systemd Services

🗓 19 May 2016

To use systemd one must use service files to run the particular script. These ‘services’ can be slightly unwieldy. But they do eventually work. We were trying to get a service to start up a unicorn process with rbenv. Our service file came to work something similar to this (pretend...