I’ve been reading and writing engineering peer reviews for a long time (almost twenty years - where does the time go?), and the vast majority of these are a waste of time for the reviewer and the individual in question. For the record, I think peer reviews are fantastic and we should leverage them more - but they need to be carefully structured and cultivated so that everyone benefits from…
We all know that technical interviews are broken. Or so say the majority of the folks on the internet who have an opinion to share. I want to join the side of the argument who admits that something isn’t working for technical interview models, but I think “broken” is the wrong word. I want to argue that technical interviews tend to optimize for the wrong things, and the…
This is not a post about using <your favorite ai tooling> to write your performance reviews. Don’t do that. This is a post about how to leverage your team to do a lot of your performance review work on your behalf. This works best on growth oriented teams that cultivate a high degree of psychological safety ( I have thoughts about achieving this ). It will also work better if your leadership…
I recently read Ease of maintenance is a feature along with some HN commentary . I walked away from this nodding emphatically along with the concept that ease of maintenance is a feature , and choosing sides among the crowd who are for or against a particular implementation or language. I also walked away a little angry that Ronak pointed out something important, gave some candidate assessment…
Full disclosure: I am in the middle of an adventure in uncharted territories. I’m one of those individual contributors who turned to management because it made sense for some number of reasons that felt more beneficial than my urges to continue making individual contributions. I like to pretend that I’m on some sort of engineer-manager pendulum , but in truth I’m just moving from…
I encountered a lot of issues installing Spinnaker (1.6.1 and 1.7.x) on Ubuntu in Amazon Web Services. This post is the collection of steps I took to get a demo server with a working Spinnaker and Jenkins installation. I am going to use GitHub and the GitHub Branch Source Plugin from CloudBees in order to trigger my build/bakes. My target flow for the demo is: 
 
 Push a branch/create a…
I have a couple roommates (read: children ) who recently developed an interest in SuperTux. With 0.4.0 available in the Ubuntu repositories, we were quickly up and running with the core levels and many of the excellent community contributed levels. Eventually, I let it slip that you could create your own levels, and the fun really started. There’s a C# editor that you can run and install on…
This post is part of series on my implementation of immutable infrastructure for bootstrapped projects. You can find the other posts here: 
 
 Introduction 
 An immutable infrastructure virtual machine 
 Basic AMI generation with Packer 
 Deploying your AMI with Asgard 
 Releases, automation, and next steps 
 
 If you find this implementation interesting, you will…
This post is part of series on my implementation of immutable infrastructure for bootstrapped projects. You can find the other posts here: 
 
 Introduction 
 An immutable infrastructure virtual machine 
 Basic AMI generation with Packer 
 Deploying your AMI with Asgard 
 Releases, automation, and next steps 
 
 If you find this implementation interesting, you will…
Companies large and small are singing praises for infrastructure as code and immutable infrastructure. Younger companies are using tools around Docker and containers to promote and mandate immutable infrastructure. These are all great, but if you are a lone bootstrapper burning the midnight oil, it does not seem like the end justifies the means (at least not to me). Not only do these tools require…
I am fond of feature branch git workflows. If the team prefers additional structure, gitflow is also a great tool. In my current position, the bulk of my work takes place in repositories with few maintainers and a less-structured workflow is more comfortable. 
 Most of my work happens on GitHub, so the feature branch technique is mildly altered to correspond to some of the GitHub specifics .…
This could be better automated, but for now, it was easy enough to set up and it works well for my needs. 
 S3cmd 
 S3cmd is mature and full featured. Since Hugo ships a binary only (awesome!), using s3cmd seems like the easiest corresponding solution to get your static site onto S3. Out of the box, s3cmd gives us the following awesome features: 
 
 sync behavior - only upload…
After getting ELK (Elasticsearch, Logstash, Kibana) up and running, an early challenge is managing your indices. I’m assuming Elasticsearch 1.0.0 and greater, and given that version the API provides dead simple mechanisms for everything from closing/deleting indices to snapshots and restore procedures (closure/delete have been around since pre-1.0.0, snapshot/restore is 1.0.0 and newer).…
If you are not familiar with these tools, you should spend some time investigating Asgard (deployment management for AWS; from NetflixOSS) and Hubot (extensible chatbot; from GitHub). 
 The Goods 
 hubot-asgard (github) | hubot-asgard (npm) 
 ’npm install hubot-asgard’ should get you most of the way there, check the readme on either github or npm for additional details…
I ran into a couple issues when building a debian package for nodejs. 
 
 Python build processes create a bunch of *.pyc files that cause problems when re-running debuild after errors 
 The python configure script doesn’t compare well with more classic configure scripts (notably –build vs –dest-cpu) 
 Make encounters issues when passing standard params 
 Auto…
Update (2015-08-10): Lately I have been using a very basic Vagrant/Virtualbox config for Asgard needs. This config is easily applied to an Amazon instance, and you might be interested in the details of Using Asgard in a virtual machine . 
 Prerequisites 
 
 AWS Account 
 AWS EC2 Keypair 
 AWS Access Key (IAM - not root account) 
 AWS Account Number 
 Some SSH…
Update (2015-08-10): Lately I have been using a very basic Vagrant/Virtualbox config for Asgard needs. This config is easily applied to an Amazon instance, and you might be interested in the details of Using Asgard in a virtual machine . 
 Updated Asgard 1.2 AMIs are available for Ubuntu 12.04.2LTS and Amazon Linux 2013.03. These AMIs include system updates as well as the 1.2 Asgard war. 
…
So you want to move to the cloud. You’ve read about it; you like the pretty pictures. You tasted the Kool-Aid, and you know it’s good (but it still feels so wrong). You carefully digest all the somewhat detailed accounts about how it can be an easy step-by-step move to the cloud . 
 It isn’t easy, but it’s not impossible. Adrian’s notes above give you a really…
*** UPDATE: Be sure to check for updated AMIs . Some updates include newer Asgard versions, others include optimizations and enhancements to the AMI itself. *** 
 Updated Asgard AMIs are available for Ubuntu 12.04.2LTS and Amazon Linux 2013.03. These are minor updates, and while I’m deprecating the original releases, there’s no reason to upgrade if you are using the previous AMI…
*** UPDATE: Be sure to check for updated AMIs . Some updates include newer Asgard versions, others include optimizations and enhancements to the AMI itself. *** 
 Netflix OSS: Asgard Amazon Linux (1.1.1.01) 
 US-East (VA): ami-17761e7e
US-West (OR): ami-1bfe6f2b 
 This is a pre-built, public AMI that provides Netflix OSS: Asgard on Amazon Linux. This AMI is free to use, and I will…
UPDATE: I moved these scripts to the elasticsearch-logstash-index-mgmt repository . 
 Here are a set of scripts for managing Logstash indices in elasticsearch . This set of scripts is inspired heavily by a previous collection . The general concept is that I do not want to keep all my logs in elasticsearch, when it is highly likely that I will only be searching for logs from the past couple of…
*** UPDATE: Be sure to check for updated AMIs . Some updates include newer Asgard versions, others include optimizations and enhancements to the AMI itself. *** 
 I am creating a number of Amazon Machine Images that include pre-configured Netflix open source software. Asgard is the first target, and this is the first release. I plan to support at least Ubuntu and Amazon Linux; ideally CentOS…
The Mob is an Amazon Machine Image that demos a group of Chicago Boss applications showcasing basic functionality and database connectivity to PostgreSQL, MySQL, and MongoDB. 
 You can launch The Mob with ami-ef47f186, it is publicly available. 
 The applications are available on Github: 
 
 Chicago Boss MongoDB App 
 Chicago Boss MySQL App 
 Chicago Boss PostgreSQL App…
This is the initial release of The Mob, a pre-configured AMI with Chicago Boss, supporting databases, Nginx, a ‘boss’ user, and Erlang. 
 
 
 Please check for specific version details on the main page for The Mob .
Summary 
 This is the solution I am using for smaller services and sites where automatic scaling is likely overkill. You can easily enhance this to support a handful of servers, beyond which something like puppet/chef is probably in order. 
 At a glance: 
 
 EBS backed EC2 instance with key access for my user 
 Nginx - configured to serve static content, and reverse proxy to…
I’m participating in the awesome new ‘open source incubator’ that is nReduce . And, I’m plugging: my team’s project is Soapbox , if anyone is looking for a real-time polling service that lets you embed dynamic results with javascript, sign up, we’ll keep you posted. 
 Anyway, one of the issues we encountered is a direct result of being a…
If you are interested in Chicago Boss and PostgreSQL (then hopefully you’ll like this!), and you have not reviewed it already, go check out An Evening With Chicago Boss , I’m going to borrow a good deal from that example. 
 The items I want to cover that enhance the example in An Evening with Chicago Boss are: 
 
 PostgreSQL DB shard for content 
 Static content: CSS,…
Here are step by step instructions for running Zotonic (the Erlang CMS) on CrunchBang Linux (works for most Debian distros with minimal package and version changes). This is on a vanilla CrunchBang Linux installation, where ‘developer’ packages are installed during the CrunchBang welcome script. If you didn’t install these on launch, you can execute ‘cb-welcome’ to…
First launch an Amazon Linux EC2 instance, and I’ll add the usual caveat that much of this technique works on all Red Hat derivative distributions, though the package names and versions may be unique. 
 I am going to do this as the root user, and first start with a system update from the default repositories (always a good practice). 
 
 
 Installing Packages 
 After…
Get Msikivu (zip) Get Msikivu (tar.gz) 
 After some prodding from GitHub user jniggemann (thanks!), I finally got around to addressing some of my Msikivu todo list. For those interested in more details on Msikivu, check out my earlier post . In short, the following enhancements are present in the 0.8.3 release: 
 
 Habari 0.8.x compatibility (Sorry this took so long…) 
 Two…
I will probably write about this in greater detail another time, but I finally updated my primary laptop from Fedora 14 to the latest CrunchBang Statler release. 
 My biggest frustrations had to do with driver issues, which is strange, as I have not experienced hardware compatibility issues in Linux since installing Dapper on an old Dell laptop. These issues were: broadcom wireless driver…
Something of an aside: I am finally making some time for Erlang, and have a couple neat projects in the pipeline for which I think it will prove appropriate. I want to focus these projects around server APIs with thick client-side code. I am leaning toward Chicago Boss with Spine . Before I commit to that, I want to spend a little more time with Zotonic and I would like to get to know Nitrogen .…
I have to look this up everytime, and for some reason it is really difficult to find a good resource. So after wasting another hour of my life searching random forums, here is what worked for me. 
 Using an FTP connection (it worked for me through a local FTP client or through the godaddy Hosting Control Center -> Content -> FTP File Manager), edit the php5.ini in your html directory. The full…
One of my goals for 2012 is moving away from shared hosting and toward cloud and/or small VPS servers. For now, I am targeting AWS Micro instances for a lot of my efforts. Ultimately, I will probably move to Lighttpd or Nginx, but in the mean time I thought I would relay a configuration that is working well for me on low traffic sites. 
 For anyone seeing performance or stability issues on a…
I want open source days. Add those to the list: healthcare, dental, prescription, vision, vacation days, sick days, etc. and open source days. 
 Many devs are complaining about perks, or lack thereof. Alternatively, many employers are advertising ridiculous benefits. One thing some companies offer is x% of your time for R & D, personal projects, or open source. This is close to what I want,…
iwBase is a responsive starter theme for Habari. It comes with two stylesheets supporting responsive fixed and responsive fluid layouts. The stylesheets include empty directives for all core areas, and leave most styling up to you. iwBase borrows heavily from Skeleton , as well as the core Habari themes Charcoal and K2 (K2 was a core theme until version 0.8 of Habari). 
 Download iwBase 0.8.1…
This is a tale of consumer experience and a formal venting of my frustrations with our Summer monitoring solutions . 
 About 18 months ago, we had a baby. Joy, frustrations, cute, poop, sleeplessness, etc. When we decided to move the baby to a location more than a few inches away from one of us, it became clear that a video monitor was a must have. The technology is there, it is not terribly…
_[UPDATE] Since I reference this occasionally, and it gets a fair amount activity, I thought I would make a more rudimentary version for anyone wanting easy access to a quick lamp setup on Amazon Linux. You can find the updated version at AWS: Quick and secure LAMP on Amazon Linux . It’s a little more in depth of a setup, and there is very little explanation. 
 If you are new to…
This is pretty cut and dry. If you want the more verbose version, head over to AWS: Building a LAMP instance on Amazon Linux . 
 Start an Amazon Linux instance (I default to 64 bit), and be sure the security group allows access over ports 22 and 80. 
 
 
 Now you can connect with ssh, using your key and the username you configured. Use MySQL Workbench’s Standard TCP/IP over…
I just trashed a drafted post mortem discussing a year of experience with Amazon Web Services under the free usage tier. I trashed it because Amazon just launched updates to their Reserved Instance options. 
 This is a brilliant move. I know this offering will allow a lot of higher usage organizations to save substantial amounts of money. This means that AWS’s pricing edge on other cloud…
The well-read and the non-delusional among us are not surprised by the software Carrier IQ provides. For those of you who are surprised that a carrier would not only sanction, but promote and outsource such a thing, consider the following scenarios (that I find similar): 
 Internet advertisements 
 Internet ads are predominately driven by tracking your previous purchases or browsing…
Get Msikivu 
 I finally got around to upgrading Habari, and I decided it was about time for me to generate a theme. Habari does a really great job of making theme generation straight-forward to anyone with even a small amount of PHP familiarity. However, I think Habari is missing out on a lot of non-developer users as a result of not having more themes available and more configuration options…
I have a love-hate (read: love-to-hate) relationship with MySQL Workbench. The one thing that I do love is that MySQL Workbench integrates SSH tunneling for remote db access, which more people need to use. Stop installing phpmyadmin on servers to which you have ssh access, and start using MySQL Workbench. If you are lucky enough to have a system that can still use the GUI tools, you can accomplish…
I wrote about my Captivate trials before here and here . In general, I have been less than pleased with the device. Anyway, I finally got around to installing a ROM, and it did not go quite as smoothly as I had hoped. Since I encountered a lot of conflicting information and took a few wrong turns, I wanted to post what worked for me. I am not going to rewrite the instructions, but I am including…
History 
 Almost a year ago I converted my cubicle desk to a stand up system . Since that time I have changed employers and now work from my home office. My current desk is an IKEA Mikael desk that is about 10 years old. I seem to remember purchasing it on sale for about $70, and it is just the desk, no add on units above or below. It has been a great desk and I am not certain if I am ready to…
Zotonic (the Erlang CMS) claims to be “ Typically 10 times (and much more) faster than PHP content management systems ”. I am going to use Siege to do some basic performance benchmarking against the demo installations of Zotonic, WordPress, Drupal, Joomla, and Habari. The performance comparison is an interesting claim for Zotonic, particularly because one of Zotonic’s primary…
I do not know why this is so difficult. I have multiple GMail accounts, and dealing with multiple accounts within GMail has always been a weak point (IMO). I first gave Evolution a try, but quickly alterred course when I realized how slowly Evolution loads IMAP messages (is this particular to GMail?). After scouring the internet to find 64 bit Thunderbird for Linux , or 64 bit Thunderbird at all,…
Background 
 Code For America: Farmers Market API 
 Hacker News Commentary 
 Impatient? Want the JSON? It’s over here . 
 My thoughts 
 At first, I thought this was great, and I started thinking about whipping together an Android application that used the API. After putting together a couple of screens and thinking about how little control I had over performance, I…
_If you don’t care about how hard it is to find these, and just want to get the archives: 
 
 
 Firefox 5.0.1 Linux x86_64 
 
 
 Firefox 6.0 Linux x86_64 
 
 
 Thunderbird 5.0 Linux x86_64 
 
 
 Thunderbird 6.0 Linux x86_64 
I’m linking to the latest en-US, non-Beta releases at time of writing. I do not plan to update this, but the…
I recently started a position with a new company. I am excited about the opportunity, and look forward to learning new skills and using new software/services. One particular service that I was happy have an opportunity to use (not because I particularly want to, but rather because so many people/organizations make use of it) is QuickBooks. 
 I have not gotten very far into the process of using…