Review: Elecom DEFT Wireless Trackball (M-DT2DRBK)

After I moved house, one of my goals in setting up a new workspace was to have a desk I actually used. I had tried the laptop-connected-to-a-monitor thing and it just didn’t work that well. So I found a small PC that could mount behind a monitor and then I hung the monitor on an arm so nothing would be on my desk except for a keyboard and mouse. This way I could have a clear desk that wasn’t taken up by computer stuff.

This also meant I needed a keyboard and mouse. Before setting up my writing desk, most of my work was done on the laptop’s built-in keyboard and trackpad. Now I had a nice mechanical keyboard and an average mouse.

Once I started putting in serious hours at the new desk, I started to notice a twinge of pain/soreness in my right wrist. The pain was mostly a dull ache in the outside of my wrist centered around the joint. This started not long after I began using a mouse again. Maybe it wouldn’t have been so bad if I had splashed out for a nicer mouse. Maybe not. The way the pain started up as soon as I picked up the mouse bothered me. It was like flipping a light switch.

Before diving into the ergo-mouse world I walked away from the desktop for a few days. I wanted to see exactly what I was dealing with and if it would clear up on its own. My writing came to a standstill during this time, but I needed to be sure about my wrist. Having a few days “off” was worth way more that doing more damage. I also realized that the type of work I was doing was contributing to the problem. I was heavily involved in getting a client project out the door. So I was outside of my usual Vim writing environment, and had to use the mouse a lot more. Had this not been the case, the sore wrist might not have happened right away.

The pain let up after a day’s rest and a good night’s sleep. After two days it was like I never had the problem. So I knew it would go away with rest if I stopped hurting it. The real test was so try the mouse again. With in a few hours at the computer the pain started to come back. Not good. But it did convince me that a “better” mouse might not exist for me.

So I started looking into trackballs.

Continue reading “Review: Elecom DEFT Wireless Trackball (M-DT2DRBK)”

What did I just do?

It seems that my visit to the typewriter shop really did make me think about adding one to my workflow. I spent a few weeks stalking various auctions on eBay, and when I saw a vintage Olivetti Lettera 22 pop up, I decided to pounce. This is one of the best ones that I’ve seen. It’s condition can only be summed up as “hardly used.” One thing in the eBay pictures convinced me it was in superb shape was that it still had the original dust cover. The case has some wear, but no more than expected.

20161106-jennifer_mack-shotbyjenn-com-lettera-22-04
All covered up.

Continue reading “What did I just do?”

Longhand Transcription with the AlphaSmart Neo

In Chapter 7 of my book Stop Typing & Start writing, I discuss how to get handwritten text into a digital format. After the actual writing, this can be the next most crucial step because your words aren’t going anywhere until they’re digital. That’s just the internet-connected world we live in now.

So until there’s an OCR program that can read my handwriting, the transcription has to be done by either typing or dictation. But there’s no rule that says the typing must be done on a computer.

This is where the AlphaSmart Neo made its one and only appearance in the book.

Continue reading “Longhand Transcription with the AlphaSmart Neo”

Photo Import with the Apple Lightning to USB Camera Adapter

A few weeks ago I bought this cable to connect my phone to my camera. So after a few uses it seems like a good time for a quick review. The bottom line is that it works, and other than a few camera related quirks it’s a good value at $30. As a bonus it can even be used to transfer photos from one iPhone to another.

The cable

Artisinal data transfer, every byte imported by hand.
Artisinal data transfer, every byte imported by hand.

Continue reading “Photo Import with the Apple Lightning to USB Camera Adapter”

Unexpected Uses for the Apple Watch

Just to the shoot the elephant in the room: Yes, there is gadget lust involved here.

Ever since the original announcement I’ve wondered exactly how I could justify the purchase of something so unnecessary. The features are well documented by Apple and others. I don’t see a need to rehash what a cottage industry of speculation has already hashed.

So to my possible financial detriment, I went and looked at Apple’s Watch pages. Most of it was shown at the Spring Forward Event. As expected the photos are jaw-dropping, and all of the use cases seem oh-so-practical. It’s a site designed to open wallets.

Unexpected Productivity

What I wasn’t expecting to find was something that was entirely business-oriented and practical: time tracking.

Apple Watch with Invoice2Go app shown.
Apple Watch with Invoice2Go app shown.

There are very few people on the planet that enjoy time tracking. One of the major reasons I’ve found is the lack of a common interface. Some apps are desktop-centric, others are phone-first. Switching between them is annoying. Even with the smoothest apps I’ve tried, there’s still friction.

Thankfully I’m not working on any projects that require me to track my time. I have a basic workflow tested in case something comes up. But I’m not happy with it. There’s a Mac widget for when I’m at the keyboard. It works well enough. The friction comes in when switching to the phone.

On the phone the usual process is to unlock it, open the app, choose the project, select the task, and then finally start the timer. Other apps might combine the project/task stop, but the workflow is pretty much the same across the board. Pomodoro timers for the phone have the same problem. There’s still the unlock step and app tapping.

Using an app faster than scribbling notes. There’s no transcription errors or forgetting to enter the data into the desktop app. Overall the apps are faster than anything we’ve had before. But they’re not seamless. Starting a timer doesn’t need a big screen. It just needs to be accessible.

These are the type of tasks that should migrate to the wrist. Mainly because there’s no device to pick up and unlock. The Watch will be right there1 no matter what you’re doing at the time.

Besides, with the right business apps, the purchase would be a tax deduction.

Apple Pay

One other thing I found: The Watch can use Apple Pay without the iPhone present. This means I could combine my exercise walks2 with quick errands. I don’t take my wallet on walks. I also can’t use Apple Pay because my iPhone is past its expiration date.3 It doesn’t have the NFC chip like the latest generation. Unless I grab my wallet or tuck a few bills in my sports bra, I can’t add an errand to my walk.

This doesn’t come up often, but it would be peace of mind to know I had a card available if needed. The security features of Apple Pay are also important. My bank has sent me two new debit cards since Apple Pay was launched. I’d really like to stop putting my card numbers in the hands of these large companies with poor IT practices.

In the end will I buy one. Probably. But not at launch. I want to see how they’re working in the real world first.


  1. Literally within arm’s reach.
  2. The exercise/health tracking features of the Watch are cool too. But I already have a fitness tracking band.
  3. It’s the original 5 and still going strong.

PogoPlug Wi-Fi VPN Access Point with ArchLinux

This project was a few weeks in the making. When I started there was a problem with some of the software not behaving. I leave the hardware driver voodoo to those that understand it. After an update this morning I was able to get all the parts working. So what exactly is a WiFi VPN access point?

It’s the combination of several pieces of hardware and software that when running on my Pogo provides me with:

  • A WiFi access point with WPA security.
  • A private wireless network.
  • VPN security for all wifi connections.

The end result is the Pogo acting as an Wi-Fi hotspot that any computer, tablet or phone can connect to. The wireless connection is tunneled through the ethernet connection using a VPN tunnel. The result is that any Wi-Fi connection to the Pogo automatically uses the VPN with no client configuration needed.

What follows are things I discovered from many sources. None of them were exactly what I needed for this project. Getting it all working together was a lot of work. Mostly because of the driver conflicts that came from using the Edimax EW-7811Un adapter.

Right now, this guide covers a situation that I haven’t seen anywhere else.
Continue reading “PogoPlug Wi-Fi VPN Access Point with ArchLinux”

The New MacBook Keyboard

One thing that’s taken a few days to sink is how Apple managed to improve the keyboard on the new MacBook model. During the announcement Tim Cook mentioned that the key tops were 17% larger than the current MacBook keyboards. I noted it in my live blog on Monday, but didn’t think too much about it.

This evening I thought about going to an Apple Store to see it in person, but decided to do a virtual comparison first. Using screenshots I put together a quick comparison of the new and old keyboards. The new MacBook is about 1.3” narrower than the MacBook Pro that I currently use. I adjusted the size of pictures so the comparison would be accurate. (It’s not perfect, but it’s damn close.)

MacBook keyboards.
MacBook keyboards.

The new keyboard is bang-on the same width as the old one. But notice how much more space is between the keys on the old one. Seeing them side-by-side is actually quite shocking. I didn’t expect there to be that much difference.

With the new key mechanism replacing the current scissor switch, it looks like it’s going to be true joy to type on. I won’t by buying one anytime soon. Mostly because my current MBP is less than a year old, and because I’m not sold on the single USB-C port yet.

If the keyboard migrates over to the current MBP chassis, then I might have to look at trading up.

PogoPlug, ArchLinux and Time Machine backup, Pt. 1

One of the great features of Mac OS X is having Time Machine backups of your data. Time Machine can work with an external hard drive plugged in to a USB port, or it can operate over the local network. I have a laptop that spends most of its time on my lap. An external hard drive is just inconvenient. I also don’t want my backups to happen only when I remember to plug the drive in.

Using an plugged-in external hard drive has another downside. It must be formatted to the Mac HFS+ file system. This makes it unreadable on a Windows computer. There are utilities that solve this problem but they may not always be available. Suppose you only have the external hard drive and no other computer. This could happen in a natural disaster1 when you grab the disk and run. Having the disk Windows-formatted will make a big difference. It can be plugged into any computer and be readable.

That same disk, mounted over the network, can stay formatted for Windows and also be used for Time Machine backups. Normally for this to work you’d need to buy an AirPort Extreme or AirPort Time Capsule for $200-400. In this post I’ll walk through how to set up Time Machine on a PogoPlug V4 running ArchLinux for much less.

We won’t be using an external drive just yet. The steps below show how to get the Time Machine server up and running. Part 2 will be about getting the Windows-formatted drive mounted and doing the first backup.2

PogoPlug Setup

If the Pogo is configured with a basic ArchLinux install as described in this post, you’re all set. The basic steps are:

  • Install Netatalk.
  • Add a user.
  • Add a mount point and set its permissions.
  • Create a configuration file.
  • Launch the server and connect to it.

Let’s get started.

System settings

Install the netatalk package.

$ sudo pacman -S netatalk

Create a user for the Time Machine service.

$ sudo useradd timemachine

By default, this will also create the timemachine group. Also set a password. Make a note of this, we’ll need it later.

$ sudo passwd timemachine

Create a location for the Time Machine backups. I’m using /srv3 because it’s a convenient location to keep all the things that are served out onto the network or internet.

$ sudo mkdir /srv/timemachine

Change the owner and group settings to allow the timemachine user write privileges.

$ sudo chown timemachine:timemachine /srv/timemachine/

Allow any members of the timemachine group to be able to write to the mount point.

$ sudo chmod g+w /srv/timemachine/

Add yourself to the timemachine group. It’s important to use the -aG switch. This means append the group to the list of groups the user is a member of. Using the -G switch by itself will remove all groups from the user, except for the one specified. That could cause you to be locked out of your home directory and possibly the system. Always use -aG.

$ sudo usermod -aG timemachine <username>

(<username> means the name of your user account on the Pogo.)

Netatalk settings

Netatalk is an open-source implementation of the AppleShare file server protocol. It’s the easiest way for a Linux server to speak Apple.

Start by creating the netatalkconfiguration file.

$ sudo nano /etc/afp.conf 

The following will create the Time Machine server. Replace <username> with the name of your personal account on the Pogo.

;
; Netatalk 3.x configuration file
;
[Global]
 mimic model = AirPort
 log level = default:warn
 log file = /var/log/afpd.log
 hosts allow = 196.168.0.0/24

[Homes]
 basedir regex = /home

[Pogo TimeMachine]
 path = /srv/timemachine
 valid users = timemachine <username>
 vol size limit = 350000
 time machine = yes

The [Homes] section will allow home folders on the Pogo to be shared over the network. When logging in, the home folder for that user will show up as a shared drive in the Finder.

Also notice that the configuration limits the size of the Time Machine volume to 350GB. This way it won’t take over the whole disk. With a 1TB hard drive, this will leave 650GB free for photos and other files. These files can be read by Windows, and the drive can be still used as normal portable drive.

Adding your user name to the valid users line will help out with testing. Once things are working, it can be removed.

Start the service with systemd.

$ sudo systemctl start netatalk

If there are no errors, you should have a Netatalk server running on the local network.

Now, set it to start at boot.

$ sudo systemctl enable netatalk

On the Mac

First check the Finder, there should be a PogoArch4 server in the sidebar.

Netatalk server available.
Netatalk server available.

This server should show up without any prompting. Clicking on it will show the server details and a button displaying “Connect As…” Click that button and enter the username and password for your pogo user account. If you save your credentials to the system keychain, it will be connected anytime the server is available.

Connected Pogo server.
Connected Pogo server.

Once mounted you’ll have access to your home folder and /srv/timemachine. Both of these folders use the Pogo’s flash drive storage. With an 8GB flash drive, about 5-6GB of space will be available. You can use this as a mini-cloud to store files.

The Pogo TimeMachine folder is where the backups will be stored once an external drive is set up.

Time Machine

In System Preferences, open the Time Machine settings, and click the “Choose disk” button.

Pogo server available for Time Machine backups.
Pogo server available for Time Machine backups.

If everything is working, you should be able to choose the Pogo TimeMachine disk. When asked for a password, be sure the use the timemachine user name and password. Also save this to the system keychain. This will let Time Machine log into the server automatically to do the backups.

Once Time Machine has connected it will show the disk details. The free space shown will be the free space on the flash drive as the amount available for the back up. Since it’s so small, any backup attempt will fail for lack of space. The important part is knowing that everything works.

In part two, I’ll show how to add a disk for doing the real backups.


  1. Or you just want to take it to work, and can’t install the drivers on a company computer.
  2. While it won’t be part 3, expect a post about installing SAMBA so that the Windows-formatted portion can be used as a network share.
  3. /srv : Abbreviation for “service.”
  4. This name may be different if you have changed the Pogo’s hostname. Mine is PogoArch. The default is alarm. Server naming is its own artform. Greek gods and famous cats are always popular choices.

PogoPlug, OpenVPN and ArchLinux

In my continuing adventures with the PogoPlug V4, I decided to get OpenVPN working. The install was easy enough, but getting the configuration correct turned into a literal project—it has it’s own GitHub repository.

My VPN provider of choice is TunnelBear1. I started with them about a year ago because of their free service. The free accounts get 500 MB of data transfer per month. That’s not a lot, but it’s enough to get me out of a data emergency. Like the time I had to log into my bank from a supermarket’s free WiFi. They also have a promotion where sending a tweet from the app will add 1 GB of data to your account. That’s enough to get me through a usual month.

As I’ve been building out the PogoPlug these last few days, I started looking at VPN providers in general. The service plans among the varied providers are quite similar. I checked back with TunnelBear to see about their Linux support. I’ve been impressed with their Mac and iOS apps which are easy to use and are updated regularly. They provide a bare-metal2 OpenVPN service for Linux users. A paid “Giant” or “Grizzly” account is also needed for OpenVPN access. Since I already had their apps installed, it was a simple choice to try out their unlimited service for a month.

The configuration files are provided, but there is no support other than a short list of steps on their blog. The steps are correct and succinct—for a Linux desktop environment. Getting them working on a headless server is another story altogether.

The first pet peeve was that the provided configuration files have excessively long file names. For instance:

TunnelBear United Kingdom.ovpn

Also notice that there are spaces in the file name. These files were packaged by someone that didn’t have to type them on the command line. But wait, there’s more! The OpenVPN systemd unit file that launches the openvpn service expects the files to end in .conf.

To get things working I manually renamed the files and put them in the /etc/openvpn directory. This worked, and I could connect. Having the files loose in the openvpn root could lead to confusion if I wanted to add other VPN certificates/configuration files in the future. To prevent naming conflicts I decided to keep them all together in /etc/openvpn/tunnelbear.d/. This promptly broke the systemd unit file that launched OpenVPN.

I rewrote the unit file just for TunnelBear, and everything worked again. But it was missing an easy way to choose an exit point. Since ruby was installed3 on the PogoPlug, I decided to write a menu-based country chooser. The scope of this project had crept from “get OpenVPN working” to “I need to package all this up.” What had started as an idea for a blog post turned into TunnelBear-Helper and a blog post. I don’t think keeping the files for something like this on the blog is the best way to share it. Making a repository for it felt right.

I’ve also got the Pogo imitating an Apple server and hosting my Time Machine backups. More on that later, as verifying the instructions is taking longer than I thought.

Future Pogo hack posts I have planned:

  • Apple file server, with Time Machine backups.
  • Adding WiFi to the Pogo to make a hotspot.
  • Making the hotspot also block ads.

  1. I like that they’re up-front about their policies. They don’t allow P2P/bittorrent traffic over the VPN. They had to choose between logging traffic or blocking bittorrent. By blocking bittorrent, they don’t have to log traffic. It also keeps the data hogs away.
  2. Yes I did totally misuse this phrase. But I also find it oddly appropriate.
  3. It was required by VIM for some reason. Otherwise it was only a pacman -S ruby away.

ArchLinux on PogoPlug

Amazon shipped me the PogoPlug V4 faster than I expected. It landed on my doorstep this afternoon. It’s a little bigger than I thought, but not by much. I also ordered a couple of add-ons:

ArchLinuxARM can only boot from the top USB port. That’s why I bought the tiny flash drive. I wanted the lid to close. The wifi adapter won’t see action for a few days yet.

Updated instructions

Installation was mostly painless, with only a couple of snags that I sorted out using their help forum.

The ArchLinux package that needs downloading is 188.3 MB. The problem is that the PogoPlug internal flash can only hold about 55 MB. The instructions on the Arch site need a bit of revision.

The first is that bsdtar is not needed, and that you need to cd into the flash drive for the download to fit. The regular tar command will work where bsdtar will fail. It will throw a warning, tar: warning: skipping header 'x', but it completes without error.

Step 9 is listed as:

wget http://archlinuxarm.org/os/pogoplug/bsdtar
chmod +x bsdtar
wget http://archlinuxarm.org/os/ArchLinuxARM-kirkwood-latest.tar.gz
./bsdtar -xpf ArchLinuxARM-kirkwood-latest.tar.gz -C alarm
sync

It needs to be:

cd alarm
wget http://archlinuxarm.org/os/ArchLinuxARM-kirkwood-latest.tar.gz
tar -xzvf ArchLinuxARM-kirkwood-latest.tar.gz 
sync
rm ArchLinuxARM-kirkwood-latest.tar.gz

The rest of the steps work without modification.

Post-install

After the reboot I was able to ssh into the new install. As always, there’s a few things that need to be done.

Update the system:

  • pacman -Syu

Install some needed packages:

  • pacman -S vim sudo

Reboot, then do some basic sysadmin tasks:

  • Change the root password (passwd root)
  • Create a non-root user and password.
  • Configure sudo.
  • Set up ssh public key access.
  • Disable root login and password logins over ssh.
  • Install the NTP client.
  • Set the local timezone.
  • Change the hostname.
  • Configure the router to give the PogoPlug a static local IP address.
  • Update your local hosts file to use the PogoPlug’s new IP address.
  • Verify ssh and sudo are working using a different terminal window.
  • Reboot and enjoy.

Future plans

Over the next few weeks I’ll be setting up the PogoPlug to be a Time Machine backup server and maybe an ad-blocking wifi access point. Stay tuned.