Going Retina – First Impressions

So, work has kindly equipped me with a brand new Macbook Pro with Retina display. Here are some initial thoughts.

  • The display is gorgeous, and this is coming from someone who’s already been well accustomed to the two other Retina displays out on the market (iPhone 4, iPad 2 and later). Like I mentioned to my colleague the day this product was announced, this screen is going to make every other screen in the world look horrible, and then the rest of the world will have to play catch up. Think full 1080p vs standard DVD.
  • It is very slim too. Granted, a bunch of compromises had to be made to get to this thickness. Because of its reduced thickness, the height to width-length ratio harks back to the 17″ Macbook Pro’s of yesteryear.
  • As far as compromises go, they’ve left out the optical drive, the Ethernet port and shortened the travel on the keyboard. It also only comes with two USB ports – one on each side. Two Thunderbolt ports have included as what I believe to be “wildcard” ports to soften the blow. This is Apple leaving out the floppy drive and dropping the serial/parallel ports in favour of USB in the iMac all over again. Except, USB is going to put up a much tougher fight.
  • There is no longer a Kensington Security Slot, which would have afforded me the option of leaving the laptop at work.
  • Another thing they’ve left out is the external battery charge indicator. I suppose this is the last nail in the coffin to the notion of the battery as an entity independent form the computer. There is no longer battery, only a computer that runs untethered.

While there is a lot more heft to the 15″ Macbook Pro compared to my personal 12″ Thinkpad X201, it is quite something to be able to hop on my daily commute, plug in a 4G dongle and bang away at an experience that come pretty close that of working at a desktop.

For more thorough reviews, lookup “macbook pro retina”

Digital Sentimentalism

Just last week, I learned from a colleague that the Android Ice Cream Sandwich was finally available for my Asus Eee Pad Transformer TF-101. After briefly going through the installation docs, I decided I’d give it a go.

There were two parts to the installation. The first was a scary sounding step called Super Wipe which essentially clears out the internal storage of the tablet before putting on the new software. Thankfully there were two versions. a Full and a Lite. I thought to my self “How clever, I can go with the Lite, and it’ll all my user data”.

So just before powering down the device in preparation for the procedure, I did a quick mental check “is there anything I might need to backup?”, followed promptly by a non-chalant “Naah…”.

I have this principle called the x-month rule of unneccessity: If something has been sitting in storage untouched for more than x number of months, it can be safely discarded (thrown away, sold, etc.) as an unnecessity. The value of x for me was 6 months, which is about how long I’ve been using my svelte Thinkpad X201 as my primary machine. Ever since then, the Transformer has seen very little use.

It all happened so quickly. Super Wipe Lite took less than 2 minutes, and flashing on the new ROM took about 10. After that, the thrill of watching the full potential of my tablet unleashed by a software upgrade took my mind of whatever digital etching were there before.

Until last night.

Maybe it was the dinner time conversation which inevitable turned to the subject of family holidays, but it suddenly occured to me that a large body of the photos from our Taipei trip were on the tablet, and nowhere else. It was during that trip that I bought the tablet, and I’d emptied all the photos from my phone to the tablet. Wifey and I would always enjoy the photos on the tablet so I never bother copying it anywhere else.

It was 1am at in the morning. The wine from dinner was keeping me awake, but the thought of our losing our photos forever haunted me. I rarely feel so helpless with my technology, I’ve never been more emotionally attached to 1′s and 0′s, and I never hated “digital” more.

One last puzzle to cap off the week, I suppose. But the stakes on these were astronomical. And it had to happened right after me accepting a post-dinner riddle from the father-in-law.

You can read a blow by blow account of how I eventually recovered the photos, but it was nerve wrecking.

More than a broad frustration with technology, it’s made me very hesitant to entrust any sentimentalism to these electrical signals. The less you have, the less you have to lose.

So much for being a technologist and a digital native.

Recovering data from my Android Tablet

So Super Wipe Lite had completely decimated the data partition of my Asus Eeepad Transformer TF-101 Android tablet, effectively wiping out all my photos. Here’s how I managed to get them back.

Hopefully this blow by blow account of my data recovery effort may help anyone who finds themselves in a similar predicament. The results of your recovery largely depends your old data still being intact and not yet overwritten by new data.

First, some prerequisites.

  1. Your tablet needs to be rooted. If you’re tinkering around with partitions getting formatted, there’s a good chance you’ve got root too.
  2. Some sort of terminal emulator that allows you to do dd. I used Terminal Emulator.
  3. PhotoRec software on your desktop.
  4. An external storage drive large enough to contain the partition that you’re recovering from. I had an old external HDD that I hooked up to the Transformer via the USB port on the keyboard dock.

An overview of the procedure.

  1. We’ll make a raw dump of the wiped partition so we can perform the recovery from a desktop computer.
  2. We’ll use PhotoRec to do a low-level scan of the data to look for signature of files, and recover them.

Now step by step:

Part I: Low-level copy of the partition

1. On your android tablet, open Terminal Emulator.

2. Go superuser by typing su. Grant SuperUser permissions to the Terminal Emulator when prompted.

3. Type mount. This lists all the partitions on your system. Look for a line that says something like /data, which was the folder that contained all my lost data.

/dev/block/mmcblk0p7 /data ext4 rw,nosuid,nodev,noatime,user_xattr...

Basically we’re wanting to find out what the corresponding block device is. In my case, it was /dev/block/mmcblk0p7

4. From that same list, you can also figure out where your external HDD is mounted. Mine looked something like this:

/dev/block/vo1d/8:5 /Removable/USBdisk2/Drive3 tntfs rw,relatime, uid=0...

If the partition you’re wanting to recover is larger the 4GB, make sure you use something like NTFS or ext3/4. FAT simply won’t cut it.

5. With all the information gathered above, we’ll do a the dump like this

dd if=/dev/block/mmcblk0p7 of=/Removable/USBdisk2/Drive3/transformer-recovery.img

Sit back and relax for a moment. Mine took around 20 minutes for a 15GB dump. When it is finished, you’ll be returned to the prompt.

Part II: Recovering the files using PhotoRec

1. Now that we’ve got a low-level copy of the partition, plug the external hard drive into a desktop computer where you can run PhotoRec.

2. Fire up PhotoRec. Because PhotoRec is only able accept actual partitions as targets for low level scanning, we’ll play a trick where we point it at the partition containing the image file transformer-recovery.img.

3. When asked about the filesystem type, pick ext2/ext3.

4. When asked if all space needs to be analysed, pick Whole.

5. Finally pick a folder where you’d like the recovered files to be stored.

In a nutshell, what we’ve done is imprinted all the low-level information from the block device in the Transformer to an external HDD, and used PhotoRec to scan through and pick up any file signatures it’s able to find.

Hope this guide has been a help.

The shifting concept of permanence

Over the past week, my latest geeky little project has been to take a look at all the IT infrastructure that I operate and rearrange things around a little to match its current utility. Nothing drastic, just tweaks here and there, consolidating a few VPS‘s, swapping out email services and setting up a more robust DNS solution.

Which has brought me to today’s reflection on permanence and the irony of how such a concept survives in our hyper-transient digital world.

Permanence is typically associated with physical mass and tangibility, while transience, the lack thereof. A dead-tree bank statement bears far more permanence than a PDF. Molding a lump of clay with your bare hands, more than pushing polygons. Capturing light on photo-sensitive celluloid more than voltages on a CMOS chip.

But something dawned upon me as I was fixing up some mail forwarding settings for my primary email address: I’ve changed my physical real-world address at least 5 times since I last swapped email addresses. Going a little further, I must have gone through many more mobile phone devices since I signed up for my current mobile number.

Somehow, or some why, these very transient entities (email addresses, mobile number) seem to have lasted far longer than items that we traditionally deem “more permanent”. Don’t even get me started on how difficult it is to mop up an incriminating information leak, or an embarrassing photo on your social network.

This surely begs further and more thorough discourse, but here’s where my thought ends today. Maybe you’d like to chime in: how does such a shift affect the we live, and the way we value things?

How a nerd finds rest

People often wonder what nerds do during their down time, you know, to relax, or to wind down. Allow me to provide you with some insight.

Back in my early teenage years, computer operating systems (read: Windows) would age and deteriorate with use. No, this wasn’t some time-limited DRM or SaaS strategy. Just poor engineering. So, 2-3 times a year, I would make it a point to do a “fresh” reinstall of the operating system to keep things humming along optimally.

If you’ve got everything in place, I discovered that performing a reinstall can be a very rewarding therapeutic zone-out activity. All you’ve got to do is step through a long sequence of actions, and stare at the screen in between. If you follow it correctly, you’re rewarded with a brand spanking new computational canvas upon which you etch out your digital life, all over again.

Kinda like how some people like to sort their wardrobe by wavelength, or rake tiny pebble around in a zen gardenExcept, you get a faster computer at the end of it!

I’m not sure what got into me back then, but I was doing this reinstall thing so often (probably because I’d always find a new way to ruin the system) that I perfected the process of getting my computer from bare metal to a functioning Windows NT 4 workstation in under 15 mins. Yes, you read right – in less that a quarter of an hour, I could drop a blank hard drive into the system, install the operating system with drivers, and be surfing the ‘net on Internet Explorer 5.5.

That was what I did for fun.

Fast forward to yesterday, I’d recently commissioned a brand new VPS to run some of my clients’ websites, and it was 1999 all over again for me. Selecting and rebuilding the server with a CentOS 5 image, updating and hardening the machine. Setting up BIND, and Apache, and MySQL. Meddling with Postfix, ssh, iptables, etc. Did someone say multiple versions of PHP over FastCGI?

Every time I go over the steps again, I try to take the “advanced” route for a component or two. I’d attempt to perform manually something that was previously done automatically through a pretty GUI. This time, it was setting up mail forwarding. It used to be all point-and-click through a cPanel Reseller account, but I spent a good few hours tweaking it by hand, and understanding a little more how email plumbing works.

Fascinating, and incredibly satisfying.

Maybe next time, I’ll try and roll out a Gentoo or FreeBSD box.

Dead tree libraries and exploratory learning

Wifey and I were driving in the car yesterday morning when the thought hit me: will I ever get to take my kids to a real library with dead-tree books? Somewhere in the background, this question was made starker by the recent introduction of one Kindle DX device into the household.

But back to the question about kids and library trips, mom used to take my brother and I to the library when we were young.

My most distinct memory of the whole experience was how sick I’d feel right before we made a trip to the library because I’d misplaced the soon overdue books we’re needing to return. It was then in my early years, I learned that being stressed out is a luxury one cannot afford when the the car engine’s started and the whole family is waiting in the driveway. I also learned that if you’re planning on hoarding lots of stuff, they should ideally be digital and indexable.

But I digress. My second distinct memory is that of the state library we would frequent. Upon entrance, it had two clearly defined section: a section for children, and a section for grown-ups. You could tell which was which by the way spaces were furnished, and how high the bookshelves stood, but you could also tell because the kids’ section smelled like children. I’d always try to steal a whiff from the grown-up section: the smell of grown-up knowledge and wisdom.

The only times I got to enter the grown-up section were when we were about to leave. Mom would send me to get dad who was busy looking up some motorcycle manual, or something about stock markets, or something about computers. Oh, what joy for me – shelves taller than the eye could see, amber coloured monochromatic computer screens to look up books, and… THEY HAD AN UPSTAIRS: double delight!

I would take my time to browse through the shelves as though I were looking for something, while hoping for the day I could understand what lay behind the incredibly serious looking covers with photo realistic pictures and titles I couldn’t pronounce.

Those trips to the library gave me something to look forward to. The whiff “knowledgeable” adulthood ever so gently nudged me to grow up a little quicker, if for nothing other than to be able to reach for the higher shelves.

I fear my kids may not have this experience. Their earliest recollections of knowledge repositories may very well begin a 4-coloured logotype, a blinking text cursor, and a button that says “Search”. What’s a seven-year-old to type in the box? How’s a child going to search for something that he/she doesn’t even know exist? And how’s a child to defend him/herself from the every increasing ubiquity of attention grabbing advertisements that seek to colour his/her mind for their commercial purposes.

I sure hope we don’t screw it up too badly for them.

Why I’m not running Ubuntu yet

I’ve been waiting for many years now to be able to run Ubuntu on my primary machine which is usually a laptop. My previous laptop was a Lifebook T5010. My current one, a Thinkpad X201.

As part of the waiting process, I’d set aside a small partition to install the latest release of Ubuntu, and try to use it for a few days. My most recent endeavour saw me booting up a copy of Ubuntu 11.10.
And here are the reasons why it’s still not ready for me, and why Windows 7 is still my best option.

‘Suspend’ is unpredictable It’s been the case a few times now, where I’d quickly close the lid and slide my laptop into my bag to get off the train or something. Only to find later on, the machine still running, and the fan going full blast to keep the temperature under control amidst the thick padding.

Monitor switching I’ve got a docking station with 2 external monitors set up at home. When I dock the machine, I expect the desktop to quickly detect that it has docked, the laptop lid is still closed, and there are two external monitors that it should use for display. Same thing for undocking. It should figure out that the monitors have disappeared, and it’s time to switch back to the laptop screen.

(nice to have, but not deal breaker) Evernote on Linux, please.

And that really is why I’m still stuck with bleepin’ Windows 7, because it works so well with the hardware. Not a day goes by where I dream of a real shell and proper virtual desktops.

No, and I’m not getting a mac.

Consuming vs Producing

Two recent events have brought me to the apex of this thought.

First, those of you who have been curiously clicking through my “New blog post:…” tweets would have noticed that I’ve made a real big effort string together at very least a post a day (You’re reading my eleventh consecutive post, thank you for asking). Blogging daily has been my little way of intentionally producing something with latent time that I have, as opposed to mindlessly consuming.

Second, my dear wife (upon my request) bought me a Kindle DX for my impending birthday. If you’re not already aware, the Kindle is representational of a whole new class of, what I’d like to coin, hyper-consumption computing (HCC) devices. In my own opinionated, un-peer reviewed definition, these devices are design with only to serve a single purpose – making the consumption of information as frictionless and pleasurable as possible.

Why it is in every device makers’ interests to excel at such a goal is a topic for another day, but the bottom-line is, such devices, if not engaged with active intention, can very easily and quickly dull the producer in each of us.

Yes, it dulls the producer in you.

Allow me to expand on the concept of producing something. Going out on a photo shoot is producing, browsing through endless Flickr streams is consuming. Baking a cake is producing. Reading food blogs is consuming. Going out on a bike ride is producing, watching Le Tour on television is consuming. Learning a new chord progression is producing, watching YouTube videos of Super Mario covers is consuming. Pulling out a few tools and tightening up your creaky chair is producing, wandering around Ikea is consuming. Assembling Ikea furniture is gray, but you get the idea.

I think sharpening and polishing that producer edge is really important for the following reasons.

1. Producing completes a learning process. One reaps the full benefits of learning when one is forced to reproduce that body of knowledge. For example, when I had to write up a half-semester syllabus for the Interactive Media subject for the Bachelor of Multimedia program at RMIT, it was the hardest thing, but it was also the best educational experience I ever had on the subject.

2. Production is a sign of life (in the broadest, most generalised sense of the word). Live trees produce fruit; wooden shelves don’t. Polar bears produce young; not so, fur rugs. Players on the court tear muscles, grow stronger, nimbler, livelier; spectators, not so much, Et cetera.

3. The act of producing brings with itself the very therapeutic effect of a flow. Where stuffy corners of one’s life is pushed out, the vacuum inevitably draws freshness in – basic laws of thermodynamics. Or for the more poetic, Jordan River vs Dead Sea.

So the next time, right before you engage in an activity, make a mental note:

producing or consuming?

Hopefully, you’ll be all the richer for it, and the people around you should be so lucky to share in goodness of your produce.

Nothing is like software

It’s not the first time this has happened: I get into a conversation about the work that I do, concepts in designing and building software, methodologies that the industry live and die by, then it comes like a whistling blow dart flying through the air:

“<insert skill or discipline or knowledge> is just like software”

Examples: “Cooking is just like software”, “Art History is just like software”, “Driving is just like software”, “Organizing a party is just like software”.

Let me catch you right there before you think I’m some arrogant bit-pusher who claims the subject of his line of work is incomparably superior to any other discipline, quite the opposite: notice the phrase was,

“<thing> is just like software”

not

“Software is just like <thing>”

To put in more concrete form, it is the difference between

“A human is just like a mannequin”

and

“A mannequin is just like a human”

See, the point I am trying to make is that software is a lump of plasticine. It bears no form of its own, it bears no identity, or agenda or bias. Software is what people use when they try to teach silicon wafers how to add numbers up, or coordinate a taxi fleet, or try understand human behavior – the great codifier of all things. It is puzzling to me when someone claims to derive anything original from a craft whose ultimate goal is mimicry.

So please, if you are looking for something original, and the glint of software catches your eye, don’t stop there. Instead, look through software, and find the thing that inspired it.

Gödel, Escher, Bach: an Eternal Golden Braid

I’ve started reading this book because some smart sounding people think it’s a good book to make you sound smart too.

Up to page 72 now, and I’ve been introduced to self-referencing, Gödel’s Strange Loops, formal systems, proofs, typographical manipulations, meaning and interpretation, axioms and theorems.

I’m sounding smart already.

Hopefully as I read and blog, it’ll help me consolidate my learnings.

Data wants to be free

So I caught up with a friend who is thinking of launching a startup. The premise of the business is straightforward enough – harvest and sanitize free, publicly available data, and sell to willing buyers with deep pockets.

The conversation came around to how we could do some validated learning a la Lean Startup. I suggested we could package a subset of the data that he’d gathered and try and peddle it to parties that we think would derive value from such a product.

He had a concern – “What I don’t like about that idea is that I lose control of the data. what’s stopping someone from paying a one time fee for the data and just copying it around?”.

“Nothing really. Here’s the fact of the matter – data wants to be free, and she will find any means possible to free herself”.

Building a business around locking down a repository of raw data and selling it is no longer a viable model. The sooner a your model can make peace with that reality, the better its chances of sustaining for the long term.

What emerged out of that was a completely new trajectory and a lively conversation about how we could start thinking about embellishing the data with real and current value.