in beta since 1998
Firstly: happy Shrove Tuesday! Eat pancakes, clean out the larder, celebrate, and wake up tomorrow to do it all over again.
Chris Onstad is on a side-splitting story arc over at Achewood. I think this is his best work so far. Make sure you read the title attribute for (mouse hover over) the strip for the 22nd of February.
I've played a couple MMORPGs in my day (the latest being World of Warcraft), so I found the Lessons of MMORPGs Today (seen on BoingBoing) very amusing.
Tomorrow: Smarch weather!
Two good finds from boingboing:
This just in: drunken infant impales lass with lawn dart.
Good-bye wide screen LCD. Hello huge multi-touch LCD.
"When you're a law student, they tell you if say that if you can't argue the law, argue the facts. They also tell you if you can't argue the facts, argue the law. If you can't argue either, apparently, the solution is to go on a public relations offensive and make it a political issue... to say over and over again "it's lawful", and to think that the American people will somehow come to believe this if we say it often enough.
"In light of this, I'm proud of the very civil civil disobedience that was shown here today." -- David Cole, Georgetown University Law Professor
Also see the CNN.com story on the event.
All my domains (including this one) are now hosted at DreamHost.com. The transition should be painless, but please let me know if you spot any broken links, slow page loading, etc.
All of the full-time employees at my previous job (including me) are now working at my new place of employment. Hurrah!
I am happy to report that, less than three weeks after my company announced they were closing the office here, I have accepted a new job in the area and delivered my two-weeks notice. The new job appears to be a wonderful one, and the new company appears to be a good one for which to work.
Yeah, this is all very "GET A BLOG" material, but I'm off for a drink and some pool, so I thought I'd drop a note. Tschuss!
There is an interesting Clive Thompson article in the New York Times about Life Hacking (warning: ad click-through) which got me to thinking about programming, interruptions, and having a lot of things visible.
One of the essential elements of programming is having a good short-term memory. Programming requires you to keep a lot of things in your mind at once: the task you're trying to code, where you are in that task at the moment, what function you're calling, the arguments it takes, the types of the variables you're using, the location of your current object in the big picture, how you have to stay in sync with other threads, etc. The more you can juggle, the faster you can go. This is why I feel that little interruptions are so costly to programmers. If you knock one piece off the short-term scratch pad, the whole thing falls apart and you have to start assembling it all over again. (This is part of my dislike of cubicle-based environments, since they are typically very noisy when compared to walls-and-door offices, but that's another story for another day.) A ten-second interruption might end up costing you ten or fifteen minutes of work.
When employing smart programmers, I think that one of management's top goals should be to help those programmers work at top efficiency for as long as possible. That means, as far as possible, no interruptions. Interruptions are external (noise, phone calls, etc.) and internal (distracted while waiting for your computer to compile a bit of code or while fighting a cumbersome tool to make it do what you want). In essence, I want: comfortable chairs, desks, and lighting; quiet environment; blocks of time where I can code without worrying about checking emails or phone messages; fast computers; multiple big displays; nearby helpful people, break spots, bathrooms, and water; and good tools. Ah, good tools -- I think every programmer could write a book of cumbersome tools he or she was required to use at some point. How much productivity is lost every day fighting with balky networks, SCM tools, and the like?
Long story short: let your programmers be in the zone for as long as possible each day. If I had a work environment as friendly as my home office, I'd be one of the happiest geeks alive.
It was just pointed out that I never linked to Joel Spolsky's Joel on Software. Fine stuff. Must-read.
Friday's great news was that the office in which I work, a small collection of extremely good and dedicated software engineers, is being relocated to Lynchburg. Also, our boss was fired and we were moved under the hardware group's manager. "Cost-saving measure; will improve productivity." These sorts of things become somewhat hard to justify when, due to the director's inability to collect accurate information and futher inability to convey it without sounding like a weasel, approximately zero people from the office actually plan to relocate. Oops. Note to future managers: when you are delivering really bad news to someone, do not repeatedly mention how hard this is for you and how bad it is making your day. It only makes you look like an uncaring ass. Also, do not mention how you cheated your way through college, claiming it as a badge of honor because, "hey, I was paying them tuition." Again: ass.
Did I mention that this office is the software half of this product? No programmers plus an extremely sophisticated (read: complicated) product means nine to twelve months of dead time training new programmers. A year of no new product means several million dollars of lost profit. A year of no new product in this bleeding-edge test and measurement industry also means huge losses in market share.
Total cost of running our office: fairly inexpensive rent in a larger building, mild phone bill, about one shipped package per week, water for the office water cooler, approximately five pounds of coffee per month.
Anyway, the people reading this who have been to this town, visited Lynchburg, and have taken the time to talk with anyone who works here... you will look at this and say, "hmm... a forced move from a nice quiet software-friendly office in town to a big noisy cubicle farm in Lynchburg, all delievered by a messenger who has the tact of a garden trowel... yeah, I can't see how that could go over well." You, my dear readers, are wise.
Nonetheless, the winds have change have risen quickly, and soon the members of the fine R&D office will be scattered before it. This makes me very sad. We already have some good angles on places in town that are hiring, so we may stay closer together than any of us dare hope. Regardless, it's time to go get an interviewing outfit, polish up the résumé, and put my nose to the ground. I have good wishes for many of the folks who remain in the Lynchburg office; they have a collection of fine people there. I don't see, though, how the product can possibly survive if over 85% of its developers jump ship because of a terribly short-sighted business decision.
Recent snapshots: Shaun at PK's, Levi the semi-wonder-dog after a bath, and the Virginia Ten-Miler.
If you haven't already, get up off your bum and do something to help the folks down on the Gulf who have been affected by hurricane Katrina. Hit the Red Cross, Salvation Army, favorite crack-head web comic telethon, etc. While you're at it, consider helping out the needy folks in your neighborhood, too.
"But more importantly, it comes out of the fact that, during this century, intellectualism failed, and everyone knows it. In places like Russia and Germany, the common people agreed to loosen their grip on traditional folkways, mores, and religion, and let the intellectuals run with the ball, and they screwed everything up and turned the century into an abbatoir [sic]. Those wordy intellectuals used to be merely tedious; now they seem kind of dangerous as well." -- Neal Stephenson, In the Beginning was the Command Line, c. 1999
It's been a long time since I've pimped links here, so have some comics, toad in the hole, and sleep notes.
I've had this picture of New Year's Eve for a unreasonably long time, but kept forgetting to link it. Cheers!
Jeff Rowland, the author of the wicked-cool web comic Wigu and all-around entertaining guy, is publishing volume two of his Wigu comics and is offering a nice little sale package on pre-orders. Go over there any buy yee one, dagnabbit. It's good stuff!
Quote of the week:
"Ugliness is entropy made visible."
I think I've quoted this before, but it bears repeating:
Zoweee: I'm holding out 'til the next election. If it goes against us I'll seriously begin looking for my cultural fire exits. "There are exits at the front and the rear of American Democracy. Please take this opportunity to familiarize yourself with the nearest exit. In the event of a theocratic American hegemony, lights will appear on either end of the aisle, marking the way to your exit for you. In the unlikely event of the repeal of amendments one through five, your seat cushion may be used to purchase carriage across one of our more porous borders. Should there be a depressurization of America's historical tolerance for diversity, bibles will drop from the overhead compartment. Please read your own copy before assisting small children. Please do not read pirated versions of the bible, as this may give aid and comfort to terrorist organizations."
QBaz: Zow, marry me immediately.
Zoweee: "We thank you for flying Knee Jerk Republican Contract with America, and hope you'll enjoy your stay in 2003 or wherever your final destination may be."
Google News had a charming headline-shortening today, changing "Prostate Cancer Second Most Common Among Men" to "Prostate Cancer Most Common Among Men." Well, duh.
My nose has decided that leaving sniffles to be cause solely by allergies is for the lazy. It has decided to catch every bandwagon cold virus that crosses its path. The rest of my body is beginning to tire of this undisciplined wanderlust.
Kevin Sites has posted a new bit from Tikrit. I like his attitude.
A melancholy day with little going on, but here's a great link from Boing Boing about the mythology of Miami homeless children. Scary and elightening and just amazing and awful and good at the same time.
Programmers should check out Joel Spolsky's article on character sets and Unicode. It's well-written and fairly concise.
"In this article I'll fill you in on exactly what every working programmer should know. All that stuff about "plain text = ascii = characters are 8 bits" is not only wrong, it's hopelessly wrong, and if you're still programming that way, you're not much better than a medical doctor who doesn't believe in germs. Please do not write another line of code until you finish reading this article."
I had a cold. It went away. Another one came to visit. It turned into a sinus infection. It added an eye infection. The eye infection has been cleared up with some sulfa drops. The sinus infection, on the other hand, is still beating me down.
On the plus side, I've had a great three-day sick weekend mostly holed up in the house, sleeping and playing Asheron's Call. More updates will come when I'm feeling better.
News in brief: There's a big heavy Grizzly G1023Z table saw in the shop now, and I'm looking forward to making some bookshelves and such. The moving van is delivering Diann's stuff to the house even as I write this. If you don't read Wigu, perhaps you should. If you don't read Her, give it a try. If you need to know about wood finishing, try Bob Flexner's Understanding Wood Finishing: How to Select and Apply the Right Finish. If you're bored and want to play some minigolf, try Widmer's Beer Golf.
That is all.
Diann is here! Yay!
Holy crap. I tried to think of the right words to describe my reaction to the Fellowship Baptist Creation Science Fair 2001. Anything I could say would fall far short of my horror in reading the entry below, so I'll just quote them.
"2001 Prize Winners:
"2nd Place: 'Women Were Designed For Homemaking'
"Jonathan Goode (grade 7) applied findings from many fields of science to support his conclusion that God designed women for homemaking: physics shows that women have a lower center of gravity than men, making them more suited to carrying groceries and laundry baskets; biology shows that women were designed to carry un-born babies in their wombs and to feed born babies milk, making them the natural choice for child rearing; social sciences show that the wages for women workers are lower than for normal workers, meaning that they are unable to work as well and thus earn equal pay; and exegetics shows that God created Eve as a companion for Adam, not as a co-worker."
I've been thinking lately about my spirtuality and my place in the Catholic church and Christianity as a whole. I'd like to think of myself as a reasonably liberal guy in some ways, and I disagree with the church magisterium about a whole lot of things. Deep down, however, I think Catholic theology has a lot going for it. I see Jesus as a hella good dude, God as one of us, a man who understood that it's all about love and forgiveness and the discipline of the being human. I like the idea that God can be human, not only for the surface reasons but because it means that it is good to be human. That is, I don't see us as lowly beasts beneath God, unworthy. If God chooses to be one of us, doesn't that mean we rock? I like the fact that Jesus was reported to say, upon being asked about the most important commandment, that it was to love God and love thy neighbor, and that upon all this the rest of the law is built. I like the fact that I see Jesus as having a very Bhuddist mindset. Suffering is everything, and yet nothing. In order to lead, one must be a servant. I am everything, and yet thus I am nothing. There's a heck of a lot about Judaism and Christianity that I adore. So much of it feels like home.
Lately, however, with the Vatican and some Episcopalians busting on homosexuals, Catholic priests and Protestant ministers abusing kids and parishes, some Christians rabidly supporting every Isreali move with some supposed biblical basis, conservative Christians trying to turn back the clock on gender equality, human rights, some Christians trying to de-deify Jesus, and a host of other issues, I just have to ask...
Why do you folks have to make it so hard for me to want to call myself a Christian? Hmm?
Direct all comments at me."; ?>
[soapbox: off] Now back to your regularly-scheduled programming.*/ ?>
I just found out that Wesley Willis died not too long ago. I am very saddened by this. What can I say? ... We'll miss you, Wesley. I hope that, where ever you are, the demons in your head are gone and you can just keep on the rock n' roll superhighway joy ride. Me? I'm gonna go get drunk and cry.
My oh-so-favoritest Breece was delayed in leaving Cali, but has persevered, conquered countless crude foes, and should be here in around two weeks. Yay, again!
Oh, and InternalSound.com is now a PHP-powered juggernaut, a dynamically-generated leviathan, an easily-managed day at the beach...
Sacramento, CA to Blacksburg, VA. 2700 miles. Track the progress of my oh-so-favoritest Breece as she heads east to come live in Blacksburg. Yay!
Avast, me hearties! Make sure ta mark yer calendars on 19 Sept for International Talk Like A Pirate Day.
I think Paul might have a little Hemingway in him. (Once again, make sure the black point of your monitor is properly set. If you need help with this, try reading old junk.)
For a brief but interesting look at how money works in the California recall election, check out WeeklyStandard.com.
I'm still on a total high from riding a hundred and three tough miles yesterday. It's like being in the happy-fuzzy stage of drunkenness, but much longer-lasting. It turned out that my concerns about being under-prepared for this ride were somewhat valid. I pushed quite a bit harder than last year, took very few minutes of rest during the ride, and I suspect I didn't take in enough calories. (I'm guessing I ate about 1600 calories before and during the ride, and my HRM indicates that I probably burned somewhere around 3100+ calories. Oops.) Anyway, it was definitely the toughest thing I've ever done (phyiscally). If you're interested in more details, read on.
As a non-advertised and unsupported ride there weren't too many people there this year and there wasn't a mass start. Result? Lots of spread-out riders of different abilities, making it hard to find a paceline. Right from the start I hooked up with three very nice people who seemed to be moving at about my pace. It turned out that all three were stronger riders than I, so it was a bit of work to keep up with them but the challenge and conversation were well worth it. At the start of the first big climb, I bid them adieu as two of them (Anna and Missy) roared on ahead and one of them (Dean) fall back. Due to a missed turn, Anna ended up catching up with me during the circuit through the garden, but Missy was long long gone (that woman is pure mountain goat). The ride through the valley was, as usual, simply gorgeous. The only word to describe the garden: verdant.
The cloudy and bright weather had been very reminiscent of that during last year's ride but with no roaring thunderstorm to force me to hole up (and thus rest) at the store for an hour or more. I ate and stretched and tried to rest a bit, but I could tell that it was time to get going. So, legs already a bit tired, I hopped on the bike and slowly climbed my way out of the garden. On the leg back to Rocky Gap, I hooked up with a group of six riders driving a fast paceline. I took my turns up front, made great time, but when the terrain turned to rollers the tired riders (including me!) just got blown off the back one by one. This means that I basically rode the last 25 miles solo.
Now, I've experienced the "hiker's daze": that feeling of very strong fatigue where a huge portion of you is in survival mode, leaving the remains of your consciousness tightly focused, undistracted by the world. You might look around and realize, "how did I get here?" You look back and you obviously just covered several miles of very tough terrain. Your brain must have been working to get you over it. You remember thinking of stories and working with very complex thoughts, but you just can't remember a single step of those last few miles. After five hours of hard pedaling on the bike, I was definitely there. I came to realize that, despite the fatigue and (relative) pain, my body was fully capable of getting me to the finish at Narrows if I just made it. Head down, pedal. Head up, pedal. Check breathing, pedal. Stretch sore shoulders, pedal. Sip water, pedal. All the while, the world-making part of my brain is totally detached from this and euphorically taking in the world around me, both my immediate surroundings and the state of things in my life.
One of the many things that came to me is this: There seems to be a recurring expectation from others that when I ask (expect) someone to not do something that hurts me then I must already be capable of doing that in return. If I ask you not to call me some name that really hurts me, I might get a response that I call you some hurtful name sometimes. You know what? If we all really followed this rule, we'd end up only having friends who were worse people than we were. Frankly, that would bite, and isn't realistic, so I'm officially throwing out this rule/expectation. Am I trying to duck my responsibilities? No. If I leave the coffee pot on at work, tell me to stop. Don't use it as an excuse that you leave your radio turned up too loud. We're all imperfect. We all suck sometimes. Let's get over the tit-for-tat and just take responsibility and do something about not sucking so often.
Oh, and let's go see Capturing the Friedmans at The Lyric. Yay!
It has happened again. Blacksburg is now full of cars bearing cool license plates from Alaska, Washington, Vermont, and even the woe-begotten semi-state of Ontario. By Monday the restaurants will be crowded, the bars hopping, and the campus packed with bright-eyed young idealists. They will, for the most part, be spending their money on books, coffee, and alcoholic beverages, so few of them will have the resources to possibly save the US electoratal redistricting system from being thrown into the quagmire of perpetual partisan politics.
I found this gem at gluemeat and this story at The Morning News. If you like the story, check out parts two and three.
If I have learned anything today, it is that an early-morning all-hands meeting at work and a previous evening with a gasoline-powered daiquiri maker do not really mix.
In no particular order...
I was driving up to the Washington, D.C. area for work, passing through Madison Heights, and looked down to see that my trusty 1997 Honda Civic was turning one hundred thousand miles old. Yay, I say! In preperation for this milestone the car got a nice waxing and four lovely new tires. I think that the car is feeling happy, particularly young, and zippy. Either that or it's the exhaust leak that everyone but the state safety inspectors could hear.
Paul and Laura's party and wedding at the end of July were an absolute blast. The ceremony was simple and beautiful, everyone seemed to have fun, and now everyone's favorite forestry couple are wed. Laura's family rented out an entire inn for the weekend -- a palatial hundred-plus year-old place right in the North Carolina mountains. Long-time-not-seen Greg and Scott were there, assuring I would trade sleep for pool and beer, and all the forestry folks did their part, too. There was a fabulous drive down with Casey and Scott that involved an unintended scenic route. The word "gorilla" may never be the same. I got to tour Carl Sandburg's final home, Connemara, which was wicked cool. Did you know he, champion of American folk music, didn't learn to play the guitar until he was thirty two? Did you know that his wife, Lilian, was kick-ass cool, too? She bred goats like nobody's business, and was quite the businesswoman, too. There are still very friendly and productive goats on the property today. I have some pictures of Alan molesting the goats, but I'm not allowed to show them due to some obscure National Park Service regulations.
I've done a lot of unpacking at the new house though there are still quite a few boxes to go. I finally got around to setting up my office again, and this delights me to no end. The drawing table is out, bookshelves loaded with paper, bottles of paint, Play-Doh, and sundry other things for making fun. I spent a good portion of the weekend printing images, scanning in contact sheets, etc. For those who are into digital black and white quadtone/hextone printing, have an Epson 1280, and can't afford a fancy software RIP (or don't own a Mac for InkJetControl & OpenPrintMaker), check out Tyler Boley's RGB transfer curves for the Epson 1280. They work much better for me than did Paul Roark's curves, and needed only a small bit of tweaking before they were helping me produce some fabulous looking prints. I'm excited to give a MIS's experimental UltraTone inks. True pure-pigment bronzing-free hextone prints on glossy paper? Oh, that would rock. Alas, they're expensive so I'll just use up my existing bottles of MIS-VM. All this means, of course, that I no longer have an excuse for not finishing Alan's birthday present. Six months late and counting.
On a related note, I'm considering buying (gasp) a used Mac (G3 or later) to use as a print server with Open Print Maker. (Any embedded systems engineer who recalls the release and path of the PowerPC chip will find that amusing.) If you know of someone with a suitable Mac for sale (cheap), please drop me a line.
I've been cycling in between the seemingly-omnipresent rain showers, but haven't yet really gotten enough mileage on my bum to feel comfortable about the upcoming Burke's Garden Century. The ride is also going to be self-supported this year (i.e. you carry everything you need, because there are no support vehicles). I'm going to have to start riding in the bad rain if I'm going to make it all the way back along Wolfe Creek without the help of a tow. On a sadder cycling note, a fellow cyclist was killed last weekend during an organized cycling event. I met her only a few times, but it still hits home. 'Twas a head-on collision with a car and it wasn't the driver's fault. To all y'all who run, bike, drive, or whatever... keep your head on straight and be careful.
My favorite Diann is nearly done with her classes, and as a consequence I've learned more Visual Basic in the last two weeks than I think anyone should. A bigger man would have an aside here indicating that it's fun, but I enjoy playing a petty little geek snob. If I gave it up, what would I dress as for Halloween? Hmm?
Internet Explorer users (or you bad-asses that browse with a telnet client!) may have noticed that some of the pages on InternalSound are returning "404 Not Found." This is a side-effect of a bug in my webserver (Zeus) not allowing me to update HTTP headers inside a 404 handler. The page is really there and got sent to your browser, trust me. IE is just refusing to show it to you. This header problem also affects the ability of your browser to cache the page, leading to a few unneccesary page loads. My webhost is planning on going to a new version of Zeus in October perhaps. My plans to migrate this site to fully-dynamic content are on hold until then. As for the pages that have already changed... well, you IE users may just have to wait. Sorry.
Okay, enough with current events. The best quote I've read of late:
"The artist and the monk both know through a disciplined practice they can internalize nature so that they can realize new capacities of mind. Personal growth is not only a matter of memorizing sacred texts or of academic artistic analysis, but it requires praxis, daily labor, to fashion fresh, hard-won, soul faculties. Every action of the hand and the eye sculpts the soul." -- Arthur Zajonc, physicist, Catching the Light.
Does anyone else feel the word praxis is under-used?
Mmmmm, I say again!
For a long time, I have liked working in bare (or socked) feet. I have just discovered that the best part about this is that I can put my tennis shoes in the grass outside and when I go to walk down to lunch or just wander around, I can slip them on and they're all nice and sun-warmed on my chilly air-conditioned-office feet.
It's been a long time since my last post here and a lot has happened. I'm supposed to be working, so I'll just have to summarize.
This will be a very short update, because I'm sitting in a slightly smelly airport right now and they're getting ready to board us. So, what have I been doing? Slacking. Traveling and slacking.
Oh, and pancakes. Can't forget those.
Passable Band Names That Are Also Anagrams Of Friends' Names
Old junk is also available, if you wish.