One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for www.myfreakinfirst-andlast-name.com
Using 89% of the same design the blog had in 2001.
FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike,
always wear white.
As an Amazon Associate, I earn from qualifying purchases. Affiliate links in green.
When you discover you can eventually figure out most anything, you know, like, "I can replace the transmission in my car," you start going down serious rabbit holes.
I like rabbit holes. The problem is that though you can do most anything, it's still often difficult to actually pull something tangible off. For instance, it seems pretty easy to make an audio cassette player. Schematics are out there. And I bet with a good enough motor, you wouldn't need a flywheel to regulate play speed. You certainly learn some cool stuff -- exhibit analog computers, for instance, was something my cassette player rabbit hole turned up as part of an intermediate cMoy amplifier rabbit hole.
But there's often still a barrier to true productivity after the euphoria of researching a new topic that's probably a bit too high to easily deliver concrete results without enlisting some "real" expert help.
(This is also the difference between replacing a transmission, which I've pulled of a few times, and an engine, where I think I 90% succeeded, but still took to a shop to finally get the installation debugged & fired up.)
Anyhow, my latest rabbit hole has been custom keyboards, and it's one where I think any reasonable schmoe can achieve productive, concrete results. I mean, it's a very popular geek pastime, and the domain is pretty straightforward.
Put power into a circuit full of switches
Detect when switches close (aka, power goes through them)
Communicate those closures with a listener.
Apparently PS/2 is super simple, but we've still been using microprocessors to read the circuits for some time. From wikipedia.org:
The first computer keyboards were for mainframe computer data terminals and used discrete electronic parts. The first keyboard microprocessor was introduced in 1972 by General Instruments, but keyboards have been using the single-chipย 8048ย microcontrollerย variant since it became available in 1978.[41]ย The keyboard switch matrix is wired to its inputs, it converts the keystrokes to key codes, and, for a detached keyboard, sends the codes down a serial cable (the keyboard cord) to the main processor on the computer motherboard
So on its face, a very simple proposition, repeated a number of times, and you've got a keyboard, which we always knew in theory was just a lot of buttons each like the battery-powered buzzers we might have played with years ago, but there's nothing like studying the innards for that to really, practically make sense.
Anyhow, that's too much preamble. I'm not writing a book. Here, in good web-log style, are some good links to information about keyboards that I've run into during the rabbit hole exploration...
(Warning, like other giant log dumps, this post wasn't proofread even as well as my typical post, which is pretty bad...)
I got a Lenovo ThinkPad compact USB keyboard last month, as I noticed that I really haven't gotten too much hand pain using my ThinkPad T430 the last three years, and I really do like the TrackPoint. The TrackPoint is much handier and the keyboard much more comfortable than I expected.
Two serious issues with the ThinkPad Compact Keyboard, but it's my daily keyboard in the office now:
No backlighting
Can't swap the Fn and Ctrl keys!
The first was reasonably easy to fix, especially when you're in your office.
Regardless, the point of this post is that when I was looking for folks brave enough to mod their MacBooks with TrackPoints (didn't find any), I did find this, simpler, smart solution that also seems to be a big benefit of keeping the compact keyboard, well, so small.
Ijustfarted said:
what I'm really going to miss is the thinkpad keyboard. I love everything else about macbooks but the mac keyboard compared to a thinkpads doesn't compare :(
Realizing I'm zombie threading, check out this guy. That's hilarious. I bagged a ThinkPad USB compact keyboard a month ago to use when I'm in the office with my Mac, and wondered if anyone had modded a MacBook to use a TrackPoint. Not sure if this counts, but it's not a horrible idea...
I've got a USB cable right out of the back of my keyboard, which would make it cover some of the trackpad, but the Bluetooth version seems like a perfect overlay.
(Fwiw, I use the TrackPoint when I need to move the mouse once -- & just a little -- and don't want to move my hands all the way off of the keyboard... Also like the feel of the keys. Almost enough that I'd break one out at the coffee shop to lay over the MacBook if I had the Bluetooth one!)
After youโve installed AutoHotKey, download this script and run it (either by double-clicking or right-click -> โRun Scriptโ). This will load a set of pre-defined rules that will make your Apple keyboard operate like a Windows one โ but way sexier.
Hereโs the rules Iโm using:
; Swap Windows (Command) and Alt keys
; These button locations are reversed on Mac keyboards
LAlt::LWin
LWin::LAlt
; Map F13 to Print screen
; Mac keyboards don't have a print-screen button!
F13::PrintScreen
I'd been using SharpKeys to map Insert and ScrollLock to pause/play and mute, respectively, but I'm back to trying an Apple keyboard on my work laptop -- the Microsoft Sculpt keyboard, which actually is very well made, just poorly designed for me, caused my index fingers to reach too much and hurt -- and the rigamarole of opening SharpKeys, writing to the registry, and logging out & back in to use the laptop's "integrated" keyboard was too much of a pain. AutoHotKey seems to fix that.
Edit: And now I'm reminded why. AutoHotKeys doesn't work when certain applications are active, like, um, Visual Studio, where I live about half my coding day. Volumouse doesn't work in the same apps, so I'm guessing whatever trick it is that allows these things to listen in and co-opt actions is shut off in a few places. SharpKeys still works there.
Why does Apple have to make such a nice keyboard, but make it Windows unfriendly? I know, I know, they're not in the Windows hardware business [outside running Windows with Boot Camp].
I'm finally getting to the point that my hands hurt from typing too much, especially my index fingers, thumb, and wrists. I use a Microsoft Natural Keyboard Pro, which has helped in the past, but it's not enough. I think the reaching for gthy is getting to me. The mouse isn't helping either.
In this sample paragraph, 70% of the letters are on the home row in Dvorak, with 15% top and 15% bottom. In QWERTY 30% are on the home row. Beware, it takes a little getting used to, especially if you're transitioning from a standard QWERTY keyboard. ... The standard QWERTY keyboard layout was designed to prevent typewriter jams (which is no longer necessary with computers), whereas the Dvorak layout was designed specifically to be easy on the hands.
The problem is, of course, that we don't just use keyboards for typing English any more. And there's a good negative in that piece, however, that got me thinking... "Depending on your operating system, keyboard shortcuts such as CTRL+C may lose their convenient placement."
So the question for becomes, even if I could rethread my head around the layout, how would I do in VIm?
Many Dvorak users have no problem learning the normal Vim commands with a Dvorak layout. The movement keys may not look it at first but are in fact pretty intuitive -- J and K are on the middle and index fingers of the left hand, right next to each other in the same order as on the qwerty layout, while H and L are the index and pinky fingers of the right hand, so the one for left is on the left -- again perfectly accessible.
[from the comments from the same page:]
I have been using Dvorak (as X keyboard map) and Vim for about two years now, without *any* adjustments (concerning Dvorak) to Vim at all, and it works great. The solution imho is to simply remember Vim commands by their name, rather than their keyboard position (e.g. I think I want to d(elete) 2 w(ords), and hit d2w without thinking about the key positions (my fingers know the position themselves).
I have a hard time buying that. Why do I want to leave roguelike controls again? Sounds like a mess.
Effectively my brain was trying to wire three kinds of cursor movement modes:
1) Dvorak Vim with remappings (when I'm on my own machine)
2) Dvorak Vim with no remappings (when I'm on someone else's machine and have the keyboard remapped)
3) Qwerty Vim (when I'm on someone else's machine and don't have the keyboard remapped)
This is, simply, too much. Your life as a programmer is hard enough without you having to learn three different spatial layouts for text editing commands.
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity. About Our Author