All posts by Dylan

In my first Sound and Fury post I flat out said that people who leave negative Open Source comments are bad people and sucky developers.  This isn’t a retraction, I still totally think that.  I just wanted to share.

This here project is a brilliant solution for FLOSS.  Echo Chamber adds commenting forms that never post anywhere but local storage.  The hate-vomiting suckmonkey thinks their petty, egocentric bile is being heard and no-one else even knows it exists.  No server load.  No moderating.  Blissful, peaceful silence.

My comments, BTW, are actually on, so feel free to start a discussion with me here or on Twitter as @DylanLacey.




Internet Comments, am I right?

They’re occasionally a useful source of discussion (usually in curated communities or niche content) but mostly, they’re a swirling cesspoll.  The comments are where people write hateful, toxic vitriol.

On YouTube this is often in the form of attacks on the presenter.  Open Source projects, though, tend to get more… religious.  Your product isn’t their favourite product and thus must be purged.  They want a feature from the thing you made and gave them for free and DAMN HOWDY if you aren’t the worst person alive for not giving it to them.  They don’t understand how to use it and so you must perish.

If you leave pointlessly negative comments on Open Source projects, screaming demands or trashing the free work people have done for you, then as far as I’m concerned you suck as a developer and you’re a bad person.  I have more respect for the noobiest of noobs then I do for people who piss all over others in Open Source.

I’d never hire anyone who made their team-mates feel bad when they wouldn’t do something optional for them.  I’d never hire someone who yells at others rather then fixing bugs, who acts like they’re entitled to things, who can’t interact professionally in public situations.  As far as I’m concerned, you’re not a good developer if you do those things, you’re a terrible staff member who happens to be OK with development.

Being a good Open Source citizen in the venues you use it is, in my mind, a defining characteristic of good devs.  “GitHub Resumes” aren’t useful just because they show your work style but because they show your workplace style.  How you’ll get along with others.  Whether I can trust you to not ruin my team.  If you’re helpful and good at communicating and compromising and not a complete dickhead.

(Corollary: If you defend people who do this because they’re productive or talented or useful for the project, you’re also a sucky developer and a bad person.  We don’t let famous surgeons ignore ethics no matter how brilliant.)


A friend of mine just bought a new BMW because he’s living the Software dream.  We’re currently about 2 hours out of Sydney and I’ve been slowly going out of my mind.  I don’t do downtime well.

I’ve been trying various strategies to prevent myself chewing off my own face out of frustration, almost all of which have cost me data and will add even more money to Telstra’s bloated, greedy pockets.

My mate and I are both developers, so much of the trip has been spent listening to podcasts.

We tried out a few new ‘casts.  Clockwork is “Four people, four topics” in no more than 30 minutes.  We probably won’t subscribe; it was more of a long form digest where we prefer in-depth discussions or really unique news, and our interests didn’t really resonate with the hosts.

I wanted to find some productivity podcasts because I’m tired of getting in my own way when it comes to inflicting my own brand of fucking rad on the world.  Sadly, after two episodes I’ve decided I’ll not be listening to the Time Hackers podcast again.  One felt like the entire thing was a read for through her affiliate link (which wasn’t called out as an affiliate link).  The other was about how having a boss is the best thing ever because they get angry at you when you procrastinate because how dare you!  I am glad I’m not her employee.  We also washed out on 168 Opportunities because it shared with Time Hackers a really ironic trait: The hosts weren’t succinct and the information not dense enough.

(I was tempted to listen No Such Thing As A Fish, a podcast by the QI elves about 4 interesting facts that plays a lot like the show, but I decided to be serious instead because… I made poor choices?)

Podcasts aside, my fingers got itchy, so I played Alphabear (If you want to find it in the iOS App Store instead… Go do that).  It’s what Scrabble would be, if Scrabble was single-player, had special powers and bears.  And because it’s about spelling words, it’s technically educational!

I mopped out my email.  I’ve been trying Inbox and I think I kinda get the premise, possibly?  It’s annoying I can’t apply multiple labels from the mobile app and I’m not entirely sure that marking things ‘done’ is archiving them but… I deleted 200 of 403 messages, so… huzzah?

That made me go and categorize Evernote notes because what’s more productive then pouring pointless hours into a productivity system?  Actually doing work, like buying USD for an upcoming trip to the States (Anyone who wants to catch up with me between the 19th of July and the 2nd August in SF, let me know!)

Started writing this blog article, so of course I had to update my Google Analytics plugin.  And install it and the WordPress app on my phone.  The WordPress App can connect to self-installs of WordPress which is pretty neat.

I didn’t play any of the 3DS games or read any of the books I planned.  I did, however, add a bunch of stuff to my reading list, including Beacon 23 by Hugh Howey, author of the freaking amazing Wool books.  Once we settled on using the Ruby Rogues podcast to save my from insanity, I picked up Astro City from a pick, along with Three Parts Dead.  That should help on the plane trip to the States, at least.

Overall productivity score… Probably about even.  I managed to get a lot more done then I expected on actual tasks, but didn’t bring anything to completion.  I did, however, get a bunch of new ideas and write this blog post hunched over my tiny phone screen, so that’s a plus.

Thank you for driving DylanLacey coaches, we hope you enjoyed your trip… And please fly next time.



Rails Camp and You.  And Me.  And 89+ other Rad people.

I went to Rails Camp once.  OK twice.  OK several times, and I also hosted one in Brisbane.  They’re excellent places to learn, socialise, ‘network’ (socialisation’s creepy, selfish and greedy cousin) and hack.

They’re also terrifying if you’ve never been to one.  Stuck at a remote campsite with people you don’t know, no internet access, and having to write good code?!  That’s legitimately terrifying.

But!  It’s OK.  Deep breath.  Here’s some truth:  No-one cares about the code you’re writing on Rails Camp.  For Reals.  Spouses, don’t read this next bit: Rails Camp is a really awesome way to work on your Ruby experience for everything except code because it’s not actually super professional learning code times.  No-one will judge your code unless you want them too.  You’re free to do as much serious or silly hacking as you want to.  Or play some boardgames.  Or go on a photo walk.  Or talk to people about hiring or salaries or managing minions or learning JS (you’ll find friends doing just that!) or just… being chill.  The Rails Camp people are super excellent.  Every camp is run under the Ruby Australia Code of Conduct.

The remoteness and the lack of Internet… That requires some more planning to deal with.  I’ve got a good feeling about this upcoming Rails Camp, and I want you to, too.  (Awkward sentence that.  Ahem).  So here’s the list of things that you can do to enhance your Rails Camp experience, in time order.

The Big List of Stuff To Panic and Do Today for Rails Camp Tomorrow

Now in Rough Chronological Order!

I’m about as organised as a bowl of cooked spaghetti.  But I’ve tried to put this list in chronological order, so you can read each heading in order and do the items.  Anything starting with italics is only relevant if you’d like to bring that thing.  If something takes a long time (like a backup), kick it off and go to the next section until it’s done.  It should go without saying that you should ALSO bring anything the organisers have emailed too you or posted online.


  1. Back it up.  For Reals.  Start backing it up to something you’ll leave at home.  You do this regularly anyway, right?
  2. You’ll need that backup for the next bit, in case everything gets SNAFU’d.
  3. Update ALL THE THINGS!
    1. Homebrew (Mac only) - 'brew update && brew upgrade'
    2. RVM - 'rvm get head'
    3. Latest Ruby - 'rvm install ruby'
    4. 'git pull' in any projects you want to work on
    5. 'bundle update' ditto
    6. All the gems you might need - There's usually a Rubygems mirror but it doesn't hurt
    7. Dash (Mac only)
  4. Break anything?  No?  SUCCESS!
  5. RE Dash:  Dash is an awesome offline documentation tool for Mac an iOS.  You can download it here.  It’s free with nagware and otherwise not too expensive.  Once installed, make sure you’ve downloaded and updates all the docsets you might need!  I’m using Ruby 2, HTML, Capybara, bash, Ruby on Rails 3, Ruby on Rails 4, Sass, RSpec Expectations and selenium-webdriver.
  6. Go close all your browser tabs.  If they’re action items, stick them in a list somewhere;  Nothing’s worse then getting distracted from fun hacking with that cruddy work stuff.


  1. Empty out your memory card/s onto your favourite mass storage device.
  2. Charge it.
  3. Make sure your lenses are clean.
  4. Pack your memory cards.
  5. Pack your camera.

Other Entertainment

  1. It’s going to be cold.  No-one will notice under your jumper that you’re wearing the same clothes for three days in a row.  Thus, we’re going to pack fun stuff first.
  2. Boardgames.  People tend to play games after dinner, so if you’ve a favourite feel free to bring it along!  Don’t worry about bringing Cards Against Humanity.  Someone’ll have it covered.  (I’m bringing Boss Monster!)
  3. A Tipple.  Rails Camps are not big drinking events.  But some people like to have a nip or two of Scotch at night.  I will personally judge you if you bring Malibu, because I am a jerk and that’s tacky.
  4. Sportsballs?  IDK.
  5. Drones, fancy colour changing lights, Arduinos and other tech toys.  ‘Nuff said.

Luggage & Clothing

  1. Cold Weather Stuff.  It’s going to be cold.  This goes double if you’re from QLD like I am.
  2. Kigurumi.  There’s usually people bringing Kigurumi.  Kigurumi are awesome.  I’m a legit adult.
  3. Other dorky but comfortable gear.  Some people bring wearable sleeping bags, like these Selk Bags.  Those people are awesome and you should buy them a beer whenever possible.  I may be one of those people >.>
  4. Sleeping Bag.  Even if you hear you don’t need it, it’s never a bad idea to be prepared.  There’s some team has that as a slogan…
  5. Thongs for the bathroom.  Flipflops if you’re Podean.  Jandals if you’re Antipodean, but the other kind.Take this from a Scout — Cold grotty shower floors aren’t any fun.  Neither is getting your feet cold when dashing to pee in the middle of the night.  For the non-Aussies; Thongs are flip-flops.
  6. Suitcase. Duh.
  7. Any Meds & First Aid Supplies.  Just in case.
  8. CPAP Machine.  Pretty sure you won’t forget this one if you need it.
  9. A Towel. You want to make sure you can dry off after getting wet while swimming or bathing, and also show that you’re a hoopy frood.


  1. Pack your laptop power brick in your backpack.  If you have a spare, put this in instead so you don’t take your primary out to use it and then forget to put it back in.
  2. Pack a powerboard.  Just in case.
  3. USB charger for your phone.  Even if you don’t have internet access you know you’ll get the shakes if your phone starts going flat.
  4. Chargers for anything else you’re bringing to play with.


  1. Coffee.  You’re a developer.  Worse, a Ruby developer.  Chances you’re into wanky coffee are higher then chances that a Rails 2 app on Ruby 1.8 has security holes.  While most camps provide coffee (and some have rad baristas!) the coffee nerds often bring their favourite blends and coffee making toys.
  2. Cancer Sticks.  I’m asthmatic so I get judge-y, but addiction is a beast and it’s not cool to be jonesing all weekend;  There’s often no stores nearby camp, so make sure you bring enough to get by.
  3. Chocolate and sweets.  Because what’s a better thing to share with your fellow devs then Vegemite Cadbury!


Print Media is somehow still a thing

Even print media about rich people making more money is still a thing, which probably says something about who those people are and their attitudes to change. Yes, that’s an Old White Men joke.

But print media knows the end is nigh and has moved online as well as being available in print, and Fortune magazine is no exception! It’s even writing articles about these shiny new technical whatzcalits, like a recent article, ‘Why APIs will save your business from getting “Uber-ed”‘.

Oh, sweet fish sauce, that article. It’s… you don’t… I started making fun of it on Twitter then quickly realised there was just too much and you, Dear Reader, would be better served by a blow-by-blow commentary. Fair Use Away!


Why APIs will save your business from getting “Uber-ed”
It’s no longer about what you build alone. It’s about how you smartly incorporate what others have built.

I am seeing a technology shift that only happens every 10 to 15 years – one in which companies will become “composites” of other companies.

(Like how, 10 years ago, Apple become a composite of Swarovski, Swatch and 90s era Sony, or how Alta Vista became a composite of Betamax and Crystal Pepsi)

Uber is a perfect example. It didn’t have to build its own mapping, payment, or communications services. Instead, Uber is a composite of what it considers the best of those programs and more — Google Maps, Braintree (payment), Twilio (for mobile SMS), Oracle, etc. Uber was able to quickly connect to these systems using little pieces of code called APIs.

(Yes, the API itself is a tiny chunk of code you just put in your own code and magically, billing happens)

MuleSoft is in the business of APIs, and today’s announcement of MuleSoft’s latest $128 million financing round at a $1.5 billion valuation is evidence that this trend is more than gathering steam. [Disclosure: I am an early venture investor in MuleSoft.]

(Disclosure: The only way I can made money from my API middleware As A Service investment is convincing you all that your existing APIs are in fact legacy ‘integrations’ instead)

Companies pursuing API-led connectivity strategies include MasterCard, Unilever, Nestle, Tesla, Intuit, BSkyB, Verizon, News Corp and Sutter Health. This shift it is only possible because of a once-in-a-generation convergence of megatrends: cloud, mobile, and the “Internet of things.”

(API-led connectivity strategies: much better then those old ‘protocol’ and ‘carrier’ based ones.  Also mega is _last_ generation’s slang.  The hipster generation prefer ‘whatevertrends’)

If you’re not taking full advantage of this trend, your organization could be “Uber-ed” and out-innovated, just like the taxi companies have been. Uber has upended the global taxi industry in large part by using APIs masterfully. In just a few short years, Uber has become seemingly ubiquitous and is reportedly valued at $50 billion. The old-world taxi companies are struggling to compete with this API-savvy juggernaut. You don’t have to be in the transportation industry to be Uber-ed. Any business without a viable API strategy stands to be altered on this scale.

(This is so blatantly wrong it’s being funny _for_ me.  Taxi services weren’t out-innovated because of Uber’s mystical oneness with the API universe. They were out-innovated because they didn’t try to innovate at all. They still don’t; Their reaction has been to try to legislate, sue and bully Uber out, not try to fix their product and compete.  This is like saying a greasy sidewalk hotdog grill gets less customers on a date then a fancy restaurant because the restaurant’s supply chain is faster)

Why CEOs Should Care

(They shouldn’t)

Companies are currently spending more than $590 billion per year to integrate existing, disparate systems. Traditional businesses rely on large sales forces, paperwork, and fax machines to generate revenue with customers and through partners. This is expensive, time consuming, and scales only as fast as the sales force grows. Today’s startups eliminate much of this friction, time, and cost by building their solutions with best-of-breed components, which they access via APIs, or “application program interfaces.”

(So existing disparate systems, they don’t have APIs, they have ‘integrations’. Because they’re old, see? APIs are jazzy and sexy and new. So new, we only literally just now got a definition for them, halfway through this article! Until APIs were invented last year, absolutely every business was unscalable and did everything with FAX.)


Using APIs as building blocks, Uber was able to go to market far more quickly and nimbly than its competitors. What’s more, in August 2014, Uber launched a publicly-accessible API that would become the foundation for their digital ecosystem, allowing companies like OpenTable, Google and United Airlines to embed Uber into their apps.It’s a mutually beneficial arrangement: Uber reaches more customers and establishes new revenue streams, while app providers like United Airlines, Open Table, Google Maps and others can offer a transportation service to their customers and profit from it at the same time.

(Again the fallacy that sexy startup VC backed API based data-viagra, and not being thoroughly better, are what made Uber work. This time, thought, it’s because you can get a pizza on the way to the airport. What’s the deal with Airline food AM I RIGHT?)

Contrast this with Hertz, Avis, and other rental car agencies that have been United Airlines partners for decades, but are nowhere to be found in the United mobile app. That’s because these rental car companies don’t have an API (or at least not one that’s public). OpenTable, Google Maps, Starbucks, and dozens of other apps offer the Uber service — but not services from Uber competitors like Lyft — so there is definitely a first-mover advantage in each market.

(…You literally just said that lack of an API is why United’s business partners aren’t in their mobile app)

Another simple but enormously successful example is UPS, founded 108 years ago. UPS has captured a large share of the parcel-shipping market for the burgeoning online commerce sector by publishing an API – just a few lines of code – which makes it easy for shopping sites to integrate shipping seamlessly into their online check-out process.

(Again this ‘few lines of code’ thing. Every word in the phrase ‘an API – just a few lines of code –’ is bullshit. APIs can take thousands of lines of code to write and powerful ones, hundreds of lines to consume. That’s completely ignoring that APIs aren’t actually code, any more then a delicious cooked steak is DNA)

The “Connected Era” is Happening Now

There are progressive management teams productizing their company’s value-add as a service via APIs now, allowing any connected business to instantly become a customer or partner.

(I think I just went partially blind from buzzword poisoning)

Everything and everyone will be connected digitally – including customers, employees, partners, and even “things” like appliances and cars – all through APIs. How a business wins or loses is increasingly dependent on how well they connect to external third party apps, devices and services.

(Connecting to things now acceptable as a substitute for competence, performance, price, utility or human rights)

More Examples

News Corp Australia’s CIO Tom Quinn last year declared a “cloud first” strategy that gets rid of hundreds of applications residing in the company’s data centers. This shift requires big changes in the way IT is delivered. Said Quinn: “Technologies are changing so fast, and new systems are coming onboard so often, that you don’t want to be locked into a big monster piece of tech. We are not holding the business ransom to detailed, intricate, costly in-house development in order to get things hooked together.”

(No, now you’re holding it to ransom with services you can’t customise, by forcing (possibly good) process change on unwilling staff and by risking services being sold, absorbed or shut down.)

With APIs, you can hook, and unhook, to the best available software and services on your own timetable.

(Making in house systems talk uses ‘big monster piece of tech’, is very hard, messy. Making cloud services talk uses APIs, is somehow much easier despite doing the same thing, simple. Providing those services don’t go bankrupt, don’t have downtime, support the operations you want via API, are reliable, don’t break the API randomly, don’t communicate insecurely, have well managed downtime, support request caching and retries…)

Sutter Health is a large hospital network in California serving more than 10 million patients each year. It created an app in three months with APIs,

(Did they build an app which they built an API for, or did they build an app that used existing APIs?)

versus nine months without, to help diagnose and better treat an autoimmune disease.

(Were the time savings due to actions Sutter Health took, or just made possible by the systems they’re using being more modern?  Also, how do you know how long it would take them without the APIs? Do you have an API to contact the parallel universe where they don’t use APIs to ask Sutter Health how long their app took to develop, and if so, how do the people in that universe communicate with your API, given they don’t use APIs?)

Previously, accessing information across multiple data sources used to be a huge challenge. Now it’s possible to get real-time access to healthcare data. The Sutter Health app connects disparate data—from EMRs to administrative systems—and can display this data on any device.

(Some false correlations here. News Corp moved its support software into the cloud to avoid lock in and APIs let you connect different apps which might avoid lock in SO NEWS CORP USED APIS! It used to be hard to access multiple sources of data (apparently) and now you can get real-time access to data and Sutter Health’s app was delivered 6 months faster (apparently) SO APIS LET YOU MAGICALLY ACCESS ANY DATA IN REALTIME!)

So whether you’re the CEO of a Fortune-500 company or small business, building a company from scratch or reinvigorating a well-established one, you owe it to your stakeholders to explore what APIs can do for your business.

(So please go shout at your CTO to buy the first _enterprise grade_ API-based product he can find: mine)

Gary Little is a general partner at Canvas Venture Fund, an early-stage venture-capital firm based in Menlo Park, CA. He serves on the boards of Adara, Evernote, MuleSoft, PeopleMatter, Sonatype, and Totango.

(And yet he still doesn’t seem to fully grasp what an API is.)

My Summary

This article, man.  It seems to fundamentally misunderstand what an API is, treating them like a chunk of code that can be applied to any system to make it vomit money. All of the effort of making or implementing to an API is handwaved away. It draws this imaginary distinction between system integration of older & non-cloud products (which apparently don’t use APIs for some reason) and integration with cloud products (which do).

Plenty of older systems have APIs. They’re just shitty. Even if you use a modern service it’s not like lego; you have to tell the API what to do, and if you are linking cloud products you often need a 3rd party system to host the glue code linking them together and implementing your business rules.  And there’s going to be just as much business rule logic for a new API as an old one;  It’s only things like data marshalling and synchronisation that most truly non-API based legacy integrations are bloated by.  There’s just often a LOT of that.

That’s disregarding that you need to have APIs offered by the systems you want to integrate.  If your core business app is from a 3rd party and has no API you’re screwed.  If your billing system isn’t out of contract for 15 more years and doesn’t have an API you can’t exactly add one without assistance.  There’s no magic panacea for crap systems.  Good systems have good APIs, but lots of otherwise perfect systems don’t.  You can’t forcefully add them.  The better version of this article avoids treating APIs like a miracle (and all the logical fallacies).  It focuses on flexible and well-written systems, with open APIs and data formats forming one part.  But it also focuses on using industry standard business processes, the importance of offering an API to, at least, your business partners, and providing enough value through it that people want to consume it.

The entire article reads to me like a PR piece, trying to get CEOs in a buying mood for ‘APIs’ like they’re pieces of hardware, in the hopes that they’ll investigate the author’s VC baby as an ‘Enterprise’ option.  Even if this isn’t the case… It’s just a load of bollucks.


From the beginning of my career, I’ve been tending smaller and smaller. From consulting gig, to Government enterprise, to 300 person company, to smaller Government enterprise (never again) to a publishing company… Each one getting smaller in size, and feel. Agile, dynamic companies full of smart people is where it’s at.

I’ve also realised that I want to make things that matter to me, and one thing I’m really passionate about is developers. I *love* helping people and I love making cool shit, so being able to help people make cool shit is really exciting to me. I also think that people need time to think, to work and act… Doing things manually that aren’t valuable wastes the most valuable thing any given person has, their mind. I want to help free them.

Both of these put me on a trajectory to one single possible outcome, which I’ve chosen to put in interpretive danceeasily digestible image format:

Technically this is the Bridge

(This is San Francisco)

"THE" Bridge.

(I am here. Over my right shoulder is the Bridge)



I read from stdlib/json, line 23... (I am Ruby Developer Evangelist)

17 if you count our Consulting Miniature Schnauzer

(I am Employee Number 16 Here)

Which is good because it's cold.

(They even gave me a hoodie)

(My job involves a lot of trips on these)

(I’m also required to drink a lot of these. It’s a burden)






(Sauce Labs do Selenium Testing in the Cloud) (Sauce Labs do Selenium Testing in the Cloud)

(It's fucking AWESOME)

(It’s fucking AWESOME)

3630920835_6a5f3a9b77 (You get Screenshots for every action and video of the entire test)

(And if you're not able to deploy development to the outside world, we provide Sauce Connect, an awesome VPN tunnelling solution)

(And if you’re not able to deploy development to the outside world, we provide Sauce Connect, an awesome VPN tunnelling solution)

(Sauce Labs do Selenium Testing in the Cloud) (Sauce Labs runs our own cloud)

8328690534_6e588141bb_b (Instances run in seconds and last only as long as you need. Our CEO calls it Efervescent Computing)

(I am insanely excited to be able to work with such smart people on such a cool product)

(I am insanely excited to be able to work with such smart people on such a cool product)

My bailiwick is to make it better for Ruby developers to use the product, including improving the gems, writing better documentation and building the community. Plus, a unique opportunity to use my personality to insult people all over the world! If you want to offend your manager, disrupt your office and get kicked out of your favorite bar for getting shouty about whether RSpec shits all over Test::Unit (It does), let me know. Hell, even if you just want help with the Sauce Gem or tests from Ruby land, hit me up.

You can Find me on (T) or (E)


A quick tip. It’s relatively easy to build a test, or an entire suite, and never actually ensure it gets run. Which makes all the effort that goes into it worthless AND gives you a false sense of security. It’s like having a photo of a security camera feed instead of the feed: “Of course everything’s safe, look!”

So, every time you create a new test file, assert that false == true. And run it. And make sure it fails.

Otherwise you’re wasting everyone’s time, especially your own.


The Story

(If you just want the solution, check out the “Solution” section below)
My parents have a Linksys SPA-3102 ATA for making long distance and international calls (family in Victoria, daughter in Austin) because the idea of using a headset and a desktop program is weird and disturbing. Well, and it’s easier. Hi dad!

Recently the VOIP server (Privately operated) was broken into and used, no doubt, for one of those cheap phone cards or to power some sketchy “Hello this is Microsoft what is your credit card you have a virus in your cheese” scammer. The server admin reset the DNS binding, security and username policy so the ATA had to have its settings updated, which proved a challenge for my parent because the bloody thing wasn’t responding to its web interface.

So since I’m vising them at the moment I’ve been taking a look at the adapter and found that indeed, it’s not responding, and I’ve checked every device on the network to find out if it’s one of them (Which first involved finding the IP of the router because apparently is a ‘proper’ address for a router. Which is security in the same way that hiding a key under the doormat is: You deserve to be broken into).

The problem was, I figured out, that its web interface was disabled (somehow). You can fix that, thankfully, with the magic of DTMF tones.

The Solution

It turns out these particular ATAs have a DTMF interface usable from any connected handset. So, as long as you’ve got a handset, you can dial numbers into it and get the information (and perform any configuration) you need.

Finding your ATA’s IP address

Enter the DTMF administration console by entering * * * * into the phone and waiting for the lovely British Robot Lady at the other end of the phone (I’m going to call her Estelle) to tell you you’ve entered the “Linksys Configuration Menu“.

Enter 1 1 0 # and Estelle will read out the device’s IP address.

Enabling the Web Interface

From the main menu (Just after Estelle welcomes you to the configuration system):

  1. Enter 7932
  2. Enter 1 #
  3. Wait to be asked to save
  4. Enter 1

You should now be able to head to the IP address quoted, on port 80 (the standard HTTP Port) to access the web interface, which is what I recommend for most tasks (If only for reasons of speed). Oh, and don’t forget you’ll probably find Advanced Admin mode more useful… Click on “Admin Login” then “Advanced on the right hand side of the web admin console’s header to enable it. And, just because it’s not *overly* clear, all the VOIP settings are under the “Voice” tab.


Amazon have (finally) released an Australian region for their web services. While I am not a jingoistic person, I’ve found that many businesses are. If your data isn’t “on-site” (In a data center they neither own nor control) they’re pretty scared. But move it off shore and suddenly it’s insecure and prone to foreign policy and you’re a Reckless Maniac!

I understand that having to comply with foreign policies regarding payments or accounting standards can be onerous, but most of the objections I’ve seen have to do with fear, or worse, imaginary fear about your customers fear. Although there’s something to be said for knowing your customers, assuming you know them is a bad way to provide things they might not even know they desperately want.

It’s really cool, though, that even people with a vague fear of offshore data (offshore money though, they’re cool with that *roll eyes*} can now take advantage of all of Amazon’s dynamic online services. Perhaps now is a good time to start a consulting software shop specializing in them.

You can read more about the move, and available services, in the AWS Blog post: Source


I love IDEs. There. I said it. All Y’all can fuck about with VIM and TextMate until the cows come home. Give me a project navigator, tabs and windows to drag around, an entire environment I can commit to a repo. That’s where I’m most comfortable.

I use the fantastic RubyMine for Ruby projects. I’m often digging about in other areas for debugging and might not want to navigate all the way back to my project. But I don’t have too. All you have to do is click the little RubyMine icon (second from the left at the top in the picture) to be taken to your project’s root directory.

What are you hovering for? This isn't XKCD

RubyMine’s File Dialog

(Bonus tip: The folder icon, on the far right of the toolbar, shows hidden files and folders)