Securing Elasticsearch – Part 1

The most frequently asked question for ElasticSearch and security is “how do I require login”? Once you’ve answered and implemented the answer to that question; a larger, truly more troublesome issue looms. The same principals used to secure ElasticSearch; typically a proxy fronted by Apache/nginx use various auth techniques. If you know what you’re doing, […]

angular-ui-router – IE8 and nested states

Just a quick tip, If you still have to maintain compatibility with IE8 (< AngularJS 1.3) – and you’re using angular-ui-router for nested views, the documentation for nesting states says you should use “<ui-view />” for your template for an abstract parent state: Remember: Abstract states still need their own <ui-view/> for their children to plug into. So […]

Skeletons: Older versions of ntp and not using DNS

A while ago (years), I reluctantly set up ntp on some servers using an IP address for the source server; at the time, using a DNS name in ntp.conf was incompatible with the ntp/ntpd version and I didn’t want to go out of my way to compile it from scratch. Today, I realized that I’ve […]

NTP not synchronized

MySQL’s max_connect_errors … 6 years later…

Having recently been bitten by the awful default value (10) for max_connect_errors on a production server – I’m having a very hard time coming to terms with who the heck thought this would be a good way to do it. This type of “feature” allows you to effecitvely DOS yourself quickly with just one misconfigured […]

Using Logstash to log SMTP/email bounces like a boss

I’ve recently worked on a customized emailing suite for a client that involves bulk email (shutter) and thought I’d do a write up on a few things that I thought were slick. Originally we decided to use AWS SES but were quickly kicked off of the service because my client doesn’t have clean enough email […]

Simple overview


PHP 5.5 RC1 released – what I’m most excited for.. 2

Where I work we have unfortunately had to skip the 5.4 release of PHP; the release cycle between PHP 5.4 and PHP 5.5 was pretty darn fast and we never got around to replacing APC. We’ve finally got everything up to speed to adopt 5.5 when it hit’s stable release. I figured I’d fill in […]

A safer approach to using Monolog’s SocketHandler

Monolog is perhaps the most popular logging library out there for PHP at the time of this writing. It has a lot of support and a nice balance of features. Unfortunately I have one gripe to make about the rather closed implementation of the SocketHandler , er, handler?   The problem with the Monolog SocketHandler […]

My Google exit strategy

I’ve been saying this for a long time now, Google can’t be trusted. I think it’s becoming commonplace in other blogs to start talking about having an exit strategy. I’ve been planning for a while (starting with the removal of my blog from blogspot). The Google products I’ve unfortunately come to rely on: Gmail (personal, […]

MySQL command line – zebra stripe admin tool 1

I came up with a cool usage for the zebra stripe admin tool.  In MySQL you can set a custom pager for your MySQL CLI output; so one can simply set it to the zebra stripe tool and get the benefit of alternated rows for better visual clarity. Something like ‘PAGER /path/to/zebra’ should yield you […]

Zebra stripe tool used as a MySQL pager

Atlassian Fisheye starter license and 10 commiter limit

The problem with Atlassian Fisheye starter license: I love using Atlassian Fisheye at work. It’s a very nice frill to have for a small team especially since it saves us time and adds a very easy, fast way to document the reviews and be open about feedback. I have one gripe however; the 10 commiter […]

pt-online-schema-change and partitions – a word of caution

Just a quick word of wisdom to those seeking to cleverly change the partitioning on a live table using a tool like pt-online-schema-change from the Percona Toolkit. You will lose data if you don’t account for ALL of your data’s ranges upfront. (E.g: MAXVALUE oriented partition). The reason being is how online schema changing tools […]

PHP: array_merge(array $a, [ array ...]);

Wait, PHP wants to array_merge an array with… itself? Take another look at this: array_merge(array $a, [ array ...]); If you’re good at reading API’s – you’ll see how … odd this is. Seeing as I just got nipped in the butt by forgetting to have another array to merge into – it’s curious as […]