Fixing a broken ice maker
Last night around 8pm I’d finally had enough. The contempt for my icemaker had reached it’s tipping point and it had been days since a new batch of icecubes were birthed. Before I go too far, all I wanted was enough ice to make a proper martini. All of the major players were there: the huge and awesome spanish olives, lemons and limes sat at the ready to sacrifice themselves as “twists”, and the vodka? Belvedere, cold, and plenty of it. I follow Winston Churchill’s recipe for a perfect martini with one exception, I replace the gin with vodka. For those who don’t know Churchill’s recipe calls for 3 parts British gin and one look at the bottle of vermouth that sits dusty on the other side of the room.
Like many of the amazing plans before this one the precipice of greatness centers around the pursuit of a good drink. The thing standing in the way of all of this was the GLACIER in the freezer, one solid 6lb block of oddly formed ice sat in the cube collection bin. A little backstory, I’d known that something was wrong with the icemaker the moment that I’d moved into my new place. Basically it never stopped making cubes, EVER. Which was fine because I moved in during the summer and without any sort of air conditioning I could pretty much keep pace with the machine. Both fall and winter pass with little annoyance but incrementally the problem got worse and worse. Fast forward to 8pm last night, where I sat wanting a tasty beverage and the only ice in the house was the cinder block sitting in the freezer. DAMNIT!
Under my breath I whispered “I’m gonna fix you” in a voice that wreaked of contempt and anger.
The tear down began by chipping away at the ice that connected the icemaker to the bin, once it was freed I could work on heating up a socket to melt the ice that covered the screws. After finally getting what I thought were all of the screws I realized that there was one in a spot that was completely not visible. Using Rin’s compact mirror in McGuyver like fashion I managed to get the last screw out. Once apart, I went to looking at how the assembly works and realized that the stopper pin (the thing that works the arm that tells the icemaker to stop) had broken. To replace the pin I had the clever idea to heat up a nail on the stove and push it through the plastic. Woohoo! A few cancerous fumes later I was putting everything back together. About an hour later the fridge was back to making ice AND stopping on command. WIN.
AT&T, it’s been fun!
Funny story, today was supposed to be my last day at AT&T. Turns out, that isn’t happening… yet. Next Monday (the 20th) will actually be my last day as an AT&T employee. My decision to leave the company was not an easy one to make but for now I think it’s the right move to make. Many folks have asked: “WTF Hughes? can’t you hold down a steady job?”. To them I say, “does the job involve some sort of gambling?”.
All joking aside, it came down to a conflict of culture and rather than become a distraction to their hard work, I made the decision to bow out. Over the course of my employment, I enjoyed the amazing opportunity to work with the brilliant minds at AT&T/Bell Labs, invited to be a member of their “Justice League” (AT&T’s technology innovation counsel), and worked on stuff that will no doubt change the way people use their phones.
The guys I worked directly with at AT&T Interactive are some of the sharpest minds I’ve ever met. They’ve become more then just colleagues, they’ve become very close friends and albeit brief, it’s been one of the best gigs I’ve ever had. Fortunately, I’ve left the company with no bridges burned and an open invitation to come back. It’s my sincere hope that
As for what comes next, I don’t really know. I’m very fortunate in the sense that I have a number of interesting opportunities and for that I am very grateful. I pray that whatever path I choose is the one that provides both a sense of accomplishment and lasting fulfillment. One thing is certain, I’m going to be doing a lot more tinkering. The iPhone coupled with it’s new firmware provides a wealth of fun hacking options. I’ve got a couple more arduinos on order and am looking forward to creating an iPhone/arduino chimera that does nothing but cool.
What have I learned from this whole experience? Whatever my next move, I do it deliberately.
Wish me luck in what comes next.
P.s.
Apple Using a Jailbroken iPhone in a Patent App! FTW
Sometimes you get a chance to point your finger and laugh the “Laugh of Nelson”.
Today is one of those days. As good fortune would have it Apple’s patent illustrators used a jailbroken iPhone in an actual for-real patent application.
The darn thing has RIP Dev’s Installer on it too!
Credit for this fantastic boat-load of WIN goes to some eagle eyed patent reader and a full writeup along with links to the patent app can be found on engadget.
http://www.engadget.com/2009/03/28/apple-uses-a-jailbroken-iphone-in-patent-application/
To Apple I say
360 iDev Post-talk mega-pack
Yes, I know I was supposed to get this post online yesterday but turns out there was beer AND rock-band here at the end of the conference mixer. So a little disclaimer, I enjoy rocking out.
Speaking of disclaimers, let me restate this again.
The views expressed in my presentation are MINE and not of my employer at&t | interactive
Unofficial iPhone Development - Why it’s still still important to do.
Get yourself PwnageTool, it’s the best way to go when it comes to jailbreaking your device. There are some resources on the web for walking you through the process. But if just wanna take the easy route Quickpwn is pretty fantastic.
Nevertheless here is the list of essential Cydia Packages:
BigBoss’s Source
Class Dump
Classpath
Core Utilities
Erica Utilities
Cycoder
Cydia Installer
Mobile Substrate
MobileTerminal
ModMyi.com
OpenSSH
OpenSSL
PyObjC (optional)
Python (optional, but dude it’s python… python)
Ruby (optional)
RubyGems (optional)
SQLite v3
Saurik’s Source
Setup Tools (optional, but good if you install python)
developer-cmds
diskdev-cmds
iClarified’s Source
netcat
shell-cmds
wget
Veency (SERIOUSLY FUCKING BADASS)
I also demoed using class-dump to mine the public and private frameworks to look for undocumented methods that you want to include in your application. The python script I wrote for iterating the frameworks is included in the zipfile below.
Stuff that I demoed:
- Using frameworkdumper.py to dump the frameworks. Remember if you run diffs of the framework versions and see differences look to those bits for new functionality as it trickles in.
- Using Erica Sadun’s notificationWatcher (found in the Erica Utilities package) to look at functionality that you can hook and create really slick applications.
- I talked about using the command line to disable 3G & EDGE to give you the ability to test network degradation in your application (Ever wonder how to test what happens when a user switches cell towers).
- Jay Freeman (@saurik) during my talk told me about Veency, an application that allows you to login to your iPhone and interact with it (amazing for demoing applications)
- Jay also mentioned that Cydia is installed on 2 MILLION iPhones
- I talked about how Apple’s current SDK demonstrates a lack of trust with their engineers. Effectively
The best part, of the all of the people in my talk only 1 engineer left unconvinced of the value. To him, I say if you want to be an ostrich… be an ostrich!
Download - 360iDev.zip
Interesting stats:
At the end of the first half of my talk I did a jailbreak walk through of the whole jailbreak process. 7 iPhones jailbroken and a whole slew of new converts.
Cydia installer lives on 2 MILLION iPhones (only apple has them beat for installed apps)
FREEDOM OF THE DEVICE FOR ALL!
-chews


riend












