Arcane Software: TouchCursor – For us keyboard geeks!

I hate to sound like an advertisement, but I recently found some software that absolutely rocks and I just have to share. I have to confess that I’m a “keyboard freak”. I hate having to take my hands off the keyboard, so much so that I bought a Lenovo keyboard with the touchpoint mouse cursor to use on my desktop, just like what you’d find on an IBM Thinkpad.

Now I’ve found some software that even further reduces the number of times I have to move my hands away from the home position to reach for those awkward keys, such as the cursor keys. It’s called TouchCursor, available at http://touchcursor.com.

What they do is use your space bar like another shift / ctrl / alt key. They then combine the space bar with the letter keys to emulate the odd keys like cursor, page up, etc. For example, space bar + I moves up one line. Space bar + K moves back down, space bar + J moves left, and so on. Here’s the default mapping (graphic courtesy of their site):

This is wonderful stuff, no longer do I have to move my hands off the “home” position to move the cursor around. And even better, the software is completely configurable. I can change the key combos to anything I want, and even add new ones.  It also works perfectly with existing key combos like ctrl, shift, and alt. For example, SHIFT + SPACEBAR + L is the same as SHIFT + RIGHT ARROW.

Now, you may think “well what if I have that odd program it doesn’t work right with?” No problem, the software allows you to turn off the functionality for specific applications. For example, I found it behaving a bit oddly with Virtual PC sessions (probably had something to do with both the guest and host OS wanting to look at the keyboard), so I disabled it for Virtual PC and just run it inside the VPC guest. Or you can take the reverse tactic, and only enable it for certain apps.

It really looks like they have thought of everything, all the little tweaks you might want to do with the software are available for you to do. I’ve been testing this with both Vista and XP and it works great on both platforms.

TouchCursor is shareware, you can download a copy and try it out for 30 days with no nag screens or any other crippling feature. The cost is only 20 US Dollars though, well worth the investment (I just sent in my 20!). For your money you get tech support, lifetime upgrades and permission to run on all of your computers. Not to mention the good feeling of helping out a worthwhile product. All that for 20 bucks? Count me in.

This is a really creative solution for increasing productivity at the keyboard. Rarely do I fall in love with a piece of code, but this product has made my very short list of “must have won’t operate a computer without it” software. I highly recommend trying it out, and using it for the full 30 days. It does take a little getting used to, but once you get the hang of it you won’t want to operate a keyboard without it!

Standard disclaimer: I have no financial affiliation with Rare Pebble Software, the folks who make Touch Cursor, other than being a customer. I receive no consideration of any kind for this mention. I just think it’s some awesome software and wanted to share.

PS Sorry for no post yesterday, it was a business travel day and I got home much later than I anticipated.

Arcane Thoughts: Thinking Inside the Box

Today I’m at an offsite meeting, talking about a new project. I won’t get into too many specific details, but we have to pull data from a web service and update an Oracle database. We can use a vendor provided Java API that runs on a Unix box to do the updates, or we can write to the database directly as long as we handle integrity issues.

So we spent the day brainstorming, to come up with possible solutions. Here is the list of contenders:

  • Write a Java app that runs on Unix that uses the vendor API’s.
  • Write a Java app that runs on Unix and updates the database directly.
  • Write a C# app that runs on a Windows Server, where a Batch Scheduler will kick it off.
  • Write a C# app that runs as a Windows Service under XP (we haven’t taken the Vista plunge at work yet).
  • Write a SQL Server Integration Services package that is run by the SQL Server job scheduler. It will use the web service as the input and update Oracle.
  • Use one of the above methods to pull the data then let BizTalk process it from there.

We haven’t made a decision yet, and my point was not so much to talk about the pro’s and cons of each solution. Instead it’s to get you to think creatively when it comes to new solutions for your company. Sitting down and cranking out yet another C# or VB.Net app may not always be the best approach. You may have a task you can accomplish with less code by using SQL Server Integration Services. Or maybe BizTalk might fit the bill.

All too often as programmers our first answer to any solution is to pull up Visual Studio and start grinding out code. Take some time though, to explore a few other options. There’s a rich set of tools out there, and sometimes the best solution to a programming problem may not be programming.

Orcas and SQL Server Compact Edition

The new beta of Orcas (the next version of Visual Studio) is now out. You can download it either as an installer or as a Virtual PC image. I opted to download the VPC image (I would have put it in a VPC anyway, so why not save some work?).

The main info page for Orcas is at http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx or http://shrinkster.com/oqp. From there you can pick the download type you want. As I mentioned before, there’s an installer version and the VPC version. If you have a spare machine lying around, you can use the installer, otherwise I highly recommend the Virtual PC version. (I grabbed the Visual Studio Team Suite Only – VPC).

It’s very very VERY important you completely read the instructions. Did I mention it was important to read the instructions? Well in case I didn’t, be sure to read the instructions.

There’s actual two VPC images you have to download. The first is named Orcas, the second though is called BASE (it’s in an exe). When you run the Orcas VPC the first time, it will ask you to point to the base VPC. In addition, you will need to know the user id and password to login, both available on the download page and buried in the instructions. (See, I told you it was important to read the instructions!)

Like most people playing with Orcas, the first thing I did was tested what I already knew. In this case, I loaded in some of the SQL Server Compact Edition samples I’ve published here in the past few weeks. Most notably the code in my post on April 13th (http://shrinkster.com/oqq).

In some ways I wish I had a lot of new technical content to share with you. Harrowing tales of how I was able to fight the bugs and to conquer the evil things lurking in Orcas. But I can’t. It just worked. And, I’m happy to say worked without any flaws. I didn’t have to install any special add-ins (Orcas comes with SSCE assemblies preinstalled) or make special references.

I’ll keep playing with it, but for now I’m quite happy to report that while I don’t see any radical changes with SSCE in Orcas, I don’t see any issues so far either.

Arcane Thoughts: Honorable Mentions

In reflecting on Friday’s post, I realized there are a few people who I consider “heroes” in the tech world, but aren’t programmers (or at least it’s not what they are primarily known for). I thought they deserved a mention, hence today’s post.

Leo Laporte

You may remember Leo from the MSNBC, then TechTV channels doing shows like Call for Help and The Screen Savers. Today Leo runs the successful TWIT Podcast network (http://twit.tv), producing many helpful shows on the state of the tech industry. His relaxed but informative style is a pleasure to listen to.

Patrick Norton

Patrick was Leo’s co-host on The Screen Savers. This guy knows hardware. Today he still has a TV show, only you can download it and watch it at your leisure. At DL.TV (http://dl.tv/) Patrick, with co-host Robert Herron puts out a bi-weekly show reminiscent of the Screen Saver days. They look at the latest tech, answer viewer questions, and provide useful info.

Steve Gibson

What a treasure Steve is. Each week he and Leo have a show on the TWIT network called Security Now (http://www.twit.tv/SN). I have learned so much about the way networks work, ways to secure your computer against attacks, each week it’s like attending a doctorate level course in networking and security.

If his name sounds familiar, Steve is the same Gibson of Gibson Research Corporation (http://www.grc.com), the guys who do Sheild’s Up (for testing your computer’s security) and SpinRite, the disk recovery tool.

And there you go, a few guys who deserve a mention for their contributions to the tech community.

Arcane Thoughts: Programming Heroes

When Jeff Atwood was on DotNetRocks recently, he mentioned his programming heroes. It got me to thinking back on some of my own heroes, and thought what the heck. So if you’ll indulge me as I head down memory lane…

My Dad

I guess my earliest hero was my own dad, Ron. He brought home a TRS-80 Model 1 when I was around 12. He wrote a little Star Wars game on it (all ASCII graphics) in BASIC. His downfall was letting me, an clueless kid and geek in the making get his hands on a 2000 dollar (US) computer to play the game.

And not just that, but letting me go in and look at the source! I wound up having more fun tinkering with the source code than playing the game. Primarily I hacked it to make it harder for my sister to win. 😉 But it set me down the path of software development, and so for being crazy enough to let a 12 year old kid put his hands on one of the earliest of the home computers, Dad makes my first coding hero.

Mark Westbrook

I mention Mark’s full name in hopes he’ll find this and give me a shout out. I knew Mark when we lived in southeast Alabama together, he was the first guy I ever met who was really passionate about programming. He ate, sleep, and drank computers. His house was just a place to keep his computer, an IBM PCjr.

Mark was the guy who reinforced my belief in software as a craft, an art form, and not just a 9 to 5 job. To say he was an enthusiast was something of an understatement.

Ethan Winer

For those who don’t remember Ethan (http://www.ethanwiner.com/index.htm), you may recall his company Crescent Software. Crescent made all sorts of really cool libraries to work with QuickBasic. His stuff rocked, and made it possible to do really serious (and cool) things with QuickBasic. I remember writing several TSR (Terminate and Stay Resident) programs with one of his libraries.

Dan Appleman

Most people include Dan Appleman because of his Win32 API book for VB Coders, but for me it was his book “Developing ActiveX Components With Visual Basic 5.0: A Guide to the Perplexed” which put him into the hero category. It was after reading this book I felt like I’d turned the corner into true understanding of a lot of the guts behind VB and COM.

Carl Franklin

Back in the early days of VB there was one place to go for all your really good VB Tips: Carl & Gary’s. My memory is a little foggy, but about the time I found the site Gary took a sabbatical and Carl picked up the bulk of the work. (I don’t have anything against Gary, he just wasn’t around.) At any rate, I learned so much and got so many cool coding tidbits Carl makes the list as one of my early heroes.

Dan Fox

Dan Fox wrote a book called Pure Visual Basic (http://shrinkster.com/opa), back in the VB6 days. This was a great book, because it contained everything you needed to know to write professional level applications. It was great both for teaching and as a reference.

I used it to teach a series of VB6 classes that started at the basics and went all the way through to advanced topics, and for the entire series Dan’s book was all I needed. At work, I used it as a reference to look up the “how to” for those things I didn’t do on a daily basis.

Bill Vaughn

No list would be complete without the original database Hitchhiker, William R. “Bill” Vaughn. His books over the years have taught me and many others the ins and outs of programming against the database, primarily SQL Server. His early works combined with his current (and fabulous) version of the Hitchhiker guide and SQL Server Compact Edition E-Book make Bill a hero, and a good transition from my early heroes to my current ones.

Deborah Kurata

Much like Bill, Deborah has been around a little while writing books since the VB5 days. She has turned out many books on objects, and still continues with one of my favorites, her “Best Kept Secrets of .Net’ book (http://shrinkster.com/oph). I’ve also heard her speak at conferences, and was impressed with her depth of knowledge and instructional capability.

Carl Franklin and Richard Campbell

Carl gets to make the list twice, this time with his cohort Richard Campbell. Their work on Dot Net Rocks (http://www.dotnetrocks.com) has taught me an incredible amount on the .Net world. I also have to get shout outs to Rory Blyth and Mark Dunn, Carl’s earlier co-hosts, as I’ve been working through the older shows. When I started listening though, Richard had taken the co-host helm.

Through the podcasts I’ve been exposed to so much good info, and gotten to do it while stuck in traffic or stopping at my local grocery store. Great job guys!

Mark Miller

My final, and most current coding hero is Developer Express’ head of developer tools, Mark Miller. I first saw Mark at VSLive in Orlando. He wasn’t just enjoying himself, he was excited about writing code. Not since my old friend, the afore mentioned Mark Westbrook have I seen anyone that passionate about writing code! (Maybe it’s something about the name Mark?)

His presentation was also one of the more useful I’ve ever seen, it was on practical ways to measure the user experience. Measuring the number of twips a mouse had to move to click various user elements, for example.

After the show I went and watched him at the DevExpress booth, and wound up standing for an hour watching Mark and his coworker (can’t recall if it was Julian or Dustin, sorry) interact with the crowd.

Again, Mark’s enthusiasm continued, you could tell he was thrilled to be there demoing CodeRush and cranking out code. It was his enthusiasm that rekindled my own tech interests, and led me down my current career path. I became inspired to start blogging, and speaking at code camps and user groups.

And there you go

There’s my list, starting in my youth and working toward today. I thank you for indulging me in my trip down memory lane, and hope it brought up some fond memories for you as well. As for tomorrow’s heroes, who knows? Maybe it’ll be you.

Arcane Review: Don’t Make Me Think

I just completed Steve Krug’s classic “Don’t Make Me Think!” book on web usability. (http://shrinkster.com/onw to see it on Amazon.) This was actually his second edition, published in 2005, a follow up from the original done in 2000.

I thought this was a nice fit with an earlier book I read called “Why Software Sucks” (see my review at http://shrinkster.com/onx). In “Why Software Sucks” the author concentrated on bad web sites / software, what was wrong, and how you could demand it become better.

In contrast, Steve Krug looks primarily at good, well designed sites (although he does throw in a few bad ones for comparison purposes). “Don’t Make Me Think” is written from the developer’s point of view, and shows what works. More importantly, Krug explains why a particular design works. That kind of insight was well worth the cover price alone.

But even better, Krug covers the concept of usability testing, and explains how you can do usability testing on your own website at little cost (or even no cost if you have a few friends and family members you can victimize!). If the insights I mentioned previously weren’t worth the cost then this one chapter alone, with it’s scripts and suggestions, certainly justify it.

Finally, this book was a quick, enjoyable read. Right around 200 pages and many, many illustrations made this a fast book. Steve Krug’s humor and writing style made it an enjoyable way to spend an evening or two, and I even managed to learn something in the process.

Standard disclaimer, I make no money off sales of the book, yada yada yada. Just thought it was a good read.

SQL Server Compact Edition To Be Shipped With Windows Mobile 6.0!

I was relaxing Monday evening, watching some of Channel 9 videos I’d downloaded (yeah, I know, but I really do find it relaxing). In this video on Windows Mobile 6: http://channel9.msdn.com/Showpost.aspx?postid=303900 Rory is interviewing Mel Sampat who showed off some cool stuff with Windows Mobile 6.0.

One of the coolest things is that WM6 includes both SQL Server Compact Edition and .Net Compact Framework 2.0. What this means for you as a developer is that you don’t have to worry about deploying all the SSCE plumbing. How sweet will that be!

They also demoed some cool voice capabilities that you have to see. Very very awesome.

Now if they’d just hurry up and release Windows Mobile 6!!

The New Yankee Programmer

I don’t watch much TV. By “watch” I mean step away from the computer and turn on the big screen and stare at it without interruptions. By “much” I mean 3.5 hours a week. 1.5 hours is basically one long show, the This Old House / Ask This Old House / New Yankee Workshop block my local PBS station shows on Saturday afternoon. (Although thanks to my DVR it’s usually Saturday night when I watch.)

Of the three I think The New Yankee Workshop is probably my favorite. For those unfamiliar with the show, each week master carpenter Norm Abram takes on a new wood working project that is both beautiful and functional. Some of the things he says though lead me to believe that Norm Abram would make a great programmer.

“…as you can see in the prototype…”

Norm starts every episode with a prototype piece. He uses it to work out the kinks of the project he’s building. He refers to the prototype while he builds the main project, shows you what he did. How much better could your programming project be if you created a prototype before starting your main project.

“…this stain really makes the details pop out…”

Norm understands that so many times it’s the small details that make the difference in the success of your project. I can’t tell you the number of times I go use an app and try to tab to the next field and instead my cursor jumps elsewhere. Small oversights like not setting correct tab order can really make an impact on how your application is perceived.

“…while the glue dries, I’ll work on the lower half…”

Norm’s great at multitasking. When he gets to a point where he has to stop working on something, he has something else ready for his attention. How often have you gotten stuck, waiting on a DBA to make a change, or someone to supply critical information? Always have a backup plan, something else you are ready to work on while you wait.

“…for now I’ll just dry fit these pieces…”

Frequently during the project development Norm will fit the pieces together, without glue, just to be sure they are going to fit together. In the software world this clearly parallels the concept of continuous integration. Check in your code regularly, do daily (if not more often) builds to make sure everything will fit together.

“…here in my well equipped workshop.”

Norm has tools. A lot of tools. He’s got a huge drawer with nothing but routers! The point is, he uses the right tool for the job. Make sure your coding toolbox is well equipped. I don’t know any .Net coder who can use just Visual Studio to get his job done. Check out add-ins, third party components, etc. to make sure your toolbox is full.

“…we’ll make the cut using our home made jig.”

When Norm can’t buy the tool he needs, he builds it. Over the years he’s shown how to build many types of jigs in his workshop. If you can’t find an add-in or control that does what you want, build your own. Take time to learn how to write macros, Visual Studio Add-Ins, or your own reusable controls and code libraries. Like Norm you’ll use these tools over and over.

“Be sure to read, understand and follow the safety instructions that come with your power tools…”

Norm starts each show with the classic warning to be careful. Visual Studio is one of, if not the most powerful programming tools around. Take some time to learn how to use it. Spend an afternoon and go through all the menus. Use online help to look up the commands you aren’t familiar with. You’ll save yourself a lot of effort by investing a few minutes in learning the commands available to you.

“And remember, there’s no more important safety rule than to wear these, safety glasses.”

Norm reminds us each week of the importance of safety. While I’m not likely to cut off a finger or poke out an eye using a mouse, it is important to remember to use your computer safely. Take breaks about once an hour. Get up and move around. Save your eyes, look up from your monitor, glance out a window. Flex your hands, move them around.

I don’t know how many times I’ve been doing some heads down coding, not realizing 3 hours had flown by until I took that sip of cold coffee (yuck!). Not good though, my back gets stiff and eyes get tired. Listen to Norm, wear your safety glasses.

Norm Abrams, New Yankee Programmer

Each week Norm uses his creative skills to craft a beautiful, yet functional item out of wood. As developers, we (hopefully) craft (and I do think coding is a craft) beautiful yet functional applications for people to use. Norm would have made a great programmer. I’m just glad he sticks to wood working, I don’t think I could handle the competition.