I've had to deal with comment spam in the ObjectSharp blogs over the past few days. Through a search of Google, found a simple, trigger-based solution
for .Text (the engine that we use) that I suspect will deal with the majority of the spam that was coming through. But, as explained in this post
, Google is modifying their ranking engine to pay attention to a newly created attribute on the anchor tag that will basically mitigate the benefit of comment spam, that being to artificially raise the Google rank for the offending links. What impressed me is the speed with which this innovation was implemented, not only by Google but by the list of blog hosts and competitive search engines at MSN and Yahoo. Whoa. Would that other standards could work that way.
One of my colleagues, Barry Gervin
, is part of a wonderfully generous effort to raise money for Aceh Aid at IDEP
. Twenty-four of the best and brightest of the .NET community are each donating an hour of their time to be put up for auction on eBay. Julia Lerman has more details here
. Keep an eye out for the auction and please bid generously. You know the hour of any of these consultant's time is worth it. And you're money does good in an area that desparately needs it. Nice combination, isn't it.
Found another interesting blog entry on passion by Kathy Sierra on generating passion. And we're talking about passion for technology and life, not that other thing. Too much of that other thing resulted in the four kids that currently occupy much of my non-working hours.
The basic premise is that people tend to emulate those around you. Hang with complainers and you will (subtly, perhaps) become one). Hang with people who love what they do, and you will too. Interesting that I've actually seen happen.
My wife, Alisa, is a real estate agent. She has been doing fine, but this past November she had a chance to go to a conference which, as it turns out, contained a high percentage of very successful agents. And by successful, I'm talking $500K per year and up in commissions. On her return, the level of enthusiasm for her profession was visibly higher. Not only that, it carried over into the the rest of her endeavors. She is well on the way to doubling last year's sales. And possibly tripling it. All because she spent some time hanging with passionate people.
As you look towards the rest of the year, there are a number of opportunities for you to do the same thing. VSLive has conferences all over the world. There is TechEd coming in June and a Professional Developer's Conference. Attending and hanging out with people who love what they do might do as much for you as the technical content.
One of my pet peeves is the misuse of apostrophes. I find myself particularly annoyed by the misuse of you're and your, but any badness feels like teeth on tin foil to me. Not that I'm perfect, but...well...I'm sure some of you understand. Anyway, courtesy of Blair Conrad, I found the following cartoon quite amusing. Your mileage may vary
P.S. The title was on purpose.
Just because there's nothing better to do after five on a Friday.
I have been quietly following the ongoing conversations regarding Domain Specific Languages (DSL) and whether UML should be used as the mechanism to describe them. My UML and DSL knowledge is not nearly as deep as some of my colleagues, but I believe that the noise level from this space will only increase over the next 12-18 months.
As part of my blog reading (via Don Box), I came across a number of postings from Grady Booch and Alan Cameron Wills talking about both sides of the issue. But to me, the most interesting part was actually in one of the comments to Alan's post. Specifically, Lloyd Fischer says:
Anyway, we spent a lot of time thinking about visual representations of software. It turned out that the times we were successful was when the system in question *already* had a visual representaion. Examples are piping and instrumentation diagrams, electronic schematic diagrams, ladder logic diagrams, etc.
In those cases where we tried to create new visual representations we failed. The "business users" invariably rejected our attempts to turn their knowledge into diagrams because they were unnatural to experts in the field. The fact that they had not yet created such diagrams was a telling sign that no such representation was possible. Those fields where such representations were useful had long ago created them.
That is probably the best argument in favor of using something *other* than UML to describe DSLs that I have heard. That UML (or diagrams, in their world) doesn't fit with the mental model that the domain experts already have is very telling. After all, the experts aren't constrained by anything when it comes to describing their world outside the realm of software. They have white board, diagramming tools, everying that a designer would need. If that was the way they wanted to go, they'd already be there. And yet they're not. I think this is one case where we need to listen to the experts and find a way to represent the mental model that they have spent years developing. Seems more productive than forcing our way upon them.
Through Dare Obasanjo's blog, I was pointed to a 'conversation' between Adam Bosworth of Google and Krzysztof Kowalczyk about the open source contributions. It all started when Adam 'asked' the open source community to fix a problem with commercial databases for those customers who need to maintain high availability and scalability across large clusters. Krzysztof (and others) suggested that Adam was trying to get the open source community to play tooth fairy.
Although at first blush, it certainly sounds like having the suggestion implemented would greatly ease Google's ongoing operational effort, in a follow-up post Adam says that he wasn't asking for Google, that Google already has what it needs for storage and indexing. He then goes on to scold the critics of his posts, saying that they don't appreciate what Google gives our for free millions of times a day.
I have two issues with Adam's comments. First, if Google has already solved this problem, why have no contributions to the open source community along this effort been forthcoming. While it might not have addressed the dynamic partitioning and schema changes (it's possible), odds are pretty good that Google has an idea about indexing. They would certainly be able to kick start the effort by making a contribution in those areas.
My second issue is the dis-ingenuousness of the “we're giving stuff away for free” comment. Google has a market cap of $53B. Revenues are approaching $3B per year. Some of that revenue comes from sponsored searches, AdWords, AdSense and a number of other products that need the traffic generated by their free service. Which is to say that if Google stopped giving stuff away, their revenues would fall off pretty quickly.
Do I love what Google offers? Of course. Makes my life much easier in many different ways. But please don't pretend that it's being given away for altruistic reasons. I'm really not that naive.
I've been a voracious reader since I was a young boy. My current life means that I don't get to read as much as I would like, but I still get a thrill when I find a new author that I like. Especially one that has a whole bunch of books written. Dan Brown's The De Vinci Code was one such author, as it was really the fourth book that he had written. Gave me another couple of months worth of books.
When I get the time, I like to do the same thing with blogs. Follow blog roles, links, etc. to see what other people talk about. I had one of those author epiphanies earlier today with Kathy Sierra. In particular, I started with Users shouldn't think about YOU. That post contains some nice insights into how instructors and authors get in the way of the learning process. It certainly gave me something to think about.
And, of course, I started reading some of the other posts that Kathy has written. Very nice. Like the content, like the style. Consider me subscribed. And happy that I'll have some late night reading for a couple of days.
From Raymond Chen's blog, check out this article that describes not only the concepts (in basic terms) behind the uniformly distributed points algorithm, but also some of the practical applications. First of all, the idea behind the algorithm is incredibly elegant. Forgetting about the math necessary to prove that it works for a moment (because that is complex to the extreme), the idea that the points on the surface are like dictators fighting for space is an easy one to visualize.
Second, the number of applications for what might appear at first glance to be nothing but nonsense will surprise most. That the same algorithm could be applied to everything from baked goods (the perfect poppy-seed bagel) to virus research to computer generated graphics says a lot about how math is the thread the weaves its way through the fabrice of our life.
Finally, for those you are continually amazed at the interconnectedness of the universe, that the most effective 's' variable (the power of the force between the poinst) is equal to the dimensionality of the shape is mind boggling. I just add this to the “famous five” equation as one of those things that make me go hmmm.
For those who care and don't already know, the famous five equation takes the five most basic values in math (e, i, pi, 1, 0) and combines them to create a single equation: ei * pi + 1 = 0. Whoa.
For those of you who already have grand plans that require the very cool functionality that will be offered by WinFS, you might want to think about some redesign. Finding out that it wouldn't make it into Longhorn was the first blow. Now, according to this news.com article (found thanks to Rocky Lhotka), the wait for WinFS might last until the next decade.
The article confirms that not only will WinFS miss Longhorn client, but also the (scheduled) release in 2007 of Longhorn server. So now WinFS won't likely be included until Blackcomb, which is the next Windows version after Longhorn. Realistically, this means 2010 at a minimum. And that assumes a minimal slippage of schedule, an outcome that is probably one of the few that can be counted on.
One of the downsides of being involved with the leading edge of technology is the teasing that goes on. The promise of ObjectSpaces is certainly enticing. But I spend most of my life coding in the here and now, a place that ObjectSpaces won't be invading for quite some time. Too bad, but I'm pretty certain I can make the adjustment. ;)