OS X Time Machine recovery does not find my USB disk

Today the root file system on my MacBook developed an “Invalid index key” error that I was unable to fix by booting into recovery mode and using the Disk Utility, or even by booting into single-user mode and using the fsck_hfs tool, no matter what flags I threw at it. Paragon HFS for Windows could still read (and write) to the partition from the Windows installation and I was able to read the file system, but I couldn’t boot it.

After a few hours of trying to fix the problem, I simply gave up. I saw several mentions of a tool called Disk Warrior that supposedly could fix a lot of the problems fsck couldn’t, but I was a bit reluctant at throwing over 100 US dollars at a tool that I didn’t know if it would make any difference.

I do have backups. Even if the MacBook isn’t set up to do daily backups like most my machines are (I never got the Time Machine interface in my Synology NAS to work with it), so the last backup I had was from December last year. Better than nothing, and I don’t really keep that many important files on the laptop – most of the important files are shared with other computers (using Git version control to synchronize), or in Dropbox.

So I booted from the recovery partition, selected Restore from Time Machine and … my backup didn’t appear.

So I rebooted. Still nothing.

Rebooting, this time booting from the backup disk (which has a convenient OS image installed onto it). Still no disk. I only saw my (failed) attempt of a backup node from the Synology NAS get listed (and I was unable to connect to it, just like Time Machine itself was).

Meh.

Then it struck me. What if I power off the Synology, and then open the recovery program? So that is what I tried, and there it was! Now the recovery finally let me select the disk that was physically connected to the machine, rather than the network share over WiFi (still, it’s quite impressive of it to find it when booting from the recovery partition on the backup disk, I must say that Apple are rather good at making those things just work, even if it failed at what I really wanted to do).

Now the backup is finally restoring. The clock is approaching half past midnight and it is at 7.5 % restored, so I guess I will have to wait until the morning until I see if it actually did work, but at least it is trying now…

Time to go to sleep.

Watching the WWE Network on Linux

Okay, I confess, I am a fan of pro wrestling. You know, that weird US-American show-style wrestling where people pretend to beat each other up? Hulk Hogan and Ric Flair? No, okay, then you don’t need to continue reading.

Anyway, I am a fan, I even have a website dedicated to it, and I am subscribed to the WWE Network, an on-line channel where WWE broadcast their live events and I have access to their back archive. I subscribed when they opened international subscriptions back in August 2014, and among others, I have watched it on my PCs running Linux. It has worked flawlessly, until a few weeks ago, when it started developing error messages and then stopped playing completely.

Contacting their technical support didn’t help, once they heard about me running Linux they just stopped responding, both on Facebook and e-mail. Despite it having worked perfectly before, apparently since it is unsupported they do not want to look at ways of fixing it. So, what to do?

I ended up finding a workaround in installing the Windows (32-bit) version of Firefox and Flash Player under WINE. While it was easy enough to find the download link for Firefox, finding a working installation for the Flash plug-in was a bit more difficult. The normal plug-in download page didn’t work, as the installer was just a placeholder that downloaded the real installer, which it was unable to do under WINE. I managed to find a page with an off-line installer, a page that started with a big warning that it is going to be taken away next year.

Installing those and launching the Windows Firefox, I am able to play videos again. There are a few issues, the audio is not 100 % synchronized with the audio, but it at least is better than not playing at all.

I now have a workaround, but I still hope they will fix it properly soon.

Making OVF images using Packer

At my $DAYJOB, the need recently arose for not only making our software available as an installer that the end-user can install on their machines, but also for providing pre-built OVF (Open Virtualization Format) images, mainly targeted towards costumers running VMware vSphere and wanting to not have software running on bare metal. They can of course run the regular installer, but providing a pre-installed image cuts deployment time considerably and eliminates many of the mistakes that can be done while performing the installation.

Hunting around for solutions on how to actually generate these images, using some kind of automated procedure as we will regenerate the images several times and in slightly different configurations, I eventually landed on Packer. Packer lets me drive VMWare Workstation by submitting a configuration file listing an ISO image to install from and giving the commands necessary to run the installation automatically.

One of the issues with doing this is that most installations will add some unique identifiers in the image, and we do not want that. For instance, SSH host keys are generated, as are MAC addresses for the network cards, and also some other stuff is dropped. Fortunately, I was not the first one to have faced this problem, so it was fairly easy to find a solution that would clean up the generated image. In addition to that, I had the post-install script install VMWare Tools in the virtual image, and then go on to remove various UUIDs and MAC addresses from the generated VMWare configuration file.

The result of running Packer is, however, still a VMWare image. It does have a driver for OVF, but that one is using Oracle VirtualBox instead. OVF is supposed to be platform-independent but there are enough differences between how the images are built to create trouble if we use the wrong build platform. Instead we landed on using VMWare OVF Tool on the generated VMWare image, converting it into an OVF archive (.ova). This is the part that takes the longest time in our build process, which starts out with generating the ISO to install from on-the-fly. But in the end, we have an OVA file that can be imported into VMWare (vSphere, Workstation or Player all work fine) and be up and running in under two minutes.

Fixing battery drain on my Samsung Galaxy Note 3

I have a Samsung Galaxy Note 3 that I am quite happy with. I have had it for a couple of years now and have no plans of switching to a newer one in a while. Recently, it has started acting up and draining the battery very rapidly. I thought the upgrade to Lollipop (Android 5) would fix that, but it just made it worse. After trying out quite a few things I started researching it and found that an app called “Unified Daemon(EUR)” was using up both a lot of battery power and network bandwidth.

2015-08-25 05.13.01

Searching for more information on the ‘net, I came up with forum thread describing this very issue. Apparently, the app purpose is to update the weather forecast, news and stock tickers. I don’t really use any of them, although I did have a weather symbol on the S Cover screen, so how it could end up downloading hundreds of megabytes of data I have no idea, something must be very wrong with it.

To test out if it was indeed the culprit, I went into the settings and disabled the daemon in the App Manager yesterday. And, indeed, today battery usage was down to normal again, and when I came back from work I had 50 % battery life left despite having placed a couple of phone calls, played some games and browsed some web sites. Had I tried that yesterday the battery would either have been empty long before, or I would have had to recharge it during the day.

A replacement for the Opera IRC client

After transitioning from Opera to Vivaldi as my primary browser, one of the features I have been missing is the IRC client. Granted, I am not a heavy IRC user, but there is this one channel I monitor where some of my friends and former Opera colleagues hang out. I liked the simplicity of the Opera IRC client and I am not quite a fan of the terminal-based ones.

One of my friends pointed me towards WeeChat, which is an extensible chat client. In its basic configuration, it runs in a terminal and looks like any old IRC client. However, it does have support for plug-ins which allows it to connect to many different systems (although I have as of yet only set up IRC), and also for relays, making it possible to use other front-ends.

One such front-end is Glowing Bear, which is web based. It connects to a WeeChat server which has a relay set up. By default, that relay is unencrypted, which is not very safe, but it does support SSL and I found this wonderful guide describing how to set that up with a proper certificate. I configured that, and dropped a copy of the Glowing Bear files to a web-site of my own (which is not really necessary since the connection is direct from browser to WeeChat, but it is nice to know exactly what I am connecting to). With the certificate I got using the configuration guide above I could also make this a https server.

Now I have a replacement for the IRC client. Now I just need to replace the mail client

Just a simple mail server installation

So, the mail server at work died on Wednesday. It was running Microsoft Exchange and died so utterly completely that even with several hours of premium support from Microsoft, they were unable to get it up and running again. Being one that comes in fairly early in the morning, and already am managing a few internal servers, I was asked to set up a new box using Linux or whatever.

Can’t be too difficult, huh?

Well, that depends. In this case, I needed to have it authenticate users against an Active Directory server and support mail aliases set up in its user database. After doing a fair amount of googling around, I found a few guides that helped me along the way. I started out with iRedMail and continued by configuring it to talk to the Active Directory server. Never having worked with AD or Kerberos before, it took me quite some time to get Kerberos working (tip: have a look at what the DNS thinks is the domain name of the KDC, in our case it was “BT.LOCAL” in all uppercase; use anything else as the Kerberos realm and all I got was cryptic error messages).

I had some hurdles to overcome, getting postfix to authenticate with Active Directory’s LDAP server was fairly easy once I a) had the unprivileged account that could do LDAP lookups (using the “Administrator” account for that does not work), and b) reduced the LDAP query so that it would actually find the users I was looking for (tip: make a dump of the LDAP directory and look at the lowest common denominator for the lookup keys).

Then I had the problem of Dovecot, which handles local mail delivery and IMAP/POP, could not read the mail that it had stored in mailboxes. It turned out that since I had set up Kerberos so that the AD users were available as Unix users, and had the recipient domain (“bt.local” from above) in “mydestination”, Postfix would always setuid the LDA. I had to remove the domain from there and add it to the list of virtual domains for that to work.

All in all, it took me about a day and half to get the thing set up. Not bad for the first time. I did set up Git to version-control all the important configuration files so that I can track my future mistakes and revert to a working configuration.

Now to get the SMTP SASL configuration working

Not quite there yet

As I mentioned before, I recently got an LG smartwatch with Android Wear. While I do find it kind of useful to be able to see what is happening on the phone without having to unlock its screen, it is also fairly obvious that the technology behind all of this is still in its infancy, and has its flaws.

One of the things they tout is the voice-control functionality. Just say “OK Google” and what you want it to do, and it is supposed to do it. I write “supposed to” as it doesn’t work that well for me. I do find that it more often than not understands the words I speak to it, even if I have to speak in English, which is not my native language (I remember back when OS/2 Warp 4 came out with voice recognition in 1996, it took quite a lot of training for it to understand my accent). Swedish is simply not supported by the voice recognition. Although it sometimes seems to understand some Swedish words, it seemingly cannot be commanded in Swedish. But then again, English doesn’t always work for me either. When I try to ask it “Show me the weather”, I more often than not get a Google search with “weather.com” as the top result. Not very useful. Every now and then it does actually show me a five-day weather forecast, but then with temperatures in degrees Fahrenheit, which is obviously completely useless (and there is nowhere to configure the units; according to LG support, it should follow the phone settings, but my phone is set to the Swedish locale, which uses Celsius, and the watch is set to UK English, which does the same).

I installed RunKeeper again, and at one time I did manage to get it to track a bicycle ride for me, although I do think it got categorised as a (very fast) walk. After that, I haven’t been able to get it to track anything, at least not by voice commands.

The watch is supposed to have a step counter, and while it does show me the number of steps for the current day, it always seems to forget the number of steps from days before. They are (almost) always listed as zero. And the pulse monitor thing always shows me the exact same pulse.

So, there are quite a lot of bugs in it. But I do like the general idea. Hopefully, there will be software updates to fix these bugs. Then I might get a smartwatch that is useful for more than just checking who is calling or who just sent that last text message or placed that last Wordfeud word.

Does anyone have any better experiences with these smartphones? Any tips on what I should do to make it work better.

Singing to a new tune

Back in 1995, when I got access to the Internet for the first time, the dominant web browser was Netscape Navigator. While it had its flaws, its main audience were power-users, much because only power-users had Internet access at that time. It had its flaws, and in 1996 I found a small Norwegian browser called Opera. I came in at version 2.12, one of the first public releases, and was hooked from day one.

I continued to use Opera for quite some time, especially while working for the company that made it for over ten years (first from 2000 to 2007, and then again from 2009 to 2012). During this time, Opera was the choice for power-users, but this all changed when they switched rendering engines in 2013 (which was also the reason for me leaving the company at that time). I was happy with the decision to switch engines, as Presto did have some architectural issues that were different to overcome, what I didn’t like was how they killed off almost all the power-user featured creating a “simple” browser.

There are enough of the simple browsers. I use them from time to time, like Google Chrome, which still feels like I’m waiting for it to become a proper browser with a proper UI (and it’s up to version 40-something already), like Firefox, which keeps losing UI elements for each new release, and like the new Opera, which fortunately did get bookmarks back recently. I have not really tested the new Opera that much, and I must confess I am still using Opera 12 as my main browser, despite it starting to show its age.

Enter Vivaldi. Established by one of the two co-founders of Opera Software, Vivaldi started out with a community, to coincide with Opera Software shutting down their My Opera community. Recently, they also announced availability of the Vivaldi Browser, a new browser targeted at power-users. Like the new Opera, it is based on Chromium, the open-source engine of Google Chrome, but unlike Opera, Vivaldi is trying to create a browsing experience like the old Opera browser did. I was happy to be invited to beta test it a couple of months before the release of the first technical preview, and while it still has some issues to work out, it is coming close to becoming my first choice in browsers (I just need to replace the e-mail client, IRC client and RSS aggregator part of Opera before letting it go completely).

Configurability, customizability and ease of use all in one.  There’s no contradiction in doing it all at once. And since it is based on the Chromium engine, sites that are coded to work with Google Chrome just work as expected.

If you haven’t already, you should give it a try!

Habits form quickly

I bought myself a LG G Watch R smartwatch earlier this year. While some of its functionality has been disappointing (step counter not remembering steps, voice commands not working as expected), I have become used to having it on. Today, I switched back to my old Casio watch, which is not quite as smart, even if it does keep correct time by reading the Frankfurt time signal, and has a battery that lasts for years, not just hours (I have to charge the LG every night).

But it is interesting how fast habits form. After replacing the smartwatch with the old dumbwatch, the instinct when the phone buzzes from a message is to look at the watch face to see what it is, rather than at the phone itself.

BTW, since I really did like the Casio watch, this watch face in the Android Play store really won me over.