Switching to iPhone: Part 1

I have used Android phones since the first one: the G1. I’m one of the (relatively) few people who has used Android 1.0. I’ve had numerous Android phones since then, mostly the Google flagship.

I have fond memories of the Nexus One and Galaxy Nexus, as well as a bunch of time running Cyanogen (often daily builds, because YOLO) to get more privacy preserving features (or a more recent Android). I had a Sony Z1 Compact for a while which was great bang for buck except for the fact the screen broke whenever you looked at it sideways. Great kudos to the Sony team for being so friendly to custom firmware loads.

I buy my hardware from physical stores. Why? Well, it means that the NSA and others get to spend extra effort to insert hardware modifications (backdoors), as well as the benefit of having a place to go to/set the ACCC on to get my rights under Australian Consumer Law.

My phone before last was a Nexus 5X. There were a lot of good things about this phone; the promise of fast charging via USB-C was one, as was the ever improving performance of the hardware and Android itself. Well… it just got progressively slower, and slower, and slower – as if it was designed to get near unusable by the time of the next Google phone announcement.

Inevitably, my 5X succumbed to the manufacturing defect that resulted in a boot loop. It would start booting, and then spontaneously reboot, in a loop, forever. The remedy? Replace it under warranty! That would take weeks, which isn’t a suitable timeframe in this day and age to be without a phone, so I mulled over buying a Google Pixel or my first ever iPhone (my iPhone owning friends assured me that if such a thing happens with an iPhone that Apple would have swapped it on the spot). Not wanting to give up a lot of the personal freedom that comes with the Android world, I spent the $100 more to get the Pixel, acutely aware that having a phone was now a near $1000/year habit.

The Google Pixel was a fantastic phone (except the price, they should have matched the iPhone price). The camera was the first phone camera I actually went “wow, I’m impressed” over. The eye-watering $279 to replace a cracked screen, the still eye-watering cost of USB-C cables, and the seat to process the HDR photos were all forgiven. It was a good phone. Until, that is, less than a year in, the battery was completely shot. It would power off when less than 40% and couldn’t last the trip from Melbourne airport to Melbourne city.

So, with a flagship phone well within the “reasonable quality” time that consumer law would dictate, I contacted Google after going through all the standard troubleshooting. Google agreed this was not normal and that the phone was defective. I was told that they would mail me a replacement, I could transfer my stuff over and then mail in the broken one. FANTASTIC!! This was soooo much better than the experience with the 5X.

Except that it wasn’t. A week later, I rang back to ask what was going on as I hadn’t received the replacement; it turns out Google had lied to me, I’d have to mail the phone to them and then another ten business days later I’d have a replacement. Errr…. no, I’ve been here before.

I rang the retailer, JB Hi-Fi; they said it would take them at least three weeks, which I told them was not acceptable nor a “reasonable timeframe” as dictated by consumer law.

So, with a bunch of travel imminent, I bought a big external USB-C battery and kept it constantly connected as without it the battery percentage went down faster than the minutes ticked over. I could sort it out once I was back from travel.

So, I’m back. In fact, I drove back from a weekend away and finally bit the bullet – I went to pick up a phone who’s manufacturer has a reputation of supporting their hardware.

I picked up an iPhone.

I figured I should write up how, why, my reasons, and experiences in switching phone platforms. I think my next post will be “Why iPhone and not a different Android”.

Custom all of the things on a Galaxy Nexus

Not being afraid to completely brick a phone is a good thing, and lets you go and play with a bunch of cool stuff.

There’s the well known cyanogenmod project – which does awesome things like have a more recent Android build for a Galaxy Nexus than what google provides.

To flash it, you’re usually told to go grab Clockwork Recovery image. This works fine to erase everything and flash Cyanogenmod (or others). However, if you want to run your phone with encryption and apply OTA updates, you’re out of luck.

Luckily there exists the Team Win Recovery Project, specifically this version ( for the Galaxy Nexus) which can actually decrypt the storage from current Cyanogenmod/Android builds to apply updates, do backups etc.

It appears that it’s now possible to update your ROM without having to tether it to a computer and do a dance with adb and tmpfs. yay.

$3 Kaiser Baas keyring photo frame and linux

I picked one up for $3 from OfficeWorks and wanted to put pictures on it.

So… I could list (and get) the default photos with gphoto2 (shipped with Fedora 20 it just worked): gphoto2 -L (list), -P (get all).

It turns out that the images are 128×128 PNGs! Easy: change resolution in GIMP of a picture I want, and then “gphoto2 -u filename.png” sent it to the device.

Wheee, it works! Not bad for $3

Pogoplug as a NAS

A while ago (April) I bought a Pogoplug with the explicit idea of using it as a NAS device. I finally bought a new 2TB drive and plugged in the pogoplug. I pretty much instantly realised I was going to run Debian on it instead, if only because that’s what makes me comfortable: Debian, ssh and XFS.

Installing Debian was easy (google it) and incredible props for not only an attractive looking device, but an easily hackable one (the default software is probably quite good for non-experts… I just happen to want Debian).

I have to say, I’m so far rather happy.

Experimenting with Ilford Delta ASA 3200 B&W Film

So it has been a long time since I’ve shot film… and it pretty much was always colour. Part of this was in prep for Burning Man. i.e. how to take a photo in the dark (and part was “hey, what cool tricks can I do”).

Reading up on film, I found Ilford Delta 3200 Professional as something that could be interesting to shoot with. I’d read a bit about it, checked out the flickr group and decided what the heck, it’s only money.

I grabbed my dad’s old Ricoh SLR and took some photos – trying to learn how this film responds, what I can and can’t do with it along with developing my own skills.

I got Michaels to develop and scan (hey, they do B&W processing in Melbourne in a reasonable time frame)… ignoring the advice of some that doing it yourself gets you best results (anyone for a Laundry/Brewery/Darkroom?)

While at Rrose, I took this shot which I quite like:

Rrose drink
If you look at full size you see the wonderful graininess that is this film:


But a simple GIMP Despeckle gets you:


(and a much smaller JPEG file size). But I do kinda like the speckle.

The amazing thing to note is that this was shot handheld with a not particularly fast lens and without any artificial light beyond what was at rrose at 9 or 10pm in August.

I feel dirty

but I’m going to write it anyway…. “I think this is the best phone I’ve ever owned”. It’s about a device running Windows Mobile. Would I say it was “good”… hrrm… not sure… “okay” at least. It would be “very good” if syncing with my Linux desktop worked remotely easily.

One thing i love is that from the home screen (Welcome screen in WM5 language) you can start typing and you can choose to either dial that number, or choose from the search of your address book that just happened. Awesome. No jumping through menus just to search the address book!

If anyone knows how to make the in-built email client not do outlook style “include message in reply” and instead actually quote the message, i’d be rather grateful.

fring is also a rather cool IM/VoIP app that I can see myself making a fair bit of use of when on a WiFi network around the place (and IM on the go over GPRS).

I just have to go and get a 3G SIM card to make data work…

Backups don’t suck

Today, immediately after lunch, I got IO errors from my laptop hard drive (ironically while attempting a file system dump). Words to the affect of “oh gosh and bother” exiting my mouth and the decision was made to go get a new drive.

Well… one “shortcut” to the computer store later, have new HD (will travel).

Backup from previous night, xfsrestore here I come. And a good number of hours later… about 1.5million files restored.

I do wish file systems had REPEATABLE_READ though… that would be nice.

Positive response on “Practical MythTV” from somebody who actually has the book

My trusty google alerts alerted me to: Yeraze’s Domain 2.0 – Practical MythTV (and about 15 seconds after mailing off to Mikal going all awww over it, I saw he’s blogged this already.

Not only is the review positive on the book (“5 out of 5” is a good rating), it looks as though the book will be of value to the reviewer as they expand their MythTV system (precisely one of the aims we had with the book). In fact even I am looking forward to my hard copy to use as a reference when doing some things to my MythTV system….. oh, and likely when I finally give into my mum’s requests and build her one too (yes, the same mother of mine who finds keyborad shortcuts confusing but has been using Linux on the desktop for years and now even installs her own security updates).

I feel good.

WRT54GL client mode OpenWRT fun!

the wireless USB dongle I had running on my MythTV box had drivers that weren’t always reliable. I have recently totally decided that if I haven’t had time to debug them and fix the problems by now, I won’t in the near future.

Today a courier arrived with two of the Linksys WRT54GL for me. yay! My aim is to put OpenWRT on them and use them in client mode (one for me, one for mum) to get around unstable wireless drivers.

I just set mine up and it works! MythTV box now much more reliably on the network!

Although, I did hit one snag – the MAC address on the sticker on my unit was NOT the actual MAC address of the router. Really annoying when setting up MAC filtering. Grr….

(i really should set up better wireless security here)

Twinhan USB DTV dongle not working :(

so after doing some researching (read: using search engines with linux + product name), I came to the conclusion that a Twinhan USB2.0 DVB dongle would be the dongle for me. Yes – it’s small, compact and does digital tv without requiring a non-existant free PCI slot in my Shuttle MythTV box.

Having had great success with my last bit of new hardware (a really cheap Logitech QuickCam Express or something) – plug it in and it “just works”. Oh Linux how you are better than Microsoft Windows for hardware usability!

But this was not to be. It uses a vp7045 chipset, which has drivers both in Ubuntu 6.06 “Dapper” and in the latest v4l-dvb hg tree.

But for the life of me I couldn’t get it to tune into any TV stations (for those of you who like using hardware and not just having expensive boxes around, you will appreciate how tuning into a TV station is rather important functionality for a TV card). So I started having a look around the interweb for possible answers.

The best I could come up with was “are you sure you have all the cables plugged in” – yes, I was.

So seeing as this is the first digital TV dongle in this house, I wondered if the signal just wasn’t getting here. I got a friend to bring around a spare digital set top box. It worked fine. Brilliantly in fact – it even worked with the shitty small antenna that came with the dongle. So it wasn’t an ability to receive.

I then came across this post to the linux-dvb list titled “New VP7045 with TDA10046 instead of MT352 (was: VP7045 tuner doesn’t work)”. Which really does hint at the problem!

I could be one of the lucky ones with a new revision that uses the TDA10046 instead of the MT352! (after getting some debug info from the card out of the driver – it was reporting itself as v1.02, so quite possible).

Maybe time to hack the dvb driver for it? Things seem pretty modular, so it couldn’t be too hard, right?

Well, the vp7045-fe.c file is the front end (well, what it assumes is the front end) for the vp7045.c dongle. So all I really need to do is to get it to use the tda10046 frontend (under frontends/tda1004x.c) instead of the vp7045-fe.c fe code.

Well, it seems as though the tda10046 is an i2c device while the vp7045-fe isn’t. Hrrm… I’ve never really done much with i2c, so this’ll be fun!

I’ve currently managed to hack the driver so that we do some things to do with the tda chip – although i haven’t gotten in detecting the i2c adapter – which means we’re never going to get a front end! (in fact, when you plug in the device with my modified driver you get a “no frontend detected” message from the kernel).

i’ve tried poking on the #linuxtv channel on freenode to no avail – so it seems like i’m on my own for a bit.

A good way to spend midnight until 3am though :)

I’ll probably end up doing the same tonight. Why? Because it’s just so much fun.

Oh, and if anybody has any pointers – it would be appreciated.

I am, of course, assuming the hardware itself isn’t faulty. I have no MS Windows system around to test on.

Maemo 2.0 (Nokia 770 Internet Tablet OS 2006)

Installed the Beta on my 770 the other night – rather cool I have to say. A few small niggling things, but it is BETA.

Things feel snappier, the thumb keyboard thing is actually pretty good, the handwriting recognition seems faster, perhaps a bit more accurrate (but still nowhere near even the Newton MessagePad 120 – with version 2 of the OS of course).

I still need to get the screen fixed on mine though, as soon as you get much black (or blue) you get ugly stripes and it becomes unreadable.

Can’t wait to get GPE PIM stuff working. Oh, and actual syncing with Evolution.

Welcome – Ubuntu Linux 6.06LTS

Welcome – Ubuntu Linux

I took the plunge and last night I upgraded my laptop (my primary work machine – as in it cannot be busted[1]) to Ubuntu 6.06LTS (otherwise known as Dapper Drake. The LTS is for Long Term Support). It went pretty smoothly.

I had to remove irda-utils after the upgrade as a module being loaded was causing a panic (which showed itself by having everything freeze about 4 seconds after gdm started up and you’re about to enter your username). I should report a bug for that…

It’s slightly annoying that I had to disable gdm so i could see the panic to find out what was crashing. Perhaps we need either:

  • crash dumps (a-la IRIX and others where you can then run a debugger on an image of the crashed system)
  • panic over the top of X (a-la early MacOS X)

I have to say though, I am very pleased with the upgrade. Everything seems a bit snappier (much welcome) and NetworkManager works! I haven’t tried to suspend my laptop yet though.. so we’ll see if that works.

But a recent version of f-spot is welcome, I’m thinking I’m going to start using it for my photos. The next trick is going to be when i completely run out of disk space on my laptop for them.

The new Rhythmbox has me using it again. Disappointed not to see google talk support in gaim (although maybe i’m just not looking right).

The Window List still exists – a UI element I solemly think should die a quick death. It didn’t work in Microsoft Windows 95 with more than a few windows  open and it doesn’t work any better now (okay,  a little, but not much).

I want to take a second and marvel at the look of the new Human theme. It is rather lickable and, as we know, the only thing that matters with UI is how much you are licking your monitor. Even without wizz-bang GL compositing powered by cold fusion bucky ball quantum knot computers, it seems nice.

gnome-xchat is taking a little bit of getting used to, but the toast that pops up when somebody “stewart: hey”‘s me is useful.

Epiphany has received some updates too which are quite welcome. A bunch of elements used in phpBMS for Web 2.0 stuff are a lot faster. In previous blog entries I’ve said why I’m using Epiphany and not Firefox. I may re-asses this at some point, but I’m not really in any mood to manually move over saved passwords.

Evolution seems to suck up a bit less memory. Started out only using about 247MB. Now 338MB+52MB for evolution-data-server though…. maybe I’m just not feeling it as much due to other things chewing up less. WHY THE FUCK DOES IT TAKE 390MB FOR A PUNY 10GB[2] OR SO OF MAIL?

On the other hand though, there’s been a bunch of UI improvements in Evolution that are really welcome. I’m quite pleased with the upgrade.

My Bluetooth seems to have broken (my send image from phone to laptop didn’t work). I haven’t had time to debug yet.

Is it just me or do fonts look a bit better too?

I’m probably going to run beagle soon too.

The new version of Deskbar seems to work a lot better. I’ve noticed I’m using it more. Although is it worth 37MB of RES memory?
Tomboy seems to have gotten a bit better, but I’m still experiencing a bug where if i click anywhere that there isn’t text in my “Start Here” note I get a new note with some random large chunk of text from my “start here” note. I credit tomboy with a lot – namely a boost to productivity and not loosing notes. I massively heart it.

I’ll be trying MonoDevelop again to see how easy it really is to whip up something quickly. In breezy things seemed to crash too often to be useful.

The support for switching between audio output devices is much welcomed. However, there still seems to be some bugs – especially related to USB audio devices. I have an iMic here that I bought years ago and am again using since the headphone port on my laptop seems to be having problems (electrical connection related, not software).

Liferea (feed reader) has a lot of improvements. I think it’s chewing less RAM too.

I had to fiddle with my keyboard layout things to get my DVORAK layout working properly. It still seems as though Ctrl-Alt-Left Arrow (and Right) to switch between Workspaces only works for the left cntrl and alt – not the right ones (that are closer to the arrows). Although now the little keyboard applet shows “USA” for Dvorak, “USA*” for QWERTY and “Swe” for Swedish.
My build of MySQL that I use (for important things – i.e. my invoices that make sure I get paid) that is typically a close-to-top-of-tree 5.1 install kept working after the upgrade – i.e .binary compatibility didn’t get boned. I did, however, need to rebuild some of my MySQL source trees afterwards (some linking with SSL foo failed, clean build fixed it).

I also did a fresh install from the Desktop CD under VMWARE on another machine. Quite nice installer.

I feel like I’ll move my Mum’s machine over to 6.06LTS very soon (this weekend) as I’m confident it’ll be a great release for her. I’m sure she’s going to love f-spot. I’m also going to introduce her to rhythmbox, Sound Juicer and possibly last.fm as she now has speakers plugged into her computer and a CD player in her car (okay, had it for a while, just slack in getting her up and running burning copies of CDs for the car).

I didn’t get Avahi out of the box after the upgrade… I wonder if I need this manually for the “Share my Music” feature of Rhythmbox to work. Installing now, so I’ll soon know.

I haven’t tried Ekiga (GnomeMeeting, but new name) Internet Phone yet with any SIP things. Since I have a physical SIP phone (a SNOM-190) I may not really use it (except when travelling). Good to test at some point though.

The real OpenOffice.org 2.0 is much overdue – as I’ve sworn rabidly about before. Big difference being this version actually works.

A very worthwhile upgrade IMHO.

The next box to get the upgrade will by my MythTV box – or Mum’s. But probably both this upcoming (long) weekend.

[1] I, of course, have up to date backups and a quick disaster recovery process (get machine, xfsrestore / and /home, continue working). However, this is a pain in the arse.
[2] This may be wrong… “du -sh Maildir” just takes too damn long. My Maildir is currently 1.7GB in a tar.bz2 archive.

Cool Dolphin SCI interconnect stuff

http://www.dolphinics.com/ make this cool SCI socket hardware that can be used with MySQL Cluster (for example, like their example setup).

Their tech provides high performance (350MB/sec avail to the user) and low latency (worst case is like 2 or 3 micro seconds to send 512bytes to another node). So can pretty much kick the butt of gig-e.

We could probably do some really cool stuff with boosting performance (even further) when using SCI with some of the things I have in mind for multithreaded ndb kernel – basically changing some of the ways we do sending and receiving signals and improvements in shared memory stuff.

Big points from the presentation are:

  • small messages sent using basic CPU instructions (it’s remote memory mapping)
  • low cost to write to remote memory address
  • raw worst case send latency for 8 bytes is about 210 nanoseconds
  • no need to lock down or register memory
  • TCP/IP processing not done in software
  • Just LD_PRELOAD the library and it does your (user specified) Ip communication over the SCI interconnect
  • can be fully redundant (dual cards, distributed switching)
  • each card is about 5w of power (rather insignificant compared to other techs apparrently)
  • really small time for failover

It’s also good to note that 10 gigabit ethernet doesn’t really buy you anything in reducing latency. SCI gives you both improved bandwidth and latency.

People looking into wanting more performance in MySQL Cluster should have a good look at it.

It’s also used in fighter planes – which make cool loud jet noises.

(err… i didn’t mean to sound to rah rah. hopefully i’ve just sounded like i think the tech is shiny)

UPDATE: corrected milli to nano.

UPDATE mk2: corrected nano to micro. Oh how I wish I just typed correctly to begin with. At least I’ve had some rest now :)