Tuesday, July 27, 2021

Electric cars

Anyone remember when Chrysler showed off an EV Wrangler, circa 2008? (And an all-electric Dodge sportscar.) What ever ended up happening with that? (Best we have now is a crappy hybrid, that actually gets worse mileage than the diesel!)

There’s apparently at least one shop that will convert older Wranglers: https://erevon.com/

And though it’s now a bit dated, this Porsche 951 conversion is slick: http://951ev.blogspot.com

I really dig the way Aston-Martin has approached the coming shift; their Heritage EV program provides “an entirely self-contained electric motor unit that uses the original engine and gearbox mounts from the classic Aston being converted to electric power ... [enabling the customer] to swap back the original engine and five-speed manual” if they ever want to.

Whatever the date (2030, 2035 ...?), it’s looming.

Monday, July 26, 2021

Return of the CFFA3000

Good news for Apple II folks: The CFFA3000 is coming back! (It had been discontinued by the creator; from a July 29, 2019 update post: “I currently have no plans to make a new Gen 4 CFFA. So this is most likely the end of the line.”) Prior to this announcement, CFFA3000 cards were selling for an average of over $450, on eBay. What’s the CFFA3000? It lets 8-bit (II, II+, IIe) and 16-bit IIgs) Apple computers use solid state storage. Multiple 32MB “hard drive” or 143K/400K/800K “floppy disk” images can be mounted simultaneously, from a compact flash card or USB stick. It’s a seriously slick piece of equipment, and part of a panoply of devices that have me going “seriously?!” (I can’t believe so much active development is still being done on a platform that debuted in 1977 (Apple II; 1986 for the 16-bit IIgs) and has been discontinued for decades...

Then there’s software ... I’m looking forward to the IIgs port of Nox Archaist. (And I want to read the book.)

The operating system was updated to GS/OS 6.0.4 in 2017. The 8-bit ProDOS was updated to version 2.4 in 2016. Etc.

It’s not the heyday of Applied Engineering and Beagle Bros. (etc.). But, 30 years after the IIe quietly disappeared from Apple’s price sheets (which was, in turn, 9 years after the first IIe was introduced, and 15 years after the Apple II debuted), I find it crazy and awesome this stuff is still around.

Moar tactile...

So the Etsy maker I’ve been talking to has started to prototype the Keychron K2 iPad stand. Test pieces came in the mail today. I’ll use it with my Kailh Box Navy swapped K2, but that’s not a universal solution; I can imagine being relatively unpopular indoors at a Starbucks with the thicc clicc, or on an airliner, or ... 

So I’m pondering “building” another K2, with tactile switches, as quiet as I can get ’em while still having that crisp tactile “bump.”

After a related discussion on r/MK, I’m contemplating:
Pricier than the Kailh Box switches I’ve been using to date, but might be worth checking out.

Tuesday, July 20, 2021

Stamps.com USB Scale on macOS

I’m a lawyer. We still send lots of paper around (even though I’m of the opinion 99.995% of our dead tree activity could and should be PDF - but I digress). I’ve been using a Model 510 scale I got with a stamps.com subscription years ago, to weigh mailings so I can print exact postage with Endicia. But the scale doesn’t show up in the Endicia app, and so I’ve been booting into a Linux virtual machine to get weights. Clumsy. So, I took at look at the code for the little program I was using, usbscale. It relies on libusb, which is a cross-platform library. So far so good.

I downloaded source for both packages from github, and first installed libusb:

In the libusb-master directory:


$ ./configure && make && make install

$ find /usr/local -name "libusb.h"


The usbscale code needed a little help (there’s no native le16toh). Created the file /usr/local/include/endian.h  which I shamelessly stole from Dendi Suhubdy:



/** compatibility header for endian.h

 * This is a simple compatibility shim to convert

 * BSD/Linux endian macros to the Mac OS X equivalents.

 * It is public domain.

 * */

#ifndef __APPLE__

    #warning "This header file (endian.h) is MacOS X specific.\n"

#endif  /* __APPLE__ */

#include <libkern/OSByteOrder.h>

#define htobe16(x) OSSwapHostToBigInt16(x)

#define htole16(x) OSSwapHostToLittleInt16(x)

#define be16toh(x) OSSwapBigToHostInt16(x)

#define le16toh(x) OSSwapLittleToHostInt16(x)

#define htobe32(x) OSSwapHostToBigInt32(x)

#define htole32(x) OSSwapHostToLittleInt32(x)

#define be32toh(x) OSSwapBigToHostInt32(x)

#define le32toh(x) OSSwapLittleToHostInt32(x)

#define htobe64(x) OSSwapHostToBigInt64(x)

#define htole64(x) OSSwapHostToLittleInt64(x)

#define be64toh(x) OSSwapBigToHostInt64(x)

#define le64toh(x) OSSwapLittleToHostInt64(x)


I added an #include in usbscale-master/usbscale.c:


#include <libusb-1.0/libusb.h>

#include <endian.h>


And then compiled it normally:

$ make

cc -Os -Wall usbscale.c -lm -lusb-1.0 -o usbscale

Voila, it’s alive:

$ ./usbscale 

5 oz

Sweet. I don’t have to have a Linux VMware instance spun up to get a weight off this scale. This makes my life slightly easier.

I’ll take it.

For troubleshooting, as necessary, I added a debug flag to the Makefile for usbscale and recompiled it:

$ cd usbscale-master

$ vim Makefile

#CFLAGS=-Os -Wall 


$ make clean; make usbscale

rm -f lsscale

rm -f usbscale

cc -Wall -DDEBUG usbscale.c -lm -lusb-1.0 -o usbscale

I also built some of the example programs bundled with libusb, and the lsusb program included with usbscale:

$ cc -Os -Wall lsusb.c -lm -lusb-1.0 -o lsusb

$ cd ../libusb-master/examples/

$ ln -s /usr/local/include/libusb-1.0/libusb.h .

cc -Os -Wall testlibusb.c -lm -lusb-1.0 -o testlibusb

cc -Os -Wall listdevs.c -lm -lusb-1.0 -o listdevs

All the programs find the 510 scale:

$ ./listdevs 

1446:6a73 (bus 26, device 6) path: 1.4.4

$ ./testlibusb 

Dev (bus 26, device 6): 1446 - 6A73 speed: 1.5M

  Product:                   Stamps.com Model 510 5LB USB Scale

$ ../../usbscale-master/lsusb 

1446:6a73 (bus 26, device 6)

Monday, July 19, 2021

Kailh Box Royal

These just shipped. Should have them by the end of the week. Looking forward to seeing what’s what. From my brief experience with a keyswitch tester, I wasn’t sure I’d like them, and the Burnt Orange felt better. But those weren’t awesome. So, going to hot-swap to
Kailh Box Royal switches. People seem to like them:
  • The Kailh Box Royals are what I was expecting from a "tactile switch". (pol-delta)
  • Box Royals are the fucking GOAT (Past-Chest-6507)
    • They really are. Best tactile switch straight out of the box besides Zealios. (jrau)
  • these switches are something that I enjoy quite a lot. Very tactile :) (WindmillArtGuy)
  • I use Box Navy and Jades Just got a board of Kailh Box Royal and they are fantastic. Have the tactility and the resistance that us box Navy folks love 😀 (abdulqadirali)
  • Box Royals were just... alright. i found the dropoff way too sharp. the tactility was barely there. (hammerbrotha)
  • I love Box Royals, almost close to Zealios crossed with Box Navy! (BigHatNoSaddle)
  • I swapped out blueberries for royals and am much happier (commodorepickle)
So, I think I’m gonna like ’em. Film at 11.

Update: The switches arrived two days ahead of schedule. Swapped in the Box Royal switches and typing on them now. They’re a bit louder than the Burnt Orange switches (not clicky, but, thoccy) and feel a lot more crisp. My typing on them is significantly more accurate than on the Orange. Actuation and the tactile bump are both right at the top of travel, which takes a bit of getting used to. The force required is, I’d say, medium. So far, I like the change.

Saturday, July 17, 2021

Things that make you go "duh."

Dogs ‘just get’ humans in ways other animals can’t, evolutionary scientists conclude. (Similar ground was covered in NOVA's Dogs Decoded on PBS over a decade ago - still a fascinating watch.)

Also: Boredom’s link to mental illnesses, brain injuries and dysfunctional behaviors: "Boredom is a distressing emotional state that combines feelings of restlessness and lethargy, arising from situations that are no longer satisfying or stimulating. Early research often dismissed boredom as temporary and inconsequential, but recent work has established its links to mental illness, traumatic brain injury and dysfunctional behaviors such as reckless driving and substance abuse." (Boredom is also, of course, not a burden anyone should bear.)

Finally, unsurprisingly, demons have bangin' taste in music.

Thursday, July 15, 2021

Keychron K6 with Kailh Box Burnt Orange Switches; Another RK71 with Box Pink Switches

Tactile Build (K6 + Burnt Orange)

For my second tactile mechanical “build,” I went with the Keychron K6 (hot swappable, aluminum frame, RGB) and the Kailh Box Burnt Orange switches (also available(?) from AliExpress).

My switch tester suggested that switch would feel better than the Box Royal; now that I have a full keyboard with the setup, I’m not sure about that. The RK71s with the Kailh Box Hako Royal Clear switches requires more force and feels more “crisp.” The Burnt Orange switches activate right at the top of the switch’s travel and have a bit of resistance, but I’d prefer a bit more.

It might be worth getting another set of Hako Royal Clear switches (before they’re gone forever), as the set I have now is soldered into the RK71, and maybe a set of the Royals just to try them out.

Edit: Doing a bit of digging (which maybe I should have done before I pulled the trigger, keyswitch tester experience notwithstanding). I endorse these opinions (except for the parts that are struck through):
  • “Box Oranges have weak tactility compared to the Clears and almost felt linear to me. The Clears are similar to Kailh Box Royals in that it has sharp bump so a lot of the tactility is at the beginning and quickly falls off after that. If you want something closer to browns that's a bit smoother, the Box Orange is your best bet. Choose the Clears if you want something with more a lot more tactility up front.” nguyedt
  • [O]ranges are one of the worst (probably the worst) kailh switch. Very similar to cherry mx brown but with heavier spring and smoother.” myyrddraal
  • “I would suggest trying Burnt Orange, simply because you already like Browns and the Burnt Orange is like a step up from that...” rpiguy9907
  • Kailh BOX Burnt Orange Initial Review: Cherry Browns but Heavy
  • “I'm pretty sure they're just a heavier box brown. Which are nicer MX browns. But still the tactility on them isnt too much...” addmeonebay
That seems to jive with my experience so far. The Burnt Oranges are definitely more tactile than the MX / Gateron Browns, but way “softer” than the Hako Royal Clears. Kind of like going from MX / Gateron Blues to Kailh Box Whites.

Clicky Build (RK71 + Pink)

Meanwhile, I picked up a hot-swappable RK71 (the only way to get this, as far as I know, is bundled with a “gamer” mouse; also, this version of the RK71 does not have Option or Command  markings), and swapped in Kailh Box Pink switches. This may be my favorite combination yet. I really like the feel of the Pink switches. They’re not as fatiguing as the Box Navy switches, and don’t feel like an awkward compromise the way the Jade and Pale Blue switches do. (The White switches are, as far as I’m concerned, a slightly better MX Blue, and not worth swapping a keyboard to, unless you have them left over and you’re replacing truly garbage switches.)

Tactile Switches

SwitchTravel DistanceForce
Actuation Bottom Operating Bottom
Royal 1.8 mm 3.6 mm 75 g 70 g
Burnt Orange 1.8 mm 3.6 mm 70 g 80 g
Hako Royal Clear 1.8 mm 3.6 mm 85 g 85 g

Clicky Switches

SwitchTravel DistanceForceSpringClick Bar
Actuation Bottom Operating Bottom
White 1.8 mm 3.6 mm 50 g 55 g Light Thin
Pale Blue 1.8 mm 3.6 mm 70 g 80 g Heavy Thin
Pink 1.8 mm 3.6 mm 62 g 55 g Medium Midsized
Jade 2 mm 3.6 mm 50 g 60 g Light Thick
Navy 2 mm 3.6 mm 60 g 90 g Heavy Thick