Robert Hahn

inspired by integration

I'm always interested in infrastructure that brings people together and facilitates communication. I'm currently exploring social software, markup & scripting languages, and abstract games.

Home | In This Site … | Google Thread
noted on Thu, 30 Jun 2005

New Keyboard Fun

So, a week or two ago, I ordered a Kinesis Advantage USB keyboard because, after a little research, found that it was the best there is for reducing arm and hand strain. This action was precipitated by what I think was an RSI-related attack.

I’m still not quite up to speeed on it, but I think most of that has to do with the fact that I’m not doing the exercises daily. There’s a lot of exercises to do, but I can certainly see the value in doing them.

Because I haven’t been doing my exercises, I have no muscle memory for the placement of the arrow keys. Since, when editing text, I often use keyboard shortcuts to move around by word, or to jump to the beginning or end of a line, this was a serious productivity hit. Fortunately, I was able to come up with a solution that I think was pretty clever.

One of the neat things about this keyboard is that you can program macros into it. I can program almost any key, or key chord to type one or more characters on the screen. I put this feature to good use. vi(m) fans might be tickled by this. I mapped the hjkl keys to the basic cursor keys. Shift-hjkl will select the text as you cursor around. The w and b keys are for advancing forward a word or going back by a word. The d key deletes a line. a and z take you to the beginning and end of a line, while A and Z select from the cursor position to the beginning and end of a line. So: not exactly vi-like, but the mnemonics are easy enough, and it works well with all GUI apps. There is one minor drawback however, and if anyone has an answer to this, feel free to contact me. In vi, you normally have to shift between normal mode and command mode with the escape key. On this keyboard, I have to hit Program-F10 to toggle macro mode on or off. This isn’t a big deal, since my productivity got a huge boost, but taking a moment to find those keys do incur a bit of a cost.

So: a hearty recommendation to vi-lovin’, Advantage-using people - use your vi muscle memory on all your apps by spending a bit of time setting up macros for your keyboard. You can thank me later when you do.

noted on Wed, 22 Sep 2004

"Intellectual Heritage"

Tim muses briefly on how he thinks about the data on his computer. If there’s ever a time and a place to have this kind of thinking widely deployed, it is now. So I make a lazyweb request: If you’re a designer, I’d like to see a t-shirt that has something like this: On one side, we have a 2 column chart. The headings for the columns will be “You:” and “Me:”. Under the “You:” heading is the phrase “data”, or “office documents”. Under the “Me:” heading is “Intellectual heritage”. On the back, I want it to say something like “You created it. Why should the software you use own it?”

Gah, there’s a reason why I’m not in marketing. Look, if you need a clue, here’s a good one. You create something using commercial software, which you don’t own, but is licensed to you by the vendor. Odds are pretty good that the software you use isn’t the best at doing anything you might need it to be good at. Maybe you love a certain word processor’s UI, but hate the way they make you build tables in the document. If you saved your document using that software’s proprietary file format, you will have to use the crappy table layout feature. On the other hand, if you could save it in an open, publically documented and standardised format, then you can shop around for any other program that just might do tables better than the first program, and use it just for your tables. You get to do whatever you want with your creation. If that’s not freedom, I don’t know what is.

One not-very-related thought that Tim’s musings brings to mind is that this is so important, that for almost none of us to have gotten the point right away must imply that our mandatory history classes have failed to teach us some important lessons. Lessons about racial memory. Lessons about how much we can’t learn because information was truly, permanently lost to us.

noted on Mon, 13 Sep 2004

I'm On a Blogroll!

Extra cool. I would just like to say I’m tickled pink over the fact that I’m on a blogroll. Please go visit Douglas Nerad’s site and have a lookabout. I must say that on the basis of the book he’s currently got listed in the ‘read more’ section, he also has excellent taste in literature. The book, which I shall mention here for posterity’s sake, is Orson Scott Card’s Characters and Viewpoint (Elements of Fiction Writing)

noted on Fri, 13 Aug 2004

Line Art

I have never seen anything quite like this before. It’s gorgeous, it’s mesmerizing, you have to see it. Check out this series of prints as well.

I’m so trying to figure out how I could do something like this using Photoshop/Illustrator. I know they’re using custom software to build that, but I’m wanting to get in on that style of work for myself.

If I were to create works like that using low-tech techniques, how would I do it? Pencil crayons, chalk, or pastels won’t work; you can’t draw a lighter color on top of a darker one. Paint solves that problem, but you can’t keep the lines exactly the same width.

It would be possible to construct it with actual thread, but then the difficulty lies in figuring out how to fix the image in place.

If you’re a creative type, I’d love to hear your suggestions!

noted on Thu, 06 Nov 2003

Introducing the Handbook for Primitive Living

My good friend and I are starting up a new blog :

Imagine if tomorrow you had no hydro, no running water, no fuel, no phone. How could you survive? This site is a thought experiment designed to answer that question.

Some details (like how to contact us) are still being ironed out, The site has settled down a lot recently; you’re welcome to take a peek inside!

noted on Wed, 05 Nov 2003

Cougaar: An Open Source Agent Architecture

I saw this on Slashdot today.

I will admit: This is a bit over my head. But I think it’s important. I’ve always been fascinated by anything related to emergence ever since I read this O’Reilley Article, and while part of me thinks that this must be a brilliant solution to a problem we don’t have (mostly because we’re solving the problem in a bad way, I suspect), I feel certain that software development will be headed this way.

I’m glad, though, that the Cougaar website was kind enough to define what a software agent is — it seems to be one of those slippery terms like (wait for it) web services that has a different definition depending on who’s doing the talking. I’m also glad they put a link to two other sources where you could learn more.

The little bit I did read suggests that software agents may be the solution to a problem I’d like to see solved: the slashdot effect.

I love the idea of P2P. BitTorrent is on my ‘cool’ list. But I don’t use it because the kinds of data I’m interested in are textual data. Web pages. E-books. Stuff to read.

So I’m wondering if agents are the way to solve sharing small amounts of data, and maybe create a newer (commercial free?), robust, slasdot-effect-proof web space. I envision two, maybe three kinds of agents - one is a proxy for storing stuff, and one is a seeker for querying other proxy agents for a URI, and failing that, going to the regular web to fetch the source. A possible third agent would probably need to advertise what’s in a proxy. If a group of people had these three agents installed on their machines, and any one of them were to make a URI request for a file not in their proxy, then that person’s computer’s seeker agent would make a request to everyone else’s proxy agent. Proxy agents either return the data (status 200) or return a 305 Use Proxy status if they’re too busy to send data.

Not thoroughly thought out, and I’m seeing some of the influences of BitTorrent’s design decisions written in here (which is probably ok), but I think this is workable.

Feedback, of course, is welcome.

noted on Wed, 03 Sep 2003

Real Maps

Geoff Cohen apparently had things to say about the way maps are being drawn today.

Then he came up with this really cool idea about maps being more dynamic - for example, using technology, we can load up a map file, and illustrate where borders were at any time, or show border disputes, or show the location of friends.

Hmm... this sounds like a great problem to solve using SVG There are, of course, some challenges. Almost all of the good maps are copyrighted, and those copyrights are judiciously enforced. I seem to remember reading somewhere that the way they can tell you copied ‘their’ map is by deliberately introducing inaccuracies into the map in the first place!

Perhaps a good starting point would be to trace this image and get people to upload GPS coordinates for border points. Does anyone know where there’s a public-domain repository of political boundaries?

tall ship