MOUNTAINS TO METROS

A scenario for Locomotion, that old train game from the same guy who made Roller Coaster Tycoon. Your goal is to create a transportation network moving valuable resources out of mountains into nearby cities and industries. It’s not great, but I like playing it. Mountains to Metros

MY THOUGHTS ON GOOGLES PAGE SPEED INSIGHTS

Google’s Page Speed measure is a tool to give developers feedback as to how their web page is performing. It rates the pages on a scale of 0 to 100, with 100 being “perfect.” In my opinion this system is very flawed and it creates an ambiguous number that encourages developers and clients to waste time and money chasing after unobtainable goals. Obligatory Disclaimer: These opinions don’t reflect my employer at all.

Read more

INSTALLING GLUSTER ON OPENVZ CONTAINER

Setting up OpenVZ containers to be able to use a FUSE filesystem is pretty simple, but it takes a bit to figure out exactly which steps you need to follow. There are a myriad of tutorials online (and here’s yet another), but this one focuses specifically on Gluster, a distributed network file system. With Storehouse, we use Gluster to act as our storage backend for most of our customer data. By default, our OpenVZ containers could not mount the volume directly, since FUSE is not enabled.

Read more

RESIZING LVM PARTITIONS ON CENTOS

One of the things I’ve done for my employer is resize partitions on a few CentOS machines that already had customer data on them. The default CentOS setup didn’t work exactly for our needs, so resizing the /root and /home partitions were our chosen course of action. Overall the process is pretty simple, but I’m writing it down here since it takes the concatenation of a two different processes to get things done.

Read more

DOCTRINE ENTITY TESTING 2.0

About a month ago, I shared a method for testing doctrine entities. This came about after my push to get 100% code coverage on The Storehouse. I’ve already found a new and better way of doing this that gives you a bit more flexibility. This new method does the exact same thing: test getters and setters for doctrine entites. The difference here is that I used a trait rather than a class.

Read more

CHEAP EBAY SERVERS

One of the most challenging things about starting a business is figuring out how to setup your operations. With a tech company, this gets trickier because of the plethora of options on how to handle your business. When setting up a physical operation, sourcing hardware can become a challenge, especially when capital is limited. One of the things that can really help is used equipment, since for a small operation the latest and greatest can be overkill.

Read more

DOCTRINE ENTITY TESTING

One of the things I’m working towards with Storehouse is 100% code coverage. This really exposed the need to have a more streamlined way of testing Doctrine entities, since they have to have a lot of getProperty and setProperty functions. My solution was to write a simple test case that runs through properties of an object and checks each one. Update: It’s only been a month and I’ve already found a better way of doing things.

Read more

THIS IS WHY YOU NEED A UPS

LOAD BALANCING WITH PFSENSE

I’ve been using pfSense in production for a number of years. What started out as a casual exploration of alternative firewalls years ago has blossomed into a real love of pfSense and the power it offers. Being a software based firewall gives lots of features out of the box, including built in load balancing. Although load balancing in pfSense doesn’t get much hype, it probably should. It solves a unique problem in a very effective and reliable way.

Read more

GLUSTERFS CLIENT LOG FILES ARE HUGE

This is an issue I recently fixed on our GlusterFS installation, but I didn’t see anything directly on Google for lazy people like myself. The issue is that the log files in /var/log/glusterfs are HUGE. Ours ended up being > 30 GB after about a day and ended up causing issues since the filesystem of our container filled up. Our log files were lots of: [2016-08-24 13:51:20.776255] I [dict.c:370:dict_get] (–>/usr/lib/x86_64-linux-gnu/glusterfs/3.5.2/xlator/performance/md-cache.so(mdc_lookup+0x2ff) [0x7fd05c6e4c6f] (–>/usr/lib/x86_64-linux-gnu/glusterfs/3.

Read more