Category Archives: computers

Who knew? The Google Play Books Chrome app has an offline mode.

IMG_20151104_130132A new tablet arrived yesterday: an HP Stream 7, which set me back a whopping $60 at Woot.  After letting it update itself from Windows 8.1 to Windows 10 (yes, it runs Windows, not Android or iOS) and putting Chrome and a few other apps on it, I set out to find a decent ebook reader.  Ideally, it’d support ePub and would sync bookmarks between existing devices.

I have been using Google Play Books to share my collection between Android and iOS devices.  Apps are available for both to download part or all of your collection for offline reading; bookmarks are synced when online.  Unfortunately, there’s no dedicated Windows app…but it turns out that’s not a problem.

After trying several ebook apps for Windows and finding them wanting in one measure or another, I ran across references to a couple of things I didn’t know about:

  • Google Play Books is available as a Chrome app
  • The Chrome app can use HTML5 local storage to hold selected ebooks for offline reading

Sweet!  The only tricky part now was selecting books for offline reading.  You’re supposed to hover the mouse pointer over the title you want to download, then click a “make available offline” checkbox that pops up.  Without a mouse, though, you can’t hover over anything.

That’s where a program called TouchMousePointer comes into play.  It converts part of the screen area into a touchpad, and puts up a mouse pointer that you can hover over the books you want to download.  It’s easily toggled off most of the time, but is there if you need more precise positioning than your fingers can deliver (as apps written with a mouse in mind might need).

IMG_20151104_130807Here’s the end result…note that the tablet’s in airplane mode.  The screen doesn’t really look like that; it’s some weird interaction between it and the camera in my phone that you’re seeing.

So this is why new files weren’t showing up

Nothing like changing the default behavior of a program in a point release so that users then wonder why it’s not behaving as it should:

ownCloud 8.2 Release Notes

Changes in 8.2

filesystem_check_changes in config.php is set to 0 by default. This prevents unnecessary update checks and improves performance. If you are using external storage mounts such as NFS on a remote storage server, set this to 1 so that ownCloud will detect remote file changes.

Nearly all of the files on my ownCloud server are accessed from Samba shares on the same server; ownCloud is basically how I access my files away from home.  If it’s not monitoring filesystem changes, it will rapidly fall behind on which files have been created and deleted.

Until v8.1, it monitored filesystem changes in the default configuration.  I upgraded to v8.2 over the weekend, which no longer does that unless you add an option to the config file to reenable it.  Grr.

Password requirements FAIL


I went to sign up with the DMV website to put in a change of address.  After providing some info off my license and some other bits, they sent a link to the page shown above.

Only eight characters?  Not case-sensitive?  Really?

It also barfed on some of the non-alphanumeric characters KeePass wanted to use…an unstated requirement, apparently, is that only the three non-alphanumeric characters given are acceptable.  I’m used to giving websites passwords that are 20 or more characters of random gibberish to provide plenty of entropy; the limits imposed by the DMV website only allow about 50 bits of entropy, which is fairly weak security.

The length limit suggests that perhaps they’re storing raw passwords in their database, as that’s the only reason to have a length limit.  Even Ashley Madison probably didn’t make that kind of rookie mistake.

(Of course, no post on password strength issues is complete without this:

Backing up your ownCloud contacts & calendars

I’ve had most of my stuff either backed up to Tarsnap or archived to BD-R for a while now, with two exceptions: the contacts and calendars I have stored in ownCloud.  It’s not much information sizewise, but losing everyone’s phone numbers would be a royal pain in the ass.

Backing up contacts is relatively simple; ownCloud provides a URL that grabs them in one shot. Calendars are a bit more problematic, as you probably have more than one. HTTrack is used to grab all of the calendars, which are then concatenated and compressed (except for the contact birthdays calendar, which is auto-generated from your contacts). In my case, the backup is stored in a directory that gets sent to Tarsnap by another script; you could do whatever you want with your backup files.

Set this up as a cronjob; set it to run maybe a half-hour before your backup job. (12345 isn’t really my ownCloud password; I only use that on my luggage. :-) )


source /etc/profile
cd $HOME

# script settings: ownCloud server address, username, password, 
# backup destination


PREFIX=`echo $OWNCLOUD | sed "s/\/\//\/\/$USERNAME:$PASSWORD@/"`

# retrieve all contacts from ownCloud and concatenate them into one
# compressed file, which then gets sent to Tarsnap with the rest of
# our documents

rm /mnt/files/documents/contacts.vcf* 
wget $PREFIX/remote.php/carddav/addressbooks/$USERNAME/contacts\?export -O "$DEST"/contacts.vcf && \
xz -z9 "$DEST"/contacts.vcf

# do the same with calendars...use httrack instead of wget as there's no
# way AFAICT to enumerate calendars so we can export them

httrack $PREFIX/remote.php/caldav/calendars/$USERNAME -O calendars && \
for i in `find calendars -mindepth 7 -type d | grep -v contact_birthdays`
  cat `find $i -name \*.ics` | xz -9 >"$DEST"/calendar-`basename $i`.ics.xz
rm -r calendars

The latest firmware for the Asus RT-AC56U doesn’t work right. Avoid it.

33-320-167-TSI just got done getting my settings restored to my router after letting it try to update to the latest version. Version killed the web interface, making it unconfigurable.  Restoring the previous version from a TFTP client running on Linux wouldn’t work to set it right, either.  Good thing I had recently added Windows 7 to the empty space on my main computer’s SSD, as a Windows-based unfsck-my-router utility provided by Asus (only downloaded after I had swapped in my trusty old WRT54GL temporarily) was the only thing that would get the router running right again.

I even tried using the aforementioned unfsck-my-router utility to try installing the newer firmware, instead of letting the router update itself again.  That didn’t work either.  The only conclusion I can come to is that something is pretty badly broken in this latest release.  It won’t damage your router (it’s harder to brick than most devices), but rolling it back to working firmware is a bit of a hassle.  I’d recommend skipping this update and hold off for the next release.

How stupid does she think we are?

Yesterday, the excuse that Hillary Clinton gave for conducting official business through a private email server was that she had two phones to access multiple email servers. There are multiple problems with that “explanation, but since when do you need multiple phones to manage multiple email accounts? I have access to my personal email server (like the Clintons’, but more secure because mine runs Linux instead of Windows) and a Gmail account through my phone. It’s lame email software (Outlook comes to mind) that can’t handle multiple accounts.

Linux 3.17 is out, and some of my code is in it

It’s not the first time that happened…submitted a couple of drivers for a video-capture card we built at my previous job back around ’05 or ’06.

I submitted this a few months ago for my Raspberry Pi beer-fridge controller. I picked the parts and put it together without checking to see first if the necessary driver support was already in place…derp! Fortunately, it’s relatively easy to correct such deficiencies when you have source-code access to the whole system.