All systems go

So I think everything should now be back to normal on the new IP address. Mail from and to ought to be working, and you shouldn't be able to use my mail server as an open let me know if you can, though. If you think there's any problem with the mail setup, please let me know by IRC or my Red Hat or Shaw mails. (I'm especially interested in any positive scores from spam filters for mails from I think I nailed everything down right, though. Man, I pity real life professional mail server admins - there's a whole lot of finicky stuff to get...

Downtime alert(s)

So a couple of downtime alerts, one retroactive, one not :)

The site's been down for the last six hours - sorry about that, bad interaction between a wordpress update and php-apc apparently. It is back up again now. As you can tell.

Two, the site - in fact, all of, including mail to addresses there - will be down again for a few hours (approximately) starting in the next hour or two. I'm switching to one of my ISP's business plans, after I found out they're rather decently priced: this allows me to run the site within the AUP (which I've been technically breaching for the last X years...), bumps up my speeds a bit, and gives me a static, non-blacklisted IP address with port 25 open, so mail can go directly to my server and I don't have to use the no-ip mail reflector service any more (and I can deliver mail from directly instead of relaying it through my ISP's SMTP server to avoid the blacklists).

So things will be down while I switch over to the new IP address and update MX records and so forth. But then should come back STRONGER AND BETTER THAN EVER BEFORE...

More tech toys: keyboards, this time

I don't really buy two new bits of technology a day, it just feels that way sometimes...

As I've probably mentioned before, I'm a dyed-in-the-wool IBM Model M fan. I'm on my second (managed to kill the first with coke) and have a spare in the basement in case of any more unfortunate incidents. They are fantastic keyboards. Unfortunately, they are also incredibly loud.

Domestic harmony here at HA Towers is heavily threatened when I have to type a giant email at 9pm, with the machine-gun tones of the Model M rattling through our tiny apartment. So I have been prevailed upon to get an alternative keyboard. I pine - I pine, I tells ya! - for a Realforce Silent - with the currently highly-regarded Topre switches in their silenced form - but $280 is a bit steep for a keyboard even for someone as nutty as me. (Never mind the $400 Happy Hacking Pro 2 silent edition). So I settled for a more modestly priced alternative. I did a bit of research into the Cherry MX keyswitches - the most prevalent mechanical keyswitch design these days - and found that the brown version is generally regarded as the best option for someone who's looking for a quiet action but still a decent typing experience (there's apparently a sort of spectrum between 'good for typing but loud' and 'quiet and also good for gaming, but not great for typing'). Leopold make a perfectly straightforward and decently-built keyboard in both full size and 'tenkeyless' (no numeric keypad) versions, and you can buy either version with any of the generally-available Cherry keyswitches; if you just want a decent keyboard with a given Cherry switch, it makes things nice and simple.

I'm typing (and unnecessarily prolonging!) this post on the keyboard to give it a bit of a workout, and it seems very nice. The construction is indeed solid, it has a removable cable (always nice), and the design and layout are sensible and no-nonsense. The layout and dimensions seem to be virtually identical to the Model M with the keypad lopped off and less of a 'bezel', which is perfect for my purposes (the bottom row is a bit different from my Model M with the addition of the Start keys, but it's not a big issue, and the function row is somewhat closer to the number row, to save space). It makes switching between the two simple.

The keyswitches seem to do the job - the action is rather mushier than the Model M's, inevitably, but it seems consistent and reliable between all the keys, there's a good amount of travel, it still beats the living crap out of rubber dome switches, and it is indeed a hell of a lot quieter than the Model M. So I'd say 'mission accomplished' on this one. My desk looks a bit weird with two keyboards on it, but never mind!

Snarks, laptops, and drunken mail server administration

Yes, it's a packed schedule here at HA Towers...

First up, two of my favourite snarks from random internet reading yesterday. To my friends at Canonical - I'm awarding points for funniness of snark, here, not legitimacy of complaint :) Steve Hogarty on Mint versus Ubuntu:

"Mint looks a lot more like Windows than the waywardly designed Ubuntu (which, like a petulant teenager, slings its taskbar to the side of the screen, where it's at its most useless). It has a start menu that doesn't advertise trousers to you"

And changing topics somewhat, Hilary Mantel on the (British) royal family:

"I used to think that the interesting issue was whether we should have a monarchy or not. But now I think that question is rather like, should we have pandas or not? Our current royal family doesn’t have the difficulties in breeding that pandas do, but pandas and royal persons alike are expensive to conserve and ill-adapted to any modern environment."

If the utterly bone-headed debate occurring in certain sections of the press in certain countries as to whether it's 'insulting' to the Duchess of Cambridge or not is the only place you've so far come across Mantel's article, please ignore the boneheads and just read the article itself, as it's brilliant (and not about that at all).

Forthwith, onto laptops - yesterday was a very sad day here at HA Towers. I did my periodic check of Sony's laptop store and found the Vaio Z is gone, deceased, no more.

I have a 2010 model Vaio Z, and it is easily the best laptop I've ever owned. I would argue that it's quite possibly the best laptop ever manufactured. It packed a high-end Core i5 dual-core CPU, 4GB of RAM (expandable), hybrid NVIDIA/Intel graphics, 128GB of SSD storage, a 13.1" 1600x900 or 1920x1080 display, b/g/n WLAN, Bluetooth, optionally even WCDMA, VGA out, HDMI out, three USB ports, a battery life comfortably north of four hours, and a DVD writer into a package that's about 12.5x8" square and a little over an inch thick and weighs 3.07lb - in March 2010! It was light years beyond what anyone else was even attempting to do in a 13" form factor at the time.

Sadly, the storage in my Z seems to be on its last legs. I can't get SMART to be convinced that the drives are dying, but every few days, I get some sort of catastrophic kernel fail related to storage in some way - bunch of ATA errors, everything remounted R/O, nothing actually readable, have to reboot and run fsck. I'm rather amazed that it has trucked along in this state for several months now, but it's clearly not going to last forever. So I have been dilly-dallying over what to do about a replacement.

Sony revised the Z design in 2011 to be thinner (ultrabook thin) and lighter (around 2.5lb) while dropping the internal NVIDIA GPU and the optical drive. They invented a kooky thing called a Power Media Dock which had a PCI-E graphics card in it, the idea being that you could play games while you were at home and had it docked, but saved the power and heat on the road. In 2012 they bumped the specs a bit and made the Power Media Dock optional. And then at the end of 2012 they announced they weren't making any more, and now I can't buy one any more.

I was slightly reluctant to pull the trigger on the 2011/2012 Z because the thinner form factor apparently meant the exterior got hotter, and it definitely made the keyboard worse (less travel). The width/height dimensions were also greater on the newer model (bigger screen bezel). I care rather more about width/height than I do about thickness. And my 2010 Z was just so damn good, it never made me want to replace it. A 2012 Z was still the best option around for a new 13" laptop by a long way, though, for most of 2011/2012. If my current Z irretrievably died tomorrow, a 2012 Z is still what I'd really want, I think.

But, still, now I don't seem to be able to buy one. And my 2010 Z is definitely dying. And other manufacturers have finally gotten around to building some somewhat more compelling possible alternatives. So let's compare my three year old laptop to some contemporary alternatives, shall we?

The Macbook Pro 13" was just embarrassed by the Z up until recently; it was really a pretty pathetic comparison. It was slower, bigger, heavier, and less well featured (the screen on the MBP 13" was horribly low-res for a long time). Then Apple finally pulled their finger out and made the Macbook Pro Retina 13", which is a horse of a somewhat different color. It has decent CPU options - it out-performs the 2010 Z (where the pre-Retina MBPs never clearly did) - 8GB RAM stock, and 128GB SSD stock. It has that killer display, and it's decently priced at around $1600 (that's a good price in this bracket; the Zs used to run $2000 at release, up till the 2012, which was about $1600). The negatives: it's a Mac, which means dealing with Apple's pretty awful UEFI implementation. No optical drive - not a deal breaker these days, but it's useful occasionally in validation testing. Only Intel graphics. Weighs 3.5lb, still heavier than the 2010 Z, never mind 2012. If I'm being really picky, the screen's glossy (Zs were always matte, which I love the crap out of). Still, it's a pretty solid contender.

Dell has just updated their Ubuntu developer edition laptop to include a 1920x1080 screen, which was my big beef with it before. It's priced around $1600 too. The CPU's an Intel Core i7-3687U - which, entertainingly, appears to be ranked very close to the top CPU you could get the 2010 Z with (an i7 620M; I have an i5), it seems to come with a 256GB SSD which is rather nice, and it weighs 3lb. Even its size is rather similar to the 2010 Z at 12.4" by 8.1". It seems very much like an almost drop-in replacement for the old Z, just lacking the optical drive and matte screen. Also a solid choice, and one I may well go with - always good to buy with Linux.

Of course, many F/OSSers (particularly Red Hatters) swear by their Thinkpads. I could never live with the terribly low-res screens (even worse than Apple's). The best Lenovo's managed to come up with now is the Thinkpad X1 Carbon, a 'new-style' Thinkpad (with the chiclet keys) with a 14" 1600x900 screen. Eh. It's $1500 with 8GB RAM and 128GB SSD and a mid-range i5 CPU, weighs 3lb. It's okay, but I'd take either the Apple or Dell over it.

Asus make the kinda-interesting UX31 and UX32 models which are sort of knock-off Macbook Airs - they're somewhat cheaper than the others, and have okayish specs (i5/i7 CPUs, 1600x900 displays, 128GB SSD). They're not bad, but I'd pay the extra for the build quality and better displays from the others.

And now the joker in the pack, Google, has come out with the rather bizarre Chromebook Pixel. The good (great) thing: 2560x1700 display. Yespleasethankyouverymuch. That one-ups the Retina MBP by a little bit. The bad things: the i5 CPU is only okayish, it weighs 3.4lb (better than the Retina, but not as good as the others), and - most ridiculously - a 32GB SSD.

Look, Google, I know it's a 'cloud device', but come the crap on. It's for developers. We run VMs once in a while, you know? We download giant source trees. I could just about live with 64GB, but 32GB? Please. Not going to work. There will be a 64GB model, but it's also the LTE model - which often means you won't be able to get it in Canada - and costs more. If they make a 64GB model available in Canada it might be a possible contender.

So here we are, three years on from my Vaio Z, and the biggest hitters in the laptop world - Apple, Lenovo, Dell - have just recently managed to come up with models which modestly improve upon what Sony gave me back then (and only arguably improve on what Sony did in 2011 and 2012; no-one else is at 2.5lb, still). Sony has done a lot of things wrong over the years, but they are still capable of some incredible feats of engineering when they put their minds to it. I've owned several amazing Sony systems - my old C1XD, the Vaio P, and the Z - and I do hope I'll be smitten with another of their designs in the future. (In case anyone wonders - the Duo is interesting, but just seems to fall between a few stools for me; the 11" form factor just somehow doesn't compel me).

If anyone's made it down this far, on to drunken mail server administration. 'Drunken' is of course the only state in which one should ever attempt mail server administration...

I'm still gamely plugging along with running my own mail here at HA Towers, and it really is pretty fascinating. It's a whole bunch of probably-unnecessary work, but seeing inside the sausage factory is just awesome. I read a story today about Twitter implementing something called DMARC, and so I've been poking at that all evening.

Yes, it's yet another anti-spoofing invention, but I really rather like it. It's not yet another alternative to Sender-ID and SPF and DKIM, but something that works with SPF and DKIM and provides a couple of things I really like: it lets sender domains tell receiver domains what they think the receiver domains should do with messages that fail SPF and DKIM checks, and specifies a way for receiver domains to let sender domains know what they've done (and why) when mails fail checks.

See, SPF and DKIM are both rather neat ways that domains which send out mail can attempt to prove that legitimate mails are legitimate. SPF lets you say 'mails that appear to come from should always be relayed by', or something like that. DKIM lets you publish a public key which should be used to sign all mails that originate from your domain (and, of course, actually sign mails when you relay them). They're both designed reasonably sensibly and aren't terribly hard to implement: I have both SPF and DKIM set up for this domain, so if you ever get mails from it, they should pass both SPF and DKIM checks. But what's missing are exactly the two things above.

You can test a mail from and see if it passes SPF and DKIM - if it's been relayed by the server(s) I specify in my SPF record, and if it's signed with the key I specify in my DKIM record. But there's no real specified way for you to be sure what you should do if a mail fails those checks somehow - it's entirely up to you to somehow figure out whether you should reject mails from any given domain that don't pass SPF/DKIM - and there's no way for you to let me, the mail admin of, know what happened. If you throw my mail away, I'll never know about it.

So DMARC lets a sender domain specify an additional record, which basically says 'if mails from my domain fail SPF/DKIM checks, do THIS, and then tell me about it THIS way'. There are various ways to specify 'fail', and there are various actions (reject, quarantine, or just notify of the failure), and there are various notification formats (and the notification address is simply a URI). It's elegant and achieves a useful purpose. There's also something named OpenDMARC which helps you with the receiver domain stuff: it includes a sendmail milter you can use to Do The Right Thing (check the DMARC record, mark the mail appropriately for later filtering by procmail or whatever, and notify the sender domain of what you did, according to how the sender domain wants you to do that).

So after a couple of fortifying Steamworks Pale Ales, and a glass of port, I've started working on DMARC. I'll be both publishing a DMARC record for mail from happyassassin and filtering and notifying mail for happyassassin, I hope, but I can't do it yet. DMARC records are supposed to be published as TXT records for the _dmarc subdomain of your domain, and my registrar - noip - doesn't think _dmarc is a valid name for a subdomain. Whoops. So I've filed a ticket with them. Also, OpenDMARC is not in Fedora yet, but happily, I can do something about that - fellow mail masochist Steve Jenkins submitted a review last month, so I picked it up. I hope we'll have the package added soon.

I just love this kind of stuff. It's pretty heavily inside baseball, but it gives me all kinds of warm fuzzies to see smart, creative engineers continuing to improve the systems that their smart, creative forebears built 30+ years ago. The originators of email probably never could have imagined its prevalence today, yet it still ultimately works the same way it always did. It's been extended elegantly, compatibly, unobtrusively and respectfully; and so we have a system that has been adapted for innumerable platforms and purposes over many decades. It might not be as sexy as founding a startup and trying to take over the world, but it's real engineering, damnit. I actually get angry when I read this week's story about The App That's Going To Kill Email. And I secretly dread one of them actually somehow succeeding, though I don't think they will. Yes, if you just want to write a note to someone, you can use Facebook. Or Twitter. Or Google+. But the differences between that and the beautiful, flexible, distributed, open, infinitely adaptable system that is email are real and important and should never be neglected.

Tablet adventures pt. 2

Long-standing readers (as if!) might remember my brief foray into the early days of Android tablets. Ah, yes, back when all this was trees...strokes beard. I don't think I ever wrote a final post on it, but in the end I played around with it - mainly running the Linux build, which was an LXDE desktop squished onto a tablet screen (!) - for a few months, then selling it. It could browse the web okay and play video, so it was useful for a couple of trips, but it was a far cry from the tablet-crazy world of today.

SmartQ appear to still be trucking, selling rather more polished products these days. However, I learned my lesson last time. For my next venture into the tablet world, I won't be going with that pretty-much-unknown Chinese box-shipper.

No, no. I'm going with a completely different pretty-much-unknown Chinese box-shipper!

After returning the RedEye - yeah, I returned it, after re-configuration the 880 is just working too well to keep fiddling with the RedEye - I had a couple hundred bucks languishing in my Amazon account, and that's not enough for a new NAS box, so I figured I'd spend it on a Ainol Novo7 Flame (also known as the Fire - apparently they are the same hardware, but sold as the 'Fire' in Asia with Chinese-localized firmware, and 'Flame' in the rest of the world with English-localized firmware). The last one in stock at in fact, so sorry if anyone else wanted one.

Ainol seem to have been in the tablet game for some time, and have made a series of 'Novo7's (and Novo8s and Novo10s in fact) - 'Flame' is the model name of their newest, highest-specced model. It's very well priced - cost me C$180 plus tax, compared to C$310 plus tax for the Nexus 7 from Amazon. From reviews I've found it seems to perform pretty well and have surprisingly good build quality and screen for the price. There appears to be a decent ROM community, with 4.2 builds available.

But what ultimately sold me on the Fire was a couple of related things. One, the hardware: it's based on the AMLogic 8726-MX SoC, which uses a Cortex A9 CPU and a Mali 400 GPU. Why's this interesting? Well, a quick skip shows us that this particular SoC is on the recommended hardware list for the Lima driver - the open source driver for Mali GPUs, which is one of the most advanced open source ARM graphics drivers available. The other thing that I like about the Flame is hinted at on that same page. It warns us in general to "Do be aware the makers of these cheap tablets are not providing kernel source and are breaching the GPL." However, Ainol appears to be an honourable exception. They have an entire 'OpenLinux' page where they provide source and even basic build documentation for what sure looks like pretty much their entire stack, excepting the closed source Mali driver. It may not be entirely up to date, but it's a damn sight better job than most manufacturers manage, let alone most cheap Chinese box-shifters. I figure they deserve some recognition for that.

So I'd buy this tablet just because of their decent effort to provide the source, but the fact that it's available and the hardware it's based on is apparently pretty hackable makes me hopeful that this will turn out to be a decent platform for playing around with stuff coming down the pipe for ARM tablet hardware. Heck, I'd be interested in trying out the Ubuntu tablet edition - I wonder if someone will do a build for the Ainols.

I'll try and blog more about this one after it shows up than I did about the last one! Even if I just wind up using it as a regular old Android tablet, it'll come in handy.

More universal remote (Harmony and Redeye) fun, commenting / logging in

Hey again folks. First, I fiddled with the configuration of the blog a little: it should be somewhat better for commenting now. I've disabled direct account registration, but ensured that both BrowserID/Persona and OpenID login now work, and also enabled comment posting without login so long as you fill in a recaptcha. And tested it all.

So you can login with BrowserID/Persona or OpenID and then post comments without solving a recaptcha, or just post with name/email/URL and solve a recaptcha.

Only little bugbear is that the Wordpress OpenID's behaviour on comment forms is just award-winningly stupid. Well, more 'so smart it's stupid'. If you want to post a comment and authenticate via OpenID, you have to put the OpenID URL in the URL box, and then a checkbox for 'Authenticate this comment with OpenID' will magically appear. Okay, that's super-clever, but also freaking impossible to discover, plugin author person. No-one is going to work that one out. Oh, well. I'll see if I can fiddle with the comment form HTML a bit to make it a bit more obvious. If you do use the OpenID or Persona route, no need to solve the recaptcha, just leave it blank.

Edit: so I decided to just have a 'login to post without recaptcha' link which directs you to the login page and then back to the post page. Seems like the cleanest option. I just tested it, it seems to work. Let me know if you have any trouble.

Moving on! I continue to fiddle around in search of the Ultimate Remote Control Setup here at AdamW Towers. I have the Redeye setup more or less working as well as it can, I think, and it's still just slightly too fragile to be really happy with. The apps seem to be just not quite reliable enough to really rely on. The iOS one is better than the Android one, but I've seen both fail to switch to the remote layout after activating an activity (they just sit at 'Activating...' forever), or fail to power off correctly. The iPod Touch seems to lose wireless connection every so often, too, though I don't think that's a Redeye problem.

I dunno, in the end it pretty much works, it's just...not quite awesome? Hard to pin down. Some of it is to do with the fact that a touchscreen isn't actually a great remote control interface. Someone mentioned this in a review of the Harmony device that's similar to the Redeye (the Harmony Link) - there's something about the tactile nature of a real buttoned remote control that's better. You can feel out which button is which without looking at the controller, which isn't really viable on a touch screen.

So I'm still playing with the Redeye to see if I can get used to it, or find some killer feature that makes it worth putting up with the fragility. But I also have a Plan B.

It's kind of stupid, but I only remembered the other day that a rather nifty thing existed: it's called an "IR repeater". I've no idea why I didn't think of this before, but oh well. An IR repeater is just a box that receives IR signals, with some IR zappers plugged into it: it 'repeats' any signal it receives over the zappers. So it finally occurred to this idiot monkey that to solve my initial problem - the 880 signals not always being reliably picked up - I don't actually need a fancy RF 890 or a Redeye, I just need a frickin' $10 IR repeater sitting in a prominent position on my console, with the zappers stuck to the hard-to-reach components.


So I ordered an IR repeater off eBay - for $10, why not. I rather suspect that when that shows up, I'm going to go back to the 880. Funnily, though, experimenting with the Redeye suggested a few improvements I can 'port back' to the 880. I dunno why I never set this up before, but both the Redeye and the Harmony are capable of macro commands. I used this to setup single-button links to the channels we most commonly watch on the Redeye, then realized that the Harmony can do this perfectly well too - in fact it's built-in functionality on the Harmony, it has a whole 'favorite channels' interface thing. So I set that up on the Harmony as well and it's great. The other problem we had with the 880 is that the '2' key has almost stopped working (either wear and tear or I just dropped it too often) - since our normal channels are all in the 2xx range, that's kind of a problem. But the 'favorite channels' thing neatly solves that.

I also realized I could make the situation where the Harmony doesn't quite activate an activity correctly a deal less painful - Harmonys have a 'Help' button which basically asks you what's wrong and then tries to fix it, but that whole sequence is a bit cumbersome. So I just added custom commands to each activity which set the correct state on all the components - so if I activate 'Watch TV' and the signal misses the AV receiver, I just hit the 'Fix receiver' custom command and it sets it again. Simples. Again, no idea why I didn't think of that sooner.

Oh, I also finally bought a Harmony PS3 adapter - this is a little IR-to-bluetooth converter box, basically, which allows the Harmony (and really any universal remote - the Redeye has codes for it too) to drive a PS3. It sets itself up as a Bluetooth controller so far as the PS3 is concerned, and receives IR commands from the remote. Simple, works, though I'm sure it doesn't need to cost $55. Oh, well. We use the PS3 as a Blu-Ray player, so this is pretty useful. It works fine with both the Redeye and the Harmony, but in yet another case of the Redeye being unnecessarily frustrating, the codes in Redeye's database for the PS3 are broken - it sends directional commands (up, down, left, right) twice, and can't power the system off correctly. Someone affiliated with Redeye figured out how to fix this a year ago, but somehow, they haven't updated the codes in their database - your only options are to download a backup file this guy made, which will give you a perfect PS3 config but wipe all your other configuration and make you do it again, or laboriously follow his instructions to fix the broken codes (record the correct Up/Down/Left/Right codes from a Harmony - and tough luck if you don't have one! - and copy/paste then adjust his custom script for shutdown). Yeesh. The thread is in the forums for any registered Redeye users reading this, topic "Status of Logitech Harmony PS3 Adapter", see the posts from cmaterick.

So, I'm kinda feeling like I wasted the cost of both the 890 and the Redeye, but at least all this fiddling around has resulted in me optimizing both the Redeye and 880 setups - they're both a lot better than what I had before, now, even if all the new hardware turns out not to have been entirely necessary...

Thinkflood Redeye follow-up: dependency management 101

So, why does it not surprise me that my problem with the Redeye turns out to be down to dependencies? And here people keep telling me dependency hell is a Linux problem...

So I took a closer look at the crash reports Windows gave me when the 'installer' app crashed - Windows has something that's sort of like abrt/apport, but more black box-y - and noticed that, every time, it seemed to be crashing on a .NET function. Not the same one, but always a .NET function.


So I check Windows' Add/Remove Programs list (good God, anyone who thinks PackageKit is a bit ropey should remind themselves about that thing) and there's nothing to do with .NET there.

Double hmm.

So I go and get the .NET Framework (apparently this is what you call shared libraries in Microsoft-land) from, install it, and halle-freaking-lujah, finally, the 'installer' app manages to update the firmware on the box and change the network configuration.

Apparently, this app requires the .NET framework, but nothing enforces the dependency in any way. It doesn't even check that it's present before trying to do anything, it just blows up.

I reported this to Thinkflood, who told me "We don't provide checks for the .NET framework in the installer software because all versions of Windows that Microsoft currently still supports automatically have the .NET framework built in" - well, no, that's fairly clearly not true. Or if there was some kind of copy of the .NET framework hiding on my system, it wasn't recent enough or complete enough or something for your app to work. Really. If you're going to write apps for an operating system with dependency management as insane/non-existent as Windows', check that stuff you need is present before trying to use it, guys. I'm sure that's Windows Coding 101.

Anyway. After spending most of a day's spare time on that crap, I got the box up and running at last. It mostly seems to work, though both the web front end and Android app seem somewhat ropey - the Android app is apparently working okay on one device here (after a reinstall when it somehow got into a situation where it was crashing on launch), not working right on two other devices. The web front end mostly works, but when I left it open overnight, it quit loading buttons for Activities. Just all feels slightly 'Alpha 2', if you know what I mean. I wouldn't ship this stuff, and our product's free...

Still can't recommend the product in all good conscience, but I can see there's a decent experience lurking there, in theory, underneath the stupid bugs and fragility. Frustrating. I'll be interested to see how the iOS front end works, as that seems to be the Preferred Experience. But I can't do that yet. I did get the cheap iPod Touch, and then, stupidly, did a factory reset on it. After which it sits at a screen ordering me to plug it in via USB and positively refuses to do anything until I do. Apparently, the vaunted Apple Easy To Use Experience includes forcing you to use a $30 cable to do initial setup of a device which has a perfectly serviceable wifi radio. Why do people put up with this crap?

How not to ship hardware: the Thinkflood Redeye

Time to abuse this space for ranting purposes!

I like programmable universal remote controls, as a rule. We used a Harmony 880 here at AdamW Towers for a long time. It didn't quite have clean line-of-sight to all my devices, though, so sometimes it wouldn't be able to hit the A/V receiver or the cable box, and it'd get 'out of sync', and that's annoying. So recently I got a Harmony 890 off eBay, which is pretty much the 880 but with RF capability - the remote sends a signal to an RF receiver doohickey, and you plug a bunch of IR blasters into the RF receiver doohickey, and the doohickey transmits IR signals over the blasters. Stick a blaster to the receiver of each of your pieces of equipment, and things get nearly 100% reliable.

So that worked, more or less, for the next month or two (though the way you set up the doohickey in Logitech's world is a trifle bizarre), until the screen on the 890 died. This is apparently a very common problem with no obvious solutions. It just sits there, being blue at me. The remote actually still works, but it's a bit tricky to use an 890 with a non-visible display, as quite a lot of the function of the remote runs through the display.

So since the 890 is apparently a bad idea, and there are various other issues with all the other Harmonys available, I thought I'd take a look around for other alternatives. I stumbled across the Thinkflood Redeye, and it sounded pretty intriguing. It's basically the RF-to-IR bridge doohickey without a remote control: the doohickey is actually a Linux box, and you interface with it via wifi. In fact it uses all HTTP over wifi; they sell it to consumers as for use with an iOS app as the front end, but on the back end it's a deal geekier and more flexible than that, and they seem pretty friendly to hacker users. It has a direct web interface and you can do neat stuff like control it via special URLs, which makes it trivial for people with the appropriate skills to write their own 'apps' for just about anything. It's a neat, geeky design. I had some Amazon gift certificates lying around and it's available from Amazon, so I ordered one.

Well, it arrived today, and my first impression has been, ahem, not good. They obviously have some sensible and smart engineers on staff, given the overall design of the thing, but they equally obviously have some complete morons on staff as well, as you will see shortly.

I got it out of its box, and opened up the extremely extensive user manual. Because I am that person who actually reads the instructions. So, following the instructions in the manual, I plugged the thing in. Then I read that the design for initial configuration is that the box runs an unsecured ad-hoc wifi network out of the box, and you connect to that ad-hoc wifi network with something that is capable of both ad-hoc wifi networking and zeroconf, and connect to the box to configure it. When the Redeye first came out, the 'something' was expected to be an iDevice and an iDevice only, but now they have a web interface and an Android app and stuff, they provide instructions for people - like me - who don't have any iOS devices, and are expecting to use it via the web interface or an Android device.

These instructions tell me to connect to the ad-hoc network with a PC (Android devices can't do ad-hoc networking) and then connect to the zeroconf hostname for the box with a web browser in order to complete initial setup.

Well, first I tried to do this from F18, but it seems extremely disinclined to connect to a zeroconf-only ad-hoc wifi AP - it kept thinking the connection wasn't really up and going back to my regular AP. Then I tried to tell it that it didn't need proper IP addressing over IPv4 or IPv6, but it then started whining about 'link not ready' and not even connecting at all. I could probably have figured that out, but life's too short, so I booted to the Win7 install I keep around on my network for such situations.

Win7 manages the connection, so okay, let's fire up the browser and connect to the hostname. Ooops - Windows doesn't have zeroconf out of the box. I could install iTunes, but ew. Well, okay, I dive into the Redeye site and find they provide a little app which finds the IP address for you. That's easy enough. Download the app, run it, I finally have an IP address to connect to. I've already jumped through quite a lot of hoops just to make this silly little box connect to my own AP so I can configure it from any of my boxes (the ultimate goal here), which seem like they aren't really strictly necessary if Thinkflood would just provide some kind of backup to the clever-clever ad-hoc wifi/zeroconf config mechanism - hell, just a telnet or ssh server would be useful - but no, they don't do that. But I feel like I'm finally getting there.

Here the real fun begins! I finally open up Firefox, enter the IP address the app found for me, and - timeout. Hum. Try again, and - after some time - a black screen. Oh dear.

Try it in Internet Explorer, same thing. Try the buttons in the app (which are supposed to link to specific areas within the web front end) and I get 404s.

I'm now getting worried that the box is just completely defective. Still, I try several things - power cycling it, rebooting Windows, dancing naked on a Wednesday, you know, the usual Windows stuff. Same results.

I call tech support and describe my symptoms: the guy on the other end first tells me to try Chrome, but when I mention the black screen, tells me to find this page on the support site. It's an 'installer application' for Windows, which like the 'finder' app finds Redeyes on the network, but can also (allegedly) update their firmware and configure their network settings. So, well, I guess that's nice? And more or less what I actually want? But it seems strange that this tool isn't described at all in the documentation, and isn't very prominent on the site at all (I didn't spot it until directed to it by the tech support guy, and I look for this kind of stuff).

Anyway. So I try the app. It finds my box, I click it and click the Update button to update its firmware, and the app crashes.


I try again, it happens again.

I'm already getting rather annoyed, but fine, I'll just see if I can put the box on my regular AP so I can fiddle with it from my desktop, at least. So I skip the firmware update step and go to the next step, where I can allegedly tell the box to join my local AP instead of running its own ad-hoc network.

It scans for wifi networks. It never finds any.

I leave it five minutes, reboot, and try again. Finally! It finds the list of networks. I pick mine, tell it to connect, enter the passphrases, and...crash.

Try again, crash.

Try updating the firmware again, crash.

As of writing this I've tried to update the firmware on the box six times, and the 'installer' application has crashed six times. Why am I so insistent about updating the firmware? Well, because it turns out to be rather important. At some point in this process I registered for the official forums. You need to be logged in to read them, so I can't link you to the topic, but there is a post there which explains the slightly mysterious existence of this apparently superfluous - and very definitely buggy - 'Windows installer' app. I quote from it:

"With our last production line we found that some customers were unable to access the browser application for their units, getting 404 errors for the maintenance and setup pages, and a blank screen for the main page."

Hey! That's exactly what's happening to me! I read further:

"It seemed that with these units the firmware flash was truncated to not include the proper pages. We've added a simple installation application to our website that you can use on a Mac or Windows PC to help you update the unit and resolve the browser issue, and even move the unit to your home network if you'd like."

blink blink

So wait. You found out that you were shipping out units with borked firmware flashes, and instead of alerting your customers and contacting your resellers to have the boxes returned and flashed correctly, you decided to push out an app for users to fix your manufacturing error, and then make almost no effort to tell anyone about it?

I mean, there was no slip in the box alerting me to the problem. I didn't get an email after purchasing (which would be entirely logistically possible). There is no mention of it in the user guide. There is no mention of it in the 'Frequently Asked Questions'. It's just a single support question in a typical support question database, with no special prominence, and a forum thread in a forum you have to register to join (the forum thread is a sticky. Woo freaking hoo. They use the world's most awful forum software though - no idea what it is, but it's hideous). Gold medal stuff, guys. Just solid freaking gold.

Still, I could work with all of that if your freaking application actually worked. But it doesn't. It seems entirely incapable of actually completing a firmware flash without crashing. I'm only amazed it hasn't bricked the box yet; I think it's crashing too early for that to happen, fortunately. I'm running this on an updated OEM install of Windows 7, nothing weird about it (I almost never use it), with the Windows firewall disabled, everything up to date, all other processes killed, nothing I can think of it could possibly object to. But no. Crashy, crashy, freaking crashy.

Since I'm an idiot and I really want to play with this thing, I'm off to buy a cheap iPod Touch off Craigslist soon. If I'm reading the tea leaves correctly, it sounds like iDevices should be able to connect to and update the badly-flashed boxes. If I liked the Redeye I was planning to acquire an old iDevice to use as a dedicated remote anyway (so we don't have to run the software on our personal phones if we're using them for something else). But still, it'd be hard to produce a worse first impression in me, Thinkflood. Not a good job. I strongly recommend no-one else buy one of these at least until they fix this crazy mess.

On the new anaconda

For those who wondered why we made such drastic changes to anaconda over the last few releases, Will Woods has written a great explanation here. No, it was not just change for the sake of change. Yes, it was all done for a reason, and the pace of improvement in the installer will now be much more rapid than it was before.

FUDCon 2013 Day 1

Here we are again - it's the break between barcamp and dinner on FUDCon day 1, and I'm blogging because I know I won't get another chance for a while. Great barcamp sessions today as always.

I saw Aurelien's talk on Hyperkitty, to which my response is simply "give me that yesterday" - I've wanted it since I saw Mo's original mockup, and using mailman HTML archives for another two years since has only increased my desire. I have a feeling it's one of those sleeper projects that will blow up huge once it arrives.

Peter's talk on Secure Boot went off surprisingly harmoniously - probably because there were no journalists in sight and it was a pretty in-the-know crowd asking deep technical questions, rather than a general-interest crowd asking if Microsoft was trying to STEAL ALL THE INTERWEBS. Most of it went about 10,000km over my head (I have a reasonable working knowledge of SB at the practical, this-is-the-effects-of-what-it-does level, but the actual implementation of SB is super super crypto nerd stuff which I am way too dumb to follow), but it was nice to listen to the smart guys refine their wisdom.

The lightning talks were really good this year and highlighted at least three more YES I WANT THAT NOW things for me - pkgwat (yet another command line package query tool! but it actually does different stuff from yum and repoquery, and is totally worth having), fedocal (the new calendaring webapp, which looks like it's coming out pretty well) and most awesomely fedmsg-notify, a desktop frontend for fedmsg, which lets you get desktop notifications for all kinds of events reported by fedmsg. Fedmsg is one of those projects which seems like it's been going forever without anything visible happening, then suddenly mushrooms out into a load of great results - all the heavy backend lifting is mostly done now and the cool visible stuff like this is emerging. This is going to be just super-handy for keeping up to date on things without visiting fifteen different web frontends.

Spot presented a pretty radical plan for the release cycle which generated a lot of comment and discussion - I'm going to leave it to him to blog about it before going into any detail (he may have done so already, I'm not up to date on blogs yet), but despite raising a few concerns I actually quite liked it as a plan and it had the definite advantage of being a concrete, complete and achievable plan with easily enumerable and perceivable benefits. So I'll be interested to see where we go. I'd hate it to get blocked up by the 'but it changes this particular feature of the current process!' crowd - someone raised the point that maybe it's trading one set of problems for another set of problems, but that is going to be the case with any release process, so we can't really let that objection alone derail any specific proposal for a revised release process, because it effectively precludes the possibility of any change at all. Anyhow, that's all I have to say on the topic for now.

Tim did a great talk on the blocker/NTH process, which generated a whole lot of useful feedback and discussion - we had QA people and development people and 'regular users' all present and there was pretty unified agreement on which parts of the current process badly need improvement, so we should just go and improve them already. Tim and I have discussed using some of the hackfest time just to go ahead and implement some of the easiest and least controversial possible improvements in time for the F19 cycle - stuff that's already been raised and discussed several times but which we have not had the time to do until now. It was great to see Dan (Mashal) and John (Dulaney) at all the QA-relevant talks providing input.

I gave a pretty ad hoc talk on the new installer in the final timeslot of the day, of which there should be video here at some point, I think (that should be a video of the whole day, and mine will be in the last hour or so - I'll update the link if it's broken or if a better one becomes available). It was really just a straightforward walkthrough of the new installer UI, explaining the design of the installer as a whole and of the storage process, and explaining specifically how each spoke works and some of the more commonly raised temporary issues in F18. I think I managed to cover most things, so I hope it went over okay and didn't do anything to diminish the awesome work Mo and the anaconda team put in to the release.

Tonight brings the real highlight of any FUDCon: FUDPoker! So I'll finish here. With any luck we'll have some concrete results to report from hackfests tomorrow. It would help, of course, if FESCo could kindly nail down a concrete schedule for F19, so we know how much time we have to work with before the Alpha cycle starts up.