Archive for April 2003

 
 

Chris Brumme

Chris Brumme has a great weblog about the design choices they made when designing the Common Language Runtime. Actually answers some of the questions I had about marshalling. Here’s the link.

ComboBox Data Binding Bug

Michael Hildner writes to report a bug with data binding when the combo box style is set to DropDownList:

Pretty sure this is a bug, but it may come in a couple flavors. See http://www.vbforums.com/showthread.php?s=&threadid=237548 for a little discussion.

A short description of the bug:

Setting the ComboBox’s DropDownStyle to DropDownList causes unexpected behavior. In my particular case, a data bound ComboBox does not update the DataSet. Works fine if you set the DropDownStyle to DropDown.

Steps to reproduce: Create a data bound ComboBox with it’s DropDownStyle set to DropDownList. Modify the data. Note the underlying DataSet does not get updated.

What happens: Nothing, unfortunately.

What should happen instead: The DataSet should get updated when a user changes the data in the ComboBox.

Any additional info such as code that demonstrates the problem, workarounds, etc.

Workaround: Manually through code, set the DataSet’s table/row/column to the Text property of the ComboBox.

Michael Hildner
Software Development Manager
Access Data (Magic) Inc.
http://www.sleuthsoftware.com/
P:(505) 377-6757
F:(505) 377-3410

I’ve added this bug to the .NET Bugs Registry as #15.

Estimation

I absolutely suck at estimating how long individual tasks will take.

Last week I wanted to change the process a part of my app uses to serialize data so that delegates used to fire events are not saved but are automatically re-connected when the objects deserialize. All it would take is some attribute magic and adding the [NonSerialized] attribute to events.

Then I discovered that the NonSerialized attribute cannot be used on events.

I set out to write a serialization surrogate that would use a new attribute I created, NonSerializedEvent, to avoid serializing delegates, but then found out that there is absolutely no metadata that links an event with a corresponding field.

After surmounting that challenge, I found that reflection does not work as documented when retriving a list of fields for an object.

And so on.

Initial estimate: One day.

Actual time: A week.

Misdirection

Few wars provide benefit the humanity enough to justify the dead, the maimed, the raped, and the economic suffering.

So why are most wars waged? Special interests and that famous Houdini thing, misdirection.

28 Days Later

Movie posterI saw 28 Days Later on Sunday. I thought I’d mention it here because, having a bad title and not being a Hollywood movie, it probably didn’t get advertised enough.

The best way to sum it up is a sci-fi/horror movie for adults. It’s low on the “boo!” factor and manages to scare you mostly through a chilling story.

The story is not very original, but the somber way in which it is told makes it look very real. A deadly virus has been released from a Cambridge lab. It turns everyone that’s infected into a mindless, raging maniacs intent on brutally killing other human beings. The inspection rapidly spreads through blood, so if one of these people so much as scratches you, thirty seconds later you are one of them.

Our protagonist wakes up from a comma in a London hospital 28 days after the outbreak of the virus. He roams around the hospital, and it’s empty. He goes out to the streets, and the city is empty. Finally, he enters a church to find dead bodies literally covering the floor. He shouts “hello!”, and awakes couple of infected. Then the chase begins.

The whole movie is saturated with a sense of isolation and constant threat. There is no rest and there is no place where one is safe. This is the stuff of which the Omega Man and Romero’s zombie movies were made, only 28 Days later is much, much better. Not a masterpiece, but well worth two hours of your time if you like sci-fi or horror movies.