Hugh Pyle notes another cool thing about the model-view-controller architecture which I didn’t discuss in my MVC article, namely that it can (in certain environments) operate asynchronously. Views register themselves with the model to say that they’d like to receive updates whenever certain things happen (new data added, data modified, whatever). This is usually accomplished with some sort of message passing, but it could also be a function callback; it depends on what your programming environment supports. But the point is that the model doesn’t know anything specifically about the views, only that they’ve registered to receive messages under certain circumstances.

This doesn’t work for standard multi-tier web applications, because the view is generated as HTML and sent to the client, where it sits dumbly until the end user does something to initiate an action. So the model can’t asynchronously tell the view that something interesting happened, because the view isn’t listening.

This, incidentally, is why web applications fundamentally suck. they’re like playing turn-based roleplaying games instead of first-person shooters. You get whatever you get in your HTML forms, and then you’re stuck with it until you click ’submit’ and play the next turn.

Hugh correctly notes that Groove is based entirely on message passing, and thus allows you to architect asynchronous model-view-controller applications. There, I said something nice about Groove. Mark the calendar. I feel dirty now; I’m going to go take a shower, do 100 floor bows, and chant ‘Groove is not the future’ until I feel better.

MacNN: Apple (finally) releases OS X 10.1.2. If it worked before, then it should still work now. If something didn’t work (IrDA modem, PC Card) then now it should.

Man marries Barbie doll [via Michael Barrish] It is not unusual in Chinese culture to hold such a spiritual marriage, with the soul of the dead person represented by an object with their name written on it. However, what is unusual was the form of the bride chosen.

Joel Spolsky: The best time to refactor is at the beginning of a development cycle. … In the ideal world, we would have strong unit tests so that we could convince ourselves that nothing was broken that used to work.

Washington Post: Windows Vulnerable to Hack Attacks [via Slashdot]. Specially, Windows XP. Specifically, a remote root hole, allowing complete unfettered access to any Windows XP machine from anywhere on the Internet, with nothing but a base install of the operating system. Discovered five weeks ago, just fixed today. Way to turn that one around, Microsoft. I guess that’s what lack of full disclosure gets you. The article doesn’t link to a place to download the fix; I presume it is available through Windows Update, but since I’m not running XP, I can’t verify that (since this hole doesn’t affect anything but XP, and Windows Update is smart enough not to show it to me).

Update: Microsoft’s security bulletin is here, patch is here. Apparently, Windows 98 and ME can also be affected if you install particular software (the Internet Connection Sharing Client) which is installed by default on Windows XP. Internet Connection Sharing. Heh. Bet this isn’t what they had in mind.

eWeek: Microsoft says XP ‘Dramatically More Secure’ (October 22, 2001). Windows XP is dramatically more secure than Windows 2000 or any of the prior systems. … We have also turned off by default a whole set of things so that users are configured in a minimalist kind of way, making them less vulnerable. All of which is true, and good, but not good enough.

Mike Sanders: What am I, chopped liver? Personally, I don’t care about page views. Nope. Nosiree. That’s why this is my browser’s home page. (Just kidding. But I do find myself checking it during the first lull in the morning, at the time when I used to go outside for a cigarette but now turn to my weblog and click through my daily reading list for 5 or 10 minutes.)

Seriously, though, I don’t need an award to tell me that I’m good at what I do (coding, teaching, writing), just like you don’t need an awards ceremony to figure out whose weblogs are worth reading. But I’m not complaining about being nominated either, just like I’m not complaining that my traffic has been steadily rising the past few months. Blogging can be about selling yourself, about establishing ties and maintaining your own personal brand. (This ties into what John Robb has been talking about the past few months about Knowledge Weblogs. The good ones filter to the top, whether inside a company or out on the open Internet. It’s hard to hide who you are in a personal weblog; your words, your choice of links, even your choice of site layout all give you away, even if you don’t talk about deep dark secrets.)

Is that why I do it? No, I do it because I’m a writer, and I’m interested in what’s going on in the tech community, and I like bitching about some stuff and confessing other stuff and going off on a complete and utter tangent about stuff every now and then. But it’s nice to be known, to see in my referer logs that people are searching for me by name on Google, to hear that smart people I admire voted for me, to get emails from people (like Mike Sanders) telling me I’m good at this.

And you never know when you’ll need to cash in on your own brand, whether to get a new job, or to get your foot in the door somewhere, or to get yourself through bad personal times, or whatever. My weblog got me in touch with my current employer. I hope I won’t have to go looking for another one for a while, but you never know.

WhimmyDiddle: “Some of us are trying” to do model-view-controller correctly. More power to you. As I said in my MVC article, virtually nobody does this, but the good ones at least try. Plus, I just couldn’t resist linking to a site called “WhimmyDiddle”.

The Onion: How Are We Maintaining Our Dignity? #4: Acting like we quit. Oh whimmydiddle.

§

Respond privately

I am no longer accepting public comments on this post, but you can use this form to contact me privately. (Your message will not be published.)



§

firehosecodemusicplanet

© 2001–8 Mark Pilgrim