Thursday, January 31, 2008

How To Perfect the Keyboard and Mouse

This is my dream so don't squash it for sounding trivial. This is my window to the world, the tools of my job, and the outlet of my creativity! I want the Perfect Keyboard and the Perfect Mouse.

  • Operate as NiMH battery chargers when plugged into USB for power
  • Lighted keyboard to type in darker conditions. Must be adjustable
  • Must be configurable to PC and Mac layouts
  • Would be handy to configure to DVORAK layout, as well
  • Retractable USB cables
  • Keyboard functions as USB hub, even wirelessly
  • Scroll ball instead of a scroll wheel. I do love my Mighty Mouse
  • Weights for mouse, with storage in keyboard
  • Trackball (or even a nub) in the keyboard to lean back and browse with
  • Splittable keyboard with locking adjustments
I am going to spend the rest of my life replacing perfectly good keyboard and mouse combos if no one solves this simple list of requirements.

The adjustable keyboard is probably the hardest part, combined with the other requirements I want fit into it. I'd like to pull the keyboard apart at a split, adjust the angle, and lock it into positions. The numpad would be handy to detach or just adjust, but it doesn't bother me as much.

I use a cheap Micro Innovations set right now, and they serve me well. I use the new slim apple keyboard and a Mighty Mouse at work. Everyone else at the office hates the Mighty Mouse, except one girl upstairs who I do not know. I have taken my place as maintainer of these holy relics, so that I will always have them to love upon.

Looking at the current market of adjustable keyboards gives my wallet a sharp pain in the money fold. Not that I need permission from the little lady to make such a purchase, but she's said there is no problem. I think she just wants me to bitch a little less about hand cramps and joint pain. No trouble in the wrists that would point to something serious, so don't worry. I Always use a wrist pad and meticuously adjust my keyboard, pad, and chair to keep the arms at the best position. I'm a stickler for ergonomics, and its the arms and hands that get the bulk of that attention.

Stay comfortable, people.

EDIT September 9, 2009 I moved onto a Logitech EX110 set a couple months ago and the feet already cracked in half and broke off, simultaneously. I am getting by with a flat keyboard for the moment and have made the decision to get a Kenesis Freestyle, but I haven't decided on the details yet. Has anyone tried these? Can anyone recommend good setups with them? Alternatively, can anyone suggest other makers of two-part keyboards, maybe even with wireless models?

Saturday, January 26, 2008

How To Expose the Guts of Twitter (A post about Starling)

Twitter does a lot of queuing. I mean, a lot. We know other people have a need for some good queuing, so much that Amazon even released Amazon Queue Service, not so long ago. There has never really been a common queue server, and maybe that is because its so simple that no one has really had the need to push one hard into the public eye. At least, as public as our eyes are.

Enter Starling, the internal queue system of Twitter, recently released to the public. Written in Ruby, and I don't even mind! Pointed there by my ever-pointing buddy, David Novakovic, Starling does nothing absolutely remarkable, but someone has to get the light. What is interesting is their choices. Starling uses the MemCached protocol, so your clients are probably already prepared to use it, they just need to treat the queues a little different from the mappings. The typical MemCached get-operation now removes the item from the queue. The keys function is identifiers for the queues. I don't think it could have been simpler. I'm planning to look at setting up Starling for testing on my linux servers and my Macbook, and to try and find something interesting in the way of using it. I have some plans I could utilize it in, and maybe bring it to the office later.

Now that Starling has some attention and gives us something of a standard for queue protocols (I love reusing protocols!), if anyone has different needs or just wants to scratch an itch in their language of choice, lets make the smart move and take the same protocol route. Queues may be a small thing, but its the same things we really need to agree on more. Anyone up for a MemCached-protocol to Amazon Queue Service bridge?

Tuesday, January 22, 2008

How To Blog For Choice

So I vowed to write more and blog more and the year has plenty of time left in it, so don't worry about me. The past month has been amazing, and that's why I haven't had the time to write. I'll be scheduling it soon, so a resurgence in content is imminent. I try to keep on my tech topic, but I do far too little activism on the things I believe in, and its high time I changed that. Don't worry, politics will not become a staple of this blog, but I'm likely reviving my personal blog. But, no one reads that, so how vocal can I be about something with no readers?

Today is Blog for Choice Day

Blog for Choice Day

We're supposed to be a logical bunch. We spend out careers thinking about things and being intelligent. When you think about something long enough, there are obvious realizations that everyone comes to. People that think about tracking version changes all realize you need goof version control. Any group of people trying to coordinate understand the need for issue trackers. Software is designed in chaos, but a small bit of thought leads us all to the same conclusions.

Do we reach the same ends outside our industry? Is thought universal? There are a lot of things in the world that people take for granted, and that those who think about for some time come to the same conclusions of that the non-thinkers just don't understand. There is no secret that the more educated a person is, the more likely they are to be atheist. Health conscious members of society are more likely to wander away from the steaks and mix up some soy-shakes.

Is it any different with the right for a family to decide when they grow? I can't see the logic and forcing every mistake to live through a strained budget, a broken family, or to drag down the life of an aspiring teenager. Life is a precious miracle and the biggest way we can waste it is to let it find its way in the inopportune spots of the world. We don't do the gift of consciousness any favors by making it deal with a life that didn't have room for it.

The wrong-right won't even budge to save the life of a mother that could go on to birth more, healthier children. They think its somehow more humane to bring broken babies into broken familes, and take teenagers who made mistakes out of school instead of giving them a second chance to build a life with a family the right way. They can call choice supporters baby killers, and I have a friend who does just that, but all they support is inhumanely putting babies into doomed lives.

Think about it.

I was an accident.

Friday, January 04, 2008

How To Walk Backwards to HTML 5: Follow Up

This is a follow up to my first How To Walk Backwards to HTML 5 article. The one comment I got in this first Twenty-Four hours pointed out a lack of explanation on my part for a few things. I know about the current HTML 5 specification. I've read most of it, reviewed plans and others' reactions, etc. My views on HTML 5 are not out of a lacking of knowledge, but are a reaction to my knowledge of HTML 5.

I think what HTML 5 looks to be shaping into is the wrong direction.

The creation of the layout specific tags is a response to what was coined "div hell", but it isn't the right solution. We all have different needs for what we need HTML to represent and it gets abused into representing everything from resumes to tetris clones. Abandon schemas and doctypes and just let us write the tags that have meaning for our cases. Hey, we can do that with XML namespaces! Give us to the tools to discover formatting and layout rules and control the pages intelligently.

If you need an article tag, fine. Use it and have fun, but maybe it just doesn't do anything for me.

The need to post this article was rekindled when my colleagues spent the better part of twenty minutes debating the default rendering properties of the paragraph element. Can you imagine when we start adding even more layout and content specific tags to the new spec? The result is going to be disastrously inconsistent, because there is just more to be inconsistent about.

Thursday, January 03, 2008

How To Start 2008

So this is my obligatory start-of-2008 post. I know I haven't written much lately, but work was busy and then there was the holidays, and I'm making a commitment to really revitalize my blog. Part of that may be that my adsense, after years of blogging, as only hit half the required minimum balence for payment. But, I'm not in it for the money. Not unless there was a lot of money in it!

For 2007 this means... that I need to wrap up the last year

We moved back to North Carolina when the Pennsylvania winter cleared up, and I'll admit that the summer was a bit rough. I lost my most steady contract when funding went sour, shortly before the movie, but you know what? Staying home with the family was great without a lot of work to be done, and we got by OK. I enjoyed the time.

After a while, I started CharPy, the Charlotte Python Group. We're still small and growing, but the first meeting gave me a lead on a full-time position at SocialServe.com, where I'm now happily employeed. We're bringing the group back up, after a holiday hiatus, and looking forward to a year of expanding in any way we can.

For New Years Resolutions this means... I have some promises to make

I'm going with the usual diet and excersize. I quit smoking years ago and I've very recently become a vegetarian, so the time is ripe to really hit the health bandwagon with an excersize routine, however small but consistant. Dropping 10 pounds over the holidays is pretty encouraging.

More important to me is my new dedication to do something non-code and creative at least once a day. So, that means I'm either writing, drawing, painting, or practicing the guitar, my lost skill. I'm actually scheduling some time to read fiction, as my non-fiction reading is just consuming all my literary life.

For Blogging this means... I need to expand and focus

I'll be posting my writings on Spilt Mind and writing about what I read and watch on Mental Outlash, two blogs I barely touch. I'll try to write some personal things on my original blog, but I don't even think anyone has it in a reader or every looks at it. I'll likely do something like cross-blog linking, so be aware that posts may now contain links to recent posts in my other blogs.

For Projects this means... one of my back-burners needs to cook

Keeping all of my own projects on hiatus can't continue. I need to take one of them off, but probably not until the summer. I'm guessing my domain, jigspace.com, is going to get used soon, so look out for it.

For 2008 this means... unoriginally, I have predictions

Everyone else is doing it!
  • Kindle will be called a success, but won't be. Kindle 2 will be slimmer, cheaper, and the pricing model will drop
  • Android phones will have terrible advertising. iPhone will continue to be sexier, reguardless of any real comparison
  • IronPython will adopt the standard library and I've got my fingers crossed for this one
  • At least one major PC gaming title will release with simultaneous Mac, Linux, and Windows support
  • Glow technology will find its way into backlights
  • Cross-browser extension platforms will emerge so we can break the chains of Firefox
  • Nintendo will open up the WiiStore for indie game developers
  • Apple will open the iPhone and iTouch to compete with Android
  • Someone will release an Android compatibility layer, if partial, for iPhone
  • An over-the-counter recreational drug will be announced
Good year everyone!
I write here about programming, how to program better, things I think are neat and are related to programming. I might write other things at my personal website.

I am happily employed by the excellent Caktus Group, located in beautiful and friendly Carrboro, NC, where I work with Python, Django, and Javascript.

Blog Archive