free html hit counter

Tuesday, January 31, 2006

Running Dreams

In addition to the typical flying dreams, I've always had recurring dreams about running. Usually it's running from something or after something or some other Freudian embodiment of anxiety, but what sticks in my mind upon waking is the running part -- just effortlessly running and running.

I'll be the first to admit that I've never been in what you might consider great shape, and recently I've been in genuinely bad shape. I was never in bad shape in high school and college (in fact, I was occassionally ok, fitnesswise), but even though I've always been able to hike and walk long distances with little trouble, running has never been my thing, which is why dreams of running without gasping for air are so alluring to me.

Five weeks ago, I started off walking for 30 minutes. After a couple of days, I started running 30 seconds after every five minutes of walking. As of today, I'm running 5 minutes for every 3 minutes of walking, and it actually seems relatively easy now. In three more weeks, at the end of the eight week regimen, I will have worked up to running two miles non-stop, five days a week. After that? Stay tuned....

For those who have seen me recently, that's probably quite a shock. To put it in perspective, in a little over a month, I've gone from getting winded climbing a flight of stairs to being able to carry on a conversation while running for 5 minutes. In the past three weeks, I've lost an average of 2 lbs per week. Not a lot, and I've got much more to go, but it's a start.

(And, yes, mother, before you ask: I'm following a sane plan, I'm not overdoing it, and I'm running at the gym, around people who know what they're doing.)

Monday, January 30, 2006

Clothes Woes

Bless her heart, Heather Marie spent nearly all day today doing laundry, so that when I came home every stitch of clothing I'd worn in the past week was folded and stacked neatly on the bed, ready to be put away. She's really swell!

While putting my shirts away, though, I realized that one of my favorite shirts had shrunk in the dryer. This is a long-running struggle of mine, actually. Back in college, it eventually turned out that my shrinking-clothes-plague was due to a malfunctioning thermostat in my parents' dryer. Later, during graduate school, I'll admit that much of my difficulty stemmed from the fact that I was actually expanding. Now, however, not only am I actively getting smaller, but the dimensions in which my shirts have shrunk (not to mention the suddenness of said shrinkage) could only be explained by a change in the actual fabric.

So, my question is: Why can't they make clothes that will really stand up to the dryer? It's not as if they were super-cheap shirts (although they weren't $50 each, either). Has the bottom end of the clothing market fallen so low that the quality of the middle and high-end products has fallen as well? Where are you supposed to go to by good quality clothing?

Which brings me to a mini-rant of mine. The Fab Five can really do some great makeovers. So do the What Not To Wear folks. You know what? Give me a few thousand dollars and drop me off in New York's fashion district, and I could dress myself pretty darn well, too! I really want to see those shows come out to the middle of the country, hundreds of miles from the nearest fashion mall, and make somebody over for $500. Even if I had five grand, where would I spend it?! It's a lot of fun to watch fantasy makeovers, but how about helping the rest of us out with some tips and places that we can find and afford, huh?

Sunday, January 29, 2006

Weekend Recap

Following the rain yesterday, today was a gorgeous, beautiful day. So naturally, we spent most of it asleep on the couch. The rest was good, though.

We've been having internet connection trouble all weekend. I suspect that at least one of the following things is happening: we have a neighbor doing something bandwidth intensive, Cox Cable is having trouble (and/or performing maintenance), our wireless network is conflicting with another nearby, or someone is trying to crack our network.

Since I only have any control over the last two, I checked our firewall logs. It does look like we've been getting portscanned, but not enough that it should cause trouble for us. Just to be on the safe side, I tightened up our security a little more to cut down on the scans, changed our wireless channel (to hopefully avoid conflicts), and changed from WEP to WPA security (to make cracking more difficult). Dunno yet if it's made any difference.

Why Apple OS X is Better Than Windows XP, Reason #2849:
When setting up WPA security, I had to select a 63-character random passcode, which then had to be retyped into both our laptops. Now, it's not easy to accurately type something that long without making a mistake, and any mistake would keep you from connecting to the wireless network. Microsoft's solution in Windows XP is to hide the passcode from you as it's being typed, showing instead a dot for each character. To ensure accuracy, you have to type it twice, and then Windows will tell you if they match. That's 126 random characters without being able to see what you're doing.

Apple, when faced with the same basic problem, only requires you to type the passcode once, while giving you the option to temporarily see what you're typing. Brilliant! I love this feature!!! Simple, easy, and elegant!

It's the small details, Redmond. Look and learn.

Saturday, January 28, 2006

Un-Ozark Rain

It's been raining here all day, which is a welcome relief from the drought we've been suffering under. I absolutely love days like today, when it just keeps up a steady drizzle all day long. In fact, that's one of the things that I've always missed since moving to Northwest Arkansas. Where I'm from, down in central and south Arkansas, it's pretty typical for a rainstorm to roll up from Texas or the Gulf and hang around for as long as three days. Up here in the mountains, though, it seems that we usually catch storm lines that just finished sprinting across Oklahoma, so although we still usually get a lot of rain, it tends to be in short, intense bursts.

During a storm spotter course, I once heard one of the local TV weather guys explain that the Boston Mountains, between Fayetteville and Fort Smith, more or less mark the dividing line between Gulf Coastal and Great Plains weather systems. Since we're sitting right on the border, which patterns we experience are determined by the interplay between the jet stream and subtropical gulf blah blah blah something something...meteorology isn't really my thing.

What it boils down to is that sometimes Northwest Arkansas is like southern Arkansas and sometimes it's like northern Missouri. Today was a south Arkansas day, and I was grateful for a little homestyle weather!

Friday, January 27, 2006

TGIF

It's seemed like kind of a long week, although it hasn't been a particularly bad one.

The mouse was captured and disposed of, and we haven't seen any evidence of his relatives yet, so maybe he was a loner. Personally, I'm a fan of the idea of keeping a couple of king snakes in the garage to take care of any unwanted rodentia, but Heather Marie has consistently vetoed it.

Work was slow and frustrating this week. The projects I was working on this week turned out to be a whole lot more complicated than we'd originally expected, so that what was expected to be a quick afternoon of work is now looking more like a week-long trek. No big deal, but frustrating nonetheless. On a purely technical level, I'd estimate that I had to restart Visual Studio for various reasons at least twice a day, not counting the times that were necessary in order to install updated components. I've occassionally toyed with the idea of calculating how much time I spend during an average day compiling or searching code, but frankly, I don't think I want to know.

Hopefully I can get rested up some this weekend so I'll be ready to make next week a good one.

Thursday, January 26, 2006

Picture This

I went with a friend from work to a beginning digital photography class at Walton Arts tonight. It wasn't bad, but it was definitely a beginning class! It wasn't a total waste of time, since I did learn some new terms that I can look up in the index of my camera's manual, but that was about it. It wasn't a bad class at all, really, it just wasn't up to the level that I need. They really almost need two types of beginners' classes: one for beginners who know computers, and one for beginners who don't.

I did join the Photographic Society of Northwest Arkansas, though. The annual membership fee was only a little more than the cost of the class, and I'll get free access to some more classes later in the year, so it's a pretty good deal. In fact, the advanced class and the studio lighting class will probably be more up my alley anyway.

Wednesday, January 25, 2006

MP3 Experience

I've had my MP3 player for about two weeks now, and so far I love it. I'm actually only lukewarm on the particular model I chose, but I'm definitely enjoying the concept in general. I chose a smaller player (memory-wise) in order to get one with an FM tuner so that I could listen to the TV audio at the gym or Razorback games while on the go, and I still think that was a good choice for me.

The Creative MuVo does a great job with music and radio. The interface is reasonably self-explanatory and easy to use, even while jogging, and the sound quality is as good as one could reasonably expect in a small pocket player. The FM receiver has worked well at the gym so far, and it picks up strong FM broadcast stations with little trouble.

However, it has also become obvious that I'm going to want to get a bigger player as soon as possible. I absolutely love spoken-word audio. When I'm driving, I listen to talk radio almost exclusively. I don't mean just the typical political talk radio, I mean NPR, sports call-in, sermon broadcasts, old radio drama -- anything with people talking. That's a major reason that podcasts have appealed to me a great deal, and even though I've been listening to them for nearly a year, this is the first time I've had the ability to enjoy them away from a computer.

Even though 256 MB will hold quite a bit of music, it doesn't go quite as far with podcasts. I can get about a week's worth (depending on my drive times and gym visits) on my player at any one time, but that doesn't leave much room for music if I happen to be in the mood for something different. Also, since I use iTunes to subscribe to podcasts, transferring them from my computer to the player is far from automatic (although it's still pretty easy).

As an interesting aside, whenever I plug the MuVo into my iBook, iTunes recognizes it and mounts it automatically, whereas iTunes on my PCs does not. The computers themselves recognize it equally well, though.

Tuesday, January 24, 2006

Hurry Up

Our cable internet connection is acting flaky this evening, so this is just a quick post to keep Lance from beating me! :-) If I have a connection later when there's more time to write, I'll probably edit or remove this and put up something more worthwhile (at least relative to what I usually post).

Monday, January 23, 2006

World of Wordcraft

Have you ever wanted to just make up a word? Not a silly, nonsense word, but a real word, with meaning and style and derivation. That's where I was last week. I was writing something, and I couldn't think of the word I wanted to use. It was right there -- on the tip of my tongue -- and I just couldn't quite tease it out! I knew the meaning I needed, and I knew the connotations I wanted. I even knew the cadence and tone it should have, but I just couldn't quite think of the word.

After racking my brain for a few minutes, I resorted to Dictionary.com, where I looked up some related words, then cross-referenced them in the thesaurus. Finally, after another five to ten minutes of word digging, I found the word I was thinking of...and it wasn't right. I knew, with complete certainty, that it was the word I'd sought, but it wasn't the word I wanted. I knew what the word I wanted sounded like, looked like, felt like, but it simply didn't exist. At that moment, I seriously considered literally inventing it, but finally decided against doing so, since it might have distracted from my main point.

Later that day, I got to read through a great interview from an MIT appearance with the guys who do Penny Arcade. One quote from Jerry "Tycho" Holkins really jumped out at me:
I think of myself as sort of collecting words....I amass these words, and then make them do battle.... My word arrangement and my tone arrangement... this is probably getting too serious, but it’s super-interesting to me. I like to set up a sentence that is done about as well as I can do it, and sometimes that requires a strange or over-specific word...
What a wonderful image! Words, doing battle with each other to convey meaning! Even though it differs somewhat from my internal concept of composition, I can absolutely understand where he's coming from. Words have lives, and when you throw them together in sentences and paragraphs and pages, they form communities and cultures, all of which have personalities and flavors every bit as real to me as actual cities and towns.

Ironically, for someone who loves words and language, it's incredibly difficult to convey to other people what words mean to me. Where Jerry thinks of words doing battle, my vision is more like a dance. Or maybe marching band drill is a better analogy: They move together in unison, but in the blink of an eye, they rearrange themselves into a completely new and unexpected form. Or ballroom dance: They spin and swirl in the prescribed forms and patterns, but still manage to express their individuality with original flourishes. Or perhaps Aikido: The words blend and flow together, exchanging control of the motion until one finally completes the form and throws the other, making their point.

Poets and songwriters probably see words in a way similar to mine. Whenever I'm writing something, I concern myself with the tone and cadence as much as the meaning. See that last sentence? "Tone and cadence" had the rhythm I wanted, but "cadence and tone" didn't. That was no accident, it was a conscious decision, albeit a snap one.

I suspect that may be why I like computer programming. In code, every statement has a very specific meaning, just as no two words mean exactly the same thing. And like words, computer statements have subtexts, metameanings, and connotations, in the forms of efficiency, speed, and memory use. Just as composing a sentence in English requires finding the exact arrangement of syllables, tones, and definitions to convey my intended meaning, writing code in a programming language requires finding the exactly arrangement of commands, controls, and structures to meet my purpose. Both cases are similar to one of those big pictures that are made up of hundreds of smaller pictures, where the parts of each individual picture have to be just so in order for the super-picture to form correctly.

So, that's how words look to me, and that's why, when I can't find a word that meets my criteria, I'm always sorely tempted to create one that does. Afterall, Shakespeare did it. Unfortunately, if you're not Shakespeare, people tend to try to medicate you when you start talking about the "colors of phrases" and inventing your own new words. Too bad, because the English language is missing out on some great words.

Sunday, January 22, 2006

Quiet Weekend

We had a pretty quiet day to finish off a pretty quiet weekend. The most constructive activity of the day was finally getting the Christmas stuff (or at least most of it) put away in the attic. We also got quite a but of cleaning done in the garage. Whooo, can you stand the excitement?

It also looks like we've got a mouse in the garage. We had one winter before last, too. It's hard not to, when your neighborhood is built in (and is still surrounded by) a pasture. Heck, the coyotes come up close enough in the field across the road that you can pick out individual voices when they start yelping, and we occassionally see them off in the distance.

Anyway, back to the mouse hunt: I baited a trap this afternoon, and when it checked it a few hours ago, the bait was gone. Seems I'd set it incorrectly, allowing the little bugger to waltz off with an entire pretzel. Hope he's hungry enough to come back for more!

Saturday, January 21, 2006

TV Teaches

Heather Marie and I got to spend a relatively nice, quiet day together, mostly just watching whatever was on TV that happened to catch our eye. As a result, we've been talking about the lessons that TV (and to a lesser extent movies) teaches us about life in TV land:
  1. If you have sex, you will get pregnant. It doesn't matter if it's only once, with the pill, plus an IUD, plus a diaphram, plus spermicide, plus a condom, at the wrong time of the cycle, and after a vasectomy, you WILL conceive, especially if you're not married...
  2. ...UNLESS you really, desperately want to have a child, in which case all the powers on the face of the Earth will be inadequate to render you fertile!
  3. If you ever tell someone you love what they mean to you in heartachingly tender words during a deep, soul-searching conversation romantic moment, one of you will die almost immediately.
  4. If a bunch of guys are together in a dangerous situation (war, disaster, hunted by serial killer, etc), and one of them pulls out a picture of "his girl" and starts talking about their plans for a life together "when this is all over," stay away from him! He's wearing a red shirt while beaming down with Kirk and McCoy! Standing near him will be like holding a lightning rod in a thunderstorm.
  5. Any degree, quantity, or combination of harmful, potentially-criminal misdemeanors will be forgiven with absolutely no punishment provided you can make everything ok in the end through a series of highly improbable schemes and plans. In fact, you will probably be hailed as a hero for correcting all the damage (even though you caused it to begin with).
I'm sure there are a ton of others that she and I have formulated over the years -- after all, we have seen a ton of movies together -- but these particular lessons were reinforced by today's programming.

Class dismissed.

Friday, January 20, 2006

Moving Up, Part 2 (or Language Evolution)

In yesterday's Part 1, I expounded on the differences between most current development environments (at least in my experience) and a theoretical ideal, which comes remarkably close to the reality of Smalltalk.

Watching the development of computer languages, I've become increasingly convinced that they do not -- and perhaps cannot -- evolve. (Obviously, when speaking of computer language evolution, I'm using the term as a shorthand for "incrementally adding changes between versions," so don't get hung up on semantics.)

At work, we've started looking at moving our codebase up from C# 1.1 to C# 2.0. It's eventually going to be a great change, and we're really looking forward to using the new features (plus, frankly, it'll be required for any future Windows development, so it's not as if we have much choice anyway). Considering the revisions we're going to have make to our existing code, though, has bolstered a hypothesis that I've been cultivating for a few years now: computer languages don't evolve, in the sense that new versions are not expansions of the previous versions, but are merely additions to them.

Perl 6, for example, is not Perl 5 Plus More. In fact, it appears that it will really be Perl in name (and spirit?) only, but not in actual practice. Perl 5 and Perl 6 will only speak to eachother through a translator. Likewise, early info on Ruby 2 indicates that it may be significantly different from Ruby 1. Ditto all the Java versions, the C# versions, and most other languages.

The hypothesis can be broadly generalized as follows:
When you set out to upgrade a computer language, what you're really doing is designing a whole new language inspired by the original.
In this sense, new language versions are really remakes of the original rather than sequels. Don't get me wrong, there's really nothing wrong with this! Perl 6 and Parrot look like they could be a great platform. The new Java and C# versions have added some great new tools to the tool chest.

So, if this is a valid theory, the next question is why it seems to be true. To answer that question, my next hypothesis can be stated thusly:
Languages which are not self-descriptive cannot evolve.
Natural languages are self-descriptive. Take English, for instance. The grammatical rules that govern the English language are themselves written in English. All the words in the dictionary are defined in English. When English assimilates a new word or concept from another language, it is redefined in English. When English needed a convenient term for "the spirit and energy of a time period," it found zeitgeist in German, redefined it in English, and started happily using it whenever the need arose.

Most computer languages are different. When C# needed generics, changes had to be made to the CLR, to the C# syntax, to the compiler, etc. In essence, a new language had to be created that was based on C#, but which supported the new features.

On the other hand, computer languages which are self-describing, like Lisp and Smalltalk, don't have to be replaced in order to support new features, they merely have to be added to. They can actually be used to expand themselves, in much the same way that natural languages can. In and of themselves, Smalltalk and Lisp (especially Scheme) are really small languages which have been expanded to form large, robust language environments. This isn't something that's possible for externally-defined languages. [1]

Yes, they're all Turing Complete, so yes, you can implement any of the features in any of the languages (eventually). But we don't tend to do that. Why not? I suppose the obvious answer is performance, probably combined with a lot of cultural tradition in the language communities, but maybe a large part of the answer is that most languages tend to follow sort of a punctuated equilibrium approach. Needed features get approximated via the existing language until enough changes have accumulated to justify re-encoding them in the underlying defining language and calling it a new version of LanguageX.

That approach has advantages, and it's certainly the dominant approach in the market, but it's not really what I would call computer language evolution. Nevertheless, it is instructive to note the long, relatively unbroken lines representing Smalltalk and Lisp in the language timeline.

[1] From what I've seen and read, C# 3.0 is actually intended to be bytecode compatible with C# 2.0. No new foundational changes are supposed to be necessary. Instead, the new features are based on features added to 2.0, so it really is a kind of evolution, which could set C# apart as the first mainstream language to become self-descriptive.

Thursday, January 19, 2006

Moving Up, Part 1 (or Development Environmentalism)

Disclaimer: I fully acknowledge that in electronic media like blogs, multi-part posts are pretentious and lame, but it's late and I'm sleepy -- deal with it. At least I wasn't pretentious enough to use Roman numerals instead of 1 and 2.

Interesting juxtaposition this week between programming at work and programming at home.

Several things going on at work. One is that we've been updating lots of the 3rd party components that we license for our product (mostly things like interface controls and database tools). The other big thing that's going on is that we're taking the first steps toward moving our code from .NET 1.1 to .NET 2.0, which also entails moving from Visual Studio 2003 to 2005, and from C# 1.0 to C# 2.0. Neither of these transitions is as easy as you might expect, and they've brought to mind two issues.

One thing that we've long discussed -- indeed, earnestly dreamt of -- is establishing a standard development environment. Our last shot at that consisted of just buying five identical computers from Dell, and it has served us reasonably well, but it doesn't scale up, nor is it easily expandable. Our ultimate goal is to sit someone down in front of a brand new computer and give them the ability to write code in just a few minutes, and right now Virtual PC seems like the best approach to this. Except for some technical limitations (monitor spanning, for instance), we'd probably already be doing it.

That would be a big win for us, since instead of having to install Visual Studio, several development tools, and over a dozen components, then get a copy of all the latest source code, and start trying to build it to see what we forgot, all we would have to do would be load the current standard image into a virtual machine, get the latest code, and know that it would all work. No more problems with setup. No more problems with component versions getting out of sync on different machines. No more worries that installing a seemingly-unrelated program will hose our development system. It would all "just work."

For the most part, we manage a loose approximation of that arrangement via an amalgam of source control, daily system backups, and a few other tools, but we have mostly concluded that the nirvana described above is something of an unattainable goal.

One thing I'm quickly learning from Smalltalk, though, is that not only is that ideal attainable, it has already been attained! If we were working in Smalltalk, we would just install our version of Smalltalk, load up the current image, and start working. Windows guy? You're covered. Prefer a Mac? No problem! Taking your laptop on the road? Load 'er up and off you go!

By no stretch of the imagination are we even remotely close to exchanging Visual Studio for VisualWorks (for reasons which are both varied and good), and I still feel kind of lost in Squeak, but it does force me to wonder why truly integrated development environments haven't caught on in the mainstream. It's just so...nice!

----
In Moving Up, Part 2, I'll try to articulate why C# 2.0 is no more C# 1.0 than Java is Pascal, but that will have to wait for tomorrow.

Wednesday, January 18, 2006

Blog Thoughts

I ran across this post from Tom Foremski today, and part of it really jumped out at me:
There is something in the process of writing (blogging) that has opened up an entirely new experience of myself....And I often have an experience of being able to "think" through my fingers. For example, I will start typing an analysis of a tech industry news event, and it is the act of writing that allows me to "think it through."
That mirrors my own experience to some extent. I find that writing my thoughts down forces me to organize them, thereby sharpening and clarifying them more than they would have been otherwise. That's a benefit that I wish had been emphasized more in my high school English classes. Three-point essays have their place, but they're not something the average person will use on a day-to-day basis. Thought-focusing composition for personal use and benefit, though, is a skill that nearly everyone could use regularly.

Such writing can also serve as a wonderful filter. You know that feeling you get when you say something, and immediately think how it didn't sound stupid until you said it out loud? Well, writing to an imagined audience (such as blog readers) can give you a chance to say something "out loud" before anyone can hear it. There have been numerous occasions on which I've rewritten, rethought, or entirely scrapped a blog entry after getting a good look at the thoughts out in the open, so to speak.

What Foremski seems to have omitted, though, is that this isn't anything new. These benefits have been well-known to essayists for centuries, and probably account for the enduring popularity of the format. Blogging has just become the newest embodiment of the form. Paul Graham explores those concepts further in his article The Age of the Essay.

Another consideration with blogs is that they are public and enduring. Google knows all and remembers all. That means that you should expect anything you post, from articles to comments, to be permanent and accessible fixtures in the public realm. My rule of thumb is that I try to avoid posting anything that I wouldn't want to be interviewed about on the evening news.

And, as Computer World points out, it's entirely likely that companies (especially tech companies) will search for online activity as a source of insight into a prospective employee. The article focuses on the negative, but hopefully witty or insightful items could have positive influences as well. I doubt that finding statements indicating I hate Visual Basic or that I like Smalltalk would disqualify me from any jobs I'd particularly enjoy, but beyond merely being unembarrassing, I hope that the online impression I make is a genuinely favorable one.

Tuesday, January 17, 2006

Web Workin'

The fact that my wife has built a very nice website more recently than I have has elicited quite a bit of genial mockery from my friends and coworkers. The truth is that web layout and design has never really pushed my buttons the way programming does. My last website was created in hand-coded HTML (written in VI, no less!) in 1994 and maintained more or less unchanged until circa 2001. I've worked on and maintained several sites since then, but none were personal sites.

In the interest of establishing a more robust web presence than just a blog, though, I've started planning a new personal website. Working on that as a project has certain other attractions, too. When programming, for instance, it isn't uncommon to write code for several days with no appreciable results beyond an increased line count. Not much instant gratification there, unlike a website. Also, well-written code is also not something that is easily appreciated by non-programmers, but everybody likes a pretty website!

Since my home computing has becoming increasingly Mac-centric, I've been looking at web authoring programs for OS X. Rapidweaver is pretty attractive, and seems like a good, affordable solution, although I haven't tried their demo yet. Right now I'm playing with a beta for Sandvox, and I'm really liking it so far. I also feel really bad for the developers behind it, since Apple's newly-announced iWeb is threatening Sandvox before .

My preliminary test site is published under a new subdirectory at my domain, RedBoar.net. It's not meant to be much, just a connection/upload test for right now. If you want to try out Sandvox, the beta is available for download. Disclaimer: I can get a discount on the final release based on beta downloads from that link. Since I haven't decided if I even want to buy it yet, I'm really far more interested in helping Karelia publicize a really nice product.

I've got some more Smalltalk observations percolating, but I feel like I need to accumulate more firsthand experience so that my opinions will be a little better-informed. The Art and Science of Smalltalk has been a life-saver thus far.

Monday, January 16, 2006

Cutting It Close

Almost forgot to post again!

Not really much going today, really. Just a normal work day. It looked for most of the day like we'd get some much-needed rain overnight, but alas, it all moved off to our south.

I did some more investigation into VitalSource, and although it still looks promising, I'm disappointed by their focus on textbooks. What I really want is an iTunes for written material that will allow independent authors to publish their work, and which will combine shopping, purchasing, and viewing together in one package (possibly with an iPod-like ebook reader). It would also be great if it could provide support for multiple licenses (standard copyright, Creative Commons, GPL, etc), several formats, and maybe alternative payment options, such as the street performer protocol or prepayment escrow.

Lulu comes pretty close on the licensing aspect, and it nails the self-publishing, but its emphasis on print media keeps it from meeting my electronic criteria. Guess I'll have to keep looking (or make my own?)

Sunday, January 15, 2006

And not a pigeon in sight....

We went hiking today with some friends from the dorm out at Pigeon Roost Loop near Beaver Lake. Not only did we not see a single pigeon, we didn't see any squirrels, deer, or birds. It was actually a little creepy. Dunno if they were there and just escaped our notice, or if the drought conditions have driven them further down hill to wetter ground.

We only did the short 4 mile loop today, so maybe the eponymous pigeons hang out on the bluffs at the far end of the big loop. It's really a nice little trail, although the overlooks that would normally provide a lovely view of the lake just looked over a dry lakebed today. You could see the lake from them, though, way off in the distance where it has receded to. The rest of the trail was typical Ozark highland hardwood forest. Very pretty, and dramatically different from the paper timber forests I grew up around.

We all had a good time, though, and agreed that next time we should start earlier in the day and hike the big loop, with a break for lunch at the end. I'll know tomorrow morning if that would really be a good idea or not, though. We were off the trail by 3:30, but the sun was already low enough that it was probably starting to get dark in the deeper hollows, so we'd want to make sure we allowed plenty of time for the trek. Eight miles in a day is a pretty good trip, and although the lower end of the trail wasn't too tough at that pace, the upper end could be trickier.

Saturday, January 14, 2006

De-Christmasing

We're finally getting down our Christmas decorations today. We always try to get our trees up by the beginning of Advent (four Sundays before Christmas), and leave them up until Epiphany (Jan 6, the "Twelth Day of Christmas"). The tendency in our culture is to "front-load" Christmas, it seems. All the celebrating and excitement starts at Thanksgiving (at the latest) and ends promptly at bedtime on Dec 25. Heather Marie and I actually prefer to wait a little later for our Christmas-specific festivities, and carry them on longer.

I guess you could say that we tend to celebrate "Old Christmas" more than most.

Planning a hiking trip tomorrow with some friends from college. Maybe I'll be able to get some pictures up from it.

Friday, January 13, 2006

Well, duh!

It's good to see that more people are finally catching on to the fact that so-called Digital Rights Management (DRM) is not now, nor has it ever been, about protecting copyrights or artists. It is, at its core, solely dedicated to controlling not only creations, but the actual means to create and distribute.

The current legislative initiative is geared toward preventing analog-to-digital conversions (and vice versa) by creating artificial distinctions between "professional" and "amateur" equipment. Furthermore, the proposals would establish the ill-defined professionals as a privileged class, with access to capabilities and options unavailable to mere mortal amateurs.

Our tax dollars at work. Wonderful.

And speaking of things tangentially related to music downloading and sharing, I finally got my first MP3 player today. Heather Marie has had an iPod for a little over a year, and it really is great. She carries pretty much every CD that we own around in a device about the size of a deck of cards.

Although I would love to get an actual iPod of my own, they're a little pricier than I was willing to pay, and the don't currently meet my needs. The gym that I go to has TVs mounted in front of the treadmills, and they transmit the audio on FM radio frequencies, so I considered an FM receiver to be absolutely essential. It also had to be small enough to jog with comfortably. Unfortunately, iPods don't fall into the intersection of those requirements.

After a little research, I decided on a 256 MB Creative Muvo TX. Not as flashy or as hip as an iPod by any means, but so far not a bad little player, and it meets my needs well enough.

Interestingly, I'd been so focused on the radio and music aspect that it didn't even occur to me until after I got it setup that I'd be able to listen to audiobooks and the podcasts that I subscribe to, as well.

Thursday, January 12, 2006

Whew!

I nearly forgot to post tonight, which would've given Lance a clean win. Can't have that! I've felt like I'm coming down with something all evening, so I'm seriously considering going to bed shortly. Bedtime before 11pm would be pretty unusual for me. Fortunately, I remembered to post a little something first.

I'm working on a longer post regarding my experiences thus far with Squeak and Seaside, but it'll probably still be baking until next week. Stay tuned. One thing I can say quickly, though: I really would like for Squeak to offer a developer-oriented distribution. I know it was originally intended as a teaching tool, and I know you can change it to look pretty much any way you want, but it would be nice to have an option that was less cartoony by default. Honestly, that impression had turned me off of Squeak for a long time until I started really learning about Smalltalk enough to look past the surface.

Looks like we may go hiking with some friends up around Beaver Lake this weekend. We're tentatively planning on doing the short 4.4 mile loop of the Pigeon Roost Trail. Should be fun.

Wednesday, January 11, 2006

Computer Wizards

Back in the dark ages, there were men and women who understood things most others did not: herbs, the stars, metallurgy, rudimentary medicine, etc. They were revered in their cultures as wise ones, sages, or even wizards, for the level of control their knowledge gave them over the natural forces that others were at the mercy of.

Why aren't computer geeks afforded similar respect? In some cases, we certainly are, but many times it seems to be a grudging, distasteful respect, often tinged with resentment. I'm having a hard time sorting out why that might be.

One possibility is that modern people have grown so accustomed to being in control that they resent any situation that removes that sense of control. Perhaps they project that resentment not only onto computers themselves, but also onto those that they see as having some greater measure of control over the infernal machines.

Another possibility is that society in general seems to value knowledge and achievement much less than it once did. In sci-fi movies of the 50's and 60's, the heroes were often scientists. What was the last movie that celebrated engineers and scientists as heroes? Apollo 13? Everybody wants action heroes with guns nowadays, not geeks with sliderules.

Or perhaps the modern psyche sees in the "technorati" the potential for an emerging technically-skilled overclass, naturally revolts at the possibility, and seeks to suppress it by oppressing the perceived threat -- in this case, computer geeks.

Yet another possible explanation is that non-computer geeks could harbor some anger and resentment toward computer geeks because they see computers as something we have inflicted on them. And to some extent, they would have a valid point. We've always been very good at designing systems for ourselves instead of ordinary people, and on some level, perhaps we even enjoy the artificial superiority that gives us.

For that matter, even the fact that I can speak so comfortably of an "us vs. them" situation, with little doubt that readers will understand the distinction and know into which group they fall, speaks volumes.

I really do agree, though, with the suggestion that programming should be required in school curricula the same way that reading, writing, and 'rithmetic currently are. Not any specific language. Maybe no language at all -- perhaps pseudocode would suffice in the basic classes -- but enough of a basic grounding in logic that students would feel empowered rather than oppressed by computers. Spreadsheets might provide an excellent environment, while relating to a practical skill.

That would also require a considerable level of humility and altruism from computer geeks, since it would mean sacrificing some of our technical mysticism and specialness in the interests of society at large. But the tradeoff could be a greater understanding by that society of what our world is like.

Resume Items

Heather Marie is applying for a grant or scholarship or similar to go to a state museum conference later this year, so I've been helping her with her resume off and on all evening, which has made me think about my own. I don't anticipate needing mine anytime soon, but it's a useful way to take stock of what my career looks like so far.

I have a hard time helping with Heather's resume. Liberal arts resumes tend to be pretty verbose. More like a curriculum vitae, really. In tech fields, though, the shorter the better -- ideally just your contact information and a list of interesting things you've done. Ideally, at least. I guess if the goal is to slip your resume past the clueless HR, then the usual lists of superfluous blather are important. Personally, I think my goal is to do things that are interesting enough that my resume is really short, and hopefully impressive enough to the people whose impressions really count that the HR guys won't ever even get to see it. Something along the lines of:

Ryan Wells
(contact info)
Developed/Researched/Invented SuperInterestingThing

Yes, I realize that there are probably less than two dozen computer scientists in the world who could do that, but there's nothing wrong with wanting to join them! :-)

Tuesday, January 10, 2006

Cool Computer Stuff

So, Apple announced and released new Intel Macs today. They look sharp, but I'm a little underwhelmed. They're really just fast new computers to run OS X on, and except for the speed (and eventually battery life) I don't think they're going to be quite as big a change as most people seem to expect.

I've been happily using my iBook since August, and I'm still really liking it. What I've found, though, is that using a Mac hasn't really opened dramatic new vistas of computing before more. The main thing it has done is remind me that "using a computer" doesn't have to be synonymous with "using Windows." It's an easy point to forget, but most of the time the things that people always say they hate about computers are really things they hate about Windows. (Granted, though, if they were using Macs, then they'd have other things they hated about Macs instead.)

I'm really much, much more excited about Sony's new ebook reader than the new Macs...or at least the prospect of pleasantly usable ebook readers finally coming to market. Thinking back to college, it would've been great to have all my textbooks in something that size instead of carrying them all around (or, more frequently, not carrying them at all). A good reader, combined with VitalSource or something like it, could be really special. Personally, I'd love it if I could buy short stories a la carte for $1 or so each. Or, more interestingly, if I could self publish and sell my own writing on that kind of service.

According to Sony's website, their reader will support not only ebooks, but PDFs, blog content, electronic periodicals, and other formats. Alas, however, the website tells us that all of those have to be converted to Sony's proprietary BBeB ("BroadBand eBook") format. What a shame. I guess their thinking is that doing that means the reader only has to support one format, and the conversion can be handled with the syncing software. Still pretty lame, though, and they seem to be keeping it kind of quiet (relegating it to a footnote on their product page), like they're trying to sneak it in.

I'm all for reasonable copyright protection, but it shouldn't be manditory. If I, as an author, want to release my writings in an open, unencumbered format, what's it to Sony? I'm sure it's probably a bone they had to throw to publishers, though, so the real question is how accessible the BBeB creation tools will be to independent authors.

This is all news to me, and I see that Gizmodo has been covering the development of this for quite a while, so maybe those concerns have all been addressed already. I can see great potential in closed formats for content publishers to wrest control (again) from content creators and re-establish themselves as the gatekeepers of public access.

Monday, January 09, 2006

Family Ties

For some reason, despite Heather Marie's prompting, I'd never shared my post about John 11:35 with my parents or family. I don't know why, really, but the thought of intentionally sharing it just never really occurred to me. Somehow doing so would make me uncomfortable.

I'm completely unbothered by public speaking (and, obviously, public writing). The idea of speaking or performing (or writing) in front of a crowd of thousands doesn't even make me flinch, but the idea of doing the same thing in front of a small group of friends and family makes me break out in a cold sweat. Go figure.

Anyway, my mom ran across it last week, and now it's making the rounds in the family. I'm glad it's touching so many people whom I care about, and I hope that reading it is as meaningful to them as writing it was to me.

Of course, now I'm racking my brain and scouring my archives to try to remember if I've ever posted anything risque or embarrassing. ;-)

Sunday, January 08, 2006

Blogathon Post

Although I did technically get a post up this morning at 12:12 AM, I felt like that was sort of a technicality, so here's a real post for today. It's short, though.

Went to church this morning to see a friend's baptism. It reminded us of how much we really miss having a church home...and how much we don't particularly like contemporary praise services. I understand that there are a lot of people who are touched by them, and that they do a great job of reaching out to new people, and I think that's great! They're just not for me.

As I told Heather Marie, I'd be pretty happy singing some hymns, reciting some liturgy, then having a half hour theology lecture. :-)

Toes in the Water

Finally had a chance tonight (albeit not much of one) to install Seaside and play around with it a little. Just tinkering with the Counter demo. So far I'm moderately impressed. I love the ability to edit the app in my browser. I also appreciate how the entire development environment can be saved as an image and when it's reopened, everything is the same, including server processes. No need to start multiple processes and get everything setup during each session as far as I can tell. That alone will increase my productivity 10%, since I'll no longer catch myself thinking, "I've got a few minutes, I can code on that project...but it'll take 5 minutes just to get everything setup...nah, I'll just play 8 minutes of minesweeper." ;-)

And, just to affirm James Robertson's response to my fears, I was able to move at least that simple image from my iBook to my PC with no apparent ill effects, which I found to be pretty cool.

Saturday, January 07, 2006

Long Day

Had to get up early this morning to spend nearly all day in a strategic planning meeting for the museum where Heather Marie works. It was actually a lot of fun, and we both enjoyed it, but man was it ever a brain drain! Eight nearly solid hours of brainstorming and discussion and vision-developing.

As a last note before bed, I highly recommend acquiring a culinary torch of the type usually found with creme brulee sets. Heather Marie got me one for Christmas, and the creme brulee is ok, but the torch is awesome! You'd be amazed at all the things you can heat, toast, brown, carmelize, and burn with a butane torch. :-)

Friday, January 06, 2006

Uninteresting Drivel

After a week of fairly interesting posts, I'm pretty much dry tonight, but the blogathon beckons, and so I post....

I'd love to say that I'm hip-deep in Seaside tonight, but I didn't get home from work until nearly 8 o'clock, and tomorrow's not looking real good either.

I did get a chance to do a little research into what I'll need to do for my project (hereafter codenamed "Starfish"), and it's not going to be nearly as simple as I'd thought. I actually welcome that, though, because it makes the whole project more interesting instead of just an exercise in following directions. I may actually have to develop a new, creative way to do something I need. Well, new to me, anyway. Probably already a solved problem if I want to research it a little bit, but I may give it my own shot first.

Why Starfish? Because they're pretty to look at, relatively useless, and found on the Seaside. Three puns for the price of one. Seems like a winner to me!

Well, four puns, if you count my unconfident opinion that this project can't really make a difference. ;-)

Thursday, January 05, 2006

The View is Better from Here

Unsurprisingly, I'm not the only person who noticed the similarities between Windows Vista and Mac OS X (alternate registration-free link). Overall, it's been a good week to use a Mac. I have to give MS some credit for patching the problem relatively quickly, though.

To reiterate my response to a comment from Wednesday's post in case any interested parties missed it: I'm using "Lisp" as a shorthand for "some Lisp variant." I used Scheme in several college courses, so I'm familiar with the syntax, basic usage, and available flavors.

I think that potential confusion actually highlights one of the flaws the Reddit guys found with Lisp. If you want to get started with Ruby, your only choice is the one and only Ruby. If you want to get started with Smalltalk, then Squeak and VisualWorks are the most obvious and easily accessible choices. If you want to get started with Lisp, is it CLisp? Scheme? Something else? Which version?

With Ruby and Smalltalk, it's relatively easy for someone who's an outsider to the language to figure out what to use, and to get up and running quickly. Choice is good after you understand what you're choosing between, but having too many entry points is confusing to beginners. Would Rails be as accessible if new users had to find the correct combination of OS/Ruby/Rails for their platform?

Finally, for my friends who've asked, in this year's NaNoWriMo, I failed even more spectacularly than usual. The combination of homecoming, birthday parties, and two weeks of illness doomed my attempt long before Thanksgiving came along and finished it off. When I finished my turkey dinner and pumpkin pie, and realized that I only needed to write 9000 or so words that night to get back on pace, I knew it was over. I think I need to just hold my own some time. Maybe in March, April, or September when there's less to interfere.

Wednesday, January 04, 2006

Walking on the Seaside

So, after doing some more research today, I'm about 90% sure I'm going to go with Seaside for my framework of choice for this little hobby project. I'm going to take a few days to work with it and see how it goes first, but so far I like what I've seen and read about it. Some things I'd like to find are a couple of public apps (besides Dabble, which is still in closed beta) that use Seaside, and a host that supports it. I could do the hosting myself, but that's really more trouble than I want to go to for a learning experiment.

To sum up the reasons I want to go with Seaside:
  1. It's really different from anything I already know. I spend 8+ hours a day using C# and Visual Studio, and I really want to use something dramatically different.
  2. Rails is great, but I find myself being more attracted to the smaller, equally active Smalltalk/Seaside community.
  3. Our past is our future. At PDC I was struck by how many of the "new" features in C# are old features from Smalltalk and Lisp. I want to look ahead at what's likely to be coming in the mainstream languages over the next decade.
If I were developing this as a business app, and time were of the essence, I'd almost certainly go with Ruby on Rails, since I already have a head start in it. Since this is intended for just for my own enjoyment and edification, though, I might as well learn something new along the way.

So, after a little reassurance, I've got Squeak and VisualWorks on my Mac and PC, and I'll be exploring the shoreline over the next week or so.

In other news, my wife now has a blog of her own. Hopefully she won't say anything that's any more embarrassing about me than I've said about her. :-)

Tuesday, January 03, 2006

Game On!

The Weremoose has accepted my Blogathon challenge, so the endurance race has begun! He's historically been a lot better about posting than I have, so he's still the odds on favorite to win, but we'll see. All it'll take is something forcing one of us out of town for a day, and it'll all be over. The suspense and tension are overwhelming!

After thinking about it off and on today, I've pretty much eliminated Lisp from serious consideration. I still really want to like Lisp, and I still plan on learning it, but probably not at the same time I'm trying to actually get something done. Learning a whole new language, building a new framework, and creating a new app -- I think I can handle doing 2/3 of those simultaneously, but not 3/3.

I'll admit, though, that Reddit's change from Lisp to Python played a role, and that Python using something (web.py? Django?) is now a contender instead. That's not because I'm deferring to their opinion of the technology. What's right for them might not be right for me. It's because all of the attention and discussion it generated made it easier for me to evaluate the Lisp options, and none of them looked real promising.

I'd originally written a lengthy post denouncing the Lispers' reaction to the change, but before posting I did a little followup reading and saw that many of them are trying to organize an effort to provide solutions to the issues raised by Reddit, so I was forced to rethink and rewrite my stance. Bravo to them, and I wish them well, but for right now I just want to get some fun stuff done. For that reason, I'm leaning toward Rails. As with Lisp, I have doubts about how easy it would be to do Smalltalk/Seaside development on a Mac and then deploy to a Linux or BSD server, or to switch back and forth between Mac and PC for development.

Monday, January 02, 2006

New Year, New Look

So, I've done a minor redesign on ye olde blog. Well, actually, I just picked another template, but it's still a new look for me.

We had a good Christmas and New Year's Eve. Our friends Bill and David came from NY and Maryland, respectively, and we had dinner with our friends Eric and Joy (down from Wisconsin). We'd planned to go to a party at yet another friend's house, but everyone got in from town later than expected, and all we really felt like doing were eating snacks here and playing some games.

Sunday afternoon we went out to see the ruins of Monte Ne...along with probably several hundred other people. Pretty cool to see stuff that's normally under 20+ feet of water, but it's crazy how low Beaver Lake is. Man, we really need some rain!

So, that's the recap of the end of the old year. What's up for the new one?

For one thing, I'm planning to actually blog more regularly for a change. In fact, I may challenge Lance to a Blogathon to see which of us can keep a once-a-day blogging streak going the longest. Safe money is on him.

I'm also trying to decide which programming language I should focus on trying to learn this year. That's tough one. I've got a fun project I want to try to build, and it could be a good exercise for learning a new language.

I worked with Ruby and Rails this past year, and I've still got a ton to learn. It has the advantages of being a language/platform I'm already familiar with, and it's looking like a good skill to have over the next 3-5 years.

Also in the mix is Smalltalk and Seaside. Smalltalk has been around forever, of course, but learning it would be a great way to really learn about how we got the object oriented languages we have today, not to mention learning where the mainstream languages will be going in the future.

Finally there's Lisp. I heard a martial arts quote once to the effect that every martial artist eventually winds up doing Aikido. Likewise, there's the famous claim that those who do not study Lisp are doomed to reimplement it (badly). I learned some Scheme in college courses, but never really mastered it, so I really feel like it would be worth learning. The problem is that Lisp lacks the pre-made web app frameworks of the other languages, and I'm not particularly interested in rolling my own. I know there are some available, but none are as slick or well-known as Rails and Seaside.

Basically, I feel like really learning Ruby would teach me anything I'd need to know for 2006-2008. Smalltalk would probably teach me things I'd need to know for 2008-2015. Lisp would probably teach me things I'd need to know after about 2012. I feel like I could skip some steps and just learn Lisp, but then it might not directly benefit me for a while (aside from the indirect benefits of a better grasp of functional programming).

In the final analysis, though, I do have a personal project that I want to get done, so picking something that will help me get that done quickly and easily, while still allowing it to grow, is probably the most important consideration.

Thoughts and suggestions welcome.