www.codinghillbilly.com   kyle.baley.org  Subscribe / Contact
 
 
 
 
LATEST POSTS
Saturday, April 25, 2009

I’m over a month in with my new keyboard and, as promised, here is the follow-up.

Typing speed has returned to more sporting level, as I had expected. The exercises included with the keyboard, while not Pulitzer Prize material, do help. I’d work on them on my host machine while waiting for my VM to boot up in the morning. Doing that, I was able to get through the ones I cared about in about a week.

I’m still not *quite* at the same typing speed but I’m close enough. It’s the old 80/20 rule. I’ll get up to 80% of my old speed after 20% of effort. The last 20% will probably take orders of magnitude longer. That said, the keyboard does exactly what it advertises, which is reduce strain. All (keyboard-related) pain in my right arm has ceased. Whether it’s psychosomatic or the new keyboard layout or the fact that the keyboard releases a rush of endorphines every time I press Ctrl-Alt-E, I don’t much care. The fact is, the pain is gone. That alone makes the keyboard worth it’s weight in whatever metal is selling these days. As a bonus, I also discovered that Robin Williams used one in the blockbuster hit, Flubber. If that’s not endorsement enough, well, you can’t save everybody.image

To be fair, there have been a whack of other little adjustments I’ve made that have contributed to my new pain-free typing experience. I described a few in the original post:

  • Using Executor
  • Remapping CapsLock and F1 to Esc (the former because it’s more convenient, the latter because the F1 key is the MOST ANNOYING KEY ON THE FACE OF THE PLANET!)
  • Using AutoHotKey to remap Left-Control + Right-Control to Alt-Tab and Left-Control + Right-Win to Shift-Alt-Tab

In addition to this, I’ve also done the following:

  • Changed the default keystroke to Executor to Right-Control + Backspace
  • Turn off the annoying double-click when you press CapsLock (aka Esc). This is a keyboard function and it was heavenly when I found out it could be disabled.
  • Remapped the left backslash key on the keyboard to Insert.
  • Mapped Win + F10, F11, F12 to Volume Mute, Volume Up and Volume Down respectively (with AutoHotKey)
  • Made heavier use of ViEmu and Vimperator

With regard to the third point, for whatever reason, the keyboard comes with two backslash keys. This is strange given how sparse they are about duplicating other common keys (alt, win, etc.) and simply not including others (Insert, for example). Whatever the case, I’ve used the built-in keyboard remapping capability to remap the left-hand backslash to Insert which has helped immensely for logging into VMs.

The last point is important. When I first tried both of these tools some months ago, I used them for a month and gave up, thinking I’d given them the good ol’ college try. Coming back to them, I was surprised how much I actually remembered. Which is good because it meant I could then learn some more keystrokes without having to also try to keep the original ones in my brain. The experiment was so successful that I added ViEmu for Word and ViEmu for SQL Server to my toolkit. All of them have helped me to avoid the arrow keys, PageUp, PageDown, Home and End, all of which are still not as intuitive as they ought to be. Oddly, I tried Vim itself for a few days and it was way too wacky for me. So I’m sticking with Notepad2 as my default text editor. I end up typing jjj and kkk a lot when I want to navigate but I can only take so much freakishly-obscure tools and hardware at once.

Both ViEmu and Vimperator are as configurable as Vim, which may mean something to you if you know that Vim is very highly configurable. So I’ve added the following configurations to ViEmu for all versions:

  • noremap <Space> <C-d>
  • noremap <BS> <C-u>

I’m not 100% sure what noremap does compared to map or nnoremap. Just know that adding the above two lines to _viemurc and _viemuwrc makes things happen. In this case, pressing Space will move text down half a page and pressing Backspace will move it back up again. This may seem odd to you but considering where these two keys are on a Kinesis, it’s very aesthetically-pleasing actually.

For Vimperator, I essentially stole the configuration from someone else. The highlights of it are:

  • set complete=l
  • au LocationChange .* js modes.passAllKeys = /(www\.google\.com\/reader)|(rememberthemilk\.com)/.test(buffer.URL)
  • com gui :set guioptions+=mTb
  • com nogui :set guioptions-=mTb

This is what these commands do:

  • Enable auto-completion when you open a url (either with :open or :tabopen)
  • create a command called :gui which enables all the toolbars. The :nogui command hides them again.
  • disable Vimperator for Google Reader and RememberTheMilk (i.e. automatically switch to pass-through mode for these sites)

For the last one, I had, at one point, also disabled Vimperator for GMail because it collided with many of the GMail shortcuts. The latest version of Vimperator is much saner with GMail so I’ve enabled it again. Still get an error when deleting mail with # and I can’t press Y to archive but it’s much better than before.

There is still one major pain point: The location of some rather common characters in C#. Namely: []{}<>. These are all located in the same corner and I’m still tripping over myself as I type them. I’m working on a macro that will allow me to type out “left curly brace” and have it substitute { in its place.

Kyle the Laconic

Saturday, March 21, 2009

Keeping this terser than usual. Got a new keyboard three days ago and want to record initial thoughts. Follow up to come in a few weeks. For now: Freakin’ HATE it! Space on one thumb, backspace on another. Alt-tab requires same hand stretching exercises I did during piano lessons. Common coding symbols (e.g. /}{][=) hard to reach. No Insert key without activating keypad. Enter right next to Space.

Things that have helped:

  • Dumping Launchy in favour of Executor (Better handling of file paths, can use space instead of tab for google searches)
  • Mapping CapsLock to Esc with SharpKeys
  • Mapping LCtrl+RCtrl to Alt-Tab and LCtrl and RWin to Shift-Alt-Tab through AutoHotKey
  • Mapping F1 to Esc with SharpKeys (Is this key useful for anything?)

Review unfair as still learning. Hope to return to sentences that don’t sound like written by Rorschach soon. Point in favour: no more pain in arm and wrist already.

Kyle the Fruistrrwated

Monday, March 09, 2009

Let it not be said the RSI is all fun and games. The hillbilly has just realized that he can legally date someone half his age and while that might open up a world of possibilities within his family tree alone, it also means he’s getting elderly.

One of the symptoms is a nice dull ache above my right elbow. I’m attributing it to one or more of three factors:

  • Having to reach over both the cursor key cluster and the numeric keypad whenever I need to reach for my mouse
  • My wrists twisting at odd angles on the keyboard
  • My constant habit of wh---....actually let’s leave it at two reasons

My current keyboard is the standard Apple one (the wired one) which I picked up within a week of receiving my new desktop. The stock Dell one is not unlike a Speak N Spell when it comes to typing, the most egregious failure being the funky home key cluster. I’m not sure when they switched from the standard 2 x 3 to a 3 x 2 but I have to wonder what the thinking is behind such a switch. My own fault I guess for shelling out three large without putting any thought into my primary interface for the thing.

Its replacement is on its way based on the recommendation of someone whose opinion I respect highly and whose state of mental well-being is frighteningly similar to my own. Which is the only reason I shell out that much sight unseen, especially in a country not generally known for its excellent warranty service.

In the meantime, I giving another college try to various vim incarnations, particularly Vimperator and ViEmu. I tried both (and vim itself) for about a month some time ago and just couldn’t get into it. These days, I’m doing a lot more hard-core coding and have a more vested interested in getting off the mouse. Surprisingly, it wasn’t as hard as I thought to get back into the saddle, at least for the basic navigation commands.

Anyway, on to the real reason I called you all here today.

ViEmu and ReSharper are not quite best friends yet. They’re tolerant of each other and try to stay out of each others’ way but I hit some issues after installing ViEmu. There may be more incompatibilities but I ran into two before negotiating a detente ‘twixt the two:

  • Shift-Alt-L no longer works (R# shortcut for opening Solution Explorer with the current file highlighted)
  • In Fonts and Colors, the ReSharper options disappeared under the Text Editor settings.

The second caused some issues because in my fit of re-ergonomics, I’m also trying out a light-on-dark Visual Studio theme again after also discarding that some years ago. I’ve also got the Highlight Current Line option turned on in ReSharper and if you don’t have the ReSharper Current Line option listed in Fonts and Colors, the default is a very bright and very unintelligible white.

The issue seems to be the order in which things are installed. I had installed ReSharper first, then ViEmu. I also uninstalled both, then re-installed them in the same order. But before installing ViEmu, I verified that Highlight Current Line worked as expected. After installing ViEmu, I was back to a veritable blank line for my highlighted row.

Next, I uninstalled both and installed ViEmu first, followed by ReSharper and all appears right with the worl—...well, let’s not get carried away. I’ve got Visual Studio working the way I want is all.

Kyle the Mediator

Friday, July 13, 2007

Still in ramp mode at the new digs so I'll review the recent keyboard and mouse I bought. Choices were limited to what was available at Staples because I'm not exactly what you would call an ambitious hillbilly when it comes to peripheral shopping.

Microsoft's Natural Wireless Laser Mouse 6000
The packaging claims it is Microsoft's most comfortable mouse ever, which is why I chose it over Logitech's VX Revolution, a mouse that has a lot more buttons and that purty hyperscroll wheel but still forces your hand into carpal tunnel territory.

Alas, the Natural Wireless Yadda Yadda Yadda still requires some conscious effort to force your hand into the vertical position they want you to use. I suspect the Evoluent VM is a better choice in this regard.

It's not so bad if you rest your hand with the index and middle fingers on the two mouse buttons, which I think is how they expect you to work it. But I prefer using my index and fourth fingers for them leaving my third free to work the scroll wheel. And when I do that, my hand has a tendency to revert into a more horizontal (i.e. less wrist-friendly) position. And when I do use the "correct" fingers, the scroll wheel is not nearly as accessible due to the mouse's sheer (but necessary) bulk.

This one also features the new horizontal scrolling on the mouse wheel. It makes a nice demo but after playing with it for a while, I can't help wondering why they didn't just replace the whole thing with a miniature joystick instead. Scrolling a vertical wheel left and right doesn't feel right and it takes a lot to make a hillbilly feel unnatural.

Final verdict: More comfortable than a regular mouse but not as ergonomic as I would have hoped. It's cheaper than the Logitech one but, and this is pure speculation, probably not as comfortable as the Evoluent.


Not reviewed: The Data Hand


Microsoft Natural Ergonomic Keyboard 4000
The main competition with this was another keyboard that wasn't "natural" but had a Win key on either side of the spacebar, as opposed to only on the left on this one. I use WinKey a lot so this was actually a fairly big factor in the decision. Alas, I chose comfort over function again and now I am forced to use two hands to lock my screen instead of one (Win + L). The reason I decided against the other one was that it included a mouse I didn't like but on reflection, it wasn't that much more expensive...

Not that I'm disappointed with the one I bought. It has all the buttons where they're supposed to be, and the more useless ones that keyboard manufacturers seem eager to add (like the Search and Calculator buttons) don't get in the way. I haven't put the split keyboard through it's paces too much yet but early indications are very positive. There's a little "zoom" mechanism between the two keyboard sections that lets you increase or decrease the font-size in IE. Again, not a feature I imagine gets used a lot and given it's position, it would have been a perfect place to put something more practical there, like a couple more buttons for favorite applications or better yet, macros.

Other nice features include a wrist rest that's slightly more comfortable than one would expect and more keys above the number pad (for equal sign, left and right parentheses, and backspace). It also comes with a little stand that raises the front of the keyboard which can be detached and used for snagging cords behind your desk that are out of reach.

So apart from the fact that the right-click key (which I have yet to see being used at all, let alone actively enough to warrant such a prominent position on they keyboard) is occupying the space where a more useful second Win key could go, it's a keyboard I can be proud of.

Kyle the Critiqued

Saturday, May 26, 2007

Maybe it's because I'm getting on in years but I'm not much of a gadget person, especially considering my chosen profession. I've been able to get by quite nicely on Mrs. Hillbilly's cast-off devices, which come more frequently than you might imagine. And, being a technically-minded and gracious hillbilly, I'm often called upon to swear and curse at the UI designers of her latest gizmo.

Recently, that included a new Zune and a new Treo. I'll start off with the Zune because my major complaint with it is pretty easy to explain.

I can't create a playlist on it.

Oh I can transfer a playlist to it from my computer. Very easily actually. The software, which I'm guessing is a branded version of Windows Media Player but I'm too lazy to look it up, is intuitive enough. I just can't select a list of songs that are already on the Zune and create a playlist from them.

Here's the scenario: It's a 30Gb Zune and given that it could accommodate both the missus' collection and most of mine, she graciously allowed me to use some of the excess space. So I stumbled my way through and added all my songs.

Cut to a few days later: The ol' lady comes home and says to me, she says, "Codin' Hillbilly, ya gotsta git yer musick off'n this har Zoon! I canst get it to play just my songs without yer Tribute to Yodellin' mixin' it up with mah Il Divo!"

"You got it, Cabbage," says I, "I'll just add mah toons to one o' dem playlisties and you kin listen to them big throaty guys all ye want!"

So boot up the Zune and lo! All the songs I've recently added are nicely listed in a Recently Added list so I don't have to go hunting for them. But no! you are not, to the best of my knowledge, able to create a playlist on the Zune without creating it on your computer first. And when you do that, it wants to add all the songs in it to your Zune all over again.

The solution I am currently implementing (which is not to imply it is the correct one):

  • Delete all my music from the Zune (using the handy "Recently Added" list)
  • Copy all the missus' music to my computer
  • Delete the missus' music from the Zune
  • Create two playlists on my computer, one for her and one for me
  • Copy both playlists back to the Zune

Thankfully, the Zune copies things wicked fast otherwise I'd be in a pretty skunky mood right about now. And before I move on to the Treo, I'll just point out that my three-year-old Dell Digital Jukebox has an awesome interface for this. To wit: it shows up in Windows Explorer and I can drag and drop songs at will. Into both the device itself and playlists that I create on it (also directly from Windows Explorer).

The scenario for the Treo 650: Cabbage has a romantic streak in 'er and thought it'd be nice to have a certain song play whenever I called her on it. The song is not nearly as interesting as what your collective imaginations are dreaming up so let's just say for the sake of argument that it's Whistle Stop by Roger Miller. So the task is: Get a fragment of a song on to the Treo and assign it to a specific number.

I gotsta tell ya, it's easier to skin a raccoon with dull machete.

After a LOT of trial and error and at least three pieces of trial software for various tasks, none of which I eventually actually needed, it was done. Here are the trimmed down steps I performed (and again, I don't want to imply that this is the correct answer):

  • Edit the song in whatever MP3/wave editor into a clip that makes sense as a ringtone.
  • Save it as a wave file unless you want to deal with third-party software because the Treo, out of the box, doesn't support MP3 files as ringtones.
  • Make sure your Treo is set up to receive e-mail (using VersaMail, not MyMail and not Messaging; and on that note: why are there three ways to get mail on this thing?!?)
  • E-mail the wave to yourself. I kid you not, this is the ONLY way I found to copy a wave file on to the Treo using the software that comes with it.
  • Try several times to download the e-mail before it times out
  • Click on the little file icon next to the attachment name (NOT on the attachment name itself)
  • There are three options: View, Save to card..., and Select viewer... Click on Select viewer... (ya, that was MY third choice, too)
  • In the Select Viewer screen, change the Viewer to Sounds. I shouldn't need to explain this because it should be pretty obvious but just in case you aren't picking up on the sarcasm, this will copy the file to your Sounds folder (or area or whatever).
  • Click View
  • Now press the Home button to go to the main screen
  • Go to your favorites (by pressing the green Call button which was NOT easy to figure out)
  • Scroll down (again, not obvious that you can do this) and select an empty slot
  • Leave it on Speed Dial
  • Enter the phone number you want to apply this to (or select an existing contact by clicking Lookup)
  • Change the ringtone to the one you just saved
  • Click OK

I could comment further but I think the list of steps involved speaks for itself.

Kyle the Luddite

Friday, August 18, 2006

Thanks to honorary Hillbilly Martin M for pointing out that my Search button didn't actually work. Let that be a reminder to all you Atlas-ers that your UI shouldn't just look good, it also has to work.

The migration to the new laptop continues. I shouldn't be too surprised at the level to which I bastardized my old laptop (I *am* the Coding Hillbilly, after all) but every day brings a new "oh yeah" moment.

Today's changes to the laptop:

  • Imported IE favorites from live.com
  • Installed Scott Guthrie's Web Application Project for VS2005
  • aspnet_regiis'd my default web site (for some reason, I didn't have an ASPNET account)
  • Default settings in Word and Outlook (I do like me some Century Gothic; it's the way the a's harken back to my childhood printing classes)
  • Downloaded the Consolas font

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Copyright © 2010 Kyle Baley. All rights reserved.
 
CATEGORIES
.NET General (18) alt.net (4) altnetconf (9) ASP.NET AJAX (40) ASP.NET MVC (29) Bahamas (1) Bahanet (9) BDD (1) Brownfield (18) Career (9) Castle (1) Code coverage (1) Coding Style (6) Communication (1) Community (18) Conscientious Coding (34) Continuous Integration (11) dasBlog (12) Development (16) DevTeach (4) Domain (2) Environment (4) Estimating (1) Featured (14) Flamingo (10) Games (1) Google App Engine (2) GWT (5) Hardware (6) Java (1) Javascript (7) Linq (2) Livelink (6) Lucene.NET (2) MbUnit (1) Metrics (1) Miscellaneous (24) Mocking (4) NAnt (4) NHibernate (12) NInject (1) Office (3) Office Development (6) Open Rasta (1) Patterns (5) Presenting (13) Professional Development (15) Refactoring (10) ReSharper (11) REST (2) S#arp Architecture (5) Security (3) Software (11) Sundry (18) TDD (19) Tools (21) User Interface (5) Utilities (8) Visual Studio (8) VSTO (1) Web development (12) Windows (3) Working Remotely (16) Workplace (3) Writing (4)
 
LATEST POSTS
 
POPULAR POSTS
 
 
ARCHIVE