Tag Archives: opinions

I’m a highly opinionated person and always up for a good debate over something. There are my personal opinions and don’t necessarily reflect that of my company, my clients or other business involvements.

Expressoholic

As much as I love a visit to a fine dining establishment such as Ti Kouka, sometimes it’s nice to just have somewhere you can go for a hearty laid back feed, coffee, beer and just enjoy some solid yet tasty food without hurting the budget too much.

Expressoholic has been open for around 24 years, although not always in the same location – first starting off on Willis St, before moving to Courtney Place for 18 years, until a rental dispute forced them to move to Cuba St.

I only became acquainted with Expressoholic after the Cuba St move, which put it right inbetween work and home for both my best mate and myself, making it an ideal option for our brunch and coffee needs.

I feel obligated to point out that for a cafe with a label of “Expressoholic”, their coffee is pretty standard Wellington fare – it’s a decent brew, but nothing that stands above other options in Wellington (in 2012 anyway – when they opened, I expect it would have been a bit of a game changer).

However any concerns about the coffee are forgiven as long as they continue to serve up delicious, well sized and affordable meals with lots of vegetarian options. :-)

Pancakes with berry and marzipan.

Deluxe Nachoes - the ratio of topping to cornchips is very heavily stacked towards the topping, great lunch or dinner option.

Tofu Burger - one of my favourite options, but it's a big meal! Their fries are cooked perfectly too, the exact right crunch.

Depending who's making them, the milkshakes can be average or amazing. Either way, never disappointed.

I rate the food here highly, all the meals are always well prepared to a consistent standard, served promptly and with the range on the menu, there’s always an option regardless of what you fancy that day.

The service is also excellent, with friendly and effective staff including the owner who’s often serving tables and clearing up afterwards.

For added points; unlike many Wellington Cafes, Expressoholic is open into the evenings and has a liquor license, so if you want to enjoy a beer whilst chomping down a hearty plate of nachoes, this is the place to go.

Whilst I’m not a huge fan of their black & white decor, the table art is pretty neat and they recently expanded into the shop next door adding a number of additional tables, since the expansion there’s been a table every time on 99% of our visits – be smart and avoid the typical weekend lunch rush hour though, it is a popular location.

Mirrors showing off your dreamy blogger who you know and love/hate. Note pre-coffee hair.

Expressoholic is located at 136 Cuba St, just a block up from the bucket fountain, well worth a stop whenever in Wellington.

Ti Kouka Wellington

Whilst plotting my visit to Wellington this weekend, I naturally had to place Ti Kouka Cafe high up on the list (sadly they’ll be closed for the public holiday weekend, so I only have a short window to get my visit in).

Situated upstairs on 76 Willis St, Ti Kouka now occupies the space once taken by my much loved and much missed favorite Katipo Cafe, once the local for Tom and I during #geekflat and Amberdms startup days.

After Katipo suddenly closed, it underwent a bit of refurbishment and an entirely new cafe emerged – Ti Kouka.

Rather than focusing on the counter-culture feel and cheerful hearty feeds that Katipo had, Ti Kouka is an entirely new venture with an entirely different approach, focusing on top quality food, presentation and dining experience.

With one of the founders and main chef being ex-Logan Brown, the food is excellent and tends to be a little more varied than the usual fare found in most cafes.

I’ve had the opportunity to enjoy both their breakfast and lunch menu. Whilst the vegetarian selection for lunch isn’t huge, there are a few good options – a couple more would be a nice touch.

Ti Kouka don’t do the stereotypical huge breakfast with everything on the plate, rather choose a base meal and select a few delicious sides to go with it, or mix things up and go with a couple smaller options.

Breakfast, with a delicious pile of their famous chips. Also a bowl of their excellent mushrooms.

Ti Kouka is also where I’ve had the best pancakes/hotcakes of my life – rather than cream, it’s been served with ricotta cheese and buttery maple syrup, which must be real maple, since it tastes far more amazing than any I’ve had before.

Even dedicated pancake parlors don’t come close to this….I normally tend to go for savory meals as the cafe breakfast option due to many pancakes being served a bit too dry & plain, but this is certainly not the case at Ti Kouka and well worth trying.

This is the most delicious pancake I've ever had. Ever.

If you end up at Ti Kouka for dinner or drinks, it is highly recommend to try a side of their chips, which are nothing short of the most amazing potato based creation known to mankind thanks to a triple-frying process.

The coffee is pretty excellent too, I’ve never had a bad coffee there – even managed to order a soy latte without the nasty burnt rubbery taste that too many cafes fail with when making it.

Living in Auckland, I miss this delicious coffee, so, so much. :'(

Whilst the meals never appear huge, they are always very well executed with excellent flavor, well thought combinations, consistently good standards and I’ve always been pleased and full at the end of my meal, without leaving tonnes on the plate like I end up having to do at some establishments.

My only real complaint is that my favorite lunch time meal option of the Grilled Haloumi has been changed from when it was originally introduced with beetroot & dukkah to a new more salad focused option, which whilst good, isn’t quite as good as my original favorite from them. :-(

Sadly this menu item has changed a bit, but still good.

Ti Kouka has quickly established itself as one of my favorite places, although it does tend to be somewhere I go when I specifically want a delicious meal and relaxed dining experience, if I’m craving a big breakfast after a late night and in a hurry, better off looking at other options like Expressoholic-  you want to take the time to enjoy the Ti Kouka experience.

I’ve found that it’s an ideal location for dates, business meetings or an evening with friends for tapas and drinks (Thr-Fri only), the venue is spacious, quiet and has various table options including being able to look down onto Willis St, or one of the more private booths ideal for secluded dates.

Take a look at some of the other reviews on Gusty Gourmet, Foodie Gems of Wellie, and (as much as it pains me to link to them) Fairfax/Stuff, they all proclaim the excellence of the food and there’s a few pictures of some of their nifty meal offerings.

Porting to 2degrees

Having been a long-suffering victim of poor experiences with performance on Vodafone’s data network in NZ and expensive pricing, I’ve now shifted to NZ’s third and youngest mobile provider, 2degrees.

Upgrade from 32k to 128k of SIM memory, woot! ;-)

Two major incentives – firstly unhappiness at Vodafone’s 3G data performance and secondly, unhappiness at the fact that my personal telecommunications expenses are around $350 per month (welcome to NZ, land of expensive comms) and seeking to reduce these somewhat.

I was originally paying $59 a month for my Vodafone service – 120mins, 250 SMS and 300MB data (although boosted to 3GB due to a grandfathered plan promotion). It was pretty good deal when it came out, I signed onto the plan when the first Android phone in NZ launched (HTC Magic) and good data plans for mobiles that didn’t cost a fortune were kind of a new thing.

With 2degrees, I’ve now dropped my bill down to $39 a month, which provides 220mins, 2500 SMS, 100MB data, plus an additional 1GB data bonus for the next 12 months.

There’s a bit of a loss on datacap size, down from Vodafone’s 3GB, but my smartphone and laptop use no more than 1GB all up when combined in regular use, so it’s not really going to impact me.

I also went and dropped the Telecom XT data SIM in my laptop – whilst convenient and bloody fast data, it wasn’t worth the cost for how often I need it – and I can’t really justify when my phone can pair and share the 1.3GB of monthly data it has.

Number porting went very smoothly – after requesting the port online with 2degrees, I got a txt about 3 hrs later confirming it was complete. 2degrees even went to the effort of informing Vodafone and having them close my account which was handy.

It’s been going great since, so far I haven’t encountered any cell towers dropping ~90% of packet data without anybody at Vodafone noticing yet and performance seems speedy and reliable.

Infact the performance of the 2degreees network around Auckland actually beats my DSL at times, especially for the upload, which is pretty tragic. :-/

Sadly the results for 3G performance are sometimes better than my ADSL :-/

I haven’t gone on a rural trip since moving to 2degrees, but it should be just as good as I used to get with Vodafone, as 2degrees uses Vodafone for roaming when outside of their own network zones.

Their plans certainly seem popular – I’ve had at least 2 other friends move to 2degrees, even if you want expensive smartphones, it’s often cheaper to buy the phone outright and use 2degrees no-term monthly than to sign with Telecom or Vodafone due to the savings in plan costs over 24 months, not to mention freedom and flexibility to change plans.

IBM x3500 M3 Server

I recently got to play with a nice shiny new IBM x3500 M3 server ordered for a customer to replace a previous IBM x3400 M2 that had become a bit too acquainted with a sprinkler system….

These machines offer a good mix of features that makes them suitable for small and medium businesses, with the option for both SAS and SATA drive, dual CPU sockets and up to 192GB RAM in a (large) tower format.

Whilst not for everyone, I love the IBM xseries industrial design.

The only issue is that they sometimes miss certain handy features that competitors like Dell are shipping in their machines – one such feature being ESATA, which I find really handy for small business customers doing backups onto external hard disks.

With the x3500 M3 the server ships with UEFI instead of a legacy BIOS, sadly it doesn’t seem to speed up the server boot time but hopefully as they start to build a better design around UEFI this issue will improve in future releases.

I still have high hopes for what they could accomplish with UEFI, but so far it seems to be mostly a system for booting a BIOS-like mode so I’m not sure what has actually been accomplished other than to add more layers worthy of Inception.

As standard these machines ship with a single power supply, for redundancy you will probably want to order the Redundant Cooling & Power kit to get a second supply, along with several more fans you don’t really want or need.

(Tip: On older models, if you dislodged any fans by accident, the server will think there’s been a fan failure and will run all the other fans at maximum speed which is incredibility loud. In normal operation, it should be reasonably quiet with the fans speed dynamically slowing.)

Enough fans for a small hurricane.

IBM is moving towards 2.5″ drives being the size of choice, so take care when ordering disks to suit. In the case of the model we purchased, it shipped with 8x 2.5″ SATA/SAS bays as well as a big general bay area and mounts of older existing 3.5″ disks.

I presume this large bay is where additional 2.5″ bays could also be installed if you have particularly large storage requirements.

I do love the tiny new 2.5" drives, pitythey can't reduce the size of the rest of the server to suit....

Most likely you’ll be ordering the machine with additional memory to install, take note that these servers (like many of IBMs) are particularly explicit about which slot there memory modules must be installed into.

And if you’re ordering a lot of RAM take a careful read of the product manual – what I see with the memory installation instructions hints that certain DIMM slots are only usable with a second CPU.

Memory installation instructions are on the side panel/lid.

The best part of the x3500 M3 is that it ships with an IBM Integrated Management Module as a standard feature. This allows full management of the server including viewing the screen all the way from power on, through UEFI/BIOS and to the OS remotely via a web brower, eliminating any need for a network connected KVM.

This is particularly great for us, since a customer who is ordering a tower server typically only has a couple machines at the most and isn’t going to want to invest extra money for remote access – having it as a standard feature makes our lives a bit easier without costing extra.

Kernel paniced your box? No worries, a reboot is just a click away!

I was also happy to find that instead of some nasty flash plugin or windows-only application, the IMM browser interface works fine on my Linux machine and even the Java-based KVM functionality works fine under Linux and OpenJDK.

Don't mess with those BIOS settings in that tiny server room, do it from the pub! (or maybe don't, alcohol and BIOS settings sounds like a recipie for disaster....)

The one problem I did have with the IMM is that they made the process of the first login a bit harder than needed, with some obscure default admin user/password details, but then allowing the user to continue to use these insecure credentials for ongoing maintenance of the server.

Naturally you’ll want to change the passwords of the IMM because having randoms login and reboot your server isn’t exactly desirable… You should also setup and force HTTPS as well, to ensure there aren’t any insecure connections established sending keystrokes without encryption.

 

I think the IBM x3500 M3 series servers certainly have room to improve – they’re physically overly large, UEFI still boots slowly, the H/W RAID configuration interface needs a lot to be desired for and a lack of a built-in ESATA port is very annoying.

But when it comes to the manageability and expandability of the platform, they hold their own and for businesses with a single primary server I think they’re a great option without needing massive investment in management infrastructure.

Die Flash, Die!

I hated flash whilst it was still cool!” — Jethro Carr, Internet Hipster

Adobe Flash has to be one of the more polarizing internet technologies out there, people either love it or hate it, but either way, it’s difficult to avoid. It’s used as the default for playing youtube videos, many online browser games, banner adds, “smart” uploaders and a large number of adult websites.

It’s also used for some important systems as well – Air New Zealand make heavy use of it for their Airports membership page (infact it’s not possible to login unless you have flash), which is extremely poor from a large company that should know better, along with a few too many enterprise web applications I’ve come across.

Whilst Flash has had a reputation for poor performance, CPU eating and battery-life killing, these are all implementation faults – the primary issue with Flash has always been that it’s a proprietary application and a proprietary standard.

If Adobe had simply allows Flash to become an open standard and open sourced the flash player, many of the technical issues with it would be resolved by the developer community, and it would become more ubiquitous with ports to other platforms that Adobe might consider “too small” to worth spending developer time with.

Adobe didn’t even release specifications and allow free licensing until 2009 when they kicked off the Open Screen Project and released the specification – but it’s a big catchup game to play for other applications to fully implement the specification needed to support flash applications. And the flash player itself is still fully proprietary, if Adobe doesn’t want to support a platform or a browser, you’re effectively screwed.

Open source projects like Gnash are slowly catching up, when I tried it recently it was good enough to allow me to play Youtube videos and some other flash features, but would fail on more complex applications such as Air New Zealand’s abomination of a website, so depending on your needs, you may still be chained to it.

 

Flash on Linux has always had a particularly rocky history – historically Adobe made a plugin available but only supported the i386 platform, requiring many years of the use of 32 to 64bit wrapper libraries in order to run Flash on modern 64bit Linux systems, leading to all sorts of wonderful performance, memory and audio issues.

A 64-bit alpha plugin emerged relatively recently and Adobe now supports 64-bit Linux as part of their official downloads, but other platforms such as PPC, MIPS and ARM are still unsupported – an issue which becomes more and more apparent as vendors release ARM based smart-phones and tablets and are unable to install flash player on them.

Adobe has now announced that they will be dropping support for Flash on Linux for anything but Google’s Chrome browser, which has it’s own special build in flash binaries – I suspect this will mean that it won’t extend to supporting the open source build of Chrome (called Chromium) which currently excludes the Flash support.

Of course, for other browser users like myself (eg Firefox), this decision is short sighted and very frustrating – a text book example of the problems with relying on proprietary software and standards.

Thankfully Adobe did at least realise that this decision is going to result in a lot of users sticking with the final 11.2 version on Linux and is promising to support 11.2 with security updates for another 5 years, so at least we won’t have thousands of users running around with vulnerable flash players – Flash Player does have a reputation for security holes after all.

 

On the positive side, Flash is dying.

Adobe has already announced plans to stop supporting mobile platforms like Android in favor of Adobe Air, although Adobe Air sounds like they’re making the mistakes of Flash all over again, unless they allow fully HTML5 based Air applications to run without need for a browser plugin in future.

Apple has always refused to support Flash on the iOS platform (iphone/ipad) and recently stopped shipping Flash with MacOS on Macbook Air by default. (in a hilariously ironic statement, Apple criticized Flash for being a proprietary locked down platform, whilst happily ruling the iOS platform and App store with an iron fist).

HTML5 along with Javascript is quickly securing it’s place as the web platform of choice for rich UI web application developers and I expect we’ll see more and more tools and frameworks to make working with these technologies easier.

You can even watch Youtube videos in HTML5 if you have a capable browser (recent versions of Chrome or Firefox will work) under their HTML5 trial.

Hopefully projects like Gnash are able to complete their implementation of Flash to a sufficient level to support legacy websites and applications, although by the time this happens, it may be that we won’t need it any more.

 

If Adobe had just open sourced Flash Player and the standards years ago, maybe this wouldn’t have been the case and we’d all be running stable open Flash implementations already, Adobe only has itself to blame for Flash’s demise.

But they won’t see any tears from me.

Sea Shepherd in Wellington

Whilst wandering along Wellington harbor this week I came across the MY Bob Barker berthed, one of the things I love about Wellington is finding random bits of awesomeness like that.

This is actually the second Sea Shepherd ship I’ve seen IRL, in early 2010 they had the MY Steve Irwin in Wellington and I managed to get some pictures of that then too.

Sea Shepherd is an interesting organization with a background showing that they aren’t afraid to take more extreme actions than just protesting, with past history including ramming whaling ships and contributing towards the sinking of several – reading the fleet history gives a good idea of some of their past exploits.

I can’t stand whalers, they’re ignorantly and blatently killing  extremely intelligent creatures and in the case of Japan, they don’t even have the courage to call the hunt and slaughter what it is, instead calling it “research” and miss-using loopholes in multinational treaties.

The politicians, companies and people involved in whale hunting do nothing but bring shame and condemnation on their countries and deserve to end up on the bottom of the ocean, the sooner the better.

apt-get install debian

Early last year I wrote how I was concerned about the progress and future of the CentOS project and was considering other options.

As of today, I’ve now shifted my primary workstation (Lenovo X201i laptop) from the somewhat out of date Fedora 13 over to Debian Stable/Squeeze.

The main drives for this change were:

  • Fedora 13 was out-of-date and lacking security fixes, hence requirement to upgrade.
  • The logical replacement, Fedora 16, now ships with GNOME 3 which I found to be buggy and a regression to my work flow and requirements (not going into details here, but essentially issues with dual screens, workspaces and customization of toolbars).
  • Desire to seriously try Debian as a primary system with the purpose of evaluating it’s suitability as a replacement for my CentOS servers.
  • Requirement for a distribution that made major release upgrades feasible (Fedora can do version jumps, but not recommended, making it a tricky process to find time to do a laptop upgrade/rebuild).
  • Distribution standardisation across my server & workstation environments.
  • I needed a full reinstall in order to downsize from a 320GB HDD to a 120GB SSD.
  • Reliability – my laptop is my primary business machine, if it doesn’t work, I’m going to be living on instant noodles until it starts working. Or even worse, work will buy me a Macbook to use like everyone else. :-/

I chose Debian particularly, since it would be a fine option for replacing my CentOS servers in the future with long life support & stability, it’s large package selection and the fact that it’s committed to freedom and openness (as is Fedora also); all of which made it more attractive than Ubuntu for me, which feels much more desktop and fast release focused.

So far, I’m loving it – the distribution is solid, well built and developer friendly, and the package selection is pretty decent, not to mention apt being nice and snappy (although the SSD sure helps there ;-)

I’ve had a couple minor issues relating to my Lenovo hardware that I’ve been able to resolve and have gotten into building a few Debian packages in order to backport newer versions of programs like Firefox/Iceweasel.

From what I’ve observed with playing with Debian today is that’s a pretty awesome distribution, but not entirely as perfect as some of it’s users like to make out:

  • The installer is a bit dated – not due to the text installer (I fucking love text installers! \m/), but rather due to it’s lack of support for WPA/2 wifi access points and also the ability to allow the user to make broken systems without warning (eg no /boot partition when you don’t have enough coffee like me).
  • Debian is often credited for having all the packages under the sun in it – whilst almost true, I did note that a number of my more obscure package choices didn’t exist, sending me  running for my compiler a few times.
  • It would be nice if stable backports tracked some of the common packages that users like updated on older systems – programs like web browsers, instant messengers and maybe even kernels for uncooperative hardware. A user could avoid this by using Debian testing, but there are valid reasons to use stable + some backports over using testing or unstable.
  • I think rpm has nicer command line options for directly working with installed or to-be-installed packages than dpkg. Having said that, some of this could be user familiarity/likes, so time will tell as I use it more.

Over all though, these are minor issues – I think it’s a fantastic distribution with so much working out of the box, applications appearing well tested and good online documentation and resources.

I’m currently running trials and comparisons of Debian with my CentOS hosts with a view for replacing my current CentOS 5 instances with Debian Stable instances over a phased migration period, as well as testing features like LDAP authentication and KVM, but it’s looking pretty damn good so far.

At this stage I’ve only used CentOS 6 as a KVM host platform and it seems unlikely I’ll end up deploying any CentOS 6 VMs with all the security update release slowness. With only a couple servers on CentOS 6 altogether, I’m pondering switching them over to Debian sooner rather than later to reduce maintenance efforts.

[FYI, this post isn’t intended as an attack/demands at the CentOS developers, rather it’s recognizing they’re a volunteer team and probably lacking resource – and I thank them for their efforts, but it appears long term it’s not a good option for my requirements.]

It does also raise questions about Red Hat’s RHEL future with engineers like myself – with Red Hat no longer offering a free-as-in-beer-with-no-support option and CentOS being too slow, more geeks like myself might move to Debian. And if we do so, when the next enterprise project comes along, will we be recommending RHEL or Debian?

Red Hat offers the advantage of commercial support, but for a company with their own engineers, Debian may be more appropriate and budget friendly.

Android Market Immaturity

Whilst I’m on the war path of Android, there’s a number of major issues that the Android Market has which have been causing me great annoyance lately. It feels very much like Google rushed out a Market application that meets their major requirements, but haven’t put much thought into a lot of how the market will behave in the real world.

 

1. Application Update Management

My IT background has a large component of working with enterprise and corporate organisations, in particular, telecommunications companies. These companies are often known for their annoyingly slow habits of deploying new software:

  1. Determine new software version to use.
  2. Document installation, deployment procedures.
  3. Complete strict testing of applications.
  4. Deploy application.
  5. Test and ensure functionality. If a fault occurs, rollback using the documented procedures.

On the other end of the spectrum, the Android Market has the following behavior:

  1. Find updates. (automatic updating can be turned on/off per application).
  2. Install them.
  3. Don’t like the application following the update? Software bugs? Tough, deal with it.

Whilst I’m hardly going to advocate making test plans for deploying Android updates, I think Google need to take some lessons from the enterprise environments – software will always surprise you with bugs, so plan for rollback options.

There will be times when you update an android application, only to discover that it’s changed in some undesirable way, or that it’s developed a bug in a key feature that you use every day or maybe just doesn’t suit you as much as the older release.

I’ve experienced this issue in the past, where a twitter client update broke posting images via twitter for about a month, before a subsequent update fixed it. Whilst this was occurring, I had no means to be able to go and downgrade the application to the older version that had worked fine.

Sure, it’s not as scary an issue as 10,000 customers not having internet like the telco world, but for that user who’s suffering a bug that impacts something they use daily, it’s a big fucking deal.

Add versioning and rollback support. Seriously. Please. Linux has had this sorted for years (decades?), you can always downgrade a package on a distribution to an earlier version if so desired.

Whilst it is possible to downgrade an application on Android if you can locate the .apk file elsewhere, if the application is only available via the Android Market, there is no approach other than earlier phone application backups that you might have created.

 

2. Vanishing Applications

I’ve been using Android for some time now, since around Android 1.5, during this time I’ve used a lot of different applications and have experienced the annoying issue of applications that I like and use being removed from the Android market place.

What tends to happen is:

  1. User find a nice application that meets their needs, downloads and installs.
  2. Developer pulls the application from the market – this can be any number of reasons – trademarking, unhappiness at application quality, removing a free app and going commercial only, no longer any desire to maintain, or even due to removal by Google for malware.
  3. User ends up buying a new phone, or re-installs a new Android OS image and wants to install all their favorite applications again.
  4. User is unable to find their application on the market to download again.

Once this happens, the only option is to try and recover the application from an existing phone, find it floating around online or if it’s an open source application, find the public repository (even abandoned apps tend to keep the source around) and download and compile the application.

Otherwise the user is left with trying to find an alternative application (if one exists) that could be better or worse than what they previously had.

This particular problem has bitten me enough that I’m always actively seeking for open source options and choosing them, even if a proprietary application is slightly better – the knowledge that I can always build the app myself if it vanishes is a key point.

Unfortunately it’s not that easy to always tell which apps are open source or proprietary thanks to the Android Market’s unclear licensing information:

 

3. Clear licensing information.

Android Market will not report what license a particular application has when viewing the applications details or even when downloading the application.

This is a problem as there’s no way in the market application to tell whether an application is free as in freedom or free as in beer, which is a big problem for any users like myself wanting to choose software options that are under an open source license.

There have been numerous requests to Google to change this, something that surely must not be  a hard feature to add, but there’s been no visible progress on this issue.

For now I’m taking more efforts to research applications before installing them, and using F-Droid, the open source only repository as a first stop to find applications.

 

4. Freedom & Censorship

The use of the Google Market application offers some handy features such as the ability to remotely install software onto the phone via browsing the market website, a legitimate and useful function for some.

This connection to Google also allows Google to remove applications that are undesirable – the intent of this is to remove known malware and malicious content from devices, once again, a legitmate and valid use.

The downside, is that there is the capability for Google to use this connection to install or remove other software components in future, for either their own motives or that of a court order.

Consider something like a wikileaks application providing leaked data, or an application to bypass censorship which causes embarrassment or problems for the US governement. As a US company, Google could be ordered to remove that application from devices worldwide, a very plausible and concerning scenario – even if a user is confident about the ethics of Google, it wouldn’t stop a court order forcing software to be removed.

If this scenario seems far fetched, remember that Amazon removed a particular book from all their e-readers after a copyright dispute, removing not only the book, but all the user prepared notes for them.

I’m a strong supporter of computing freedom, having vendors like Google becoming gatekeepers and controllers of what we can and cannot run is concerning, particularly as the future of legislative policy appears to be tighter and nastier, particularly with the US.

 

Can it be fixed?

It would be pretty straightforwards for Google to fix issues 1-3:

  • Add version awareness to the market place, so a user could downgrade applications – even if it was limited so a user could only download to a version they previously had, I would be happy.
  • Keep pulled applications in the market place (with exclusion of apps removed for malware/malicious purposes – in that case, it should be removed and labelled as such) at least for users who have downloaded them in the past, so we can continue to use our favorite apps. A warning that this application has been abandoned or some other term would be fine.
  • Provide licensing information for applications, along with search abilities to find applications by license type. A link to the upstream source would be a nice touch too.

The 4th issue is a little more complex as the ability to remotely manage software has valid features and isn’t as simple as just removing.

Ideally I think the best approach would be to adjust the structure of Google’s Android integration, so the hooks into Google having control over the phone can be changed to allow/always prompt/disable approach.

This still allows for all the current functionality, but gives users with concerns about Google’s abilities to control how their phone behaves.

I’m pessimistic about Google actually going and fixing these things – they aren’t major selling points to attracting new users to Android, but I think they need to be addressed for Android to be more reliable and usable long term.

Android: the free-ish mobile platform

I’ve been using Android for a while now, starting with the somewhat underpowered HTC Magic (G2) before moving up to a much snappier Google/Samsung Nexus S which is now my current model.

Whilst I’m a fan of the platform overall, I’m encountering more and more issues every day with the fact that Android is being positioned as the poster child of open source in the mobile space (with other alternatives like Meego and WebOS way behind in terms of market share and consumer awareness), yet Android is only partially open source, still relying on large proprietary chunks.

With the recent release of Android 4 (Ice Cream Sandwich), I decided I would run through the steps of compiling Android from source code – I’m a firm believer of only running things that you have the ability compile yourself, and have gone through the exercise of building Linux From Scratch and custom distributions in the past to gain understanding of how the Linux OS is assembled and functions.

Android’s open source release (AOSP) is available from source.android.com which provides instructions for downloading the (large!) source tree, tools and building them into a functional device.

Doing so was an interesting experience – some of the first issues encountered are:

  1. AOSP is limited to working out-of-the-box with only a select number of devices – any official “Google” phones, like the Nexus S or Galaxy Nexus are supported, along with a couple additional vendor models (such as the Xoom tablet).
  2. If you have a non-google supported phone, you’re on your own – depending on your vendor, it may be a simplish, painful or maybe impossible task to obtain the required binary blobs. And that doesn’t cover whether or not the phones have locked or unlocked bootloaders.
  3. Even the Google AOSP supported phones can’t run a pure open source stack, proprietary downloads are supplied by Google for specific hardware components for each model and for a specific OS release. Should Google decide to stop supporting a device with future Android versions (as has happened with earlier devices, you won’t easily be able to support the hardware).
  4. The source is big, the build is hungry and you’ll want some performance to build it. I allocated around 40GB for the checked out source and build space and used most of it, along with 8GB of RAM and a few cores on my Phenom. On the plus side, the build only took a few hours, not the days-long efforts some online had predicted.
  5. Google’s build instructions are a bit lacking, given a week, even a Google intern would be able to make a massive improvement to it, I ended up finding many useful commands online that weren’t documented on AOSP’s home page – such as how to package a build into an OTA style .zip for deployment.
  6. The Linux kernel isn’t compiled as part of the Android build process. Instead, Android used a supplied pre-build binary kernel and just includes it into the finished OS image. If you need to adjust the kernel, it must be built separately and then placed into the correct location in the Android sources. This process isn’t documented anywhere on the AOSP homepage that I could find.

The base AOSP build provided me with core functionality including:

  • Functional base operating system and all hardware (thanks to binary blobs from Google for my Nexus S).
  • Communications – calls, txts, wifi, bluetooth, internet browsing
  • Contacts/Address Book.
  • Ability to install applications from direct .apk download or transfer using adb from PC.
  • A generally working and usable device overall.

But I didn’t have a number of needed functions that are typical of off-the-shelf Android devices:

  • No support for Google Account synchronization – without this, I was unable to download synced contacts and any other information from the cloud account.
  • No android market, the only way to install applications is from third party markets, direct download of .apk files or self-compiling applications.
  • No google service-based applications –  google maps, gmail, google talk, etc
  • No face unlock ability – I expected this would be part of ICS, but seems it’s part of Google’s application set…. this mix of having open source and proprietary components is one of the biggest problems with Android, you aren’t always sure what is or isn’t open source.

To get these other needed functions that are typical of an Android phone, you need the Google apps package (or at least the market application so others can be downloaded).

The killer part is that this package isn’t freely available. From what I’ve been able to find, it seems Google only provides their application package to vendors who pass their tests for Android compatibility to maintain quality.

Personally I think this is a lot of crap, considering the shocking quality of some Android devices that have come out – at the very least, the Android Market place application should be freely available, so users can at least choose to download applications, even if Google decides a particular vendor doesn’t deserve their Google apps.

In the end I managed to source a package of the Google applications for ICS thanks to the efforts of the Cyanogenmod team, but this is a shocking approach – not only is there an uncertainty about having the latest versions, but having users trawling through the internet to find tarballs on some forum is an easy avenue for attack and getting malware onto phones.

The fact that I’m so reliant on hackery to get key functionality back for my phone if I choose to build from source, rather than using my phone vendor’s build images is giving me solid reasons to consider the feasibility of dumping Google’s components from my phone and finding open source replacements for them all.

Whilst Google deserves credit for making the base OS comparability easy to build for users of Google-approved devices, the fact that they’ve allowed vendors to get away with binary blobbing drivers everywhere and keeping key functionality proprietary (market, etc) is pretty bad.

Chasing down binary blobs in order to get a device to work as expected is much more reminiscent of days spend pirating software, not of a healthy open source project and it makes Android feel much more hacky and crappy than it should be.

And the fact that the open source build will work with so few of the phones on the market out-of-the-box is just appalling for an OS that’s called open source – I should be able to go pickup any Android phone in the market and be able to compile AOSP for it and have all the hardware supported, not just select models.

Part of this is the fault of device manufacturers, but IMHO, Google should have put down some restrictions in the use of the Android trademark, so that a device could only actually be an “Android” device if it was fully open source and featured an unlocked bootloader.

I’d even accept a compromise where binary blobs are needed for specific hardware, as long as the blob wrapper can be compiled against different kernels and is free to redistribute (aka firmware style), so that I could buy a phone running Android 2 and happily go and build Android 4 for it and expect it to work.

Overall, I’m happy that I could build a functional image for my Nexus S without too much pain, but disappointed that so much of the feature set we are used to with Android isn’t actually open.

Snowboarding with the geeks

A few weeks ago[1] I went up to Mt Ruapheu with a few friends (@splatdevil, @dothedeerdance, @xarius) to take part in a bit of snowboarding. Whilst I’m sure many of my readers are laughing, this did actually take place, and yes, I do have pics to prove it. :-)

[1] yes I’m slack and blogging late about it. :-P

 

This is actually my second attempt at being on the snow – I tried skiing once a few years ago whilst in intermediate school with little success – not being able to handle crowds particularly well then, combined with the fact that I have the co-ordination of a drunkard, meant that I spent most my time digging poles into the snow and not moving before giving up on it.

After being invited up the mountain this time, I decided that a far better approach would be to learn snowboarding instead – whilst people keep telling me that it’s “harder than skis”, I find the *concept* to be simpler – it’s a matter of balance, which I can handle, rather than coordinating various limbs, which I can’t so much.

Heading up the road towards Mt Ruapheu (pic by @dothedeerdance)

Mt Ruapheu offer a “Discovery Pass ” which is ideal for newbies like me -it offers an almost 2 hour lesson, hire of the snowboard + boots, access to the beginner slopes and ski lift sightseeing pass.

It’s pretty good value at $108, but you will get stung for some additional costs if you’re new – we needed to hire ski jackets & pants not having our own, but found that because we had made the mistake of going up the mountain with a number of layers, we ended up needing to remove almost all but one or two after getting the ski wear and had to store it at $5 per bag which was quite irrating.

The other major issue is that the rental stage is quite confusing for a new skier and certainly not ideal for those who are OCD or have social anxieties, there’s little in way of changing spaces and people everywhere, it’s quite intense.

For future visits, I intend to purchase my own jacket/pants/gloves but continue to lease the boards/boots which will make the whole process a lot smoother and more pleasant.

Spent a lot of the day in this position whilst learning to get the balance right...

Bunch of badass looking newbies ;-) (pic by @dothedeerdance)

 

Snowboarding is the sort of activity that takes a lot of practice and falling over on your face, hands, bum, until you finally get the hang of it.

It took the best part of the day for @xarcius and myself, but towards the end we were boarding down the hill quite successfully.

We found the lessons quite valuable, the instructors we had were certainly able to give us some good advice and feedback and there were a number of techniques I would not have considered without being shown by them, particularly around the balance.

 

Overall it was a great trip and I plan to do more in future time/budget permitting – hopefully all the learning from this time carries across to next season when I go again. :-)

In particular, I hope I’ve learnt to wear sunblock when on the mountain after the outcome of the subsequent days….

Arhghghghgh my face!