I saw this story (The Crows of Montlake) on a Seattle blog today, and just had to refer folks to it.
I don't really know what to say about it, except that if it's not a 100% true story, it sure rang like one to me. Part of that is seeing the crows that live around Seattle - they're just like that.
Looks like Sun is finally charging like the old-style IBM Mainframe folks - by processing power. As I glanced over the article at CNet I was once again struck by how Sun appears to be retreating into the realm of high-end computing (where it's safe - at least for the time being) and away from the realms of "Powering the Internet" and the small dot-com server type environments.
I had wondered if they really had an ace up their sleeves when they presented their Linux strategy a year ago, but it's become so befuddled and unclear that it now looks to me more like rabid scrambling and panic.
Seems to me that Linux provides the ultimate capacity to be a value-add kind of place, but clearly Sun's not into that kind of role. Probably because they've explicitly built up a VAR channel themselves and never wanted to be there.
Tried to go to sleep last night, but instead I ended up laying there thinking about what good options were for "cleaning up" my code in Objective-C/Cocoa.
While working through my pet projects, I've found all sorts of miscellaneous things that I've ended up squirelling away in whatever corner seemed appropriate at the time. The overall code is still pretty small, so now seems to be the best time to reorganize it a bit and make things more intelligable for the long run.
It seems like everyone's favorite target for adding on functionality is NSString. It's not that NSString method support is poor, it's just that I think so many of us have gotten very used to the really awesome support it gets in languages like Perl and Python. Apple still doesn't provide an embedded regular expression setup, so if you want anything there, it's using someone else's framework at a minimum (MOKit or AGKit).
So I've snatched up some quick search and replace code, creating a UUID code - things like that. Miscellaneous stuff, you know? Now where to put it? They can all be class methods really, but I'm being sort of tempted to make a "utility" object instance because it seems like it could be a tad more useful, and tack them into that.
For the NSString goodies, I could just use the category mechanism and add those methods into NSStrings throughout my code base. That sort of looks like what Dan Wood did.
And most recently there's the whole preferences thing. I'm not using the 10.3 controller technologies because I want my code to run happily under 10.2, so I think a singleton class that holds and persists the preferences as a delegate mechanism that also sends out notifications is where I need to go with that. At the moment, it's just snippets of code here and there all over the place - a messy way to be and a lousy way to maintain code going forward.
Ended up having to run some errands on the eastside this evening, the most difficult being a meeting at 5pm. If you're familiar at all with Seattle traffic, that's like the very worst time to have a meeting when you live in downtown Seattle, because everyone and their brothers are all driving back that direction at the same time.
Even still, we made it with a half hour to spare. The meeting went well, and then Karen and I headed over to Crossroads Mall to grab a bite, look through a half-priced bookstore, and generally have a relaxing evening away from the house. We also picked up some candy (yeah, I know we're late) for tomorrow evening.
It's actually getting a tad chilly outside tonight!
I spent the early part of the evening in Karen's studio, mashin' away at Illustrator to come up with some decent icons. I think I've got them to about where I want them, although now that I've got them nailed down, I've realized all the other crap that sort of needs doing - not even related to programming - that I've been putting off. Yerp, here comes life again. Dagnebit.
Karen was teaching up at Northgate this evening, so I headed up there at 7:30 to pick her up (her classes are done about 8pm) and hung out at Toshi's for a bit, drinking tea and chatting with Yong (I think that's how you transliterate his name, I'm not honestly sure). His sister Hensa, who we more often see working in the evenings, has just accepted a job up in Vancouver, B.C. and he'd just found out this evening. He was a tad shell shocked about the whole thing, as apparently she's moving in about 2 weeks and they're quite close. I believe she's a web designer by trade (well, when not helping out at the family Toshi's terriyaki joint) - so I hope she does well. Oh - and I hope I spelled her name right.
Back to chilly though - yeah. It was chilly driving up there, and it's chilly outside now. The house is cool, but I'm leaving it cool sort of intentionally. I like the air cool and while Karen's sleeping (now) in the evenings, she doesn't mind it. She turns up the heat when I'm not around though.
I'm fiddling away at my code in the evenings, mostly trying to avoid the component that I just don't have a good handle on solving: icons. It's the $*%#! icons.
I've got two toolbar icons that are just giving me fits mentally. I have some ideas on what I want to do, but sitting down and actually crafting it out sends me into fits of frustration pretty darn quickly. There's always the issue that I'm not completely artistic (Gus should be choking about this point), but I think I can handle at least some minimal work with illustrator.
Course, I don't have Illustrator on the Mac... darn thing is so pricey, and I use it so rarely, that we only have a copy on Karen's PC. Guess I ought to shut up and just go start fiddling with images, huh?
More geek/MacOS related stuff.
One of the sessions at the OReilly Conference is entitled Deploying and Maintaining Mac OS X in the Enterprise being presented by some folks who work at Pixar. Well, it turns out that they're maintaining a website with some of the snippets from that talk - applescripts and goodies - for doing exactly that work. Just taking a glance at Secret World Of Nerds makes me think this might be a site to keep track of and see how it develops.
I'm not doing that sort of thing at work these days, but it pays to keep track of the current technologies (never know when they'll come in handy) and this looks like they've worked out a huge number of the issues.
I was reading up on the MacOS X conference that OReilly is hosting and scanning through Derek Story's photos, when I saw an image with a background of Mac Developer Journal and a caption that read A partnership of Macworld Publishing and O'Reilly & Associates announced a new publication called the Mac Developer Journal. Each conference attendee received a free first issue on CD.
"What the hell?" I thought. I've been a subscriber to MacTech for a bit now, and frankly I thought they were the only real show in town for a publication dedicated to general Macintosh development. Well, in looking at Google for 'Mac Developer Journal', I found I wasn't the only one. Brent appears to have noticed just a few days ago.
$49 for a year subscription was a little hefty, but if it had good content... well, that'd be something. Some of the other Google-relevant links seemed to have decent reviews of it, so I shelled out for a year. I probably didn't need to, as Zinio has a free trial offer, but I'm not sorry I did.
The initial content issue looks pretty good, and although it wasn't worth $49 to me by itself, I have some hopes that they'll make a decent run of this zine. I don't have all that much faith in the MacWorld publishers, but I'll give OReilly some credit for having some consistently good content on their site which I read regularly. The proof will be in the pudding of course - we'll just have to see how the future issues (it's quarterly) come out.
The reader that Zinio uses is a bit strange, but it's OK for reading for brief stints. I think I'll still end up wanting a hard copy (although I don't mind generating that myself) for those times when I want to drag the darn thing around to a coffee shop without my laptop. They have some mechanisms for shipping "rich" media content (read audio and video of some form) and annotations. It was sort of odd that I couldn't share the annotations with anyone - at least that I was aware of. Not sure if I'll personally use that functionality or not. Given that they have code snippets, I've got to admit that it's a little annoying not to be able to cut and paste those suckers to try them out. Just little nits...
For those interested in Aurora effects, there was apparently another large "explosion" on the Sun that sent a fairly huge amount of space dust and solar wind hurtling towards us. Slashdot has a short article with some interesting links as does Space.com
According to Space.com:
The storm is traveling quicker than most and is forecast to arrive about 30 hours after it left the Sun, Joe Kunches, lead forecaster at NOAA's Space Environment Center, said in a telephone interview. That would put the arrival at about Noon EST Wednesday (1700 UT).
"That's when it starts," Kunches said. But the storm will blow through over several hours, he said, and won't be done for up to two days.
"We may be in for some great aurora," Brekke said.
I'm fiddling around at the barest edges of this whole "web services" thing with a little sample application that posts to a weblog. The funny thing is that there's almost too many ways to make this happen, and it's got me into some sort of mental tizzy trying to figure out which way is the right way. Dangerous stuff, indeed...
So within MacOS X, there's AppleScript support for WebServices, which appears to generally be pretty good. This same support can be invoked from Objective-C through the NSAppleScript class, which mostly works pretty well - but it's sort of strange too. To make it all work, I end up creating a script dynamically in Objective-C (Perl and Python are much easier when it comes to basic string manipulations if you're curious) and then running it. So there's some quirks where I need to make sure to escape the quotes and such, but it generally does the trick.
But since I'm dynamically generating scripts and invoking them, there's really no reason I couldn't do exactly the same thing with Perl or Python and take advantage of the built in libraries that come installed with MacOS X. Shoot - for that matter, I could use Ruby too - I still haven't quite dug into that language yet. Anyway, that's all easy to invoke with NSTask, and Apple even has some really nice sample code online, and it's a common enough question that the Cocoa-Dev list has some pretty good threads on it as well.
Then there's also the XML-RPC class that Brent Simmons wrote over a layer of CurlHandle. Oh yeah, and there is also all the low level Web Services infrastructure that's available for Cocoa as well.
Ya see? Just isn't any easy "right" answer. At the moment, I'm leaning towards the Applescript solution, because I don't have to write that file down onto the disk to execute it. I'd be more seriously tempted by the WebServices frameworks except that there's clearly a learning curve that I'd need to go jump into to get some better ideas on how to use it all properly, and at the moment I'm just skimming around on the surface of this technology.
Well, Gus is off at the O'Reilly MacOS X conference this week. If you're around the conference, he'll definitely be at the reception on wednesday evening for the Innovator's contest. I do sort of wish that I could see that panel... As it is, I've got some stuff keeping me close to home at the moment.
Reading through blogs and such, it appears as though the few attendee's writing are having a good time, and the AppleScript tutorials in the morning have been particularly popular.
As for me, well - I'm sort of having an off evening. Or maybe it's a tad more accurate to call it an "off" day. Things just seem sort of out of whack for me mentally. I don't know if I needed another weekend day or if it's just one of those days where reality doesn't quite click into place. Guess I'll find out tomorrow.
Ken Bereskin's back, this time on a typePad blog system. He was posting a bunch of interesting tidbits back through April or so of this past year, outlining tidbits and neat stuff to be found in Jaguar. Now he's back, with the same gig rolling in Panther.
Karen dragged me out to the Woodland Park Zoo this evening to see their Pumpkin Prowl. It was a cute fundraiser gig that had LOTS of kids all running around in costume, and a really huge number of pumpkins all carved up and displayed. It was a neat thing, if a bit chilly out. We donated a little extra to get some hot cider and generally had a enjoyable time of it.
They were using glow sticks to light the pumpkins, which sometimes didn't quite give a nice effect (they also had lights scattered about) - but sometimes were really cool. With over a 1000 pumpkins carved, the glowsticks just made a hell of a lot more sense to me.
Appearing through the fog, 5 points off the weather bow, Aaron Hillegaas rakes up along side the crew of the Apple and fires a shot across the bow:
While working on the second edition of "Cocoa Programming for Mac OS X," I have spent a good chunk of time working with NSController and the bindings mechanism. And I have bad news: they are poorly designed and poorly implemented. I sincerely hope that this technique is deprecated because it will become embarrassment for Apple and the entire Cocoa community.
He goes on to list shortcomings and details, none of which I can attest to in either direction. I've just been looking at things there, hadn't used any of them yet.
The expected barrage of emails has begun on the cocoa-dev list, and to be honest I haven't yet read a one of them. Going to though, love a good flame war, and this has all the components of being a beaut.
Apple called it V-Twin - know it's known as Search Kit - basically a really nice inverted index and search mechanism that it's had under the covers in MacOS for quite some time (way back into MacOS 9 and before, I think). The author, as I understand it, for this very critter was Doug Cutting, who's more frequently known for his recent work with Jakarta Lucene and Nutch.
In digging through it, I found it to be a little more restricted than using Lucene (there didn't seem to be a way to set a stopwords list, to use your own analysis package, etc), but for general text needs, it should be fantastic. I would suspect it's the critter that's powering the internal search mechanisms in iTunes, Mail, Safari, and XCode, and it looks pretty straight forward to include into whatever application set you might have.
I've been thinking of doing some authoring again (technical) just because it sounded interesting. I'm thinking that maybe I'll work up a little example app and then invert that into a document showing how to make it all work. I've also thought about doing something with the new NSController and bindings mechansims that Apple's provided with Panther.
Today was yard work day.
The easy stuff was running over the lawn, trimming it up with a reel mower. That only took an hour this morning, and I learned that the grass cuts much better when it's slightly damp with dew (with a reel mower) than it does when it's all dry. All my experience previously would have screamed the opposite - but that I haven't used a power mower for a couple of years now.
A late breakfast at a nearby cafe (cause neither of us wanted to cook), and the plans for the afternoon came into focus: spending money and shifting dirt...
It all started about two weeks ago when one of our neighbors was selling off a compost bin that Karen was all excited about. Apparently it's an $80 bin or something, and he was selling them for $10. We bought one - I pulled two fives out of my pocket and picked the bin up and walked it home - a couple of blocks - in the drizzle. Little did I know what was to cascade down from that event.
You see, we already had a compost bin in the backyard. And it's been filled with dirt and "stuff" for quite some time. I never mess with it, because the whole compost thing is Karen's gig. I tried to convince her that I'd participate if we could have the compost bin near the kitchen, but it's really only conveniently placed for yardwork waste in the middle of the back yard. Ok - so that's cool. I'm just not very willing to haul veggie scraps out around the house while making dinner.
That very compost bin has been relatively untouched for about 18 months, and it's a pretty big monster. Maybe 4' high and 4' in diameter made of heavy plastic, with a lid and a base. All full, maybe 50 to 55 cubic feet of dirt. Since it'd been sitting there, composting and beyond, for about two years - you could really think of it a little more closely as 50 cubic feet of solid clay/dirt sheathed in heavy plastic.
Well, the spending money is where this next thing comes in. We drove up to Lowes so that I could get a wheelbarrow and a hand mattock to break up the mighty pillar of doom in order to place the kindler and gentler compost bin into action. While we were there, we also picked up a rechargable weed whacker - been needing something like that for ages in all honesty. (If you've ever seen my verge, I'm sorry. It's better now.)
So all that purchased, a little wrench-in-hand construction when we got home, and then the next 3 hours were spent breaking up the pillar, and attempting to find discrete places throughout the back yard where I could land this stuff. Oh - yeah, that means landing it NOT on some other plants that Karen cares about. That part appears to have been very important. I think I only violated that particular tenant once, and was caught early. Once that discussion was complete, I had a better understanding of the whole situation. I was supposed to make 50 cubic feet of dirt "disappear".
It's now complete, and other than some sore and rather exhausted muscles, I'm only sporting a ripped blister on my right hand and seem to be covered in a fine layer of dirt. Karen's already suggested that I go take a shower. She seemed annoyed that I wanted to just hug her instead. Go figure. I told her I'd go take a shower once I was done writing - so I guess it's time.
Yep, Mac guy - therefore I'm obliged to write about Panther in my blog tonight.
First off, it's really well done. One of my largest concerns has been nicely addressed - that of PGP support. Turns out that with the (incredibly good) updates to Mail, apple changed their bundle and plugin mechanisms to some extent - such that PGP prior to 8.0.3 won't plug in seamlessly. I don't use it all that much, but I paid for it - it's nice to have it working.
I'd been putting up with Mail prior to 10.3, now I'm very happily using it. I still wish I could easily extract an mbox file format from the darn thing (it breaks things up under the covers), but it's pretty darn nice. One of the features that I didn't even clue into until late in the beta testing game is the "presence" indicator that shows when someone you know is online (via iChat) - a little green dot appears next to their name. It's very cool.
Gus has already talked some about expose. I'm with him, I don't know how I worked without it previously. I'm not as psyched about the python CoreGraphics interface as he is, but I gotta admit - it's really cool.
On Python (it's version 2.3 now) - I know readline is GNU, but it's still damned annoying that it doesn't come bundled. When I'm coding in python, I really like the code completer thingy activated. BBum had scripted up some tidbits that are hanging out at the PyObjC project at Sourecforge. I'm hoping a 10.3 version will be around before too long. (I took a stab at it, but it was a really, really weak stab)
There is just so much awesome stuff under the hood on this thing, it's hard to know where to begin. The unix goodies include components that I simply haven't even begun to touch (Kerberized Safari!?!?), and some that I've really enjoyed learning about (the new NSController mechanisms - I'd link to it, but it doesn't seem to quite be there on their website yet).
Duncan has up an article at OReillyNet on the 10 things he really digs about XCode. I'm 100% with him on that whole "code symbols" view. It's wonderful.
Getting into the nitty gritty code thing, the autocomplete mechanism is taking advantage of a new Core Foundation component that is basically enabling the VTwin indexing and search engine under Cocoa. It's not quite got all the programmatic goodies that Lucene has (same author, btw) - but it's not too shabby and it'll certainly do the trick. The temptation for a Lucene port into Objective-C, of course, continues. Shoot - someone's got one underway with Python... maybe I'll just wait for that to complete. Or I could just use Lucene, seeing how java 1.4.1 comes installed with Panther...
The only downside that I'm running into is that I don't have a 10.3 server box out there lurking on the Internet for me to access, script out, and do all this good stuff from wherever. There's always the home machines accessible over DSL, but I dare not open a potentially popular service on that bandwidth - Karen would shoot me.
There's a bunch more things that I can't even begin to think of now, all of which I had to stop myself from blathering about on my blog over the course of the past few months. I'm glad the wait is over.
CNet is reporting that the DOD is drafting a policy. In other circles, this is known as "The US Government is using the Department of Defense to create an economic incentive for the adoption of a specific technology". In this case, RFID.
Actually, I don't have a bitch with RFID's. I guess I'm more and more in Brin's camp on his Transparent Society. The downside, of course, being that I'm equally convinced that the current US Goverment administration will abuse those powers (and already has) in every way it possibly can.
The information is being taken, the genie is out of the bottle. The trick now is (yeah, Brin convinced me) to make sure as many people can get this information as possible. The more the merrier...
In some ways, we're right back down to the small village where nobody really had many secrets, and everyone knew everyone. It just happens that this small village is a tad global in scale.
This guy isn't in some frozen hell and not moving... Nope, this "Iceman" sounds like he's still moving around and kicking. Damn, you know, that's one tough dude. Gotta respect a guy who'll drag a shark out of shallows, onto land, and kill it with his knife. (Grats to Gus for the link)
CNet is reporting that Amazon has released a new feature: Search Inside the Book.
Along with OReilly's Safari, there are more and more indicators that there really could be a good business model to drive all digital libraries. Amazon is trying to sell books with the information, OReilly is trying to encourage folks to subscribe to books... either way, the publishers are getting into the mode that they're providing digital copies of the text (even if it's just the proverbial "bag of words" for search in some cases) - and soon enough someone will kick over into realizing that electronic distribution can be optimized to reduce costs. In case you never looked at it, printing ain't cheap. Cool, but not cheap.
Of course there's a side component that hasn't yet happened. I'm still waiting for E-Ink to get some more chutzpah and actually move to creating some re-usable, high contrast flexible video display material (e-paper). Looking into their PR, they're claiming they're on track to produce something useful for commercialization in the next year.
Can you imagine this technology with a pen-based computing interface? Slowly, ever so slowly, moving toward some ideas that Neal Stephenson nailed down in The Diamon Age.
I'd be happy with a start that mixed the OReilly subscription model and the carry around book format. CRT or flat panel display reading, for all it's benefits, is still damn rough on the eyes.
Multiple days and nights of insomnia and obsession appear to have caught up to me last night. I got home earlier than Karen, fixed us a little stir fry (had to use SOME of the vegtables before we get today's batch from Pike Place Market), and then relaxed onto the day bed with a cat purring on me.
From there on, things get really vague. I recall Karen's dad calling to ask how I was doing. Somewhere in there I pulled a throw blanket over me. I recall hearing Karen shuffling around and turning out lights. There's various memories of turning over while a cat walked across the top of me, staying on top and resettling each time. And then it was morning.
Never really made it to bed proper, so I shucked all the clothes, took a shower and warmed up a bit (the throw blanket was OK, but not really very warm), and had breakfast. I've slept there plenty of times before when I had insomnia (sometimes just changing places makes all the difference), but I think this was the first time I just passed out there.
It's a bit past midnight, and I've given up laying in bed and staring at the ceiling. Another evening with insomnia,and this time my head isn't even spinning with some bizarre obsession or idea. Just couldn't sleep, feeling sort of bored.
Walked out into the dining room, and noticed that fog had rolled in reasonably thick this evening. Watson is reporting that the temp is 57 with 100% humidity. Not surprisingly, we're right at the dew point for the evening, and appears to have been about that place for the past couple of hours that I was hoping to have gotten in sleep.
On a different note, since I'm rambling some here, I received this month's copy of MacTech, which is about the best content for Macintosh developers out there, if you're curious. The magazines almost always have at least one article that I'm really glad I subscribed for - and this month isn't any different.
John Chang has published a manifesto - a statement of purpose to some of his private work that's fairly interesting. He doesn't back it up with anything, but has his own goal that "technology has to be to help people become better people".
I like the sentiment behind it, but I wonder if it's not a tad too idealistic to last long - or to pervade many folks.
Even still, what you do for yourself and what you organize can be done for any reason at all, from idealism to random whim. There's a lot of power in that.
Well, the network might have been a little flaky last night, but today it's the power. Nothing over a huge section of Queen Anne, and extending up into Ballard and Fremont.
Update: The power failure appears to have not made anything in the local papers, and in the end was only about 3 hours. I stopped by the house just before Noon and the power had been restored.
Microsoft is positioning itself for The Big Lie. Yeah, and we "won the war" in Vietnam, and we had evidence of weapons of mass destruction for Iraq too!
I wonder if Steve Ballmer is a fan of George Bush?
My DSL service provider is having fits tonight. Some room probably flooded that wasn't adequately protected or something, but it's causing nasty lag and timeouts when connecting to other hosts with synchronous protocols (think SSH).
I snagged MTR to see what the hell was going on, and it's definately all within their darn boundaries:

Update:
And here it is all nice and functional again:

I really like the pic Meanie on a grape leaf. The ladybug is good, but the wasp/hornet (whatever the darn thing is) speaks to me a little more.
Finished Neverwhere tonight - really enjoyed it. It's a hero's tale, which is sort of obvious from the dust jacket if you think about it. (I didn't). It's well done, with some interesting characters in it. And it took my mind off the chaos that is otherwise swirling about me at the moment. That was particularly nice - that break.
Karen had a shocker for me this evening to boot. She's disappeared into her studio to check her email and hadn't come out for a bit. I was making some tea (another Tea and Rain night) and went in to see if she wanted any.
I got a sad face and a huge hug. Apparently one of the women she worked with artistically had woken up this morning to find her husband dead. He'd been ill all weekend with flu like symptoms, and now he's gone. I can't even imagine what she must be going through at the moment - and I'm very sincerely glad I don't have to even imagine it. With everything else sort of careening around in my head, that unknown women's clamity has really helped kick things into perspective again.
And no, I haven't figured anything out. I'm still feeling somewhat clueless about the problems before me.
Karen decided that we should spend the afternoon outside of the house today, since the sun was actually shining and it didn't look like it would rain the second we stepped out the door.
So we had a lovely afternoon "on the town" as it were. Our first place, and primary visit, was the Seattle Aquarium. We're members, just because we think it's a cool place and want to support it - but I haven't been there in like a year.
They've made some really incredible changes in the past year - and I think all of them are for the good. They have some new tanks available in the large central "intro" area that sort of surround the hands on component of the aquarium. The "donut" of the exhibit Life of the Drifter is wonderful to watch (although I feel bad that they're spending so much time cleaning fingerprints from it) and the nearby tank that's like a free standing cylinder is, if anything, more cool. Karen didn't take to it as much as I did, I think because of the same reason I liked it - the curved plexiglass (I assume it was plexiglass) gave it a sort of magnification effect when looking at the , depending on where they were. It could be odd, but it was great viewing.
Saw a couple of very large salmon heading up the ladders in the the salmon exhibit, and we got to see the newest sea otter pup that's been rescued. The staff there had some really impressive and glowing reports for the er captain that spotted the pup and arranged the rescue.
We followed the aquarium trip with dinner at Ivar's, which is always sort of an amusing affair, just because of the Seattle history. It's a short walk down the waterfront, and I really like the clams and oysters there. Karen had some really nice halibut in a apricot curry sauce that was outstanding. If you like halibut and a sweet curry, I very much recommend it (I had a few tastes of it - she swears she was done with it).
To finish out the night? A bookstore. A great thing on a sunday evening, in my opinion. Karen didn't buy anything, but I did. Not that I needed to, as I'm still working through Quicksilver. That didn't stop me from picking up Neverwhere by Neil Gaiman, or a collection of two stories from Cherryh's history reprinted entitled At the Edge of Space.
So now it's 9:30, we've settled back in the house, it's warm enough that the windows are open to get some breeze through, and I'm debating which book to pick up and immerse myself in for the rest of the evening.
Read through the most recent ADC newsletter, and noticed a number of interesting tidbits out there from Apple.
The first one that caught my eye was Safari Tips for Web Developers. A neat little article outling and providing javascript functions to do various things within the Safari browser. I guess 95% of the world doesn't give a shit about this, since it ain't Win32 IE, but I think it's kinda neat. Actually, the majority of the tidbits in there are really cross platform. They also even linked to an article about the little bookmark "favicon".
Turns out this article is linked from a not-quite-as-interesting to me page labelled Apple Applications, which has various "How to work with Apple programs" documentation tidbits. When I saw this in the ADC newsletter, I was actually hoping for quite a bit more - like how to interact with the rendezvous messaging in iChat which is a rather open secret of being Jabber powered (the local broadcasty stuff, not the AIM stuff).
The last was some sample code: DockBrower, but interesting and amusing in it's own right - if nothing else than because it's just ripe for various hacking possibilities. (Hacking as in doing neat shit with it, not ripping open someone's bank account and/or stealing their identity). Apple's actually published quite a bit of new networking sample code of late, which is nice to see. A sort of implicit encouragement (or maybe explicit) of developing applications which are more aware of the other components around them. I'd guess that Tim O'Reilly would appreciate this to some extent.
There's a place named David Smith & Co in Seattle, over in the area I've heard refered to as the "Hillclimb Neighborhood" which was having a sale on handcrafted teak furniture today. Karen's been wanting some patio furniture for a while, and has had her eye on this place for ages - so when the news came in that there was a sale on the stuff she was really interested in - well, we were off.
So now we have a lovely folding octagonal table and four chairs, all stored away in the basement to wait through the rainy months. We also bought a bench that hadn't yet been assembled. Karen just loved the look, so I guess there's a project now lurking down there too.
Afterwards, I just sort of sat around the house, more or less at wits end and feeling rather apathic about doing anything. Programming didn't intrigue me, even though I have some really interesting problems outstanding on my little project. I didn't really want to go out and eat, didn't want to play video games, didn't really want to do anything. I ended up hoofin' it over to Safeway to get some catfood, onions, and sour cream. Seemed as good a thing to do as any.
Yeah, I generally consider myself a geek. And I suppose it's not a surprise that anyone around folks who consider themselves "geeks" (no, not in the carnival sense) consider Fry's Electronics to be sort of the shopping mall and ultimate geek store.
All I've got to say is damn, but those folks really fuckin' know their market.
We had a Fry's open up here in Seattle (down in Renton actually) a few months back. I hadn't yet been, but of course I'd heard some stories. Those folks who've spent any time in California must think this is just old hat - I dunna. Certainly Fry's doesn't exist in the midwest, where I spent my "formative years" (although recently does appear to be as formative as anything else in my life).
So today, after dropping Karen off to do some teaching at Northgate, I went. I bought 6 movies, and consider myself lucky. It's a freakin' dangerous place, ya know? You go in, and all of a sudden you remember exactly what you'd meant to get a thousand other times and always put off. Coming out with 6 movies isn't all that bad in that consideration. A trip to Fred Meyers usually nets $100 in sales for them - I kept it well under that for Fry's. Karen laughed at me. I guess I kinda expected it.
Karen is the voice of reason for me. Sometimes far, far better than me in that respect. I'm decent at looking at other's situations, providing advice, and I completely suck at being rational about myself. She is the sane one, and does a wonderful job of keeping me on track. If there's a failure there, it's almost always my own fault through some utterly irrational behavior.
I'd blather on, but I'd probably be better just shutting up at this point. So I will.
Like so many others, I've gone out and snagged iTunes for Windows for my office machine. Some features are working just wonderfully - like the tune sharing. I plug in my laptop, and whammo - there's my tune set, no copying needed.
Other components have been really, really painful. I had some MP3's on the office machine, and when I tried to import them the thing just blew up. Wanted to know if I should send a report to Microsoft. Yeah, that's rich! I'd like to send more than a few reports to Microsoft sometimes, but this one doesn't appear to be their fault. (They never seem to ask at the right time...)
If I go through the folders one by one, then I can import some of the tunes, but a few MP3's appear to cause the whole thing to crash. That's really freakin' annoying, ya know?
I wish there were a few others with tunes on my subnet though. The sharing doesn't cross broadcast boundaries, and all the others on my subnet.. well, let's just say that I'm not bunched in with folks who listen to music at their office.
In the words of keanu reeves: "whoa".
Maya is now free for personal use. Talk about getting some motion on people using it - wowsa. It's a hell of a game to play that, because you know it's hard to stop folks from using it commercially for themselves if they want to - they've obviously got some kind of value add or expectation up their sleeve.
A couple years ago there were dozens of 3D modelling and rendering apps out there. I guess my own interests have changed some, because I don't hardly hear about them anymore. A quick look shows the field has thined a bit - but there's still plenty of choice. And now Maya is going for a market-share grab.
The downside of being on the atkins diet is that sometimes I don't feel like I get enough to eat. I grab some breakfast (required, or I'm really in trouble) each morning, some lunch - all pretty normal. But periodically, I'm just ready to eat anything when I get home from work.
Today it was particularly rough not grazing on raw greens as I brought home our market basket from Pike Place Market. I imagine I would have been less than satisfied, as the greens on top were brazing greens. As it was, they all went into a skillet when I got home, and putting all the other good stuff away just got to wait while I cooked and ate all the greens. I just hope Karen wasn't looking forward to them.
I read the pronouncement by Sun Greg Papadopoulos, and I just didn't buy it. I mean, it's spattered on CNet and stuff that he's taking over for Bill Joy.
Nice technology babble and all, but it's not addressing the issue which is clearly going to drive this into the future: economics. Linux and Beowulf Clusters are kicking ass and taking names because they're economic. Intel has dominated the microprocessor market because they managed the massive economies of scale - it didn't matter that other chips may or may not be superior in design.
Sun, of all companies, should have learned this lesson by now. If they haven't... well, I'd consider selling any of their stock for a long haul, if you know what I mean. If Sun, however, can produce something that is ultimately low cost to purchase and operate - then they'll have a significant win. If they can, for instance, smack down some N1 like blade thingy and provide the value-add software that makes it all work together easily - that's a huge value. They'd kick some ass with that. Some of the autonomic computing ideas that appear to have caught hold around the technology circles are really ripe to take advantage of that model. But to make it work, Sun (or anyone really) has to make the cost more effective than just purchasing 100 Dells, some networking and having at it.
Got out and did something pretty different tonight. Went to the blogger meetup and lurked about there from 7 to 9pm, meeting a whole bunch of new people.
Jake has a list of all the blogs from the folks there that I met. If there's something to say about the group, it's that they know each other from reading their blogs and that you pretty much can't pin a label on them as a group otherwise. Except maybe as bloggers.
Don't know why I was fascinated with pinning a label - maybe because I was trying to "figure it out". Note that it really didn't need any "figuring out" - I was just nervous and didn't know anyone there, so I guess that's what my brain tried to do.
Couple of the folks there did a lot of photo-blogging (I'm probably screwing up the name) - tyd, john, and cat being the examples I guess. I had never really quite on to what that was all about, but it's neat seeing the pics. I've seen them on other's sites, but when I look at theirs I definitely recognize parts and points of the city I'm living in now. Kinda neat.
I've been tossing around this meme for a while - that script languages can and probably should be treated more like an individual's "bigger hammer" for getting things done. It's a fuzzy line between there and what resides in my head more formally as "programming". Maybe there's no real demarcation at all, and I'm just plotting some points on a continuum and calling them names.
My idea was spurred by a (I think) rather common problem: Someone left a position, and left behind a pile of scripts that they used to do their job. They had made very, very good use of the scripts to empower themselves to really get a lot of crap done that simply couldn't have been done manually any other way - at least by one person. As the scripts were a pile of one-off things, tidbits that he used daily, and other sorts of computing viscera, it's caused a bit of a problem in the knowledge management role of making sure that his job was carried on by others. First off - knowing what the hell he did (he was one of those guys that did a lot behind the scenes without many people knowing). Second, getting others to understand it and take it on - with or without the scripts.
He used those bits of Perl and BASH scripts to weld together the components of doing his job, for himself. He wasn't trained as a programmer - he just picked up that hammer, saw that it could make driving those respective nails a hell of a lot easier, and started in. Self training with that hammer if you will.
Now organizationally, my friends are in a bit of an uproar - that his job wasn't "documented", that the scripts are unmaintainable, that it'll take forever to get back to doing things as efficiently as he had gotten them done. But I'm not sure they have the right of it... What he did wasn't formal, wasn't codified, and he clearly had built for it himself. That I could take some time in the evening and help them understand those scripts is more attesting to my experience in code archeology than any failure on his part. They had a talented guy who knew how to make his life easier, and he did so.
To be fair, though, I don't know the organization's side of this story. Maybe they'd asked him to script it up and document things, although I sort of doubt it. His job title wasn't anything like "blah blah engineer" or "software diddlyboo". It was that infamous "manager". Not typically the kind of position you ask to script away and build systems for you. Maybe he should have documented his job better, but who knows if the organization asked for that - or even if they did, did they really support him spending his time in that fashion? I'll never know.
But I gotta respect and admire him for figuring out he could use that hammer and using it. Even if it means a few more strange evening phone calls for me.
Tunes make cleaning easier. At least to me. I've been planning on attacking the floors with more than a simple sweeping for some time, so tonight (well, I'm taking a break at the moment), I'm gettin' em done. It's going pretty well - and I have until 7:30pm or so to work on it. After that I need to get headin' up north to pick up Karen and grab some dinner with Nate and Leah before they head out of town for the next month or so.
Damn, but it's the little things that take the longest.
Spent the evening doing house errands and the usual crap for Monday night (it's trash night, etc), and then settled onto the couch with some light jazz and started into the coding. Most of the evening disappeared into finagling the NSTableView in my little app into acting the way I wanted it to, as opposed to the default mechanisms that Apple provided. (Mamasam worked great for me this time - leading me right to what I was having trouble with).
As I was reading through mail, etc. I noticed that someone on the cocoa-dev list was recently inquiring as to any free "grep" like source code. Well, I made REtry some time back, and while it's nasty and hacky, it does sorta work. Only when I looked at posting to the list, I wasn't clear what sort of license I was going to release that thing under. I mean, it's nasty code - but maybe I ought to actually go to the trouble of digging up a license so that people KNOW they can use it for example code or something. I think one of the attributive licenses from the Creative Commons project would work - but now I need to sit down and figure out what I'm looking for and how to make that all work together.
While I was looking at the app, I also remembered that there's a truly huge amount of work in tailoring up the little bits of any application - most of which I haven't done for this most recent project. There's screwing around with all the icons, there's the tweaking of the UI to make it what you want (instead of brutally functional), all the little tidbits that you need to implement to get menus connected to my NSDocument subclass in a document based app.
The icon I pushed from a snapshot just to have something - and I still spent three hours fiddling around with it. I spent from 8 to 11:30pm tonight diddling around with the NSTableView and just figuring out how I would attack the whole "making the menu's work" sort of thing. I've got quite a little to-do list for this little application.
Karen and I saw Budha today. Several times over, in several different configurations, states of undress, with attendants, and alone. We visited the SAAM (Seattle Asian Art Museum). Other than the statues which I enjoyed viewing, they had two things which really appealed to me. One was antique asian furniture -they mixed the mediums of metal and wood in truly fantastic ways, each maintaining it's own artistic value, craftsmanship, and adding to the whole. The other was some printing down around 1940 that had some of the most incredible colors and artistry.
It's definitely a "go back and see again" sort of place, if nothing else than to recall who that artist was with his amazing prints.
Well, after Gus raved about it, I went and saw Kill Bill.
I don't know what to say. I'm stunned. I think the really only cognizant thing I have to say is "thank god he pulled the flick into black and white during some of those scenes, or it would have been completely wasted on me because of red overload." I can't say that I've ever really scene fight choreography like that before. Simply amazing. You'd better love Quentin Tarantino's style before going to see it though.
No, indeed. It has no become clear to me that Gus Mueller was not, in fact, named after the Ceasar Augustus, but instead had his name predetermined in an effort to guide his eventual way in life.
According to the VoodooPad mailing list:
I understand that your name is actually an acronym. 8-) G[ood] U[ser] S[upport]
So now you all know.
Tonight, I learned this. Wish I'd been able to look it up more effectively (I had tried some searches of mamasam, but they weren't useful). In the end, gdb showed me the error of my ways when I noticed that the memory location for the NSString (which I thought was a copy...) was the same each time I hit a particular section of code.
Dagnebbit!
It's explicitly stated in the documentation, (albeit in the superclass of NSTextView) but it bit me none the less.
Ah well. One bug squished - on to the next improvement!
Karen and I had a great conversation today that I wanted to somehow relate out here in my public journal for all the world, and my friends.
We started out talking about her artwork and some choices regarding our finances - should we choose to vacation this early spring, or redo the flooring in our kitchen. For me, it was a toss up - as I hate the flooring, but can pretty safely ignore it (carpet squares, if you can believe that, in a kitchen). Karen, however, had a much more definite opinion. the flooring must go - vacations in february were simply not as important. This all led to a conversation about bringing in money, definitions of success, and somewhere in there what good intelligence is in today's society.
You see, Karen's a full time artist. She doesn't make a whole lot of money at it, but that wasn't really the purpose for that choice either. I think the most recent tag of her IQ was around 140, but whatever that means (I had to ask, isn't that funny - I've no idea what particular relevance an IQ is really, nor what numbers are good) she's a damn smart woman. I think she was actually surprised when I sincerely asked "is that good?". She completed a degree at Grinnell College (which I fondly think of as 'the pressure cooker' where they grow really dangerously intelligent people) in Russian, worked in a couple of different fields, and helped start up Legacy Art and BookWorks, Inc., all before I dragged our asses out to Seattle a few years back.
Since moving out here, she's devoted herself to fiber arts (the definition of her medium is tad hard for me to really define - somewhere between thread painting, embellishment , and art quilting). She's been doing it for herself, for the expressions which she loves, and to a large extent to see what she can make of herself as an artist.
Society's norms are clearly that you have to make a good amount of moolah to be "successful". We're both rationally aware that success to an individual can have vastly different meanings, but that as an artist it was particularly difficult to remember that society's "norms" didn't have to apply. That was falling over into a discussion of retirement pretty quickly, and she really pulled out this great little epiphany:
A lot of people are working to retire to not have to work. But the absence of something (working) isn't really fulfilling in the long run, which is why so many folks who don't have to work (either through retirement or some other fortunate event) have such a hard time sometimes. It's knowing what is fulfilling that's such a difficult task - and which she asserts that a huge portion of people don't really have a clue about. She talked about the Joseph Campbell quote "follow your bliss", but we both agreed that it was really darn difficult to even know what your individual meaning of bliss.
I think she's doing pretty well to know that her version of success (and bliss?) is somewhere in the realm of art and teaching. It doesn't, at the moment, appear to be one or the other strictly, but somewhere in between - sharing knowledge and expressing herself in this medium that she enjoys so much.
On the flip side, I'm not sure that I really have such a good definition for myself. I have a passion for knowledge and technology, but have never had a single thing that holds the detail of what makes me happy. My interests are cyclic, but at least seem to loop through the same general areas fairly regularly. That whole "what do you want?" question is one that I've never really been able to answer with any particular confidence since I graduated from College (I knew that I wanted an engineering degree... I got two).
That sort of conversation (scattered over a several hours, a hot chocolate, a walk in the rain, and chips, and clam chowder) leaves me wondering all those self introspective sorts of things. Am I doing the right thing? Am I expending my passions in the right areas? What makes something the "right"
thing for me to do?
I've sailing to pick back up (no, I've completely slacked and procrastinated on that and haven't gotten signed up or anything), video games to play, rocks to carve, metal to forge, programs to write, classes to take. I've continued thinking about the potential of getting a Master's degree, but frankly I'm not sure why I want one.With the idea of just gathering knowledge for the sake of knowledge and my own random edification, I've started reading and self-taking classes that are available through MIT's Open Courseware site. That keeps me from arguing with professors - a rather unfortunate habit I picked up from MU where I slowly learned that not only were they fallible, but that some faculty were particularly 'human' in that regard. And in case it's not clear; yes - I'm saying that some faculty are a particularly nasty pain in the ass. Probably always will be.
I wonder if I have some strange addiction to cool or chilly weather. It's 61 inside, 53 outside and doing that misting/drizzle combination that shows up as "0.02 inches of precipitation" over the past 6 hours. The kind where you can walk under a fruit tree to stay 'dry'.
I'm loving it. I've got a mug of tea, I've got the windows cracked open, and we haven't yet turned on the heat. I went out walking a little this morning, just enjoying the air. I love this kind of weather.
Ok, so I'm in a pissy mood.
But I wonder if the conversation didn't go something like:
"Hey, you! dick!"... (no answer)
"Dick?"... (no answer)
"DICK!"... (mumbles)
"Dick, get the fuck out there and support me, or I'll have your ass!"
yeah, I know. Petty, easy, cheap shots. I hope the next election resolves this terrible attrocity that is currently reigning in the white house. Fortunately, no longer with complete impunity from the rest of the country. It's not stoppin' him much, but maybe in another year we'll have someone better stepping up to the plate that will be able to start to undo the damage.
If you've never grok'd unicode, go read Joel's article on it, and for pity's sake, don't let him catch you until you've read it and understand it!
Oh, this is beautiful. Thank you Chuq for pointing out this excellent quote material on George W (Shrub) Bush and his administration
It's just shy of my three year anniversary of picking up and hauling my butt out to the great unknown of Seattle, WA. And it's a little over two years now in my house on Queen Anne, a little craftsman bungalow.
I've decided, or more appropriately - come to the realization, that it's easier for me to live in a small house.
We had a lovely craftsman style house in Missouri. Built in the early 1920's as a Sears kit house, it was one of those large barn-style layouts with lots of light, the typically trapezoidal pillars supporting a porch in the front, etc. Brick facing, coal fireplace later converted to wood, and then to a wood burning fireplace insert. We had a good 3000 square feet in that house - four bedrooms (not small) upstairs, a large living room, dining room, and decent kitchen. A den/bedroom on the mainfloor - 1 1/2 baths. In short, a pretty big place for two people. We solved that by having family live with us, or hosting any number of vagrants and friends as they were moving here or there, tither or yon.
Ultimately, though, the house felt like a burden to me. The roof was pitched steeply enough that I never felt comfortable being on it. The foundation wasn't awesome (needed some supporting work, which we ended up doing in two places) and the previous owners had made some incredibly bad landscaping decisions which ascerbated the issues (water streaming into the basement on some occasions). It was a house that needed work when we bought it, and still needed some when we left.
Now we live in a house with 1100 square feet on the main floor, an unfinished basement of the same floorspace (too low to finish out comfortably), and no real attic space to speak of. It's small, and frankly it felt really tight when we moved in and downsized ourselves to it. But it has some charm that I've really taken to. It's small size makes it easy to clean, even while it attempts to encourage more organization. The house has a lower pitched roof - I tuckpointed the chimney this past spring without any real issues. And the yard isn't so atrociously large that it takes me 3 hours with a power mower to keep it trimmed back. Now I use a reel mower and it's about 45 minutes if I take my time.
There's other aspects that are definitely appealing too. The community here in Queen Anne is really outstanding. It (or something like it) were high on my personal priority lists for a place to relocate to - and it's definitely worked out. The house was also in better shape overall - new windows across the board, updating wiring (no post and wire that was active - some just left in place in the attic), and a lovely corner lot with a really large amount of yard for this section of Queen Anne.
Don't know why I'm thinking about all this tonight - it's just been on my thoughts.
So a day or three ago, I made some notes about a Java to Objective-C mismatch in technique, and I'm not really all that sure I was correct in thinking I'd been as mismatched as I thought.
I rebuilt my app using NSMutableDictionary as the foundation down beneath the data model, but in the end I'm not sure there was really a huge benefit in doing so. There was a good benefit to me learning the differences there (practicing, as they say).
So the major benefit seemed to be not having to implement the NSCoding protocol to be able to slam your data onto disk and read it back. (By the way, I'm still amazed at the plethora of ways to do that - the little nooks and cranies of the frameworks are amazing)
But as far as that goes, there wasn't really much of a win at the simple level (I didn't exactly have a complex data structure underneath - no cycles, simple tree, etc.) - It was just as easy to take my custom object, through them into an array, and shove the entire array into an NSMutableDictionary with the appropriate key, and then use the - writeToFile:atomically: method to shove it onto disk (or into the ether...)
Oh - one of the interesting questions that comes up (am I weird for thinking that this is an 'interesting' question?) is how to programatically define the keys you're using for the Dictionary. I chose to follow Bill Cheeseman's example and define them as extern NSString. Don Yacktman's example (Chapter 18) set them up as compilation #defines. A matter of programming preference I suppose - I haven't thought through why one would be more preferable than the other. Oh - and as the amusing note, Aaron Hillegass's examples promote learning the NSCoding protocol.
$129 for Apple's latest OS when it gets released: 10.3 aka Panther. I wasn't sure myself if the 10.1 to 10.2 upgrade provided enough value to me (as an end user) to make it worth the $129 then, but I really think the 10.2 and 10.3 upgrade will. Dan Gillmor is calling it a bit greedy, but I don't think so.
I've also turned around my original opinion of the .MAC value proposition, and I'm pretty convinced that it's worth a $100/yr subscription. I use the email, the disk, the synchronization that's enabled with it, web access to my calendar... And then there's the gravy of the applications that are provided as a part of the deal as well (although I never really did grok StickyBrain. I think that was one where you had to spend some time to learn it to get any real value from it).
All in all, I'm a huge fan of the value you get with a MacOS machine and the associated subscription components. I use it day to day, hour to hour. Everything from developing to doing my office "keep track of stuff" work. I wish our office would support the purchase of these for office desktops - because the potential for sysadmin work with it is incredibly huge. Ah well, enough whining.
The mighty NYT comes across to me as repetative and pendantic... but I guess there's not much to really say on this one. It's just hard to believe that they managed to wring two pages out of Davis getting ousted by Schwarzenegger (yeah, I had to cut and paste that - never would have known how to spell it normally).
That makes for quite the evening wrap up I spect.
A little Cocoa/Objective-C commentary for the evening.
After studying quite a pile of code in example-land, I've determined that I probably have run into a mismatch between how I've coded in the past with Java and the "local" methodologies often used in Objective-C. Granted that this is tempered with a relatively limited view of examples, but I've been out scouring about...
So the mismatch is where I created a simple object and set up some accessor methods for it, everyone else in Cocoa is apparently using an NSMutableDictionary. So fair warning to those of you moving into Objective-C from a Java background...
It turns out there's a number of wonderful shortcuts that can be of amazing practical value in doing this. The first is that the whole NSTableView is really built beautifully to take advatage of calling out data into the table using an NSString key that you might use in an NSDictionary (or it's handy changing subclass, NSMutableDictionary). The second is that you can derive a property list out of the NSDictionary family at a whim. This may seem initially not very useful, but the converse is true as well. Finally, there's the handy littly tidbit that a Mac OS X Property List can be spewed out into the world as XML data. You don't exactly have to go to great lengths to create your own DTD's or XMLNS for verification - it's not that strict (or it doesn't have that benefit if you prefer) - but it still provides for a common data format that could conceivably be read by something other than Cocoa.
So in my little bit of code that I've been rewriting since Friday night, I've got another thing to rip out and replace. The good news is that I now have a much better idea how to quickly implement the Undo/Redo functionality and data serialization. I had been implementing the NSCoding protocol, but have now realized that I was probably doing things "the hard way" in that. Good practice (it did work, after all), but I like the idea of being able to take advantage of those XML-serialized property lists myself.
Now I'm just down to the question: Should I use compiler DEFINE's to set out the keys, or just code them into the whole thing as I need 'em.
John? (Hay, not DeRosa), I recommend you take deep breaths and try to relax. Yeah, the slack-asses are now getting some free time at your expense. It happens.
May I suggest that you approach your manager and suggest that perhaps since you didn't need the time off to take those tests that you might be able to put a similiar sort of thing to use on "personal development"? Yes, a polite euphemism for a day at the pub, drinking lagers and pitching darts at underclassmen by terrible accident. Who knows, they might surprise you... (your manager(s), that is).
Come to think of it, I don't even know who's in the charge of the call center desk there anymore. How's that for being out of touch. Eh, anyway - it's an idea.
If that doesn't work, use some of your artist skills to paint pictures on some squash/pumpkins/gourds (etc.) and take them out to the range and have fun. It doesn't solve anything, but it's amusing to watch them expode. I personally favor filling pumpkins with water myself. Blackpowder, of course, would have (to me) the most interesting shockwave, but whatever you can find will be appropriate I'm sure. (As a recommendation, I wouldn't drop down to arrows - they're just terribly anticlimatic for this sort of thing)
The best of days, the worst of days. Keep working to improve yourself, and you'll improve. It's worth it in and of itself.
Oh - and as Tristram had often warned: never be the fastest (or slowest) dog in your pack.
A wonderful thing started to happen as I was on my way home today - it started to rain. I was thinking about it as I watched out the windows of the bus, watching the Seattle skyline slowly work itself up into what passes for rain here. Hours of slow building - something akin to standing 50 feet below an atomizer moving up to a drizzle. Finally, rain drops that might make you take notice if you weren't wearing a hat.
I really enjoy Seattle's rain showers. I miss the violence of a good midwest thunderstorm, but it's also sort of pleasing to note that it's not something to particularly worry about around here. No battening down really. We get the periodic wind storm, but rains don't usually include them. Just varigated grey skies and something between a light rainshower and a misting. I find it comforting, which I'm sure is just perverse to some. The cold is seeping around tonight, that chilly foggy cold that you only find in the rare missouri autumn. I love it. So I'm having a little tea to celebrate. Tea and rain - warm and cold. It's a really pleasing combination.
You gotta wonder what Al Franken would do with a news article like this. I hope he uses that chart somewhere. It's awesome! (Thank you John for pointing this one out!)
It took me a long time today to realize what I was feeling. I knew something was weird, something that wasn't quite normal. I was relaxed. It was very odd. I don't normally think of myself as being all that wound up, but lately I have been. Aside from the obvious indicators (Karen telling me I was all stressed out and should chill out), the subtle ones were there too. I knew I was running tight, but I hadn't quite realized how tight until I spent this weekend doing the opposite of busy - nothing at all.
Ok, so it wasn't nothing. I actually spent a huge portion of the weekend reading and learning. Most of it was actually spent diddling around with Cocoa in Objective-C, writing silly little 30 second programs, and messing around with one I should have been done with by now. It's my learning program - so I've rewritten the whole damn thing about three times now. Maybe four - hard to count what's a rewrite with the changes big and small that I've made. (That's what happens when you vascilate on what you want for a UI).
Read some Niven, read some Stephenson. Worked through the first large section of Bill Cheeseman's Cocoa Book with Xcode to see how it translated (pretty well as it turns out). Spent hours delving through the other biggies too - today's task was to see how each of them made an example of saving data. Turns out there's quite a number of ways... I told Gus that I'd classified him as "Cheeseman Version 3 - Keyed Archiving". That's not really fair, as the other's all really came out before Jaguar (10.2) and it's capability for Keyed Archiving. It does seem to be "the way to go" with saving data though. Solid and flexible.
With all this grinding through books, code, and such - you'd think that would keep me running at a nice stress level. Well, apparently I find it relaxing, because I'm all chilled out now, thinking about how I probably won't be come about 8am tomorrow morning. Gotta work on that I think.
Woo Hoo!!!
To a good lady too! According to the GusNews web site, there's going to be a small hootenany in St. Louis (with a weddin' in the middle of it), and then are large hootenany in Seattle. Depending on time timing (hint, hint - get some dates Gus), I might be able to swing both!
I define "handywork" interally very close to "busywork". Even still, I know it has more usefulness, and I finally did some long-outstanding "honey-do's" (the other definition of handywork) today. Most importantly I fixed the door.
It wasn't horrifically broken - just a few minutes with a wood file and some sandpaper to resolve where it had swollen a bit too much for the doorframe because of the higher humidity of winter. (For my friends in Missouri, I'm sure you're laughing now - spring through fall are the high humidity times there).
This was honest-to-goodness wood swelling too - not the massive house movements that we saw in Missouri based on the swelling of the ground. I used to have doors that would only open and shut cleanly in the winter - others that only worked properly in the summer. It was odd, but you quickly got used to it as part of the character of a house.
The foundation here is MUCH more stable, so a little wood swelling in a doorframe is the worst we've really seen. In summer, it swings so nicely that it's almost strange - there's even a visible light gap then. So now we can open the door smoothly instead of having that jarring rebound sensation when the top of the door sticks at the doorframe, and it just refuses to open until you wiggle and ease it unstuck.
Sun is getting quite publically kicked by an open letter from an Analyst who works for Merrill Lynch.
What I continue to be surprised at is why Sun hasn't made some changes. They seem incredibly wishy-washy with their linux "strategy", and unclear in their SunONE offerings as to what the real value is - well, to folks other than them anyway. On the other hand, their blades are nice and a good idea (although a tad of a heat issue) and their recent OS improvements in Solaris are finally getting them on track with other Unix's.
I suspect this analyst is rather dead on though - focus or die.
mmmmmmmm
Just got a bag of shitake mushrooms in our market basket this week. I didn't even wait - before everything else was put away, the butter was melting in a skillet and I sauted up the whole damn thing.
damn, but that was good.
Drove Karen up to Shoreline Center this AM for a conference she'll be attended over the next day. She's planning on bussing it mostly, but it seemed easier to get her equipment up there via car. It's a few miles north of downtown Seattle, so I took Highway 5 up there, but I sure as hell wasn't taking it back south...
As I was heading back (heading for Aurora - Hwy 99 - a large north/south arterial that traverses quite a bit of the area), I took some side roads around 186th NW. Man, are those trees showing. There's some beautiful foilage up there, with the maple trees transforming into incredible colors.
Since I was coming down Aurora, I thought I'd but forgiveness for being late to work, so I picked up a dozen glazed doughnuts for the office. Sort of sick to do that to yourself while you're on the Atkin's diet - but once they hit the office, it wasn't an issue. They disappeared within minutes.