Expert Texture Home Contact me About Subscribe Digipede Connect on LinkedIn rwandering on Twitter rwandering on FriendFeed

rwandering.net

The blogged wandering of Robert W. Anderson

Archive for August, 2006

Martians invade, yeah!

If this blog has a topic, this is certainly off it.

I have recently been listening to the musical version of the War of the Worlds. This was given to me as a present by my sister last year. I had never heard of it before, but I guess it was big in England at some point (it was released in 1978). Kind of campy and fun, it’s kind of a disco / rock opera clearly influenced by Jesus Christ Superstar.

I’m not really into musicals, but in the right mood you can coax me into singing “Heaven on their minds.” But, I’m straying off the off-topic.

The music of this piece is too upbeat. It completely misses the horror you would expect from a Martian invasion. It is just too upbeat. While listening to the words:

With the smoke of battle clearing,
Over graves in waves defiled.
Slowly disappearing,
Farewell Thunder Child!

I’m feeling:

Hey, yeah, we’re all going to die! Yeah!

And now, back to your regularly scheduled program.

Expert Texture reachs new high

In a post about Akismet being out of commission, Robert Scoble notes that it has blocked 64,000 comment spams for him. This is since he moved to WordPress (approximately 321 days ago). Akismet has blocked 45,000 for me (over approximately 259 days). This means that my blog has 89% of the readership of his, right?

Of course these are the lowest type of “reader”: the spammer bot.

Look out, Robert, here I come!

Perhaps this means that some spammer bots avoid WordPress.com hosted sites (mine is self-hosted). If this is true, that is another bonus of WordPress: more spammers avoid it from the get-go.

WordPress and Akismet really rock.

It’s the team

Dan writes about the new version of the Digipede Network coming out soon:

But, most exciting: we’re getting ready to release the Digipede Network 1.3 next month. The development for this release has gone very well (mostly due to Rob, his adoption of some agile development techniques, and his devotion to automated builds and tests). We’re on schedule for a September release.

Thanks for the nod, Dan, but it is everyone on the team making this release happen — even you 😉

Tags: , ,

OOF, OTG, . . .

I am out of facility for the next week. Off the grid. Disconnected. Laptopless and without an Internet cafe. I expect lousy cell connectivity.

In Antarctica?

Nope, just on vacation with the family.

Tags:

XmlSerializer and ObsoleteAttribute redux

Recently I complained about how the XmlSerializer treats the ObsoleteAttribute.

My desire was to deprecate a property with ObsoleteAttribute without it being ignored by the XmlSerializer. I still think that the attribute should be ignored for serialization, but here is a workaround:

Before:

[XmlAttribute]
public bool A { ... }

After:

[Obsolete("This property has been deprecated; use property B instead.")]
[XmlIgnore]
public bool A { ... }

[XmlAttribute("A")]
[EditorBrowseable(EditorBrowseableState.Never)]
public bool DeserializingA { ... }

[XmlAttribute]
[DefaultValue(false)]
public bool B { ... }

The ObsoleteAttribute tells the compiler to issue warnings to developers about the old property (and, as I said above, the XmlSerializer also ignores it).

The XmlAttribute.Name property directs the serializer to read a property from an XML attribute with a different name.

The EditorBrowseableAttribute hides the deserializing property from Intellisense. You can also hide it from the debugger using the DebuggerBrowseableAttribute (not shown).

The example shows this for XML attributes, but the same approach will work for other XML elements.

Not too much extra work, though I would still prefer the XmlSerializer to just ignore the ObsoleteAttribute.

Tags: ,

Renewing a request for .NET 3.0

Some time ago I wrote a plea to Microsoft to decouple the release of .NET 3.0 (then WinFx) from the release of Vista: A Vista plea to Microsoft.

At the time (i.e., back in March), I received some comments and other information from Microsoft employees telling me and that this kind of decoupling wasn’t in the cards.

There is a lot of chatter that Vista isn’t ready yet and that it may get delayed even more.

So, I renew my request to Microsoft:

Please, while retaining focus on quality, release WinFx .NET 3.0 and IE7 as soon as possible. Please do not wait for Vista’s release to make these components ready in final form.

XmlSerializer should ignore ObsoleteAttribute . . .

. . . or respect the IsError property.

I found a problem in some code today. The class is a data-holder for XML serialization. One property has been deprecated and attributed with the ObsoleteAttribute to produce a compile-time warning for developers. Previous versions of the XML data must still be readable, but we want to make sure all of our code uses the correct property.

I assumed that on XML-deserialization, the property-setter would be respected; however, it is not.

This is wrong.

If a member is marked as obsolete with warning (i.e., deprecated) it should still be observed.  This is the case throughout .NET 2.0: deprecated members continue to function compatibly.
The only way that I can see the XmlSerializer observing this attribute is if IsError == true; however, even this is a stretch.  Really, this attribute should only impact compilation, not runtime.
Better yet, if a user wants a new version to exclude deserialization, we already have an attribute for that:  the XmlIgnoreAttribute.
Argh.

Tags: ,

Digipede in Fresno

On Wednesday, August 9th, Digipede Product Evangelist Kim Greenlee will be speaking at the Central California .NET User Group about threading and grid technology. The title of her talk is “From Threads to Grid — Application Scalability and Performance for the 21st Century.”

My guess is she’ll mention the Digipede Network too. 😉 Kim is an experienced developer and speaker.

If you are in the Big Valley, check it out.

VS2005 Productivity

I rarely come across mentions of ReSharper in my aggregator (though I have posted about it myself). I did find these two recently: Why Microsoft should buy JetBrains and one on Visual Studio Rosario by mdavey.

Both of these posts criticize Visual Studio and point to JetBrains (the developer of ReSharper) as Microsoft’s salvation.

I assumed his first post to be tongue-in-cheek with:

Even with Visual Studio 2005 new refactoring support, to be truely productive you still need ReSharper.

but then it goes on with:

If Microsoft still can’t understand the concept of refactoring in 2006, then maybe its time for them to give in, accept they will never build a decent IDE, and buy JetBrains to resolve the issue.

This (and his follow up post) make it clear that he is pretty frustrated with VS2005 and Microsoft, but what struck me most about these posts was the “to be truely productive” statement.

One cannot be truly productive with VS2005 without ReSharper? What were you doing before editors had refactoring (much less Intellisense, or even ran in a GUI)? Were you not productive? I sure was.

Now ReSharper does enhance my productivity and maybe IntelliJ IDEA is a better IDE than VS2005 — I’ve never used it. That said, I think the majority of Visual Studio users are not only happy with VS2005, but also are very productive with it.

And don’t get me wrong, Microsoft, go ahead and buy JetBrains. Their products (at least ReSharper and dotTrace) really rock. And there is no doubt that these products makes Visual Studio a whole lot better. It helps me be even more productive.

Tags: , ,

Frozen Code

Yesterday we achieved code-feature freeze for the Digipede Network version 1.3. There are a few remaining issues, significant testing (system, install, upgrade), and much documentation left. You know: software development.

Thanks especially to Mark and Jeff for meeting this internal deadline.

Now that we are through that I can spend some time on some other things. Dan and I have an article to write; I owe quite a few emails; more product planning, roadmaps, etc., . Oh yeah, and a vacation!

Tags: ,

Next entries »