The Lofree Mechanical Keyboard — An Awkward Layout

The Hong Kong-based start-up lofree is manufacturing a typewriter-inspired mechanical keyboard that was recently crowdfunded at Indiegogo. I purchased one for $79. It arrived on 12 June 2017.

Keyboard Layout: Numeric and Function Rows Misaligned

The main video on the campaign’s homepage claims — at time 0:48 — that the lofree keyboard “features the exact same keyboard layout as Apple’s Magic Keyboard.”

This isn’t true, and many people have expressed their discontent about this in the Comments section of the product’s Indiegogo page.

The numeric row and the function row of keys have been shifted to the right by a key, effectively forcing touch typists to re-learn how to type.

Number row highlighted in original lofree keyboard layout
Highlighting the original, misaligned number row on the lofree keyboard.

If you’re willing to re-learn the layout and this will be your only keyboard, then stop reading. For the rest of us who use multiple machines, however, the layout is unacceptable.

Keyboard Layout: Fix

Lofree advised me (and others) to use Karabiner to fix the keyboard layout, but Karabiner doesn’t work in macOS Sierra. Thus, I set out to create a layout that works in all modern versions of Mac OS X.

My fix is available on GitHub.

The layout re-aligns the numeric row back to the standard position, not the function row. The back tick/tilde key, now a dead key, is placed to the left of the delete, and the toggling you’d get with command + ` (back tick) is converted to a three-key combination: command + control + 1.

Shifted number row highlighted in lofree keyboard layout
The number row shifted back into the traditional position, with the back tick key, now a dead key, positioned to the left of the delete key.

As for reliability, I’ve used the layout for two weeks in Mac OS X 10.11 El Capitan and macOS 10.12 Sierra without incident.

How I Installed the 2003 Konica Minolta DiMAGE Scan Dual IV 35mm Film Scanner in Windows 10

Burden: ~15 minutes

[The Konica Minolta DiMAGE Scan Dual IV. ]
The Konica Minolta DiMAGE Scan Dual IV

Download Software

First, download the software required for the installation.

  1. Download the Windows XP version of the DiMAGE Scan Dual IV software. (Here’s the home page for the scanner.)
  2. Copy the following content, which I found in this blog post at Fixya, into a text file called sonyscanners.inf
    ; sonyscanners.inf -- Sony (Konica Minolta) Film Drivers
    ;
    ;
    ; Beta driver for Windows Vista and Windows 7 operating
    ; systems for all known Sony film scanners.
    [Version]
    Signature="$CHICAGO$"
    Class=Image
    ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f}
    Provider=%Provider%
    DriverVer=2/19/2011,3.0
    [Manufacturer]
    %Mfg%=Models,ntamd64
    [Models]
    ; USB and SCSI scanners
    "Minolta Scan Dual II" = USBScanner,USB\Vid_0638&Pid_026a
    "Minolta Scan Dual III" = USBScanner,USB\Vid_0686&Pid_400d
    "Minolta Scan Dual IV" = USBScanner,USB\Vid_132b&Pid_000a
    "Minolta Scan Elite 5400 2" = USBScanner,USB\Vid_132b&Pid_0012
    "Minolta Scan Elite 5400" = USBScanner,USB\Vid_0686&Pid_400e
    "Minolta Scan Elite II" = USBScanner,USB\Vid_0686&Pid_4004
    "Minolta SC-110" = USBScanner,USB\Vid_0638&Pid_0a15
    "Minolta SC-215" = USBScanner,USB\Vid_0638&Pid_0a16
    "Minolta QuickScan 35" = SCSIScanner,SCSI\ScannerMINOLTA_#2880___________
    "Minolta Scan Dual" = SCSIScanner,SCSI\ScannerMINOLTA_#2882___________
    "Minolta Scan Multi" = SCSIScanner,SCSI\ScannerMINOLTA_#2883___________
    "Minolta Scan Speed" = SCSIScanner,SCSI\ScannerMINOLTA_#2884___________
    "Minolta Scan Elite" = SCSIScanner,SCSI\ScannerMINOLTA_#2885___________
    "Minolta Scan Elite 5400 Firewire" = SBP2Scanner,SBP2\MINOLTA&DS_Elite5400&CmdSetId104d8
    [Models.ntamd64]
    ; USB and SCSI scanners
    "Minolta Scan Dual II" = USBScanner,USB\Vid_0638&Pid_026a
    "Minolta Scan Dual III" = USBScanner,USB\Vid_0686&Pid_400d
    "Minolta Scan Dual IV" = USBScanner,USB\Vid_132b&Pid_000a
    "Minolta Scan Elite 5400 2" = USBScanner,USB\Vid_132b&Pid_0012
    "Minolta Scan Elite 5400" = USBScanner,USB\Vid_0686&Pid_400e
    "Minolta Scan Elite II" = USBScanner,USB\Vid_0686&Pid_4004
    "Minolta SC-110" = USBScanner,USB\Vid_0638&Pid_0a15
    "Minolta SC-215" = USBScanner,USB\Vid_0638&Pid_0a16
    "Minolta QuickScan 35" = SCSIScanner,SCSI\ScannerMINOLTA_#2880___________
    "Minolta Scan Dual" = SCSIScanner,SCSI\ScannerMINOLTA_#2882___________
    "Minolta Scan Multi" = SCSIScanner,SCSI\ScannerMINOLTA_#2883___________
    "Minolta Scan Speed" = SCSIScanner,SCSI\ScannerMINOLTA_#2884___________
    "Minolta Scan Elite" = SCSIScanner,SCSI\ScannerMINOLTA_#2885___________
    "Minolta Scan Elite 5400 Firewire" = SBP2Scanner,SBP2\MINOLTA&DS_Elite5400&CmdSetId104d8
    [USBScanner]
    Include=sti.inf
    Needs=STI.USBSection
    SubClass=StillImage
    DeviceType=1
    DeviceSubType=1
    Capabilities=0
    [USBScanner.Services]
    Include=sti.inf
    Needs=STI.USBSection.Services
    [SCSIScanner]
    Include=sti.inf
    Needs=STI.SCSISection
    SubClass=StillImage
    DeviceType=1
    DeviceSubType=1
    Capabilities=0
    [SCSIScanner.Services]
    Include=sti.inf
    Needs=STI.SCSISection.Services
    [SBP2Scanner]
    Include=sti.inf
    Needs=STI.SBP2Section
    SubClass=StillImage
    DeviceType=1
    DeviceSubType=2
    Capabilities=0
    [SBP2Scanner.Services]
    Include=sti.inf
    Needs=STI.SBP2Section.Services
    [Strings]
    Provider="Sony (Konica Minolta)"
    Mfg="Sony (Konica Minolta)"

Install the Scanner Software

  1. Run DD4103E.exe, which extracts setup files Setup.exe and ADBSetup.exe
  2. Run Setup.exe
  3. Run ADBSetup.exe
  4. Restart your computer

Update the Driver

Updating the driver requires your having to relax the digital signature restrictions on your computer temporarily, then restarting to ensure the restrictions are re-instated.

  1. Holding the shift key, restart your computer
  2. Click/tap Troubleshoot then Advanced options then Startup Settings then Restart
  3. Choose 7) Disable driver signature enforcement by hitting the F7 key
  4. With the computer restarted, context-click (right-click for right-handed users) the sonyscanners.inf file you created at the beginning of this tutorial, then choose Install
  5. Connect the scanner, turn it on, then launch the DiMAGE Scan Dual4 Utility software
  6. Once you’ve verified that the scanner works, restart your computer one more time

Avoid Lacie’s iamaKey Flash Drive

In February 2012, I purchased a Lacie iamaKey, which carries a 2-year warranty. Seventeen months later, in July of 2013, the drive stopped working—it wouldn’t mount in Mac, Windows, or Linux. Nothing I tried was able to revive it; Lacie replaced it. (I had to provide LaCie with proof of my having destroyed the broken drive before they would replace it.)

A destroyed LaCie iamaKey
A destroyed LaCie iamaKey (July 2013).

Eighteen months later, the replacement died—the drive became write-protected, and the protection could not be removed. The replacement drive only carries a 3-month warranty, so no replacement for the replacement. (The replacement was destroyed because I’m showing my disdain for this company.)

Another destroyed LaCie iamaKey (February 2015).
Another destroyed LaCie iamaKey (February 2015).

So, the original drive failed about a year and a half after I purchased it, and its replacement died exactly a year and a half later. Perhaps a coincidence.

These drives look cool, are convenient to carry, and are designed to be carted around on a keychain with other keys. They are, however, too unreliable. I have a SanDisk Cruzer that is about 8 years old, is encased in plastic, and has taken a beating since 2006. It works perfectly.

Technical Review of a Book on Max/MSP

[The cover of Patrik Lechner’s Multimedia Programming Using Max/MSP and TouchDesigner]
The cover of Patrik Lechner’s Multimedia Programming Using Max/MSP and TouchDesigner.
In the summer of 2014, I was approached by Packt Publishing to review a book about Max/MSP. Since I was in the planning stages of writing my own book, I thought it would be a good learning experience.

Four months later, in November 2014, Packt released the book, Multimedia Programming Using Max/MSP and TouchDesigner. Overall, it was a good—and fast—experience in understanding the back-and-forth of technical reviewing and editing.

Poor UI Design in a Database Admin Page

Another poor UI design. Adding a database using this layout is quite easy: click the icon with the plus (“+”) character over it.

current-design
The current interface for adding a new database at iPage.

Dropping a database, however, isn’t immediately obvious. The icon to do so appears to the right of the “add user” icon, in the right section of the page. It’s likely there because the UI designer(s) didn’t want users to mistakenly delete databases.

OK. Understood. But, why not place the icon along the same row as the add database feature, but along the right margin?

after-mod-design
A suggestion about where the “drop database” feature might better appear.