May 31, 2004

Memorial day

This has been a somewhat somber day for me for many years, maybe even a little maudlin. memorial flag case Today we're supposed to be honoring the sacrifices made by those who have answered the call to national service but by and large, we just take a day off work, cook lots of meat on the grill and hit the sales at the big chain stores. A pretty typical US Memorial day.

I saw a few flags out on our street, but no where near the number that fly for other events. No one reads a paper anymore, television news is useless and no one is reminding us why we have this holiday (newspapers have traditionally filled this role with memorial day weekend editorials and feature articles). I almost forgot to get the flag out and I usually make a big deal about it (I entered military service on the day after Memorial day many years ago, so I have a personal connection). Given the circumstances (even as I try to avoid politics this year) I feel a need to say something today.

If you really care about the sacrifices that have been made to get us where we are, then take some time and read the transcript of Al Gore's remarks on the Iraq crisis made this past Wednesday. If that's too much, download the speech and listen to the whole thing, not just the sound bytes shown on CNN Wednesday evening (it's so much better than that).

Gore is unlikely to ever top this speech (I'm no a fan) but he managed to hit every single issue I have with how our government is being run. He also captured the idea that we can't even manage the rights of our own citizens properly, it's little wonder that right of others are of little concern. For good measure he also followed up on General Zinni's comments about our preparedness to wage the war. No arguments about what weapons may or may not have been there, Zinni talked strictly about our military readiness and commitment (we didn't really have either).

Ultimately, to blame the national shame of Abu Ghraib on a bunch of teenagers and reservists is a disgrace. Our military men and women deserve more and our leaders have failed them.

Posted by dely at 08:16 PM | Comments (0)

Project based weblogs

Michael Schrage (he wrote a technology series for several years carried by the LA Times) recently wrote an interesting article, The Virtues of Chitchat which delves into the corporate weblog concept (oh what a tangled web we weave) and then rushes past that to propose project blogs (or plogs).

Wikis fit into this whole concept too and from the looks of things we're going to be using them more as well. Perhaps there is a good fit here somewhere, but with all of this being rather new I think we'll just have to stumble along until we find it.

Posted by dely at 05:10 PM | Comments (0)

Using what you've got

I was listening to a Gillmor Gang broadcast from May 21st and the conversation turned to digital identities, domain key and a host of related topics. Jon Udell pointed out how interesting it is that the less formal (ad hoc as he put it) mechanism of extending DNS via text (TXT) records is being used in all of the current proposals rather than creating a new record type (something I've wondered about in private communications... why not use a new record type? It seems to be a pain and while it might happen eventually, using TXT records gets things done more quickly).

Jon thinks there is a bit of a lesson here about explicit versus generic (and informal) methods for system extension. Time and time again, the generic mechanisms prove sufficient while changes using the more official extension mechanisms are harder to create.

IT Conversations is pretty a neat concept, but I don't see why they don't leverage something a bit more bandwidth friendly (to themselves) like BitTorrent?

Posted by dely at 09:44 AM | Comments (2)

May 29, 2004

More useful comment feeds

What a neat idea!

Whilst wandering around looking for an update to MT Blacklist, I noticed that Jay Allen pointed to an idea by Boris Anthony where links to the blacklist admin pages are included inside the comment feed entry. That's pretty darn convenient.

I tweaked things a bit (basically merging the two) and I finally got to use this method of accessing an entry when I added an additional dynamic link to the page.

<$MTCGIPath$>mt-view.cgi/<MTBlogID>/entry/<MTEntryID>

I've been meaning to find a use for the view.cgi for a while now... that's one less note sitting around.

Posted by dely at 11:43 PM | Comments (0)

May 28, 2004

Duck and cover

Lewis Black I saw black on broadway the other night while killing some time in the hotel. Having never heard of Lewis Black before, I had no preconceptions, but found him pretty funny.

The bit about frightening the hell out of school children with movies about atomic weapons followed by lectures about getting under our desks in the event of a civil defense alarm brought back many childhood memories (like this original government movie and a modernized Sim people version which is quite funny). It was nice to see that I wasn't alone in my childhood terror or my perception that the adults spouting this nonsense had zero connection to reality. Black's vision of charred teachers and unharmed children cowering under their desks after an attack grabbed my attention and made me laugh out loud.

If you like dark (Black?) humor and don't mind profanity it's worth a look. Given that it's being shown by HBO, it could be there forever.

Posted by dely at 07:36 PM | Comments (0)

Business logic centralization

Ted Neward has a string of recent entries starting with The 11th Fallacy of Enterprise Computing (related to the location of business logic), More on the 11th Fallacy and Craig responds to the 11th Fallacy with an item about middleware (or the 'middle tier') tossed into the mix. Ted may (or may not) have intended these articles to be a collection, but they do hang together.

One of the big changes we've seen happen in the last twenty years (or so) is the migration of business logic from the central core of the business to the edges and back (server side to client and back to somewhere in the middle). Harry Pierson sees this strictly as a scalability issue in Is the Middle-Tier Endangered? and The Endangered Middle-Tier, Part 2.

The reality (as I see it) is that any system with any kind of longevity will always require some kind of glue around the edges of the database to deal with changing conditions. Systems need to grow and the rules one can create at the database level are still rather rigid and limited, so you need an enforcer until you can ensure that all records have been set up to meet the new conditions (transitional situations which must occur live as a system grows). You'll also need to deal with old and new systems who need to read and write; which requires an adapter layer in the meantime (we've opted for a permanent adapter layer which de-couples changes on both sides). A lot of people are using web services to create these adapters today, which isn't altogether a bad thing.

A big part of the problem people have with client level business logic is the difficulty in updating the client. It's not so much offloading the problems there but simply getting the correct information in place. If you can assume a frictionless model in which clients can get an update on the business logic any time they need to (which is where some people are driving service models), you should be all set, right? The big win of using a meta description of business rules exported to clients is that the rules can change while the client stays the same and that the client can do native error checking and reporting (always good from a user perspective). The problems with this approach are twofold; one often acknowledged, the other largely ignored.

  1. The one that (eventually) everyone gets is that you can only change behaviors based on the meta data the clients understand. Over a long period of time, with many client versions that need to be supported and a growing number of behavioral decisions, things can (and usually do) become quite complex.

  2. What is less well understood by most who jump into such systems is that client side rules are client side rules. What I mean is that the rules may live server side, in a central database even, but they are only for client consumption.

    Rarely are the rules constructed in such a way that all systems involved read from and react to a standard set of rules (even if that would be good). Unfortunately, because the rule sets end up being client side only, they occasionally get seriously screwed up and no one notices until customers complain, which leads to client side code to verify the verification rules and if they look too deranged, the client drops back to a minimal rule set. At which point someone complains because the clients are working (and ignoring the rules!) It's a vicious circle.

    If you absolutely need to centralize rules, make sure everyone lives by those rules.

It's certainly true that you are better served by keeping all limits and other potentially hard coded data as far away from clients as possible, but you will and you must allow clients to make decisions and that's the place where hard decisions that have a long term affect on your business will be made. Clients have a bad habit of living way beyond even the most pessimistic predictions.

There doesn't seem to be a perfect place to create business rules in my experience.

Addendum:

I wrote this last weekend while thinking mostly about back end and client issues. I stuck it on the shelf because I wanted to give it some more thought.

Out it goes now because of other events of this week, including some meetings during which we considered cloning significant chunks of decision making capability from one system to another. Without synchronization of some kind, the end result might not be pretty.

Posted by dely at 05:34 PM | Comments (0)

May 24, 2004

How RADIUS works...

simple radius flow A few weeks back, I was asked (somewhat informally) to create some documentation describing how RADIUS works (at a pretty high level). I'd figured that I could start out with a piece of a pretty silly, but useful PowerPoint presentation created by one of our engineers that shows how custom attributes are handled in our system (with lots of bells and whistles).

Before doing that, I looked around and found some great source material:

  1. Cisco: How Does RADIUS Work?
  2. RADIUS: Secure Authentication Services at Your Service
  3. An Analysis of the RADIUS Authentication Protocol

The Cisco document, How Does RADIUS Work? is far and away the best introduction I've seen online. It's straight forward and very skimpy on details, but the details are exactly the kinds of things that make non technical people lose it when we're trying to convey basic concepts.

I need to find a way to convey the basics (like the Cisco document) while adding the additional complexity we deal with daily (and need to prepare for). It's still on my to do list...

Posted by dely at 08:04 PM | Comments (0)

May 23, 2004

Struggling toward the future

Diego posted something interesting last weekend (I meant to link to this last week, such is life) called two steps forward, one step back which talked about the high degree of coupling software tends to create. There are some interesting ideas there to think about.

Many of us have teased windows developers because of all the weird DLL interdependencies which have popped up over the years (commonly known as DLL hell by users) and I was certainly bad about it. On the Mac, we had these issues, but generally worked around them using things like Gestalt (a dynamic system used in classic MacOS to express versioning and capability advertisement) and code that dealt gracefully (or at least reasonably) with missing features. Crashing is not an option.

In the last few years, I've grown to know and despise the java variant (aka .jar file hell) which doesn't happen on the users system (typically), but happens none the less (on the server side) by virtue of java based system growth. The interwoven set of dependencies is ever growing as application containers grow and change and the number of applications one might deploy do likewise. Eventually, old code has to be re-written (or refactored) to deal with a changing API landscape.

It's also true of most of the core applications I use every day. They're dependent (largely) upon a collection of system and open source libraries which change over time. Often giving, sometimes taking away. The features available in the libraries influence to the capabilities in the applications written on top of them.

While Diego seemed to be thinking mostly about UI, I learned a long time ago that UI's are simply one aspect of an application (or engine) API. I'm not certain what caused that point of view to exist, although moving to a separation between data and presentation helped I tend to think adding AppleEvents was the final catalyst (to create an AE suite for an application meant creating a generic object like view of your data).

Forgetting this concept by ignoring a rational data model at some level leads to long term nasty issues. I've been there and wear the scars. By assuming that new features can always bubble up, he also ignores the history we have to guide us. The compromises created by known structure sizes (and data) in legacy operating systems are now legend. Concepts directly expressed in shared data structures are nearly impossible to fix which leads to a more layered approach and software based compartmentalization (if you don't need to know, you aren't going to be allowed to know). Finding the right model for inclusion is hard and fraught with its own set of problems.

Big systems (like Longhorn) tend toward being largely monolithic. While that carries a lot of positives (yes, we can depend upon this functionality) it also has drawbacks. Especially when it comes to file system changes like WinFS. Some of the biggest hurdles Apple had to overcome to get MacOS X out the door were file system related. While most of the details of the file system(s) are hidden from most applications (making it easy to deal with the majority of apps), there are driver level APIs that allow applications to know quite a bit along with the drivers themselves and the driver model they sit on top of. Creating a new set of layers that wraps (and maps) everything done today while adding a whole level of functionality is an immense task and I wasn't surprised to see it go sliding back a bit on the schedule.

File system stuff is usually opaque for a reason (to hide details). WinFS seems to destroy that concept by being not only quite expressive at a high level, but also by seeming to allow links back and forth across layers. Microsoft has a huge task ahead of themselves here and decoupling it from Longhorn will likely make WinFS better (and perhaps Longhorn in the interim).

I'm not sure where all of this leads, but it's good food for thought.

I've been wrestling with these problems for a few months and not gotten as far as I'd like while pondering a major data store transition. Some applications (generally data consumers) can deal with minimal APIs. Others have a need for complex and expressive data which needs to stay consistent regardless of any re-organization underneath them. Writers have to deal with all of it, being cognizant of past, current and future relationships and dealing with them appropriately. Finding the right balance and a way to make the transitions is the really hard part.

Posted by dely at 08:51 PM | Comments (0)

Layovers

My wife loves a good deal and often can't resist the urge if one is presented... like today.

She was supposed to have a lot less difficult trip than the one we had yesterday (from Raleigh to LA via Philadelphia — it was a long trip even if we did get to munch on cheese steaks) with just a short stop in Charlotte before continuing. She called earlier to let us know that the airline was a bit over booked and she had accepted their offer of two round trip tickets (to anywhere? we'll have to check on that) to be bumped to a later flight.

So we're on our own again for dinner and I am definitely going to have to finish doing laundry because I have to climb on another airplane tomorrow to head for Atlanta. I've said before that I really don't like traveling, the whole experience is just such a major pain (airport security and all that entails, rental cars, hotels... all of it is so non-personal that it re-enforces the idea that you are in an alien place). That said, it's a lot nicer (and more expensive) when doing it as a family. Having the people around who are most important makes the experience a lot easier to deal with.

Posted by dely at 06:47 PM | Comments (0)

Thanks to all

I wanted to thank all those who sent (or posted) a note of condolence, flowers or just said an extra prayer.

We laid Dorothy to rest at Raleigh Memorial Park on Thursday and along the way I learned some new things about my mother in law that I plan to gather together later (hint hint, you know who you are).

kids I also wanted to thank all those who were there and made it what it was. Funerals tend to be the big family gatherings that everyone makes it to and this was no exception. Ten children, an assortment of significant others, thirteen grand children, cousins not seen in ages, Dad's brother et al., neighbors and church members... There were times when I thought the house might explode. And with rare exception, it worked without a hitch.

There was an amazing gathering of people outside the house on Thursday afternoon where a small football toss between four of us in the cul-de-sac out front turned into an hours long marathon of monkey in the middle. At one point, we had about twenty people out there playing (with three monkeys) ages six to forty five, all of us sweating, chatting and carrying on along with a few casual onlookers (all of whom probably thought we were bonkers since it was at least 90 degrees and 90% humidity). It was the most interesting family experience I've ever had; something I'm going to remember for a long time to come.

We also had a terrific impromptu dinner on Friday for about 25 people. Danny's barbeque chicken was a huge hit (I'd asked that he make it on the way back from a round of frisbee golf... my kids have been raving about Uncle Danny's chicken ever since he came out here to stay with them two and a half years ago).

So once again, thanks to all.

Posted by dely at 05:30 PM | Comments (0)

May 17, 2004

It's a part of life

Sarah's mother Dorothy passed away last night and we're off to Raleigh in the morning.

It's been a hectic day getting things set up for the abrupt trip, pulling the kids out of school (and getting assignments) and all the other little details. The funeral is on Thursday morning but I don't have much more about it at this point in time. If you need more information, I'll have my cell phone with me.

Posted by dely at 05:48 PM | Comments (2)

May 16, 2004

Project Gutenburg

Have I mentioned Project Gutenberg lately? It doesn't seem so and that's too bad. I was chatting with my sister earlier today and said I'd put up something about it. They're doing some really useful work and I've been freeloading a bit lately (which was why I mentioned it).

I've known about the project for some years, and from time to time found myself poking around to see what was new. If you don't have any idea what I'm talking about, go look at their description. Starting with the Declaration of Independence as the prime document, they've continued to gather and distribute plain text versions of every text found important by some contributor willing to spend the time to make it available.

They've managed to keep up with Moore's law for the last few years as the pace of new texts has greatly increased. I doubt they can keep that up (there is a dwindling supply of license free source material and only so many dedicated volunteers) but remain quite impressed none the less. Their download costs are probably skyrocketing, but for now mirroring and the relationship with ibiblio (with deep pocket corporate sponsors) helps to mitigate them somewhat.

The project as a whole has an interesting sense of editorial responsibility. This quote (regarding proofreading) from their most recent newsletter made me laugh aloud:

A panda goes into a bar, orders a sandwich, fires a gun and heads for the door. A shaken barman asks why. 'Look it up,' says the panda, throwing him a badly punctuated wildlife manual. The barman turns to the relevant page: 'Panda: Bear-like mammal native to China. Eats, shoots and leaves.'

They've also started to dabble a bit with audio books created by computer voices. As a sighted person who has tried it, I'll pass but I think this could be an invaluable service to people who can't read (the blind and perhaps others, like recent immigrants who need a classic book read to a child). If it gets better (a lot less monotone), it'll have a lot higher usage.

So what do I use it for? Right now, just the classics.

It started with Shakespeare, after some school assignments for the kids required reading Shakespeare and I wanted a refresher. I eventually learned that the versions I'd found were available at Project Gutenberg and that there were other (often better) versions available. Right now, I'm reading what some consider the best version (translation) of Jules Verne's 20,000 Leagues Under the Sea (translation by Frederick P. Walter), a book a I loved as a kid. When I finish this one, I'll go looking for another classic and repeat the process.

Which is?

I had been using text files, but have switched over to printing to a PDF file after fiddling with things a bit (word wrapping most of it, bumping the font size, changing the page size so it fits better onscreen). I've switched over to using Preview as my reader and am pretty happy (I wish we still had resource forks so I could ask that Preview add a current location resource relieving me of the need to remember my place).

I've tried printing some of them, but that was back when printing around here was a major pain (we recently added a networked LaserJet 1300n which just works for everyone, all the time). Even with more convenient printing, I kinda like reading it on my PowerBook rather than on paper; I want diagrams printed (on big page printers) but I love being able to blow up text when I'm having a bad vision day.

Posted by dely at 02:28 PM | Comments (0)

May 15, 2004

opensrs.net problems?

What's with whois lookups against opensrs.net today?

Yeah, I'm a whois junkie (who isn't?). I've tried to find some information about domains listed on opensrs.net a few times today and come up with squat (timeouts or connection refused from multiple hosts). I even went so far as to use the tucows web service for whois, complete with a captcha type verification system. It failed too.

I'd have sent personal email to Ross, but I couldn't find an email address (yes, that's something I'm going to have to address here; I can find one, but I know where to look).

Posted by dely at 11:08 PM | Comments (2)

Jones knocked out?

I'm sitting here working on various things while sort of watching a little EyeTV window where the Lakers are playing the Spurs.

The game is at halftime and Charles Barkley just babbled something about Roy Jones getting knocked out. That's certainly remarkable, if true...

Update: Seems Tarver put Jones down.

Posted by dely at 08:59 PM | Comments (0)

A case for self defense

There may be better examples of people creatively defending themselves from a speeding ticket, but I don't recall seeing one.

Of course the officer screwed up the date of the event along with the make and model of the car in question leaving the police little choice in the matter. Given the facts in evidence, the defendants theory is either plausible or the case was lost...

So to recap, it appears that on my birthday on June the 23rd 1974, I crawled out of the maternity ward, hijacked a seriously high powered Honda saloon with an automated number plate changing mechanism, drove to Auckland at close to Mach 1, was pulled over approaching the Bombay hills and unwittingly changed the automated number plate changing mechanism to show the same number as a car I would come to own almost thirty years later!!

[via Good Morning Silicon Valley]

Posted by dely at 11:00 AM | Comments (0)

Signal handlers

Signal handlers must be reentrant.

Generic logging code is most definitely not reentrant.

Lessons learned? Don't do anything even mildly complicated... change the flags that need to be changed, reset the handler and get the hell out.

Posted by dely at 09:32 AM | Comments (0)

May 13, 2004

Blogware 1.0

I feel really badly for not saying anything about Blogware going 1.0, but I was kinda waiting for Tom and/or Joe (local folks I know who are doing much of the heavy lifting on the backend) to say something, but it hasn't happened yet.

So here it is: hey ya'll, congratulations!

I'm guessing that they've gotten caught in the typical post 1.0 bug blizzard. What I've seen happen, time and again (after nearly every company), especially for significant releases (the dreaded x.0 syndrome) is that everyone pushes back on 'issues':

  • Oh, we'll defer that.
  • Well, that's not really a bug.
  • Oh, do we have to have that to deploy?
  • ... and so on ...

The day after the "we shipped!" party, while everyone else is off sipping margaritas, hanging out and patting themselves on the back, there is usually a core group of developers who are wondering just what the hell they've gotten themselves into as they break open all the postponed bugs and begin to deal with the wave of issues they've never seen before.

Such is the nature of software development, more so if a dynamic environment is involved (networking, etc.).

Posted by dely at 12:09 AM | Comments (1)

May 11, 2004

Why'd they go and do that?

They've done another version of The Manchurian Candidate.

Yes, it's going to star Denzel Washington but the original Manchurian Candidate is one my favorite films and I just can't see how a glitzy remake is going to get anywhere near it. The last remake Jonathan Demme did, The Truth About Charlie certainly doesn't appear to have turned out very well.

I hope that Washington and Demme can capture the kind of complexity and intensity they had in Philadelphia... that'll make it at least a bit interesting.

Posted by dely at 12:07 AM | Comments (0)

May 10, 2004

All over the map

Some recent reading about this and that. There are some relationships, but I'm still puzzling over them. Don't expect me to connect the dots anytime soon. I wonder... should I do this more often?

  • taint.org: Newspaper front pages from Around the world, as PDFs

  • The War on Drugs is Lost, a National Review Online article I'd never seen and wasn't expecting (it's more than eight years old now).

  • Truth and Politics, an interesting speech on science, journalism and politics (also several years old).

  • J-Walk Blog: Dr. Cooper, I Presume, Alice Cooper gets an honorary doctorate because he's now a monied family man? I guess Sam Kinnison just didn't live long enough.

  • The Stock Market As Ponzi Scheme, an article I wish I'd never read. One of the comments points to The Stock Market by Mark Cuban which is even more discomforting in a strange sort of way (the daily calls about fundamentals sounds so plausible in the buy now, trade three minutes later market we see today).

  • The Frankfurt School: This appears to be the fundamental essay explaining 'Cultural Marxism' and 'critical theory', which led to todays notions of political correctness according to a group seeking to Restore The Republic. They argue that Herbert Marcuse, who is oft credited with coining the phrase, 'make love, not war,' during the anti-Vietnam War demonstrations was an intellectual Marxist and a member of the Frankfurt School group which was intent on tearing down traditional western society. Culture Wars, an interview with William Lind expands on some of these concepts.

    What I object to is the absolute rejection of feminine usefulness. A perceived bias towards 'the disintegration of the traditional white male power structure' is completely misplaced in this day and age, even if the author is an old naval warrior. We Anglo's aren't going to be a majority for very long. It seems to make sense to help re-establish the power of women in society before passing the baton to those who don't think the female deserves a voice (much less real power). While its possible to blame sixties style feminism on the Marxists, I find it hard to pin that on earlier decades of struggle.

    Women had contributed in positive ways right up until men took over ownership of all historical records and more recently (if Israel is a guide), they've contributed significantly politically and militarily. I remember my shock upon meeting my first female Israeli trooper, a very pretty young woman, strapped with a standard issue Uzi who accepted my invitation to dinner (she was a typical Ashdod teenager doing her duty from her perspective).

  • Phil Plait's Bad Astronomy: Misconceptions

Posted by dely at 11:57 PM | Comments (0)

May 09, 2004

Local Paintball

This one's for Stephen...

Here are two sites which rate Paintball fields (and have additional information about them): pbreview which seems to have more California fields listed and Paintball In California.

Ultimately, Paintball USA in Simi which is newer (but smaller) seems to have a better reputation than Urban Quest Paintball.

Posted by dely at 03:50 PM | Comments (0)

May 08, 2004

Assimilation

Ack! I've been assimilated into the California parking lot zombie society!

I realized as I reached my car this afternoon (in one of this nations never ending series of 'shopping centers' — basically a strip mall on steroids) that I was walking around in a parking lot (not at a heavily trafficked area, but still... there were cars around me) without paying any attention to what was going on. I just don't do that. I had other things on my mind but that's no excuse.

Growing up in New Jersey, I learned early on that cars are big and humans are puny. Any full contact argument between the two would result in a significant damage to the puny human. As a result, I learned to watch where I was going, wait for a reasonable break in traffic and if I was really into testing the limits, run like hell to beat the car. Assuming the car would brake was not rational (the driver could be distracted, drunk, asleep and a host of other mitigating factors). Besides this was New Jersey and you never can tell when the pedestrian hunting season is in full swing; if you're close enough to see the murderous rage in their eyes, you are about to become another bumper decoration.

The result of all this was that as a driver, I sort of expected the same kind of sanity from pedestrians. For the most part you got it (remember, this is the mid seventies, pretty much up and down the east coast).

Fast forward to late 1983 when we moved to California for the first time. My first thought was 'what in the hell are these people doing?' People would look right at you and step off the curb, seemingly daring you to hit them. Are they out of their minds? Umm, no, there is a law that says that drivers are responsible for avoiding pedestrians who wind up in front of them (via any means short of flying I think) as long as they are within a marked crosswalk. Whoa, time to rethink some things. I sort of adapted, we stayed a few months and then fled back to the east coast.

After we moved back out here permanently (more or less, we've been here ever since) in late '87 I noticed this all over again, but it was getting worse. Now it included areas that weren't always specially marked and it began to happen all over... basically any place with a low speed limit.

Eventually, this led to what I call the parking lot zombies.

They wander around in parking lots, completely absorbed in whatever they're thinking about and paying zero (nil, nada and zip) attention to the world around them. It's not uncommon to see a family walking through a parking lot aisle (usually one way in these parts because we typically use diagonal parking), strategically spread across it with a few cars inching along behind them. They'll be chatting, look around behind them, notice some cars behind them and do nothing except to continue strolling along as if this were a situation not to be concerned about. Of more concern is the fast guy (it's not normally a woman) who just emerges from somewhere in a big hurry to get somewhere and looking nowhere.

Of course, this behavior created a paranoia of the pedestrian (or should that be pedestrian paranoia?) where everyone drives along anticipating that someone is going to appear in front of them at any moment. The posted limit in this empty lot is 10? I can go much slower than that! Creeping as an art form has been perfected in this state (we get a lot of practice out on our freeway system too). I think you could post a speed limit of 50 mile per hour and most people would still do about 4 - 5 (some of us lunatics would take you at your word, so I don't recommend this).

Old habits die hard. I still find myself waiting for a break in traffic and at times that makes things worse. I'll find myself waiting to cross as the traffic creeps on by and someone decides that I need to cross now (or that I might accidently lose my patience and run in front of them, I don't know which) but they're going to stop and let me cross in front of them, regardless of the six cars behind them that I was going to let go by. We start waving at one another and I usually have to cross just get them jump started. Of course, I wasn't worried about the side, I was watching the other side where ten cars are now stopped to let me go past.

Posted by dely at 11:28 PM | Comments (0)

Upgrade? Maybe later!

My track record with system updates over a long period of time is not exactly stellar, I seem to be a bug magnet. I made this fit my world for a while by using one system as a guinea pig for new updates, always on the edge while keeping my working system a version or two back. Eventually, things changed and I've basically stuck with putting off system upgrades for as long as possible. Now I not only have my critical day to day communication applications running on my system, I also have to deal with our core systems, which are running locally so that I can respond to any kind of problem.

As usual, I put off the update (from 10.3.2 which was working just fine) until things had settled down with it and I had some time. The latter is never going to really happen but things were kind of quiet in the morning, the former seemed to be true and I wanted the security updates I'd been ignoring so I figured I'd give it a shot. Yeesh... what a pain in the ass. I'm now running 10.3.3 but I'm still waiting for the rest of the problems I'm going to encounter.

It's possible that I may be having some hardware related issues, in which case I'm completely hosed (I live on this system, a 17" aluminum PowerBook named BigAl). Part of the reason I decided to update was to see if I could make a Jabber problem go away; while I believed I was happily online using Proteus, the rest of the world has often been wondering where I was. When I'd send something, Proteus would (finally) notice that I was offline (putting up a modal dialog) and reconnect. I checked around with several other people who use Proteus 3.0.5 with our internal Jabber servers and it seemed I was alone on this one.

So... I updated to 10.3.3. Now I've got bigger problems.

After finishing the first part of the update I had no network connectivity at all. None. Three times in a row I rebooted and watched BigAl play ping pong with the Asante FriendlyNET FS5000C 5 port switch I have on my desk here at home (it never really established a connection, something I don't recall ever seeing before). It just couldn't sync and all the network related startup items were bypassed. Not good.

When I opened the Network Preferences panel in System Preferences, the Network Status selection told me that I didn't have an ethernet cable attached. Hello? I pulled the cable and plugged it back in, realized I had other options, switched to an AirPort config and back, hit 'Apply Now' (I feel like I've moved to Redmond) and it worked. OK, this is good. Let's finish the upgrade. Which I did. Download and install more components, another restart.

And again, we're hosed. What is going on here?

Try again, no change. I switched to a wireless connection and looked around, coming across this post on MacOS X Hints. Changing to a manually configured, 100baseTX, full duplex connection seemed to help. Bang, we connected. Reboot and we're back to wandering around, skipping all network related startup items.

I've been fiddling ever since.

I've seen various forum messages which indicate that newer versions of Panther don't like certain hubs. I've seen older messages that 10.3.2 and below don't like other networking gear. I've tried different ports (on the switch) and cables. I'm tired of it all.

For now, if I boot with an AirPort config at home, things respond more or less as I would expect. I can switch over later. Best guess, Apple is making some networking changes and I happened to get caught up. The next step is to bypass (or replace) the hardware, and see what happens. Since I have an extra LinkSys switch sitting around, I'll try that later and see what happens.

For now, I'm online, but only a restart away from being unable to talk to anyone.

Update: Changed the subject in horror while looking at this post to figure out what needed to be added. I really need an editor.

Posted by dely at 06:02 PM | Comments (0)

May 06, 2004

Tahj Mowry is headed to Georgia

A Tahj Mowry update for his fans who continue to drop by (some things seem to stick around for far longer than I would have estimated).

I just heard last night that Mowry signed a letter of intent to Savannah State... hmm, way back in early February. I'll be interested to follow his career (if possible). I think he's going to make someone a really terrific back from what I saw this year.

Now I have two: I've also been following Jessie Ainsworth, who had a pretty nice freshman year at ASU (oh what a leg he has).

Posted by dely at 11:21 PM | Comments (1)

Bears?

The bear is captured... This certainly doesn't happen around here very often...

A young black bear was captured Tuesday afternoon in Agoura Hills after showing up the previous day in Oak Park.

The Daily News article leaves the impression that the heat may have driven the bear to go wandering but at least one source isn't really sure...

Lt. Chris Long of the California Department of Fish and Game added: "Maybe it was the heat. Maybe he was looking for love. Maybe he was looking for water or food. Either way we have him safe and he will be returned to the wild."

Whatever caused him to amble out of the hills, some people had an exciting day. I'd love to know where they think this bear had been living for the last couple of years.

Posted by dely at 09:39 AM | Comments (0)

May 05, 2004

No matches required

What do you get when you mix Apple, the topic of developer relations and an opinionated fellow who has a weblog called DrunkenBlog?

The result, Rhapsody in Yellow is quite lengthy and entertaining (if you're into that sort of thing). My only quibble would have been to identify what the author called 'OS9 Reloaded' as Copland. That was the real intention of the project, despite whatever other baggage was added.

I originally read the article on Sunday (while sitting around in a deadly still house during a power outage) and it's still getting comments today. There are lots of great comments (and lots of not so great comments whining about various things). I really liked this one from Paul R. Potts (I remember seeing him on mailing lists a long time ago) which includes this doozy:

If anything, I think your comments underestimated how frustrating it has been. We tend to get seasick a lot from the yawing and pitching of the good ship Macintosh (sorry about that...) After attending a WWDC that was all about MacOS 8 (Copland), it was very disheartening indeed to be told that the way to get learn how to develop software for the new MacOS X was to develop for Rhapsody, which initially meant having to buy... a PC.

In some ways, I don't think the Mac developer community moved on from the heartache that was inflicted in so many ways (this was one, but the whole situation was poorly focused for a long time and just about everyone had an incompatible opinion).

Posted by dely at 05:17 PM | Comments (4)

Happy Cinco de Mayo!

Courtesy of iCal (which I was evaluating as an alternative to Palm Desktop) and the US Holidays calendar, I wish you all a happy Cinco de Mayo. I had forgotten about it entirely (it was celebrated locally last weekend).

iCal still has a long way to go before I'm moving over there. Good grief. I can't even copy a calendar event and when I try to mail the event (a heavy way to extract text if ever there was one) iCal runs off to use Mail.app (which I don't use and isn't configured). OK, that's it, I'm not going to get started or I could rant all day.

Posted by dely at 02:30 PM | Comments (0)

Hotmail/MSN white lists

Interesting...

Microsoft has chosen IronPort Systems (the folks who do SenderBase, mentioned a few days ago) Bonded Sender technology for a portion of their white list system for MSN and Hotmail. IronPort describes Bonded Sender as a critical part of their sender reputation service.

Some of the article titles this morning are rather suggestive: MS opens Hotmail to bulk mailers, Microsoft choses IronPort for anti-spam, Hotmail says spam is a-ok and MSN, Hotmail fight spam using Bonded Sender.

Posted by dely at 07:24 AM | Comments (0)

May 04, 2004

Neat idea

I don't know that having WiFi at a car dealership would actually sway me in one direction or another, but it certainly is a nice convenience.

Posted by dely at 05:40 PM | Comments (0)

Fiber in Japan

Japan has already moved 1 million customers to fiber: FTTH moves into mainstream in Japan.

That seems pretty amazing.

Posted by dely at 07:43 AM | Comments (0)

May 02, 2004

Thoughts on Netflix

There is some interesting commentary popping up about Netflix lately. Some examples: Netflix Bluffs A Price Increase, NetFlix Faces Rivals, Cable Competition and Cancelled Netflix Tonight.

I was an early adopter, convinced by a couple friends at work that this was the best thing since sliced bread. And for a time, it was. With a five movie contract, great turn around time and a large and growing library, things were going well. At an internal technical roundtable sometime in 2000, I can remember stating that Netflix was one of the coolest Internet based products that I was using.

Eventually, four separate things happened which caused me to bail out.

  1. The web interface that had worked when 20,000 people were using the system became intolerable. The lack of an API and client left everything to the backend, which sufferred greatly as the number of people grew, the waiting lists became ever longer and the number of titles people had subscribed to increased greatly. Moving one item around on a long list became a painful process as a server side operation occurred. A clunky UI for re-ordering appeared, but any glitch meant starting over. It was slow and error prone.

    I wasn't going to spend more than an hour per week maintaining a list of movies.

  2. As the customer base grew, new customers were favored over long time customers in access to newer films. This also applied to newer additions to the library if they were popular. As a couple year customer, you might have thirty items in your viewing list. Your chances of seeing anything in your top ten list in less than two months of adding it were slim and none if most of the rest of the customer base also wanted to see it.

  3. Netflix depended upon cheap mailings which required flimsy containers. They also depended upon customers to tell them about problems because they were too small to have a quality verification system on their end to check the quality of returned media. The result was a raft of scratched, dented and otherwise screwed up disks in late 2001, early 2002.

    To be sure, my expensive 1999 era Sony DVD player sucks (it's really picky about the media it will play). If I wait for six weeks to see a film and when it arrives, it's jumping around between chapters, I'm unhappy because I know it's going to take at least another six weeks after I complain to get it. In the mean time, I'll get a bunch of stuff to watch that I sort of stuffed my list with, not the movie I really wanted to see.

  4. The major chains, Blockbuster and others woke up and made some changes that helped pull me back in.

    In '99 when we bought our first DVD player, our local video stores were largely ignoring DVD based movies. Within a couple months of owning a DVD player, I bought a PowerBook with DVD playing capability and the future was quite clear. This format was portable and looked good to boot. We weren't buying any more VHS titles (we'd bought two 'real' movies on video, but a lot of kids stuff). We weren't renting VHS any more either. Eventually, the major chains felt the pain, made a major switch in formats and started offering plans that seemed like more expensive versions of what Netflix was doing. As they expanded their inventory, it made them more interesting.

    The video store of today (chain or not) looks very little like its counterpart of only five years ago. There are still VHS tapes in the major chains, but the little guys don't even bother with them (too much trouble). The transformation in less than eight years (or so) has been dramatic.

We had a Hollywood Video store here in town for about a year. I wish it had lasted a bit longer, Blockbuster could use some competition. Blockbuster was wise to significantly change the length of rentals a few years back. New rentals went from overnight to two nights (we rarely do this) and older (and less popular) releases went to week long.

I never really bought into the idea of an ongoing video chain plan. I'd had my shot at watching lots of movies (good and bad), and I was more interested in watching good movies when I was interested with a longer rental period. I also wanted to get back to the idea of getting something randomly, now, because it sounded good. Random choices don't look nearly as good weeks later (unless they are spectacular). Either way, I want immediate re-mediation when a disk I rent won't play and I can get that much more easily with a local rental outfit (especially since they greatly expanded their hours a few years ago).

Let me close with one more way that I think the video chains have a big advantage over a company like Netflix (and where a company like Walmart — damn them — could really challenge the established players).

Blockbuster (perhaps others) offers guarantees on new releases (I've taken them up on rain checks a couple times) and buys large numbers of copies to make sure they have enough available in each store. Because they buy in significant bulk, I'm certain that they get a price break that puts most of these DVDs at less than $4 per unit. They stick them on a shelf and start renting them; I'd guess a disk on the main display area has to generate a minimum of $10 per week or risk re-arrangement. Over a few months, they eat about 10% of inventory for nominal failure and/or customer created damage. They have some additional losses based on rain checks for stock shortages (but I'm certain they track this like hawks). After the period is over (remember, they were collecting on a two day rental cycle and they've got to have at least a 0.2% delinquency rate), they take 80% of existing inventory and turn it into previously viewed video for roughly 200% (often more I'm sure) of the raw unit cost. Then they offer 'deals' where two previously viewed movies are available for $20.

They make a big deal of marketing this stuff, trying to turn it into the kind of impulse buy that we're susceptible to. The ability to significantly overstock for peak demand and later turn the excess inventory into a plus on the bottom line by selling the materials for more than they cost initially is a tremendous profit advantage.

Netflix has been dealing with this by buying a large (not huge) number of DVDs and stalling its user base. The problem? They can never buy enough quantity to compete without drowning in excess inventory on the back end of the deal. It's probably an even more difficult problem when talking about new releases of older films. A local establishment can purchase ten units, lose two for various reasons and a year later have three on the shelves after selling two direct to customers and still come close to making a meager profit while keeping customers happy. Netflix can't deal with that kind of micro-inventory easily.

It's too bad, but that's how I see it working.

Posted by dely at 02:57 PM | Comments (0)

May 01, 2004

Ryongchon, North Korea (DPRK)

Ryongchon blast image I'd heard something on the radio about a major explosion in North Korea last week, but didn't hear or read anything else and it had slipped my mind. Presurfer (a recent find) linked today to a story on GlobalSecurity.org with a number of details about the train-wreck and explosion in Ryongchon.

Looking at the satellite photos and reading the descriptions leaves me with the impression of a massive blast.

The urban area devastated by the blast (seen here, before and after) must be at least 10 square city blocks and we're only looking at one side of the tracks (the other side appears to be largely agricultural from these images). With a 49 foot deep blast crater, it had to be a terrifying thing to see and experience.

Posted by dely at 07:28 PM | Comments (0)

Movie stuff

Poster When Thirteen Days came out, Adam saw it in the theater and liked it so much that it sparked an interest in history. We eventually rented it and I'd planned to buy it, but by the time I actually got around to it, no one ever seemed to stock it. It became practice to check for it whenever I happened to be looking at movies somewhere (but for some reason I didn't purchase it online).

Last week I finally tracked one down (at Blockbuster of all places). I enjoyed the movie again and really enjoyed the documentary describing the lead up to the Cuban Missile Crises. Sergei Khrushchev had some interesting things to share about his father and had this to say about Castro (using what he called a colorful american saying):

He was a son of a bitch, but he was our son of a bitch.

I'm really glad that we finally found it. I'd also bought another movie that I liked (so much so that we'd already purchased a copy — oops). When I swapped it today I found something I didn't even know had been released on DVD, The Longest Day, a black and white film but a great look at D-Day with an all star cast.

Posted by dely at 01:49 PM | Comments (0)

BBEdit CVS tool problems

BBEdit doesn't seem to deal well with newer style password entries (see ~/.cvspass) and can yield some pretty strange error messages.

The problem is caused by newer versions of CVS which use a slightly different form for the password file entries. An example of an older entry in my .cvspass file:

:pserver:user@host:/some/cvs/path crypt-password

The is what a newer entry created using cvs 1.11.5 (installed using fink) looks like:

/1 :pserver:user@host:2401/some/cvs/path crypt-password

If attempting to use BBEdit with a new project setup using a newer version of CVS, you will probably see a CVS sandbox error dialog that looks something (or exactly) like the image below...

BBEdit sandbox error

The solution is to edit your ~/.cvspass file (with BBEdit of course) to remove the leading "/1" and CVS port number (2401). At this point, assuming everything else is setup properly, your normal command line CVS tools should still work, BBEdit should quit complaining and the CVS tools should function normally.

Update: I had several nice emails from BBEdit folks about my problem report. They had already documented the fix I came up with.

The problem in the end is the application environment setup (using ~/.MacOSX/environment.plist) by the OS when applications are launched. It seems reasonable to have this not be dynamic, but to have to log out to make it take effect is a giant pain in the arse. I think it would make sense to have an option somewhere so that instead of passing along environment variables from ~/.MacOSX/environment.plist the OS would just read my environment by following the cookie crumbs starting at ~/.profile like a normal shell process does.

Posted by dely at 10:45 AM | Comments (0)