June 2007 - Posts

It's very, very rare, but it happens from time to time:

My cold car

My cold car

Looking towards my study

Brrr!

A light dusting

Cold ivy

I guess I must have been asleep over the weekend, but I just picked up on the huge storm of controversy over Microsoft's People Ready campaign and how it paid bloggers to write a whole bunch of empty platitudes about a crappy marketing-drone nothing-phrase "people-ready". Microsoft has once again used dishonest tactics to try and get nice comments and it has once again blown up in their faces. One wonders when they're going to start firing the marketing morons who keep coming up with such brilliant ideas:

"I know, why don't we surreptitiously approach bloggers, and pay them, in a deliberately round-about way to write nice things about our fantastic new campaign. If we get get caught, well... let's not worry about that, it'll never happen."

Honestly, it's not really Microsoft that's acting unethically, it's the bloggers that they paid. Some feel that they should not be held to standards of credibility and integrity, others are crying huge crocodile tears and are shouting mea culpa's. I honestly believe that getting paid to write content without disclosing it, puts all your content in doubt. Just as I will now always take anything posted by Auratius with a grain of salt, wondering who he may have lifted it from, I will also have my doubts about the bloggers in volved in this fiasco. Whenever I read anything of Om Malik's I will wonder if he accepted money to say something nice, especially given his evasions about it. "Conversational marketing", my foot, another crappy phrase; it's called advertising!

As I have pointed out, integrity and reputation are things that, once compromised, are gone forever. Never think that some arrangement will not come to light, it almost certainly will, and you can be pretty sure that it'll be cast in a poor light. In many cases, it's not so much the actions as the cover-up that people despise. I have no problem with bloggers being involved in advertising, as long as they disclose it. That disclosure allows their readers to easily determine whether something is purely the bloggers own idea, or just something he was paid to say. Needless to say the advertisers will always want the advert to be disclosure-free, well aware that it will have more effect that way, it's the bloggers personal responsibility not to put their reputation at risk.

Quite some time ago, Armand put Google Ads on this site to help support it, an aim which I wholeheartedly support. He puts a lot of effort into this site, and if adverts would help him support it, good for him. However, I had a problem; on my one post, decrying the insidious influence of Christian Creationism, Google Ads was bringing up adverts for creationists and Bibles. I thought that this was in poor taste and compromised my point, and I asked Armand if he'd mind if I switched off the ads on my feed. He graciously accepted my explanation, for which I am very grateful. Would I accept ads on my feed? Certainly I would, especially if they were for a good cause such as keeping dotnet.org.za afloat, however, I'd have to have some editorial control over the ads.

Should advertisers be blamed for wanting to have more effective advertisements? No. Should content creators and "opinion leaders" be blamed for doing or having adverts, should they be blamed for hiding their relationship with the advertiser? No, no and yes respectively. Should a company like Microsoft, which has made phenomenal efforts to help create and expand a blogging community be blamed for helping to compromise the integrity of that community? Yes. Once again, Microsoft is cast as a villain in the piece, and once again it's because they have engaged in practices of dubious virtue. Given the continual marketing missteps that they seem to make, I wonder if I am justified in speculating if the Microsoft Marketing department is being paid off by a competitor?

As I have said before, Microsoft's mistakes irritate me because I do have an incentive to see them succeed, I like their technology and I make plenty of money from their stack, and I get upset when they do stupid things that damage their reputation. I look at all the fantastic Microsoft staff us developers deal with and read on a daily basis, people who honestly go out of their way trying to improve the lot of developers, and I wonder how they must feel when they see something like this happen. Something that drags their reputation, by association, through the mud.

There has been a scurrilous, underhanded (and very funny) assault on Alpha-geekdom by Craig recently. I'd just like to stand up for α-geeks, as opposed to his pathetic ω-geeks. Yes, I am indeed inordinately proud of my CodeProject article. I get irritated by people talking about datasets already, I very rarely go to conferences because I'm too busy coding, and what the hell is wrong with reading? Hell, I have a stack of books on my table right now. Downloading porn? Well that would just take bandwidth away from important stuff, and there's no point in watching old sci-fi series, since I've memorized them all.

As for getting laid, well my ex-girlfriend dumped me to rather go spend some quality time in war zones and anyway my cat doesn't like stangers. I'm on FaceBook, have 5 email accounts and keep wondering which drugs I need to take in order to be able to get more quality development time in. When you say "Sometimes we even get away from our computers altogether" you have to realise that in my case this would be impossible, as my cellphone is a relatively powerful computer in it's own right, running a beta operating system too!

PS. Yes I've just posted a slew of posts, and yes, I'm sorry, but today is cleaning out the trash day, time to either publish or kill half-finished posts.

PPS. Did I mention that I have a CodeProject article?

I've been meaning to post on this topic for quite some time, and given the plagiarism debacle, I thought now might be ideal.

I've seen too many developers fall into the trap of making a stupid ethical mistake. There was the UNISA student trying to con developers on a forum to do his homework. A contractor I knew who billed huge amounts every month and then slipped crates of cool drinks in the boot of his car. In the latest case, an up and coming developer trying to get some extra prestige by claiming others work as his own.

The importance of a good reputation

Software development is a very interesting field, you live or die by your reputation, especially at the more senior levels, and given its high visibility when you're a "public" developer such as a blogger; reputation becomes even more critical. A good reputation, once lost, can almost never be regained. Its one thing to lose your reputation as a top developer, but to have it become known that you have low integrity is a kiss of death to a career. IT is an incestuous community in South Africa, and word gets around, fast.

Will the Johannesburg Stock Exchange hire someone they knew once tried to cheat his way into a degree? Unlikely. A position like that, dealing with hundreds of millions of rands worth of trade a day is not one given to someone of known poor character. A bank would similarly not hire a person who would steal stock from his employer. I have a friend who has worked at several banks, some overseas, and at the JSE in senior roles, and he is of unimpeachable integrity. So much so that if I was told he'd run off with a customer's cash, I'd be convinced that the person telling me the story was lying. Then I'd be upset because he hadn't cut me in on the action Big Smile

"Kenneth Chenault, chairman and CEO of American Express ... believes that":

if you are not clear on who you are, on what it is you stand for, and if you don't have strong values, you are going to run your career off a cliff.

"[He] sees six character traits as the foundation for becoming a skilled leader. The first attribute is integrity, and he believes it is this core principle upon which true leadership is built:"

Many people construe 'integrity' to mean being honest. That's a piece of it, but it's really about being consistent in words and actions. When you are trying to lead others, they look for consistency. I want people to have a will to win, but I want them to win with integrity.

Any attempt to cheat your way to a good reputation is almost certainly doomed to failure. For starters, the wonder of Google makes it trivial to track down original sources. Bluffing your way into a good job is also a short-lived thing, eventually you'll be expected to deliver. I've lost count of the number of supposed gurus that turned out to be stuffed shirts. One guy in particular had everything down pat; he'd have his next job getting lined up by the time it came close for him to deliver. He'd conned plenty of companies before ours, but got undone by simple continuous integration.

Why people cheat

Oh, the usual, money normally. In some cases, they crave admiration and feel that they cannot get it legitimately. They look at others and desire a short cut, not realising that the reason someone has respect is usually because they've done hard things. For a very long time, I wanted to be a blogger, seeing them as somehow above me, deserving of greater esteem. Little did I realise how untrue that was. Authors and bloggers and developers of very cool gadgets are pretty down to earth people. Some of them are very good developers, some not so much. Some are good communicators, some not. Some are stuffed full of their own self-importance and some (most) are very humble. In fact, the very best developers I know personally are not public people, but work their magic behind the scenes.

What I think I'm trying to get across is that trying for the respect of others is a bit of a mirage, you never really get to the pot of gold. In the final analysis the only question that truly matters is whether you still respect yourself.

Calling others on unethical behaviour

I believe that software developers should be held to a high ethical standard, and part of that is not accepting unethical behaviour when you see it occur. Please read the excellent article The Crooked Timber of Software Development by Hacknot, where he discusses why Software Development is an occupation, not a profession. A particularly cogent quote:

The strict ethical requirements of a medical practitioner aim to ensure that the patients needs are best served. In the absence of such requirements, a software developer is free to scheme, manipulate, lie and deceive as suits their purpose - consequently we see a great deal of exactly this type of behavior in the field.

Conclusion

Software developers are people in positions of great trust. To us are entrusted priceless data, critical business systems, huge financial impacts, and people's very lives. Sure, you may not be in such a situation right now, but it could easily happen. Ask yourself what kind of person you'd want on those kinds of systems. When you're contemplating something in an ethical gray area, picture yourself explaining it to a recruiter for a bank. If he kicks you out of his office, it's probably not a very good idea.

No matter what your boss says.

I just got delivery of a whole bunch of books. I've been avoiding WPF/WCF/WF for a while, but have started getting into them, WCF first, and have fallen in love. The books are:

Looking forward to getting stuck in. The only problem is that between the job, a consulting gig on the side, my own personal product development, and a hectic social schedule, I don't have too much time for wading through big technical books. Ah well, I can always cut down on sleeping I guess.

I really didn't want to do this.

Auratius February is an unrepentant plagiarist. On the 23rd June 2007, he posted an article entitled "ASP.net - Caching with Delegates" that was basically a word for word excerpt of the article "Advanced ASP.NET caching with delegates" by Daniel L. Fox. He even includes mistakes such as using "akey" instead of "a key". Most importantly of all, he included a little personal stuff before the ripped-off text, making it appear that it was his own work. He also did not attribute Daniel Fox.

I wrote a comment, which I thought was quite nice, implying that maybe he just forgot to attribute Fox. I don't have a copy of it, but it went something like:
"Auratius, this article is based on ... by Daniel Fox. Using other peoples work word for word without attributing them leaves you open to charges of plagiarism"

There were a couple of options for Auratius at this point. He could:

  • Apologize, and claim to have forgotten to include the attribution. Result: a bit of suspicion.
  • Denied that it was a copy. Result: Hilarity, and branded as a plagiarist.
  • Deny the whole thing completely, pretend it never happened. Result: branded as a dishonest plagiarist.

In fact, it appears that he has gone with the last option. He has deleted the offending post, but you can still read it here, sans comments. People make mistakes, but this is two items of dishonesty from one person in a couple of days. He has plagiarised and then "lied" about it, by deleting the post. We work in an industry that thrives on IP, and I hate to see blatant, unrepentant, outright theft go unchallenged.

Copying others

Many people on this feed copy and paste others work into their posts, admittedly with attribution. I'm not talking minor quotes; I mean outright, the whole article/press release/blog post. It's not that common, but it happens. I personally dislike this practice, for a couple of main reasons:

  • It means that reading the article posted by you will probably not follow the link, and could thus miss out on interesting discussions in the original authors' comments area.
  • On many occasions I've already read the post elsewhere, meaning that sometimes (especially when MS release a slew of technologies) reading dotnet.org.za is a bit like reading an advertising feed, or just feels a bit stale.
  • The original author could be looking for traffic, to drive ads or a competition, who knows? By reposting their work, you're in a sense taking traffic that they rightfully deserve away from them. By linking and discussing you're giving them traffic.

Conclusion

Posting others work, with attribution, is okay, but should always be a last resort, rather excerpt interesting bits and discuss your own ideas and opinions around it, or post the link and tell people to read it, informing them why you thought it would be worthwhile. If you don't have much to say, collect a list of worthwhile posts, and post them all as one big link roundup.

Posting work without attribution is dishonest; you're pretending to have done something you didn't.

In Auratius's case, it's actually worse just plagiarism. You see, at the bottom of the page of the original article is a copyright notice. He infringed that copyright.

Update

After a bit of digging (about 15 minutes), I found that Auratius's code listings on his web page are actually from a web site for the O'Reilly book "C# In a Nutshell", his Software Development Process is actually from a company called EnfoCom, his Introduction to .NET training slide is actually a rip-off of Sam Nasr's What is .NET?, and in his Source Code section contains code originally posted on CodeIdol.

So, basically, everything that I investigated turned out to be plagiarism. I only sampled a tiny percentage of the content he's got posted on his site and it's all 100% stolen. I'm wondering what this guy has ever done that is actually real? I have contacted the content owners where I could, and notified them of the plagiarism. O'Reilly get quite snotty about copyright infringement, I believe.

Update 2 - 3 July 2007

Well, it seems that Auratius has added identity theft to his growing list of extramural activities. He seems to have impersonated damien in order to post a sympathetic comment below. The real damien contacted me and told me that he had not made that comment at which point we pulled the server logs and traced the originator of the post to Auratius's IP address. This is quite clearly a person without the slightest shred of conscience, willing to pull any dirty trick to preserve their shattered reputation. Amazingly, the one thing that would probably have worked, an apology, has been completely unforthcoming. As I said before, unrepentant.

Just as a laugh, go to http://dotnet.org.za/auratius/, and then click on any of the "Free CSharp Training", "Personal CSharp Code Library" or "Software Engineering" links. Every single one will currently result in an error, stolen content he has been forced to remove.

As a matter of interest, I have found a photo of him. Do not buy a bridge from this man Smile

From what I can gather, he works at a company called ForwardSlash. I asked them if they'd like to answer a few questions about our dear plagiarist, but they came out with a very firm no comment:

Please be advised that our company will not respond to any of your questions below. Our view is that all the work you quote below have been done in the individual's personal time, on his own personal blog space, using information obtained from public internet domains, and in no way infringes his duties or responsibilities to his employer.
No further correspondence will be entertained on this subject, please refer your concerns to the party directly, and not to this address.

PS. Auratius, please, please, please, just stop this foolishness and apologize. Every time you come up with some sneaky, underhanded trick I will discover it, and I will expose it. Why is that? Well, for starters, I'm quite obviously a great deal smarter than you.

Jeff Jones has a 6-month OS vulnerability report, focusing on Windows Vista. You can wade through the full report if you like, it's only a few pages, but I liked the main chart:

Vulnerability CHart

The other charts contain pretty much the same ratios for total vulerabilities as well as against reduced Linux packages.

So, it would seem that Vista can, right now, claim to be the most secure consumer OS on the market, twice as secure as Mac OS X despite having a vastly greater set of attackers. I also find it interesting that even Windows XP is better than the various Linux derivatives in terms of security. You know, I have noticed a huge reduction in claims of better security from the Linux camp over the last year or so. Perhaps the fanboys shold have an "Arguments NOT to use" page, just like the creationists do for their discredited claims.

I'm surprised it took this long for anyone to be harmed by the fraudulent Francesca Zackey, a 17-year old girl from Benoni who claims to have been visited by the Virgin Mary on several occasions. Amal Nassif was blinded when she tried to look into the Sun to see a sign Francesca had indicated would be there. All the standard signs of a fraud are in plentiful abundance, the empty platitudes mouthed by the supposed Mother of God, the alleged miracle cures which miraculously only affect believers, normally in unverifiable circumstances, and now the damage done to one of her followers; one of that special group credulous enough to believe that of all the people on this Earth to influence, the Mother of Jesus chose a young girl in Benoni as her messenger.

If the damage wrought by this silly girl wasn't so awful, the attendant hysteria around her would be amusing. As it stands she and her defenders are worthy only of contempt. On 702 I heard a vile, despicable woman suggesting that Amal's blindness was a good thing. Was Amal silly to put her eyes in danger on the say-so of a teenager? Certainly she was, as an adult, one would expect that she excercise some skepticism and restraint. Francesca's response however is callous and utterly lacking in anything resembling moral fibre, responsibility, or remorse. She claims that she is not responsible and that she will pray for Amal. Well, if that's the kind of person the Mother of God chooses to represent her, all I can say is that she has dubious taste.

There's an easy enough test for her claims however, if Francesca and her mother Bridgette have indeed stared at the Sun for minutes on end as they attest, any opthalmologist should be able to confirm that very easily. For starters, they should be blind. In fact, how about we force them to stare into the Sun until they go blind? Perhaps then they will appreciate the damage their fraud has done.

Some other signs that this is a fraud:

  • Francesca claims (of the Virgin Mary) "...she had ice-blue eyes". Highly unlikely, Mary would almost certainly have had dark eyes, simply based on the ethnology of the region at the time.
  • If you watch the video here, you will see that Francesca's eyes flick to the left and up before starting each description, usually a sign that someone is remembering something. However, take look at the statue of Mary behind her, barring a few minor changes, all Francesca is doing is describing that statue, even the stance she describes is identical.
  • Francesca's explanation of why she thinks she was chosen is because she's obedient to God's Word, and has accepted the Holy Spirit into her life, I guess she thinks that this makes her different from all the other Christians on the planet.
  • Virtually every second word out of Francesca's mouth is "me", a clear sign as to her motivations for faking visions: in order to feel special and to stoke her own ego.
  • As expected when religious fanatics pretend to be visited, the message is one that conforms to their sectarian views ("there is only One Church...the Catholic Church") and not much like the actual inclusiveness preached by Christ and his disciples.

The sad part is the position the Catholic Church is in here, I'm pretty certain that most of the senior priests in the Church are cringing at this girl's claims, but given that they accept that such personal visions are possible and have happenned in the past, they have no leg to stand on in claiming that hers are not correct. They will have to be very careful in their investigation, and it will probably result in a much-delayed expression of benign doubt.

I, however, having no belief that the Virgin Mary has ever appeared to anyone, am 100% confident in my assertion that Francesca's claims are bunkum.

Extraordinary claims require extraordinary evidence, and desribing a statue that sits behind you does not constitute extraordinary evidence.

I went to the Jo'burg Traffic Fines page to see if any of my gratuitous speeding had been caught on camera, and noticed the Metro Police section below. For non-Johannesburgers, the Metro Police are a form of corrupt barnacle that can be found fast asleep next to automated cameras, acting as a taxi, or playing soccer, but very rarely actually doing any work. Anyway, I was happy to see that the Joburg site shares my view on the Metro Police, as the Targets and Achievements links both return "Object Not Found".

Some Metro Police Anecdotes

  • I was driving near a "Speed Patrol" car on the N3, a Mercedes came crashing past us at about 150 km/h, result: Speed Patrol car did nada. I mean they're so useless that people don't even pretend to be law-abiding around them any more, there's no need.
  • On Louis Botha, I saw a taxi run a red robot (traffic light), almost crash into another car, swerve wildy and speed off. The Metro Police car that had been next to the taxi did, you guessed it, absolutely nothing.
  • On the M1, I was passed on the left by 6 taxis driving in the emergency lane, ahead were a cluster of Metro Police cars parked on the side of the road, the taxis just swerved past them and continued on their way.

Please send in any more that you may have.

PS. It was suggested to me at the last SADeveloper thing that I complain a lot, well, sure, it's because I'm an old fart, shouting "You young punks, get off my lawn!" Wink

There's quite a funny joke going around: apparently Apple are releasing Safari for Windows. This is a browser so unpopular that most Mac users appear to prefer using FireFox instead. Somehow Apple think it's going to coax from IE those users (like me) who were uncoaxed by the much more impressive FireFox. Just for jollies, it appears that Safari may be a major security risk, with Aviv Raff finding a potentially exploitable memory bug using a tool he wrote, Errata Security managed to find 6 bugs in one afternoon, one of which they were able to weaponize. Thor Larholm has created a means of remote executing any code he desires, in a mere 2 hours.

As Aviv points out, have a look at point 12 on the Safari download page. Just claiming that something is designed for security doesn't actually make it so.

Too often I hear people claim that the reason Macs are more secure than Windows has nothing to do with the larger community of attackers in Windows. Well, those chickens are coming home to roost in a big way. Welcome to the big leagues Apple, writing secure software is hard.

Cool review of the new $27 million dollar Creation Museum. In case you're wondering, no, this isn't the convicted tax fraud Kent Hovind's faux exhibits, but instead an entirely new set of ill-informed twaddle created by Answers In Genesis's, Ken Ham.

Ken Ham

Gotta love that stylish beard. It definately makes a statement, and that statement is "here is a man ready to handle the tribulations of the 18th century". He is marginally less ignorant than Hovind, he actually has some discredited arguments that he won't use. However, even Answers in Creation calls him willfully ignorant and say he "deliberately misleads" his audience (wikipedia.com). Of course, like Hovind he's a Young-Earth preacher, so I guess we all know what that means. Yep, he's being charged with deceptive practices. Well it's not tax fraud, so I guess we can call this doofus "Hovind Lite". One wonders how many gay, criminal, drug-using, adulterous preachers the creationists have to go through before they accept the idea that their preacher may not be the 100% most reliable authority on all matters?

From the Sydney Morning Herald,

"Mr Ballmer last week said Microsoft's approach to embracing innovation involved getting its top 200 managers to forecast key technological advances in five to 10 years' time."

Indifferent

In a technology driven company, the managers are seen as where the innovation is to occur? I'm gobsmacked. I really do hope that this was taken out of context, because if it isn't, it displays a serious breakdown in Steve Ballmers grasp on reality.

Needless to say, in the same article, Google mock Microsoft's innovation ideas quite mercilessly.

Well, here goes any chance of me ever getting MVP status:

I think Microsoft, in the form of one Jason Weber of the Visual Studio IDE Team, have been amazingly inconsiderate, rude, and arrogant. Jamie Cansdale quite some time ago helped bring Test Driven Development to the masses by creating TestDriven.NET. Anyway, Microsoft became unhappy that he supported Visual Studio Express. They had provided a cut-down version of Visual Studio to hobbyists, and did not want extensions and add-ins in that product, as it would lose them sales in the "bigger" versions. Some wags have suggested that TestDriven.net on Visual Studio Express was driving people away from VSTS. A touch unfair to Team System I feel.

So, being very vague about it, Mr. Weber told Jamie to remove his "hack" that allowed TestDriven to run on Express. I'm unsure how using publicly available extensibility API's could be considered a hack, but there you are. Of course, maybe Mr. Weber was confused, since it took him quite some time to figure out that TestDriven was not in fact a VSIP package. Jamie quite swiftly agreed to remove the offending Express support, even though Jason at no point would tell him what exact license terms he was violating. However, quite reasonably, Jamie wanted a statement from Microsoft that he could send to his users to explain the sudden excising of the Express support.

The statement that James Weber supplied is quite a work of art:

"After speaking with Jason Weber from Microsoft I realized that by adding features to Visual Studio Express I was in breach of the Visual Studio license agreements and copyrights. I have therefore decided to remove support for the Visual Studio Express SKU's from TestDriven.Net. Jason was very supportive of TestDriven.Net's integration into the other Visual Studio 2005 products and I was invited to join the VSIP program. This would allow me to fly to Redmond each quarter and work closely with the Visual Studio development team on deeper integration."

Leon Bambrick points out that this is offensive in multiple ways:

"Firstly -- it acts as an advertisement for Jason Weber. Why? Arrogance maybe? He's lording it over Jamie.

Second -- it supposes that Jason should publicly admit to violations. He need never admit such a thing.

Third -- it includes mention of breach of "copyright". I don't think such an allegation ever came up until that point. So this was a fresh insult.

Fourth -- it stings Jamie's pride, by suggesting that he was bribed into agreement. Ouch

So just when they got close to agreement, Jason effectively kicked Jamie in the nuts, pissed in his face, poked him in the eye, and danced on his grave."

At this point, and still without any clarification as to the license terms he allegedly violated, Jamie pulled out of the whole agreement to remove Express support. I'm afraid to say that Jason Weber's communications carried on in their usual inconsiderate and conceited tone, basically ensuring that Jamie would not agree before the lawyers got involved.

Now, is Microsoft's legal position correct? Yes it certainly appears to be. Crippleware is a standard in the industry, and no-one would dispute their right to keep it crippled. Is their business position correct? Also, yes. They're offering Express as a "taste", and don't want third-party developers pulling Express up to the same level as Professional or VSTS. I hear that internally it was quite a hard sell to offer a free version of Visual Studio.

However, they way that they went around this was completely wrong. It was bullying, plain and simple, and appears to have been mainly driven by Weber. They could have had the courtesy of taking the time to tell Jamie why he was in the wrong, especially considering his numerous contributions to the community. They didn't have to be so childish as to drop his MVP status in a hissy fit.

If you read the emails there's an amusing thread where Jamie is being told that he lost MVP because of too little community involvement. He is then sent an email informing him that he's going to be awarded MVP, an email that is hastily revoked. In other words he did do enough to get MVP status, but was being denied it because he quite reasonably wanted to know why he was being asked to remove functionality. As I said, childish. In fact, it points to a major flaw in the MVP system. Since it is not transparent how MVP status is awarded, it is open to allegations of favouritism or punishment.

This is a public relations fiasco for Microsoft. How many developers are going to be put off contributing to the community because they heard about the high-handed treatment of Cansdale? How much goodwill has been lost simply because some petty MS dictator wanted to be kow-towed to? Honestly, the MS marketing department must be getting sick and tired of martinets like this dragging the good name of Microsoft through the mud. After all the good things they do, all the fantastic technology, community involvement, and so forth, stories like this will leave a bad taste in the mouth.

It takes a helluva lot of hard work to remove that bad taste.

It's been quite a while since I wrote a post I was as happy with as my Building a Generic Range class (I've been struggling to get my mojo back), so I decided to submit it to CodeProject. Well, it's been moved out of the reader-submitted content area, into the main C# article, and you can find it here. Right now, it's the most popular article in the Generics section there, but given that it's 4.93/5 rating is only from 5 reviewers, we'll have to see if stays that popular.

I'm impressed with the number of views though, it's already cranked up to almost 1,000. In fact, since I started writing this, another 15 people have just viewed it.

Anyway, as before with sadeveloper articles, I will always post my articles here first, and only then anywhere else. Oh yeah, remember a while back I mentioned that I was a contributor to a book called Windows Developer Power Tools, well I finally my "authors" copy. As usual it's the bloody "courier" companies that caused the delay. In fact, when I went and looked at the package history on their web site, it was the work of purest fiction. Seriously, they need to get their delivery guys book contracts. There was an entry saying that I didn't have enough money on me, another saying I refused to sign, but I'd never sign hide nor hair of this guy. I've had the misfortune to deal with several of the major couriers, and they all seem to suck!

As for the book, I haven't done much more than admire my one paragraph bio in the Contributors section though.