Monthly Archives: March 2013

Input

When you work with the computer all day, the human-machine interface is of critical importance.  I spend all day typing, so the workstation should optimize my ability to work rather than getting in the way.  So it is well worth putting some attention into getting right.

Here is a photograph of the “input” portion of my work desk:

kb-overview

Main Keyboard

It’s mostly all black, so it is hard to see in the photograph I’m afraid.  And I do mean all black—the keys are solid black with no labels.  Visitors are surprised by that, and I point out, “neither does a piano.”  This is a Das Keyboard II, featuring Cherry MX mechanical switches.  It is a little different from the third iteration that was introduced in 2008, in that it does not have an internal USB hub, has a matte surface, and is a fully rectangular case, something that I make use of.

Using an unlabeled keyboard does indeed make one a better typist.  The first time I learned to type was on a mechanical typewriter that had belonged to my grandfather.  The buttons were small and round with nice gaps between them to catch your finger instead!  The keys needed to be depressed a long distance and with great force.

I wasn’t that great at touch-typing and had to look at the keyboard.  It was once I became a professional computer programmer (late ′80′s) that I decided to better learn to touch type without looking.  I used Typing Tutor software, and learned the normal letter area quite well.  Typing forum posts and other prose writing, I easily made 60wpm.  But, I never really learned to “touch type” the funny characters like {} and &.  They are rare in prose, but bread-and-butter for programming languages.

I’d always appreciated a good quality keyboard.  Typing confidently with speed means not having the keys slide from side to side, and having a better feel than a cheapo keyboard.  When PC computers started getting cheap (shoddy!) keyboards, I found the Keytronics KB-101Pro, which I wore the labels off and started to wear down the plastic on some of the keys to a noticeable extent.  Eventually common keyboards improved in quality and an inexpensive keyboard from a stock PC was not too bad, and an inexpensive after-market keyboard was only subtly inferior to a high-end one.

A high-quality keyboard that was unlabeled made sense.  The labels wear off anyway, and you are not supposed to look while you type.  I recall someone improving upon the normal “don’t look” instructions for learning how to type well by using a box that hid it from view.

After I got this one, I had to learn all those funny keys that were not covered under lessons.  If I hit the wrong button, I could not cheat by looking at the labels.  I really had to learn them.  For letters and most other keys, I didn’t notice the difference because I never needed to look anyway.

Today, the only keys I ever worry about are the three to the right of the F-keys.  They are so rarely used at all, and never for their original labeled purpose anyway.  (Now I use them for different varieties of screen capturing.)

Keyboard Extension

kb-closeup

In this close-up you can see that there is another row of keys above the normal top row on the keyboard, and these are white.  Actually, they are hand-written labels under a clear flat cap.  This is a 16-key X-Keys stick.

The idea is pretty simple:  16 buttons, and USB.  But the software it came with was utterly useless.  The MacroWorks software could only issue codes for keys that you could already type!  I guess that’s for sending whole words with a single button, but I was specifically wanting it for characters that were not already on the keyboard.  I tried to hack the saved file format, but the software didn’t like the codes anyway.  I tried to use the plain USB keyboard mode and program it with codes that are defined but not on my regular keyboard (there are actually a bunch more F-keys than 12, and a few non-US keys) and then use other software to map those to what I really wanted; but that didn’t work either (I don’t know if it was the XP operating system or more funny business with X-keys).

Almost ready to give up, they pointed me to the Developers Kit.  Using the DLL they provide, I obtain the keypress.  Then it is trivial to call the Windows API function SendInput with the Unicode character.  Their original MacroWorks software installed a bunch of device drivers for a fake keyboard and fake mouse.  I asked why they didn’t just use SendInput — Win95 compatibility or some other features?  They never answered, but the next version of MacroWorks did not install a bunch of drivers.

My motivation for getting a keyboard extension was writing a chapter of text full of things like “1.23×108 kg∙m∙s−2

Trackball

To the right of the keyboard is a Kensington trackball.  It nicely matches the black motif, but that’s simply the color they sell it in.  Years ago, I realized that reaching for the mouse was not at all ergonomic.  Having piles of stuff on the desk doesn’t help either!  So I tried trackballs.  Many are too poorly made and are useless.  I actually liked the Microsoft model, but eventually wore down the ridges on the scroll wheel and they stopped making it so I could not get another of the same.  Other “ergonomic” trackballs I’ve tried make the mistake of thinking that one size fits all.  When the placement is for hands three sizes too small, it becomes the exact opposite of ergonomic.

Kensington has made professional trackballs since before mice became mainstream.  And their classic model is hard to improve upon for the actual ball.  Some day I’ll make a mod to add mouse buttons on the left side of the keyboard.

Shuttle

To the left of the keyboard is another gizmo, a ShuttlePro2.  This was recommended for use with some software I was using to edit video.  Since it can be programmed to issue keypresses for the jog and shuttle actions, it can be made to work with other software that doesn’t specifically know about it too, if you watch out for where the cursor is or what control is activated.  It’s basically a must-have for video editing and quite helpful for audio too.  For other programs it’s a bunch of extra buttons too!

Wacom  Tablet (not pictured)

For photo editing, I use a 9×12 inch Wacom tablet.  I got it around the year 2000, so I’m worried that they will stop supporting it although it works fine and there is no real reason to get a newer one.  What the trackball can’t do well, a mouse isn’t very good either:  try writing your name in a painting program with a mouse.  The stylus is the tool to use.

Unicode on St. Patrick’s Day

I have a key to type ⌘ on my keyboard (though it doesn’t work in the MCE editor!  So I copied it from Notepad++ after typing there) which is handy for writing things like “Type ⌘B to rebuild the project.”  This is technically called the Place of Interest Sign.  But searching for clover in BabelMap gives me U+1F340 which may show up as (🍀) if you have a suitable font installed. There is also a Shamrock, (☘), with three leaves.

A Tale of Two πs

 

Happy Pi Day!   In countries where dates list the month before the day, 3 14 brings to mind the very special number π.  Yes, there really is a Pi Day, and the first time I “observed” it was a joke with my wife Tao.  She comes from China and doesn’t know all the American Holidays, so I was joking that we have a holiday coming up.  Someone that same year asked me how one celebrates on Pi Day, and after a moment of reflection stated that we had to eat round foods.  So we (a group from work) went to a burger place that also served onion rings.

Seriously, the day has inspired me this year on a couple of points.

Peach Pie

The first “pie” is a home-made peach pie.  We have a peach tree in the back yard, 2013-peach-pieand we harvested enough peaches to fill the freezers even after giving away a lot.  We have enough left for many pies throughout the year, and it is a good time to use up peaches from June 2012 before the new crop comes in.

So I asked if Tao would make a peach pie this week, and she did.  Yum!

Raspberry Pi

A short time ago I saw a You-Tube video concerning building a project with the Raspberry Pi single-board computer.  The teaching of computer programming skills is also an interest of mine, and, like the message from the Raspberry Pi story, I’ve often felt that kids these days have these powerful and mysterious PCs and don’t get exposed to “making it work” the same way as I did, even if they are in a class for that express purpose!

They say, “If you want to support us, we’d love you to buy one”.  So, in honor of Pi Day, I’m buying three.  In the very near future, I’ll see about getting them into the hands of local kids through high schools or some existing computer clubs.  It’s a whole lot easier to simply give money and goods to causes than it is to be active in one!

My own early computer experience was with an 8-bit device that had 1K of RAM.  So it’s still hard to think of something with Xbox 1 level of performance (24 GFLOPs GPU) as “simple” or “primitive”, after ray-tracing without floating-point instructions at all (maybe a quarter of a megaflop?).

 

My First “Pre-Loved Computer”

The short version:

After getting a new computer for my wife Tao, I gave away the old one. Since nobody in my extended family living nearby needed it, I found somebody who did.

Longer version:

Tao’s computer was last upgraded in 2008.  Upon getting a new DSLR camera, she had trouble with our vacation photos being too heavy to handle.  Adding RAM would not be cost effective because it was no longer common.  So I bought a new motherboard, CPU, and RAM at MicroCenter.  The motherboard features gigabit Ethernet and on-board graphics, and with 4GB it maxes out 32-bit Windows XP.  Photoshop/Lightroom was more than happy with it, and the fast local network made working with the photos over the LAN as fast as if they were on a local hard drive.

Later, I did replace the hard drive too.  Being as old as it was, it was holding back the system performance.

In 2013, it was still working quite well.  Although “only” two cores and 4GB, it performed its duties just as well as when it was new.  So why upgrade at all?  It was a Valentine’s Day present surprise.  I am something of an enthusiast about computers, and this was the slowest/oldest still-working PC in the house.  Win XP didn’t understand how to talk to her Samsung Galaxy phone, and retreading the computer with a new OS is so much work why not start with a fresh motherboard too?

I used an Antec case that was emptied from a previous build/upgrade (Mercury).  Although the hard drive etc. was moved to the new build, what was left were bare bones of a still useful PC.  I was determined to get it into the hands of someone who could make good use of it, not have it sit around gathering dust or wind up in a landfill.

The P.L.C. Organization is Born

In the past, I’ve had trouble finding donation places that would take computer parts.  Mostly they just want clothes and small appliances that can be directly resold at their thrift stores.  I’ve not found anyone in the area who did this kind of thing: produce working computers from leftovers or nonworking systems and salvaged parts.

I’ve been wanting to “do something” along the lines of humanitarian/community support work, and resolved this New Year to find something that works well for me where I can make a difference.  So… maybe this is it?  I can do this kind of work, and organize and coordinate others who are interested or have old computers to contribute.

I was pretty sure I had enough to get this machine working.  I had previously, not too long ago, given away a drawer full of old hard drives (Salvation Army took them, but I don’t know if they ended up doing good or in the trash after all), and now wished I had one.  I thought I might reach out to a local computer-oriented club if I was short anything, but I ended up making it work.  I was determined to use only reclaimed and salvaged parts.

The Recipient

Assuming I got a working machine running, how would I find a worthy person to bestow it upon?  Meanwhile, I had been going through the application to become a Big Brother with the Big Brothers Big Sisters organization.  I contacted them, and eventually got put in touch with the Coordinator of Agency Engagement and Stewardship who reported,

We would love to be able to gift the computer to a deserving Little Brother or Little Sister. That would be a great gift as we move into the end of the school year.

Later, I found out that it’s going to a young man who is just starting Harvard, having graduated Salutatorian from High School.  I’d love to get a comment from this former “Little” if he reads this!

Computer Details — Provenance and Legacy

I call it a “pre-loved” computer because, as you can see from the earlier description, I have a fondly remembered history for it.  As an enthusiast, it is not an off-the-rack ready made PC, but is a collection of components that I’ve worked on over time.

The Great

The case is very well made, unlike the typical PC which gets bent out of true and difficult to open and close.  Tao recalls that she got it from her office when they replaced some computers, around the year 2000.  I’ve remarked that they don’t build them like that anymore and it is more like an industrial-grade case; maybe it is in fact an industrial PC.

The only issue, by current standards, is the lack of ventilation.  Other than the power supply exhaust, it has a 80mm fan on the front, behind a plastic bracket whose primary purpose is to retain full-length expansion cards.  Cards are not that long anymore, so the bracket is not needed.  The fan I had replaced with a high-end super-quiet fan of the correct size, and that fan went bad eventually so I replaced it again with another just like it.  The thing about fans is that bigger is better—more air flow and less noise, as well as better lifetime.  Currently case fans are commonly 120mm, not 80mm.  It would be easy to modify the front to hold a larger fan, discarding the plastic card retainer.  There is a grilled area on the back too, but it can’t be made any larger because of the contours.  You could also cut a large window and mount any size fan on the side (they sell up to 200mm fans for that purpose!).

If the case fan goes bad (or becomes inadequate after further upgrades), you can run safely without it if you simply leave the side off the case.  (Note that the CPU fan is quite mandatory.)

When I upgraded to the current “guts”, the ventilation issue was kept in mind.  The CPU is a low-power (as it watts) model, and the built-in graphics don’t need cooling like an add-on card does.  The high-quality case fan gives better air flow than the original, although the same size, and is quieter too.

The case is very good, and can easily outlast the other components and be used again and again.  Though it may need some modification for a larger fan, or be home (again) to a low-power system.

Likewise, the power supply is top notch.  I read this article from Tom’s Hardware at the end of 2002 which exposes how most power supplies are poorly made and cause problems.  I noted the short list of those which proved worthy.  Interested in both reliability and silence, I also looked up power supplies in SilentPCReview and took the intersection of both lists:  Seasonic.  I’ve insisted on Seasonic power supplies in all my builds ever since.  I think they may make power supplies that are branded by others now, but I still order a name-brand one even if some other one at Frys looks like it’s the same model really.  They might make them cheaper as ordered by an OEM.

So, the power supply will outlast this motherboard, and should not be thrown out until it is really dead, or the motherboards change enough to no longer be compatible.

The Pretty Good

When I needed to upgrade the motherboard in 2008, as explained earlier, I found a suitable CPU on-sale at MicoCenter.  The CPU is an energy-efficient model Athlon X2 (“Brisbane” if I recall correctly) with a TDP of only 45W.  So, it is easy to cool while keeping quiet.

The motherboard is a Gigabyte GA-MA69VM-S2.  It has on-board Radeon graphics, and high-speed LAN which is a feature I was looking for.

It has 4GB of RAM, which maxes out what (non-Server) 32-bit Windows will take.  Actually, a 4GB Windows machine will show more like 3½ because of the area used to map the graphics card’s aperture.  With the built-in graphics, it uses the same RAM so it is not wasted; I find that configuration particularly elegant.

There is room for another pair of DDR2 DIMMs on the motherboard.  It is an interesting story that 32-bit operating systems can really handle up to 16GB of physical RAM, based on the way the x86 virtual memory tables work.  Windows XP pre-release did allow more than 4GB, but it was restricted to 4 in the release version for desktop (non-Server) editions because of problems with driver compatibility.  I mention this because I suppose that Linux does not have this same limit.  Or, you can install 64-bit Linux which is also free.

The optical drive is a DVD writer made by BENQ.  I was less-than-successful disassembling the front panel when I painted it black for a custom build, so now the front panel is missing.  But other than that, it works perfectly.  (Of course, because of its age it doesn’t know about Blu-Ray.)  I chose the BENQ brand because it has special firmware enhancements that lets you pre-test blank media before using it.  I had trouble with DVDs I made becoming unreadable after a while, so I investigated what media is good quality without being super expensive and qualified the discs before burning.

The Webcam is an early Logitec model.  Tao uses it to talk to family in China every week, and it’s always been just fine for that.  I was quite annoyed when I found that there was no driver available for Windows 7!  They orphaned it!  Yet, the latest Ubuntu recognized it during installation and offered to take my picture for the User avatar.  So it stayed with the old computer, where it still works.

Tao was an earlier adopter than me for LCD displays, because she liked them better than bulky CRT, while I preferred higher resolution and professional color, and 21″ CRTs became cheaper than even a mid-grade LCD.  The LCD display included is, I recall, the first one we bought.  They seem to have been better made in the early days, based on how many I’ve broken since.  This has served as a spare when “modern” cheap HD panels have given out, but I fear it won’t work on new systems that no longer support the analog VGA D-SUB 15 connector.  So I decided to pair it with a computer that I knew could make full use of it.

The Mediocre

I found a PATA hard drive in an external enclosure that I had been using for backups.  Now I use bare SATA drives in a dock, so I could retire this one and pass it along.  The speed is poor by current standards.  In testing the assembled PC, I noticed a lag (compared to what I’m used to now) for programs to start up; but then they were just fine to use once they launched.

The Missing

I don’t have a mouse or keyboard to include.  I thought I could pass along an old keyboard with a PS/2 connector that I’ve been keeping as a spare, but discovered at the last minute that Mercury (my main work computer now) needs a PS/2 keyboard to get into the BIOS screen when clearing the BIOS settings!  A USB keyboard won’t let you press the F2 required to continue!  I tested the setup with both the PS/2 keyboard and a USB keyboard, so I know it’s ready to use either.  I grabbed a mouse from another computer to install the OS and test.

Free Software

I installed Ubuntu, which is the dominant consumer desktop Linux distribution.  I found this link, 20-things-to-do-after-installing-ubuntu1210-quantal-quetzal, which I pass along if you are reading this.  I’m a fan of both Libre Office and Firefox, and that pretty much covers what you need for serious school work.

In Conclusion

After reminiscing upon the components I’m passing along, I’m more glad then ever that they will find continued use and not simply be trashed.  I hope this inspires others to do the same.  In particular, computer enthusiasts may buy good stuff that will last, yet paradoxically upgrade again before it is strictly necessary.  If that describes you too, I hope I might inspire you to keep your still-good stuff working somehow rather than gathering dust.