First Post on Octopress

I've been a wordpress user since it was a 0.x release. I loved wordpress, and b2 before it. Wordpress has become a poor man's CMS rather than a blogging engine. I'm OK with that, and I have made use of those features extensively. But now, wordpress kinda stinks for writing, and I like to write, given the chance.1

One thing I don't have a ton of time for is re-inventing the look/feel/action of my website all over again. Maybe some day, but between 60hr work weeks, two kids, a wife, a house/yard, church ministries, etc., the last thing in the world on my list is tweaking my blog's CSS. So I'm also OK with using someone else's theme running on heroku for free.

It's going to take some time to port my existing blog over, so once I do I'll swap this one in for that one. Until then.. well, this will just have to do.

  1. Honestly I’m not sure I have much to say, but when I do say it, I like to say it how I like to say it. That almost makes sense.

May 9th, 2014

Two useful HipChat-related Alfred extensions

Jan 24th, 2014

Things I've Stumbled Upon Recently

ESVBibleWorkflow - This is an Alfred 2 workflow to place scripture from either the ESV or NASB on your clipboard. Super useful (for me, anyway). I like that if I can remember part of a verse, but not which verse it is, I can start typing and it will search ahead for me. 1

Slogger - I use Day One to journal a variety of things which make no earthly sense to share on this site.2 Slogger grabs my content from various sources3 and creates Day One journal entries for me. When I can't journal or forget to journal, this does it for me. It's not a good excuse, but it grabs content I'm already publishing elsewhere. Like this post.

Sifttter - An IFTTT to Day One Logger - I love Slogger, above, but the output format of Sifttter looks nicer, and I'm already using IFTTT for some Slogger scripts anyway.

How To Use Math To Crush Your Friends At Monopoly Like You've Never Done Before - This is awesome.

Technical Difficulties - Like a normal podcast, but broken... these guys talk for about an hour about a relevant, important, nerdy topic, and bring in great guests to discuss them when needed. The recent episiode with Bradley Chambers about Wi-Fi was incredible. I'll likely listen a second time. Also, their show notes reset the standard for podcast show notes. 4

dvm - This is Docker in a box for unsupported platforms, like MacOS, which means I don't have to also use Vagrant on my MBP when I'm also already using Parallels for my annoying Windows VM.

  1. Because for some reason I can never remember that “Woe to you, when all people speak well of you, for so their fathers did to the false prophets.” is Luke 6:26, but can always remember “speak well of you” is part of it, so this is useful.

  2. There’s a strong argument going on in my head to drop this blog altogether. The nerd in me that started writing online in 1999 can’t do that just yet.

  3. All sorts of social sites are supported. For me, I pull content from here, instagram, pinboard, pocket, and twitter.

  4. Sorry, ATP.

Jan 15th, 2014

Adventures in Network Plumbing

I used to be such a good nerd.

Then I had two kids.

Somehow, between a wife and two boys, all of the time I used to spend pouring myself into web design, picking up a new programming language, waxing poetic about the latest nerd-rage-inducing article, or tinkering with some piece of hardware, has been replaced with other, far more valuable things like fixing my house, taking a son out for a donut, going apple picking, reading a bedtime story, bouncing the baby, etc.

There's no question whatsoever that my priorities are right in that regard, but when the technological infrastructure I set up when we first bought the house starts to break down, I have to fall back on admittedly somewhat atrophied muscles to fix them. This was the case last month when the state of our home network drove my wife to declare that I should not send her email during the day because she couldn't read it anyway.

Low WAF1.

I had, of course, noticed some problems with our home computer as well. But, in my defense, I rarely sat at it, and when I work from home, my MacBook Pro has had no problems with connectivity. Well, the wired network was flaky, but wireless was fine, so I guess… I guess I was just putting off figuring it out.

The Network

My home network is quite simple. I have a Verizon FIOS (Actiontec v1) router which has a 4-port 10/100 switch and an 802.11b/g access point. The access point is disabled, and one of the four ports has a Linksys WRT610n 802.11n router with 4-port 10/100/1000 switch connected to it. The Linksys has DHCP disabled and a static IP assigned outside of the Actiontec's DHCP range. It's an access point and switch. It serves up both 2.4Ghz and 5Ghz 802.11n SSIDs using WPA2. Good enough, and it's been working for 4ish years.2

There are three machines connected to the Linksys' wired switch:

  1. A basement PC that is mostly a backup host
  2. Our primary family computer in the living room (Mid 2010 Mac mini)
  3. My work MacBook Pro, when I'm home and using my desk

All other devices (iPhones, iPads, MBP when anywhere else, wireless printers, guest computers, etc.) use the 802.11n network. The signal strength is sufficient in the house, but anywhere outside gets nothing due to a nice, solid concrete/brick foundation and walls.

The Symptoms

About 3 months ago, I noticed that the mini was taking a long time to render web pages. I figured it was a browser thing, because it was sporadic. I cleaned the machine to the best of my ability, trimmed down browser plugins, made my wife stop leaving 8 tabs open, etc. It seemed a little better, but something was still off. I switched it over to the wireless network, and things improved dramatically. I chalked it up to wiring or something and went back about my other family business.3

Then it came back, while on wireless, but again, sporadic. I started using via speedtest-cli and noticed that I was getting about 3Mb down and 1Mb up4 on both the wired and wireless networks. From my MBP, I got 50Mb down and 30Mb up when on wireless. It had to be the mini. I was running OSX 10.7.5, had never done a wipe of the drive since upgrading it from 10.6, and who knows what sorts of cruft had been building up over the 3 years since we bought it.

Then I started seeing the same thing on the wired network for my MBP, which was fishy.

Perhaps I had two problems? Our wiring was bad / the switch was bad, and the mini was just in bad shape.

Rather than back everything up, format and reinstall, I bought a fresh 500Gb 7200rpm drive, installed Mavericks from my MBP and swapped the drives in the mini.5 Suddenly, it was back to normal, even wired. Crisis averted.6 I mentioned to Cait that she should watch some youtube videos to see for herself, but she quickly forgot.

Two days later it all came back.7

Time to dust off the nerd hat

Not knowing why this was all happening had finally started bothering me enough to feel the need to cheat on my evening time with my wife to improve things. I started by isolating the problem:

  • With my MBP I proved that the wired network was always bad by using a brand new, known-good Cat6 cable 2 feet from the Linksys, and then also wiring into the Actiontec, also 2 feet away.
  • I un-plugged the Linksys and re-enabled the Actiontec wireless to show that I still had good connectivity wirelessly on the MBP, which had always been the case.
  • I validated it wasn't a MacOS problem by showing that my basement PC had the same speedtest results.8
  • I turned off all wireless networks and all wireless devices and showed the same poor wired results
  • I rebooted the Actiontec just in case I was asked to do that by a FIOS rep.

Based on all of this, the only conclusion I had was that the Actiontec router itself was having trouble. That, or I was somehow being throttled based on MAC address only, but that sounded fishy. And supposedly Verizon doesn't do that, so yeah, router.

Putting my hopes in Verizon Support

I have never felt like Verizon was all that great with customer service. In terms of cellular service, I've never really had the need to interact with them, and when I did I often felt like they didn't much care about me or my issues, just getting me out of their sight. I figured that if I called FIOS support, they'd need me to repeat everything I did already, but I had no choice left.

Thankfully, I got on the phone with someone who spoke my language. I re-iterated the problem, as well as what I had done to troubleshoot it for myself. The tech asked me if I had tried a few other things which I had forgotten to mention (I had), and then said “Well, you have a V1 router. It could just be broken. I'll send you a new one next day air.”

Service. Win.

He walked me through a manual release of the current router's IP address and said to skip the install CD (it's Windows-only anyway) and just wait 5 minutes after the IP release to turn on the new one. The router was there the next day, I did all that he suggested and we're back to our normal blazing speeds. The new router has 802.11n and a 10/100/1000 switch, eliminating the need to use the Linksys. It's coverage is incredible. I was going to root the Linksys and turn it into a repeater, but there's no need to do so. I can use wi-fi in my garage now, which had been impossible before.


The title of this post is a hat tip to Ian Beyer who used to have a blog by the same name. I'm sure if he and I lived closer to one another he would have had this figured out in minutes.

  1. Wife Acceptance Factor. Hat tip to @shanselman.

  2. We used to use the Actiontec’s wireless network, but when Circuit City was going out of business a few years ago, I picked up the Linksys router during the firesale so that we could get a speed boost. The gigabit switch was worth having almost more than the 802.11n coverage. It’s running the latest firmware that LinksysCisco makes because, at the time, DD-WRT and OpenWRT did not support it, though they both do now.

  3. See, this is what I’m talking about. I never would have let this slide back in the day.

  4. We have the FIOS Quantum 50/25 package, so this was notably unacceptable. Again, 3/1 is pretty fast for the days of my youth, but it was relatively high-latency as well, so it wasn’t like things were only slow, they were also wicked delayed.

  5. The guides over at iFixIt are incredible.

  6. Never, ever think that anything is so simple. Ever.

  7. Cait was pretty annoyed that she never opened youtube in those two days.

Jan 2nd, 2014



I rarely leave home without any of these things. I took a few months off from carring the multitool this year right after Thing #2 was born this summer, and at least once a week I'd wish I had it on me.

  1. Gerber Paraframe folding/locking knife - I picked this up to replace a very similar knife I recieved (and lost) as a bridal party gift some years ago. It's started to have some troubles staying locked, so I'll look to replace it some time in the next year. It's a trusty knife, though.
  2. DynoMighty Card Case - I used to rock the full-size Dynomight Wallet, but I've been slowly trimming down what I carry every day, and trimming myself down to a couple of cards, ID, work badge and a very small amount of cash lends itself nicely to the Card Case.
  3. Gerber Compact Sport Multi-Tool - I've owned this for over 15 years. It's the most durable, useful tool I've ever had. If it kicks the bucket some day, I have my eye on a few replacement candidates, but it will be hard to find a tool I can abuse as much and keep using.
  4. iPhone 4S in a Magpul Field Case - I've been an iPhone person since the iPhone 4 was first available on Verizon Wireless. I finally upgraded to the 4s a few months ago when the previous phone stopped saving good backups. The case is about a week old, replacing a Element Vapor BlackOps case that finally cracked in half, which I did not think was possible.
  5. Keys and EDC tools on a (mostly) plastic carabiner - Blurred for security, I carry a few necessary keys, two car fobs (which are too darn big), a pair of tweezers and an Inova Microlight.

I think I've reached the bottom of my EDC minimization. I'd love to reduce my keychain a bit, and may try removing the smaller keys (bike lock, for instance) and the key to my work office that I never lock. That doesn't seem like much, but every ounce counts if it's clipped to your belt.

Dec 16th, 2013

Giving Editorial A Try

I've been following The Sweet Setup since it started a few weeks ago. For the most part, I've 100% agreed with their App preferences, and I think my digital workflow is fairly well-streamlined now anyway.1 I've recently added a keyboard case to my iPad, which has turned it into an incredibly convenient bedside-table computer and journaling/blogging interface.

I largely don't blog any more, partly due to a lack of time and partly due to an inner struggle around whether or not any of this content really matters; questions like “Is this site more than just simple vanity?”. I'll presume it's not for a little while longer and see what comes of it.

One of the apps recently reviewed by a Sweet Setup post was Editorial, which is a full-features text and Markdown editor for iPad. It's pricey ($10), but the reviews and demos were very compelling so I thought I'd commit some time to playing with it.

Goodness. It's incredible. By far it's the best-looking and most easily usable Markdown app I've tried to date. I'm only touching on the workflow support by using it to write this blog post, but I can see myself doing much more with it in the future.

  1. See my post about How I work. I’m still not happy with any to-do workflow other than “knock off the stuff in my inbox” and a post-it note. I don’t even like that, but all of the electronic options become way too easy to ignore. ↩

Dec 11th, 2013

JIRA Best Practices

  • Bugmaster Role - A single dev responsible for the management of bugs
  • A bug
    • an error producing an unintended effect
    • After the produc is released
    • Generally excluding poor design
    • Or anything else we want to call a bug…
  • Daily email from a filter
  • Triage
    • Every day
    • All new and updated bugs
    • Focus on rapid response
  • Public Tracker
  • Warranty Bugs
    • Faster to fix
    • Raises new feature quality
    • Developers responsible for quality
    • Gives bugfix budget back to feature teams
  • meh.. stopped paying attention.
Oct 3rd, 2013

Atlassian Summit Day 3

Boy am I tired.

The day got off to a really good start. I made my rounds through the vendor booths again, and spent five minutes with each of the testing vendors asking them a few specific questions:

  1. Where do requirements live with your tool?
  2. Where do test cases live with your tool?
  3. How do these artifacts manifest themselves in JIRA?
  4. What does a Traceability Matrix look like in your tool?

I gathered some good data and will follow-up with a few after talking to our QA Manager when I get back to work.

I spoke with a few vendors I couldn't get to yesterday and ended up two more shirts heavier including a sweet hoodie from the fine folks at RefinedWiki. (Thanks!)

Sessions From Day 3

My plan had been to hit several presentations, and that sort of worked...

Seven Ways to Make Good Teams Great

This was actually a really fantastic presentation that gave me some good ideas to kick around at the office. I'm seeing some of my newer engineers start to want to flex their muscles a little more, and ideas like a quarterly hacking day, or some way to promote innovation time outside of a given sprint lead me to think this might be a smart use of our time. One other stellar suggestion was to do brown bags, which we've done before, but when you start to burn out, use the time to watch presentations from relevant conferences. This was one of those DUH! moments -- I can see myself showing at least half a dozen from this conference to my dev ops folks and project managers.

I Work in Pajamas: Winning at Remote Distributed Teams

I was not expecting much from this session, but I was also pretty pleased.

Git Workflows a la Carte

This was identical to the webinar I watched on the plane flight to San Francisco, which you can find here. I tuned out and did some release documentation. Good use of time, actually.

Large Scale JIRA Administration

This session was so full I couldn't find a chair and had to leave. I tried to extend this into a cat nap, but couldn't turn my brain off. Instead I found a table, put City on a Hill on repeat, and banged out some more documentation.

I'll have to get the recording and watch it later. There are several others I want to see as well.

Inside JIRA Bug Processes: JIRA Best Practices

Presentation was hard to follow, and actually I got bored really quickly. No biggie. Folks were getting tired. Instead I worked on some new JIRA filters and daily report subscriptions, and played around with some of my mac defaults.

And updated this blog post

Ship-It Live!

This was awesome. Seriously awesome. Six engineers presented their most recent Ship-It! projects, and we got to vote on which was the best. They were:

  1. Notification Power Pack: This does clustering of notifications on edits/changes in Confluence. OMG. DO WANT NOW. Looks like this comes in various 5.3, 5.4 and 5.5 releases. Awesome sauce.1
  2. Bitbucket In-App Payment: Removes confusion and shortens process for going from the free 5-user license to the first paid tier 10-user license. Cool for BB folks, but didn't get many votes.
  3. Three.JS Wallboard: Incredible 3-D wallboard for JIRA/JIRA Agile data. Can't wait to use this, though it didn't get many votes.
  4. Atlassian Content Curation Utility: I didn't get this. Something about collating content into a single place. Clever acronym, but overall not so great.
  5. Shipit Shipit: Lets Atlassian save some money by having employees doing normal business travel bring inter-office shipments with them. Very cool idea for Atlassian. For the rest of us, uhh...
  6. Confluence whiteboards: Lets you take a photo on IOS7/Android from Mobile confluence and add to the page or as a comment. CLUTCH.2

The process was very cool. I'm interested to see what pieces of these things are portable to my org.

  1. This won by about a 5% margin.

  2. Second place.

I Work In Pajamas: Winning at Remote Distributed Teams

Patti Chan

Intridea, @pattichan

  • Intridea has a fully distributed team - nobody is required to work in the office
  • 100% distributed
    • 3 countries, 20 cities, 6 time zones, 1 HQ, 44 home offices, 2 co-working spaces, 10 coffeehouses, 1 tattoo parlor
    • 44 employees
  • Asked employees how many hours they save by not commuting
    • e.g. their QA engineer picked up 17 days per year and used that time to re-learn the guitar
  • Two often examples that do this are Automattic and GitHub
  • But Intridea has a wildly difference business
  • Remote working is great! But it can be really hard if you don’t do it right.
    • "I can’t work effectively at home"
    • "Decisions are made at home"
    • "I feel isolated without an office"
  • Mantra
    • Shower
    • Be Human
    • Stick With It
  • "I can’t work effectively at home"
    • Shower.
    • Put on Pants.
    • Introduce some separation between being at home and working
    • Get yourself a good environment
    • Pay attention to what makes you productive
    • For Patti
      • A mug of tea (peppermint)
      • Headphones
      • Favorite wireless mouse
    • Once you know these triggers, you can get yourself working from anywhere
    • Patti worked for a month in southeast asia - as long as she has wi-fi and these triggers, she can be productive
  • "Decisions are made at home"
    • What decisions?
    • Be human.
    • Break down the dependencies/concerns associated with making decisions in a decentralized way
    • Intridea uses JIRA to aid in decision making
    • There is one time per week were every person in a project team meet on a conference call over Go2Meeting and discuss everything for the week.
    • They track edge cases and outstanding questions so that people can work out kinks early.
    • Trust in asynchronous communication
      • Big HipChat users
      • Every project team has a room, where you need to be if you’re working on the project
      • Interest-specific rooms (e.g. #DEV for developers for geeking out, asking for help, etc.)
      • Get out of the dependence on instant communication
        • Don’t start communication with "hey, are you there?"
        • Don’t take someone out of their current context to answer your question - be willing to wait for information
      • Use confluence to track everything
      • Gets all of the conversation out of the inbox
    • This is all about reducing the number of times that you "have to" depend on someone/something to find your information
    • Make interactions between people count
    • Use video chat with Go2Meeting
    • WaterCooler room in HipChat
    • Custom HipChat emoticons
  • "I feel isolated without an office"
    • Meet People.
    • Bring it Back.
    • Stick with it.
    • Don’t work from home ALL the time
      • Patti sometimes works from a co-working space
      • Interacts with people outside of her company and can bring it back
    • Stipends for sponsor meetups and other sorts of events
    • Stipends for sponsoring conferences if they present
    • Everybody gets to attend a conference each year
    • Get yourself out there!
  • Transition from "this thing you do" to "this thing you do because you love it / feel passionate about it"

7 Ways to Make Good Teams Great

Sven Peters

Atlassian Ambassador, @svenpet

  • When are good programmers motivated? In programmers heaven
    • Kick Ass Product
    • Kick Ass Team
    • Everything else is not so important anymore.
  • What companies do
    • Give us money, but that doesn’t really motivate us to make the customer happy, just to get the bonus
    • Getting the best/right people, and then putting them behind bars… great talent but limited possibilities
      • e.g. limited hour windows (you must be in the office between 9am and 4pm)
      • Stupuid rules - you can’t use IntelliJ IDEA, we use Eclipse!
  • What can devleoper do?
    • Revolution… leads to the guillotine!
    • Do nothing and complain. This also does not help!
    • Or, Be the change you seek. Make a small change and try to let it grow.

7 ways to make good teams great

  1. It’s flowtime!
    • Productivity – Interruption kills productivity, and takes up to 50 minutes to get you back
    • Spending 2 hours/day recovering from distractions
    • 80% of interruptions are considered trivial (
    • Closed doors vs. Open workspace
    • Engineering is less about “Getting things done” and more about Collaboration
    • Sven’s previous team tried “Do Not Disturb Time” - 1pm to 4pm, closed the doors. All meetings in the morning. Phones off. Some turned off email/chat.
      • First week was terrible. Kept being interrupted.
      • After that it started to spread to other parts of the department
      • Good time to talk to one another… but how do you ensure you don’t disturb the rest.
        • Chat is great for silent conversations.
        • People can stay in the zone
        • Lots of chat rooms work well at Atlassian.
        • Hipchat mentions mean you can pull people in later, even if they are not online
    • Reality Check:
      • Feasibility: 4/5
      • Awesomeness: 2/5
  2. Feed Your Brain
    • Conferences
    • Trying new things
    • Organized coding sessions on a new language, new topic, etc.
      • Every tuesday night for 2hrs, ordered some pizza and hacked something.
      • Not everybody came, but some did. Wasn’t universally applicable.
    • Organize Brown Bags
      • After a few times, his team burnt out on it a bit, but started showing conference videos instead and had a small discussion. Good stuff!
    • Reality Check:
      • Feasibility: 5/5
      • Awesomeness: 2/5
  3. Say Well Done!
    • Companies are really good at celebrating big goals
    • Most folks aren’t connected to big goals.
    • We need to appreciate the small things
      • Appreciate is important for happiness
      • Appreciation should be made public
      • Appreciation without approval
    • At atlassian, you can give a colleague kudos, unfiltered, through a web page in their extranet
      • Talent department takes care of rewards
    • Reality Check (for the kudos thing):
      • Feasibility: 2/5
      • Awesomeness: 3/5
  4. Report Robot
    • He spends SO MUCH TIME creating project reports from disparate systems
    • His boss might read them. His boss’ boss maybe. His team never does.
    • At Alassian they are wild about collecting data and use SQL macro to make automated project reports
    • (This is a pretty custom/subjective suggestion… Not super helpful acroass the board, but the spirit of the idea is sound.)
    • Wallboards for information radiation
    • Reality Check:
      • Feasibility: 2/5
      • Awesomeness: 4/5
  5. Eat your own dog food
    • (Not applicable to us…)
    • Ths is alpha testing your own software, so that you understand your custmomer better
    • This can be a painful process, but you do get fast feedback.
    • Dogfooding at Atlassian
      • Confluence extranet, always the latest version
    • Reality Check:
      • Feasibility: 2/5
      • Awesomeness: 5/5
  6. Do A Special Day
    • Take a day off!
    • This is like one of those unpleasant things that you push off, but you have to do it
    • But seriously, forget about the current sprint for a day.
    • Doc Sprints
      • 1–2 day event
      • Tech Writers invite Developers to write documentation
      • Provide developers with “perks” to motivate them
      • Tech Writers polish and deliver
    • Blitz Test
      • Short - couple of hours, half day, etc.
      • Whole company invited to bang on a given release
      • QA assigns groups to features, and collect data
    • This is about just getting things out of the door .. getting yourself out of your normal environment
    • Reality Check:
      • Feasibility: 5/5
      • Awesomeness: 3/5
  7. Experimentation Time
    • “To achieve great things, two things are needed: a plan and not enough time.” - Leonard Bernstien
    • Atlassian has Ship-It days
      • Motivation through Innovation
      • Start with an idea
      • Teams gather around an idea or you can work on your own idea
      • Write up a single page up - “Shipment Order” which is the Plan
      • Get together one day before the day and make a sprint plan for the 24 hour period
      • And then it starts! This is the coolest day of the quarter!
      • Thursday 3pm to Friday 3pm.
      • Fork the code bas, some work through the night, some go home for a few hours
      • Present ship it day results at 3pm Friday to other people in the company
      • Vote for the Ship It Day winner
      • GO home, or end up at a bar, etc.
    • What do you get out of a Ship It Day?
      • Innovation
      • Happy Nerds!
      • Crappy, unmaintainable code
      • Unstable Features
    • 20% time
      • Can be used for whatever we want.
      • Innovation time.
      • It’s their own.
    • Atlassian measures it – it’s more like 5% time!
      • Mostly due to conflicts. Sprint goals get in the way and they might let the team down.
      • Heavy workload gets in the way.
      • Heavy dependencies get in the way, like if you’re working with a colleague on that 20% time thing
    • Moved to innovation weeks
      • Innovation Time
      • Planned Time
      • Team Time
      • Stash team works on product for 5 weeks out of a 6 week release cycle.
      • It’s not 20%, but it’s something!
    • Reality Check:
      • Feasibility: 4/5
      • Awesomeness: 5/5