Back to top


Broadly defined "technology" e.g. software, water pumps

Software management on Mac: Why is it so bad for users?

Compare all these different ways you have to install and update software on Mac:

  1. The app store - obviously this is what Apple wants, but they have rules about what can and can't go there and the rules don't match the rules their customers want (e.g. easy in-app purchases) but instead what Apple wants (more money).
  2. Download software from a website and install it. This works OK, except that the vendor has to get a key that is verified by Apple (which has its own legal paperwork for the developer to pretend they read). If they don't get a key then the user has to follow this Apple knowledge base article that includes advice to control click, use the context menu, answer a dialog and then it will work. That was simple, right?
  3. If you downloaded software from a website, it might update itself (For me, Sublime, Source Tree, and Adium all do this). OR, you might have to periodically go back to that website and see if a new version is available and then download and install it (Looking at you, Dropbox).
  4. Homebrew, Macports, etc. What is this, Gentoo? Since when is compiling source all the time a user friendly idea.
  5. My favorite scenario? When I need to get software X which comes via one channel. But I have to also get something it requires which comes via a different channel. Rough.

The App Store is clearly the most user friendly option, but as a user or developer I have no control to adjust its behavior. I can't say "Get stuff from the official Apple channel but also get new software and updates from the Dropbox website.

Glossing over the issues with unsigned packages, having a variety of different methods to install software that are inconsistent with each other means I have to spend more time remembering and researching the software.

People Involved: 

Why I Love working at

For the past 1 year, 1 month, 1 week and 1 day I've been working at I love it. I've had a lot of great jobs in my career so far, but this is one that is truly extraordinary.

I'm currently pretty enthusiastic about a set of quotes from Jeff Bezos compiled at, so I'm sprinkling some of those through this post.

What is doing?

Our CEO put it like this in a recent interview he gave: is the world’s first likeable financial company. We make payments fun, fair and fashionable. offers Visa cards and MasterCard cards featuring card art and amazing perks from the best brands in the world, like Star Trek, Elvis or The Walking Dead.

And...that's a good description of what we do. But, what do I think we're doing that is exceptional?

  • We're using a ton of open source software and contributing back where we can. That just warms my heart :)
  • We're doing everything with an eye towards scalability. We have a lot of card designs and many more are coming. Some of our designs are big and some are small. We still want to delight the people with a "small" brand because to them that brand is their life.
  • Bezos said "Your margin is my opportunity." and we're following that. We aren't aiming to be the cheapest provider, but we are undercutting a lot of other providers with what we believe is a much better product. That will help us scale and as we scale big we win. It feels great to provide a product that is competitive with other options available to our typical cardholder.
  • Since we're scaling big, we sweat the small stuff. We review contracts to see how we can squeeze pennies or fractions of pennies out of different transactions.
People Involved: 

Warning: 100% uptime (or 99.9%) is a marketing trick - don't fall for it

We recently were reviewing proposals from two vendors. One vendor claimed 100% uptime. Another vendor claimed 99.95% uptime. Our SLA to customers is below both of those numbers, but 100% feels better than 99.95% right? So we should go with 100% right?

My experience is that the uptime number in an SLA is purely for marketing purposes. Pure. Marketing. Purposes. If you read 100% and think the service will be online for 100% of the time? Shame on you.

The really important thing is the detail behind the SLA. Here are a few tricks I've seen that make a 99.999% SLA roughly worth nothing.

  • What are the exclusions? Most service providers are hosted somewhere (Amazon? Physical space?) that has it's own uptime guarantee. If that provider goes down is your SLA still in effect? Many SLAs exclude acts of nature like a hurricane that can take down a single provider.
  • What do you get when the number is broken? Some contracts give you a credit. Some give you cash. Some give you a credit that is worth your monthly cost multiplied by the percent of time they were offline. Is that worth much to you?
  • Do you get more if the outage is persistent? If a service dies for an hour that's a problem. If it dies for a day that is horrible. I want to be compensated more if the outage is prolonged.
  • Whose monitoring counts? What kind of monitoring? I've had times where my monitoring (Pingdom) showed a site was offline for hours, but internal monitoring showed it was fine. I got no credits.
  • What counts as "down" - if the service is online but taking 10 times longer than normal to process requests, is that OK? What if the service is online but network connectivity is degraded?
  • How are periods of downtime calculated? An SLA I read only counted a full hour of continuous downtime as real downtime. Many outages are 10 minutes here, 20 minutes there. I want to be compensated for those as well.
People Involved: 

Setting up OpenSWAN for Site-to-Site VPN - Ubuntu 12.04 and Cisco ASA 5520

I recently had to setup OpenSWAN on Ubuntu to be part of a site-to-site VPN with a Cisco ASA 5520. There are a few resources I used to get me there. It was hard to find these resources so I'm keeping track of them for myself and in the hopes it helps someone else.

My requirements were:

  • local ike peer IP address:
  • remote ike peer IP address:
  • remote: also want all addresses in 123.45.0/24 to be addressable

  • Authentication: pre shared key

  • Encryption Scheme IKE
  • Diffie Hellman Group: Group 2
  • Encryption Algorithm: AES-256
  • Hashing Algorithm: SHA1
  • IKE Negotiation Mode: Main mode
  • Lifetime (for renegotation): 480 minutes

  • Phase 2 Encapsulation: ESP

  • Phase 2 Encryption Algirithm: AES-256
  • Phase 2 Hashing Algorithm: SHA1
  • Perfect Forward Secrecy: No PFS
  • Lifetime (for renegotiation): 480m

And here is roughly what my /etc/ipsec.d/connection.conf looks like:

conn i2c

People Involved: 

Super Simple - Embed your form into facebook pages

Today I needed to embed (iframe) a web page into facebook. Pretty simple idea, really - doing so should help improve conversion rates for visitors who are landing from Facebook. And, of course I want to do it as simply as possible so we can test the idea before investing more time into fancier features this might have (a facebook-like theme, facebookconnect to pre-fill user data, etc.)

So...I did a ton of searches for how to create embed a page in a very simple way. I don't want to use an SDK. I don't want to have any OAUTH or interactions. Just show my page inside the facebook header and sidebar! to do it.

Facebook Static HTML Iframe App

Well, several tutorials and videos recommended using a third party app that would insert my iframe inside of the Facebook page.

This is indeed a very popular path to take. There are dozens of apps in use by tens of millions of people each month. WAT?

Of course, Facebook Canvas apps are just do I need an APP to iframe my iframe? And how safe is your data when a 3rd party iframe is around your site? No, this solution simply will not do.

Make your own super simple Facebook App

Here's what you want to do.

  1. Go to Facebook Apps site. You might need to agree to some terms of service or something.
  2. Click "Create New App"
  3. Fill in the basic info - skip hosting.
  4. Fill in the "Basic Info" section. If you are unsure, leave it blank or read the help blurb. All you really need is a Display Name and Contact Email.
  5. Check the green box for "App on Facebook"
  6. Input your site URL for the Canvas URL and Secure Canvas URL. On October 1, 2013 all apps will be required to have https.
People Involved: 

11 wonderfully horrible modern productivity anti-patterns

You are a modern web-worker. When the internet in your office goes offline, it is a major drain on your productivity. Here are some things you may do or see in your daily life that are "anti-patterns" or behaviors which are counter to productivity. Please, don't do them! If someone else does one of them, maybe send them this post (it includes solutions).

When people break these rules (especially via email) it just makes me feel like Billy Sorrels: DELETE, DELETE, DELETE.

1. Putting Screenshots into Microsoft Word Documents

You make a screenshot using the "PrtScr" key and want to share it. How do you do this? You open Microsoft Word, paste the screenshot into the document, and send it via e-mail. It's an image, not a document. Save it that way.

The Problem: Bloat and speed meaning fewer people read the message. It takes way longer to open a document than to open an image. It also takes up more space in my inbox. I mostly don't care about e-mail/inbox size these days, but when I'm on a slow connection (via phone, via internet in a foreign country) it can be an issue.

The Solution: This depends on the operating system you use. Windows users: take the screen shot, open "Paint" (or another graphics program like Gimp) and paste the screenshot there. Save it as an image. If you are going to do it often I humbly suggest Skitch or AwesomeScreenshot.

People Involved: 


Subscribe to RSS - Technology