Robert McLaws: FunWithCoding.NET

Public Shared Function BrainDump(ByVal dotNet As String) As [Value]

News

<script type="text/javascript"><!-- google_ad_client = "pub-4330602465258980"; google_hints = "ASP.NET, VB.NET, C#, C#.NET, WindowsForms, .NET Framework, VS2005, Visual Studio, XAML, WinFX, Windows Workflow, WPF, WCF, Atlas, NetFX3, Visual Studio Orcas"; google_ad_width = 120; google_ad_height = 240; google_ad_format = "120x240_as"; google_ad_type = "text_image"; google_ad_channel ="4997399242"; google_color_border = "B6C9E7"; google_color_bg = "EFEFEF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "002C99"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<!--
-->

You should feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever. That said, I will most likely only delete abusive, profane, rude, or annonymous comments, so keep it polite, please.

Blogroll

Cool .NET Articles

My .NET Tools

My Builder.com Articles

My MSKB Articles

Posted: by

Comments

Thom said:

You said it. I too sat there listening to Powell spell out what most of us already knew. I can't believe that countries like Germany and France have Saddam so far up their *&%^ that they can't see how snowed they really are. This guy is more of a menace I think than Hitler.

And as for other countries saying they are tired of the US stepping in and acting like we own the world, well, if you look at all of the loans and aid we give to more than half the nations in the world, we do!

See what happens to these small countries if the US were to pull back aid of all kinds. No money, protection, goods and services. They would all be falling flat on their faces. When will people learn that democracy is a good thing and not a dictatorship in a mini-skirt.
# February 6, 2003 1:01 AM

Pascal Leloup said:

Hey guys

A little bit of moderation please ! Where are the proofs ? Powel said that they are too confidential to reveal them. Come on ! And it's not because I am frnech (I am living and working in Ireland), and I am not a pacifist or a war campaigner.
Everybody know that US need the petrol from Irak, so admit that ! It's a fact that in October an american report said that US need to double importation of petrol in the next 5 years.
And for the weapons, whay US (and the others by the way) don't start to look at their own arsenal. Imagine tomorrow if americans vote for a new guy turniing dictator.
He will be happy with all the bombs !
And last thing, stop this idea about what Europe could be without America. that non sense.
Signed: Just an ordinary citizen of this planet so called Earth
# February 6, 2003 1:50 PM

Robert McLaws said:

Wow, people actually read my blog :).

I'm gonna have to disagree with you on this one Pascal, and here's why:

On American Dependance For Oil:
In Bush's State of the Union speech, Bush pledged something like $5B on fuel-cell research, to all but eliminate our dependance on foreign oil. We're going to take over their oil fields to finance the reconstruction of the country, not to become "imperialistic". Since when has the US EVER occupied a country to take their resources? Name me one instance.

On Fears of an American Dictator
Unfortunately, you fail to understand the concept of Democracy, and further the brilliance of the American Democratic System. The possibility of a disctator as president is impossible in our system of government. Why? Because of a little thing called legislative checks and balances. We have 3 branches of government, 2 legislative bodies, and a little thing called Impeachment. Contrary to popular belief, the people still have SOME power left in this country.

On Where Europe Would Be Without America
Sorry, but you can't deny the facts. We've bailed Europe out of every single major war. And France has TONS of experience understanding this. The French loathe us, until of course they are occupied again. Dennis Miller said: "[The French] have always been far to reluctant to surrender to the will of their friends and far to reticent to surrender to the will of their enemies." This is a true statement. You can't deny it, and any attempt to do so is ignorant. Just open up your history books.

Sorry if this ruffles a few feathers, but I'm a lot liek Donald Rumsfeld... I'm not hesitant to tell the truth, even if it hurts. True strength comes from learning from acknowleging and learning from those truths.
# February 16, 2003 3:50 PM

Pascal Leloup said:

Just that: Man, Peace and Love ;-)
# February 16, 2003 4:02 PM

Pascal Leloup said:

Just that: Man, Peace and Love ;-)
# February 16, 2003 4:09 PM

Fabrice said:

About this post and the previous ones :
Being outside the US, I can tell you that it is sad that the american people are blinded by the (private) medias running this country.
It's impressive to see all the propaganda these companies are doing over and over again. Free your mind...
# February 17, 2003 6:45 AM

Fleh said:


Any guess what percentage of the folks using these instructions will be doing so on legitimately acquired installs of Windows Server 2003 rather than pirated copies?
# February 25, 2003 11:22 AM

Robert McLaws said:

I'm running several systems on Windows Server 2003 RC2 as a legitimate RC2 tester. As for anyone else, I cannot estimate but I'm sure there are a bunch. I know the CPP (Customer Preview Program) for RC2 is huge, and there are tons of testers on the private MS newsgroups.
# February 25, 2003 11:46 AM

TrackBack said:

: ShowUsYour-Blog!
# February 28, 2003 10:40 AM

Don Box said:

# March 2, 2003 4:55 PM

Robert McLaws said:

Yes it is. From what I understand, you have to have a smart card reader to gain access. While I'm not an MVP yet (hint hint) [clears throat], I believe you can talk to your MVP lead about access.

LOL you're B0rg anyway, can't you walk down the hall and take a look at it? Speaking of the B0rg, what does it take to get assimilated?
# March 2, 2003 5:00 PM

Travis said:

"It will be nice working with proper villians again."

Oceans Eleven.
# March 2, 2003 5:50 PM

Robert McLaws said:

Congrats Travis. E-mail me at robert@interscapeusa.com with your e-mail address and I'll send you a license when we launch.
# March 2, 2003 5:52 PM

Mike Gunderloy said:

On Windows 2000, ipconfig /flushdns
# March 3, 2003 9:01 PM

Patrick Logan said:

WebSphere and WebLogic are being undermined by JBoss. I wouldn't be surprised if there are reasonable approximations of Lotus Notes as OSS. The days of big, expensive software systems is over. MSFT is just farther down the road. The steamroller's coming, just the same.

What could change that is a significant value added by an order of magnitude leap in functionality. e.g. simplifying the talent pool required to use the product.
# March 4, 2003 6:10 PM

Shawnmor said:

Assuming XP....

Did you try

C:\> ipconfig /flushdns?
# March 5, 2003 1:04 PM

Rogelio Morrell said:

Hey thanks for the information. Anyway, that article is misleading because people will think something else about InfoPath. I really see InfoPath as great tool. And also, I haven't tested the new Office yet, so that was my precaution, didn't want to go deep with something I wasn't sure about it.

Regards,
Rogelio Morrell
# March 6, 2003 1:45 PM

TrackBack said:

More on aggregators... : Loosely Coupled
# March 12, 2003 2:17 AM

TrackBack said:

I'm holding on... : Loosely Coupled
# March 12, 2003 11:17 AM

Fabrice said:

Err... "within two years"?
# March 12, 2003 1:46 PM

Greg said:

Oh No, Brady tatochip man himself is causing some smack to be thrown around..."what the &^%$ ...."tell him I said Hi, and "wazzzzz uppp"


# March 12, 2003 7:47 PM

Robert McLaws said:

I WANT A DATE!!!!! GET SPECIFIC HERE... I'm starting to raise funds already.
# March 12, 2003 8:39 PM

TrackBack said:

80s music... : Loosely Coupled
# March 12, 2003 9:33 PM

Greg said:

38 special baby, Lynyrd Skynrd relived...wow, scary, I know the band memeber's names and have the album..nice cover too!

# March 13, 2003 6:46 AM

Greg said:

Hey, we need to tell them about Molly Hatchet and Lover Boy!
# March 13, 2003 6:47 AM

Addys said:

OOps, sorry about that. Thanks for the correction!

I have updated my post :)
# March 14, 2003 3:17 PM

Royo said:

I Agree. this is not the best way to handle it. simply, i pointed out another way, which i hadn;t thought of - Another direction for implementing these things.
# March 16, 2003 2:01 AM

FnaD said:

What about Infragistics? Pricey, but I've heard nothing but good stuff about them. Unfortunately I haven't come accross a project that warrants (or can afford!) them...

If you are after free, theres the following very tasty looking DHTML offerings
young pup ypXMLTree - http://www.youngpup.net/?request=/components/ypXmlTree.xml
webfx have a couple of varieties of trees, including a load on demand tree - http://webfx.eae.net/

And, finally, something i stumbled accross the other day, http://www.xmlforasp.net/codeSection.aspx?csID=99 - Shaping Relational Data with XSLT and .NET. Not all that special to look at, but the concepts are really cool.
# March 16, 2003 11:04 PM

David Stone said:

I'm using Infragistics UltraWebGrid and their UltraWebTree in a project right now. They're a bit tricky to get used to at first (just like any new object model is), but once you get used to it, there are just sooo many options. It's very nice.
# March 16, 2003 11:11 PM

coacoacoa said:

You have anoter one at WebFX (http://webfx.eae.net/) with a full article that explains it. And there are a lot of stuffs here.
# March 17, 2003 3:19 AM

Jorge said:

There are *still* hookers on Van Buren? Heh. When I was in Phoenix in the 1980's, the city was trying to clean that strip up, around the same time that they were building that below-ground thoroughfare near McDowell road. I guess some institutions are too resistant to progress. Hmm, maybe the Mason Jar is still there, too...
# March 17, 2003 4:47 AM

FnaD said:

I gotta jump a little to Infragistics defense here - the 500 bucks gets you the entire suite of COM, .NET *and* ASP.NET stuff. There's some really nice looking stuff there. I've only had experience with their COM toolbars and Splitters, and I can tell you they were well worth the money we spent on them.

If you just want the tree itself, it can be purchased for a mere 400 bucks. Now *that* is a rip-off. I'm guessing designed to get people to upsize to the whole net advantage suite, it should be more like 50 bucks.
# March 17, 2003 6:59 AM

Robert McLaws said:

There aren't as many hookers there as there were before, but they are still there. The Mason Jar is still there too, and yes it's still a dive.

FnaD, unfortunately any gains they make by selling everything for $500 (which I did not know), they lose by selling one component for the same price. To quote Dustin Hoffman in <i>Hook</i>, "Bad form!"
# March 17, 2003 8:59 AM

Jorge said:

Robert, you missed one "anti". :-) She was marching in an anti-anti-war march.
# March 17, 2003 9:46 AM

Greg Reinacker said:

Looks to me like you get a lot of stuff for $495.

But more to the point, it's all about supply and demand. Obviously people are buying it for $495, or they would have to drop the price. And if I go to a client, and we need some fancy treeview thing, it's a no-brainer to spend $500 before committing a day of time to trying to build something (and it would likely take a lot longer than a day to build something robust).

And, if I find that the $500 one is more reliable, has less bugs, or has some cool feature I need, versus the $50 one, then again - it depends on who the client is. Most of my paying clients would much rather buy the thing, then have me waste time on a buggier one, or building one from scratch. On the other hand, if I need one for my personal use, then I'm not likely to use the $500 one. (disclaimer - I haven't used any of them, and don't really know anything about which one is better, more reliable, etc., just trying to make a point).

But in the end, I guess I don't understand what you're ranting about. If it's too much, then vote with your pocketbook and don't buy it. That's what capitalism is all about, right?
# March 17, 2003 5:05 PM

anonymous said:

Actually that's from satirewire:
http://www.satirewire.com/news/jan02/axis.shtml
# March 18, 2003 3:54 PM

TrackBack said:

Warning: Bad Dolphin Humor : Bloated Blog of .NET Blunders
# March 25, 2003 10:26 PM

TrackBack said:

Driving and SmartTags...grrrrr : Greg Robinson's Blog
# March 26, 2003 11:54 AM

Fabrice said:

This shows that you never had to drive in France! Otherwise you would understand that this cannot be a reason for us calling you arrogant :-) (that does not mean we don't have other reasons ;-) )
After a test drive in Paris you would love driving in Arizona...
# March 26, 2003 4:00 PM

G. Andrew Duthie said:

Another thing that rarely gets mentioned is just how minimal the civilian casualties have been, compared to past military conflicts / wars. While any civilian casualties are unfortunate, by comparison with Vietnam or the World Wars, this one is incredibly clean.

No comfort to those who lose loved ones, I know, but it's very clear that the coalition forces are going well out of their way to avoid civilian casualties, and are being very successful at it. They'd be even more successful if Hussein's forces weren't trying so hard to force civilians into the line of fire (or just killing them themselves and trying to blame the coalition forces).
# April 6, 2003 7:34 PM

Robert McLaws said:

Yeah, that is an amazing thing too. Take WWII for example. Berlin was bombed indescriminately, and the whole city was pretty much in ruins when it was all over. We have the cabability of surgically destroying only what we want to (with a relatively small margin of error, usually the Human Factor), while killing as few prople as possible.

And on another note, I wouldn't lend any creedence whatsoever to civillian death estimates by Iraq's DISInformation Minister. The guy said they killed 50 soldiers today, which we know is not accurate. They are exaggerating the numbers to make us look like monsters. I, however, trust our gov't WAY more that I do "Sodamn Insane".
# April 6, 2003 8:09 PM

HAHAHA said:

how much do they pay?
# April 6, 2003 10:29 PM

Robert McLaws said:

Not at liberty to discuss it.
# April 6, 2003 10:30 PM

Ben said:

Can't be done with HTML.
# April 7, 2003 12:10 AM

Dan F said:

yeah, what ben said. assuming by listitems you mean the listbox/combo box (select element in html parlance).

the guys over at webfx have some cool selectable list type stuff that you could probably bend into shape though.
# April 7, 2003 6:43 AM

JimS said:

push the envelope and give people that reason to change!
# April 7, 2003 6:01 PM

Phil Scott said:

Looks like fark.com but with a different table layout.
# April 8, 2003 12:43 PM

Tim Marman said:

Just so you know, and not that it really matters...

If you look at the output of that page, you won't see a <select> node. It's just a DHTML implementation that mimics the dropdown functionality.

So the people who told you it couldn't be done (not that I was one of them) weren't entirely wrong - you can't put an image into an <option>. You can, of course, make something that looks and behaves like a dropdown, which is what FunkeLab did.
# April 8, 2003 11:25 PM

Robert McLaws said:

I know. I never said that it had to be <b>the</b> DropDown server control. What FunkeLab did was provide a solution by thinking outside the box. Now that's my kind of developer.
# April 9, 2003 12:42 AM

TrackBack said:

RowSelectorColumn : ScottW's ASP.NET WebLog
# April 9, 2003 1:46 AM

TrackBack said:

Robert McLaws' reply to my "DataGrid Columns" post : Samer Ibrahim's Blog
# April 9, 2003 1:46 AM

Richard said:

Hi!

You might check out this DropDown control. http://www.funkelab.com/mydropdown

Costs $30, gives you the full source. Check out the online demo.
# April 9, 2003 8:01 AM

Robert McLaws said:

Ya I know. Tim Kilmer pointed to it earlier, and I posted about it to everyone last night. If you found it from here, it was from one of my posts ;). Thanks tho!
# April 9, 2003 9:19 AM

TrackBack said:

More on "DataGrid Columns" : Samer Ibrahim's Blog
# April 9, 2003 10:14 AM

Scott Stoecker said:

Nicely put.
# April 9, 2003 11:45 AM

M. Keith Warren said:

Ditto from me pal!
# April 9, 2003 1:08 PM

popol said:

Hey man, you really now burned a fuse !

Fascist ! And only 21 !
# April 9, 2003 2:26 PM

Adam Hill said:

There is a way to hose your system.

1) Install .Net 1.1 FMWrk.

2)Install .NET 1.1 SDK.

3) Make sure 1.0 bits are working make sure 1.0 bits *stll* working. Feel safe.

3) Remove 1.0 (We don't need no steenkin' legacy Framework.)

4. Everything quits working -- Old examples, current apps, VS 2002 (wait a sec... it *doesn't* have a 1.0 only manisfest why didi it break?)

5. Re-install 1.0 everything is back to working.

Anyone got any ideas?

adam hill...
# April 10, 2003 6:22 PM

TrackBack said:

MORE VS.NET 2003 Info : Bob.NET
# April 10, 2003 6:28 PM

Robert McLaws said:

Where you wenrt wrong is taking out 1.0 and still trying to use VS.NET 2002. VS.NET 2002 and 1.0 are like conjoined twins. Separate them, and one will die. Conversely, VS.NET 2003 and 1.1 are the same way.

In other words, LEAVE 2002 ALONE if you still want to compile to 1.0.
# April 10, 2003 6:32 PM

TrackBack said:

The ASPSmith's Blog
# April 10, 2003 7:30 PM

TrackBack said:

Robert McLaws
# April 10, 2003 7:30 PM

TrackBack said:

MORE VS.NET 2003 Info : ShowUsYour-Blog!
# April 10, 2003 7:30 PM

TrackBack said:

What's the fuss about VS .NET 2003? : Edgar S??nchez's .NET Blog
# April 10, 2003 7:30 PM

TrackBack said:

Robert McLaws
# April 10, 2003 7:40 PM

blink said:

Sort by "type" at the top left and you'll get a good page-full of T&A.

And, it is a bit like Fark. Fark was the inspiration--there's a very fark-like view, as well as a very text-only view, too.

Glad you were checking us out. Thanks!
# April 10, 2003 11:16 PM

blink said:

RSS feed, you say...

Send me a "howto" guide and I'll do it this weekend.

Fair enough?
# April 10, 2003 11:17 PM

Robert McLaws said:

http://backend.userland.com/rss

That would be awesome!
# April 11, 2003 12:00 AM

blink said:

Thanks--I'll see about working on it this weekend, for certain!
# April 11, 2003 12:31 PM

Tim Marman said:

Maybe they'll get it if you write it in a different language :)
# April 11, 2003 5:30 PM

Robert McLaws said:

# April 11, 2003 5:49 PM

Tim Marman said:

perfect :)
# April 11, 2003 5:54 PM

TrackBack said:

OK here it goes... : Bob.NET
# April 11, 2003 5:56 PM

TrackBack said:

Thoughts concerning "Stop It". : VB Defender
# April 11, 2003 5:56 PM

TrackBack said:

Thoughts concerning "Stop It". : VB Defender
# April 11, 2003 6:30 PM

David Stone said:

Brilliant! :D
# April 11, 2003 6:31 PM

Samer Ibrahim said:

you actually have a bug in that code...
[c#]
Thread stupidlanguagetopic = addressof(veryoldthread)

;)
# April 13, 2003 1:55 PM

Robert McLaws said:

Ugh, you're right. I'm not a C# guy ;) Can't you tell... I also forgot the semicolons. LOL.
It's fixed now.
# April 13, 2003 2:43 PM

M. Keith Warren said:

We support Israel because they are the only light in the darkness of the middle east. A democratic success amongst a dictator dominated region. We support Israel because they are out ally; and unlike certain European countries, we stand by our friends.

Sharon is hardly Hitler. He has been remarkably restrained considering the circumstances. If the West Bank situation where transplanted into this country, constant killing and terrorist attacks caused by a group of known terrorists living amongst us, I would expect our President to respond to the problem with such fierce force and relentless, un-merciless power that like minded people across the world would fear ever using the word jihad and U.S. in the same sentence...And if the president refused to respond; I would promise you that the patriots all across this land would rise up to deal with it.

I truly hope that our President will ignore the voices of the protestors, who are largely angry about the election, disestablishmentarianists who attend protests organized by groups like International Answer whose parent organization is a communist group; ignore those voices and deal with these problems head on. The path to peace in the middle east is bloody and difficult; it leads through Baghdad, into Syria, into Lebanon.

The path to peace in the middle east is on the road to victory in the war on terror. It is time to ignore the sovereignty of borders whose land is controlled by ruthless dictators like Saddam Hussein; WMD or not, these men must be removed. If a country like Iran or Syria, or Lebanon is harboring terrorists; we must; for the sake of our children and the safety of our homeland, cross the borders - eliminate the problem.

The path to peace in the middle east does not include the UN. It ignores the cries of appeasement countries who are trying to protect their under the table dealings with these terrorist regimes.

The path to peace in the middle
# April 13, 2003 7:31 PM

Robert McLaws said:

Going to disagree with you there. Israel is wrong in occupying the West Bank and Gaza. I don't care what the Palestinians do to them.... it is wrong. Sharon is a warmonger who only wants to finish what he started in the 80's when he was Israel's defense minister battling Arafat. The fact that he wants peace now is outstanding, but there is HARDLY justification to create settlements in Palestinian territory... whether it has anything to do with ancestral land or not. A true friend will point out when you're wrong. We can stand by them and still say that they're wrong for doing what they're doing. But you don't see that happening do ya?

Further, the path to peace has NOTHING to do with ANWR. That is specious reasoning. Removing dependance on foreign oil is great, but not that way. How about through Fuel Cell technology, which NASA has had for 20 years, yet it's never made decent inroads in the private sector. Why? Because Big Oil wants to keep their power. We we don't use oil any more, most major countries and companies lose their income. Oil is Iraq's only resource (besides WMD).

I do agree that we can't do what the Founding Fathers did with slavery and pass it on for another generation to deal with. We have to deal with it now, wherever it may be.
# April 13, 2003 8:17 PM

Robert McLaws said:

By the way, I never said Sharon was Hitler. I said he was the biggest warmonger SINCE Hitler.
# April 13, 2003 8:18 PM

Robert McLaws said:

And the West Bank situation IS here in the US. The American Indians were here first. They are a series of soverign nations within our borders. You don't see us rolling tanks thru their towns, and we wouldn't even if they did have suicide bombers. It's called Posse Comitatus.... look it up.
# April 13, 2003 8:21 PM

M. Keith Warren said:

It is not specious reasoning. There is at least enough oil in ANWR to remove 1/5 of our foreign dependency for 3 decades, certainly long enough to see fossil fuel technologies go the way of the fossils themselves. That 1/5 is an industry estimate which will only likely go up once there is a tap; all this because environmentalists are worried about a caribou who has less than a 1% chance of being affected by such drilling.

I agree that drilling in ANWR has nothing to do with pali-israeli peace; but it certainly could affect OUR peace.

...

Specious reasoning is comparing the pali-israeli conflict to Native Americans. They are not blowing themselves up, trying to kill every american innocent and calling on the gods to destroy us all so they can put in place their own dictatorship.

...if they were; I would hope that you would take up arms with me and destroy them first.
# April 13, 2003 8:55 PM

Robert McLaws said:

It would not affect our peace in the least. And it is specious reasoning because we'vr destroyed enough of our land... it's protected for a reason.

Duh, the Indians aren't blowing themselves up. You missed the point entirely. I don't see the majority of the Palestinian public calling on the gods to destroy us all so they can put their own dictatorship. Back away from the extremes man. A small minority of Palestinians and other Arabs are attacking their occupiers. Go back and read my statements in their entirety. I was hoping you would come back with a valid argument and all I got was hyperbole.

I think you're a little out of whack man. You cannot destroy everyone because a few people go crazy. The Arab world thought we were gonna do this in Iraq. Well we didn't and look what happened. Besides that, you don't destroy the people, you destroy their capability of doing anything. You humiliate them to the point that they go back home in tears with their personal view of their manhood in question.

Finally, I'm done discussing this because it's pointless. I don't like arguing with extremists, and your point of view is a little too extreme for my taste. Now, I hope that doesn't mean you're gonna stop reading my stuff, it's just that I'd rather discuss coding then argue over garbage that doesn't matter in the grand scheme of things anyways.
# April 13, 2003 9:12 PM

Dan Bright said:

If you do write anything like this, I would be extremely interested in reading it. I am thinking about colocating a box to offer my web clients hosting services, and while I can get a friend to host it in his office, I will need to do all of the configuration myself.

Please keep me in mind, and good luck.
# April 13, 2003 10:16 PM

James said:

I couldn't agree more - this is best chance at middle eastern peace in 50 years. On the Palestine/Israel issue: Bush is going to stick it to Israel, and he will stick it to the palestinians as well - he has already said there will be no negotiation on the peace plan Powell is working on. Sharon's statement is huge, because the administration is putting so much pressure on him, he has got to capitulate and he did/is starting to. This is good - both sides need to have major pressure applied for any settlement to come about. Bush get's the 'Brass Balls' award in my book - leadership is hard and sometimes unpopular, but he is doing the right thing, and the changes that he has set into motion are going to be incredible and positive over the next 20 years. When people start to realize what he has done (this will take a while), he will have a landslide election in 2004.
# April 13, 2003 10:25 PM

M. Keith Warren said:

Extreme...?
Lose a friend to a terrorist and then talk to me.

I am intelligent enough to realize that it is the fringe who has these attitudes; but the unfortunate problem is that in far too many of these cases, the fringe has the loudest microphone, the sit in the halls of leadership and rally their people to their radical and extreme beliefs.

...'Besides that, you don't destroy the people, you destroy their capability of doing anything...'

I agree totally; but you cannot take away the ability for Hamas to tell their followers to commit suicide. You cannot humiliate UBL to the point he would just go away. These extreme leaders must be taken out.

My problem is not with palis or arabs in general; my quam is with the radical islamic cleric who tries to manipulate the minds of the average muslim. It is with the pawns like Yasser Arafat who is a willing puppet of the terror groups.

..."it's protected for a reason":
What reason is that? The Caribou? It's pretty? Hey, I am all about saving the environment too pal but have you seen the plans? We are not exactly sticking a pole in the ground and letting crude pour into the pristince lakes. ANWR is almost 20 million acres and only about 2000 would be directly affected. That area is virtually uninhabitable, it is dark more than half of the year and reaches more than 50 below.

About 30 years ago there were similar cries regarding Prudhoe Bay. That area which according to environmentalists would only yield a few months of supply was the largest deposit in North America…and the threat to the Caribou – the population grew by almost 10 times over since that point.

Dont quit talking about this; I enjoy civil debate...it helps me to learn things.
# April 14, 2003 12:08 AM

Robert McLaws said:

E-mail me at robert@interscapeusa.com... we'll talk about my hosting plans that can help you out :).
# April 14, 2003 12:30 AM

Robert McLaws said:

Keith,

I apologize if I was a little harsh in our exchange. I value and respect your opinion, even if it differs from mine. You can at least explain your opinion without resorting to name calling.

The fringe will always have the loudest microphone. Why? Because they are so insignificant that they will do whatever it takes to be heard, no matter the cost. It is no coincidence that these people are usually the biggest fools.
# April 14, 2003 11:06 AM

Jesse Ezell said:

Do you have this code sample in C# also? ;-)
# April 14, 2003 12:18 PM

Robert McLaws said:

Meave it to Jesse to make me laugh. I needed that man thanks.
# April 14, 2003 12:21 PM

Robert McLaws said:

Meave it to Jesse to make me laugh. I needed that man thanks.
# April 14, 2003 12:21 PM

Robert McLaws said:

It posted 2x... hmmm. I meant to say "leave"
# April 14, 2003 12:26 PM

Phil Weber said:

Robert: A spammer could make the same argument: "If people don't like what I send them, why can't they just delete it?"

I subscribe to the DotNetWebLogs feed to keep up on the latest technical info. Because it's an aggregated feed, I can't simply unsubscribe from individual blogs; it's all-or-nothing. Off-topic posts waste my time, just like spam does.
# April 14, 2003 12:51 PM

Daniel Nolan said:

I've no objection to off-topic posts. As for people ignoring what they don't agree with, surely if you're entitled to post something, they have as much right to reply?

Also (ok, i should shuttup now) but surely "WonderWhyPeopleCantIgnoreWhatTheyDontAgreeWith" means america should ignore Iraq too? ;-)
# April 14, 2003 12:58 PM

Robert McLaws said:

I'm not gonna side with spammers here, but if it's a waste of time, then why do people waste EVEN MORE time responding? If you see it's not about .NET, have the self control to skip it and move on. You (read: everyone) read it because you want to know what other people have the guts to say. It's not my fault if you waste your time responding to it. if you truly believed that it wasn't worth reading, wouldn't you then have to agree by implication that it's not worth responding to?
# April 14, 2003 1:02 PM

Robert McLaws said:

Good point Daniel, but let me expound on your first statement to say that they gave the right to respond WITH RESPECT.

On #2, there is a difference between ignoring an opinion and ignoring what's right and wrong.
# April 14, 2003 1:04 PM

Daniel Nolan said:

Noted, and I apologise that how I replied may have been a little harsh, but I was trying to make a point. I think I'll call this one a day and we'll agree to disagree.

Never read your site before today but for some reason I've gone and subscribed to the rss feed :p

/me mutters about tiny comment boxes in mozilla (already prodded scott)
# April 14, 2003 2:12 PM

Phil Weber said:

"If you truly believed that it wasn't worth reading, wouldn't you then have to agree by implication that it's not worth responding to?"

Robert: I *do* agree that it's a waste of time to respond, which is why I haven't responded, other than to post these comments to try to help you understand why I (and others) object to political posts in a .NET feed.
# April 14, 2003 2:13 PM

Robert McLaws said:

Daniel you were not harsh at all. I was talking about everyone else.

Phil, that comment was more directed at everyone else than you. kind of tongue-in-cheek if you get my drift.
# April 14, 2003 2:18 PM

Tim Marman said:

On one hand, I say a blog should a place to truly express your opinions, censoring and filtering is a bad thing.

On the other, this is .NET weblogs, a community that Scott has been generous enough to provide us for free. Our primary focus should be .NET and technology in general, and we all need to keep in mind that this is a global community.

Let's not allow national, political, or religious interests to interfere with the real reason we're here, technology. It's easy to ignore an "off-topic" post; it's harder to ignore an "offensive" post.

Just remember - no matter how elegantly put, hatred is still hatred. The recent anti-French rhetoric isn't a far cry from racist or anti-Semitic commentary.

I would hate to lose someone from the community who has something to say about technology because of something stupid like this....

Can't we all get along? :)
# April 14, 2003 3:33 PM

Robert McLaws said:

Tim, as always, well said. I would disagree about your stance on the anti-French rhetoric. Also, I would gently remind you that anger and hatred are two different things. I don't post hatred. Period. I may post disgust, shame, sorrow, gratitude, or anger, but never hatred.
# April 14, 2003 3:39 PM

Phil Weber said:

"It's easy to ignore an 'off-topic' post; it's harder to ignore an 'offensive' post."

Thanks, Tim. I would add that it's easy to ignore a single off-topic post, but it's difficult to ignore several. I didn't say anything about Robert's first or second or third patriotic post, but it eventually reached a point at which I felt the need to object.

I think Robert himself said it best (http://dotnetweblogs.com/RMcLaws/posts/5452.aspx): "Do something other than waste everyone's time filtering through garbage posts." ;-)
# April 14, 2003 4:12 PM

Phil Weber said:

"I'm going to post things of a political nature in my 'Stories' section, and then link to them in blog entries."

Sounds good, Robert, thank you!
# April 14, 2003 4:14 PM

Robert McLaws said:

Maybe the fact that I was a LtCol. in the AFJROTC program (awarded a scholarhip to the AFROTC program as a CS major) might help explain my feelings towards the situation.
# April 14, 2003 4:20 PM

G. Andrew Duthie said:

I'll say the exact same thing to you as I'm saying to Paschal...could you PLEASE both take this discussion off-line? I don't care who started it, or who said what, but you're both wasting people's time with this.
# April 14, 2003 7:10 PM

G. Andrew Duthie said:

I'll say the exact same thing to you as I'm saying to Paschal...could you PLEASE both take this discussion off-line? I don't care who started it, or who said what, but you're both wasting people's time with this.
# April 14, 2003 7:10 PM

Robert McLaws said:

NP G-Dogg.
# April 14, 2003 7:22 PM

Jeff Julian said:

SqlCE is very very slow. I would suggest an Xml store myself. If you need any assistance, feel free to buzz me offline. I actually wanted to work on the exact same thing last night, but instead I went to sleep. You know how it is.
# April 14, 2003 8:29 PM

TrackBack said:

Yet Another PocketPC RSS Aggregator in plans : CLaueR's Blog
# April 14, 2003 8:35 PM

Nino Benvenuti said:

Firstly, I will disagree with Jeff about SQL CE performance, in a general sense. I'm curious as to what Jeff was doing with SQL CE. I have used SQL CE(2.0) in several solutions (.NET CF) and achieved _very_ good performance (< 1 or < 2 seconds depending on what is happening). I have also seen SQL CE perform very poorly inserting data from flat files.

Since you already have XML in hand, I would suggest keeping with that as the data store (although there is nothing wrong with using SQL CE, IMO), and avoiding the need to interface with ActiveSync, although I'm not sure what you are thinking along the lines of pulling the feed and aggregating it. Depending on how you handle it, the XML -> SQL CE conversion may be CPU intensive.

How many posts to keep prior to "recycling"? That's a good question, and one that I think is somewhat subjective as posts are different sizes. Being sensitive to memory restrictions on the device, you wish to either adjust this number based on device memory, set a fixed number, or let the user select the number(my choice).

I'd be more than happy to provide assistance on/offline.

-Nino
# April 14, 2003 9:22 PM

brady gaster said:

now THAT...

is SO money.
# April 15, 2003 1:42 AM

Robert McLaws said:

Ladies and gentlemen, the irreverent, the incomparable, BRADY GASTER!
# April 15, 2003 1:49 AM

Dan F said:

XML for sure, it seems like a whole lot of extra effort to put it into a database. XML also opens it up for other people to work with a little easier. Granted, not that much easier, but still easier.

Only having ever used a pocketpc to do a couple of months worth of development (in eVB, *shudder*) you may want to take the following suggestions with a grain of salt
* I'm assuming there'll be a desktop component where you can do the bulk of the "setup" work, subscribe to feeds, follow up on links, purge the feeds, etc. The little experience I had with the pocketpc made me hug my keyboard and monitor with glee
* the ability to mark a post as follow-up-when-theres-more-pixels would be good. I can see myself leaving the PocketPC docked during the day/night, uncradling it and reading the feeds on the train, then following up on links at work/at home. That way I could filter the "errata" out and be left with the "good stuff" to follow up on
* on a similair vein, a links basket would be cool. links to visit when back in desktopland
* being able to annotate posts would be cool. None of the aggregators I've used yet let you do it, I think it'd be cool.
* a few different ideas for deleting the posts:
- immediately. sometimes theres stuff that just doesn't warrant carrying around
- global ageing rules, where they "fall off" the bottom after X days, or X kb used
- per feed ageing rules.
- some kind of "weighting" for each post as to how usefull it'll be in the future. eg: this post, i could bump up to an 11 (out of 10), coz I know its going to be history making. but other posts may only be 2 or 3 and can be culled at will. This idea isn't fully baked, feel free to laugh at me!
- per post "never delete". some things you just want to keep for ever. I'm not sure if an aggregator is the best spot to keep them, but I'm a messy guy :)

Ah, I
# April 15, 2003 6:45 AM

Dan F said:

Ah, I...

wow, I ran out of room! Anyways, as I was saying...

Ah, I think thats about it.
# April 15, 2003 6:46 AM

Nino Benvenuti said:

I'll concur with Dan's first item. Do the heavy lifting on the desktop; Pocket PC wasn't designed to do CPU intensive tasks. This is one of the reasons Microsoft left out XSLT from .NET CF; too CPU intensive.
# April 15, 2003 9:39 AM

TrackBack said:

Scobelization : Jesse Ezell Blog
# April 15, 2003 5:38 PM

Boris Gupp said:

Being European it strikes me as odd that self criticism is something Americans find difficult to express. We are a lot more modest (even realistic, I would say) here in Europe.
We know that we are only a small part of the world and we have no right to force our ideas on others. Don't get me wrong I am not saying the US just does the opposite, but I have a feeling that Americans have difficulties with anyone who says that not everything in the USA is 100% perfect.
The world greatest democracy? The world biggest democracy for sure. The 2000 elections is still something that keeps us wondering how such a modern society can be stumbling with very old, defective (or not) voting machines.

To wrap up: I think that the war in Iraq is in a way the right thing, but maybe not at the right moment or for the right reason. It is still hard to defend with no WMD found.
I think the US (the coalition) now have a difficult job to get Iraq up from the floor. Even they can pull that trick off, with almost the same ease as they took over Iraq, that would be a real achievement and it might make the world a better place in the end.
# April 16, 2003 6:20 AM

Boris Gupp said:

Hear hear!

Blinded by the light they shine in their own eyes.
# April 16, 2003 6:28 AM

Robert McLaws said:

Well said Boris.
# April 16, 2003 11:39 AM

TrackBack said:

Object Mappers : Jesse Ezell Blog
# April 16, 2003 1:36 PM

TrackBack said:

Opinions about persistence, object-relational mapping, data-access layer generation tools : Fabrice'
# April 16, 2003 1:36 PM

TrackBack said:

Yet Another PocketPC RSS Aggregator in plans : CLaueR's Blog
# April 16, 2003 1:36 PM

TrackBack said:

OlyMars == Confusion : David Stone's Blog
# April 16, 2003 1:36 PM

TrackBack said:

OlyMars == Confusion : Eric J. Smith's Weblog
# April 16, 2003 1:36 PM

Chad Osgood said:

LLBLGen is really that simple: choose your database, select the tables/views you want, and click generate. It will create the TSQL for all the sprocs, and the DAL classes.
# April 16, 2003 2:12 PM

Christophe Lauer said:

> If the instructions for using a condom were as
> complicated as the ones for using OlyMars, AIDS would
> have killed us all by now.

OlyMars is not only an object/relational mapping layer, nor a DAL generator. OlyMars is a generic (multi-purposes) code generator, which can provide services for generating a DAL, database aware controls, or whatever you want if you write your own templates. Hence the complicated instructions for use.

My $0.02,
Christophe Lauer

Btw, isn't "French Letters" another word for Condoms ? ;-))
# April 16, 2003 4:47 PM

Robert McLaws said:

I'm not touching the French joke. That's gotten me in trouble too much this week.

I don't care how complicated the system is, if the instructions are difficult to understand, it's a waste of time.
# April 16, 2003 4:52 PM

Chad Osgood said:

I think completely disregarding something simply because the instructions are difficult to understand is a bit dismissive.

These tools aren't targeted towards end-users; they're not always going to be user-friendly. Sometimes (read: most of the time) we have to dig further to derive the most value.
# April 16, 2003 10:27 PM

Robert McLaws said:

I do not buy that at all. In fact, that is the one things that buge me more than anything. In this case, we ARE the end users.

A solution, by definition, solves a problem, it does not supplant the problem with a different one. If I have to waste time trying to figure out how to implement the solution, it ceases to be a solution and becomes ANOTHER problem.
# April 16, 2003 11:17 PM

TrackBack said:

True to my word : Bob.NET
# April 17, 2003 3:29 AM

Peter Marshall said:

Isn't the american soldier in the foreground holding his very own penis replacement also.............
# April 17, 2003 5:53 AM

plato said:

I'd go for XML rather than SQL CE, if nothing else there's some level of compatability with the other aggregators out there.

Other thoughts/comments:
* Don't really mind if there's an AS interface, but would want to be able to do most things from the PocketPC when I'm on the road (add & remove feeds, update etc)
* Really like Dan's suggestion of the "link basket" for looking at things later - much better than copying them to a PI note :-)
* Allow feeds to be stored on a memory card.
* Would like to "lock" items (ala SharpReader) so they never get aged out (Dan's "never delete").
* Implement IBlogThis interface - although given System.Xml.XPath isn't supported in .NET CF this could be a small problem. Some sort of blog posting support would be cool though.

Ideally it would also sync with my desktop aggregator so that I don't have to read both, make the tea, put the kids to bed and ...
# April 17, 2003 12:15 PM

Robert McLaws said:

I've been thinking a lot about it... and I don't know if it's very practical to have a PocketPC aggregator. Brady Gster made a very valid point.... you could always use AvantGo to grab the pages themselves.... with full HTML.

What I am curious about is....seeing if I can use .NET speech to let you dictate blog entries, and then submit them up to the blog using the webservice or the IBlogThis interface. I don't think it's possible tho since .NET speech is prompt-based.
# April 17, 2003 12:55 PM

Robert McLaws said:

I've been thinking a lot about it... and I don't know if it's very practical to have a PocketPC aggregator. Brady Gster made a very valid point.... you could always use AvantGo to grab the pages themselves.... with full HTML.

What I am curious about is....seeing if I can use .NET speech to let you dictate blog entries, and then submit them up to the blog using the webservice or the IBlogThis interface. I don't think it's possible tho since .NET speech is prompt-based.
# April 17, 2003 12:55 PM

TrackBack said:

XSLT as a Bigger Hammer? : Kirk Allen Evans' Blog
# April 17, 2003 4:39 PM

sirshannon said:

there is a VERY easy way for MS to stop people from complaining about "typical m$ bull----". Very, very easy.
# April 17, 2003 5:20 PM

blink said:

There's an RSS feed there now...just waiting for you to take advantage of it...

Enjoy!
# April 17, 2003 11:16 PM

Greg Robinson said:

Tato charged you $700! See he is still up to ripping his friends off ;-)

# April 18, 2003 6:56 AM

Scott Cate said:

This is a great find, thanks ....
# April 18, 2003 11:59 AM

Robert McLaws said:

NP Boss. ;)
# April 18, 2003 12:41 PM

Chad Osgood said:

I empathize completely. Being inquisitive and ambitious in the developer world is a time consuming (but fun) combo.
# April 20, 2003 7:11 PM

Nino Benvenuti said:

Yep! They announced that site at MDC (see:
http://dotnetweblogs.com/nino/Archive/032003.aspx ..scroll down). Finally a community for us PPC developers. =)

-Nino
# April 20, 2003 9:04 PM

David Stone said:

Hasn't that been around in OmniPage for a while? I've been using it for at least a year...
# April 21, 2003 1:45 PM

Jeff Julian said:

Happy Birthday bro. There are no more good ones. I turn 22 in two weeks and it is nothing to me. I don't want to party, drink, or really do anything. Live it up tonight!!!!
# April 21, 2003 8:02 PM

Dan F said:

Whoa, only 21? I feel so old! (26)

Happy birthday man. Heres to the golden hangover (that lasts the same amount of hours as your birthday)
# April 22, 2003 8:47 AM

kristen mclaws said:

I am his twin sister and trust me, he did not live it up as he should have! But don't worry, I drank enough for both of us :)
# April 22, 2003 12:55 PM

Robert McLaws said:

Unfortunately I have a product launch in 2 days and I could not afford to get hung over. That's ok tho, I still had a great birthday. It felt good to get that "Under 21" stuff off of my license.

Thanks to everyone that wished me a happy birthday!
# April 22, 2003 2:46 PM

Robert McLaws said:

Unfortunately I have a product launch in 2 days and I could not afford to get hung over. That's ok tho, I still had a great birthday. It felt good to get that "Under 21" stuff off of my license.

Thanks to everyone that wished me a happy birthday!
# April 22, 2003 2:46 PM

Dan F said:

Bah, product schmoduct. Its a well known fact that you code better when buzzed. Or, at least, you *think* you code better :D

Happy birthday to you too Kristen!
# April 22, 2003 6:35 PM

kristen mclaws said:

thanks dan!
# April 23, 2003 3:22 PM

Eli Robillard said:

"The Lazy Programmer": http://dotnetweblogs.com/ERobillard/Story/3801.aspx

Lazy Programming Category:
http://dotnetweblogs.com/ERobillard/Category/544.aspx?Name=Lazy%20Programming

# April 24, 2003 9:27 AM

Chad Osgood said:

Yes, I was indeed asked that just the other day. This person has gone through Guerilla.NET, works with a whole team of .NET developers, and works on a large-scale well-known production web application. The reason I was so flabbergasted by such a seemingly simple question is because it indicates a profound misunderstanding of (basic) .NET in general.

He's an intelligent individual, but he simply doesn't care about delving into details or learning more than he needs to. It's unfortunate, but I find this to be the resonating norm among developers I encounter. This is why I feel user groups are such a positive thing...
# April 24, 2003 10:21 AM

Robert McLaws said:

Yes, Eli, but Ambrose in your comments made a very distinct point. Laziness + Intelligence + Enthusiasm = Great Developer. Laziness + Enthusiasm = Most developers. #2 is a very dangerous combination., and illustrates Chad's point very well. We've got developers out there who don't understand the basic elements of .NET, and are writing software. I've inherited several projects that have spaghetti code in one place or another. As I said, laziness can help breed invention, but it can just as easily breed more problems.
# April 24, 2003 1:59 PM

Dan F said:

Copy and paste into notepad/word *before* clicking submit/post is your best friend. It'll save your hide everywhere, from message boards to sending emails. Software is evil :(
# April 29, 2003 7:07 AM

Tim Marman said:

Have you tried w.bloggar or newzcrawler? I personally haven't had any problems with the webform interface, but I know others were successfully using these tools.

Actually, I downloaded w.bloggar, but haven't gotten around to playing with it much yet... it looks like a nice piece of software though!
# April 29, 2003 7:34 AM

Justin Rudd said:

Ha! What a small valley! I'm actually working on a gig with the author of OnTime :-)
# May 1, 2003 10:21 PM

Scott Swigart said:

Thanks for the, uh, compliment?

Glad you like the articles.
# May 5, 2003 2:12 PM

Robert McLaws said:

LOL. I'm just a smartass like you guys, so it was DEFINITELY a compliment.
# May 5, 2003 2:18 PM

Datagrid Girl said:

Hi Robert,
If you find this interesting you should really read: http://www.amazon.com/exec/obidos/ASIN/0671015206/datagridgirl20

Enjoy!
Marcie
# May 5, 2003 2:59 PM

Robert McLaws said:

It was definitely very interesting. I read the first 10 pages from the sample. I'll pick it up from your store the next time I get some spare green.
# May 5, 2003 3:45 PM

Justin said:

Yes I do leave tracing on when I deploy a web-site. But since I use log4net, I can easily control where the output goes...

Sorry...just being a little pedantic today (the week has not started well for me) :-)
# May 5, 2003 5:21 PM

James Avery said:

I understand what you are saying Robert, and I agree, but I think it would have been better to just shoot the offending people an email.. instead of adding more noise to the main feed.

- James
# May 5, 2003 6:16 PM

Robert McLaws said:

It was for EVERYONE to see, present and future testers. I don't have time to e-mail everyone individually for a discussion. it's in the main feed and everyone saw it. Now they'll use their deleter next time.
# May 5, 2003 6:24 PM

Khurram Aziz, khurram@nexlinx.net.pk said:

Regarding #2, what you want me to do.
# May 6, 2003 2:32 AM

TrackBack said:

heLP .Net Blog
# May 8, 2003 12:12 PM

Anon said:

I don't see passion in your posts. I see a lot of ranting and personal comments....
# May 8, 2003 2:27 PM

Robert McLaws said:

Hey cool. I thought it was my blog and I could do whatever I wanted with it.
# May 8, 2003 2:35 PM

Robert McLaws said:

Besides, you are entitled to see whatever you want. Anyone that knows me knows that I am extremely passionate about what I do.
# May 8, 2003 2:36 PM

Phil Weber said:

"My wit and sarcasm go unedited for the first time..."

Not to mention your modesty! ;-)
# May 9, 2003 1:54 PM

Robert McLaws said:

???
# May 9, 2003 2:58 PM

Jesse Ezell said:

Welcome to the world of third party components. I have yet to find a single third party component that is up to snuff (and I have used quite a bit of them). Even EntityBroker, as cool as it is, has been a hassle to work with.
# May 12, 2003 1:43 PM

Robert McLaws said:

It's not exactly a component. More like a website plug-in.

Have you used my GenX.NET yet? I worked really hard on that architecture, and I'll be refining it again for 3.0.
# May 12, 2003 1:48 PM

Jesse Ezell said:

The DAL is supposed to know a lot about the DB, it is the other two layers that shouldn't. If you want maximum maintainability, dynamic queries are a heck of a lot better than stored procs. I'm not talking about your standard hard coded SQL statements, I am talking about true dynamic queries. Yes, if all your app does is use hard coded queries, using stored procs is debatable. However, many applications with complex domain models choose to use an object mapping tool such as EntityBroker (http://www.thonaconsulting.com or Hibernate (http://hibernate.bluemars.net/?cowiki=c52ed0bab39a75fc12df3bed651d710a) which take the maintainability ratings for your SQL code off the chart. Why, because you never have to write any in the first place. A great thing about a DAL that truly utilizes the potential of dynamic queries is that it can automatically switch between Oracle, SQL, Access, MySql, etc. without recoding any of your command objects. You can't do anything remotely close to this with stored procs. So, the end result is that you save a couple hundred hours and have more time to make sure your server and your code are both secure and don't get hacked in the first place.
# May 14, 2003 3:16 PM

Robert McLaws said:

You still have to open direct query permissions on the database, which is completely unacceptable. I'd rather write more DAL code then leave my system open for attack, and you should too.
# May 14, 2003 3:24 PM

Frans Bouma said:

Robert:
1 SqlServer machine, 1 Application machine with IIS5 and ASP.NET, running a webapplication written in .NET.

Tell me, how are you going to implement the security? On the stored procedures? You only have 1 user to add rights for: OR the user the website runs under and which is a domain user (BAD) OR the user the website runs under and which has the same password as the user you give rights to (Less bad) OR the sqlserver user you login with using the connection string.

Either way: there is no security necessary on the stored procedures, simply because there is just 1 user logging in!

Maintainability? I hit 'generate', the code is compiled, I go. With stored procedures, I hit 'generate' the code is compiled plus I have to update the stored procs with the generated script.

Security is something you think out thouroughly, not something you apply in 1 spot and it magically works everywhere.
# May 14, 2003 3:52 PM

Jesse Ezell said:

Opening direct query permissions is by no means leaving the system open for attack. If your web server or network gets compromised in the first place, that is the issue. Put the SQL server behind a firewall and enforce proper security on your web tier and you shouldn't have any issues. Assuming someone compromised a web server in the first place, not having query permissions doesn't mean much. They don't need query permissions to screw you over.
# May 14, 2003 4:55 PM

Robert McLaws said:

Wait until my article comes out, and I will explain my security concepts further. I've spent a long time developing what I believe to be the best security architecture for SQL out there, which is why you may not quite understand what I am talking about yet.
# May 14, 2003 5:32 PM

Frans Bouma said:

Robert:
Without your article it's perfectly understandable what to do: you don't have that much options when it comes to webapplications and sqlserver spread over more than 1 machine. Even when they're run on 1 machine, you will probably use 1 connection string and use 1 user to connect to the database (because all accesses are anonymous f.e.).
# May 15, 2003 1:34 AM

Jeff Julian said:

Jeff Julian
# May 15, 2003 4:08 PM

Mike Sax said:

Yes!
# May 15, 2003 4:17 PM

Phil Weber said:


<b>-1</b>

Given a choice between having them write code, and having them write <i>about</i> writing code, I'd prefer that they spend their limited time creating cool tools for me to use.
# May 15, 2003 4:27 PM

TrackBack said:

ScottGu's Blog
# May 15, 2003 4:49 PM

David Stone said:

<voice type="Shaggy">ScotGu...where are you?</voice>

Seconded. :)
# May 15, 2003 6:15 PM

Roy Osherove said:

0.02$ :)
# May 15, 2003 6:23 PM

Jason Mauss said:

especially rob howard...stop doing .NET Shows and blog instead!! heh..just kiddin' that show was cool.
# May 16, 2003 1:10 AM

Rajiv said:

rajiv - rajspace.blog-city.com
# May 17, 2003 4:21 AM

TrackBack said:

Robert McLaws
# May 20, 2003 3:39 PM

TrackBack said:

Robert McLaws
# May 20, 2003 3:39 PM

Phil Weber said:


This line looks like a bug waiting to happen:

If System.Environment.Version.Minor = "0" Then

What happens when this code is run on version 2.0 of the Framework?
# May 21, 2003 12:53 AM

Frans Bouma said:

I already thought I was crazy. I got a truckload of crap thrown over me yesterday that I was wrong, giving bad advice etc. but I'm not. It IS a problem. I'm glad someone else finally understands what I'm talking about.

In the comments on my blog about this problem an NUnit developer posted a piece of code which might help. I'll test that today, perhaps it's a solution.
# May 21, 2003 1:36 AM

Robert McLaws said:

Frans,

It's not as big a problem as you're making it out to be, and if you read my previous post, I flamed you too for making that comment. Other peoplr read this stuff and you need to be careful.

Go back and read the link to my first post on the subject and re-read what I wrote. I've been supporting 2 versions of my code without incident for 6 months now. Don't get all Henny Penny on everyone, that's all. We want people to stop using VS.NET 2002. That's not gonna happen if people read stuff like "ISV's - DONT USE 2003"
# May 21, 2003 1:42 AM

Robert McLaws said:

This code assumes that it REALLY wouldn't run on 2.0 because of the changes to the configuration system, et. al. Besides, the code does not run anyways, although it was a nice idea, I'm still missing a piece to the puzzle.
# May 21, 2003 1:44 AM

Robert McLaws said:

Besides all this, your primary concern should be ease of use to end users, not the time you have to put into making it work. Having 2 separate versions is just good policy... removes confusion or configuration issues.

You could include both versions in your redistributable and use Strong Name Signing and versioning similar to MS's to specify which version is which.
# May 21, 2003 1:47 AM

Frans Bouma said:

Well, what I want is 1 version of the assemblies I have to distribute and generate code against. If I have 2 versions, this will be cumbersome, because the user then has to manually add the right assembly, which can lead to mistakes and thus a bad experience with the product. I understand that maintaining 2 versions is an option, however it IS extra work, for the same code, which shouldn't have been necessary.

Microsoft seems to think every sole who bought vs.net 2002 (which are over 1 million people) is upgrading to vs.net 2003 within a month, but I doubt it will be that way. I too talk to developers and what I hear is that a lot still have to work with vs.net 2002 and can't or won't upgrade soon. That's a problem that's a reality, no matter how much we all want it to dissapear.

Robert, if you think flaming me is helping the problem go away, you're wrong. After reading the flames and crap I received over yesterdays article I'm not going to change the title of the posting. I understand now this site as a whole gets bad press when a blogger types in "Microsoft sux" or similar, but you all also have to understand blogging is about writing personal opinions. It's not about news, we're not jounalists, we're developers.
# May 21, 2003 2:07 AM

Robert McLaws said:

So don't do anything 1.1 specific. Fortunately for me, I make use of the platform as a means of education, therefore, as part of the sales process, I educate my developer customers as to why .NET 1.1 is better. In the case of GenX.NET, it allows me to support more databases with a fewer number of dependencies than my 1.0 version.

Remember also, that just because you WANT to do something, doesn't mean you CAN. I'd like to have one version too, but I can't. GET OVER IT. It's one of the pitfalls of the system you're developing for.

Further, research that I've seen shows that over 6 million developers are using .NET. One guy said it perfectly right: 1.0 = DirectX 8, 1.1 = DirectX 9. Educate your friends, developers, and customers, and push them to switch. Don't be anal about it just because you don't like what you are forced to deal with.

Bottom line: .NET 1.0 assemblies will run on .NET 1.1 99% of the time. If you don't want to take advantage of the improvements in 1.1 , then you can have 1 version. but I think you do yourself and the community a disservice if you do so.

Further, you still have not recognized your responsibility to this community. You say you have a personal opinion, then title your post "Why I Think People Shouldn't Use VSNET 2003". Don't entitle it "ISV's - stay away at all costs" which is pretty much what you did. If you got flamed by it then you got what you deserved.
# May 21, 2003 2:22 AM

Frans Bouma said:

Hmm. So it isn't obvious for people who blog that blogs are personal? I'll change the title in what you suggested. Look, I don't want to receive heat because I think ABC and the 'community' or Microsoft thinks CBA, and I do not want to bring Scott in trouble because I have the urge to tell people about what I think (btw, who carez anyway what I think, I'm definitly not important or a 'prominent'-.net person).

The root of the problem is: if you pick .NET 1.1 (which I do not have a problem with, its free, download it and be happy), you also force an upgrade to visual studio.net 2003, because you can't develop with visual studio.net 2002 and .NET 1.1. That's the problem, or better: I'm not in the position to tell a customer to upgrade to another version of an expensive tool. Now the short-time offer is 29$, but VS.NET 2003 EA upgrade costs here over 2000EURO. I can't tell a developer to shell out that money. I wished everybody swapped platforms and editors on the spot so there wouldn't be any problem.

To use the DX analogy: in VS.NET 2002 you can developer DX8, in VS.NET 2003 you can develop DX9. Now, would that be acceptable? I don't think so. However .NET developers are in that position.
# May 21, 2003 2:41 AM

Robert McLaws said:

Why is it such a bad position? I think it's perfectly acceptable. Why are we so damn hell-bent on supporting old technology? MS is offering an incredibly cheap deal in allowing upgrades for $29. The goal is to get you to do it now. If you wait till later, I have absolutely no sympathy for you. You snooze, you lose.

You can always command line compile your stuff too. You don't NEED VS.NET 2003 if you just want to recompile to 1.1.
# May 21, 2003 2:47 AM

Frans Bouma said:

[quote]
Besides all of this, I have said several times that .NET 1.1 is not an upgrade, it's a sidegrade. VB6 was not an upgrade to VB5... it ran totally separate. Could you build VB5 apps in VB6? Could you build VB6 apps in VB5? So WHY IN THE BLOODY HELL do you expect to be able to build VB 7.1 apps in VB 7.0 or vice versa?
[/quote]
Why in the bloody hell? Well, I'll tell you: BECAUSE I AM NOT IN THE POSITION TO TELL MY CUSTOMERS TO BUY YET ANOTHER IDE FROM MICROSOFT WHICH COSTS MONEY.

So there. In VB5 you still can use dlls written in VB6 (hell, even VC++ or Delphi). In VS.NET 2002 I can't use assemblies written in VS.NET 2003 unless I add a long list of redirects to a config file. And because I'm on VS.NET 2002, I do not think about that, because I never had to and MS is NOT TELLING ME TO ADD THEM TOO. Only some dork from The Netherlands is, who you flamed out of the water with this posting.

I changed the title of my article and added a note. Then I read this posting. Thanks a lot, Robert.
# May 21, 2003 3:19 AM

Jonne said:

I totally agree with you...
# May 21, 2003 3:20 AM

Frans Bouma said:

Not all versions are valid for that upgrade. Not all companies upgrade a.s.a.p. (see the win2k upgrade cycle), and upgrades cost a lot of money if you miss that deal. I find it pretty amazing that a customer should shell out extra money to run your software he bought.

Of course I can jump through hoops and come up with lots of versions of the same code, for each platform a different version. Which hoops though? It's not documented. The only solutions seem to be 1) command line compile, 2) keep two versions and 2 IDE's installed (yeah right). This is not that good since maintaining 2 codebases for 1 codeset is a pitfall for errors 3) tell customers to include a set of assemblyBinding redirect tags in their config file.

Customers can't see from the outside an assembly is for .NET 1.1. Not all developers read the documentation cover to cover before they start developing. Are you paying for the supportcosts? My goal is to write software for developers which works as easy as possible. Any hurdle a developer has to take is a hurdle too many.

Ok, I can tell my customers to run out the door and buy the latest and greatest MS IDE because *I* think they should, but personally I don't think that way, because it is MY problem if a customer can't use my software on his machine, not the customer's problem.
# May 21, 2003 3:35 AM

Scott Watermasysk said:

Careful, I never said I did not like it.

I only said I saw it, looked it up on Amazon, and read some horrible reviews of it. Nothing more, nothing less.

-Scott
# May 21, 2003 7:57 AM

Jamie Cansdale said:

I'm interested.
# May 21, 2003 9:10 AM

Greg Robinson said:

wow, at first glance I thought I could start liking him now..having read his post though, afraid not.
# May 21, 2003 10:08 AM

Frans Bouma said:

I've found a solution for the 'framework-hell', so you can compile your class libraries from inside vs.net 2003 and use them in vs.net 2002 and thus .net code 1.0 without having to worry references to f.e. system.data.dll are crashing the 1.0 application (and you do not need any references). I'll write a blog about that within an hour or so. It's very easy: put your class lib in its own solution. remove all .net 1.1 references, add references to the .net 1.0 equivalents. Compile. Ready to go :)
# May 21, 2003 2:23 PM

Greg Robinson said:

I posted this a while back:

http://discuss.develop.com/archives/wa.exe?A2=ind0302C&L=DOTNET-CLR&P=R4015&I=-3

got a lot of interesting replies...even one from Jim Hogg himself.

# May 21, 2003 3:20 PM

Robert McLaws said:

Awesome. I'd still like to find a way to do it programmatically. The ultimate goal is to have a redistributable assembly that your project references. This assembly would tie into the existing Framework's compatibility system, and then you would add compatibility attributes to your code. Then you'd never have to worry about it again.
# May 21, 2003 3:32 PM

Sudhakar Sadasivuni[MVP] said:

scott...are you there?
# May 22, 2003 4:40 AM

JosephCooney said:

I know this is over a month old now but I have to bite. If you don't like the tools other people write....don't use them. It _really_ is that simple.
# May 23, 2003 12:38 AM

Frans Bouma said:

If you target 1.1 and not 1.0, it's of course not that clever to build against 1.0. If you want to target 1.0, you can't target 1.1 anyway and can't include 1.1 features. If you still want to offer 1.1 customers a true 1.1 experience then you have to opt for 2 codebases. (and when you patch, you have 4, and after you patch, you have 6 etc). :)

It's a matter of choice. For the projects currently in development, all targeting 1.0, it's an option to keep it on 1.0 and go for 1.1 in next projects.
# May 23, 2003 3:38 AM

Adam Hill said:

So what is MS's recommended "drop-off" point going to be? Five versions back, six, seven? Will there need to be a version for every Framework rev?

If .NET continues on for a while we will be trading DLL/COM hell for Assembly hell.

adam...
# May 23, 2003 9:22 AM

steven vore said:

Heh. When I take Nyquil (like earlier this week), I *immediately* turn off the light, buery myself under the covers and don't even think about coming up for 8 hours. I'm impressed that you could even *try* to code /under the influence/.

-Steven
# May 23, 2003 10:12 AM

Mike Sax said:

I've posted a brief note on my blog that explains what most developers need to know about this. I don't think it really applies to the case with the Oracle driver, but it certainly covers the general case the Frans was talking about.
# May 24, 2003 6:45 PM

Scott Sargent said:

Yes, Definitely More blogging!
# May 26, 2003 10:19 AM

Frans Bouma said:

I don't see your problem with IDataReader. It has all the methods you want, so you can create the physical datareader in a factory and work with the instance through the interface definition, which results in database-generic code.
# May 27, 2003 2:14 AM

Robert McLaws said:

You misread my post entirely. I love the IDataReader that's why I'm using it.
# May 27, 2003 3:20 AM

Dan F said:

Not really having much of a clue what GenX does, I'll lead with a qualified yes.

If you're talking about being able to set properties at design time, maybe even a custom properties dialog window thingy ala VB6, then I'd be voting a definate yes. It makes it easier to just "fiddle" to get used to the component. Using a custom properties dialog also helps guide the user through the job of setting up the component.

Although, (get ready for a flipflop), that'd make it a bit like the VB6 equivalent of using an ocx that had no runtime visual component and could have been done just as easily as a dll. Which I could never really see the point of :)

Its a definate maybe :-)
# May 27, 2003 7:42 AM

Robert McLaws said:

Well, see, that's exactly why I'm torn. GenX.NET outputs an Excel file to the server. It doesn't have a UI whatsoever, it just has some properties that are set, usually in code. Now, should I give something like this design-time support, JUST so that I can make it easier to use... or should it always be manipulated programmatically?
# May 28, 2003 2:58 AM

Philip Rieck said:

The problem with using the assembly file version is that it's not really used by the CLR for versioning issues. Say you have a no-touch app that's loaded via an href.. the dlls are pulled into the machine's downloaded assembly cache. If you update one of the dlls, but only update the fileversion attribute, then the CLR will NOT download the new dll, and you'll have some clients running with the new version (those that cleared the download cache, or those that never ran the app before), and some running the old. Ouch.
# May 28, 2003 8:29 AM

Scott Swigart said:

It sounds like you are not advocating bindingRedirect, or publisher policy files when you patch a component. Simply drop in a new one right over the top of the old one.

Also, I'm not convinced that having the AssebblyVersion and the AssemblyFileVersion say 2 different things is the best idea.

I also agree that it makes sense to maintain separate versions of components for different frameworks. You might want to cover having two different project files that point at some of the same source files as a way to share common code, and not have 2 completely separate source bases to maintain.
# May 28, 2003 1:00 PM

Robert McLaws said:

Well, I think making your end users manage binding redirects and distributing publisher policy files is a little much to make your end users deal with. Besides, I don't want a component vendor telling me which version of the component I should use. It's my decision most of the time, not theirs. Besides, it kinda negates the idea of XCOPY deployment if you have to modify the web.config or register a new assembly in the GAC as part of the deployment process.

Well, I know that the AssemblyFileVersion attribute is not used for the CLR, it's for YOU to be able to tell the difference.

I'm not really talking about mo-touch deployment scenarios. While I think no-touch is really cool, I don't think it's advisable in a server control situation. I'm mostly yalking about server controls, where you have redistributables available for download off the web.
# May 28, 2003 1:25 PM

TrackBack said:

ISerializable
# May 31, 2003 8:15 AM

Roy Osherove said:

Cool! Congratulations :)
# May 31, 2003 11:10 AM

Robert McLaws said:

Thanks Roy!
# May 31, 2003 5:14 PM

Paul Alexander said:

If you take a look at any of the .NET framework core assemblies that have been patched or upgraded they follow this versioning scheme. The idea behind breaking the version into two attributes was to accommodate easy updates that do not include breaking or binary changes. In a no-touch environment you'll just want to keep updating the version number and let the framework handle it. But if you're dealing with server side controls, or shared components it's you should be able to release an update that doesn't require a re-build. Plus the bindingRedirect and publisher Policy files have additional security impleications and Polciy files only work when installed into the GAC. That's not an option for shared hosting environments and other such isolated projects.
# June 1, 2003 11:36 PM

Robert McLaws said:

Well said, Paul.
# June 2, 2003 1:08 AM

TrackBack said:

Santomania
# June 2, 2003 3:44 PM

Robert Scoble said:

Heh. Yeah, that would be fun. I think the PDC will be even more fun than TechED. But, I'm jealous too.
# June 2, 2003 5:53 PM

Addy Santo said:

Robert,

The thing which really gets me is how much my position has changed in the past 6 months. Last year Microsoft Israel flew me over to the TechEd in Eilat where I gave 3 great presentations and chatted with the likes of David Chappel. But since then I moved to the other side of the world (NYC), changed jobs, and basically left behind everyone who knows how good I am :)

Which leaves me here at work - while I rebuild my reputation from scratch everyone else is out having fun at TechEd...

-Addy
# June 2, 2003 8:12 PM

Robert McLaws said:

I wish Microsoft would send ME to TechEd. All I got was a lousy book. Well, it was a really good book. I guess I still have some dues to pay.
# June 2, 2003 9:21 PM

Darren Neimke said:

Well done Rob! I know - only too well - how good it feels to jump over another architectural bar. Just this week, I too felt that my coding form has evolved to a higher place, but, alas, I still haven't reached OONirvana :-)
# June 3, 2003 8:29 AM

DonXML said:

Rob,
Congrats! I know how you feel. There's a bunch of known “intellectual plateaus”, that once you make it, you feel like you’re on top of the world. The problem is that once there, there isn’t anyone around to share it with. Other architectural “intellectual plateaus” are:
Truly understanding XML as an object representation
Understanding declarative programming (XSLT is the big one).

DonXML
# June 3, 2003 11:13 AM

Drew Marsh said:

If it's something you discovered that gives you a competitive edge then, personally, I wouldn't be mad at you if you didn't share it. You deserve to keep that edge as long as you can. Let the others work hard now to figure out what you're doing. If they're public about trying to figure it out, then you can chime in with: "Yes, that's right... here's how I discovered it/do it.".

Just my 2¢,
Drew
# June 3, 2003 1:03 PM

TrackBack said:

Drew's Blog
# June 4, 2003 10:28 AM

Paul Wilson said:

Just use C# :)
# June 4, 2003 7:23 PM

Robert McLaws said:

har de har har
# June 4, 2003 7:31 PM

SBC said:

I think it has to do with the rendering of embedded picture - I had a similar problem with my postings which had embedded pics. Then again, you probably know that already.
# June 5, 2003 8:48 AM

Mike Gunderloy said:

Remember, you can get some compensation for talking about the design by writing it up as an article, even after you fill us in on the Great New Technique here. You seem to be able to turn out grammatical text quickly, so any edtor is going to love you.
# June 5, 2003 10:00 AM

sirshannon said:

If you are going to run a site that may offend your customers, etc, with your opinions, I would highly suggest you not use your real name. Google has cost many people many dollars.
# June 5, 2003 11:57 AM

Phil Weber said:


"One should not believe in an 'ism'. They should believe in themselves." -- Ferris Buehler
# June 5, 2003 1:28 PM

Robert McLaws said:

Good Idea SirShannon. Then I can piss people off anonymously ;)

Let's hear it for Phil Webber. He knows what's up.
# June 5, 2003 4:28 PM

Josh Ledgard said:

Thanks for posting this. I also wanted to let you know that we have now set up a gotdotnet workspace for the community to use and contribute to the powertoys projects. Here is the forum post that announces it...
http://www.gotdotnet.com/Community/MessageBoard/Thread.aspx?id=107870

Thanks Again,
josh
# June 5, 2003 10:04 PM

Nick Katsivelos said:

blog on boyz
# June 6, 2003 9:52 AM

TrackBack said:

Dan's Brain Wasteland
# June 10, 2003 4:15 PM

TrackBack said:

.NET Brain Droppings
# June 10, 2003 4:15 PM

Don said:

Thanks for the info Robert. Oh well, guess I'll use the trusty web interface for now... =)
# June 10, 2003 6:45 PM

Marc said:

Well, he cannot be President (not born on US soil) so the world can only go so insane.

That said, I would vote for him if I lived in CA.
# June 10, 2003 6:50 PM

Brian Desmond said:

I've had a page fault BSOD from my 2003 dev box - i suspect it has something to do with all the "stuff" I have loaded on it.

--Brian
# June 10, 2003 7:26 PM

sirshannon said:

wow. I REALLY wish I could say I've never seen a BSOD on XP. There are at least 7 incidents in the online Crash Report system for this install of XP. But I'm not complaining, I have been running this install since XP went gold, quite a relief after the almost bi-weekly installs during the Whistler betas.
# June 10, 2003 8:25 PM

TrackBack said:

Ryan LaNeve
# June 11, 2003 3:05 PM

randy said:

Why not do both? It isn't hard. Personally, I prefer C# due to what I perceive as its "first class" status. But I see a place for VB, and other languages.
# June 11, 2003 5:51 PM

Jesse Ezell said:

I don't know of anything better (unfortunately). I agree that the design of this component is really sucky though. We have considered writing our own component for this (which we would, of course, make available to others), but, alas, there are not enough hours in the day and we have more pressing projects to finish up right now. In the mean time, we will use dot net ship, because it does actually work great once you have everything coded, it is just the initial coding that can be a pain because of the way they architected the component. But hey, that doesn't make them any different from any other third part component vendor.

In my experience, 99% of programmers live in a little bubble where that "teach yourself VB in 21 days" book tells them everything they ever needed to know about programming. They don't care about design (at least of their products, but shame on any developer who gives them code that is hard to work with). I think, the other 1% work for Microsoft... they sure as hell don't work for any third party component vendors I've seen.
# June 11, 2003 5:52 PM

Jesse Ezell said:

PS: I suggest you do what we did till you find a better solution, write a quick little facade/wrapper that hides the component so that when you do find a better component, you can switch w/o changing anything but the implementation of your facade/wrapper. As a matter a fact, our shipping provider facade does happen to convert all the values to DataTables from their custom collections :-).
# June 11, 2003 5:56 PM

Robert McLaws said:

I can code both, but my primary language is VB.NET.
# June 11, 2003 6:00 PM

Scott Galloway said:

Looks like C# still pays more...according to the recent Fawcette survey! I was an old VB coder - and VBScript in the ASP times. When I started learning .NET, I began by using VB.NET...hmm..I did not enjoy it, it has all the clumsiness of VB (CType...ick!), so I decided to go for C# instead. C# has the advantage that it's strict by default (no Option Strict or Option Explicit), is so similar to Java as to be a very simple transition - java coders are in general better OO coders than VB ones - sorry, they just are! I could also more easily repurpose my J2EE architecture skills into C# - I have no clue why it was easier, just seemed more natural.
Also, the jobs market here is FAR better for C# (added advantage, you can flip back to Java more easily if need be - the job market is really tricky!)
# June 11, 2003 6:25 PM

Scott Galloway said:

I agree with Jesse...but look on the bright side, there's so many .NET developers out there right now looking for interesting project that this thing will be superceded in a few months...
# June 11, 2003 7:06 PM

Scott Galloway said:

And also, .netShip has VERY limited support for non-US shippers!
# June 11, 2003 7:07 PM

Tim Marman said:

I use WinRAR personally. Check it out.
# June 11, 2003 7:40 PM

Robert McLaws said:

I use both, but I like WinZip's UI better. Cleaner, more professional. WinRAR still clings to that Windows 95-esque UI.
# June 11, 2003 7:45 PM

Tim said:

If you like it and use it why not pay for it? I have. Your last line "It's not like it stops working after 30 days anyways... it just has that nag screen. " isn't exactly helpful to shareware authors is it?
# June 11, 2003 9:56 PM

Robert McLaws said:

Good point. <edited>
# June 11, 2003 10:06 PM

Robert Scoble said:

I should clarify my position a bit. Does it really matter? But, yeah, if you want status at Microsoft, it seems most of the hard-core folks I know here at Microsoft are C# types.
# June 11, 2003 10:32 PM

Robert McLaws said:

I think that goes in line with Scott's comment that C3-ers are usually better at OOP cause they come from Java. I think if VBers actually <i>understood</i> OOP, which is what I am focusing on, then maybe they would get somewhere, especially at MS.
# June 11, 2003 10:41 PM

George Doubinski said:

Have you tried http://www.vbcentral.net/ShipRater/ ? Looks like a decent alternative to me.
Georged
# June 12, 2003 1:19 AM

Tim Marman said:

Maybe I'll give Winzip 9 another shot, but I especially like WinRAR's shell integration.
# June 12, 2003 2:37 AM

Ryan LaNeve said:

We've despised .netShip since we bought the thing almost a year ago. FedEx support broke when the FedEx site was re-designed because the component scrapes instead of using the FedEx API. Then DHL support broke (twice), and if I remember correctly Airborne or UPS broke once, as well. Never, in any of those cases where the component broke for *all* users, did the developers of .netShip inform their customers that they were working on or had a fix ready. Furthermore, on two occasions the "fixes" provided were half-baked and introduced new rediculous bugs, such as "oops, all rates are getting multiplied by 10!". The tone of their emails is always infuriating, as well - sounding as if they're always doing *us* a favor by giving us a fix for their broken fix.

Finally, I'd had enough and began rolling our own, opting to use the published APIs for Airborne, FedEx and UPS. As others have said, there really isn't time in the day, but it's to the point where rates can be returned for all three providers. More work remains, but we always intended to release the source. If anyone wants it as it stands now, we can go ahead and setup a project for it on SF or GDN Workspaces.
# June 12, 2003 2:58 AM

JesseEzell said:

Please! :-)
# June 12, 2003 2:11 PM

Tim said:

Be sure to check out the Outlook addin at WinZip also. Adds buttons to your new mails enabling you to automatically zip up attachements prior to the mail going out. Great time saver.
# June 12, 2003 3:45 PM

TrackBack said:

Jonne Kats
# June 12, 2003 4:03 PM

TrackBack said:

Robert McLaws
# June 12, 2003 5:15 PM

TrackBack said:

Robert McLaws
# June 12, 2003 5:15 PM

Jason said:

This happened to me too. The only way to get it to stop was to give it the FrontPage CD. A strange thing also occurred after installing Adobe Reader 6.0: Now opening the .NET Framework docs causes the Windows Installer to try and reconfigure Visual Studio. Wierd...
# June 12, 2003 5:44 PM

Jason said:

One more thing. Now it seems that I can't view in PDFs in my browser anymore because it freezes when I try and use the Back button. Both IE and Firebird.
# June 12, 2003 5:45 PM

TrackBack said:

Robert McLaws
# June 12, 2003 7:46 PM

sirshannon said:

Every time I search for files on the Win2K machine in one of my client's offices, I am asked for the Visio 2002 Professional disk over and over until I can cancel out of it twice in a row fast enough to make it realize I REALLY don't want to install anything.

PITA.

# June 12, 2003 9:53 PM

Alex Hoffman said:

Thanks for pointing that out - I had just about given up on w.Bloggar
# June 12, 2003 10:13 PM

Frans Bouma said:

Thanks for the pointer!!!
# June 13, 2003 5:14 AM

Frans Bouma said:

That's all fine what MS thinks I should do but what I think MS should do is make their IDE able to work with older CLR's so people can choose a new IDE while writing a control for 1.0 or 1.1. MS didn't even bother creating a config file for a library so a library can be made runnable on 1.0 with redirects.
# June 13, 2003 5:19 AM

TrackBack said:

Ryan LaNeve
# June 13, 2003 8:05 PM

Ryan LaNeve said:

The Workspace is setup, though I haven't gotten a chance to upload the code as it currently stands. I should be able to get to it this weekend, though. The name is "DotNetShipping", and the link is below.

http://www.gotdotnet.com/community/workspaces/workspace.aspx?id=29bbb7fe-2d18-4f82-a273-9445b978d1bf
# June 13, 2003 10:03 PM

Ryan LaNeve said:

Some of us are getting together to implement an open-source alternative. The GotDotNet Workspace was just setup last night and the initial source upload should happen sometime over the weekend. Any assistance - via code submissions or just suggestions/comments - is very welcome.

http://www.gotdotnet.com/community/workspaces/workspace.aspx?id=29bbb7fe-2d18-4f82-a273-9445b978d1bf
# June 13, 2003 11:30 PM

Jesse Ezell said:

VERY COOL!
# June 14, 2003 4:18 AM

Stephane Rodriguez said:

Yeah, I'd like to know where are the toilets in building 54. I love sensible information.
# June 14, 2003 7:21 AM

OmegaSupreme said:

Nice post, for me there was nothing I was interested in until I started programming and therefore no reason to bound out of bed.

Now the only thing stopping me jumping out of bed is the fact that Im up all night programming ;)
# June 14, 2003 3:03 PM

Dave said:

I'm constantly amazed at how differently people define career success. Lately this has become very important personally too.

Two years ago I was well-paid, secure AND working on various web and windows apps. In other words in heaven.

Today I am well-paid, secure and toiling away writing ABAP code for a newly implemented SAP system. In other words, unhappy and frustrated.

Many around me know this. Their reaction? Stick with the well-paid and secure job. Hell, a few mention that ABAP programmers make a ton of money.

My feelings? Unless something happens (and it may soon) with my current employer, I'm easily able and greatly willing to take a 30% cut in pay and/or do a startup of some sort. You see, my definition of success is exactly that of John Maxwell.

Thanks for the post!
# June 14, 2003 4:48 PM

Jim Arnold said:

The public API should of course be documented, but I probably wouldn't provide comments for the private implementation.

I find code clarity much more important than comments (I usually delete comments before looking through unfamiliar code). If the code is easy enough to understand, it should not need comments.

Jim
# June 15, 2003 8:39 AM

Frans Bouma said:

I'd provide a reference manual generated by NDoc for the public api. Besides that, I'd provide 'how to use' documentation which guides the user through all the usages of the component/tool you're selling. This way, the user learns how to use the component plus can always check out the reference manual for details.

Private member documentation is of no use for a user, because the inner workings of a library is of no use, the api provided is the sole api the user can interact with anyway. It has to be said that that API documentation of course has to describe how a method M performs its tricks. If it formats the harddisk before doing its thing, the user should know :)
# June 15, 2003 10:11 AM

Paul Wilson said:

I too want to enjoy what I'm doing, but if two paths are nearly identical and one often pays more and brings more respect, then yes you will find me trying to make the extra money!
# June 15, 2003 11:21 PM

Robert McLaws said:

I don't respect you any more for knowing C#.NET over VB.NET. Respect should be earned by the quality of the code and the quality of your presentation.

I just recall the gentleman the other day who commented in my blog that he is going to quit his job to take a 1/3 pay cut to work on a startup...
# June 15, 2003 11:43 PM

EricK said:

Dave,
Having done a stint in PeopleSoft work (3 jobs, actually - I moved a lot looking for happiness) I can definitely related to what you are talking about. Pay and security are only useful if you can keep getting out of bed and go to work, which becomes really hard when you spend all you time working on that data interface that is just a little bit different than the one you built the day before, or changing that column heading on that report because the accountant uses a different term...

Actually, it amazes me that people pay so much for ERP "programmers".
# June 16, 2003 12:54 PM

Alex Hoffman said:

Yes and Yes.

We generate and use documentation internally which includes non-public member information. It's considered extremely helpful and important. Insufficiently documented code (especially non-public) is rejected during code-review if comments are not deemed adequate.

If one can reduce the huge proportion of time any one developer spends trying to work out what's going on when maintaining (or developing against) existing code it's worthwhile. Good code is maintainable code.

As a former development manager, I have no time for team developers who claim that comments are inherent in the code.
# June 16, 2003 11:27 PM

Greg Robinson said:

Wow, too cool. Watching the overview now.
# June 17, 2003 11:44 AM

Alex Lowe said:

I don't know anything about GenX.NET but if you wanted to alleviate the memory allocation couldn't you use some kind of event architecture to flush out the data when each row is ready (or something like that)?
# June 17, 2003 7:24 PM

Jesse Ezell said:

This is what Streams are for. Use them. (StreamWriter will give you nice StringBuilder like text writing functions).
# June 17, 2003 7:25 PM

TrackBack said:

A Blog for Graymad
# June 18, 2003 3:51 PM

Robert McLaws said:

I am using streams.
# June 18, 2003 4:03 PM

Jeff said:

Thanks Robert. I'm new to the world of .NET and after about a month of skulking about the .NET Weblogs feed, I decided to ask one of the bloggers about the best way to get my hands in .NET. I asked a pretty general question, shouldn't be much of a stretch to give me even a canned response, and ... nothing.

If you're blogging on a specific topic, and then don't want to answer questions regarding that topic, why even bother having a contact page?

I'm glad to see the entire community doesn't shared the closed-door policy. Thanks.
# June 18, 2003 6:06 PM

Victor Lindesay said:

I agree
# June 18, 2003 6:22 PM

Garrett Fitzgerald said:

Ah, another 1776 fan, I presume. :-)
# June 18, 2003 6:32 PM

Jesse Ezell said:

No one is censoring anyone. It is just a request. Feel free to do what you want, but please think twice before posting questions that would be better suited for a newsgroup. Why? Well, because if you don't then the .net weblogs main feed could very quickly turn into a newsgroup quality feed, and then no one will want to read it anymore. I already know quite a few people who have unsubscribed from the main feed and only read individual feeds, since the overall quality of the main feed has been significantly degraded from what it once was.

Again, posting questions for discussion is one thing, but asking what is wrong with a specific line of code or code block in a blog posting is just lame when there are other resources that are designed specifically for that type of thing. It is up to individual bloggers to decide what is best suited for the individual mediums, but all we ask is that you think before posting. I don't think that is too burdensome a request.

As far as your comments go:

"By blogging here, you have a responsibility to your community members to help them out. This anti-social mentality will only turn away readers who may learn something from what we all have to say. If you can't handle that responsibility, don't blog. Go back to moderating the Forums and the Newsgroups and let us talk about our experiences."

I think you miss the point. The point is that a lot of bloggers here do not want to moderate forums or newsgroups. Why? Not because they don't like helping people, but because they don't have a lot of spare time in the first place, and what little time they do have left during the day they would rather spend with their wife and kids than some people they have never met. Those bloggers that do have extra time and want to help people out hang out on those newsgroups anyway, so by posting there instead, you won't be spamming anyone, just posting to those who are able and willing to devote time to help you out.
# June 18, 2003 6:36 PM

Jason said:

Well your response was a lot nicer then mine was going to be. :)

I agree totally with you. I still to this day get people emailing me (from the contact page no less) about a problem I posted a while ago. I'm not against helping them out when I can. This is another resource for developers to use, I see no reason not help out people. If a person doesn't have time or can't help the person send them to another resource, there maybe some that you know about that other people don't.

# June 18, 2003 6:36 PM

Roy Osherove said:

Jeff: Hope that wasn't me who didn't answer(I recall someone asking me that and I answered as a blog post to his question)
# June 18, 2003 6:46 PM

Jeff Julian said:

This brings up a couple questions. Are blogs going to be like emails where everyone is going to have 10 just to get out the information they want? Does the MainFeed need to be like TechEdBloggers.net where only .NET topics are feed to it?
# June 18, 2003 7:06 PM

TrackBack said:

Robert McLaws
# June 18, 2003 7:12 PM

Robert McLaws said:

&lt;Adams&gt; "... and the three, Franklin, Washington, and the horse, fought the entire Revolution singlehandedly.
&lt;long pause&gt;
&lt;Franklin&gt; "I like it."
# June 18, 2003 7:24 PM

Robert McLaws said:

stupid UrlEncoding....
# June 18, 2003 7:24 PM

Scott Watermasysk said:

Actually, HtmlEncoding ;)

I think you missed the point.

Broad thought provoking questions are O.K. Part of blogging is sharing what's on your mind and getting feedback on it

I think what Jesse was getting at is questions about how to property page a datagrid are not necessary. There are many other viable (and I would even say better :D) resources for these kinds of questions.
# June 18, 2003 8:04 PM

sirshannon said:

If newsgroups were frequented by the same type of people that read and write the blogs on this site, putting a question in a newsgroup would be a good idea. The level of intelligence and maturity on newsgroups can not be compared to this community.
# June 18, 2003 8:13 PM

Robert McLaws said:

right.

Well, Scott, unfortunately what came across was a community-disrupting post telling those who don't know better to basically go to hell. What gives anyone except you the right to tell people what they can and can't talk about if they're only talking about PROGRAMMING. it seems to me that property pages relate to .NET (seeing as how it is called VS<b>.NET</b>. We already can't talk about ANYTHING else.

Hey SirShannon - AMEN!
# June 18, 2003 8:19 PM

Jesse Ezell said:

The reason those intelligent people hang out here is because they aren't pelted by annoying questions like "what is a null reference exception?" Keep wasting their time with things like this, and I they will leave, or at least go back to their old blog roll.
# June 18, 2003 8:33 PM

Robert McLaws said:

Jesse,

You're gonna need a ladder to get yourself out of the hole you keep digging yourself. What you did just now was make yourself seem like an arrogant, self-important jerk, who doesn't have "time" to answer "annoying" questions from people who are unfortunate enough not to know as much as you. So, as I said in my first post, go back to your blogroll. You're no longer on mine.
# June 18, 2003 8:50 PM

Jesse Ezell said:

I used to spend hours a day answering newsgroup postings (go to google groups, and query my name and you will have more than enough posts to read for the next couple days / weeks / months). Unfortunately, I can no longer do so because I am busy helping out people that have such a need for help that they are willing to pay for it. I wish I could help people for free all day long (I am literally behind my monitor from 9:00 AM to about 2:00 - 3:00 AM on a daily basis). The fact of the matter is that you can easily spend 24 hours a day answering newsgroup postings and get nothing done at the office, but this doesn't pay the bills, keep food in your stomach, or gas in your car.

As Julie pointed out, no matter how much help you have given to the community, there is always a group of people that doesn't seem to appreciate it. They just get addicted to the free advice and code samples and want more, more, more of your time. They think, "can't you just answer one question for me?" Yes, but then Bob and Jim and Jill and Billy all have their own questions they want answered and you have to draw the line somewhere. It is quite unfortunate that when you do decide to draw the line, some people act as if you don't have that right and are somehow rude for not donating yourself out of house and home.
# June 18, 2003 9:12 PM

Eric Kepes said:

Years ago, Microsoft had a service called "Members Helping Members". I was among the first to sign up. It seemed like a good way to expand my skills - helping others.

The I think I took three before I quit. One was a simple question about data environments and queries, and at the time that stuff wasn't well documented beyond the examples, so I was happy to help. But then the other two basically wanted me to be a PSS engineer and write their programs for them.

If you have a question, and I have the time, I'll find it on one of the newsgroups I read. If you know me, or were in a class I taught, or whatever, fine - ask away. If I can help, I will. But if you just want me to do the work for you, forget it.

That's what Jesse is talking about - there are lots of people who say - "Hey, look, this guy seems to know something. Let's see if we can trick him into doing some work for me..."

Its not arrogance. Its called protecting your most valuable asset - your time.
# June 18, 2003 9:24 PM

Robert McLaws said:

It was not what you said but how you said it. Your message did not say any of these things. you did not explain your reasoning as you did in this last post. You just said people's posts were boring and that you didn't have time to answer annoying questions. And you assigned this viewpoint to the entire community, which is not accurate. I may not get to you right away, but if you ask me a question, you're in the queue.

My time is not any more valuable than anyone elses. If they take the time to ask then I am obliged to take the time to answer. I'm sorry you had a bad experience. Don't make blanket statements that can be interpreted by others as applying to the entire community.
# June 18, 2003 9:36 PM

Robert McLaws said:

They didn't apply to me and I wanted to make note of it. Sorry if you didn't like that.
# June 18, 2003 9:40 PM

Dave said:

If the major issue is the .NET weblog main RSS feed, why not enforce some kind of category across all the blogs?

First off, I don't think anyone here is talking about comments. These are not part of the main feed AFAIK. Very few blogs here even have their own individual comment feed.

So why not have 'questions' category and it can have it's own separate .NET blog feed? This should take care of any diluting of the main feed right? (If I'm asking something impossible forgive me... I'm not a blogger here so I'm unaware of the technical details needed to accomplish this. But I do see such things on individual blogs so I'd think you could do this here.)
# June 18, 2003 11:54 PM

Robert McLaws said:

Just to make it quite clear, I've spent tons of time on the ASP.NET Forums answering questions, as well as the private Beta forums for MS software.

You guys are missing the point here. THE POINT WAS: Jesse's views are not shared by everyone, and I will not censor what I write about in regards to programming. I already have to have 3 blogs to separate out my writing topics, I will not separate it out any more.

THE POINT WAS: Anyone should feel free to write about whatever they want... INCLUDING questions on "What is a NullReferenceException?" How is that any different from "I'm not understanding the Factory design pattern" or "how should I version my components?

THE POINT WAS: Excercise your right NOT TO READ IT because you're smarter than the rest of us. Let us stupid people talk about our boring topics.
# June 19, 2003 12:32 AM

G. Andrew Duthie said:

Robert,

You seem to be taking this all just a little too personally. No one called you "stupid" or "boring", and no one asked you to "censor" yourself.

What people have asked, INCLUDING THE PERSON WHO CREATED THIS SITE, is that bloggers on weblogs.asp.net keep in mind the main focus of the site, which is .NET. That shouldn't be so hard to do, IMO. And in the meantime, I hope that you can hear that from an outside perspective, it appears that you take any suggestion that bloggers here should stay on-topic as a personal attack. Not meaning any distrespect, Robert, but it's not always about you. ;-)

# June 19, 2003 9:41 AM

Robert McLaws said:

LOL. Thanks Andrew. You're right, it's not about me. I wasn't taking offense for me (cause if you think I'm boring, don't read my stuff) I was taking offense for all the newbies who are still getting the hang of this stuff. The topic is .NET. Asking about property pages or exceptions *IS* on topic. You answered the first part of my last comment while ignoring the second. "What is a NullReferenceException" is no different from "I'm having problems implementing the Builder design pattern". I felt as if Jesse's comments would be taken as the mood of the entire blogging community when looked at by a newcomer, and I wanted to portray that this was not the case. I was not personally hurt by anything that was said.
# June 19, 2003 5:13 PM

Robert Rolley said:

looks liek a blog void from Redmond since TechEd!
# June 23, 2003 1:26 AM

Mads Nissen said:

I've used it for a month now, and although it's beta it just rules. Just the BugTracker is such a productivity boost. I hadn't even heard about vs.net integration?
# June 24, 2003 8:55 PM

Paschal said:

It suits you very well :-))))))))))))))))
# June 26, 2003 4:05 PM

Robert McLaws said:

<rolls eyes>

It's because of my distinctive nose not my personality.
# June 26, 2003 4:28 PM

Paschal said:

Maybe both ;-))
# June 26, 2003 5:26 PM

Brian Desmond said:

A long time ago.
# June 26, 2003 5:34 PM

Jerry Dennany said:

Interesting - I really think that this will make life a whole lot easier for your customers. Of course, you have the advantage that your customers are developers, and all of this will automatically make clear and logical sense to them... What are you going to do for your 'less rational customers?'
# June 27, 2003 12:21 AM

Robert McLaws said:

How many of anyone's non-developer customers really care what version number you're using internally? Besides, IMO you can only do so much for people.
# June 27, 2003 4:16 AM

Abandoned said:

At least you're not stuck holding a h1910 staring at the upgrade page with a confused look.
# June 27, 2003 7:56 PM

Robert McLaws said:

They aren't going to upgrade that model :(. Sorry man.
# June 27, 2003 8:04 PM

Robert McLaws said:

It answers that questions on the FAQ's link on the bottom of that page.
# June 27, 2003 8:05 PM

Abandoned said:

for any other frustrated xscale owners out there - an article discussing user petitions for upgrades: http://www.brighthand.com/article/Users_Petition_for_OS_Upgrades
The h1910 petition: http://www.pocketwerkz.com/
The e740/e330 petition: http://www.petitiononline.com/e300e740/petition.html
# June 27, 2003 9:20 PM

Abandoned said:

Oh, and just so I don't seem too cranky, or to be straying too far from .net - at least the compact framework and sql ce work on these second class devices :)
# June 27, 2003 9:23 PM

Phil Scott said:

I made a breakout clone for the TI-82 that someone in California posted on the internet some how (I'm in Kentucky). That was pretty cool finding out that many people were using your program. That was probably my first application in the wild that people where using. I thought I was pretty smart for using a matrix to store stuff instead of the variables.

Good times. Good times.
# June 29, 2003 2:46 PM

Chad Osgood said:

I created quite a few games for my TI-83 in math class. I also created a chat application with a friend that would use the link that you normally use to transmit programs to another TI to transmit characters.

Geeks have to have some outlet for their interests, and the TI was handy.
# June 29, 2003 5:49 PM

Dave said:

Problem is, he already is back, speaking of making his point - feels like he wanted to teach his 'community' a lesson.
# June 29, 2003 10:37 PM

Marc said:

51.28205% - Super Geek
# June 29, 2003 11:26 PM

TrackBack said:

Loosely Coupled
# June 30, 2003 12:08 AM

TrackBack said:

Datagrid Girl
# June 30, 2003 12:08 AM

TrackBack said:

Blogging Alone
# June 30, 2003 12:08 AM

Robert McLaws said:

awwww crap.
# June 30, 2003 1:21 AM

Robert McLaws said:

Someone decided to post a link in my comments to my rant about this situation. I cleaned it up, and here it is:

How I Was Fooled by Dave Winer
# June 30, 2003 6:10 AM

the voice of experience said:

hey dude, don't know much about the background to your little flamewar, but trust me in my experience flaming gets you nowhere, no matter how much of an idiot the other guy might be. It will cheapen your name, and if you think his is already cheap, why go down to his level.
# June 30, 2003 7:22 AM

Robert McLaws said:

<robert to voice on shoulder>Hello voice! Thanks for speaking up so much lately. You've been a great help. Don't stop any time soon. I like to learn.
# June 30, 2003 7:48 AM

Damian said:

>>What have you done since then, BESIDES piss everyone else off?


What have you done EVER ? Besides piss everyone else off
# June 30, 2003 8:08 AM

Robert McLaws said:

Ouch. That's ok. I have pissed people off. Call it youth, call it inexperience. That's why I'm glad I have all these voices of experience to help me achieve the balance I'm looking for in my writing.

I've also wrote a lot of code since I started too. Like my code-free content management system, or my ADO.NET data export subsystem. And about 5 other products. I've grown a lot personally, and had some great experiences.

To answer your question, I've done more in my 21 years than some do by their 40s. Don't believe me? That's cool. Check out my personal blog. I'll be talking about those experiences in the days and months ahead.
# June 30, 2003 8:24 AM

Dave said:

Robert, you just expressed everything I meant by my comment in your last post.

Like you, I had started feeling that Dave Winer had a point - that he was willing to extend RSS to include the technical imporvements that Echo supposedly addresses. I wasn't yet convinced (as I know firsthand how abrasive Dave can be in matters requiring compromise) but I was beginning to give him the benefit of the doubt.

Unfortunately the antics of Dave this weekend appear to be only the tip of worse things to come. He speaks often - and actually quite accurately too - about the importance of the community. Too bad that like everyone, even his actions speak louder than his words.
# June 30, 2003 8:30 AM

Dave Winer said:

The reason I started posting again is because I heard from the people I needed to hear from, the good people who read Scripting News on a summer Sunday, not the selfish flamers. I might publish the emails, there are about a hundred, and only one was from a guy like you, making accusations. My humanity is not in question Robert, despite what you say. Whether you have an axe to grind here, is.
# June 30, 2003 9:01 AM

Robert McLaws said:

You're right, Dave. Your humanity is not in question. Although it SEEMS inhuman of you to toy with my emotions like that, you did not read the post before this one, one which Scoble also linked too, which apologized and wished you luck. I thought you were genuinely trying to change. Instead it just appeared that you took your ball back and went to go play with someone else.
# June 30, 2003 11:26 AM

Rogers Cadenhead said:

What has Dave Winer done since co-creating RSS? He co-created XML-RPC, created OPML, created the MetaWeblog API, created the XmlStorageSystem API, and evangelized all of these protocols and APIs (and others).

He's even helped give Echo a considerable boost by announcing that he'll encourage UserLand to implement the protocol and linking to it numerous times on Scripting News. If he really wanted to take his ball and go home, wouldn't he do the opposite?

One of the ironies of this situation is that Dave gets accused of not working well with others in an environment built in considerable part by collaborative protocols and technology he developed.
# June 30, 2003 11:47 AM

Phil Wolff said:

A few thoughts on this flame war.

First, it appears to me that many people are taking this all a little too seriously. No lives, careers, or freedoms are on the line, so why all the name calling? When passions run hot, take a deep breath.

Second, Dave is a very public figure, so when name calling cascades, well it must be overwhelming. The presumption that he has rhino-thick skin is clearly overstated. Manners exist to permit people who don't necessarily like each to coexist in peace and even to cooperate on tasks of mutual interest.

Third, while people post in the moment, blogging is a cumulative act. In the process, it reveals much about people (too much?). Try not to judge people by the post that gored you today, but by their overall autoblogphraphy. You will have a better measure of the blogger, and so make better choices.

Inhale.

Count to ten.

Exhale.

Repeat.
# June 30, 2003 12:12 PM

TrackBack said:

#region /* comments */
# June 30, 2003 3:42 PM

Robert McLaws said:

Yay... I love new readers.

All very good stuff.

Phil, if it's any consolation, this was one of my calmer posts. I've worked really hard to cut back on the tongue-lashing.
# June 30, 2003 4:09 PM

Anon said:

Work harder
# June 30, 2003 4:53 PM

Robert McLaws said:

LOL. Thank you. Self improvement is a constant process. I work every day at improving some aspect of my life. I think that the same notions could be applied to RSS. If it dies, it's because Dave killed it by not allowing it to improve any more. Just like my personality would die if I let it stagnate.
# June 30, 2003 4:59 PM

Brian Carnell said:

Phil Wolff wrote:

"Second, Dave is a very public figure, so when name calling cascades, well it must be overwhelming. The presumption that he has rhino-thick skin is clearly overstated. Manners exist to permit people who don't necessarily like each to coexist in peace and even to cooperate on tasks of mutual interest."

And Dave has yet to show any. I mean, he's the biggest bomb thrower of them all who then has the audacity to complain about people flaming him.

The Movable Type and Blogger folks are simply taking Dave's advice not to listen to flamers. I bet developers have a lot better things to do than try to figure out what the hell Winer's talking about when he calls them "funky" and posts mini-essays attacking them for allegedly usurping his role.

The only surprising thing about this blowup is that it didn't happen sooner.
# June 30, 2003 5:24 PM

Ken said:

Winer is so annoying. I agree with you completely, he can dish it, but can't take it. It would be so nice if everyone could put egos aside and accomplish something.
# June 30, 2003 6:56 PM

Alex Hoffman said:

Appreciate the post - wish their were more like this amongst the increasing noise. One comment I would make is about "Version 3.0.5000 is enhanced for Microsoft .NET Framework 1.1". This statement invites the question from a layman - what is enhanced - what does it mean? I think it is better to be authoritative and simply say "Version 3.0.5000 requires Microsoft .NET Framework 1.1"
# June 30, 2003 6:57 PM

Alex Hoffman said:

I guess I'm dated - TI wasn't a contenter in my dinosaur days. I was way into a HP41c (http://press.ehsal.be/pcx/Museum/hp41cv.htm) - still wish I had it! Geek? Well I'm not from America and we don't have them here :)
# June 30, 2003 7:07 PM

Robert McLaws said:

Because we update the code for each version to take advantage of the enhancements of that framework version. it's subliminal thing to get them to upgrade to 1.1.
# June 30, 2003 7:57 PM

anon2 said:

"I've done more in my 21 years than some do by their 40s"

That's true of a suprising number of people in their twenties. That's the age that people have the energy and the free time to do more. That's the age when they think what they are doing will be recognized in twenty years by people in their twenties.

Few people that young have achieved anything that takes 30, 20, or even a mere 10 years to come to fruition. Or have the perspective to fully appreciate the difference.

A lot more goes into a single flower spike of a century plant than a whole field of day lilies.
# June 30, 2003 10:24 PM

Robert McLaws said:

Well, I'm sure it's probably easy to see that as a "he's a 21 year old who thinks he knows everything" approach, but it's not the case. I know there is much that I need to learn. I've been working on starting my own company for going on the 4th year. I won't stop till it's done. 10.. 15... 20 years? Who knows?

The difference in Dave's case is, if it took so long to do and achieved so much, why is he so eager to let his mouth completely distroy that investment and accomplishment?
# June 30, 2003 11:47 PM

Doug Thews said:

Yes, definitely more posts!
# July 1, 2003 5:10 PM

Robert McLaws said:

OK Doug you officially have the coolest blog subtitle.
# July 1, 2003 5:57 PM

TrackBack said:

Eric J. Smith's Weblog
# July 2, 2003 3:20 AM

Duncan said:

Web design is a bit like government :- nobody is absolutely sure how to do it right but everyone can point out any number of times when it has been done wrong ;-)
# July 2, 2003 8:45 AM

Duncan Mackenzie said:

No luck... It is Windows Forms code (of course... I'm pretty consistent)... doesn't mean you couldn't adapt it though... assuming the same Win32 API calls will work without a logged-on user.
# July 2, 2003 9:27 PM

Don said:

Ummm... great website design? Going the url provided without Flash, gets you a totally blank page.
# July 2, 2003 10:34 PM

Robert McLaws said:

Ok, well upgrade Flash and look at it again.... BTW it's supposed to be a joke.
# July 3, 2003 1:08 AM

Frans Bouma said:

But then I need 2 vs.net versions installed. :)
# July 3, 2003 5:04 AM

Robert McLaws said:

<smacks forehead>
# July 3, 2003 5:06 AM

Phil Wolff said:

I don't know if anyone's noticed, but Dave may be going through a sea change. In the last year he started walking for an hour a day, stopped smoking, sold his house, bought a new one three thousand miles away, sold off his company, started a new job that is non-techie and all policy/education/evangelism, picked up new stakeholders, made new friends, is travelling less. That's a lot in a short time.

Just by way of looking for deeper causes.

hmmmmm. I wonder if psychotherapists can analyze someone just from their blogging...
# July 3, 2003 3:52 PM

Firebird! said:

Install it so you can "test asp.net" across browsers... you'll end up using it full time. "Coffee" theme is great for Mac fans. Also, can download the "developer toolbar" which lets you validate, resize to common resolutions, toggle features and images, and do bad things (tm) with your forms.
# July 5, 2003 1:25 AM

wolfgang manousek said:

try netcaptor (www.netcaptor.com), great browser extension, the tabs are a killer feature in netcaptor
# July 5, 2003 6:10 AM

Stephane Rodriguez said:

Nice. Until today you thought IE had competitive browser features.
# July 5, 2003 9:21 AM

Tariz said:

I've been using MyIE2 for the last 6 months. When everyone in blogsphere started saying how good Firebird was, I went duh!!! these guys havent seen myie2, but no one took notice of poor ol me's comments.
Finally its out of the bag - MyIE2 rocks.
and I hope lot of people notice.
And all the MS team has to do now, is make the IE engine faster.
# July 6, 2003 9:10 AM

chadb said:

Man - I hate all these complaints.. The whole idea has always been:
Microsoft provides tools and base implementations - ISV's add value!

This is the way it is supposed to work...
# July 6, 2003 3:28 PM

Robert McLaws said:

LOL You know what I hate? Anonymous people posting comments!
# July 9, 2003 11:20 PM

Robert McLaws said:

Also, I want them to be able to ask that question... because .NET 1.1 is so much better than 1.0... I want them to convert ASAP.
# July 11, 2003 1:47 AM

Duncan said:

Looking forward to the article on namespacing - major split in the developer team here as to how it should be done.

Sláinte,
Duncan
# July 11, 2003 10:17 AM

Mads Nissen said:

I'd sure like to see that namespacing and code org. article. The way we've started to do it seems to work great both for building and source control.
# July 11, 2003 1:24 PM

Robert McLaws said:

Well, I hate to disappoint you guys, but again, this is really stuff I already talked about. I didn't really release any new information. Builder.com does not have a very large .NET community... it's mostly Java/Open Source people who only have biased opinions about .NET/MSFT but no hard facts. I introduce them to new topics and bring resources like the Weblogs to the table, so they get better information then their left-wing liberal developer media
# July 11, 2003 5:38 PM

HumanCompiler said:

Sure there are lots of reasons to be playing around up there...it's called, closing the form! ;) I've tried it up at the top and just could never get used to it! :-\
# July 11, 2003 10:50 PM

Frans Bouma said:

Why do you need a desktop that looks good? I've vs.net maximized all day on 1600x1200 so a fancy graphic is not visible anyway. Or are you staring at the desktop a lot? ;D :) :P

Startmenu at the top is for people who work with macs a lot (or amigas ;D) I never use the menu much, but I have a lot of icons on the quicklaunch. Because of the 1600x1200, I don't need autohiding which is great. If I can advise something it would be that everyone who does serious things with his computer should buy a 19" or 20" monitor and run 1600x1200 at least.
# July 12, 2003 6:28 AM

Robert McLaws said:

Not everyone can afford a 20" monitor...

Fitt's Law of UI Design says that the Mac UI is the best UI, because it's more intuitive, and it takes considerably less effort to navigate thru. If you combined elements of both navigation systems you'd have a real winner.
# July 12, 2003 6:38 AM

Damit said:

Does the emulator work with VS.NET 2002?
# July 13, 2003 12:03 PM

Brian Desmond said:

>HOW FREAKIN COOL IS THAT?

Rather!
# July 13, 2003 3:35 PM

JosephCooney said:

Lots of familiar names there ;-)
# July 15, 2003 12:28 AM

HumanCompiler said:

I didn't make the cut! Ouch! :P Guess I'll have to suggest myself! :|
# July 15, 2003 12:52 AM

Frans Bouma said:

This still doesn't change the referenced system.dll to version 1.0.3300 when compiling under vs.net 2003, it allows you to keep 2 separate codebases in one codebase. The problem I referred to was that you had 1 codebase, a .net 1.0 compatible one, and it is compiled using a tool which only understands .net 1.1.
# July 15, 2003 7:49 AM

Robert McLaws said:

Um, that's why you compile the same code file under VS.NET 2002 as well (which was stated in the article). You have one codebase, but 2 assemblies. I know you only want to have one assembly.... dude that's just tough. You make it harder on your customers that way, just to save yourself some time. That's not the way it's supposed to be.

At any rate, applications perform 20% faster when compiled against 1.1 than the SAME CODE compiled against 1.0. That simpole fact right there means that I wouldn't buy your products, because your 1.0 code with your 1.0 references will only dog my machine down in high-traffic situations.

Put both assemblies in the same installer, and follow the versioning policy I blogged about here. Paul from Xheo.com and I will be pushing this as an industry standard with the various component vendor groups very soon. It's solid, really smart, and it just makes sense.
# July 15, 2003 8:00 AM

Mel Grubb said:

Amen to that!

I suspect that the shuffle algorithm is trying to pick out songs you like based on how often you listen to them or something. The problem with this is that it feeds into itself like holding a microphone up to the amp. The more it plays songs I don't want to hear, the more likely it is to do it again. Then again, it could just be a coincidence. I've taken to shuffling the "Songs I haven't heard in a while" to combat the situation, but even then I'm hearing repeats. Sheesh.
# July 15, 2003 10:15 AM

Justin Bigelow said:

Thank God I'm not the only that this pisses off to no end! Hopefully somebody will be reading your blog and fix this. You are dead on with the damn thing playing the same songs continuously.
# July 15, 2003 11:05 AM

HP & Ipaq said:

HP are really taking the piss on this one. Suffice to say that I would have bought a copy of Windows Mobile 2003 for my Ipaqs, but have got bored and downloaded it from Emule.

It is:

about 10 times faster at copying files (activesync file from PC to Ipaq)
faster overall
useable IE implementation - works on SSL and cookie sites
better bluetooth

It also has windows media 9, although I not sure why anyone would want this. Are you watching movies on your Ipaq, because Media Player 8 plays mp3s and wmas just fine....
# July 15, 2003 12:55 PM

Robert McLaws said:

How did you get it on the EDonkey? I thought it was iPaq model specific....?

Contact me privately thru my contact page please.
# July 15, 2003 1:10 PM

Robert McLaws said:

Thanks! I'll check it out :).
# July 15, 2003 1:29 PM

ipaq said:

rom is for 3970, which I own. Still interested?
# July 15, 2003 1:42 PM

Robert McLaws said:

Nope. I have a 3835. ROM is not due out till October.
# July 15, 2003 1:45 PM

Marc LaFleur said:

33? You get 33? You bastard. Mine plays the same 15 all day long. :)
# July 15, 2003 1:55 PM

trade it in! said:

3835s go for up to $285 on ebay

Replace with 2215 (aka 2210) for $355 on pricewatch.

Get 400 MHz processor instead of 200Mhz
Get XScale rather than StrongArm, and feel the incredible power which only was realized with ppc 2003
Get PPC 2003
Get 200Mhz bus instead of 100 MHz
Get the best IPAQ design yet (http://www.brighthand.com/article/iPAQ_h2210_Review)
Get bluetooth
Get longer battery life
Get a well-designed machine

Sold?
# July 15, 2003 2:05 PM

Robert McLaws said:

Nah, because I bought mine with a sleeve, GPS, and a whole bunch of other crap, and that new one doesn't even have the same form factor. If I get one, it's gonna be a smartphone with WiFi, GPRS, and Bluetooth all in one. Which means I won't be getting one for a while.
# July 15, 2003 2:19 PM

HumanCompiler said:

MusicMatch has a pretty crappy shuffle too...maybe it's a new get rich quick scheme...write your own shuffler and be a millionaire! :P
# July 15, 2003 2:47 PM

HumanCompiler said:

You might want to post this in the GDN Workspace...

http://www.gotdotnet.com/Community/Workspaces/Workspace.aspx?id=424aa445-63a0-4c4f-b1ad-286ee87c68c6

TaskVision is really cool, but I agree...hard to debug...you might actually want to skip the Web Reference and just add a Reference to the Classes (the two WebServices) directly so you can debug and what not. Just a thought.
# July 15, 2003 2:51 PM

Robert McLaws said:

I haven't even used the source code... I'm using the compiled client with web.config settings for the web service urls...
# July 15, 2003 2:57 PM

Kenneth LeFebvre said:

"my firm belief is that, though our competitors might read what we say and attempt to do the same things, we can do it better. And we will do it better."

I LOVE to see companies take this attitude! I'm on my way to your corporate site to check out what y'all do... :)

# July 16, 2003 12:41 PM

Robert McLaws said:

Well I'm glad you like that. It was not an easy stance for me to take up. If I have a quique selling point, I usually try to exploit it without letting the competition know how I do it. But I figure, my goal is not just to make software better for my customers, but for everyone. That's why I'm involved in the community and I blog. If I remember that, first and foremost, profits will follow.
# July 16, 2003 6:55 PM

Ed Daniel said:

Hi Robert,

perhaps check out the online business networking sites like Ecademy.com or Ryze.com where you may be able to find a good deal on your training.

Regards,

Ed
# July 16, 2003 10:50 PM

Robert McLaws said:

Thanks Ed, but MS is requiring me to go to 3 four day summits to get it. It's all good tho. If I don't make it this round, I'm sure there will be more training opportunities.

Thanks a lot for your help!
# July 16, 2003 10:56 PM

Robert McLaws said:

BTW Ed, I like your site. SLICK! Let me know if you need any .NET related assistance, or need resources for clients in US markets.
# July 16, 2003 10:58 PM

HumanCompiler said:

the nVidia softare that comes with their cards has some similar stuff, but that looks like more toys even :D
# July 17, 2003 2:15 AM

?? said:

is this a public speaking course?

or something to do with voice recognition?
# July 17, 2003 10:14 AM

Robert McLaws said:

<chuckles>

Speech-Driven Software Systems based on the Microsoft Speech Server platform.
# July 17, 2003 4:25 PM

TrackBack said:

Robert McLaws: The Bleeding Edge
# July 18, 2003 8:10 AM

TrackBack said:

Robert McLaws: The Bleeding Edge
# July 19, 2003 6:45 AM

TrackBack said:

HumanCompiler
# July 19, 2003 9:30 PM

Doug Thews said:

I thought you might be interested in knowing I posted some cool feature updates on my LocalDeskop project at: http://www.ddconsult.com/blogs/illuminati/archives/000085.html
# July 19, 2003 11:13 PM

Tim Marman said:

Please do... :)
# July 20, 2003 11:25 AM

Doug Thews said:

Don't know if you are aware, but I released something similar this past Friday, and just provided some feature updates to allow dynamic imaging (windows, custom, or default). Source code & graphics are available to play with.

My primitive RSS parser does handle Schobleizer's lack of <title> elements, plus I believe it works on News.com as well. Let me know what you think.

http://www.ddconsult.com/blogs/illuminati/archives/000085.html
# July 20, 2003 1:04 PM

Robert McLaws said:

It's Scobleizer ;).

I saw the project.. It's really slick. Congrats, you did a great job. The point was not to favor one specific desktop system over the other, it was to provide a killer, real world example of this web control we're going to be selling. Obviously if it doesn't handle titles very well, or whatever borked up RSS that the News.com feeds have, I shouldn't be selling it. That's all.
# July 20, 2003 2:57 PM

Doug Thews said:

No prob. Just wanted to see if you were aware of it. I did mine just 'cause it's a useful example for many different ASP.NET topics. My next being how to provide real-time status updates during the processing of an ASP.NET page. Hope you visit my blog in the future.
# July 20, 2003 3:39 PM

Roy Osherove said:

Very slick!
# July 20, 2003 6:42 PM

kerouac said:

re funkelab - doesn't work in opera though - isn't actually a dropdown just a bunch of layers.

shame...would be really f****ing cool otherwise
# July 21, 2003 12:20 AM

TrackBack said:

Datagrid Girl
# July 22, 2003 8:28 AM

Anon said:

>Hope this is of value to someone.
It isn't.
# July 22, 2003 10:39 AM

Merill said:

Great set of tips.

Thanks a lot!
# July 22, 2003 10:53 AM

Duncan said:

Re: "You shouldn't allow poor practices, ridiculous deadlines, or miscommunication in any way affect the quality of your code."

I am writing an article, "Kaizen and the art of software maintenance" and would like to include that quote...I'll creduit it, natch.
# July 23, 2003 9:04 AM

Robert McLaws said:

no problem :)
# July 23, 2003 10:23 AM

Adam Kinney said:

That darn 'Anon' is always negative in these here blogging parts. He needs to take a vacation or something...
# July 23, 2003 2:19 PM

Robert McLaws said:

he he he. I know, i think he needs a girlfriend.
# July 23, 2003 2:23 PM

Paul Edwards said:

Robert,

Where are you getting the images from? I had seen your desktop on the gallery page before and been trying to find them.

Would look fantastic on my machine!

Cheers,
Paul
paul@vexem.net
# July 23, 2003 7:05 PM

Matt Hawley said:

A coworker pointed that out to me the other day. This, of course, was after I had created my own methods in my Multi-Text List Controls to handle such things.
# July 24, 2003 7:39 PM

Jesse Ezell said:

Yah, it is great, except for the fact that it makes your compiled source incompatible with the 1.0 framework, so you can't use it anyway if you are concerned about someone running on top of 1.0.
# July 24, 2003 11:39 PM

Tim Marman said:

I'm using it now, though I never realized it wasn't in before.

I never used the DropDownList much before, mostly because I never quite figured out how to elegantly use it when binding to an XmlNodeList. DataTextField etc expect a string that maps directly to a property on the DataItem.

Sure, I could load the xml into a DataSet and bind it to the table's dataview, but that always seemed a little bloated to me. I tended to use a select runat="server" and a repeater to generate the options. Gives you more control anyways.

I don't have a 1.0 install handy (or the docs), but I assume there was still an SelectedItem property. From a get perspective, this.Dropdown.SelectedItem.Value is not much worse than this.Dropdown.SelectedValue. I assume your main complaint was that it was settable?
# July 25, 2003 1:54 AM

Robert McLaws said:

Yeah, my point was that it was settable. I had to create a custom control to handle it in 1.0....
# July 25, 2003 5:42 AM

TrackBack said:

Robert A. Wlodarczyk's Blog
# July 25, 2003 6:46 AM

Anon said:

> Now, if only Eric would BLOG MORE OFTEN.
Maybe he's busy doing real work. Some people should blog LESS.
# July 25, 2003 12:22 PM

Robert McLaws said:

Anon:

And maybe you should be on Prozac.
# July 25, 2003 12:26 PM

Adam Kinney said:

Dude, Anon's got it in for you.

w00t, .NET!
# July 25, 2003 12:37 PM

Robert McLaws said:

I know man. But hey, Anon likes to heckle Scoble too, so I'm cool with it. He's a very busy heckler... ;)
# July 25, 2003 12:44 PM

Robert Scoble said:

Is Anon giving you trouble? Send him back to my blog. :-)
# July 25, 2003 3:24 PM

Datagrid Girl said:

*That* was your biggest pet peeve? :p

Marcie
# July 25, 2003 3:24 PM

HumanCompiler said:

SelectedValue and SelectedText have always been in the WindowsForms Controls. Good to see ASP.NET thought it was a good idea too! ;)

I'm in the crowd that never knew it *wasn't* there.
# July 25, 2003 6:17 PM

TrackBack said:

Matthew ".NET" Reynolds
# July 25, 2003 6:20 PM

Robert McLaws said:

LOL Scoble.
# July 25, 2003 6:24 PM

Scott Watermasysk said:

I have heard some good things about the Toshiba Tablet. It still has a pretty crappy CPU, but does support a gig of ram, so you should be able to do some dev on it. It also has a keyboard built in.

If/when I buy one, it will likely be the Toshiba.

-Scott
# July 25, 2003 9:44 PM

Tim Marman said:

I got the Acer C110. It's a beast of a machine, a pretty good value in comparison to the others.

DEFINTIELY play with it first, it's a little small for laptop mode but I prefer the size for tablet mode much more.. and I'm willing to sacrifice a little of size for the portability.

You can definitely develop on this one though. The 900mhz Centrino, 512MB DDR RAM and 400mhz FSB put it well ahead of the Toshiba.

Dependning on your timeframe, yuou may want to look into the new Sharp that was announced - but I still haven't heard of timeframes for it.

If you want to do development "on the go" at all, definitely get a convertible. Right now, only the Compaq (sort of), Toshiba and Acer are in that form factor. The rest are pure slate models and have a docking station.

Check out http://www.tabletpcbuzz.com, and welcome to the club hopefully :)
# July 25, 2003 9:58 PM

HumanCompiler said:

Valid in what sense? ;)

no really, same here...VS.NET all the way! :D
# July 26, 2003 12:20 AM

Robert McLaws said:

valid as in tags that are opened and closed properly.
# July 26, 2003 12:25 AM

HumanCompiler said:

gotchya...just wanted to make sure you weren't talking about XHTML valid or anything like that ;)
# July 26, 2003 12:26 AM

Datagrid Girl said:

I got the Toshiba (Portege), and do all of my development on it.
# July 26, 2003 12:30 AM

Steven Smith said:

I'm still waiting for Dell to enter the market. I'd really like my next PC to be a tablet, but I want to UPGRADE from my Inspiron8100 1GHz P3 w/512mb RAM, so going to a centrino 900Mhz wouldn't really cut it.

Still waiting...
# July 26, 2003 12:45 AM

Dave said:

ROFLMAO! Best comeback I've run across in quite some time.
# July 26, 2003 1:45 AM

Dave R said:

A few days after reading this article, I decided that it was, in fact, necessary to bug the sysadmin until he put the 1.1 framework on our web server :)

I don't know how often I've written code like MyDdl.SelectedIndex = MyDdl.Items.IndexOf(MyDdl.Items.FindByValue(someValue)) ...
# July 26, 2003 2:12 AM

Scott Mitchell said:

That's pretty funny. Keen observation.
# July 26, 2003 3:34 AM

Mike Sax said:

Be sure to check out the (substantial) developer discount from Motion Computing:

https://www.motioncomputing.com/partners/promotions_tdk.asp
# July 26, 2003 3:47 AM

Matthew Reynolds said:

Luke *really* needs to make SharpReader have a "Tablet PC" view, optimized for a portrait display!!!
# July 26, 2003 4:47 AM

Frans Bouma said:

And you think cycling through your tables is less time consuming than a realloc? :)
# July 26, 2003 6:05 AM

Robert McLaws said:

As I said, the performance speaks for itself. In my test it's 60% faster than before I added the algorhithm.

Which is more resource-intensive, exponentially enlarging your memory space, or doing a quick loop?

Hey, besides that, the DataSet doesn't have a "FieldCount" property, but the DataReader sure does. Therefore, it is only run some of the time.
# July 26, 2003 6:15 AM

SBC said:

I have a Motion Computing M1200 at work and I like it! Looking forward to developing on it soon.
# July 26, 2003 9:56 AM

julie said:

touche! Good catch. I had to look at it for about 10 seconds before I saw that extra >
# July 26, 2003 10:46 AM

Tim Marman said:

Actually, while I use VS.NET, it doesn't always spit out well-formed HTML :)
# July 27, 2003 1:54 AM

Robert McLaws said:

I've never seen an instance where it does not open and close tags properly.
# July 27, 2003 2:01 AM

Tim Marman said:

Steve: "I'm still waiting for Dell to enter the market. I'd really like my next PC to be a tablet, but I want to UPGRADE from my Inspiron8100 1GHz P3 w/512mb RAM, so going to a centrino 900Mhz wouldn't really cut it."

Trust me, a 900mhz centrino is an upgrade. The performance is about the equivalent of a 2ghz P4 machine. Actually, the benchmark on that machine was about the same as my new 2.4ghz Dell.

Ironically, this misconception was caused by Intel's marketing campaigns that told us for years that "faster clock speed is better".

Your clock speed just tells you how many cycles are executed per second. If you can execute more instructions per cycle, you can be "faster" even with a slower clock speed.

Now, this means a chip can use less power and generate less heat with performance equivalent to a chip running at twice the clock speed... perfect for a laptop (which is what the Pentium M / Banias) is designed for.

I'll blog on this soon and post some specific benchmarks on the laptop.
# July 27, 2003 2:12 AM

TrackBack said:

HumanCompiler - Erik Porter Blog
# July 27, 2003 5:23 AM

TrackBack said:

ShowUsYour<Blog>
# July 27, 2003 5:23 AM

Roy Osherove said:

If I remember correctly, you can't do indexer overloading in C# or VB.Net(only one indexer per class), only C++.Net lets you do that. Sucks, don't it?
# July 27, 2003 7:44 AM

Roy Osherove said:

You're totally welcome! Glad to help. Cool product :)
# July 27, 2003 10:34 AM

Wilco said:

Roy: Sure you can, at least you can in C#.
# July 27, 2003 10:58 AM

Roy Osherove said:

Methinks Anon likes the exposure and will stop once no one declares any interest in him whatsoever.
# July 27, 2003 11:58 AM

Scott Watermasysk said:

Why are you writing collection code? Save your self a lot of time and download: CodeSmith

-Scott
# July 27, 2003 12:43 PM

HumanCompiler said:

Roy, yes you can, both C# and VB.NET can overload indexers.

Robert, why not Inherit from CollectionBase? It gives you everything you need and then you can write a strongly typed collection by adding just a little code to it.

Looking forward to Generics too though! ;)
# July 27, 2003 2:14 PM

Mr. X said:

<Sarcasm>

Wow...its just soooo hard to do anything nowadays...yikes...I have to write more than 5 lines of code for this program to work...oh, nooooo I have to use my head a little...ahhhhh...I though Microsoft had eliminated all the thinking associated with programming!!!!!!!!

</Sarcasm>

Generics will be nice..but until then, things aren't really that bad!
# July 27, 2003 5:06 PM

Robert McLaws said:

I don't mind coding. What I mind is a lack of coherent documentation.
# July 27, 2003 9:34 PM

Eric J. Smith said:

Robert,

I'm wondering if the lack of coherent documentation comment is directed toward CodeSmith? If so, could you please elaborate on what you thought was missing and how I could make it better. Thanks!

Eric J. Smith
# July 27, 2003 10:02 PM

Robert McLaws said:

Nope, it was directed towards the Framework. I don't use code generators in that way. I have my good friend Visio, who is going to be doing the bulk of my code generation from now on.

I will however, be evaluating it in the near future for one of my Builder.com articles, and I will give you feedback at that time.

Thanks, Eric!
# July 28, 2003 1:23 AM

Kirk Allen Evans said:

Thanks for the mention! Nicely, your Google search seems to have popped my blog up to the first result.

A side-effect: choose your name wisely. Searches for "Kirk Evans" still has my blog in the second page of results. More often than not, employers do Google searches for me as "Kirk Evans".
# July 28, 2003 3:11 PM

TrackBack said:

ISerializable
# July 28, 2003 4:23 PM

brady gaster said:

HA! (that's a very honest compliment on your wonderfully laden sarcasm - love the rip on the ad image. too cool)
# July 29, 2003 12:24 AM

brady gaster said:

dude - just go get a ghosting product like the one norton makes.
# July 29, 2003 12:57 AM

Robert McLaws said:

I was waiting for you to pipe up about this one.

I mean, something from MS where you can buy all the software in one package, and it comes preconfigured from MS for development. Yeah I COULD spend like 9 hours configuring a new machine, and then another hour ghosting it... but who wants to deal with that hassle?
# July 29, 2003 1:04 AM

TrackBack said:


Instructing.NET
# July 29, 2003 1:28 AM

TrackBack said:

# July 29, 2003 1:28 AM

TrackBack said:


Robert McLaws: BoyWonder.NET
# July 29, 2003 3:44 AM

TrackBack said:

# July 29, 2003 3:44 AM

TrackBack said:

# July 29, 2003 3:44 AM

TrackBack said:

# July 29, 2003 3:48 AM

Scott Galloway said:

Just got my access - hurrah! It is a fantastic product - I suspect it will surprise many people just how improved it is...:-)
# July 29, 2003 3:46 PM

HumanCompiler said:

Yup...totally sweet! (y)
# July 30, 2003 12:57 AM

Eric J. Smith said:

OK, had me worried... I know the documentation is not great, but I didn't think it was incoherent! :-) Please feel free to ask me any questions.

Thanks!
Eric J. Smith
# July 30, 2003 2:42 PM

Eric Sink said:

We use Web Services combined with SSL for SourceGear Vault, our version control system. I routinely use this setup from home over a 256K connection which is only quasi-reliable. We have another employee who uses Vault over a plain old 56k modem. In both cases the performance is quite adequate for our application. YMMV.
# July 30, 2003 8:05 PM

Jesse Ezell said:

Don't use WSE if you need to be cross platform (at least not yet). Stick with SSL for a while.
# July 30, 2003 9:22 PM

Derek Stone said:

It isn't just you. I was getting absolute pitiful performance and some strange behavior to boot.
# July 31, 2003 3:27 AM

Robert McLaws said:

Thanks for the feedback guys.
# July 31, 2003 10:32 AM

TrackBack said:

# July 31, 2003 11:17 AM

Jeff Giesbrecht said:

I agree with using VS.NET for doing basic layout and any heavy asp.net lifting and page design, however if you want to make use of the power of CSS Dreamweaver can't be touched. I wish that VS.NET would have a decent interface for working on the look part of the site however it doesn't and one has to resort to tools like Dreamweaver. The one caveat is DW does a fair job handling asp.net tags, it is usable but not to the level of VS.NET.
# July 31, 2003 4:54 PM

Robert McLaws said:

All great comments, but Greg, you are not looking very hard at the graphic.
# July 31, 2003 5:17 PM

TrackBack said:

# August 1, 2003 1:57 AM

julie said:

Robert- I think you need a vacation! :-)
# August 1, 2003 3:44 PM

Jerry Dennany said:

psst.. don't tell anyone, but it's spelled 'dennany'.
# August 1, 2003 5:10 PM

Kris Williams said:

We too use SSL. However, to relieve the web servers in our farm from having to do the SSL processing, which has lead to scalability problems, we offload SSL to a pair of embedded SSL accelerators.
# August 1, 2003 7:57 PM

Joshua Allen said:

It's worth pointing out that a string in .NET is *always* UTF-16, whether or not you assert a different encoding in your XML declaration. We had a lot of problems with this fact in classic ASP/MSXML, since ASP strings are also always utf-16, and people would assert a different encoding in their XML decl, then get confused when things broke downstream (assert utf-8, but dump as utf-16, then get confused when the browser tries to read utf-8 for example). There MAY be some cases where it is correct for you to create XML in a string that is (always) encoded as utf-16 and assert that it is utf-8, but more often than not it is a bug and will lead to undesirable behavior. The XML declaration should normally match the actual encoding of the document instance, and we introduced a lot of bugs prior to .NET by making it too *easy* to use encodings other than utf-16 in a string of XML. I know that is little consolation if you are doing some blackbelt thing and really *need* to use an incorrect encoding decl temporarily, but at least it should explain why .NET is designed this way. I honestly believe that it has eliminated some very frequent user bugs that were common before .NET.

Regards,
Joshua Allen
XmlWriter PM
# August 1, 2003 8:05 PM

Robert McLaws said:

Wow. Thanks Joshua for an amazingly clear explanation. Here is my question then, and forgive me for being dumb, but.... why isn't there a method to change the string encoding to UTF8 for XML?

Are you saying that it's better to write directly to the file system? If you use the method that allows you to select enoding, it writes to a file. But, if this is the case, it's still a string when it gets written to the file....

*still confused*
# August 1, 2003 8:35 PM

Matthew Reynolds said:

Hi Rob,

Have you tried trimming the MemoryStream buffer? This is usally longer than the size specified in the Length property. I usually create an array of length stream.Length and then copy the bytes from the buffer into this. This should remove the dodgy spaces at the end?

Cheers,
Matthew
# August 4, 2003 5:18 AM

Robert McLaws said:

I tried that without success. That was part of the wasted 45 minutes.
# August 4, 2003 10:33 AM

Matt Hawley said:

I was just thinking this yesterday...Scott must have read my mind :)
# August 4, 2003 11:26 AM

HumanCompiler said:

ok, i've never really liked trillian, but haven't tried it in quite a few versions...that's awesome! :D
# August 4, 2003 2:47 PM

Randy Ridge said:

Trillian pro 1.0 had RSS support as well and while I do love trillian, I wouldn't want to keep up with many subscriptions in it. I'll still stick with good ole sharpreader.
# August 4, 2003 3:05 PM

Scott Watermasysk said:

Once again all praise goes to Daniel Nolan for the design/css. I am just smart enough to keep saying yes when he offers his help.
# August 4, 2003 3:12 PM

Robert A. Wlodarczyk said:

ooo. That's pretty nice. :)
# August 4, 2003 4:37 PM

Jon said:

I've been using Trillian Pro since it came out last September and I'm really happy with it. This 2.0 version really rocks :-)
# August 4, 2003 4:40 PM

Daniel Nolan said:

Nice idea, but pushing it the way of ICQ, bloat bloat! It isn't really the best place for putting RSS feeds, it doesnt have the management capabilities for it. Certainly not for the number and weight of feeds I subscribe to.

Trillian does indeed rock though, just a shame it forces me to merge my contact lists if i log on to MSN twice, which can be confusing to anyone who adds me as they all of a sudden have to add some other random person called craig (don't ask, long story).
# August 4, 2003 5:29 PM

Daniel Nolan said:

Might have been wise checking the trillian link before that comment, now supports seperate connection contact lists, woot!
# August 4, 2003 5:30 PM

Dave said:

You might not comment, but Dave Winer appearantly has. Seems he believes the article is "incendiary". If you believe his state-owned blog it's "the last gasp in the Great RSS War of 2003".

(1) Dammit... am I the only one who not only thinks he presents an extremely biased viewpoint - his right to - on his weblog and the major problem is NOBODY CAN COMMENT DIRECTLY TO IT?

(2) IMHO the news.com article was extremely balanced and fair. Which should explain why DW seems to feel it is antagonistic.
# August 4, 2003 7:14 PM

Robert McLaws said:

I agree 100% You'll never catch comments on his blog. EVER. Why? Because he only cares about his own opinion.
# August 5, 2003 3:17 PM

David Stone said:

Does this mean that those of us who haven't had your IM can now add you to our contact lists at will? ;) Since we know your passport account's e-mail address...
# August 5, 2003 4:20 PM

Robert McLaws said:

Go for it. ;) I should have mentioned that. Any of you can feel free to IM me at any time. :)
# August 5, 2003 4:23 PM

Sam Gentile said:

I'm going!
# August 6, 2003 7:57 AM

Joshua Allen said:

Oh, the deal is that String are actually stored as 16-bit characters in memory; in the help topic at:
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemstringclasstopic.asp>
it says "Each Unicode character in a string is defined by a Unicode scalar value, also called a Unicode code point or the ordinal (numeric) value of the Unicode character. Each code point is encoded using UTF-16 encoding, and the numeric value of each element of the encoding is represented by a Char." -- Then if you look at the definition for Char in the help file, you see Char is stored as 16-bits; or utf-16. I know it is confusing -- all throughout the docs we talk about "Unicode" which could imply that the characters could be encoded using any approved unicode encoding, but in MSFT-speak, "Unicode" really means "Unicode code points encoded using utf-16". In other words, it is common to talk about the difference between "unicode and utf-8" rather than "utf-16 and utf-8", since "everyone" knows that Unicode == utf-16. Anyway, this is a pet peeve of mine and demonstrates incorrect understanding of the issues IMO, but unfortunately it has been the norm at MSFT for a long time. So just remember when reading our docs; 90% of the time when someone says "unicode", they mean utf-16.

Now, as to the question about writing to file (or memorystream, etc.), the answer is that yes that is one way to workaround the issue. But of course the XML is still wrong (which maybe you want?). For example, the following pseudocode:

String s = "<?xml encoding='utf-8'?><blah/>";
TextWriter tw = new TextWriter("out.xml",Encoding.Utf16);
tw.Write(s);
tw.Close();

would work just fine, but the XML on disk is definitely not wellformed, and will throw an error if you try to open it with any XML parser in the world. On the other hand, if you did that and then wrote to a file encoded with utf8, it *would* be right -- but that begs the question of why you used a string in the first place? You could write directly to the textwriter. Anyway, I hope that is helping to clear up a bit.

Another way to look at it is that the System.String class in CLR is used to represent utf-16 encoded streams, and for all other encoded streams you need to use System.Stream class...

# August 7, 2003 4:16 PM

Robert McLaws said:

What a fabulous explanation. Joshua, I thank you for taking the time to provide such a detailed explanation.

Now, having said that. I have the following comment:

WOW. That really sucks.

It should not be that complicated. I'm gonna have to take a serious look at it and see if I can't come up with a cleaner solution. More than likely, I'll have to show you my specific situation to prove why. Are you at the Redmond campus? If so I'll show you next week in person.
# August 7, 2003 4:25 PM

Jason Alexander said:

Awesome Robert! Thanks!

Yeah, that would have been great 15 mins ago... (DOH!) ;) But, now I know! Hehehe.
# August 7, 2003 4:30 PM

TrackBack said:

# August 7, 2003 5:06 PM

HumanCompiler said:

Totally agree...I'd buy it for a project I'm working on right now...actually I was thinking about just writing it, obviously...thinks about being "soooo money" :D
# August 7, 2003 10:38 PM

brady gaster said:

you need a new category - ".net instructors."
# August 8, 2003 1:23 AM

Jonne Kats said:

Me 2, i'm planning on implementing one on our intranet. I even start writing one, because i couldn't find one. Never finished it though...
# August 8, 2003 2:49 AM

Matt Hawley said:

Ask and ye shall receive: http://www.asp.net/ControlGallery/ControlDetail.aspx?Control=1344&tabindex=2
# August 8, 2003 9:59 AM

TrackBack said:

# August 8, 2003 11:06 AM

HumanCompiler said:

holy crap that's awesome...i will sooooo be buying that control!

blog marketing!
# August 8, 2003 11:22 AM

Robert A. Wlodarczyk said:

Gotta love those Polish last names :) Looking forward to meeting you!
# August 10, 2003 11:11 PM

Roy Osherove said:

Dude! Envy is my middle name!
# August 13, 2003 3:22 AM

Tim Marman said:

What weblogger dinner? Where?
# August 13, 2003 9:59 AM

Robert Scoble said:

See my weblog today for the weblogger dinner. http://scoble.weblogs.com
# August 13, 2003 12:35 PM

Scott Glasgow said:

I'm just wondering if ActiveSync will also send some of our (Phoenix) record heat (ok it's cooler today) back to you. We know you must be missing it!
# August 13, 2003 3:07 PM

V said:

I'm scared. :) Truly scared.
# August 13, 2003 5:18 PM

TrackBack said:

# August 14, 2003 3:29 AM

Joshua Allen said:

Per our conversation last night, I would recommend using MemoryStream to store in a particular encoding. I attach a code sample below (Test3 is the one with MemoryStream and a utf8). Also, all three of the examples result in XML that is converted to and from string while staying in the proper encoding, and they all seem to be working OK for me with no padding of bytes, etc. If you want me to check out any padding issues, you can send a repro code that I can compile and run to see if I get the same behavior. Thanks!

using System;
using System.IO;
using System.Text;
using System.Xml;

namespace foo {
public class bar {
public static void Main() {
Test1();
Test2();
Test3();

}

public static void Test1() {
string strInput = "<?xml version='1.0' encoding='utf-16'?><foo><bar /></foo>";
XmlTextReader r = new XmlTextReader(new StringReader(strInput));
StringBuilder sb = new StringBuilder();
XmlTextWriter w = new XmlTextWriter(new StringWriter(sb));
w.WriteNode(r, false);
w.Flush();
string strOutput = sb.ToString();
Console.WriteLine("Input = {0}, Output = {1}", strInput.Length, strOutput.Length);
}

public static void Test2() {
string strInput = "<?xml version='1.0' encoding='utf-16'?><foo><bar /></foo>";
XmlTextReader r = new XmlTextReader(new StringReader(strInput));
MemoryStream ms = new MemoryStream();
XmlTextWriter w = new XmlTextWriter(ms, Encoding.Unicode);
w.WriteNode(r, false);
w.Flush();
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string strOutput = sr.ReadToEnd();
Console.WriteLine("Input = {0}, Output = {1}", strInput.Length, strOutput.Length);
}

public static void Test3() {
string strInput = "<?xml version='1.0' encoding='utf-16'?><foo><bar /></foo>";
XmlTextReader r = new XmlTextReader(new StringReader(strInput));
MemoryStream ms = new MemoryStream();
XmlTextWriter w = new XmlTextWriter(ms, Encoding.UTF8);
w.WriteNode(r, false);
w.Flush();
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string strOutput = sr.ReadToEnd();
Console.WriteLine("Input = {0}, Output = {1}", strInput.Length, strOutput.Length);
}


}
}
# August 14, 2003 6:13 PM

G. Andrew Duthie said:

"and that it was designed to release a DDoS attack on the entire internet"

Did they really say that? Given that the central notion of a DDoS attack is many "slave" machines attacking a single (or small group of) target(s), the idea of "a DDoS attack on the entire internet" is a little hard to swallow, is it not? If that's what the folks at Cox are saying, that sure explains why we can't rely on ISPs to filter traffic to prevent worms.
# August 17, 2003 2:08 PM

Robert McLaws said:

Well, if you can make a slave machine hit one target, why can't you make it hit hundreds of IPs, or cycle through all the IPs and hit them with large amounts of traffic? Is it THAT farfetched?

And Andrew, why would we want ISPs to filter prots BEFORE attacks? Why don't we just close off the whole internet while we're at it, since they can attack on any nuumber of ports?
# August 17, 2003 3:34 PM

Sam Gentile said:

Right on Robert. Good work.
# August 17, 2003 5:12 PM

Shane Bauer said:

Exactly. Good post. I get so tired of the finger pointing.

Back to the saying:

When you point your finger at someone, three fingers are pointing back at you. (haha ok..it's somewhat like that) Anyway, I'm going to stop being corny.
# August 17, 2003 5:17 PM

G. Andrew Duthie said:

Um...Robert I think you missed my point. I was neither advocating, nor complaining about whether or not Cox should filter ports, though if done properly it could be in their best interests to do so. My point was merely that if your statement of what Cox said about the DDoS attacks was accurate, that I wouldn't trust them to do port filtering properly.

As for your question about slave machines, it's simply a matter of limited resources. The reason DDoS attacks are successful is because the worm author marshals the resources of a large number of machines to attack a small number of machines (with limited resources). It's the concentration of the attack that makes it work. You certainly *could* make a DDoS script cycle through "all the IPs", but how are you going to hit them with large amounts of traffic? It just doesn't make a lot of sense. Sure, you could probably raise the noise level on the Internet a bit, but I have a hard time believing that, absent the coordination of many clients targeting a limited number of machines, you could mount an effective DDoS attack.
# August 17, 2003 5:28 PM

G. Andrew Duthie said:

Robert,

See my response on: http://weblogs.asp.net/rmclaws/posts/24343.aspx#24346

I think you completely misinterpreted what I was saying about Cox. I was hardly "blaming" them for the Blaster worm, nor was I advocating that they *should* do port filtering.

Also, had you read my posts on the subject of the blaster worm, you'd see that we agree that it is the individual's responsibility to make sure that their computer is up-to-date on patches, sits behind a firewall, etc.

So please, before you go making me the subject of a rant, could you take the time to make sure that we actually *do* disagree first? ;-)
# August 17, 2003 5:32 PM

Robert McLaws said:

My apologies. After reading your posts on your blog, I see that you agree :). Unfortunately, however, it does not appear to be the first time you were misunderstood regarding this topic. Sorry if I added to the static.
# August 17, 2003 5:47 PM

Paul Wilson said:

You and the others totally missed the point of Jerry's rant (and its spelled Dennany). Its NOT that the deployment necessarily took too long, it is that the legally required documentation of the testing that must cover in detail every possible thing affected can take a very very long time. Also, like it or not, someone like Jerry usually has other things on his plate as well.

Don't get me wrong, I totally agree that most of the problems are due to sloppiness, whether it be users, sysadmins, or developers. But Jerry was simply pointing out that some people live in a world with more legal restriction than you can possibly imagine, so its simply not always a case of sloppiness. So you are wrong -- SUS has nothing to do with the issue since its not the deployment thats the problem in this type of case.
# August 17, 2003 7:31 PM

G. Andrew Duthie said:

BTW, TCP port 135 is one of those that should ALWAYS be firewalled, along with pretty much any other well-known port number that's not intended to be accessed from the internet.

There are numerous sites on the web (one of my favorites is at http://www.broadbandreports.com/tools) that allow you to perform port scans to determine what's open for a given IP address. http://www.broadbandreports.com/insecure gives a pretty good indication of the severity of the problem with open ports.
# August 17, 2003 7:47 PM

TrackBack said:

# August 18, 2003 5:53 AM

Datagrid Girl said:

Hey, just saw your post--thanks for the well wishes! So far so good, I'm at Tech Ed New Zealand now--one talk to go!
# August 18, 2003 10:20 AM

Robert McLaws said:

If that were the case, then why did he only mention it at the end? It seemed to me the point was the part in red where he said "60,000 nodes". If that was not his point, then maybe he shouldn't have put it in red.
# August 19, 2003 6:05 AM

Robert Hurlbut said:

I also highly recommend the Writing Secure Code book.
# August 19, 2003 6:59 PM

Paul Wilson said:

My recommendation is to quit reading and posting so fast then -- you clearly are trying to achieve some super high numbers with little quality. I'm not claiming my posts are always of high quality either, but at least I keep the noise level down by not posting so many low quality posts. Nothing personal, we're all trying to figure out this blogging thing, but you are definitely posting way too much that simply says me too and look at me. Feel free to critique me too -- I know I've had some look at me posts too.
# August 19, 2003 7:38 PM

Robert McLaws said:

I re-read his post 3 times, and I respectfully disagree. I'm sorry you felt the post was low-quality... you are free to your own opinion. I know at least one person who was helped by my post, so it was not low-quality to me or that person. Thank you for taking the timne to comment.
# August 19, 2003 7:44 PM

Mads Haugbø Nissen said:

This is a great idea. I'm planning to start this very soon myself, and it would be great if we could somehow collect study guides from others on asp.net. We could potentially save tons of time!<br><br>I'll contribute for sure when I get started! Hopefully we could even get pointers and tips from bloggers with the MCSD safely on the wall.
# August 21, 2003 7:27 AM

TrackBack said:


Eric Kepes
# August 21, 2003 9:43 AM

Robert McLaws said:

Well I'm glad you like them. Mads, I'm thinking about putting together just that kind of site. I'll ping you in a few weeks when I'm ready to get it going.
# August 21, 2003 1:36 PM

TrackBack said:

# August 21, 2003 5:39 PM

Paschal said:

Robert did you read my recent post on this issue with Yukon or SQL update ?
No way that i am going to plug my server database to the Net to received some MS updates !
My SQL server is behind 2 firewalls oinly visible from very few machines, and I will not taking any risks to expose my data to make Microsoft happy.
The updates I do are only by CD and that's all.
I am sure that a lot of DBAs work in the same pattern than me.
# August 23, 2003 3:26 PM

Robert McLaws said:

There you go on a negative slant again. It's not so you can make MS happy, it's so MS can make YOU happy.

That is fine. Not everyone is like you. I, for example, also manage my own server farm and patch updates. I make it simple with Software Update Services (I talk about it here), which is a tool Microsoft puts out to run Windows Update on your local network. You sync with MS' servers, approve updates, and your other machines pick up and automatically install the approved patches. The SAME system could take place for Framework updating as well. You could have an intermediate server installed locally that allows you to approve updates for pickup by machines inside the network. This does nto compromise security OR performance.

You could also use MOM to do the same thing.
# August 23, 2003 3:45 PM

Robert McLaws said:

BTW, I have the same network setup that you do. Great minds think alike ;).
# August 23, 2003 3:46 PM

Paschal said:

I have no negative thoughts there but I have a lot of experience on databases and securities.

And I just say that regardind the number of recent flaws MS has in their update system, I will not trust Microsoft blindly to patch my systems without any control.
I don't know for you, but I have sensitive educational material in the database, and a lot of my colleagues are on the same path there.
I am not negative but I don't think an automatic update is possible.
If you are ok to trust MS, you're free, but I stand on my thoughts about this.
# August 23, 2003 3:56 PM

TrackBack said:

# August 23, 2003 4:05 PM

Robert McLaws said:

That's why you can use Software Update Services to give you the control you desire while still having autodeploy capabilities. You focused on my comment about your negativity, yet you missed the whole point of my response. With SUS, one server grab's MS's patches, and notifies you to approve them. Your network machines don't need internet connectivity, only connectivity to that server. If you approve the patch, your Automatic Updates Service redirect automatically grabs and installs it from YOUR SERVER, not from MS.

My proposal is a similar technology using existing .NET Framework capabilities.

BTW, and I mean this with all seriousness, it's always a pleasure talking aboubt this stuff with you. That's not sarcasm. You always bring interesting ideas to the table, and make me think harder about my responses.
# August 23, 2003 4:08 PM

Randy Holloway said:

Paschal, you're not thinking this through. The big issue that Microsoft has with patches is not the installation of the patches, but customer notification and distribution of the software. If customers would automatically receive these updates, yet still maintain control over the change management (deployment of said patches), then the solution would not expose you to the issues you're concerned about yet it could help you to be more informed. See my comments on this.

# August 23, 2003 4:56 PM

Paschal said:

I just maintain what I said before, what is the point of having Microsoft claiming that security is essential in our networks and suddenly give them full access to our systems in a name of some pretentious safety.
like many of my colleagues i don@t trust the internet connection and especially when the idea is coming from big brother :->
# August 23, 2003 7:03 PM

Robert McLaws said:

Full access to our systems? I'm really confused here. How is your computer asking another computer for an update getting full access to the system?
# August 23, 2003 8:51 PM

Paschal said:

If the computer world exist without hackers or marketing people, I would trust the update, but unfortunatly we are living in a real world.
I understood the use of this Software update system you mention, but I don't let my live server open to the wan.
My firewall is setup only as a one way, and I am not going to open the line in both directions just for some updates I can download from my desktop PC burn on a CD and install myself at my convenience.
# August 24, 2003 5:22 AM

TrackBack said:

# August 24, 2003 5:36 AM

TrackBack said:

# August 24, 2003 11:35 AM

Robert McLaws said:

How does your desktop PC connect to the internet? Is it on the same network?
# August 24, 2003 3:46 PM

TrackBack said:


Small Query Blog
# August 25, 2003 6:50 AM

Paschal said:

No Robert my Desktop PC is on a totally separate network, nothing to do with the SQL box.
# August 25, 2003 1:28 PM

TrackBack said:

# August 25, 2003 5:25 PM

Scott Watermasysk said:

I can hit sourceforge.net (via the link above) with no problems.

-Scott
# August 26, 2003 3:34 PM

Robert A. Wlodarczyk said:

I've heard this before too. I don't know where. I know in the slide decks that I used as Student Consultant the XBOX picture was shown under ".NET devices"...

I agree with your comment about opening up the SDK too. I tried getting the SDK for my User Group back at Stony Brook for research purposes, but there are some relaly strict licensing terms on it. I think it has more to do with NVidia than Microsoft though. They may not want the inner workings of the chipset revealed to too many people.
# August 26, 2003 4:46 PM

Dumky said:

How is Verisign involved in digitally signing the code? I thought Microsoft did the signing.

There are at least a couple of hacks to allow running un-signed code on tweaked consoles. Some involve some hardware modifications, while some others just involve memory cartridges with specific data.

It'd definitely be nice to see the consoles out there be more open (and not only the X-Box). Applications like the Xbox Media Player show the potential for allowing "unlicensed" developers on the platform.
# August 26, 2003 5:33 PM

Robert McLaws said:

Usually when you talk about Microsoft and "signing" it involves a VeriSign Certificate in some way. I don't know if it's true in this case, but <shrugs> it's probably a pretty safe assumption.
# August 26, 2003 5:39 PM

Blair Stephenson said:

Interesting Robert.

I had always pictured ADAM as a development and test environment for a normal deploy to a full active directory.

But if what you are saying is what I think you are saying, is that you can use ADAM as it's own store for users and then use it for authenication.
# August 26, 2003 6:42 PM

William Castroleone said:

Hi Robert,
I am a VB6 shareware developer migrating to VB.Net 2003. I love the new VB.Net because of the new wonderful features like security, encryption etc. I am thinking about telling my users in the download page to install the .net framework 1.1 required to run my software. My big concern is if the users are willing to download a 23 Megs file and install something that they have no idea what it is or how it works just to run my software?
I was looking for articles that explain how it will works and if Microsoft will incorporate the .net framework in the future versions of windows making this easy for us, but I couldn’t find anything.
Any advice will be very appreciated!
# August 27, 2003 9:14 PM

Ben Richardson said:

While your waiting have you seen SqlBuddy? I think they have some intellisense - http://sqlbuddy.sourceforge.net/
# August 27, 2003 10:04 PM

Shannon J Hager said:

SqlBuddy's intellisense isn't quite there yet, it is a start but far from perfect.
# August 27, 2003 10:38 PM

Scott Prugh said:

Mssqlexpress has this feature. It is great. Rumor has it that this is coming in Yukon.
# August 27, 2003 11:45 PM

Michael Hensen said:

Indeed it does also on my machine. XP 2003 server. Keep me posted on what it is please.
# August 28, 2003 3:21 AM

Simon said:

That would be an excellent productivity feature.
# August 28, 2003 3:50 AM

Mike Warriner said:

Looks like a suprisingly useful tool from the Microsoft Internet Explorer Administration Kit - http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/iexpress.htm, although it seems to be freely available on Windows 2000 and better. Since it's part of the IEAK, I'd guess it will be supported for a while by Microsoft.

Mike
# August 28, 2003 6:21 AM

TrackBack said:

# August 28, 2003 6:49 AM

Paul said:

QA's replacment, Yukon's SQL Workbench, supports what you are asking for. I would think if that tool supports it, then VS.NET Whidbey should support it too. Maybe not...

-Paul
# August 28, 2003 11:01 AM

Shane said:

Thanks for posting that. I had no idea about it.

It looks to be a self-extraction executable wizard.
# August 28, 2003 12:20 PM

TrackBack said:

# August 29, 2003 2:11 AM

Denny said:

I did not find any such command application with the name shutdown in my system. I use W2K Professional.
# August 29, 2003 7:38 AM

Shannon J Hager said:

keep us posted on the results of the added RAM and VMWare. If it works, I'll be making a RAM purchase next week (not from best buy, though... http://www.pricewatch.com will show me the way.)
# August 29, 2003 1:49 PM

TrackBack said:

# August 29, 2003 2:10 PM

Shannon J Hager said:

don't do it. Buy online and get 2 512 chips. If you get 2 256 chips you're stuck that that until you replace them both and then what will you do with the 2 you remove?
# August 29, 2003 2:12 PM

Phil Scott said:

The first RAM upgrade I did was also some old school SIMMs. I was pretty excited about adding 64mb of RAM. I ended up adding 128 :)

I assume this was Rambus? Stupid Rambus. I've stuck with AMD based systems recently. I like the Intel chips better, but cost and partnerships with Rambus turned my view on those systems sour.
# August 29, 2003 2:21 PM

Scott Glasgow said:

Robert, you know you really want 1GB of memory instead of 512MB. Break down, spend the cash. :)
# August 29, 2003 2:45 PM

Robert McLaws said:

Unfortunately, I don't have the cash to spare. I'm gonna get the 2 chips and have 1GB altogether. When I need to upgrade again.... maybe I'll post an ad in my blog ;). At this point I need the RAM immediately, and I'm low on funds. It will have to do for now.
# August 29, 2003 3:02 PM

Phil Weber said:

FYI: http://www.ftponline.com/dotnetmag/2003_06/magazine/columns/sqlconnection/figure2.asp
# August 29, 2003 5:38 PM

TrackBack said:

# August 29, 2003 5:55 PM

Dumky said:

It's kind of sad that this took so much time to get included :(

SQLbuddy (a C# project on sourceforge.net) already implements completion. I used it for a while, but I think it wasn't selective/smart enough on the auto-completion it offered. But it only is version 0.68 right now and the source is open, so I guess this should improve soon.
# August 29, 2003 6:43 PM

Phil Weber said:

Thanks, Robert! But you didn't link to my blog: http://www.philweber.com/net/ ;-)
# August 29, 2003 7:19 PM

Steve Clarke said:

I switched Outlook 2003 into "Permanently Delete" junk mail on August 19th. I've been running the beta for months and haven't had any significant email deleted. Go ahead and do it. You'll be glad you did. :)

http://steve.wedevelop.net/archives/000142.html
# August 29, 2003 7:31 PM

Randy Holloway said:

Agreed. This guy was pretty dumb also, having a public web site showing off his hacks.

Out of curiousity, how young do you have to be to be considered a "young adult"?
# August 29, 2003 8:37 PM

Robert McLaws said:

Um, yeah I did. It says (via Phil Weber) (with a hyperlink.
# August 29, 2003 9:10 PM

Robert McLaws said:

<shrugs> are you speaking in a legal sense or in a maturity sense?
# August 29, 2003 9:12 PM

Dave said:

Now, I agree. Honestly, I said a worm/virus writer deserves 15 years in prison no matter if he/she is 15 or 35 years old. No parole either.

But I completely disagree with something else here.

You speak of looking at the "damage" he inflicted. Then you go on to speak of "MS" this and "MS" that. Say what?

The costs to MS are actually well-deserved. It is the price one pays for being a market leader. It is the responsibility one has for being a market leader. Surely you don't suggest "MS" should not pay a price for writing a 'secure' OS (the implied contract here) and it is discovered their product has holes in it? "MS" never complained over the years when they gained a great market share. "MS" never complained when they maintained said market share either.... with .NET and eventually various things they are showing off at the PDC.

BTW, I didn't percieve "MS" to complain the last few weeks. They just did what any responsible market leader would who understands the price it takes to keep that market share.... work like the dickens to help out their customers. But I do perceive YOU to be complaining about it.... which isn't your usual style.

This 18 year old is _directly_ responsible for thousands upon millions of dollars lost due to his worm/virus. That money was NOT lost by "MS". That money was lost commerce and time by the millions of "MS" users. For this he deserves the slammer. Nothing sexy about what he did. Teach him and others like him a lesson.

But "MS" shares in the responsibility too. "MS" made the product everyone uses - and that product had holes in it. "MS" either bears it's fair share of the responsibility properly (which they have quite admirably) or else they pay a greater price.
# August 29, 2003 9:33 PM

Dave said:

Well, I now _do_ have an issue with you then Robert. With all due respect - and I mean that sincerely, I really think you have some of the best posts in the .NET blog niche - the attitude you've just expressed is completely abhorrent. Never - NEVER - forget who is the most important person in your business relationships. The customer.

Frankly, I'm glad "MS" doesn't use some of the words you just did... 'retarded', 'bitch-slap', complascent'. Instead, "MS" handled this mess of virii in a very exemplary manner. No whining about how they make quality products. No complaining over lost resources or time. No slamming of the people who put their hard-earned money into their deep pockets. Instead, "MS" just worked harder.

I wasn't talking about "MS" the omnipotent money-welding market leader either. I was talking about "MS" the business venture run by human beings who understand they have responsibilities that go along with the riches (monetary AND other) they've earned from their success. Human beings that understand that if they (a) shirk that responsibility or (b) start calling purchasers of their high-quality products 'retard' they will eventually LOSE that market share.

You spoke of maturity in an earlier comment here Robert. Normally you speak with maturity well beyond your chronological age. But twice now in this thread.... first when you spoke of "MS" this and "MS" that without mentioning even once the 500,000 computers and THEIR inconvenienced users, then now when you call those users retarded.... you spoke in quite an atypical manner for you.

I'm really not trying to make this personal, so I'll stop right here. I really do enjoy your weblog, and hope you reconsider the tone of some of the things you've said in this post.
# August 30, 2003 1:47 AM

Robert McLaws said:

Dave,

I really appreciate your comments. You are completely right.

I appreciate your comments about my age. Unfortunately today I had a short fuse (as you're about to read in my next post) and I let my mouth get the better of me. Another example of my age overriding my intelligence. Fortunately it does not happen too often.

And there you hit on the crux of my problem. My biggest struggle is not sounding like an arrogant asshole. I tend to do that, especially in situations like this. To me, keeping up with updates is common sense. And when people don't do obvious things (you make sure the alarm is on at your house every night, why can't you make sure your firewall is on and your system is patched?)

Most people agree, and do the common sense stuff. Sometimes tho, people just don't get it. You can dumb it down as much as you want, but people are inherently lazy and don't want to put effort into it. If they can't read it and understand it in 15 seconds, most people won't bother.

That is why I come off as an asshole a lot of times. People skim my blog entries and don't take the time to comprehend what I have to say. They pick up five words and go "gosh, this guy's a prick." and write me off. (Unfortunately for me, comments like I made earlier don't help that either).

Now, I have NEVER forgotten about the customer. I work every day for mine. I live, breath, eat, sleep, and die what they need. In this situation, however, it's a bit different. I feel that it is their own fault that their systems weren't patched. Microsoft can't go into everyones homes and walk you're hand-in-hand through patching systems. It's your computer, it's your responsibility. Correct, MS created the problem my opening a flaw. But when a fix is released for months and readily available, I'm sorry. I can't sugar coat it, I can't baby someone into feeling better about themselves. It's their own fault.

Sure, that may be a wholly arrogant and crude attitude. But look at it this way: If I know that there is a hurricane heading for a town, and I put notices on TV, on the radio, and blare vehicles with loudspeakers through the town, and no one evacuates, is it really my responsibility if they all die?

My point is this: It was MS's fault for allowing the hole to exist. It was the customers fault for not installing the band-aid. It was the kid's fault for exploiting the flaw in a negative way and costing EVERYONE time and money (including me). And it was my fault for not being clearer about what I meant earlier.

The blame does not always fall completely on Microsoft. Too often people will lay blame where it is most convenient, instead of where it belongs.
# August 30, 2003 4:04 AM

Dave Burke said:

I've been enjoying your saga of upgrading your memory. So true. Whenever I have upgraded memory over the past several years I photocopied the motherboard pages and read every spec available about the darn RAM SIMMS. Not a small task for something which so be a mindless purchase, you'd think. As for Best Buy, I'm a borderline customer myself. Last time I was there I had to call the manager and complain about something ridiculous.
# August 30, 2003 3:43 PM

Brian Desmond said:

Nothing proprietary there. That's pretty darn standard on the server front. ECC means Error Checking and Correcting. You want that stuff in a server. Pairs has been around since when you put 72 pin EDO simms in. It may be an ECC thing that requires pairs. I know my Compaq Proliant servers all need memory put into the banks in pairs.
# August 31, 2003 1:44 AM

Stephane Rodriguez said:


Ridiculous statements. Microsoft has since many years embrassed security as part of their marketing toilet papers.
# August 31, 2003 9:00 AM

Wayne said:

He is a real idiot if you ask me. No, he did not show how smart he was, just how damm stupid this jerk is. Maybe Daddy can get him out of this mess. I suspect he has had someone get him out all his life.
For the penalty! Start at MS, fix every computer there, move on to everyone he affected. Again, stupid, moron whatever, the damm kid grew up spoiled and now it the time to kick him in the ass and make him work for a living.
# August 31, 2003 1:08 PM

rfigueira said:

Hi friend ;) I will love to see that class (vb.net). I hope you finish that class, with new features, very soon :)
# September 1, 2003 5:15 AM

Dave said:

Thought I'd comment here instead of the old thread. :) And thanks for understanding the tone and intent of my last critical comment.

I'm not sure why, but the term 'educate the users' makes me uncomfortable. Guess it's because I think that genie left the bottle a long time ago.

Should we force a user to show their knowledge of firewalls and bug fixes and computer maintenance before allowing one to get an account with an ISP? Maybe we should force so-called professionals who work in profit-making enterprises to be more diligent in stopping traffic on various server ports and filter out email at the server?

Somehow I think the reality is - we simply cannot do either.

Okay, how about 'pure education'... my 82 year-old mom asked me something the other day. Seems I switched from IE to Outlook by clicking on the taskbar button. Her question: "How did you do that?" This from someone who got the computer as an XMAS gift back in December 2000! Now, how do you 'educate' her?

This is a very tough issue. In no way do I feel MS bears the brunt of the responsibility. But they do share in it. Oh, and they've gotten much better in improving things too. The fix for MSBLASTER did not require a reboot. I remember when such things were commonplace. My only wishes on MS are that (1) they change certain default settings in ALL installs of ALL products, (2) they release their software firewall they have for XP to all other OS versions for free, and (3) they redouble their efforts to release XP SP2 on a more timely basis than end of Q2 2004. None of these are that difficult to employ - surely not with a workforce of 55,000 and a focus on security.

The user is a constant. The user is also a cost of doing business. Just because auto makers put seat belts in my auto and my local goverment fines me $125 if they catch me not wearing it doesn't mean I actually use the damn thing. If the government wants me to be more safe from harm, they need to work with the auto makers to employ airbags, passive restraints, well-designed bumpers and suspensions that track well in various conditions. It's just the reality of things.
# September 2, 2003 6:10 PM

Jakub Skopal said:

Hi,
redgat sql compare bundle might be of your interest too... I use it a lot and I'm quite satisfied :-)

K.
# September 3, 2003 2:55 AM

Jakub Skopal said:

# September 3, 2003 2:56 AM

Roy Osherove said:

Good morning! Beyond compare has beem one of my favorites for a long time. You might want to check out araxis merge as well. They have slightly cooler UI, but less abilities. Still some people prefer them.
# September 3, 2003 3:34 AM

Chris Martin said:

A bit on the pricey side, but only usefull for SQL Server, is SQL Diff. I had the chance to use it once and would buy it in a heart-beat if I needed to do another SQL diff again.

http://www.lockwoodtech.com/index_sqldiff.htm

# September 3, 2003 4:25 AM

Mel Grubb II said:

Have you released this yet? I can't find a link to your "personal site", and a web search turns up a placeholder site with nothing in it.

Thanks
MG2
# September 3, 2003 8:44 AM

Scott Prugh said:

You can also try AdeptSql. It is the fastest I have found(we have almost 2000 tables). Lockwood's product is very good also. I can recommend both. The price on either is more than reasonable seeing what you get.

http://www.lockwoodtech.com
http://www.adeptsql.com/
# September 3, 2003 10:45 AM

n said:

windiff is a free tool that does the same thing....
# September 3, 2003 11:53 AM

William Bartholomew said:

A tool i've used since beta for comparing files is Visual Comparer... very nice.

http://www.nikeware.com/
# September 3, 2003 6:11 PM

William Bartholomew said:

The other thing you can do is download the Microsoft Exception Management Application Block and then you can just call:

ExceptionManager.Publish(exp)

By default it will write it to the EventLog but you can write you own plug-ins to do whatever (eg send emails, generate log files, write to the database). And it can all be configured in a simple configuration file.
# September 4, 2003 2:48 AM

Robert McLaws said:

I've heard that the EMAB is not very user friendly yet. In fact, I had a coleague try to write a plug-in for it, and he had a hard time cause it was so abstract. <shrugs> Maybe we need to revisit it again.
# September 4, 2003 2:58 AM

Scott Prugh said:

There is a big difference between Text differencing tools and SQL Differencing tools. To use text tools to synchronize and compare databases requires one to script all objects to text. Although this is doable, it could take hours if you have 1000's of objects(SQL-DMO is really bad is this regard). Also, you do not get a synchronization script.
These modern SQL compare tools go directly against the schema information for the comparable databases and produce reports AND synchronization scripts for the deltas. The compares are very fast because they bypass SQL-DMO(AdeptSQL and Lockwood).
# September 4, 2003 9:11 AM

TrackBack said:

# September 4, 2003 10:04 AM

Robert McLaws said:

Doing a text diff was not that bad... it only took me about an hour, and I was able to generate a synchronization script no sweat.

That being said, I'd rather use a SQL diff tool. Hopefully this functionality will be in Yukon.
# September 4, 2003 10:52 AM

TrackBack said:

# September 4, 2003 4:07 PM

Julien Ellie said:

That's really cool. You should definitly make some kind of RSS or webservice thing to expose this. It'd be awesome to integrate that kind of information on a website. If you think this is a good idea and need any help with the hosting or coding or whatever I'd be happy to help. My email is julien_ellie at hotmail.com
# September 4, 2003 5:16 PM

Robert McLaws said:

Yeah, I'm thinking I might sybdicate this separately somehow. Not quite sure how I'm going to control it tho. I might put it on a totally separate site, and then again I might bring it under my company's umbrella. We'll see what happens after we launch our new site next week.

I'm glad you like it, and thanks for the offer to help. I'll ping you in a few weeks when I'm ready to make it bigger.
# September 5, 2003 12:38 AM

Robert McLaws said:

I also left a note in <a href="http://www.haloscan.com/comments.php?user=scoble&comment=4429">Scoble's comments</a> on a system for MS to disseminate messages directly to the desktop in a secure manner. Maybe that will help in the Longhorn time frame. I dunno. All I know is, I know I'm not doing enough. Even my new <a href="http://weblogs.asp.net/rmclaws/posts/26297.aspx">Patch Day Review</a> is not enough. Unfortunately, I don't know what would be.
# September 5, 2003 1:23 AM

Chris Martin said:

I realize that your probably an IE type of guy but, it's kinda broken-ish in Mozilla.
# September 5, 2003 1:33 AM

Robert McLaws said:

Yeah, it's broken all over the place. I hate it as it is right now. Gonna try to fix it up this weekend, and then I'll install all kinds of different browsers in VMWare and test all my sites out.

Thanks for the tip though... much appreciated :)
# September 5, 2003 1:59 AM

Chris Martin said:

No problem. If you need any help, shoot me an email @ ghettoblaster@co-=x=-.net. I love screwing with this stuff!
# September 5, 2003 5:03 AM

Thomas Freudenberg said:

I have a Netgear 611WGR, a WiFi DSL router, which support UPnP, i.e. I don't have to forward any ports to Windows Messenger. Instead, the messenger tells the router which ports it requires.
# September 5, 2003 6:18 AM

G. Andrew Duthie said:

I have a D-Link 802.11b/g Router with a 4-port switch, a stand-alone 5-port switch from D-Link, two D-Link PCI 10/100 cards, and a D-Link wireless PC card. I've had no problems with any of them, and I've found D-Link to be, by far, the easiest to configure. The wireless router works fine with both the D-Link card, as well as with the built-in 802.11b in my Dell laptop.

OTOH, I have had more problems than success with Linksys products (though it's been a couple of years since I've used them).

Also, turning off Broadcast SSID is NOT a security measure. The SSID is sent as a part of other types of requests, so it's not possible to hide it entirely. All you're doing by turning off the broadcast SSID is causing more traffic when dealing with roaming computers. If I can find the article I read on this, I'll post another comment with the URL.
# September 5, 2003 8:07 AM

G. Andrew Duthie said:

Here's the link:

http://www.tisc2002.com/newsletters/416.html

I also found an interesting "blackpaper" on Wireless Security at:

http://www.arstechnica.com/paedia/w/wireless/security-1.html

One of the interesting (and counterintuitive) things in that article is the advice to not use Shared authentication (which only allows wireless devices with the correct WEP key to connect). I was using shared auth, on the assumption that it was more secure, but I'll want to do more research on this to make sure that's not a bad idea.

# September 5, 2003 9:11 AM

G. Andrew Duthie said:

Last, but not least, I should point out that if you've only got one AP, there's probably no reason not to disable broadcast of the SSID, since it won't impact your performance if you don't have users roaming from AP to AP. But while that will make it a little harder for a casual war driver to find your network, it still really doesn't count as security, since the SSID is easy to obtain using other means.
# September 5, 2003 9:16 AM

Scott Watermasysk said:

I was talking about this last night.

I personally would stay away from the RSS/Atom debate and focus more on how can the tools that exist today help the .NET communtity (and will get better as others contribute), and what tools/improvments can be made to enhance the community's future.
# September 5, 2003 10:18 AM

Scott Johnson of Feedster said:

Hi,

I'd love to go and pitch in but affording the pdc is hard. Sigh.

Scott
# September 5, 2003 10:25 AM

Robert McLaws said:

Andrew:
Any measure that reduces your overall attack surface is a good one. Yes, turning off the SSID may not be a security feature, but leaving it on makes connecting to your network just that much easier. You can configure your WiFi card to connect to that SSID auromatically without having to discover it.

Also, this configuration was for a personal home use kinda thing. Typically in that situation no roaming is involved, so you don't need to worry about the excess traffic.

And I don't use WEP, cause it can be sniffed out. Use the system that I just configured, then set up your hard-wired computer as a VPN server, and dole out addresses that way. Then you don't have to worry about it, cause the communication is encrypted, and your Windows box manager authentication.

Thanks for the links, I'll go check em out.

Thomas: Yeah, but did you know that there is a security hole in UPnP that caused Microsoft to turn UPnP off by default in Windows 2003? It's really great and all, but how dows that stop a Trojan from getting out of the firewall and accessing the net? No thank you, I'll keep my router hardened and control who gets in and out myself.
# September 5, 2003 10:33 AM

Robert McLaws said:

Not a debate so much as a discussion on the differences. That is specifically why I did not say Atom v. RSS. We won't let it get to a war, but people need to be educated to the differences, and let them make their own decisions.

Besides, I don't think Winer will be there, so I think the conversation will stay pretty civil ;).
# September 5, 2003 10:40 AM

Dustin said:

Great post, Robert. I agree 100% with the D-link comment. I have some older access points that are quite difficult to configure and won't work with their newer stuff. They worked ok out of the box, but if you want "advanced" features like WEP, it was very difficult to configure. Don't bother calling their "support", either. I had one of their guys hang up on me, and the other told me that I must have installed XP wrong.

-Dustin
# September 5, 2003 10:53 AM

Phil Weber said:

Yes, but the hyperlink under my name points to the .NET Magazine article.
# September 5, 2003 11:29 AM

Scott Watermasysk said:

But what I am saying is that most people do not need to know the difference.

I am game for anything, but I would focus on what blogging can do...for the community, idividual...NET.
# September 5, 2003 11:31 AM

Carlos Aquino said:

Hi Robert,

We are starting a security page on http://www.only4gurus.com/v2/security_report.asp since the Blaster Crisis and I believe that your post could be a good content. While you don't start to syndicated it, can I use the post somehow? I would put a link back to your site (or blog), off course. Please, reply to caquino@only4gurus.com .
# September 5, 2003 12:56 PM

G. Andrew Duthie said:

Robert,

You wrote:

"Yes, turning off the SSID may not be a security feature, but leaving it on makes connecting to your network just that much easier. You can configure your WiFi card to connect to that SSID auromatically without having to discover it."

I'm aware of that, and I agree that reducing the attack surface makes sense where possible. But many people (including manufacturers) tout disabling the Broadcast SSID as a security feature, when in fact the SSID can be easily had by other means. Not much of a security feature, IMO. But nonetheless, it's still worth turning it off if you're not worried about any additional traffic it might generate.

You also wrote:

"And I don't use WEP, cause it can be sniffed out."

Granted, you may get better results with your VPN solution, but why not use WEP as well, since it at least raises the bar for casual access? No, you shouldn't rely on WEP if you want to be completely secure. But as with the Broadcast SSID, each additional step a would-be attacker has to take is potentially useful in defending your network.

# September 5, 2003 1:48 PM

Robert McLaws said:

Extremely valid points, and it does seem like I am kind of contradicting myself. In my experience, WAP is a real PITA for end users (lay people) to deal with. So in weighing the benefits vs. effort required, I chose to say no to WEP and wait for WPA. WAP just does not add that much security for the hassles, and it is super easy to break.

It might behoove me to mention too that this was not designed for you guys as much as it was for lay people. Yeah you might have the patience to deal with the problems that come up trying to implement WAP. My mom wouldn't. I really tried to write it as if my mom were reading it (she's fairly computer savvy, so it's a good target for me. If my mom can start understanding my writing I can then move down and try to get my sisters too.)
# September 5, 2003 2:12 PM

Mr. M. Mouse said:

Disney tries to shuttle the critically injured off site so they can say that there have been no deaths on the property. In this case, the person was definately dead at the scene. The list below is SOME of the accidents that have happened at Disneyland.

Here is a link to Disney's Park Safety Site:
http://www.disney.go.com/parksafety/

Here is a list of accidents since 1990 @ Disneyland:

Disneyland accidents since 1990
The Orange County Register

May 5, 2001: Jeanne Gill, 73, suffered a fractured pelvis when a 20-foot oak tree fell in Frontierland. The tree smashed into a popcorn stand and injured 27.

Feb. 1, 2001: Melanie Hershock, 33, fell and hit her head on the plastic benches of a Pirates of the Caribbean boat when the boat jerked forward as she was exiting.

Jan. 21, 2001: A 6-year-old girl lost part of finger on a toy gun on Tom Sawyer Island.

Dec. 21, 2000: A 15-year-old Arizona boy fractured his foot on the Alice in Wonderland ride.

Sept. 22, 2000: Four-year-old Brandon Zucker was critically injured on the Roger Rabbit's Car Toon Spin ride after being trapped under one of the ride's cars.

July 31, 2000: A German tourist suffered a sprained foot and eight others received bruises after a wheel-support arm on a Space Mountain car came loose, causing the vehicle to skid and halt abruptly.

April 18, 2000: A 13-year-old Lake Forest girl's foot was caught under a car on the Roger Rabbit's Car Toon Spin ride. She was treated for minor injuries.

Dec. 24, 1998: Luan Phi Dawson, 33, DIED and a woman suffered head injuries after they were hit by a metal cleat that came loose from the Columbia sailing ship. A Disneyland employee also was injured in the accident and had surgery on an ankle.

January 1998: David Fackler, 5, suffered a serious foot injury on the Big Thunder Mountain Railroad. His toes were later amputated.

April 17, 1994: A visitor fell 20 feet from the Skyway ride, tumbling into a tree.

March 31, 1990: A 13-year-old Canadian girl was injured when a support arm on the Dumbo Flying Elephant ride collapsed.

OTHERS: Regina Patino settled a lawsuit before trial in May 2002, alleging that she suffered permanent bodily injuries because of the Indiana Jones ride. (On June 21, 2001, Deborah Bynum of San Diego settled a lawsuit out of court alleging a brain hemorrhage was caused by the Indiana Jones ride Nov. 28, 1998. A similar lawsuit filed by Zipora Jacob of Los Angeles – for a brain injury allegedly caused by the violent shaking of the ride – was settled out of court June 1, 1999.)

http://www2.ocregister.com/ocrweb/ocr/article.do?id=55601&section=BREAKING_NEWS&subsection=BREAKING_NEWS&year=2003&month=9&day=5

# September 5, 2003 7:02 PM

G. Andrew Duthie said:

Wait...you don't expect lay people to be able to set up WEP, but you *do* expect them to be able to set up a VPN!?! Come on, Robert...surely you jest. First of all, lay persons may not even have the necessary hardware and/or software to set up a VPN, and beyond that, many wouldn't have any clue how to set one up if they did.

So if they're not using WEP, and they're not able to set up a VPN like you did, they're basically sitting there with their wireless network open to anyone who wants to come along and use it.

What I find really funny about all of this is that I've yet to hear wireless AP manufacturers blamed for making it easy for people to get hacked, despite the fact that on most wireless routers and APs, the default settings are completely insecure. Sure, most of them default to NAT and use firewall settings to block traffic from the WAN connection, but that's not much help if someone can easily connect to your WLAN on the default settings. Given how much crap Microsoft gets for their insecure defaults, I have to wonder why there's not more noise about this. Probably because people recognize that it would be next to impossible to sell an AP with completely secure defaults that would still be useful.
# September 5, 2003 7:05 PM

Paschal said:

I am not sure to fully understand the last sentence of your post, are you saying that you are a more important person than this unfortunate man?!?

I would believe it's a mispelling.
# September 5, 2003 7:58 PM

Robert McLaws said:

Between you and Andrew, I swear man you need to quit taking everything so pessimistically.

Funny, I never used the word "I" in the sentance in question.

NO, what I said was, seeing as how it was Labor Day, a lot more people could have been hurt. Oh wait, that's right. You don't celebrate Labor Day.

I dream of the day that you have something nice to say in my blog. I'm not holding my breath though.
# September 5, 2003 8:04 PM

Robert McLaws said:

Again, good points. If you notice, the VPN part was not a part of the initial setup procedures I discussed. It was a response to your query. Had I intended VPN to be a part of the discussion, it would have been included in the tutorial. Note that the comment was specifically targeted at you.

Now, I invite you to go back to that blackpaper link you pointed me to. Click it. Now, try actually reading it this time. Don't just skim it and use it for a rebuttal. COMPREHEND it. You'll find striking similarities to things I said. You'll also find parts where it talks about turning off the SSID, and filtering MAC addresses, and so forth. Yes, it does say that these methods are not 100% secure. I never said they were. I did say they were pretty effective most of the time. Which is exponentially better than nothing.

And on that note, I think I'm finished on this topic. I posted this to help out someone who wanted my advice, not to have a lengthy discussion about WiFi security. For the target audience, my tutorial was adequate and accurate. If you need to implement WiFi in a corporation, look elsewhere. That was not the point. Scoble's house is not a multinational corporation.
# September 5, 2003 8:18 PM

Roy Osherove said:

Congratulations on a great idea and an even better implementation!
# September 5, 2003 9:07 PM

Robert McLaws said:

hey thanks :).
# September 5, 2003 9:09 PM

Rob said:


Robert, I had a similar, stop and makes you think, experience last Sunday.

I was out flying a plane I had rented and had just flown over my house and was jazzed as it was the first time my wife has seen me fly a plane (she was out on the deck) when I had a complete avionics power failure and the battery was drained. The engine was still running fine on the magnetos but I had no radio and no flaps and had to make a precautionary landing at a small air strip where I really needed to nail the landing (because of no flaps and the short length of the field).

Now this wasn't a huge deal because of my training and the fact that the engine wasn't affected, but you can bet when the plane came safely to a stop on the runway, I had one of those moments!...so I know exactly what you are talking about.

Rob
# September 5, 2003 9:32 PM

Toby J Boyd said:

Before I even add my .02 I want to say thanks to Robert McLaws, this "thread" put me down a path that eventually ended in success.

You are all 100% more advanced than I am and have likely moved on, but I had the exact same problem with the memory stream. I decided to stick it out. The key I found was to use

ToArray(); Rather than GetBuffer;
Here are parts of the code I used, I apologize for the sloppiness.

#creating the xmltextwriter
ms = new MemoryStream();
xmlw = new XmlTextWriter(ms, new System.Text.UTF8Encoding());
xmlw.Formatting = Formatting.Indented;

#turning the memorystream into a byte[] array so I can pass to to my socket later
byte[] _message = ms.ToArray();
#This is pivitol, using ms.GetBuffer() results in the extra padding that exists in the memorystream.

#now how I wrote it to file, I test was if it opened in IE (which uses the MSXML parser, then the java server on the other end using sax would be happy)

Stream outputStream = File.OpenWrite(@"c:\zplease.xml");

outputStream.Write(_message,0,_message.Length);
outputStream.Flush();
outputStream.Close();


I hope this helps someone, because it has driven me up the wall for about 4 hours.

My Guess is that Joshua Allen's solution works because he used the Stream Reader on the MemoryStream. I did not try his solution though.




# September 6, 2003 11:28 AM

TrackBack said:

# September 7, 2003 7:57 PM

Paul Wilson said:

Check out my web service -- it uses my master pages and looks just like the rest of my site:

http://www.wilsondotnet.com/Demos/WeatherWS.asmx
# September 9, 2003 6:32 PM

Scott Cate said:

Thanks, these things really help
# September 10, 2003 1:58 PM

Dumky said:

It is amazing the number of blogs that don't set the title correctly, even though it helps the readers and indexers (and thus the author too ;-).
I mailed to Scott (of weblogs.asp.net) and he said he'd probably fix that in .Text in the next major release.
# September 11, 2003 8:11 PM

Dave Burke said:

That was a beautiful post. Well said and thank you.
# September 11, 2003 9:05 PM

Michael Slade said:

Robert,

I am willing to help you put on this BOF.
# September 11, 2003 10:22 PM

Robert McLaws said:

:) Glad you liked it.
# September 12, 2003 12:42 AM

Michael Favro said:

You are the most articulate early-20-something that I've ever had the pleasure of meeting. Well said, and keep it up for those of us who can't quite say it as well!
# September 12, 2003 4:13 AM

Robert McLaws said:

Wow. Thank you Michael. I really appreciate that. You made my night.
# September 12, 2003 4:29 AM

Rachel Reese said:

that is way cool.
# September 12, 2003 1:27 PM

Scott Glasgow said:

Robert,

You could try SecureWebs. I used them about 4 years or so ago, so I don't know how they are now, but at the time they provided very good service.
http://www.securewebs.com/Windows+dedicated.html
# September 12, 2003 1:46 PM

Brian Goldfarb said:

Check out http://www.asp.net/hosters/
It has a solid list of hosters that we are working with, you can probably find someone to meet your needs there.

-Brian
# September 12, 2003 1:55 PM

timh said:

www.serverbeach.com -- lowest dedicated hosting available...
# September 12, 2003 1:59 PM

Scott Watermasysk said:

I have had good experiences with http://securewebs.com

I run all of my sites off a dedicated box there now.
# September 12, 2003 2:03 PM

M. Keith Warren said:

www.discountasp.net

Cheapest...
# September 12, 2003 2:11 PM

Martin Spedding said:

Hi,

you could try http://www.crystaltech.com

I have always found them very responsive and they provide an excellent service.

Martin

# September 12, 2003 2:53 PM

TrackBack said:

Builder.com - Developing Components: Assembly Identification
# September 12, 2003 6:05 PM

TrackBack said:

Don Box
# September 12, 2003 6:11 PM

TrackBack said:

Six Apart
# September 12, 2003 6:12 PM

TrackBack said:

Scobleizer Weblog
# September 12, 2003 6:13 PM

TrackBack said:

Basic .NET: Framework Compatibility Issues
# September 12, 2003 6:14 PM

TrackBack said:

Lorenzo Barbieri
# September 12, 2003 6:15 PM

David Knight said:

Whatever you do, don't try aspwebhosting. One day they decided I was using too much cpu time and suspended my account. Those bastards took my site offline, removed my email account, and refused to let me get even backup of sql-server data. The loss of time and effort combined with damage to my business is unforgivable.
# September 13, 2003 1:12 AM

MikeWo said:

I second Martin's recommendation of CrystalTech. Over the past three years they have consistently increased their offerings and features while my cost has gone DOWN! They actually lowered the hosting cost on ALL of their plans when they released a big upgrade to their control center application. I don't have a dedicated plan there, but you might check them out. They are VERY reseller friendly as well.
# September 13, 2003 9:35 AM

Nino Benvenuti said:

I will support Mike (Hi Mike!) and Martin's recommendation of CrystalTech. Features are great, cost is good (gone down!), and service is excellent.
# September 14, 2003 2:04 PM

Jerry Dennany said:

Robert,

Comparing racial bigotry with dislike for a distinct corporation and its practices probably was:

1. Not the smartest thing to do.
2. Not particularly on-point.
3. A flawed analogy.

You are comparing racial stereotypes with an individual corporation. While racial stereotypes are likely baseless, the dislike many people have for Microsoft is usually based on personal experience.
# September 14, 2003 8:35 PM

cameron said:

Yup, if you disagree with Microsoft, you're a racist. Good one!
# September 14, 2003 8:56 PM

TrackBack said:

# September 14, 2003 11:01 PM

Robert McLaws said:

"does not mean that old viewpoints don't stick. Take another old viewpoint for example: Some people still think black people are inferior to white people. Some people will go to their grave with that belief. And there is nothing you can do to stop it."

I think you both misread my post. You might want to read it again. The emphasis was not on racism. The emphasis was on the belief, and how it is hard to change beliefs. I chose one that was easy to understand. Don't take it out of context.
# September 14, 2003 11:05 PM

Shannon J Hager said:

It all boils down to "us vs. them". For the *nix crew, MS is "them". Logic, understanding, etc, isn't important when the only goal is for "us" to beat "them". That is the same thinking that backs racism, nationalism, American politics (unfortunately) and football.
It is okay and harmless (for the most part) in football, but in the rest of the cases, it does more harm than good.
# September 14, 2003 11:21 PM

Dave said:

"Scoble told me recently that it would take a decade for MS to recover from the damage MSBlaster and its variants did to their reputation."

This evokes several reactions from me.

First off, IMHO MS is to blame for MSBlaster and the damage it caused. Yeah yeah they put a patch out a month before, but I'm speaking about the _real_ blame here: a solid decade of work where security was a distant second (or worse) priority to functionality/interactiveness.

Second, I have and will continue to applaud MS for how they accepted their part of MSBlaster and how they responded with what I thought was genuine concern - for once willing to put their resources where their marketing mouth is.

Third, I have and will continue to be critical of MS for their unwillingness to release coherant upgrades/SPs/patches to their existing products because they are so damn focused on products with release dates 2+ years off. If you want to talk about damage to their reputation, look here first. What are non-commercial users and non-developers to think as they discover XP SP4 is being released nearly 9 months late? Or that IE and OE will not have any future releases?

Finally, I feel - and obviously many planners at MS do too - that Scoble is overestimating things here. MS' reputation will recover from the MSBlaster damage quickly and decisively in some 2+ years when Longhorn is released with the same kind of public acceptance that Win95 had.

What does this mean in regards to _my_ 'beliefs' regarding MS? Um, like most everything in life - mixed, with much more grey than either black or white.
# September 14, 2003 11:54 PM

Robert McLaws said:

Just so that you know, MS is releasing a "Security Rollup" pre-SP2 package with 22 patches in it.
# September 15, 2003 1:07 AM

Robert McLaws said:

BTW Dave, it's always great to see your comments. Thanks.
# September 15, 2003 1:08 AM

cameron said:

Robert: "Some people will go to the grave thinking that anyone who works at Microsft should rot in hell."

I've never met anyone that thinks that way, although I've met a lot of people that disliked Microsoft business practices, Microsoft products, or both -- sometimes irrationally so. That's not to say that there could not be some 12 year olds on /. that think just what you wrote, but what are *you* doing (a) wasting time worrying about them and (b) wasting time pretending to defend Microsoft from them?

It's like a siege mentality, except there's no one outside the gates.
# September 15, 2003 8:17 AM

timh said:

# September 15, 2003 2:48 PM

TrackBack said:

# September 17, 2003 3:10 AM

Jonne Kats said:

Red alert, battle stations...
# September 17, 2003 3:46 AM

julie said:

are gentials and fallicly an attempt to make sure google doesn't pick up your blog when people actually search on the properly spelled versions of those terms? :-)
# September 17, 2003 3:40 PM

Robert McLaws said:

Actually yes :-D. The last thing I want to to be blocked by some kid content filtering program or rating system.
# September 17, 2003 3:56 PM

Robert McLaws said:

Fixed. Thanks Julia.
# September 17, 2003 3:59 PM

Duncan said:

I think you should always assume that your data is not safe regardless of what database it is on and act accordingly.
# September 17, 2003 6:00 PM

Robert McLaws said:

Well, of course, but how are you gonna protect yourself from a buffer overflow?
# September 17, 2003 6:09 PM

Dan Bright said:

I agree Robert. In the last 2-3 days Ive seen posts on /. about a remote sendmail exploit, AND a remote SSH exploit, but they were both mentioned as almost in passing.

Compare that to the hoopla surrounding the RPC vuln...
# September 17, 2003 6:37 PM

Daniel O'Connell said:

Ya know, a year or two back redhats rpc.statd had a buffer overflow that allowed for rooting of the box.
I saw personally saw more data loss and more people infected by that than I did blaster, although blaster did infect a great deal more than I suspect the entirety of the linux user pool.
These machines were, instead of being used in DDoS rings, being used as pirated file distribution centers, open proxies, eggdrop bots, launch platforms for additional, more intrusive exploiting and other such things.

Still...I had to spend a while researching to figure out what was going on, several of the machines were cleaned up before I saw any mention of it in the mass media.
# September 17, 2003 6:56 PM

julie said:

so why did you change it? Now you will be the favorite porn .net blogger on google! :-)
# September 17, 2003 7:16 PM

Joe said:

"How do you know when you've won? When the company that you are trying to be better than starts copying you."

That couldn't be true or we could have concluded Java as the winner a long time ago.
# September 17, 2003 8:11 PM

John said:

You "KNOW" your data is safe in SQL Server. How? Have you personally reviewed every line of code and verified there are no bugs, no security holes?
Sounds to me like a classic case of burying your head in the sand.
Taking such an extreme position is as bad as any Microsoft-bashing statements from the Linux community.
# September 17, 2003 8:36 PM

Robert McLaws said:

How is knowing my data is safe an extreme position? I know it's safe in SQL Server based on it's track record. The funny thing about knowledge is that it changes from day to day. What I know today may be different tomorrow. It usually is. But that's ok. It's not extreme.

And I am the last person on earth you will ever find burying their head in the sand when it comes to technology.
# September 17, 2003 9:01 PM

Robert McLaws said:

I would agree, but .NET is not a copy of Java. Microsoft has always been about being simple for developers. It took MS kicking their butt at the powerful stuff for Sun to start going after simplicity.
# September 17, 2003 9:03 PM

Cameron said:

The problem for Microsoft is that 90% of the world's population is looking for an alternative to Windows, primarily because they can't afford it or don't want to buy it. That means unless Microsoft makes Windows very affordable and attractive to the world outside the US borders, .NET will die (not literally, but it will not thrive, which for a proprietary development platform like .NET is market death) because those billions of people that will be running Lindows or whatever are all consumers, and a developer using .NET automatically will lose many potential customers.

While that doesn't mean much to the US VB.net developer getting paid $100k to write Windows apps to integrate Excel and SQL Server yet again, it makes a huge difference to the developers making $3k or $10k a year elsewhere in the world selling their software and services for a fraction of what we think of as "the sustenance level".

I don't know if Java (maybe) or Mono (doubtful) or what will be the solution of choice. Hopefully something better than either, and probably not a step backwards into the proprietary-land that .NET represents.

Peace.
# September 17, 2003 10:30 PM

Ray Jezek said:

In this game, as soon as someone says the've won, they've lost.

You just can't stop... ever.
# September 17, 2003 10:52 PM

Robert McLaws said:

Agreed, Ray. And MS is not stopping. You should see Whidbey, Longhorn, and Yukon.
# September 17, 2003 11:46 PM

Arkitect said:

Quote: IBM's DB2 Database program for Linux has an easy to exploit buffer overflow vulnerability

Note: It is not Linux that is vulnerable, it is IBM's program that is vulnerable.

Quote: MSBlaster was only a nuisance

Note: If MSBlaster used the exploit to the maximum, it could have erased all the data from a computer.

Just curious, are you just missing out these facts or are you deliberately trying to spread Fear, Uncertainty and Doubt ?
# September 18, 2003 6:14 AM

Robert McLaws said:

The vulnerability only manifested itself on the Linux version. If you took my statement to read that it was a Linux issue, sorry. My statement meant that buffer overflow issues son't just happen on Windows.

Blaster could have been worse. It wasn't. It could (possibly) have deleted data if it had fully exploited the vulnerability. It didn't. I was speaking to data store vulnerabilities, not OS vulnerabilities.

You call it FUD, and that's you're perrogative. I call it awareness. Plain and simple.
# September 18, 2003 11:20 AM

Ray Jezek said:

I hope i get to see them soon! I should know soon enough.
# September 18, 2003 1:25 PM

Stephane Rodriguez said:


Any figures of .NET adoption in the corporate world? Just curious.
# September 20, 2003 4:31 AM

Robert McLaws said:

I can find out. I saw some at one point when they were talking about Windows Server 2003 adoption.
# September 20, 2003 4:38 AM

brady gaster said:

[insert words here]

(as in, i'm speechless)
# September 20, 2003 5:05 PM

TrackBack said:

# September 20, 2003 5:37 PM

Don said:

Thats funny... I thought I was the only one with the closet addiction of checking my referrer log religiously... I'm like an addict. I click on all the google links to see what people were searching on...

Hell, I'm just stoked people take the time out to read my brain dumps!
# September 20, 2003 6:19 PM

Robert McLaws said:

Agreed :).
# September 20, 2003 6:26 PM

Shannon J Hager said:

If Hotmail and Outlook sent a referrer when a user clicked the link in an email, you'd have a few more in your stats, Robert. I've emailed at least a couple links to your posts.
# September 20, 2003 6:35 PM

Brian Desmond said:

I look at mine sometimes too - I've taken to using Google searches as inspiration for blogs. People search for stuff that I don't have (but click through)...

--Brian
# September 20, 2003 8:52 PM

denny said:

some do that now....

here is the real problem:

many servers relay, some times for good reason.
and even if the reciver tests the IP Vs. MX one error will bounce good email.

My idea: make server operators pay for the traffic the exchange, so if my server gets hundreds of emails from your server you owe me cash money, telco's do this and use in/out
to say if you and I each swap 100 then the payments cross cancel.

this would do several things:
a) every email server sending email would care about the "proof" of the email as coming from a valid user and going to some other server.
b) every reciving server could stop accepting email from a non-paying server.

this takes the word "SPAM" out of the conversation and makes it very easy to regulate UCE -- as it's now "did you pay the bill?"

get it?
# September 22, 2003 2:03 PM

Mathew Nolton said:

I agree. That article is a real nimrod who hasn't done his homework

<cite>
"Contrary to Microsoft's claims, open standards does not necessarily mean open environments. Microsoft's Steve Ballmer has said that .Net delivers benefits as a Web services platform through XML (Extensible Markup Language) connectivity extended across clients and servers. The problem with that simplistic view is that while XML and Web services break down barriers when used with open standards, .Net creates insidious new barriers by promoting vendor lock-in for customers.
</cite>

What barriers. If he is talking about writing Java code on a Windows box. If so, nothing is stopping him. Who says Microsoft has to adopt Sun's standards of Java anyway. duhhh. Furthermore, if he is talking about writing webservices with .net that interoperate with other "java" platforms. They do interoperate. If he is talking about interoperating following WS-Security specification. They do. I just went through a whole proof of concept that proved java could interoperate with our webservices using WS-Security. There are no "insidious" barriers using .net based webservices.

This article and this nimrod really got me fired up. I will have to blog about it later
# September 22, 2003 2:19 PM

Scott Galloway said:

I know you're not into flamewars...but if .NET doesn't run on Linux - I'm seeing things...as I have it running on Linux (Mandrake 9.0) right now with some fairly heavyweight apps. MONO 0.26 is VERY stable and runs *most* .NET apps without any modification.
It's what VMWare was made for (also really annoys my Unix guru friends when I show them a GTK# app :-)
# September 22, 2003 2:59 PM

Mathew Nolton said:

Not into flamewars either. But who says that .Net needs to run on Linux anyway for interoperability of webservices? Take this quote for example:
<cite name="bob cancilla">
Redmond's approach to Web services is a dead-end of closed, Windows-only systems that lock customers into a single computing model. Customers don't have the freedom to choose the best hardware or operating system. Where does that leave the millions of users who rely on non-Microsoft platforms such as mainframes, Unix or Linux?
</cite>
This statement is a moronic statement and wholly without forthought.

If you are writing a webservice on a Microsoft platform, then use .Net or use BEA WebStudio or IBM WSTK 3.3.

I actually like the Java language, but who says that its Microsoft's responsibility to provide it. Or provide an implementation of their tools on Linux. The questions are:
1) Can Java tools run on Windows platform effectively?
Answer) Yes
2) Can Webservices created with .Net interoperate with Java based systems without any special coding?
Answer) Yes

Everything else is academic.
# September 22, 2003 3:27 PM

Jerry Dennany said:

It's considered 'bad manners' and sometimes breaks contractual obligations to resolve IP addresses that you do not 'own'. And we are talking owning in the sense that you own an IP block, not just that you have a semi-permanent "static" IP from your DSL or cable internet provider.

There's actually a new Internet Draft for an SMTP replacement called AMTP. It's an interesting read:

<A HREF="http://amtp.bw.org/">http://amtp.bw.org/</A>
# September 22, 2003 4:02 PM

Robert McLaws said:

I mean, take my company for example. My e-mail address is robert at interscapeusa.com. Now, under this idea, I would have to register my home machine IP in my interscapeusa.com DNS settings, so that the mailserver would query the DNS to make sure my IP is listed as one of the members of that domain. If it's not, it won't let that address be delivered because it does not match the records.
# September 22, 2003 4:10 PM

William Bartholomew said:

Astaro lets you do something along these lines by:

a. Checking that the domain actually is a mail server (often they aren't)

b. Checking that the from address is a recipient on that mail server

A great product, I HIGHLY recommend it. It's free for home use.
# September 22, 2003 5:40 PM

Robert Scoble said:

Do you have an agenda? We should start thinking about things we should talk about.

Also, there'll be a separate weblog event during the big party. More info will come on that soon.
# September 22, 2003 6:55 PM

TrackBack said:

# September 22, 2003 6:58 PM

Robert McLaws said:

Someone helped me brainstorm ideas for the session, but I don't have anything down for an official agenda yet. That is what the BWG (The BOF Working Group, namely you and everyone else that wants to help) is gonna figure out.
# September 22, 2003 7:02 PM

Ugly Troll said:

Uhh...The Open source crowd resemble Republicans (lower taxes - software is free !, less government - no more MS !) and Microsoft is more of a Democrat (desktop computer for everyone !) company.
# September 22, 2003 11:25 PM

bobbyd said:

I agree!
# September 23, 2003 12:34 AM

Robert McLaws said:

Well, I was going more for how they are portrayed in the media then the actual ideal, but I think you get the drift. And I think MS is very Republican.
# September 23, 2003 3:17 AM

gerrard said:

Um, how do I know when/where this is? It's probably on the PDC site somewhere, but I'm lazy.
# September 23, 2003 11:49 AM

TrackBack said:

# September 23, 2003 5:13 PM

Harris Reynolds said:

Yes, the article was not corroborated very well. Furthermore, the author mixes two orthogonal topics: [1] The openness of the .Net *platform* and [2] the MS implementation of web services. Two totally different topics.

There is alot to topic [1]; the .Net BCL is obviously a proprietary MS API, but C# is a wide open standard submitted to the ECMA. Anyone can implement C# which makes that element completely open (i.e. Mono); it'll be interesting to see how MS responds to Mono's exact copy of their API. Some good discussion of the openness of .Net can be found here: http://www.burtongroup.com/weblogs/annethomasmanes/

Regarding topic [2], the MS web services stack is fantastic and likely the most *complete* implementation of open standards available. Additionally it integrates well with Java products like GLUE.

# September 23, 2003 9:31 PM

TrackBack said:

# September 23, 2003 9:48 PM

Scott Galloway said:

Have to wonder if it's a 'protecting the public' type thing or if it's to avoid litigation...
# September 24, 2003 3:51 AM

Greg said:

we welcome him back to the east with open arms
# September 24, 2003 4:00 PM

Robert Scoble said:

How about we do both?
# September 25, 2003 2:18 AM

Christophe Lauer said:

Do you mean that the PDC is over-hyped? ;-))
# September 25, 2003 3:34 PM

Robert McLaws said:

No, I mean that bloggers can't talk about anything more than programming at blogger parties. I would like to get to know people outside of their job too ya know ;).

Of course I'm just as guilty... I talked to Paul at Xheo.com for 3 hours sitting outside Downtown Disney and all we talked about was code.
# September 25, 2003 4:47 PM

Lorenzo Barbieri said:

The comments on the other blog are corrupted.
Missing email module...

Welcome back!
# September 30, 2003 2:27 PM

Robert McLaws said:

What did it do?
# September 30, 2003 2:36 PM

Denny said:

Hmmm...... some kind of "Executive Overview" from the MS web site as a start ??

Aside from that ..... WOW kinda like looking for a book on x86 for non assembers :-)
# September 30, 2003 4:38 PM

Michael Favro said:

Don't know how detailed this book is: http://www.rollthunder.com/imdn.aspx.

Looks like you'll have to write one - in your spare time!
# September 30, 2003 4:40 PM

Robert McLaws said:

Spare time???!?! WTF is that? ;)
# September 30, 2003 4:41 PM

Douglas Reilly said:

Introducing Microsoft .NET is not dated (at least not the current (third) edition. I have given it to a couple of sort of technical (but not at all developer or network people) managers and they fount it to be a good intro.
# September 30, 2003 4:59 PM

Philip Scott said:

We've had a couple of brave souls dig through the Introducing Microsoft .NET. The way it is structured is that David shows common scenarios, and shows how .NET attempts to solve them. Non techies could stop there, because he goes on to show some simple code examples demonstrating .NET solving the problem.

Pretty good book, and probably would only take a sales/marketing guy a couple of hours to go through.
# September 30, 2003 5:02 PM

Eric said:

From what I remember, my manager (semi technical) really liked "Introducing MS .NET" from MS Press.

When I was in Barnes and Noble last, I remember seeing a book the was something like ".NET for Managers". I remember reading the back, and it stated that it was specifically for non-technical people.

Eric
# September 30, 2003 6:36 PM

Randy H. said:

The Chappell book is the one you want.
# September 30, 2003 8:44 PM

Jesse Ezell said:

I agree, Introducing .NET is a really good start.
# September 30, 2003 10:15 PM

Weston Binford said:

I have to agree that Chappell's book is what you should get.
# October 1, 2003 1:04 AM

Ajay Juneja said:

AWESOME :)
congrats on becoming an MVP so early! I'm probably not going the same route, as I'm 22 and a Speech Recognition nut, but it's great to see young minds achieving so much!
# October 1, 2003 9:02 PM

Roy Osherove said:

Congrats!!! you totally deserve it. Keep up the great work!
# October 1, 2003 9:48 PM

Roy Osherove said:

Amazing graphics dude.
# October 1, 2003 9:50 PM

Robert McLaws said:

Thank Paul at Xheo.com for that one.... he did them all himself.
# October 1, 2003 9:54 PM

Roy Osherove said:

Far out! I'm impressed.
# October 1, 2003 9:57 PM

SBC said:

Robert - thanks for your good efforts in keeping us informed!
# October 1, 2003 9:57 PM

Patrick Steele said:

Congratulations Robert! Welcome to the gang!
# October 1, 2003 10:02 PM

Jeffrey Randow said:

Congratulations!! Hope to see you at some of the future events... :)
# October 1, 2003 10:21 PM

TrackBack said:

Congrats to the new MS MVPs!
# October 2, 2003 2:42 AM

Jonne Kats said:

Congrats my friend, i'm also at the age of 21. Hope to join you some day...
# October 2, 2003 3:23 AM

Jason Mauss said:

Robert, it's great to see other young dev'ers out there doing so much. I just turned 23 over the summer and have achieved stuff like writing for major tech publications, consulting to Microsoft on their MCAD certification guides, and starting up a company. Congrats on the MVP award. Don't worry about Brian Desmond, he's just a freak of nature nobody can explain .. j/k ;-)
# October 2, 2003 7:02 AM

Christophe Lauer said:

Looks like Vnunet.fr has found this article soooo good that they have translated it in French:
www.zdnet.fr/techupdate/applications/0,39020852,39125045,00.htm ;-))
# October 2, 2003 9:23 AM

TrackBack said:

# October 2, 2003 10:09 AM

Mattias Sjögren said:

Congrats and welcome to the MVP gang! I know there's at least one more guy younger than you; George Moldova (Office MVP) is about the same age as Brian. And then there's Josh Mitts, who was a .NET MVP two years ago at 15 I believe, and now works for Microsoft. Personally I turn 23 next week.
# October 2, 2003 6:10 PM

Phil Scott said:

I wonder if they have a COM programming section of their site called com.com.com?
# October 3, 2003 4:23 PM

Robert McLaws said:

LMAO
# October 3, 2003 4:26 PM

Doug Thews said:

Quick question. What happens when you want to do a major overhaul on graphics (say, a complete UI change) for your site. Do you just come up with new names for the graphics (like "arrow" or "button") and double the amount of images on your Image site until the application is published?

Otherwise, you've got no way to introduce new graphics without impacting your production site. Plus, if you did pump in newly designed UI graphics (that are unapproved), you'll have to publish them to a production server without really being approved for production.

This can lead to issues - especially if you're coming out with a new design that you want to keep hidden from the public (or competitors) until the official unveiling.

Just a thought.
# October 3, 2003 5:05 PM

Robert McLaws said:

That is a very good point, and one that I had considered. On the next iteration of our site, all the graphics will be stored at http://images.interscapeusa.com/v2 and so forth. This way, we can keep the graphics separate, but if some website on the internet is referencing them (like the ASP.NET Forums), then they won't break.
# October 3, 2003 5:09 PM

Doug Thews said:

Cool. I just wonder how big your graphics are? Are there any storage concerns with keeping multiple versions? Do you foresee any problems with the web hits you'll receive while testing (specifically running stress testing) on your development apps. as they'll be hitting a production server (even though the graphics are in a different subdirectory)?
# October 4, 2003 11:17 AM

Ajay Juneja said:

Congrats! RobW, that was a great idea to post it to NTBUGTRAQ -- I would have suggested it myself if you didn't!!
# October 4, 2003 12:35 PM

Robert McLaws said:

To be honest, I have 120GB of drive space, and over 1TB of transfer, so I'm not terribly concerned about space or bandwidth. Also, there is a big difference in an application versus a corporate-presence website. We do not build graphics-laden web apps, so it's not really an issue for us. In my experience, no one cares how pretty the site is if it doesn't do it's job. IMO, you get the app working 100% like it needs to, without question, and THEN you spend time making it pretty. Once you do that, you do an effective job of graphics caching, so that they do not affect the performance of the app.
# October 4, 2003 7:59 PM

Greg Robinson said:

v 2 is out already...not much difference other than update implementation.

# October 6, 2003 2:33 PM

Dave Burke said:

Loved it, Robert. Thanks. I would have missed a great rosherove comments thread if not for your post.
# October 6, 2003 3:12 PM

Robert McLaws said:

Ya that is the one I'm using.
# October 6, 2003 3:18 PM

SBC said:

Also try the User Interface Process & Excep Handling App blocks (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/emab-rm.asp?frame=true). good pieces of work.. got it to work right (finally..)..
# October 6, 2003 4:34 PM

James Avery said:

I would use exceptions, because if I understand it correctly, that is exactly what this is... an exception. Exceptions may be more expensive than some of the alternatives, but if is truly an exception, meaning that it will not happen very often, then it should not be a performance issue.

I think alot of times we get stuck programming for the exceptions, when instead we should be programming for the norm and accomodating the exceptions.

-James
# October 7, 2003 8:18 PM

Mathew Nolton said:

I agree exceptions are the way to go. As for validating parameters/properties, etc. I am a firm believer in the use of Validator classes. For example:

public string SomeMethod(
[StringNotNullValidator()]
string param1 )
{
(new MethodValidator).Validate(
this, "SomeMethod", param1);
}
This implementation is something I have written, but the premise of what you are talking about is the same ( I think ). Defensive coding will always save you many headaches down the road.

-Mathew Nolton

# October 7, 2003 8:25 PM

Toby Tellier said:

The slow loading was irritating but I was too lazy to search out an answer. Thanks so much, your suggestion worked like a charm. I love rss feeds.
# October 8, 2003 6:27 PM

Chris Martin said:

Don't forget to move the directories too.

Thanks man. I can't believe how much faster it loads.
# October 8, 2003 7:29 PM

G. Andrew Duthie said:

That's most certainly an improvement. I'd be interested, however, in knowing just what it is that I'm disabling, in case I need to re-enable it at some point. If anyone has resources for that, a pointer would be nice.
# October 8, 2003 9:12 PM

Robert McLaws said:

Click back througth the guy's links, I thought he talked about it.
# October 8, 2003 9:20 PM

Matt Watson said:

Does this work in Acrobat 5? I went to do it, but it doesn't have a printme.api so I'm hesitant to do anything.

Anyone know?
matthew.watson@prlnet.com
# October 9, 2003 9:18 AM

Darrell said:

# October 9, 2003 9:51 AM

Darrell said:

Forgot to congratulate you on the MVP award earlier. Good job!
# October 9, 2003 9:53 AM

Salim Morgan said:

VS appears to not like its own code. I did a databind to "selectedvalue". Code appeared in the HTML as follows:

asp:DropDownList id="ddlbBusUnitSubset" style="Z-INDEX: 113; LEFT: 720px; POSITION: absolute; TOP: 96px" runat="server" Width="216px" SelectedValue='<%# DataBinder.Eval(dsPromotions1, "Tables[PromoHeader].DefaultView.[0].BusUnitSubsetID") %>'>
</asp:DropDownList>

But it appeared to reject its own code. There was a squiggly line under "SelectedValue" which on mouseover said, "Could not find any attribute 'SelectedValue' of element 'DropDownList'"

Have you ever seen this? Functionally it is NOT working. I've reinstalled the Framework and VS but still have the same symptom on two different machines.

Any Ideas?

(samorgan@java-man.com)
# October 9, 2003 2:35 PM

G. Andrew Duthie said:

You're terrible...but it *has* been a while since they blogged. ;-)
# October 9, 2003 3:51 PM

Robert McLaws said:

Yeah Rob hasn't blogged in 3 months. I wan't kidding about my room tho... it was awful cold when I woke up this morning... ;)
# October 9, 2003 4:02 PM

Shannon J Hager said:

maybe it is part of their job to advertise their upcoming products? those posts are little more than advertisements.
# October 9, 2003 4:14 PM

Michael Favro said:

Well...at least they blogged. Maybe now they remember that blogging isn't at painful as they might remember. And maybe this means that they may be getting a little more time on their hands to blog. And maybe when they blog again, it won't be quite so ad-like. Maybe.

(I'd venture to guess that after PDC, when the cone of silence has been lifted about all the cool stuff I won't get to see since I'm not going, that there will be a flash-flood of blogging from those who have remained silent for so long. More signal, less noise.)
# October 9, 2003 4:24 PM

tim h said:

robert,

regarding your comment of:
"Here is what I still have a problem with: I don't have a way yet for GenX.NET to be able to call up providers through a configuration file instead of an enumeration. I want to completely separate all the providers from the main assembly, so that I can, for example, fix a bug in the XmlFormatProvider (don't even get me started on that HACK) without affecting the main engine assembly. I'll have to figure that out for GenX.NET 3.1, when we also introduce some cool new features for API design."

take a lesson from either asp.net 2.0 design patterns or the petshop design factory...enable Interfaces for your "stuff" and then you can set the provider in a config file...as long as it implements your interfaces, all is well.
# October 9, 2003 7:40 PM

Robert McLaws said:

That is my intention, but I'm waiting until I can get my hands on some official implementation, so that my implementation does not contradict and fufure implementation Microsoft may cook up. Also, we already use interfaces, it's just that I have an enumeration to specify all the internal ones. In the next version, I want to break them all out in a separate assembly, and probably modify the Provider Factories.

For now, the fact that I'm working to introduce the world to Providers, and that the implementation is decent for what I'm needing it to do, is ok with me. I can make it better in the next release. This is not to say that what I'm doing now is bad, I just know it can be better.
# October 9, 2003 7:50 PM

Phil said:

Good post. Something than Kernighan & Pike address in "The Practice of Programming".
# October 9, 2003 9:05 PM

Paul Ferrill said:

FYI - Hell is located about 30 miles northwest of Ann Arbor, MI and will shortly begin to freeze over...
# October 10, 2003 10:49 AM

Robert A. Wlodarczyk said:

Awesome! :)
# October 10, 2003 6:48 PM

Thomas Tomiczek said:

Be careful :-)

I havea shuttle on my desk. It would be relatively silent when I actually would not have anATI Radeon 9700 pro in.

I throw it out next week against a MidiTower with handpicked silenced components: Passive Cooling for the graphics card, super-silent CPU cooler and super silend power supply.

The Shuttle behaves like a heating unig (the air coming out at the end is HOT), and is is NOISY.

I will see ow it behaves when I reactivate it without the additional graphics card and a new fan sysem (that is much less noisy).
# October 12, 2003 5:37 AM

Ashutosh Nilkanth said:

Looks awesome, except for "no parallel ports" ;-)
# October 12, 2003 5:48 AM

denny said:

yep thats it.

a short info on LISP

one of the "Classic" AI languages

stands for LISt Processing
AFAIK recall

can be used for string processing problems.

was used by a school to do an AI system
where it built up a database of word-relations and english grammer / syntax.

a program on PBS showed a sample of one production....

it would ask a question each time it "thought" it found a valid statement.

so it asked if this was true:

a father is to a family as a dictator is to a small country?

this was a ? it made based on it's data about the key words Father,Family,COuntry,Dictator

not bad.... this was I think late 70's or early 80's so it took a day to process a few words and formulate a set of questions.
# October 12, 2003 8:46 AM

Robert McLaws said:

Yeah, I've heard that they can be loud and hot too, but I have a 1U rackmountable server with 4 cooling fans, that makes my room almost 4 degrees hotter than the rest of the house. Anything will be better than that.

Ash... parallel ports? Dude next thing you're gonna want are ISA slots too... ;)
# October 12, 2003 2:11 PM

John Watson said:

Don't remember how long ago it was or where it came from but I've always tried to adhere to the notion of "positive tests" which tends to avoid the notion of "assuming benevolence". So personally I would've written:

DWORD dwRet = IsAccessAllowed(...);
// if success
if (dwRet == 0) {
else
//Security check failed [for whatever reason]
# October 13, 2003 1:50 PM

Robert McLaws said:

John,

I may be mistaken, but isn't that what my second example in the original post showed?

-Robert
# October 13, 2003 1:58 PM

Addy Santo said:

Monkey see, Monkey do, Monkey gets brain formatted because Monkey didn't apply latest security patch.

# October 13, 2003 2:09 PM

Robert McLaws said:

LMAO
# October 13, 2003 2:15 PM

chadb said:

don't leave us hanging! docs DOCS!
# October 13, 2003 11:57 PM

Paul Nicholls said:

I tried it, and it's the second result under Support and Troubleshooting:

http://search.microsoft.com/search/results.aspx?st=b&na=80&qu=enable+dtc&View=en-us

And the first result from support.ms.com. Maybe they've got indexing issues? Strange.
# October 15, 2003 4:59 AM

Mark said:

Join the club :( I was having problems with XP blue-screening all the time. On avg at least once a day. So I turned on Driver Verifier and guess what. Blue-Screen within 15 seconds of boot. After several hours of safe boots and blue-screens gradually removing drivers from Driver Verification I found that once I removed an unsigned driver installed as part of Norton AV, all my problems went away. I ditched AV and went with onother vender. Havn't had a blue screen since. You would 'think' a company with the stature of Symantec would at least sign their drivers, to say nothing of running them under Driver Verifier before release.
# October 15, 2003 8:43 AM

Eric Kepes said:

Not to play pile-on, but what the heck, it is Norton (aka Symantec): Norton AV has been the enemy of developers since the dawn of time.
Get in the time machine and go back to, say, 1999. Just try to install software on a machine with NAV. Go ahead. Now, count how many times you swear as the strange error messages come up... Run out of fingers yet?
Good to know that some things never change. That's why I'm a McAfee guy.
# October 15, 2003 9:06 AM

Harris Reynolds said:

Not sure if NAnt provides this functionality, but Ant allows you to easily toggle the Java compiler for building against different versions of the JDK; maybe that would help your .Net builds.

~harris
# October 16, 2003 8:35 PM

Thomas Freudenberg said:

There's another usage for solution 2 "Add Reference From AAC", at least for WinForm developers. E.g. the Updater Application Block creates for every new version of the application a new subfolder with the name set to the new version. With your proposal, the application would have a single subfolder, which is the AAC, where all its assemblies with all future versions would be stored. Much more elegant, that is.
# October 17, 2003 7:12 AM

tim said:

windows 2003 server doesn't natively support bluetooth client connectivity...

the platform sdk lists this only as a technology...a "platform sdk" isn't really specific to the os...if you look at the platform sdk as a whole...it provides documentation for back to win95, where bluetooth certainly isn't supported :-)
# October 17, 2003 12:24 PM

Doug Thews said:

I wish I could. What's worse is that a specific version of XP SP 1 is required, so you end up having to un-install XP SP 1 (if you can), then run their setup (which includes a specialized SP 1 install), and then their drivers are installed.

I can't find any service or optional component install that has to do with Bluetooth specifically. If I run into something else, I'll be sure and let you know.
# October 17, 2003 3:48 PM

Ingo Rammer said:

I always put the frequently used stuff in one binder. Or actually even in the smaller DVD case so that I can carry it on the road.

Isn't it great to see that all current versions of Windows, the complete development platform, database servers, messaging servers, etc. can fit on just a handful DVDs nowadays?

-Ingo
# October 18, 2003 4:59 PM

Nino Benvenuti said:

I organize my DVD subscription by disc number; that makes it easy to find and replace a deprecated disc.

-Nino
# October 18, 2003 5:30 PM

Douglas Reilly said:

I do so by color, and by number within color.

Have fun!
# October 18, 2003 6:24 PM

Jeffrey Randow said:

Did ya get the DVD or CD version?
# October 18, 2003 10:01 PM

G. Andrew Duthie said:

I put the most frequently-used DVDs into the portable case, and almost never open the binders (in fact, after my last renewal, I didn't even bother putting stuff into the binders).

If I run into something that's not in the portable case, it's usually because I haven't gottent the disc for it yet, in which case I download it from MSDN Subscriber Downloads.

And given that they've once again re-designed how the discs are organized, I'm not sure I'll be any more enthusiastic about spending time putting them in the binders yet again...
# October 19, 2003 12:23 AM

Stanley Tan said:

I keep them neatly organized by color. It's always easier to find discs that way cuz I don't have to think about where I put it. :)
# October 19, 2003 8:56 AM

Dare Obasanjo said:

>Hopefully it will be fixed in Whidbey.

I'm not sure what exactlt is broken that you expect to be fixed.
# October 19, 2003 8:47 PM

Simon Fell said:

Huh ? all XML parsers are required to support at least UTF & UTF16 according to the XML spec
# October 19, 2003 8:54 PM

Robert McLaws said:

Simon: IE wigs out on any and all UTF16 docs I've tried to feed it.

Dare: I would expect that you would be able to change the encoding on ANY XML document, not just on those that get written to the file system using the System.Xml black box "write to file" setup.

It's not that it is broken, but it is not complete IMO because it is missing that key functionality. Maybe I just don't understand the system very well but I shouldn't have to write that kind of hack to get it to work.
# October 19, 2003 11:05 PM

Oleg Tkachenko said:

Never heard of any problems with UTF-16. Of course IE supports it as any conformant XML parser.
"XML is always UTF8" - oh boy :)
# October 20, 2003 7:58 AM

Robert McLaws said:

IE sure as hell didn't support it when I tried it.

Don't believe me? Grab your Northwind database, load some sample data up into a DataSet, parse the DataSet into XML (using a StringBuilder and a StringWriter, not the Black Box file option), manually write it to a file, and open it in IE. Watch what happens. Caused 3 days of frustration. I may be right, I may be wrong. All I know is, it works now, and before it did not.
# October 20, 2003 9:53 AM

Dylan Greene said:

Anything going to be done for those who aren't able to attend?
# October 20, 2003 10:26 PM

James Shaw said:

I really hope you meant to say "shooting the proverbial pool"... ;-)
# October 21, 2003 12:28 AM

TrackBack said:

Blogging BOF is shaping up.
# October 21, 2003 12:57 AM

Brian Desmond said:

For XP, the QFE is on the CD, I believe (I have it if not). You can use a /x switch and just run it manually.
# October 21, 2003 1:10 AM

Robert McLaws said:

Nope. Shoot the proverbial poo. Better than swearing in my weblog. I offend enough people without adding swearing to the mix ;).
# October 21, 2003 1:32 AM

Robert McLaws said:

Dylan,

Not yet, but we'll probably post transcripts of the session after it is complete. Or something.
# October 21, 2003 2:35 AM

TrackBack said:

# October 21, 2003 3:03 AM

Oleg Tkachenko said:

"manually write it to a file" - here must be your problem.
Just to make sure try something more simpler - just open real UTF-16 encoded document, e.g.
http://www.tkachenko.com/temp/source.xml
# October 21, 2003 7:19 AM

Ashutosh Nilkanth said:

I left a message on that for Scott earlier today. It seems like the referrers list is no longer sorted on the date. The referrer records are fine though (they are all not pointing to weblogs.asp.net) - try jumping to random pages and you'll see that the data is intact. Its just the sorting I guess.
# October 21, 2003 7:37 AM

Scott Watermasysk said:

Yes, something got fudged with the referrals.

I had a mini epiphany on how to simplify and clean things up. Hoping to publish the changes by Thursday...but if not, then it will likely be sometime after the PDC.

-Scott
# October 21, 2003 8:28 AM

tim said:

how can you really complain that end user products like that don't work on a *server* product that isn't meant as a desktop workstation? ;-) it really isn't any different how win2k didn't support gaming apps at all...it wasn't meant to be a "home" product...
# October 22, 2003 12:06 PM

Robert McLaws said:

Well, I can complain because MS knows that all their internal guys use it as their desktop OS, and it's a lot different. It's hardware support not software support. It would be like saying you can't install the Voodoo5 because it could be used for gaming.
# October 22, 2003 12:36 PM

Salman said:

BOF?
# October 23, 2003 7:57 PM

Robert McLaws said:

Birds of a Feather. It's one of the session tracks at PDC, where people in the community run their own sessions. It's going to be pretty nifty... you should be there.
# October 23, 2003 7:59 PM

Robert McLaws said:

Thanks for the heads up lol... corrected.
# October 26, 2003 12:01 AM

Phil Weber said:

> I'm 63”

Only 5-foot-3? ;-)
# October 26, 2003 12:43 AM

Jason Nadal said:

Sorry to hear that. The smell of smoke is constant in the air around here. I hope you and the others make it safely.
# October 26, 2003 2:41 PM

Adam C. said:

Yep, I'm stuck at the airport in Denver. If nothing opens up near LA I'll hopefully hop to Las Vegas or Phoenix tonight and drive in. See you there.
# October 26, 2003 2:49 PM

Robert McLaws said:

If you go to drive in, call me and lets carpool. I can't leave until 8pm though... I have a prior engagement this evening.
# October 26, 2003 2:53 PM

Justin Malloy said:

I was cursing at my 7:30 am flight out of Minneapolis but I'm sure glad I had that now, I had no idea where was even a problem we saw the smoke coming in but no one said anything when I arrived at LAX at 8:45 am, hopefully everything goes well for you guys. I'm way out by venice beach and they even have the PDC lamp signs out here, can't wait to go downtown and see all what's happening... good luck..
# October 26, 2003 3:15 PM

Robert McLaws said:

Taking the 1:45am Greyhound. See you guys at 9am.
# October 27, 2003 12:51 AM

Jerry Dennany said:

Good to see that you made it in ok!
# October 27, 2003 6:45 PM

Salman said:

Congrats Rob, the beginning of your empire!
# October 30, 2003 11:09 AM

Dave said:

Robert, I agree with you. But be careful. Please.

The whole incident was slashdotted for one reason only - it involed a MS competitor. Yeah yeah, there is much more to the story, but slashdotting it was solely because of this.

So what's my point? Just this: it is ALL about context. All of it. MS has just cause for dismissal. Just as you have just cause to use the word 'dumb'. Yet, MS _is_ MS. And nowadays, so are you. Longhorn blogs? Scoble? Sure, they have circumstancial context to you. Nonetheless, you are NOW associated with MS. And what you say bears more - more than this idiot - on MS than you think.

Notice.... I can call this guy an 'idiot' and get away with it without being slashdotted. That's purely 'cuz I'm anonymous. But I fear you can no longer call the same idion 'dumb' without many considering that it's really in context of MS considering him dumb.
# October 30, 2003 3:07 PM

James Avery said:

He should not have posted the picture. Microsoft had the right to fire him.

But should they have fired him? No. It was pretty harmless and they could have told him to take it down, never do it again and the problem would be solved. Now you have MSNBC writing about how Microsoft canned this guy for blogging, not good pr.
# October 30, 2003 3:17 PM

Paschal said:

As usual Robert you are still excellent in your language moderation ;-))
Well I find this time you started to have more experience in the choice of your words. I hope someday that you will understand that the world is not divided between you and the 'dumbs', it's a bit more subtle than that !
This privy as you called him reckon he did a mistake, but IMHO Microsoft PR didn't do the best in this case. Some folks called this kind of privy 'disposable'. So named that you can fire this 'cattle' easily. Not sure sometimes I am living in the 21st century.Thanks god I am not working in US !
# October 30, 2003 3:44 PM

Frans Bouma said:

MS was wrong. Not only was the picture harmless, but they increased the focus on the picture by firing the guy instead of speaking to him and reasoning with him and asking if he could take the image down.

In The Netherlands, he would not have been fired. Simply because we have laws here who force the employer to come up with a valid reason to fire a person. A shabby image of a crate of boxes is not a valid reason, sorry.
# October 30, 2003 4:01 PM

Paschal said:

Well said Frans ;-)
# October 30, 2003 4:13 PM

Shane Bauer said:

You just can't go around taking pictures of things that come off trucks. Sure, maybe the punishment was a little too harsh, but he was a temporary employee from an outside company. He wasn't even an intern, nor a full time Microsoft employee. I'd be a little upset if one of my temp. employees was going around taking pictures of things that are coming off the trucks and putting them on his web site. What else could he be taking pictures of?

Who knows, maybe Apple will offer him a job.
# October 30, 2003 5:15 PM

G. Andrew Duthie said:

One correction: I believe the guy was a temp, not an intern (can you even fire interns?).

As for whether it was right or wrong to "fire" him, I'd probably have made the same decision. Good judgement is an important job skill, and he doesn't seem to have it. If it was an employee, I would bet they would have gotten warned, not fired. As others have noted, what's not clear is whether he had any prior performance or judgement problems, etc.

It's absolutely true, IMO, that if you take away the Macs, there'd be no story here, not because Microsoft wants to hide the fact that they purchase Macs, but because then there wouldn't be a reason for people to imply that they do.
# October 30, 2003 5:57 PM

Robert McLaws said:

Thanks guys for the valid points. I'll take that into consideration next time. I'm still getting used to this whole "being associated with Microsoft" thing. Thanks for the advice.
# October 31, 2003 1:40 AM

Bob S said:

...and this page is one of the top results for "power of blogs". Kind of interesting, a self-fulfilling prophecy of sorts.

I am looking at your site precisely because I, too, am a referer log addict, and someone recently found my web-based journal through that same search, which made me go and look, to see exactly how high I ranked.

This has caused me to try to be careful about overusing certain terms in a posting (such as "power of ... you know"), lest my site become higher-rated for that topic than I really feel is warranted. For example, I am definitely not the person to go to if you want to "get someone yahoo password".
# October 31, 2003 9:57 PM

Robert said:

.NET Reflector (http://aisto.com/roeder/dotnet) is doing that for as long as I can remember. The Asmex folks even copied the UI details for this from Reflector ;-)
# November 1, 2003 4:37 AM

SBC said:

Good posting Robert. It's certainly a good advertising/PR media channel for small startups (entrepreuners).
I like the one about 'mental clarity' & 'BrainDump' - my brain at times fills like it's full... :-)
# November 1, 2003 7:02 AM

Duncan said:

Perhaps "Public Shared Function BrainDump(ByVal everythingDotNet As String) As [Value]"?

# November 1, 2003 8:41 AM

daniel said:

Hello
I'm trying to make an application in visual c++ that uses the bluetooth stack of windows xp. I've bought now some brainboxes bl-554 blutooth dongles, which should support this stack. But i can't install de delivered QFE323183, because it's the wrong language.
Can You help me? Does anyone have some sample programs using the XP Stack?

Thanks for your help!
# November 2, 2003 7:03 AM

Dave Burke said:

Great post, Robert. I'll want to re-read this post in the future, particularly for the well articulated break-outs of the different blog [value] types.
# November 2, 2003 10:00 AM

Koji Ishii said:

Strings are Unicode and thus can never have encodings from its definition. Unicode is one of encodings, so String is always Unicode (UTF-16) encoded.

If you want to manage it as a UTF-8 stream, write it to MemoryStream instead of StringWriter. You will then get a byte stream of your desired encoding. A byte sream can have its associated encoding.

What you get with your hack is, a UTF-8 byte stream but each byte was convereted to UTF-16. So, each byte is represented as 2 bytes on memory. If you write it to a file using UTF-16, you will get UTF-8 file, because UTF-8 was once convereted to UTF-16 but then again converted back, and because UTF-16 does not break any bytes during the conversion. But from spec perspective, it's not guaranteed, and thus you have the risk.

This is very easy to confuse, because in the days before Unicode, a byte stream is a string. However, in the Unicode world, a byte stream itself cannot represent a string; a byte stream + encoding = string.

And .NET's String class uses UTF-16 encoding, so XML to write UTF-16 when you write to String is a correct behavior.
# November 2, 2003 9:21 PM

Robert McLaws said:

Here are my concerns:

a) I'm not the only developer who is trying to build UTF-8 encoded documents with StringBuilders. I understand that it is the correct behavior from a technical standpoint, but it is a completely incorrect behavior from a usability standpoint. Why should I have to deal with a MemoryStream? It's overly complicated to work with. What if I want to just deal with text? What if I want to pass an XmlDocument throught a web service... MemoryStreams are EVEN MORE of a hassle then.

I understand that my hack may provide unpredictable results for very complex documents. But the point is that it needs to work with strings, and it needs to work in the proper manner. I shouldn't have to be a frickin Rocket Scientist to build an XmlDocument, and that's what I feel like I have to be. I DO NOT accept this as the only way it should work.
# November 2, 2003 9:53 PM

Teemu Keiski said:

At least sometime ago it was IE-specific -
A page discussing about the tool (bit old though):
http://www.insidedhtml.com/tips/functions/ts19/page1.asp?main=on

"Encoded scripts only run on browsers that have the 5.0 or later release of Microsoft's scripting engines..."

I don't believe they would have made it cross-browser compatible.
# November 3, 2003 4:57 AM

Dumky said:

DBCombo renders a very different control when viewed in a Mozilla browser. It does a full page post and doesn't have the drop-down, so it is pretty much a no-script variant of the control.

Besides not being cross-browser, the script encoding has other problems: it's not really secure (you can reverse the encoding and extract the original code) and it makes development harder unless you never use "view source" yourself ;-)
# November 3, 2003 2:20 PM

Greg Reinacker said:

To be clear, NewsGator does support categories...it's the .Text plug-in which does not yet support them. A subtle distinction, I know. :-)
# November 3, 2003 5:12 PM

Robert McLaws said:

Well, since I'm working on the plug-in I'll have to make it support categories then, won't I?
# November 3, 2003 5:20 PM

Tony Pino said:

Nice.

It's funny, just last night I wrote an app to do the same thing, except it uses BITS in Win2k and XP.
# November 3, 2003 9:20 PM

Shannon J Hager said:

as far as I can tell, it only works for JScript and VBScript, both of which are MS-only, right?
# November 3, 2003 10:08 PM

TrackBack said:

# November 4, 2003 1:16 AM

tim said:

ever used authorize.net -- usually the commerce provider of choice for most microsofties...
# November 6, 2003 3:55 PM

Robert McLaws said:

That's who I'm using now, but they are just a gateway. You still have to have a merchant account.
# November 6, 2003 4:07 PM

tim said:

ah, can't go wrong with wells fargo ;-)
# November 6, 2003 5:30 PM

Damian said:

Dear Robert

Can you please tell me, in detail, why GenX is more compelling than, say, the a CSV file ?

Translation : If you don't want it, nobody is forcing you to buy it.
# November 6, 2003 9:20 PM

Robert McLaws said:

Well Damian,

GenX.NET makes CSV files, so I don't know what you mean. But thanks for asking.
# November 6, 2003 9:30 PM

Robert McLaws said:

Translation Damian:

I was trying to get Eric Sink to publically answer one of his most-often asked questions about his product, in an effort to help promte his product and to demonstrate the power blogs have to foster conversations between companies. I was setting it up for a later entry I've been working on regarding corporate weblogging. Maybe next time you won't assume that I'm being a jerk or something.
# November 6, 2003 9:35 PM

Eric Sink said:

Ah, the subtleties of written communication. :-)

I'm inclined not to be *too* hard on Damian. I knew at a glance that Robert was pitching me a big, fat 16-inch slow-pitch softball, but the casual reader might have read it differently.

Now what have I done with my big blue aluminum softball bat?

# November 6, 2003 9:58 PM

Damian said:

OK, I take it back then. It certainly came across that way.

FWIW, I don't think that question can be answered better than "try it youself and see what works for you". Anything else would involve putting "competitors" down, which doesn't make anyone look good.
# November 6, 2003 10:00 PM

Eric Sink said:

<smirk>

Damian doesn't know me very well yet. ;-)

# November 6, 2003 10:17 PM

Robert McLaws said:

<shrugs> I dunno, I think the question can be answered honestly. I can answer why I think GenX is better than ExcelWriter without being derrogatory. If an ISV can't, they don't belong in business.

Hey Eric, I'm deep in the outfield with a 3 foot softball glove.
# November 6, 2003 10:36 PM

Eric Sink said:

(SMACK)
# November 7, 2003 12:06 AM

Robert McLaws said:

The ball's streakin towards the foul line...

I didn't see you address the ability to get access to your source code from anywhere on the internet...
# November 7, 2003 12:19 AM

Eric Sink said:

I didn't hit that point because it's an advantage which exists in both systems. If anything GDN Workspaces might have the advantage, due to the fact that it's browser based.

It's still tradeoff of simplicity vs. power though.

Gotta run. Mini-vacation with the family this weekend, so I'll be digitally dark for several days. I'll let the umpire decide if my shot ends up in play. :-)

# November 7, 2003 12:34 AM

Robert McLaws said:

I wasn't sure it Vault let you do that, which is why I asked.

The ball stayed in play. Runner's rounding second. Enjoy your vacation.
# November 7, 2003 12:44 AM

Jamie Seward said:

I am more interested in an analyse in what makes SourceVault better than Perforce. The latter happens to be free for up to 2 users.
# November 7, 2003 1:20 AM

Frans Bouma said:

If you've ever read the EULA for workspaces you'd know it's not meant for production software simply because MS owns the code that's stored there.
# November 7, 2003 3:42 AM

Robert McLaws said:

MS does not own the code that's stored there. I went round and round with MS on that when they released 1.0, and they made it very clear.
# November 7, 2003 3:55 AM

Brad More said:

MY code is on MY server, not THEIR server. A minor distinction perhaps, but significant to me, and, I suspect, others like me (all 2 of them).
# November 7, 2003 7:28 AM

Anonymous said:

I think Damian had a good question though. Why should we spend money on GenX to create a simple CSV file when they're trivial to produce for free already. Its just commas and maybe some quotes running in a loop, its not like you are actually creating an Excel file which may be worth paying for if you did. You go on and on about how GenX is the greatest thing since sliced bread, and yet apparently all it does is create a lowly CSV -- so why should we think differently Robert?
# November 7, 2003 8:07 AM

tim said:

re: comment on vault not being able to access source code over the internet...

my understanding is that is the core technology of the vault product...because it is built on web services, your client can access it from anywhere.

now if you are referring to a non-client based version, then i'll shut up...but i've tested vault (and source offsite) and they both rock!
# November 7, 2003 11:48 AM

tim said:

forgot to ask...where do you see this $50 offer?
# November 7, 2003 11:49 AM

Robert McLaws said:

Anonymous:

If that were all GenX.NET does, I would agree with you. But it's not, that's one small feature. So the question becomes, why spend 3 hours trying to figure out how to write an ADO.NET data conversion engine when you can buy one for $20? Why only give your users the option of exporting to CSV when they can have 4 other options too? Why get locked into one format when you can have an extensible engine that will translate into any format you wish?
# November 7, 2003 3:12 PM

Joe Grossberg said:

I totally agree.

Bad service deserves bad publicity.

I've done it myself:

http://www.joegrossberg.com/archives/000404.html

Though I wouldn't have linked to their website. Why provide the traffic?
# November 7, 2003 4:31 PM

SBC said:

LonghornBlogs - it's like a 'Unicorn Gathering' place.. :-)
# November 7, 2003 4:38 PM

Shannon J Hager said:

When I first saw this post, I was a bit put off, but then realized that you were forcing Eric to snag himself a few new customers. Good job. Unfortunately, it looks like Eric was too busy to fully take advantage of it. Hopefully he'll resume when he returns because he's left a lot unsaid.
# November 7, 2003 7:20 PM

Robert McLaws said:

Thanks guys for the input. Sorry I didn't respond sooner, been crazy busy this week. Duncan, I modified my post title again to reflect your advice. Good call.
# November 8, 2003 9:06 PM

Julie Lerman said:

Robert - Careful with your hyperboles. That is far from true. According to the INETA data there are at least 35 u.s. groups that are larger. No offense to Scott at all. I'm assuming that he is well aware of this. But in some of the large cities, their membership runs into the many thousands.
# November 9, 2003 3:07 PM

julie lerman said:

oh - but - besides that - Happy to see scott blogging! I'll have to add him to my User Group Leaders blogroll!
# November 9, 2003 3:08 PM

Robert McLaws said:

Edited. The last that I heard we were the largest. Sorry for the misunderstanding.
# November 9, 2003 3:14 PM

Dave said:

OTOH, maybe they are too busy providing solutions that work TODAY and not in 2 years.

Seriously, my only issue with S/N is - IMHO - centered around _this_ forum.... weblogs@asp.net. Check out the main RSS feed from gotdotnet, compare it to this one. My... God. This past week alone... how many posts about "I'm installing Longhorn...", "I've installed Longhorn..."? How many posts critiquing the latest Matrix movie?

I'm only glad I didn't subscribe to the comment feeds... then it WOULD be like spending time in a forum.
# November 9, 2003 4:58 PM

Dave said:

Hey, one more thing - now that I read Neopolean.com. Exactly what does this rant - or many other posts - have to do with "shut up and innovate"? You and him could stand to quit bellyaching about MS versus Open Source and take a page from your book... speak of things relevant to providing solutions using .NET _today_.
# November 9, 2003 5:01 PM

Robert McLaws said:

Dave,

I guess you haven't seen my articles on developing server controls (under the "Builder.com Articles" links on the left), or my posts on accessing data type information from an IDataReader. I guess you didn't know that I'm creating a community resource for building server controls, or that I'm writing a huge series on "Whidbey-izing" your 1.X controls today. I guess you didn't know that GenX.NET uses some of the same concepts that will be found in Whidbey, using an extremely similar architecture that will be found in Yukon.

The funny thing is, all of that stuff is right here in my weblog.

I could ask what YOU'VE been doing about building .NET solutions today. The problem is, you never link to anything that you've done in your comments, so it's basically impossible to tell.
# November 9, 2003 5:31 PM

Scott Cate said:

This is a misconception that I actually was under also. I thought we were a pretty large group, until I started working with INETA and found out that we in fact aren't anywhere near the largest of the large groups. In fact we're one of the smallest. One interesting point, is our attendance is between 50-80 every month, so with this small number of users (~480) we get a good turn out. Really this whole thing is not a competition, and I never intended that tone of voice. Just a misconception on my part, due to ignorance I guess. BTW Robert, thanks for the post.
# November 9, 2003 6:21 PM

SBC said:

My recent post about Open So(u)r(c)e - http://weblogs.asp.net/sbchatterjee/posts/34057.aspx
# November 9, 2003 7:15 PM

Rory said:

[Note - I kind of went off in this comment. You have my apologies, Mr. McLaws, if I went on a bit too long :)]

"Exactly what does this rant - or many other posts - have to do with 'shut up and innovate'?"

Well, Dave - For one thing, your camp lost *me*. Granted I was just using the technology and not really improving it, but I'm still a fun guy to have at parties, so that's down the tubes.

"You and him could stand to quit bellyaching..."

I don't do much bellyaching about OSS vs. The Universe. I wouldn't have said anything at all if one of my posts hadn't been linked to from an OS forum in a rather insulting manner.

I'm already regretting having posted the damn thing just because it's attracted a bit of attention, and I, admittedly, am getting caught up in the argument.

It's 9:46 PM PST. I should be getting one last glimpse at Longhorn before hitting the sack, but I'm not doing it. I'm not doing it because some stupid part of me believes that it's important to communicate to the universe that it's entirely possible to lovs MS and not hate OSS, that you can like Coke *and* Pepsi, and be pro-life *and* pro-choice at the same time. People might not like either side, but the sides aren't mutually exclusive, and devoting an inordinate amount of time to fighting for either one means ditching what's *really* important (the coding) and wasting it doing... well, what I'm doing right now.

I took offense to being called a Microsoft "dittohead" because I'm vocal about how much I enjoy what MS is doing right now. I'm not a newbie - I've been coding since 1983, and I've pretty much seen it all. What MS is doing now may not be brand-spanking new, but I don't care. It's making my life as a devloper better, and *that's* why I support it. Not because I'm a "dittohead." I was a Linux/Apache/Tomcat guy before .NET rolled in. However, I never bashed MS during the Java days. For me, it's always been about the technology (although I'm going to have to be really honest here and say that the MS nerds I've met have been the coolest, most secure nerds I've ever encountered, which makes it possible to discuss technology with them rather than "movements" - a social feature for which I am very thankful).

Trust me. If some other company came out with competing technology that won me over, I'd trade camps in a heartbeat. The technology is what convinces me. I could care less about the lawsuits. That stuff is *going to happen*, and there's nothing you can do about it. The money that's trading hands is so far beyond anything you could understand that it's pointless to try and get in the way. While the lawyers fight, the rest of us might as well make the most of the situation and play with the cool toys.

Anyway, unfortunately for the other companies that have competing technology, I've seen Longhorn, and it's going to be an uphill struggle winning my heart away from MS...

OK - Maybe I'm doing a *little* bellyaching here :)

Sorry about the wandering nature of this comment. Passion has mixed with a rather large German dinner (I have the "food stupids"), and I'm pretty much out of my mind at the moment.
# November 10, 2003 1:07 AM

Robert McLaws said:

No need to apologize Rory, I'm honored. And call me Rob. Or "Hey, you!" Whatever works.

The "Genius of AND" reigns once again! Very well put.
# November 10, 2003 1:13 AM

julie lerman said:

well, you are hardly the smallest either. Your group is relatively large in fact. If you are curious, I can email you a spreadsheet with the counts - membership as opposed to butts in chairs. EG: I have 230 members, but get 30-50 butts in chairs at a meeting.
# November 10, 2003 9:56 AM

TrackBack said:

# November 11, 2003 5:28 AM

Dave Schwinn said:

I'm using Vault and I love it.

I won a 5 user copy at a local .NET developers group meeting.

The CD I got was version 1.0 and didn't want to install. I went to their web site and downloaded the latest and it installed like a charm.

It's a great example of just how good a .NET distributed application can be. I haven't had any problems with it at all. Of course, my needs are very simple.

I wrote code from several different machines and from lots of different locations. To be able to get to my source code from anywhere has really solved a lot of my problems.

Go for it!
# November 12, 2003 9:53 PM

Tony Pearson said:

I second the use of vault. I picked up a single user version. 49$ and its worth every penny.
# November 12, 2003 10:39 PM

Andrew Stopford said:

Sounds cool Robert, I am faced with a scrolling data grid issue at the moment so this has come at a good time :) Looking foward to seeing your work.
# November 13, 2003 4:07 AM

Robert McLaws said:

I'm glad this might be able to work out for you. Should be ready to go by Monday.
# November 13, 2003 6:06 AM

Paschal said:

OK Robert it's your choice to delete my comment. But ?I just try to be constructuive here. Your control is surely nice, but on the demo, the columns on the header are not aligned with the column below.
# November 13, 2003 6:22 AM

Paschal said:

OK I try again, hope this post will not be deleted this time !

1) This solution requires you to construct the stationary header by hand. ScrollingGrid handles this automatically, using the same designer techniques as the standard DataGrid component. If your headers change in your DataGrid declaration, our reconstructed headers will change automatically for you. And ScrollingGrid handles the footer too.

Comment: This solution works also with the standard Datagrid element. If the headers changed this will be reflected in the headers too.

2) This solution requires you to add a considerable amount of code bloat to your ASPX pages. ScrollingGrid works with your existing DataGrid declarations by changing only two lines of code. The size of your ASPX page will not change when using ScrollingGrid.

Comment: I don't see there any considerable amount of code. And yes it's only few words to declare in the Datagrid object


3) This solution makes the DataGrid scrollable all the time. You cannot shut it off. ScrollingGrid's scrolling capabilities can be manipulated in the designer or programmatically, allowing you to shut the scrolling off if you so desire. Because of this, I'm sure you'll never want to use the standard DataGrid again.

Comment: Not true this solution don't show the headers ll the time.
But I agree on some points:
It's HTC so not fully cross browser compatible.
And yes your solution is good, not the best, but worth to try it, for 0$

# November 13, 2003 6:33 AM

Frans Bouma said:

The main question about 'grids' is always: does the grid do a BETTER job at databinding than MS' crapgrids do? So, Robert, does your grid do that :)
# November 13, 2003 7:15 AM

Frans Bouma said:

The demo works ok in Firebird :) (Although the header is abit above the grid)

ANY grid that does better databinding than MS grids is great. ComponentOne's isn't for example, that one isn't able to mask away columns which are clearly marked as non browseable.

Besides that, I think a repeater control still is a better solution to grids in webpages, after all it's read-only data.
# November 13, 2003 7:20 AM

Paschal said:

Frans has a point there. I just received Whidbey so I will have a try myself on what MS will propose in the next two years. and yes pagination with datagrids is often a better solution.
Robert are you going to release a free trial on Monday ?
# November 13, 2003 7:34 AM

Jeff Julian said:

Keep selling the products. Your prices are great and the product is good. I totally agree with your point of $10 is definately worth it, if it takes more than an hour. To bad the screensaver contest ended at PDC, the RSS feed Star Wars saver was going to win :).
# November 13, 2003 8:29 AM

U and I said:

I wonder if this kind of scrolling solution is just fixing bad UI by adding more bad UI?
# November 13, 2003 8:55 AM

Shane Bauer said:

Looking good, Robert. I understand where you are coming from. The $10 price is great. Good work.
# November 13, 2003 10:07 AM

Paschal said:

A thing I just missed Robert is that Dino's example you refer is an OLD one. A new one has been published in ASPNetPro november issue. It's call Freeze the Header Scroll the Grid.
Thanks to correct it ;-))
# November 13, 2003 10:09 AM

Ron Green said:

I just took a look at your scrolling grid. Pretty nice but when I went to your website there doesn't appear to be any way to purchase it. I went to "Store" and the only product that appeared was GenX.net.
# November 13, 2003 10:24 AM

Shane Bauer said:

Ron,

I don't think he's released it yet. I read somewhere that he may release it Monday? I could be wrong. I may have created that date in my head.
# November 13, 2003 11:03 AM

Avonelle Lovhaug said:

Keep selling your products. So long as you continue to offer an affordable redistribution license for software I need, I'll be interested and willing to pay. For me, allowing installation on multiple websites is key. I'm an independent consultant, and I'm not interested in buying tools that I can't use for multiple applications, unless the tool is really specialized.
# November 13, 2003 11:16 AM

Robert McLaws said:

Thanks guys for all the comments. Ron, Shane was right, it's not available for purchase yet.

Avonelle, thanks for posting in my blog. Our $10 license will be called the "Developer Edition" and will give you the ability to install the component in any application on any server you choose. As I said, we want everyone to use our control, so we won't restrict how many times you can use it.

Now, because we're not finished yet, the control still has a bug or two. Should be ironed out by the end of the week. It is v1.0, so we're expecting that there will be some minor work done as it gets used by a lot of people.

I'm glad some of you may find it useful. Check back here on Monday :).
# November 13, 2003 12:45 PM

TrackBack said:

Coolbits.nu
# November 13, 2003 6:55 PM

Dave Burke said:

I never would have thought there was so much involved in this. Talkin' about taking a DIV tag to another level! Thanks, Robert.
# November 13, 2003 9:23 PM

felttippin said:

Hey Rob,

Hvae you installed this yet? Is there any documentation for non-msdn subscribes on what the bug fixes are?

Thanks
# November 14, 2003 12:14 PM

Dave said:

IMHO you've downed the 'Scoble' koolaid anymore Robert. Nowadays, not only is MS the be-all for you, you've taken the Scoble bias approach on everything too. Teflon....

$10 is mightly cheap, but it's onlyh worth it for the coding time savings. Personally, I prefer wtriting my own damn inherited control - that's really all you've done, right? - and bank the knowledge gained from doing it that way for future projects.
# November 14, 2003 7:16 PM

Robert McLaws said:

Dave,

Thanks for the perspective. If ALL I were doing is inheriting a control, that would be one thing, but we're also doing some other nifty things too, like retaining your scroll position on postback, and automatically reflecting against the application to check for registered handlers... from inside the control. A lot of expertise went into this, and it's not "just" an inherited control.

Feel free to write your own. This control has 300-some-odd man hours of effort to get it right. If you can afford to waste that time instead of paying $10 go right ahead. It's not as simple a problem as you might think. Check back here in a few hours, I'm working on a 5 part server control write up that will explain exactly why it is more complicated than you would expect.

I'm just wondering what you mean by the "MS be-all" thing? I've always been unabashedly Microsoft. Nothing has changed. Now that I'm more connected with the anthill, I can better elaborate my position. But marketing my stuff with passion does not mean that I'm high on the MS koolaid. I'm passionate about what I do. I don't work for Microsoft, I work with them, and in many ways, they work for me. And that's cool.

I really respect ya Dave, believe me I do. But everyone has bias. You say I have a "Scoble" bias, well I consider that a compliment. He's hooked me up more that I could have ever imagines, and I owe him a lot.
# November 14, 2003 10:31 PM

Cengiz HAN said:

downloading all pdc materials quickly!

thanks Robert! :-)
# November 15, 2003 5:59 AM

Andrew said:

Doesn't gacutil do this?
# November 15, 2003 10:26 AM

Andrew said:

Yuck, gacutil doesn't do it at all.
gacutil was free, but Studio Cost money, I would expect this to be a feature too.


You can point the registry key to the actual location in the GAC instead of to your program files location.
This should make it relatively easy to write some generic code to do the job after gac-ing.
# November 15, 2003 11:08 AM

Linus Concepcion said:

to the question:

-----
Now let me ask you, do you REALLY need paging in a DataGrid that scrolls? Isn't that the POINT of making it scroll?
-----

I think so. We built a grid with the same kind of features, and I struggled with the same question in the beginning. But, after playing around, we really needed both.

Paging is a design that promotes scalability and site performance.

Scrolling is needed when you want to place content to the right, or below the grid, or limit the grid to a specific size/layout despite the size of the grid's content.

Using both turned out to be our best option.
# November 15, 2003 12:49 PM

Robert McLaws said:

Andrew,

This process has nothing to do with the GAC. It is only for referencing assemblies for Visual Studio .NET. Further, the GAC cannot be referenced for these files... if you look inside Studio you'll see physical locations for all the Framework assemblies as well.

-Robert
# November 15, 2003 12:49 PM

Robert McLaws said:

Linus,

That's great, it's cool to see differing perspectives. Since our control is built on top of the standard DataGrid, normal Paging code will still work. We felt it was unnecessary to enhance the paging functionaliry on our own, because the focus of the control was on making it scroll.

Having said that, we'll listen to our customers and do what they want us to do. Thanks for taking the time to comment, and I really value your opinion.
-Robert
# November 15, 2003 12:53 PM

Andrew said:

Ya, I understand, thanks for the reg key name.

I think VS should be relying on the contents of the GAC rather than a registry entry but its not out choice ;)

If you use a dos/cmd window instead of windows explorer, you can see that :\Windows\assemly\gac is a folder with directories and files in it.
# November 15, 2003 3:41 PM

Derick Bailey said:

I think MS did the right thing in not having the GAC show up in this list. the GAC has nothing to do with VS.NET.

It's also really easy to add the "AssemblyFolders" entry using the [TARGETDIR] property, so that no matter where the user installs the component, it will show up in the references. just let the user install where they want, and use "[TARGETDIR]" as the value of the default item for the AssemblyFolders key.
# November 15, 2003 7:25 PM

Robert McLaws said:

Hey, there is an option too. I think I'll take a look at that and see how much of a pain it would be to modify our stuff to work with that scenario.
# November 15, 2003 7:51 PM

SBC said:

Love that .NET ambulance logo!
# November 16, 2003 7:28 AM

Robert McLaws said:

Thanks, it's my fav too. Paul at Xheo.com does a great job with all of my product logos.
# November 16, 2003 7:45 AM

Robert McLaws said:

I have yet to really talk about what Codeside Assistance is, but you can go find out now at http://www.codesideassistance.com
# November 16, 2003 7:54 AM

Damian said:

Have you considered nAnt ? It is what MSBuild is based on, and will run multiple compiles now.
# November 16, 2003 7:56 AM

Yosi Taguri said:

just w8ing to add it to my toolbox ;)
# November 16, 2003 7:59 AM

Robert McLaws said:

Damian,

While nAnt is similar to MSBuild in concept, it is quite different in terms of how it operates. But yes I am looking into it. I'm pretty sure that you'd still have to have 2 sets of project/solution files, but again I could be mistaken. If you find more information on that, can you send me a URL? Thanks.
-Robert
# November 16, 2003 8:06 AM

Damian said:

Just figuring it out myself. But basically, everything is configurable. You could have two tasks within the one build file. One for each compiler.

From this :
http://www.mail-archive.com/nant-users@lists.sourceforge.net/msg00773.html

I figure you can do :

<property name="nant.settings.currentframework" value = "net-1.1"/>

and compile

then set
<property name="nant.settings.currentframework" value = "net-1.0"/>

and compile again.

It looks like it's working here but I only have 1.1 installed right now.


# November 16, 2003 8:37 AM

tim said:

why not just create a virtual directory on each one of those sites? that way you can still leverage a single location of controls, but to the app it will exist as a part of the application.
# November 17, 2003 3:24 PM

Robert McLaws said:

That's the point I was trying to make. I want to do that, but I can't because the templating system I'm using uses physical locations instead of virtual ones.
# November 17, 2003 3:33 PM

TrackBack said:

# November 17, 2003 3:51 PM

Mark Hurd said:

For .NET SDK only users:

http://download.microsoft.com/download/0/b/b/0bb757a0-e734-4e78-b95b-d357e2d8635a/NDP1.1-KB827821-X86-Enu.exe

felttippin: It's a *documentation* update, so the "bug fixes" are documentation bug fixes (unless it's documenting a service pack for the 1.1 SDK that hasn't been released yet).
# November 17, 2003 6:49 PM

TrackBack said:

Questions About ScrollingGrid
# November 17, 2003 7:41 PM

SBC said:

Tony McCune is obviously biased since he (& his firm) are a Java/WebSphere shop and very likely hasn't worked with LongHorn. What I find remarkable is that ZDNet published the article to garner a "media hype frenzy" (notice the feedback threads from his article). Ironically, ZDNet makes it revenues primarily from the MS Windows platform industry. But a free press is important - it allows biases from asses as well.
# November 17, 2003 10:20 PM

Sebastien Lambla said:

Absolutely agreed, thanks for the link :)

Subscribed!
# November 18, 2003 6:20 AM

Frans Bouma said:

He's wrong in all arguments.

Stored procs aren't precompiled. He claims they are. So far for being well informed.
# November 18, 2003 6:40 AM

Greg Robinson said:

"Figured out how to use an XmlDocument to write to an app.config file. (it sucks that appSettings is not writeable, that's just lame)" is on my list of todos. care to share the code?
# November 18, 2003 8:31 AM

Aemca said:

For more on the how and what about the why:

http://weblogs.asp.net/fbouma/posts/38178.aspx

# November 18, 2003 8:43 AM

Robert McLaws said:

Sorry Frans. I'm going to listen to Microsoft on the issue before I listen to you.
# November 18, 2003 12:16 PM

Robert McLaws said:

"Yet another freebie we'll make available with the source code included."

Yep. I'll be posting it in a few days. Still working out a couple kinks.
# November 18, 2003 12:47 PM

Rob Howard said:

> Stored procs aren't precompiled.
No, Frans is correct on that one -- although he's using it a bit out of context.

I was using Pre-Compiled or Cached to be interchangable. SQL sprocs are not compiled like Oracle sprocs which has the ability, if memory serves, to compile the sproc to C.

The rest of it, well. I guess you can say we have a difference of opinion / information.
# November 18, 2003 12:53 PM

Avonelle Lovhaug said:

I'm with you. I can't tell you how frustrated I am with trying to add some fairly simple features to my installation package. All I was trying to do yesterday was to pick up the virtual directory my application was installed in, and load a web page from my application after installation. I was finally able to figure it out, but the only way I could get it to work was to write the virtual directory name out to a config file, and then read it again when I was trying to load my web page. It works, but how dumb is that? Oh, and I am picking up the virtual directory name via an undocumented feature, so who knows if that will work in the future. I hope this stuff is improved in Whidbey.
# November 18, 2003 4:53 PM

Robert McLaws said:

I can't even install a sample web app with a component with the VS.NET deployment projects. Ugh, what gives?
# November 18, 2003 4:59 PM

Matt Berther said:

I got around your first point via something like this:

public class MyProjectInstaller : Installer
{
public MyProjectInstaller() : base()
{
this.Installers.Add(new XInstaller());
this.Installers.Add(new YInstaller());
}
}

Not sure if this is exactly what you're looking for, but it did the trick for me.

# November 18, 2003 5:02 PM

Matt Berther said:

Also, you might look at Installshield Express, which I use for my personal deployment projects. It's only $349 and provides everything except for custom dialogs.
# November 18, 2003 5:03 PM

Robert McLaws said:

Well, the point was being able to call the separate installers like functions, and pass separate data to them. Sure, i could just have one installer routince and slap 8 paramaters on them, but that negates the point of a reusable function.
# November 18, 2003 5:10 PM

Robert McLaws said:

think folders is a really bad idea, because you'd have to have a folder for each component, and then a subfolder for each component's component, etc.... it would get really ridiculous really fast. An AAC would solve it simple without the site bloat.
# November 18, 2003 5:13 PM

Peter Parsons said:

You may want to take a look at this Installer:

http://www.activeinstall.com

It is cheaper and better.
# November 18, 2003 5:22 PM

William Bartholomew said:

Just wondering when is the Builder.com article on source code control organization due to be published?
# November 18, 2003 5:46 PM

Avonelle Lovhaug said:

I've considered buying a third party install package, but I've hesitated for the following reasons:
1) They generally seem to be pricey.
2) I generally cannot verify that these products (Install Shield, Wise, whatever) include the features that will be important to me. Almost all the development work I am doing is either ASP.NET applications or .NET Compact Framework apps. While I can find information on .NET CF support, there is usually not a lot of information about creating ASP.NET app installations.
If I am going to pay a lot of money for something, it had better include features that will help me with the kind of installations I need to create.
# November 18, 2003 5:49 PM

Robert McLaws said:

I just submitted it yesterday, so as soon as I get confirmation, I'll post it here.
# November 18, 2003 5:50 PM

Robert McLaws said:

AMEN Avonelle!
# November 18, 2003 5:51 PM

Shannon J Hager said:

I may be in the minority here, but when I use a server control (or a code sample or anything related), I want it to come in a ZIP file, not an EXE, not an MSI. I do not want to install it, I want to copy and paste it into the directory I want to put it in as needed. I want to add it to the toolbox myself IF I want it there.
I can not tell you the number of times I've downloaded an application (like the ASP.Net start kits, for example, but there are innumerable others) or a piece of code or whatever and saw that it was an MSI and sent it straight to the ether with shift+delete, do not pass the recycle bin, do not collect $200. SharpReader, Firebird, the SnippetCompiler, those things come in a zip and I have control over them. That is how everything should come. For those who do want/need that control, offer an MSI.
# November 18, 2003 9:24 PM

Avonelle Lovhaug said:

Shannon - I don't think you are necessarily wrong. It just would be nice to have options - something you don't really have right now. Certainly in the case of server controls, it would be good to have the option to have the server control automatically register in the toolbox. The installation instructions required for third party controls right now can be quite lengthy, and there is no reason I can see why that can't be greatly shortened, except that the current tools make it too difficult to implement.
I'm not creating server controls that I'm reselling, so I admit that my concerns about installations are somewhat different from Robert's. For a list of the top 5 things that I think could be improved when creating web setups, look at: http://www.coolbits.nu/238.aspx .
# November 18, 2003 10:01 PM

Frans Bouma said:

" Sorry Frans. I'm going to listen to Microsoft on the issue before I listen to you."
That's of course your choice :)
# November 19, 2003 10:07 AM

JosephCooney said:

I always wondered what GENX.NET had to do with Gen<X>....It seems nothing.
# November 19, 2003 8:52 PM

Anonymous said:

Where's the MainMinusRobert.rss feed?
# November 19, 2003 9:19 PM

Robert McLaws said:

Everyone is entitled to their own opinion. You can always subscribe to individual feeds if you don't want to see everything.
# November 19, 2003 9:26 PM

Robert McLaws said:

Joseph, are you referring to the program by DevelopMentor called Gen<X>?
# November 19, 2003 9:26 PM

JosephCooney said:

Yes. When I first read about GENX.NET I just assumed it was related. The more I read about it the more it would seem that it is not. I know X-Code.NET and CodeSmith are inspired by GenX but I (incorrectly it would seem) assumed yours was too (heck, maybe it IS and I still don't "get it"). Don't worry about Anonymous - you took the time to write some stuff about your product and the thought processes that went into the design. I'm interested in your insights. There may be a certain "infomercial" aspect to it, but I hardly think you're alone in that regard. And you only have to look at the sidebar on weblogs.asp.net to see that you're not the most frequent poster by a long shot.
# November 19, 2003 10:55 PM

Robert McLaws said:

Thanks Joseph. Yeah, I'd agree with you there, it is a lot like an infomercial. Thing is, I've been talking up and down for a year about how cool the stuff I've been working on is, and nobody has seen any of it. Now that I have code out there, it's nice to be able to back up my mouth for a change. Besides that, I do sell products, but I'm not trying to sell people on the product as much as I am on the concepts and methodologies that we use. If they buy a product because of that, then right on. If not, they become better coders, and that is better for everyone.

In regards to GenX.NET, it was actually a name that I came up with before I was involved in the .NET world to the degree that I am now. The initial version of the product generated excel files, hense the name. The big green X in the logo is actually a highly styleized version of the Microsoft Excel logo. A tribute to our roots. I considered renaming it because it's really not the same product as it was before, but it just didn't seem right. It'd be like giving me a different name just because I'm not the same person I was a year ago.

And I don't ever worry about "Anonymous". If he wanted me to be worried about him, maybe he'd chose to get a backbone and identify himself.
# November 19, 2003 11:08 PM

JosephCooney said:

Re: GenX & GenX.NET, the logo was the first thing that tweaked me to "hey, maybe this has NOTHING to do with generating code". It is a perfectly appropriate name for what it does (or what it did), and (while I don't want to say it's not original) it is not the most unusual name on the face of the earth (especially considering what it does).
# November 19, 2003 11:46 PM

Travis Laborde said:

Why let a few stuffy people who won't hire you anyway bother you? While I'd agree that it does come off as sounding like you are "tooting your own horn," anyone who is put off by you simply because of that, frankly, isn't worth your time. It's a good story. I'd stick with it. Look how popular DatagridGirl is :)
# November 20, 2003 2:47 PM

Bruce said:

Its your brand, now - keep it. You won't be the first person to toot your own horn; anyone who really cares can read your blog and form their own opinion.
# November 20, 2003 3:01 PM

Sean Wilkins said:

Hey if you don't "toot your own horn," who will? If you can back it up then I really wouldn't care who says what! Great stroy by the way!
# November 20, 2003 3:05 PM

Anita Rowland said:

it's only part of your title here, it's not the domain name or URL. You can always change it later. I link to you as Robert McLaws, anyway.

The only downside is what you want to be calling yourself in ten years or so, when you aren't so boyish. Not so cool to be an aging child prodigy or superannuated boy wonder.
# November 20, 2003 3:24 PM

Paul Wilson said:

Keep it. I can't speak for your other naysayers, but I never even noticed your title, so that's not what my issue is at all.
# November 20, 2003 3:36 PM

Don Kitchen said:

Be careful, you may find Michael Jackson surfing on into your blog, confused by the title ;)
# November 20, 2003 3:42 PM

Robert McLaws said:

LOL. Well I'm not dumb enough to get in bed with him.
# November 20, 2003 3:44 PM

Justin said:

"I know what I think, what do you think?"

I think you just spent 4 paragraphs talking about yourself and something as irrelevant as a blog title. No wonder people think you're a narcissist.
# November 20, 2003 3:46 PM

Justin said:

By the way, what happened to the scrolling grid? I was gonna buy it. Didn't see anything in your blog about removing it. Is it gone until January 04?
# November 20, 2003 3:48 PM

Frans Bouma said:

I second Paul Wilson. :)
# November 20, 2003 3:59 PM

Robert McLaws said:

LOL. No I'm still wrapping up ScrollingGrid. Ran across a few more loo ends to tie up in regards to the installer and and users guide and what-not. Like I said in an earlier post, there is more work to productize a solution than most people realize.

That having said, I'm hoping to be wrapped up this evening, and it will be live on the site sometime in the early morning tomorrow.
# November 20, 2003 5:01 PM

bukit lawang said:

I did assume it meant hey I'm a 21-year-old genius, everyone look at me.

Wonder I took to mean a self-described programming wizard.

But it didn't bother me too much. Some people like to blow their own trumpet and some are self-effacing; there is room for everyone
# November 20, 2003 6:30 PM

Xaphod said:

Thanks, Joshua.
That was just what I was looking for!
And thank everyone else for the efforts.
Good thread!
# November 20, 2003 6:50 PM

Paul Glavich said:

I personally dont care if you call your blog "Kneel before me, ye coding peasants". I didn't notice the title until you pointed it out. Dont think it matters really. Those who are offended/annoyed, are probably annoyed with you at something else. I am sure they can deal with it.

And I am sure they still read your blog...
# November 20, 2003 7:10 PM

William Bartholomew said:

Doesn't the Configuration Application Block allow you to write to the app.config files? I tried using it once and couldn't get to work in 30 seconds so I gave up for a while but i've been meaning to have another look because you can store your configuration in SQL as well :)
# November 21, 2003 12:11 AM

Rory said:

"The project I was a huge project consisting of 5 fairly large subprojects. They all had to be finished in a month. And the problem was, the requirements kept changing on a daily basis..."

That sounds like my current contract, except that everybody calls me "asshole."

If they called you BoyWonder.NET, then count your blessings.
# November 21, 2003 12:18 AM

Jeff Julian said:

Keep the name, because Newsgator will supply it's users with a BRAND NEW FOLDER when you change it :)
# November 21, 2003 8:48 AM

Adam Kinney said:

Boy it must have just broke, because I don't see any sessions on there.

Thanks a lot BoyWonder, you broke it! ;)
# November 21, 2003 4:33 PM

Robert McLaws said:

LOL. Sorry... it works fine over here...
# November 21, 2003 4:37 PM

Rory said:

Right on, mister.

This was my first PDC, and I went with the intention of attending every single session, even if those silly "laws of physics" said that it was impossible.

By the second day, however, I realized that just hitting the sessions that you *really* wanted to go to, and then spending the rest of the time getting shnockered with the cool people you met, was the best way to spend the time, and I think it was worth every penny.

Especially getting to watch BenjaminM do his stellar "Marc Canter at the Blogger BOF" impression in the bar at the Wilshire - That validated the entire trip for me.

Yup. Good stuff...
# November 22, 2003 2:55 AM

Robert McLaws said:

:-D Yeah that was great.

By the way, it was great to meet ya. It was very interesting to hear your theories on the connection between the moon landing and the porn industry.
# November 22, 2003 2:58 AM

Tom said:

PDC sessions hosted on Apache/UX. Hilarity ensues.
# November 22, 2003 9:49 AM

Tom said:

change it to "people keep farking with me and its annoying so i am now the blog formerly known as boywonder.NET"?
# November 22, 2003 9:54 AM

Shannon J Hager said:

Your feed is still labeled "SpongeBob .NETPants" here...
# November 22, 2003 6:03 PM

Robert McLaws said:

No one named the movie. It was Monty Python and the Holy Grail.
# November 22, 2003 9:09 PM

Brian Desmond said:

MSMs are actually pretty easy to deal with, albeit I've never tried to use one in VS' installer wizmo. I think the issue is that if VS could build the best MSI out there, then InstallShield and Wise would have issues - Installshield and Wise make great stuff, I use Installshield stuff every single day.
# November 23, 2003 1:42 AM

Robert McLaws said:

Yeah, but Brian you have a fairly wealthy school district's budget behind you. I don't want VS to be the best MSI builder out there. I just don't want it to be handicapped because there are ISVs that make a product too. If that is Microsoft's justification for crippling it's deployment capabilities, then MS better come up with another answer.
# November 23, 2003 2:39 AM

Robert McLaws said:

Hey guys,

Just wanted to let you know that ScrollingGrid is now online and ready for you to test drive. Check it out at http://www.scrollingdatagrid.com
# November 23, 2003 3:56 PM

Robert McLaws said:

Hey everyone,

Just wanted to let you guys know that ScrollingGrid is now online. I'd like for you guys to give it a test drive, and tell me what you think. It's available at http://www.scrollingdatagrid.com.

I'm really anxious to hear what you think about it.
# November 23, 2003 3:59 PM

Roy Osherove said:

Congrats! It looks really cool! Suggestion: put up more screenshots with various propeties changed to make people's eyeballs pop out. Betst thing is you can show the setup code for the demo page in vb.net and c#.
# November 23, 2003 4:27 PM

Robert McLaws said:

Thanks Roy. I realized that this morning after I put it online, but haven't had a chance to update the docs or user's guide. That will be my first change this evening.
# November 23, 2003 4:32 PM

Scott Galloway said:

Rober, there appears to be an issue with the links from your 'demo' section (e.g., http://demos.interscapeusa.com/Products)
# November 23, 2003 5:02 PM

Blair Stephenson said:

It didn't worry me and I've hardly noticed the title.

One thing I would see though, it makes you sound "young". It doesn't worry me, but you might find in a few years you don't want boy in your title.

I basically see you by your name "Robert McLaws" as that's what I see in my Aggregator.
# November 23, 2003 7:20 PM

julie lerman said:

nice job - and I finally cruised around your main website and learned all about GenX.NET.
Congrats.
# November 23, 2003 7:20 PM

Navin Pathuru said:

Just want to know what is so special about this other than Scrolling.

Thanks,
Navin.
# November 23, 2003 7:47 PM

Robert McLaws said:

Thanks Scott, I'll fix that right away.
# November 23, 2003 9:55 PM

Robert McLaws said:

Navin,

Well, I think it's special for several reasons.

1) It's cheap.
2) It's cross-browser compatible (no HTCs here).
3) It's simple (no external scripts or images to deal with... everything's internal) .
4) It's focused (no extra paging or sorting features... it just scrolls) meaning there is no feature bloat to jack up the price.
5) It works with your existing DataGrids (didn't re-invent the wheel).

That's what I think. I'd like you to download it and tell me what you think. Your feedback is extremely valuable, and helps drive improvements to our products.
# November 23, 2003 10:09 PM

Justin Rudd said:

Just FYI...

Your RichContentRotator doesn't appear to render properly on Mozilla Firebird 0.6 or 0.7. Most of the bottom of the image is cut off.

Also doesn't look right on Safari on my iBook. The same problem exists.

The online demo of ScrollingGrid itself does render properly in the above mentioned browsers.
# November 23, 2003 10:21 PM

Ali Parvaresh said:

I do like RSE as well:)
But who can make it?
# November 23, 2003 11:02 PM

JosephCooney said:

Hi Justin - I didn't notice any problems with the scrolling grid demo http://demos.interscapeusa.com/ScrollingGrid.aspx in Firebird 0.7 (on windows, not that it should make a difference right?). Or am I looking at the wrong demo?
# November 24, 2003 12:05 AM

TrackBack said:

# November 24, 2003 1:06 AM

Ian said:

check out upcoming.org ..
# November 24, 2003 1:11 AM

Robert McLaws said:

That's realy nifty, but what I want is a modification of RSS designed for calendars, not an RSS calendar feed. RSS has issues with parsing dates that makes it not the best candidate in the world.

Also, time zone issues would need to be addressed, which the RSS format does not allow for. I don't think an RSS module is the best solution. I think a new format would be.
# November 24, 2003 1:23 AM

Me said:

The column headers don't line up with the data.
# November 24, 2003 2:58 AM

Robert McLaws said:

I've discussed the reasons for that in several prior posts. For further information, I'd suggest downloading the trial version and reading the User's Guide.
# November 24, 2003 3:05 AM

Anonymous Coward said:

Rob,
I am curious to see what kind of success you get from selling your control, which is clearly something many web developers are interested in. Do you feel comfortable sharing you sales figures in future blog entries? I think many of the developers here have wondered how successful their tools/controls/apps would be commercially, and hearing about your experience would be valuable.

Thanks.
# November 24, 2003 3:09 AM

Martin said:

It does not work with Opera.
# November 24, 2003 3:16 AM

Julien CHEYSSIAL said:

Well... Your dream already exists ! Why don't you check out over http://purl.org/rss/1.0/modules/event/ ?

MyBlogroll.com, my online aggregator, which will be released soon (2-3 weeks) under application service mode, already supports that. Stay tuned.
# November 24, 2003 3:18 AM

Robert McLaws said:

AC,
That's interesting. I'm not sure, I'd have to discuss that with my CEO. We'll have to see how well it does. I will say that I hadn't even talked about ScrollingGrid before I went to sleep this morning (at 10am) and when I woke up at 1pm, we had already sold a copy.

Martin,
Can you send me a screenshot? We've tested it in all versions and it renders (relatively) predictably in all browsers.
# November 24, 2003 3:19 AM

Robert McLaws said:

Julien,

The Event Module is still flawed, because it does not allow you to specify start times, end times, or durations. It also does not handle time zones, or an aggregator that will calculate the actual start time from your time zone. It's only a partial solution.

I'll be interested to see what MyBlogtoll.com does. Somehow, if it uses the Event module, I fear it will not do what RSE would conceivably do.
# November 24, 2003 3:27 AM

Justin Rudd said:

Hi Joseph,

The ScrollingGrid works fine. It is the RichContentRotator that i was talking about. The images are cut off. It just looks like a positioning/layering problem. Probably the CSS that Robert is using.
# November 24, 2003 10:25 AM

Robert McLaws said:

Actually, it's the way RichContentRotator renders it's divs in the mode that we are using. I'm going to have Miljan over at Cyberakt take a look at it and see what's going on.

The problem stems from the fact that, because of the random image effect, we don't know how large the image is going to be. That part of teh site's design is supposed to dynamically resize the gray area to fit the image. But in RCR, if the div renders without overflow information, it will not resize, and just cut part of the image off. They fixed that problem for IE, but they might not have properly addressed it in Firebird.
# November 24, 2003 10:53 AM

Bruce said:

Looks good. One constructive criticism - my mind tends to look at the bar on the right as an "ad bar" - not suprising, since its topped by the ad rotator. Unfortunately it means I tend to ignore it, and this is particularly sad on your "Products" tab, where the bar on the right is the only way to actually see what the products are. I suggest either actually listing your products on the main page of the products tab, or put in big letters (with an arrow) - "See our fine array of products listed here on the right!"
# November 24, 2003 11:05 AM

Robert McLaws said:

Bruce,
That's great feedback. Let me ask you something. Did you notice our Codeside Assistance brand at all? What can we do to make it more prevalent on the website? If you did see it, did you understand what it meant? Did you click on it to see what that page was all about?

Right now, the products home page shows the philosophy of our products.... would you rather see just a list of products, or a combination of the two? What would make the most sense to you to showcase what we have?
# November 24, 2003 11:11 AM

Andrew said:

Can you show the markup that is used for your sample and a screenshot of the design view?

Does you control still use a dialog window to add/modify columns?
# November 24, 2003 11:41 AM

Scott said:

FYI: I tried the online demo in Opera 7.2 and it worked just fine.
# November 24, 2003 12:41 PM

rick said:

RSS 2.0 allows namespaces. Create an events namespace with the properties you need (start time, end time, duration, whatever). So, it has the extra properties for your RSE aggregator app, but it can also be read just fine by today's RSS apps.
# November 24, 2003 1:10 PM

Me said:

Nice try but no cigar. The columns headers don't line up in many real-world scenarios including your online demo. OK for a proof of concept, but not a true solution. Examples where it doesn't work:
- Column width specified in the CSS class
- Column widths specified in different units
- Column widths specified as percentages i.e. expandable.
# November 24, 2003 3:35 PM

Robert McLaws said:

Thanks for the feedback. Because the rendering is handled server-side, the control can't read the CSS data to run the mathematical computations involved in re-creating the header. We're working on a solution to that problem for the next point release, which will be out later next month, and will be a free upgrade for all users.

As for percentages, the User's Guide specifically addresses why that is a bad idea. The foremost reason is because you can't control how the percentages are going to work together. The header is an entirely separate table, therefore it affects everything else differently than it would a standard table.

The goal of v1 was to render using only the Framework. Any limitations of that area a direct result of the limitations of the Framework, and the limitations of how HTML is processed in the various browsers. The goal of V2, due out in early 2004, is to use browser-specific client-script to help overcome those limitations.

The bottom line is, you can't have a sloppy UI and expect ScrollingGrid to work. You're going to have to get control of your interface to have the best experience possible.

And hey, we're always open to assistance. If you think you can solve the problem programmatically, then contact me and I'll see what we can do.
# November 24, 2003 4:05 PM

Vazz said:

Maybe you want Chandler - "Chandler's peer-to-peer calendaring system will enable any subgroup of Chandler users -- a small business, a study group, a non-profit's board, or even people planning a surprise birthday party -- to efficiently schedule meetings, browse the calendars of others, and see overlays of multiple calendars simultaneously." But it is way from complete. http://www.osafoundation.org/Chandler_Compelling_Vision.htm
# November 24, 2003 4:13 PM

Scott Galloway said:

You mean the guy in charge of the team is using a version that's not almost 4 months old... ;-) Looks nice though, can't wait to be able to use in production.
# November 25, 2003 12:32 PM

Avonelle Lovhaug said:

I don't have any recommendations yet. However, I did send an email to InstallShield about their InstallShield Express tool, which is only $249 (after rebate) until the end of the year. I'm basically trying to figure out if the product will meet some/most/all of my needs. Also, http://installsite.org has some useful information about creating installations, including a list of various available tools, and a feature chart that didn't really help me, but might help you a little since your needs are different. You have to click on "Authoring Tools" link in the "Popular Topics" section of the page (lower right hand corner).

# November 25, 2003 12:46 PM

Prakash S said:

Funny! I was thinking of the same thing just yesterday.
# November 25, 2003 1:19 PM

Tobias Luetke said:

Try nullsofts installer, Its free, fast, small, easy, powerful. Definatly more powerful than installshield, wise and all that.

Indeed its rediculous that they still earn money with their terrible products.

nsis.sourceforge.net
# November 25, 2003 1:26 PM

Dewayne Christensen said:

I worked (fought) with IS Express quite a bit a couple of years ago, and don't recommend it to anyone. We switched to Wise Standard Ed. and it went much better, though still some minor issues. Biggest glaring ommission of ISX: can't create merge modules. I don't have any knowledge of ActiveInstall, though.
# November 25, 2003 1:33 PM

Avonelle Lovhaug said:

Well, my needs are different than Roberts (see: http://www.coolbitsvm/238.aspx for some specifics). But it is good to get some real feedback on the product, so thanks! It is kinda funny, I used the InstallShield website to ask a few questions about the product, and I hadn't heard anything back from them for days. Then, today, I received four emails about it. None have the answer, however. Basically the first email was from a live person who apologized for being out of the country, and not seeing my email until then. They then forwarded it to their technical staff, and they put it into their "mySupport" system, which has been sending me messages since then, first with login information, next with an update that my request was intered into their system, and finally with an update that my request has been "assigned".
Incidentally, I used Wise many years ago, and I had a fairly good experience with it. That was back when I was creating Windows applications. These days, I'm creating web setups, and most of the time, I could just use XCopy. (Not all, which is why I started looking into other products). But for people like me who don't necessarily *need* an install package, these guys have totally priced themselves out of the market. Which probably explains why they don't provide a lot information about web setups in their marketing materials - why bother, since few people doing web setups care enough to drop $450-$2000 to do it. Actually, $450 is right on the edge of what I might be willing to pay, but since you can't use Wise Standard for creating web setups, I'd be forced to look at the next level, which is up to $1200. Blech.
# November 25, 2003 1:48 PM

HumanCompiler said:

Yah, I think all the screenshots on the ASP.NET Whidbey site are of M3
# November 25, 2003 2:25 PM

Avonelle Lovhaug said:

Oops, posted the wrong link on my last post. Here's the correct link:
http:/www.coolbits.nu/238.aspx
Sorry about that!
# November 25, 2003 2:28 PM

Yves Reynhout said:

I've been using ActiveInstall 2.0 (and 2K4) for a while now. It has support for .NET custom actions (and passing parameters to them), installing into the GAC or as a private component, installing an ASP.NET website/vdir (and alter all the metabase properties), installing a COM+ Application, executing SQL scripts against an OLEDB datasource, customizing the entire ActiveInstall environment via VBA.
I should also say that Michael Sanford (the front man behind the ActiveInstall product) is one cool guy who has invested a lot of himself into this product and will gladly solve any of the issues you have(believe me, I talk from experience).
# November 25, 2003 5:43 PM

Dave Mak said:

Give Astrum Installwizard a try - easy to use and on $49
# November 25, 2003 10:56 PM

Shannon J Hager said:

I can't figure out any way to get the header columns to be the same size as the scrolling columns. Your User Guide does not tell me (I tried reading it as you suggested above) and the Documentation page on your site is 404. The closest I found to instructions/documentation of what TO DO (as opposed to what not to do) is "When defining your DataGrid’s columns, we recommend that, at the bare minimum, you define the width of each header column, as shown in Figure G." Unfortunately, Figure G does not contain the word "width". Saying that "you can't have a sloppy UI and expect ScrollingGrid to work" is nice and all, but how about telling us how we CAN expect it to work.
# November 26, 2003 1:10 AM

Robert McLaws said:

Everyone,
Thanks for all the great feedback. I've just addressed most of everyone's issues in this post: http://weblogs.asp.net/rmclaws/posts/39851.aspx.

Whoever "Me" is (it's not me), we fixed the alignment issue, which I guess would now qualify it as a true solution. Shannon, thanks for the feedback. I addressed this in the new release. Try it and tell me what you think. Hey Roy: The demo is not being done with VB or C#... it's all ASPX (except for the binding, which is no different from regular DataGrid binding).

Keep the feedback coming guys.
# November 26, 2003 5:34 AM

Jimmy said:

I have a new tabletpc compaq tcm1000, and it's wery sloooow with pen pointer and if working with video files....!!
Fx, transfering movi file 1:30min *.avi to mp2 movi, it take about 18:00h time to do that...!
# November 26, 2003 7:57 AM

Paul Speranza said:

Robert,

Have youi seen this demo? http://www.activeui.net/index.html

Its all client side javascript but the presentation is gorgeous. I'll be checking out your grid this weekend.


Regards,
Paul Speranza
# November 26, 2003 8:52 AM

Addy Santo said:

Yeah, ScottGu says specificly in his post: "Below is a screen-shot of what this looks like on a recent build:"

recent build != PDC build :)
# November 26, 2003 11:22 AM

Robert McLaws said:

Paul,

Actually, I have seen it, and it was the reason I created this control. The solution at ActiveUI can take a very long time to implement for new developers, and it not terribly user-friendly. ScrollingGrid is a self-contained server control that is as simple as dragging-and-dropping on a page. You don't have to write any extra code.

PLease try it out and tell me what you think. I'd love to hear your thoughts.

Robert
# November 26, 2003 1:36 PM

David Buxton said:

Have you seen iCal on Mac OS X? You can subscribe to other people's published calendars and have iCal update the subscription manually or automatically at intervals.

Netscape Mozilla, Ximian Evolution and others also support this format.

Apple's iCal uses the ical format for storing and publishing calendar information: a well documented format with considerably flexibility for defining calendar events.

http://www.ietf.org/rfc/rfc2445.txt
http://simon.incutio.com/archive/2002/10/22/lotsOfICalLinks
# November 26, 2003 7:34 PM

Danny said:

There's been a lot of work done recently with an RDF expression of the iCal format. This means that it can be put directly into RSS 1.0 feeds. The benefit over using RSS 2.0 + namespaces is that the relationships between the iCal entities and the RSS (and anything else you might add, like FOAF) is unambiguously defined, and available to all RDF tools.

See:

http://esw.w3.org/topic/RdfCalendar

http://groups.yahoo.com/group/rss-dev/message/6004

There's already at least one commercial app using the RDF version of the format:

http://www.sherpasuite.com/
# November 28, 2003 4:00 AM

The Allmighty said:

Wow Mr Mc Laws you start to be modest person now. Amazing the change ! ' I'm not a terribly advanced coder', 'Hopefully all you intelligent developers'.
What's up doc ?
# November 28, 2003 4:10 AM

Robert McLaws said:

LOL. Is that you, Lord? ;)

I never said I knew a lot about more advanced coding. I'm just taking my first steps into advanced architectures (GenX.NET being the most advanced piece of code I've ever written). I know what I use properties for, and how I write code. I know that the way I code right now, I'd never need to overload a property. That'd be fine if I was the only coder on the planet. But there are coders out there that are far more advanced than me, therefore I might not be able to get by by just blaming the problem on Microsoft.

Look, I don't mean to come off as a know-it-all. Many times, I know what I'm talking about, and confidence gets mistaken for arrogance. Part of the whole "youth" thing I guess. I'll be the first to admit it when I don't know what I'm talking about. So I'm asking all the people out there that know more than I do to educate me so I can make an educated decision.
# November 28, 2003 4:18 AM

Jim Arnold said:

The *VS.Net* CodeDom or the *.Net* CodeDom (ie System.CodeDom)? There's no such thing as a CodeType or a CodeElement in that namespace, which is why I ask. If it's System.CodeDom, I can't find any such bug - the following works fine for me:

CodeTypeDeclaration someType = new CodeTypeDeclaration("SomeType");

CodeMemberMethod foo = new CodeMemberMethod();

foo.Name = "Foo";
foo.ReturnType = new CodeTypeReference("System.String");
foo.Parameters.Add( new CodeParameterDeclarationExpression("System.String", "foo") );
foo.Statements.Add( new CodeMethodReturnStatement( new CodeArgumentReferenceExpression("foo") ) );

CodeMemberMethod bar = new CodeMemberMethod();

bar.Name = "Bar";
bar.ReturnType = new CodeTypeReference("System.String");
bar.Parameters.Add( new CodeParameterDeclarationExpression("System.Int32", "bar") );
bar.Statements.Add( new CodeMethodReturnStatement( new CodeArgumentReferenceExpression("bar") ) );

someType.Members.Add(foo);
someType.Members.Add(bar);

foreach(CodeTypeMember member in someType.Members)
{
Console.WriteLine(member.Name);
}

Aside from that, one good reason I can think of for the need to overload members is to avoid the versioning problems of optional parameters (which are resolved at compile-time rather than at run-time).

Jim
# November 28, 2003 5:33 AM

Robert McLaws said:

I'm talking about overloading properties. For example:

Public Overloads ReadOnly Property Color As String...

Public Overloads ReadOnly Property Color As String...

It looks to me like the problem exists when you're trying to read existing code, not create new code. I'll see if I can get someone to clarify for me.
# November 28, 2003 11:46 AM

Jim Arnold said:

Ah, are you *shadowing* properties? Overriding a member from a base class with the same name/return type/parameters? In which case, the CodeDom will probably only return members declared *on the type you are enumerating*, and not on any base types. You'll probably have to travel the inheritance hierarchy to find all overridden members.

Jim
# November 28, 2003 12:15 PM

Joe Feser said:

This is a sample of the overloaded property that is not handled correctly by EnvDTE.CodeElements

Default Public Overloads ReadOnly Property Item(ByVal Index As Integer) As Room
Get
End Get
End Property

Default Public Overloads ReadOnly Property Item(ByVal Key As String) As Room
Get

End Get
End Property
# November 28, 2003 1:00 PM

Joe Feser said:

When you perform a foreach (EnvDTE.CodeElement element in Elements)

The first overloaded Property is returned for each instance of the property.

Another words, the count is 2 but each of the EnvDTE.Elements returned in the loop are the first item, the second + item is never returned.

Joe
# November 28, 2003 1:02 PM

Ron Krauter said:

Awesome!
# November 29, 2003 9:36 AM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# November 29, 2003 11:09 AM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# November 29, 2003 2:58 PM

Todd Moon said:

Hehe, a .Net newbie here at work figured that once when he didn't know how to make a template column.

Hehe, the innocent always seem to find novel ways to do stuff.... or the really experienced.
# November 29, 2003 3:04 PM

Paul Wilson said:

Excellent tip Robert. Keep it up. :)
# November 29, 2003 3:57 PM

Phil Winstanley said:

Page_PreRender is your friendddddddd ;)
# November 29, 2003 6:30 PM

Gilad G said:

Great!
I will definitely use that one.
# November 30, 2003 2:00 AM

Philip Rieck said:

This is why I never do the grid.DataBind() in my page load event - Actually, I try to do very little to nothing in the page load on postback. That said, I'll have to look at the XHEO library a bit now.
# November 30, 2003 3:57 PM

Paul Wilson said:

Excellent Robert.
# November 30, 2003 9:11 PM

Robert McLaws said:

I deleted cross-comments and left them in tact on my other blog.
# November 30, 2003 10:21 PM

Michael said:

Dear Rob,

I too had the same problem with a TDK device (ThinkPad Bluetooth UltraPort Module)sold by IBM with drivers from Billionton. IBM does not have their new drivers, and the original installer for Windows XP refuses to install on 2003, apparently due to non-technical (i.e. just licensing) reasons. I contacted Billionton, who just told me they couldn't give me the new drivers even if I wanted to buy them, I should ask IBM instead, which I did, with no answer...

I solved the problem by using the IVT BlueSoleil 1.4 stack/drivers, which installs fine on Windows Server 2003:

http://www.ivtcorporation.com/products/bluesuit/indexsubproduct.htm

This finally solved a problem I had since installing Windows Server 2003 on my development notebook last May. The software looks good: installer, user interface, etc. I hope it will help you with your keyboard/mouse as well...

Regards,

Michael
# December 1, 2003 1:40 PM

Robert McLaws said:

That's great Paul, and a cool addition.

The method I'm using doesn't require a recompilation. Only modifications to the ASPX pages.
# December 1, 2003 8:42 PM

Paul Wilson said:

Mine is a separate assembly, not a recompile of the forums. I'd be happy to supply the compiled dll to interested parties too. What I don't want to do is modify multiple ASPX pages, and mine does not.
# December 2, 2003 7:52 AM

bukit lawang said:

perhaps you could look at version 2.0 instead? v1 is dead.
http://forums.asp.net/Forums/
# December 2, 2003 9:34 AM

Chris Wright said:

Great initiative...we have a couple of devs here including myself who are lot like you guys. Excellent job. We'll be using this scheme on or web site for our products real soon. We are purchasing XHEO today and I hope it works out well for us.

BTW, images are missing on the blog.
# December 2, 2003 11:08 AM

Robert McLaws said:

This can now be found at http://www.patchdayreview.com
# December 2, 2003 11:52 AM

Robert McLaws said:

Forums 2.0 is still in development though, and not really suitable for the production environment.
# December 2, 2003 12:14 PM

eh? said:

these tips have helped you?

but you wrote them.... What about other people's posts?
# December 2, 2003 12:35 PM

Shane Bauer said:

eh?: This may come off as a shocker, but a person can't remember everything. In fact, most people write things down so they can recall them later. Stop trying to bust his post around.

Anyway, good post, Robert. A few of your tips have really helped me out.
# December 2, 2003 12:54 PM

julie lerman said:

I think some people are just laying in wait to dunk Robert again. There is nothing wrong with a collective "reminder" post. Give it a rest!
# December 2, 2003 1:51 PM

Wallym said:

Not quite sure what I did, but I am glad to help.

Wally
# December 2, 2003 2:12 PM

Stop This Insanity said:

We don't want to hear that you deleted a post! Actions speak louder than words.
# December 2, 2003 2:52 PM

Chris Frazier said:

One good action would be to delete Anonymous Cowards' stupid abuse of comments.
# December 2, 2003 4:14 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:46 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:46 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

Dewayne Mikkelson and his Radio WebDog, Shadow
# December 2, 2003 5:47 PM

TrackBack said:

# December 2, 2003 5:52 PM

Steve Hiner said:

For quite a while now my email signature has had:

Success is when you look forward to going to work AND you look forward to going home.

I think that just about sums it up. I am WAY successful by that definition.
# December 2, 2003 8:16 PM

Jan Egil Kristiansen said:

Robert, I don't quite get your critisism of the Events module.

With
<ev:startdate>2003-11-12T14:00:00+0</ev:startdate>
<ev:enddate>2003-12-14T18:00:00+0</ev:enddate>
I can specify both time of day, time zone, and - indirectly - duration, can't I?

But these are generally physical events - I don't need to know the exact time, unless I'm there - so defaulting to local time seems sensible.
# December 3, 2003 6:53 AM

Dave Burke said:

That's good stuff. Thanks for the tip, Robert.
# December 3, 2003 8:28 AM

Dave Burke said:

Agreed on deleting the anonymous comments!
# December 3, 2003 8:42 AM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:58 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:59 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:59 PM

TrackBack said:

Robert McLaws has posted his favorite posts from his first year of blogging. Now I can delete a few bookmarks since he was nice enough to collect them in one place for us; hopefully he'll be just as preductive in his second year.
# December 3, 2003 12:59 PM

David Donul said:

I also agree that it makes sense to maintain separate versions of components for different frameworks. You might want to cover having two different project files that point at some of the same source files as a way to share common code, and not have 2 completely separate source bases to maintain.
# December 4, 2003 1:26 PM

Me again said:

I believe your requirements are contradictory:

a) Cross-browser so no client-side stuff
b) the obvious but unstated requirement that headers must line up with columns.

All design is trade-off but I think you can't achieve both (a) and (b) except in a specific limited set of cases (as a minimum fixed column widths, probably specified in pixels, not specified in CSS).

I'd want to add a requirement to hide the scrollbar unless it's needed, which also adds difficulty as the scrollbar width depends on the client PC display settings which are not available to you on the server (OK it's true the majority of users don't change it). And I'd also want to see columns aligned when the page is printed, preferably without the scrollbar.

I think to get an acceptable solution you'd need client-side script, so in many environments (especially Intranet) an htc solution is more likely to give acceptable results.
# December 4, 2003 2:12 PM

Robert McLaws said:

Since your comments are insightful I will leave them, but I've decided that I'm no longer keeping comments unless the commenter is clearly identified.
# December 4, 2003 2:34 PM

Robert McLaws said:

It worked much better with the [TARGETDIR] property, although you have to be careful because of leading and trailing slashes.
# December 4, 2003 5:04 PM

Johnny Hall said:

Hi. Your online demo isn't working:

"The located assembly's manifest definition with name 'Interscape.CodesideAssistance.ScrollingGrid' does not match the assembly reference. "

Thought this was the best place to let you know. Sorry if it isn't.
# December 4, 2003 5:10 PM

Robert McLaws said:

No, that's perfect. Thanks for the info, I'll check it out right away.
# December 4, 2003 5:14 PM

Robert McLaws said:

Fixed, thanks :).
# December 4, 2003 6:10 PM

Juraj Pivovarov said:

Thanks for posting this thread guys. I used an XMLTextWriter, with a StringWriter, and I got output that said [encoding="utf-16"]. For some reason, this would turn into binary garbage sometimes within visual studio.net. I changed it manually to utf-8, and VS.NET seemed to be a lot happier. The trick now was how to get the default output to say "utf-8" and not "utf-16". I used the StringWriterWithEncoding class and that seems to work nicely (but only found this post after trying to set the readonly property and seeing no good work arounds).

Anyone else notice VS.NET acting strangely with good XML?

Juraj
# December 4, 2003 10:32 PM

Doug Thews said:

Yes, a common performance improvement technique (not quite related to your problems) is to remove processing from the Page_Load event. Use the Page_PreRender event whenever possible.
# December 5, 2003 12:53 AM

dinkum said:

Er, I fail to see how this is Sun's fault. How many MSDN subscribers do you think care about Office 2000, Windows 98, and NT? Microsoft is probably just reducing the size of the MSDN disks to cut costs and make room for the new stuff.
# December 5, 2003 1:05 PM

Robert McLaws said:

No, dinkum, this is because of their support of the Java runtime.
# December 5, 2003 1:18 PM

Robert McLaws said:

Dinkum,

How can you give that as an answer when you can still download MSDOS 6.22 and Windows 3.11?
# December 5, 2003 8:03 PM

TrackBack said:

# December 6, 2003 3:22 AM

Randy said:

Glad I never got around to throwing out all those old MSDN CD's that I've kept from 99. Looks like they'll be useful after all.
# December 6, 2003 9:37 AM

noxa said:

I tried the BlueSoeil drivers a month or two ago (when I got my MS BT desktop set) and it would recognize the mouse/keyboard as existing, but never establish a connection and allow me to control my computer. Has anyone tried them on their machines? (It may have been a configuration error on my part, or just a bad install)

To those who say 'no 2003 as a desktop', think of developers. It's much easier (in regards to speed and configuration) to debug a complex application when everything is sitting local. It just so happens that I would like to use my sexy new keyboard/mouse on my development machine - kind of pathetic that I can't.
Having used 2003 since beta 1, I can say it's the most robust and stable environment a developer (Windows based, anyways) can dream of; trading it down for Windows XP is like trading your fancy new Jaguar for a minivan.

Hmm maybe later tonight I'll try this again - if I get it working, I'll post up a message.
# December 6, 2003 4:18 PM

Ian said:

We use the COM interface to the metabase to add extension mappings during our install.
The code is straight C/C++ and I *think* the Set just becomes a Get for your purposes (we may actually do a get first to see if we need to do the set!)

If that sounds useful I can dig into the Source tree and pull the code..

drop me an email, or throw a comment somewhere (your blog or mine)

And yes, it's a giant clusterf.
# December 6, 2003 8:58 PM

Brian Desmond said:

Would you settle for using ADSI? I can figure out to do it with that easily enough.
# December 6, 2003 9:07 PM

Robert McLaws said:

I'd rather not use COM Interop because it requires the assembly to have full trust. Sounds pretty nifty though. Anyone got any other ideas?
# December 6, 2003 9:09 PM

Robert McLaws said:

Yeah Brian, that would work too. Just need to do it throught the Framework. It's for a component I'm working on.
# December 6, 2003 9:09 PM

noxa said:

Tried it, and it worked - to an extent. The mouse was easy to connect, the keyboard a bit harder. You have to hit the button on the keyboard, 'Refresh services' in the listing, then right click and 'Connect as -> BT HID', otherwise it asks you for a passkey that doesn't exist.

The 'to an extent' comment comes from the fact that the BlueSoeil system uses it's own drivers for the keyboard/mouse, not the MS ones. This means that the added functionality of both is removed - no 4/5th mouse buttons or extra keys on the keyboard. Understandable because Intelli* doesn't kick in, but it sure does take a lot of value out of the set. I've been using the Intellimouse Explorer for 4 or so years now (have a first gen sitting right next to me), and living without those two buttons would be death :)

I tried swapping the BlueSoeil drivers with others, but it doesn't work, so I guess this leaves me with two options:
1) Don't use the set
2) Don't have all the cool features that make the set worthwhile over a generic $20 wireless set
3) Wait until Q3 2004 for XP SP2 and rumored Win2k3 BT drivers
4) Hope someone found a way to get it working without BlueSoeil

:|
# December 6, 2003 10:27 PM

Shane Bauer said:

using System.DirectoryServices;

public void GetMaps(int site_index)
{
DirectoryEntry ent = new DirectoryEntry("IIS://localhost/w3svc");
DirectoryEntry child = new DirectoryEntry();
child = ent.Children.Find(site_index.ToString(),"IIsWebServer");
Array arr = (Array)child.Properties["ScriptMaps"].Value;
foreach(string map in arr)
{
// do whatever here
}
# December 7, 2003 5:55 PM

Shane Bauer said:

forget my ending brace, but oh well. You know what I mean. ;)
# December 7, 2003 5:56 PM

Slavo Furman said:

Hello!

Try look on IIS6 Resource Kit (should be freely downloaded from MS). There is a chapter on WMI access to IIS.
# December 7, 2003 9:59 PM

Andrew said:

Why do you need WinForms console?
All write ASP.NET applications
(declarative programming) now so why bother?
# December 8, 2003 4:36 AM

Robert McLaws said:

?

I mean that I want the WinForms control that you use inside the Workspaces to manage your source code should be a stand-alone executable as well.
# December 8, 2003 4:43 AM

Vazz said:

Do you want this? workspaces.gotdotnet.com/wksalone
# December 8, 2003 5:38 AM

AndrewSeven said:

(I've been posting as "Andrew", but it isn't a unique identifier, so I'm using something closer to my hotmail addy)

I have two issues with the recent and massive influx from gotdotnet.

1. I really only follow the main feed, so as the number of posters increases, the way I use the site stops working.

2. Such a rapid and dramitic change in the population changes the culture. There is a reason people use one blog and not annother, it is a culture/style/taste difference.

I like the idea of having MS employees around the place (there were already several here), but I would much rather have them as free individuals than as MS(tm) Employee#123.







# December 8, 2003 9:21 AM

Fabrice said:

Andrew is onto something here with his point number 2. Not only the image of weblogs.asp.net is changing, but the culture will also change.
But at the same time I'm typing that, I know very well that ScottW naver made a selection when he created new weblogs here. The culture settled up by itself from the different people here little by little.

The big difference now is that there will be a new balance because the ratio of Microsoft employees gets much higher than before.
There will still be a community, but a different one. Until now, it was more a community of people doing things with .NET and learning the technology. Now it will likely be a community of people expecting things from Microsoft and Microsoft expecting things from this community.
Is that bad or good? Both probably, but what's for sure is that the community is changing.
# December 8, 2003 7:31 PM

Frans Bouma said:

What's open about XAML's advice inquiry? Do you know how Microsoft works? Do you really think they don't have a design paper, authorized by a bunch of PM's, but need the public to guide them into a direction?

They need feedback to CHECK whether their design works or not, where it needs a little change (which requires in-depth advice). When some company asks you to give advices about a product design, do you do that for free? I guess not.
# December 9, 2003 4:44 AM

I hate Frans said:

I guess you don't either Frans because your product is a piece of crap.
# December 9, 2003 8:48 AM

Ben Lower said:

Frans: I don't think MS needs us to direct them at all. They have the market research, technical know-how, and man power to do whatever they want. I believe them when they say that they want to get feedback to see if the direction they're taking works for us. Isn't that the smart thing to do?
# December 9, 2003 12:04 PM

Kevin Hammond said:

Hey, we're pretty free ... NDA's not withstanding :-)

I'm am *very* intrigued by the comment relating to community and cultural shift. I see no reason why it still can't be a group of people doing things with .NET and learning from the technology. The mere presence of an increase in Microsoft employed bloggers shouldn't kill that.

This brings up an interesting twist, IMHO. Can one look at RSS feeds as one big, aggregated XML application, independant of the actual hosted location? On the surface, I suppose that answer is a resounding, "No." But what if everyone were to move to aggregators to read content? The community of a set of bloggers at a given hosted site would, I think, suffer as they identity would be lost to the aggregator.

I'm going to watch this closely, becuse the last thing I want to see happen is community suffer.
# December 9, 2003 12:08 PM

Robert McLaws said:

Ben,

You hit the nail right on the head. That would be the smart thing for any company that wants to make any money to do. It doesn't matter how well the software works for THEM... if they're moving back to a platform strategy, then that means more people will be using what they create than before, to build rich systems on top of it. If MS doesn't do this the way people are going to want to use it, who will build off it? Not the best way to drive sales.

When a company with $40B in their pocket comes to you asking for advice, you should be freakin honored. Anything less than that is petty and childish.
# December 9, 2003 12:34 PM

Ryan Rinaldi said:

There is a small typo in your KB article. The last line says "Your Web Server and SQL Server should not be able to participate in coordinated transactions". I believe you mean "...Web Server and SQL Server should NOW be able...".

Other than that, congrats on the published KB article.
# December 9, 2003 4:42 PM

Robert McLaws said:

WHOOPS! LMAO that's too funny. I'll get that corrected right away. And thanks. :-D
# December 9, 2003 4:48 PM

Fabrice said:

Currently, a lot of people (difficult to put numbers on that) are still reading weblogs using their internet browser and not an aggregator.
But even if everybody uses an aggregator, some RSS feed like the main feed here at weblogs.asp.net are grouping weblogs, and thus create communities.
# December 9, 2003 5:36 PM

SBC said:

yup.. that's a good one.. there have been quite a few .NET & 'Longhorn' large colorful posters recently and they are not only informative but decorative as well. The one about 'Web Services' was exceptional.
# December 10, 2003 4:58 PM

William Bartholomew said:

The newest Visio at least has the nice pretty icons so you can make a start on at least emulating their style :)
# December 10, 2003 5:31 PM

Julien CHEYSSIAL said:

Well, what I do is downloading all products flash demos available microsoft.com. I then use Sothink SWF Decompiler to extract all those beautiful pictos that interest me. Their quality are excellent since there are in vectorial.
# December 10, 2003 6:15 PM

Peter Provost said:

Also, grab any and all PPTs that you can find (like the ones from the PDC) and rip the images out of those.
# December 10, 2003 11:54 PM

Dennis v/d Stelt said:

And make a cool site where everyone can download them! ;)

I see there are already some people who have these pictures in a PPT slide for their own use. I've got some as well, maybe we can share?

Mail me at dennis.van.der.stelt@logicacmg.com

Thanks!
# December 11, 2003 5:38 AM

Julien CHEYSSIAL said:

I'm OK to share pictos I collected.. Maybe I'll setup a web page somewhere... But what about copyright stuff ? are we allowed to do that ?
# December 11, 2003 8:05 AM

mark veck said:

I don't like to whine, but I would appreciate on-topic posts. It's hard enough to keep track with the .NET stuff. I'm sure your post is great, but people who want to read your personal blog will do so.

Nothing personal.
# December 11, 2003 8:29 AM

Andrés said:

Me gustaría poder preguntar a cerca de las implicaciones y mejoras incorporadas en Office System 2003, para saber si este incorpora visual basic for application o el visual basic .NET para sus herramientas avanzadas.
# December 11, 2003 9:19 PM

Lorenzo Barbieri said:

I don't know why using Strong Names is not supported from the IDE.
I think that is very frustrating not having an easy interface to deal with the entire process.
# December 12, 2003 5:01 AM

OmegaSupreme said:

1. no
2. no
3. no
4. Embarrassed :(
# December 12, 2003 5:19 AM

Paul Bartlett said:

1. Yes - I think
2. Yes
3. Yes, but I haven't looked into the real differences between "test" keys from sn.exe and "real" ones which cost money
4. I think that delay-signing looks something that was added as an after-thought, but is a definite improvement over the even fiddlier process of signing COM components for download that I previously had to use.
There also seems to be some overloading of the strong name mechanism in that sometimes its use just to get things in the GAC, whilst others it's to get some real sense of security. When it's the latter, the danger of making the process to simple is that people will not think hard enough about what is a very difficult issue.
My most recent thoughts have been how to handle strong names in open source development. My current thought is again to go with delay signing, and making the public component of the key available via whatever source control system is in use.
# December 12, 2003 5:48 AM

Dennis v/d Stelt said:

1. yes
2. yes
3. i guess so
4. i don't think anything. i guess it takes some work to get one. I've never used one personally, I just read about them because of my MCAD. :)
# December 12, 2003 6:14 AM

Frans Bouma said:

1) yes
2) yes
3) yes
4) it's not implemented right. sn has a flag, -Vr, which registers an assembly so it will be skipped for signature checking, which means anyone can tamper with the signature. Signatures can also easily be removed from a signed assembly using ILAsm/ILDasm. This is to me the weak spot in this whole matter: when I have an exe (signed) and I want it to use only signed assemblies, signed by me, any person can alter that behaviour. That shouldn't be possible.
# December 12, 2003 6:16 AM

Joel Ross said:

1.) Yes
2.) Yes
3.) Yes
4.) Once you automate it, it isn't that big of a deal. We have a build process that does it all for us, so we delay sign it, obfuscate it, and then sign it once that is done.

I have never looked at any way to get a key other than to generate my own with sn.exe (like buying one), so I can't comment on that. It would be nice if the IDE had more support, but MSDN was (surprisingly) good with it's content about sn.exe and the different methods to sign assemblies.
# December 12, 2003 9:24 AM

Bruce Krautbauer said:

This article, released just this week I think, helped me out a lot: http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dnnetsec/html/strongNames.asp
# December 12, 2003 10:12 AM

Matt Hawley said:

I feel your pain Rob...I too struggled with this and just decided to not distribute a XSD schema with my controls only because 99% of all users wouldn't know 1) where to put the file (if they did it manually) and 2) what to actually put for the xmlns attribute in the body tag. It would be nice if Whidbey and future versions have reflection built in so we don't have to worry about this, or allow control developers a way to embed the XSD as a resource in which the IDE could retrieve. Is this too much to ask?
# December 12, 2003 5:27 PM

SBC said:

good idea Robert.. that would be nice of them..
# December 12, 2003 6:01 PM

Jason Salas said:

Hi Robert,

Great comments. I agree...the custom server control model is way too complicated for the visual environment, so it kind of negates the concept of using an IDE (except for IntelliSense).

I'm commented on this with Microsoft, and trhey said they're already looking at altering the base model for building custom controls and components.
# December 12, 2003 6:06 PM

Bruce Williams [MS] said:

I'm no RSS expert, but I took a look at the XML associated with my feed, and I don't see an 'Author' element. Do you mean <dc:creator>?
# December 12, 2003 6:26 PM

Robert McLaws said:

No, in your personal blog settings, under "Options|Configure". Change the "Owner's Display Name" to your full name.

You don't have any control over your own RSS feed anyways. That's all handled by .Text.
# December 12, 2003 6:43 PM

Brian Desmond said:

Yes, Yes, No, No
# December 13, 2003 12:47 AM

laxmi said:

Thanks Bruce Krautbauer for the link- seems to teach me some thing i did not know :)
# December 13, 2003 5:02 AM

tim said:

"two controls cannot share the same tagPrefix"
i disagree...i have this all the time and is also evident by all the asp controls sharing the asp: prefix...

both in user controls i always have ClientName:ControlName as well as in any server controls.
# December 13, 2003 4:42 PM

Robert McLaws said:

the <asp:ControlName> controls all reside in the same physical assembly. Two controls in separate assemblies cannot share a tagprefix. You have to read the rest of the paragraph for context of the statement you quoted.
# December 13, 2003 4:50 PM

chadb said:

anyone? I'd love to see a repository somewhere...
# December 14, 2003 3:36 PM

William Bartholomew said:

Something I've noticed recently is the HUGE delay with VB.Net when using strong-name keys. To do the error underlining VB.Net recompiles your application in the background to determine where the errors are, if your application has a strong name this will freeze the IDE for a number of seconds, very annoying while typing. A fix is to put a #If RELEASE around the strong name attribute, i'm not sure if delayed signing is quicker, that may be a solution too.

I'm also annoyed by free 3rd party components that don't have a strong name, usually rendering them useless.
# December 14, 2003 5:06 PM

Dennis v/d Stelt said:

Hehehehe, isn't it great? I just read this!!! I didn't know, untill now!!! :)
# December 15, 2003 7:44 AM

julie lerman said:

Robert-
I wonder about your statement that changes to the plan are strongly discouraged. I must be misreading this. I've been a consultant for almost 20 years. Plans change and clients pay for those changes. Otherwise you end up having software that was originally described but may just plain old fail to meet the clients true needs. I'm not even talking about XP but just common sense. What am I missing in your statement?
# December 15, 2003 3:39 PM

Avonelle Lovhaug said:

I like the idea of charging for project discovery. I think something that can be challenging is figuring out when a project starts. (Not always, but sometimes.) I'm getting ready to start on a new project with a firm I've never worked with before, so I may try this out. Thanks!

I have to agree with Julie, though, regarding change. Changing the spec/scope isn't necessarily a bad thing. So long as the customer understands the impact, I don't have a problem with change. In fact, I will often change small things for free. (Depends on the project, the customer, the specs, the expectations, etc.) However, I have found that when I am willing to throw in some small changes for free, my customers are a lot more agreeable when it comes time to negotiate the charges for larger changes. I think this is because they can see how I am willing to be flexible for them.
# December 15, 2003 4:06 PM

Darrell said:

I agree with Julie, I think you need to adjust to change. Our customers' environment changes rapidly, and our job is to enable them to capture value in the marketplace. Maybe I am also misunderstanding how you are doing that.

Second, project discovery should almost always be billed as time and materials. Then the output of that "phase" could (should?) be used as input to a proposal on actually implementing the solution within the given business constraints.

But that's just my two-cents. In the end, if it works, it works! :)
# December 15, 2003 4:27 PM

Fabrice said:

I agree with Robert. If you agree to change the plan for free afterwards, it's the beginning of troubles. As Robert says, everything should be written down and signed and charged. This is what makes the client responsible and think twice about what he asks and what he really wants and when. Thinking twice is always good, and you should not undervalue yourself by giving your clients the impression you can work for free.
# December 15, 2003 4:45 PM

Robert McLaws said:

My response to Julie's comments are here: http://weblogs.asp.net/rmclaws/posts/43686.aspx
# December 15, 2003 5:04 PM

Jesse Ezell said:

someone posted a chart about this a couple days ago... but, the amount of planning time varies inversely with the project complexity (and, I would add, the competence of developers on the project). For a small component, an experience dev may be able to wing it xp style, in which case, 60% of time in the planning stage would be absurd. However, if you are dealing with a large enterprise app, 60% planning might be a very good idea.
# December 15, 2003 6:49 PM

Udi Dahan - The Software Simplist said:

I started with a comment, but it grew into this monstrous entry. Take a look:

This Consulting Business - http://udidahan.weblogs.us/archives/005984.html

btw, the link to part 2 is down.
# December 15, 2003 6:49 PM

Darrell said:

Thanks Jesse, I posted something like that at (http://dotnetjunkies.com/weblog/darrell.norton/posts/4361.aspx). Also note that it is design/architecture *and* problem resolution, as in requirements gathering, settling on what will be delivered, how, etc.

Like I said in the comments to your previous post, if your process works and your clients are happy, great! There is no one-size-fits-all solution.

I have found in my own work that I do not make changes during an iteration (1-4 weeks) until I deliver, at which point I will change direction if my customer wants me to. But billing is also at the iteration level, not the project level, and payment conditional on meeting the iteration goals (not their new goals!). It always takes some time for the customer to get used to, but in general they like it.
# December 15, 2003 6:59 PM

Shannon J Hager said:

I prefer to plan completely before starting a project (not sure how you would give a set fee for discovery, etc, Robert, I charge hourly for that as well), but in a case like the original post, chances are the specifics will be nailed down as the projects progresses. The project I worked on that made me think of his situation the most is one where we had a set time to make the project and the time wasn't very realistic. One developer spent a week writing up her documentation for her first task, she was let go because she had just billed 40 hours for a Word doc and now we were a week down in man hours with no progress. And if we had waited for certain requirements to be decided, certain critical requirements such as maths formulas and some protocol decisions, the project literally would have ended before we could start it.
On most large projects, there is always something to be done while waiting for specifics on other parts of the project.
# December 15, 2003 10:09 PM

TrackBack said:

# December 16, 2003 12:05 AM

tim said:

"If you went through the planning correctly..."

after working in consulting exclusively for the past 7 years, for consulting firms large and small...i can personally attest that "planning correctly" never happens. and that's ok. technology consulting, and development in particular, is an iterative process...*most* large, well educated organizations understand this...and if they don't it is the obligation as a consultant to also play a business consultant role and help this process...

change is something you cannot (and should not prevent). yes, scope creep sucks, but it is a reality. the customer is the business and they drive the business rules...when technology consultants get in the way of the business defining the way they want their solution to work (from a business perspective) because it may impact the technical implementation of that...it is wrong...i'm not saying it sucks, but just that it is wrong. the business should drive the business solution...and the tech people implement as best they can that solution using technology...if the requirements change, so be it...then the implementaion may have to also...

but in the end...you can plan as much as you want and it is never enough. i just finished a project with one of (if not the largest) chip manufacturer...which has a rigid requirements process...and guess what...what was "approved" is not what was implemented in the end...why? because the business changed...and we adapted. and most clients would understand this requires changing the scope, which may impact cost, timeline, resources...and if they don't, then shame on the consultant for at least not explaining this.
# December 16, 2003 1:12 AM

Robert McLaws said:

Don't misunderstand me. Just because I make change difficult does nto mean I make it impossible. I make it difficult enough to make them consider the ramifications of "on a whim" changes.

Someday, I'll have to blog abotu the single consulting job that made me adopt this MO. But not today.
# December 16, 2003 2:24 AM

Amit Kamath said:

# December 16, 2003 5:47 AM

Todd Moon said:

1) Yes
2) Yes
3) Yes
4) Seems ok to me: Make a key, use it to sign an assembly. I was already very familiar with public key signing and tools like PGP, so it seemed perfectly natural to me.

I can only answer Yes to these questions as of two days ago when Andy Smith taught me that I needed a strongly-named assembly so I could assign it Full Trust with the CAS tool to execute unmanaged code.

Too bad the stupid COM object still didn't work!
# December 16, 2003 11:16 AM

Robert Scoble said:

I sent him my templates for him to bootstrap his efforts.

I'm sure his look won't stay this way for long.
# December 17, 2003 3:40 AM

Robert McLaws said:

I'm gonna register Scoble a new web address.... WatchingMyReferrerLogsLikeAHawk.com.

Anyways, I think it kinda looks good. I guess if Marc Canter wanted to borrow my stuff I'd be flattered. Just struck me as kinda odd, seeing his name back there behind all those Marc-related pictures.
# December 17, 2003 3:47 AM

Ray Jingardon said:

Where's the link to the IE overhaul?
# December 17, 2003 9:29 AM

Shannon J Hager said:

I think "legally" is the important thing here. Robert (and the rest of us) could easily steal the images, that's not the point. Getting them legally is the only good way to do it.
# December 17, 2003 11:46 AM

Nick Hodges said:

Here's on for you guys --

Can I have two user controls share the same tagprefix? I.e., can I do this:

<%@ Register TagPrefix="lmx" TagName="ucTopCenter" Src="ucTopCenter.ascx" %>
<%@ Register TagPrefix="lmx" TagName="ucBottomCenter" Src="ucBottomCenter.ascx" %>

or do they all have to have their own, unique tag prefixes?
# December 18, 2003 1:09 AM

TrackBack said:

# December 18, 2003 7:50 AM

dsuspense said:

Windows XP should already have had something like this.
Symbolic links are so needed nowadays for web apps that use template files, or files you want to reside on separate partitions for backup and security reasons.
# December 18, 2003 9:46 AM

JohnW said:

The SysInternals tool is called junction and you can find it at http://www.sysinternals.com/ntw2k/source/misc.shtml#junction

I've used that for a year or so and find it invaluable. Also, the Windows Server Resource kit has a command line util called link.exe which is similar.
# December 18, 2003 10:09 AM

Robert McLaws said:

Great tools, thanks guys!

I'm going to stick with my GUI front-end. You guys can type ut command-line stuff if you want.
# December 18, 2003 12:00 PM

rick said:

actually these are hard links, different from symlinks.

I was using an explorer shell extension called HardLink for this awhile back:

http://mrmills.arsware.org/HardLink/

If I recall correctly, hard links were mainly on unix systems. And NTFS in its posix support introduced the feature with no real support in explorer.
# December 18, 2003 1:02 PM

rick said:

also, hard links will not work across seperate partitions/drives.
# December 18, 2003 1:04 PM

Todd Moon said:

Wow, for the longest time, MS said they would never do this (Pop-Up Manager).
# December 18, 2003 2:01 PM

Richard A Lowe said:

That IS extremely lame, but I'd be interested in seeing the MS description of the problem they are solving with this. Versioning is supposed to handled via having different assembly versions you compile against, is it not? I'd rather see people 'forced' to port code to .NET v2.0 assemblies than be 'allowed' to keep an IDataReader compatible with an IDataReader2 in the same assembly.

Unfortunately MS has a fairly long history of numbered co-versions of APIs from the days of COM.
# December 18, 2003 5:06 PM

Rory said:

"Does anyone else think this is a really lame way to design an API?"

Oh, lord, *yes*.

Oh, dear. Yes.

Oh, no...
# December 18, 2003 5:10 PM

Robert McLaws said:

It's because they want old code to still be able to run on the new version of the Framework.

I'm with you... I think it should break and you should be forced to upgrade.
# December 18, 2003 6:45 PM

Paschal said:

Hey Robert you're not the first to talk about this ! see my post about a question about the popup blocker activation.
http://weblogs.asp.net/pleloup/posts/44416.aspx
# December 18, 2003 7:14 PM

Robert McLaws said:

I never said I was. That doc answers your question. That's why I posted it.
# December 18, 2003 8:21 PM

Robert McLaws said:

I posted an article in the Microsoft Knowledge Base on how to accomplish this. http://support.microsoft.com/?kbid=555017.

Let me know if any of you encounter any problems setting this up.
# December 19, 2003 12:45 AM

Shannon J Hager said:

note to Robert, if the developers get "nasty ASP include errors", chances are that moving to ASP.Net isn't going to help the performance of the site. Bad developers are bad developers.
# December 19, 2003 12:54 AM

Robert McLaws said:

well, it looked to me like the errors were dynamic, and due to high site traffic (cause they were happening randomly right as the SP2 beta e-mails went out. I'm not sure it it was using ASP inclused specifically, but it looked like it between mad refreshing to get the right page. The site would probably perform better under high load if it was in ASP.NET.
# December 19, 2003 1:00 AM

Robert McLaws said:

and what are you talking about? there aren't any bad programmers at Microsoft! <removes tongue from cheek>
# December 19, 2003 1:00 AM

Shannon J Hager said:

My last 3 trips to the MS Partners site were ruined by errors and general inability for the site to do what it was supposed to do. I guess ASP.Net did help, though, since I usually got an insulting vague error message due to .net error handling instead of the error message you were getting on the ASP pages. But I would honestly much rather see a real error than be told to call my representative when the site fails to work.
# December 19, 2003 1:55 AM

Sebastien Lambla said:

An interface is a CONTRACT. If you change the contract, it's a different contract. It's either requiring each application to load it's own version of the framework on the machine (2.0 not being able ot run 1.0 etc), and then in your scheme with 6 versions it becomes unmanageable, or you change the interface and rename it to reflect that.

I prefer more meaningfull name, like IStatefulDataReader or whatever, or just put the interface in a different namespace with the same name. But I still prefer having IBla2 than IBlaEx which always leads to an IBlaEx2. It's the least evil solution to ensure 1.0 apps to work on 2.0 without having two 20meg downloads.
# December 19, 2003 6:31 AM

Simon said:

Any chance of tabbed browsing?
# December 19, 2003 7:23 AM

Richard A. Lowe said:

Breaking changes happen between versions, it's just going to happen IRL (forget that it's an interface or abstract class).

I said I'd *rather* have a breaking change, I didn't say it was ideal. If the interface is truly a contract, then MS shouldn't even consider a new, preferred contract named xxx2. I agree, Sebastian, that they should instead choose a more accurate, focused, meaningful name (IGenericDataReader if they are adding generics for example).

xxx2 is bad because it says: "We are so creatively bankrupt on naming that rather than pick a name (or namespace) that describes what we are achieving with our NEW interface, we are shoving a breaking change into the same semantic space as the old interface"
# December 19, 2003 8:53 AM

Anonymous said:

Sweet!!!
# December 19, 2003 12:57 PM

Darrell said:

Yep. The real power behind Java now is IBM anyway, not Sun. The Sun is setting...
# December 19, 2003 1:09 PM

Derick Bailey said:

and on top of all of that, Sun is picking on a platform that Microsoft will officially not support starting this Januaray, anyways.

Who gives a crap if MS is pulling Win98 due to Java - they were going to pull it due to lifecycle of the product on January 16th anyways. This only means that they are pulling it a month early.

If anyone out there is running Win98 and reading this blog / comment - do yourself a huge favor and upgrade. if MS won't support it, how do you expect any real software developer to support their software on it?
# December 19, 2003 2:21 PM

Justin said:

If MS offered upgrades for $20 it would be pretty safe to assume that somebody would cry foul and play the antitrust card again. Charging that little for the product could be construed as "dumping". They're damned if they do and they are damned (by Sun) if they don't.
# December 19, 2003 3:05 PM

tim said:

clarification: the courd did not rule lawsuits against the fileswappers are illegal, they rules that the lawsuits/subpeonas to the ISPs to identify the fileswappers are illegal.

RIAA could still file against fileswappers if they get their identity, they just can't *force* the ISPs via legal means to do so...they'd file john doe suits similar to how companies do this frequently for posters on company yahoo message boards for posters posting insider info...
# December 19, 2003 3:55 PM

Kent Sharkey said:

Does this mean you'll be adding [Interscape] to yours? :P

TTFN - Kent [MS]
# December 19, 2003 9:29 PM

Robert McLaws said:

Only when Interscape gets as big as Microsoft ;).
# December 19, 2003 9:48 PM

Ron Green said:

I don't see the point. I am more interested in the quality of what you have to say than who the hell you work for.
# December 19, 2003 11:05 PM

Robert McLaws said:

Well, we can't even figure out who they are yet, because their names are like "gnavolo" or something.
# December 20, 2003 12:41 AM

Scott Galloway said:

Hi Robert, there's a good article on this very thing here:
http://dotnetguy.techieswithcats.com/archives/003475.shtml

Basically, you have to allow the ISAPI and enable the correct extensions in the metabase...the article explains it all - and it really works...
# December 20, 2003 6:32 AM

Scott said:

<insert joke about Microsoft and following standards here> :)
# December 20, 2003 11:14 AM

Brian Desmond said:

Since you say that the speed issue is a NIC issue, have you updated the drivers for the NIC? That will generally help with these issues quite a bit. Otherwise, you need to requisition good high-end server class NICs. I use compaq & broadcom in all my stuff, and iot works great.
# December 20, 2003 12:27 PM

Robert McLaws said:

Can't change the NIC cards in the servers without moving from my existing hosting provider. This will not be possible for at least a month.
# December 20, 2003 1:31 PM

Mike said:

Junctions, rather than hardlinks, might help you out more if you just junction the root folder. Its a shame that this NTFS functionality isn't exposed to the user.

http://www.sysinternals.com/ntw2k/source/misc.shtml#junction

usage is junction.exe newfolder rootfolder

# December 20, 2003 2:36 PM

Robert McLaws said:

FINALLY! Someone with solid information about junctions! Cool, I'll have to make a new program that creates a GUI front-end for this tool. Thanks!
# December 20, 2003 3:10 PM

TrackBack said:

Cameron Reilly
# December 20, 2003 3:26 PM

Jon said:

Sounds like you are re-writing System.IO.Directory.CreateDirectory() which says: "Remarks
Any and all directories specified in path are created, unless they already exist or unless some part of path is invalid."
# December 20, 2003 7:40 PM

Robert McLaws said:

Um..... no. Like I said, I was working on a different program, and comparing two different directories, and combining information to get a new directory structure. It was string manipulation, not re-creating the CreateDirectory function.
# December 20, 2003 7:51 PM

Tom T said:

I know this is eight months gone by, but can I install 1.1 and use VS.NET 2002? In other words, can I develop using the 1.1 framework?
# December 21, 2003 1:45 AM

Robert McLaws said:

No. You cannot develop on 1.1 using VS.NET 2002. You must upgrade to VS.NET 2003.

Now, you can install 1.1 and 1.0 at the same time, but each version of VS.NET is tied to it's specific version of the Framework. That will change with Whidbey.
# December 21, 2003 2:03 AM

TrackBack said:

Rob Robinson
# December 21, 2003 5:58 AM

Frans Bouma said:

Who're referring to? Steve Eichert blogs on O/R mappers for ages, and here and there new tools with the same idea (attributes, xml mappings etc., no generator) pop up and go.

However, it's time .NET gets used to these tools. After all, most .NET developers don't know what O/R mapping is (or the difference between ORM and O/R mapping ;) ) and think in DAL, tiers and code generators for stored procedures.

Btw, why haven't you done an O/R mapper yet? ;) ;)
# December 21, 2003 3:03 PM

Robert McLaws said:

LOL Frans.... I'm not touching that one. I've got enough code on my plate at the moment without diving into a field with so many players. Besides, I use one that's not out on the market yet by XHEO, and it works very well for the way I think.

Nah, I'll let everyone else build their own "lightsaber" so to speak, and I'll focus my OOP energies on other things, like the Provider Model.
# December 21, 2003 3:10 PM

Shannon J Hager said:

I am personally waiting for The One to appear, the O/R mapper that makes other projects halt in their tracks and their developers say "nevermind, just use [insert The One O/R Mapper's name here] instead."
Right now there are so many that I don't have time to do the research to decide which to try.
# December 21, 2003 3:19 PM

M. Keith Warren said:

See Post
http://weblogs.asp.net/kwarren/posts/45001.aspx

Yes, it is a right of passage; did you not get the memo?
# December 21, 2003 3:20 PM

Frans Bouma said:

Shannon: so you don't know if 'The One' is already out there or not :) ;)

Robert: ah that XHeo thingy... heard about it (saw it in a demo version). There aren't that many players though. However it takes a lot of time to build one (a year minimum), so 'everybody' and 'their mom' is overexxagerated ;)
# December 21, 2003 3:24 PM

Bryan said:

Why build more? Because most suck, that's why.
# December 21, 2003 3:26 PM

Shannon J Hager said:

Frans, if The One is out there, I will hear about it. I wouldn't see posts to 17 different O/R Mappers, I would see 17 different posts talking about The One O/R Mapper.
# December 21, 2003 7:14 PM

Steve said:

Does this post officially make me Klaus' mom? :) I wrote my O/R Mapper because I didn't like any of the ones that where out there for .NET. As things move forward I'm sure I'll eventually find one I like (maybe just mine). Anyway you should write an O/R Mapper that uses the provider model...thats the path I'm on. Oh and when is Paul over at Xheo going to release his?
# December 21, 2003 7:48 PM

Darrell said:

Just look at the history of bug tracking software. Or build tools. Or any other developer tool.

Developers build developer tools because they understand their needs. And some developer is always saying, "Why should I pay for that when I can build my own! And I will add my favorite feature - the ability to call it from Fortran! Ha ha ha! I'm so much smarter than everyone else that came before!"

And then one day this developer realizes he has to *support* this code. And he begins to curse it, but it's his, so it's moderate cursing, but cursing none the less. And he holds on until someone makes a *decent* open source tool or a vendor makes a tool that his company already has a relationship with (ie, Microsoft, IBM, Rational, et al), so it's essentially free to him.
# December 21, 2003 11:31 PM

Robert McLaws said:

I don't know what Paul's been up to lately. Like me, he's kinda been underground, developing or something. I never see him on MSN anymore.

Darrell - sounds like an ego thing then. The only time I've ever written anything that I would have paid for was when it was extremely out of my reach. Otherwise if it's good and it works, what's the point... if it doesn't have something it needs, by gosh maybe they should talk to the people that wrote it, and they'll add it.
# December 22, 2003 12:02 AM

Brant said:

Yeah I can see it being like the accountant pirates from Monty Python :-)
# December 22, 2003 10:53 AM

Raymond Chen said:

Many of these actually came from some computer magazine (whose name I have forgotten) which solicited these definitions from their readers. I was tipped off by the definition for "mouse arrest", which is a firing offense at Microsoft, not something you joke about having done.
# December 22, 2003 11:36 AM

TrackBack said:

# December 22, 2003 12:26 PM

Jon Galloway said:

Reminds me of "Cruise of the Gods" (http://www.imdb.com/title/tt0346806/ - saw it on a plane).

According to the writeup, Rob and Brent are listed as speakers, not social directors. Bummer.
# December 22, 2003 12:40 PM

Shannon J Hager said:

MyIE2, the Google toolbar, and several other non-MS patches for IE are indispensable to some of us.
# December 22, 2003 7:43 PM

Robert McLaws said:

That's not a patch. A patch fixes bugs or flaws in faulty code. Those are add-ons, which are perfectly fine.
# December 22, 2003 7:47 PM

Shannon J Hager said:

Beautiful! Thanks.
# December 22, 2003 10:53 PM

Matt Berther said:

Robert: while I dont post on weblogs.asp.net, one of my biggest gripes are the "test post" type of messages.

I believe that Scott has made the .Text platform available for download, people should download and install this on their own machines to test plugins and what not, rather than bombarding the main page or RSS feed.

Perhaps you could voice this for me?
# December 22, 2003 11:18 PM

Russ c said:

Regarding Courtesy, Maybe the reason you hadn't heard of the <XMP> tag was because it was obsolete in in HTML 2.0 and Deprecated in the drafts for HTML 3.0 and 3.2 ...
# December 23, 2003 4:19 AM

Russ C. said:

Oh Excuse me ! I forgot to mention that the HTML spec now recommends that you use the <pre> tag instead...
# December 23, 2003 4:27 AM

Russ C. said:

Note to self - Don't post before drinking coffee - Sorry the <PRE> tag doesn't work in the same way. The problem with XMP is that its not guaranteed to work on all browsers and most likely most be future compatible, it would probably be better to use the &lt; &gt; method.
# December 23, 2003 4:45 AM

Robert McLaws said:

Russ,

The reason you can't use the &lt; method is because ALL DHTML TextBox controls have a problem when loading up existing content.... it turns those back into tags. Therefore, you may screw up posts, or the whole aggregated site, if you later decide to edit it, hense the reason for the tip.
# December 23, 2003 4:59 AM

Russ C. said:

Good point, Thats the reason why I use a simple Javascript regex to replace < with &lt; and so on in the event handler.
# December 23, 2003 5:31 AM

Robert McLaws said:

What event handler?
# December 23, 2003 5:34 AM

Russ C. said:

For this page I'd over-ride the On_Click event handler of the Submit button ...
Something along the lines of

onclick="document.textarea.text = document.textarea.text.replace(/\</gi,'&lt;');
document.textarea.text = document.textarea.text.replace(/\>/gi,'&gt;');
if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate();"



# December 23, 2003 5:58 AM

Robert McLaws said:

That is not the problem. The data goes into the database just fine. It even comes out of the database fine and gets put into viewstate just fine. The problem lies in MSHTML and how the DHTML textboxes work when they are loaded up with existing, pre-encoded data.

It's not a problem that Javascript would fix... not that way.
# December 23, 2003 6:01 AM

Russ C. said:

I know what you mean, I had exactly the same problem back in the days of PHP, I just used that regex on either side of loading and submitting the text area and it worked fine. but that was suibtable for that particular problem ...
# December 23, 2003 6:09 AM

denny said:

the link to download is broken....
gives an error message..... and seems to cross link to scrolling grid ?
# December 23, 2003 9:06 AM

Troy Goode said:

Hey Robert, on a fairly unrelated note: If you demo one of your products and get sent to the http://demos.interscapeusa.com/ subdomain, you can't get back out. Every link on the site starts to give you the custom 404.

Oh, and why the mandatory click-through from my RSS reader?
# December 23, 2003 9:17 AM

Robert McLaws said:

Thanks for the heads-up... should eb fixed now. We just updated the site design, and I knew there would be a few kinks to get out.

Sorry for the click-through... I get flamed enough as it is for trying to help everyone out with the stuff that I post, so I figued I'd cut the Signal-Noise ratio down and only syndicate the description. I'm still playing with how all that's goona work, but I think I'm damned if I do, damned if I don't kinda thing.
# December 23, 2003 9:22 AM

Darrell said:

Or "The Long Road to .NET v1.0"
# December 23, 2003 9:25 AM

TrackBack said:

# December 23, 2003 10:02 AM

TrackBack said:

# December 23, 2003 10:02 AM

TrackBack said:

# December 23, 2003 10:19 AM

Joe Coder said:

Man, I should have put my scrolling grid up for sale. I wrote one of these over a year ago for a client :).
# December 23, 2003 11:10 AM

TrackBack said:

# December 23, 2003 11:15 AM

TrackBack said:

# December 23, 2003 11:17 AM

Greg Duncan said:

Nice...
Thanks for taking the time to do this.
# December 23, 2003 2:53 PM

TrackBack said:

# December 23, 2003 4:02 PM

Shane Bauer said:

Great tool. Saves me some typing.
# December 23, 2003 4:59 PM

Dave McClure said:

sounds interesting, but not sure how you're suggesting 2.2% + $.30-35/txn + min $25 monthly fee is cheapest rate available. ($.35 = .30 + .5 gateway fee, at least for >250 txns/mo)

If you're doing anything over $1K per month, PayPal merchant rate is 2.2% + .$30/txn, no gateway txn or monthly fees, and no minimum monthly fee for statements. Signup process is also completely online, takes less than 5 minutes.

If you're doing volumes over $10-25K per month, other industry processors quote a 1.9-2.1% discount rate, as low as $.15/txn, and even with all-in gateway fees at that level of volume they would likely be cheaper. Longer signup process perhaps, but likely competitive with your stated pricing, possibly lower.


anyway, good luck with Phase II, whatever that is... nice to have more options for .NET developers regardless of price :)


# December 23, 2003 6:22 PM

Robert McLaws said:

It all really just depends. Paypal is great, but it doesn't always engender an air pf professionalism. We switched from PayPal to regular processing, and sales went through the roof.

BTW, that's just the lowest rate we can guarantee everyone. It doesn't mean we can't go lower on a case-by-case basis. They'll do whatever they can to beat a legitimate quote from someone else.

It's a cutthroat industry, to be sure. I know for a company getting started, it's very competitive. It was definitly cheaper than what we had before, and pretty good if you're trying to build up a processing history.

Well, at any rate, I'm glad you like options :) We're definitely not the best, but we're out there, and hopefully we'll get better. :)
# December 23, 2003 6:28 PM

Robert McLaws said:

Thanks guys... I'm glad it's working out for you. If I helped just one person, then it did what it was intended.
# December 23, 2003 6:30 PM

Shannon J Hager said:

Robert,"ALL DHTML TextBox controls" do not have this problem. This cross-broswer editor ( http://dynarch.com/htmlarea/ ) is really the one that everyone should be using instead of the IE-only version being used in .Text and many other places. It handles greater-than and less-than tags fine without any special coding on your part. And it is cross-browser, which, to me, means "it is worth using".
# December 23, 2003 6:51 PM

SBC said:

sometimes a step back is two-steps forward.. hope you come out with a new version soon.. (like the logo that goes with it.. :-)
# December 23, 2003 7:10 PM

Steve said:

"I'm so much smarter than everyone else that came before!"

Should I take offense to that? :) I certainly hope that isn't what people think when I write about my tool. If so I may need to re-evaluate the tone of my posts. Most of the time I'm kinda putting a thought out there saying "hey I think this is a good way to do this, do you agree, or am I nuts?". I'm usually nuts and that's why I love this community. Someone like Thomas isn't afraid to tell me that he thinks I'm attacking the problem all wrong.
# December 23, 2003 7:30 PM

Steve said:

Oh and it's not an ego thing, for me at l east, it's a learning thing. Whatever I can use to learn, I'll use. If I think I can learn something from trying to write an O/R Mapper then I'll do that. If I think I can learn something about signing assemblies by creating a vs.net addin, then I'll write that. Let's not get into labelling people because of what they decide to do with their time. It's not beneficial for the community, or anybody else for that matter.
# December 23, 2003 7:36 PM

Robert McLaws said:

"I'm so much smarter than everyone else that came before!" ... did I say that?

When I said it's an ego thing, I meant that it's the nature of all developers to thing they can do it better. I'm guilty of it, so are lots of other people. Reality says that this is probably not the case.
# December 23, 2003 8:48 PM

Darrell said:

Good luck Rob. We'll be looking at it when you repost...
# December 23, 2003 10:07 PM

TrackBack said:

# December 23, 2003 11:49 PM

TrackBack said:

# December 24, 2003 4:40 AM

Don X said:

And I thought Christmas presents were supposed to be free?
# December 24, 2003 9:31 PM

Robert McLaws said:

Yeah well, what can you do?
# December 24, 2003 11:17 PM

eelco said:

Thnx for the present.

A little suggestion: In all mozilla based browsers you can achieve the same effect by simply defining height & overflow auto on a tbody element. So a little user agent sniffing should help to get rid of redundant html output. Anoher way to get rid of some redundant html is to only define the width on the td elements in the first row.

/eelco
# December 25, 2003 5:15 AM

tim said:

cool,

there is still a bug for c# developers when using the "sign this assembly" function as it doesn't escape the path to the key...which would generate a compile-time error.

a minor nuisance.
# December 25, 2003 4:14 PM

Robert McLaws said:

I knew I forgot something. I'll put up a new copy this evening.
# December 25, 2003 4:24 PM

Robert McLaws said:

A new version has been posted. It properly escapes AssemblyInfo.cs files.
# December 25, 2003 4:46 PM

Shannon J Hager said:

Thanks and Merry Christmas (apply as needed).
# December 25, 2003 6:28 PM

TrackBack said:

I'm glad to see I'm not the only one putting my day(s) off to good use.

My holiday so far has been spent playing with some toys/tools that I haven't previously had time to really sit down and give the effort needed. I have been able to finally check out the Frans' offerings: LLBLGen (the free, open source version and a demo of the Pro version). The Pro version is only a demo, so I couldn't really test it except for on the Northwind database, but it is
# December 25, 2003 9:59 PM

Robert McLaws said:

DeadBolt.NET has been re-released.
# December 26, 2003 12:58 AM

Frans Bouma said:

Robert, my application, LLBLGen Pro, is completely signed, all assemblies are signed. Still it took a cracker 15 seconds to remove all the hashes and make it completely unsigned so he could tamper the assemblies. He could also add new signatures if he liked, the assemblies were completely unsigned. Trust me on this, it can be done and rather easily. You have to use ILASM and ILDASM, not only ILDASM. I had to cripple the actual code (i.e. create specific compilation paths for the demo app) to make changing the signatures not important.

If you like I can ask him how he did it precisely, but you can be sure it can be done and without a lot of effort. I didn't believe it either until he showed me the app with altered assemblies and no signatures. This is also how they can remove XHeo protection without a lot of efforts, they remove the signatures of all assemblies, change the references of the assemblies to not strong names, alter the code which accesses XHeo licensing and they're done. Just a FYI.

(note: this is not to critize you, just a warning about what can happen as it bit me already)
# December 26, 2003 7:02 AM

Robert McLaws said:

Yeah, you would have to decompile and recompile the assemblies, because decompilation doesn't remove that information, just produces IL that could be recompiled. I don't think talking about how to do that here would be a particularly good idea though.

I think that we ISVs need to be coming up with ways to combat this. My thought is that if your component is priced low enough, it won't be worth the effort. Whether it is true or not remains to be seen.

I would like to hear more (offline, of course) about your "compilation paths" dealie. It may be of use to other ISVs.
# December 26, 2003 7:18 AM

Frans Bouma said:

Blogging about it is indeed not a good idea, don't give people ideas indeed :)

Conditional compilations is very simple (don't have to do that offline, it's a general techique). First create another Build configuration in the build configuration manager (Build menu). Call this 'Release Demo'. Select this as the active.

Then (C#) open properties of project. You're now editing 'Release Demo'. Open 'Build' under 'Configuration Properties' at the left. At the right you'll see 'Conditional Compilation Constants.'. In debug builds there are for example 'DEBUG' and 'TRACE'. Now add 'DEMO'.

In your code, you can now mark sections which you do not want to be included in the DEMO build like:

#ifndef DEMO
// .. some code
#endif

this code is NOT included in the build result of Release Demo. This way, you can exclude stuff like 'Create a project' or your save routine's body. Even by removing the protection, the cracker doesn't win anything, because essential code isn't there.

You can also use this for other purposes of course, for example testcode in DEBUG builds which you want to exclude from the Release build :)

Combatting removal of protection is a lost battle, unfortunately. The only thing that helps (a bit) is making it uninteresting for the cracker, for example by low pricing and a lot of hurdles to take. Also, if crackers don't get any attention when they crack the protection, they'll spend more time on something that will get their attention.
# December 26, 2003 7:31 AM

Frans Bouma said:

oh darn... I'm coding C++ for to days now and I make a mistake immediately. :)

it should be:
#if !DEMO
// some code
#endif

Sorry about that.
# December 26, 2003 7:34 AM

denny said:

Sorry folks but:
"Blogging about it is indeed not a good idea, don't give people ideas indeed :)"

WRONG! if we can't / don't talk about the issues then many folks who need to know what the issues are will have to go and spend time finding the problems before they can even start to find a solution. by way of example:
DVD copy and region codes were lame ideas and it took a brave soul to tell the world.
the companie that was going to sue some guy be cause he told folks they could hold down the shift key to by pass an audio cd protection system on WIndows pc's.

Expose the flaws so that EVERYONE knows about them then we don't have a false feeling of security and become victims of the flaw.

even MS has said that security via obscurity is NOT security ...
# December 26, 2003 11:39 AM

Robert McLaws said:

As an ISV, it's probably not a great idea for me to post an entery in my blog that tells you how to circumvent my unrestricted free trials and steal my code. I know that you can use Reflector to get it out, I don't need to tell the whole world how to do it.
# December 26, 2003 12:25 PM

denny said:

Robert: I was not saying you should.

what I am and do say is that if there is a problem with how the .net framework functions we should all know about where the problem is and how it can be exploited. that is the first step in developing a sound "counter measure" or an alternate means of protection.

for example: is the above still a problem if an Obfuscator tool is used? would that be of any help?

and fwiw, IMHO any fool can copy someones code binary or source and distribute it.... thats not hard. but only you, me and others who work to master the art can create a valuable new work of art/craft in code.

look at how Id Software publishes the soruce to their game engines, how many folks are using that code legaly when they could try and steal it?? not many, it has a very uniqe "fingerprint" of John and the others who wrote it.
# December 26, 2003 4:27 PM

TrackBack said:

# December 28, 2003 7:41 AM

Christophe Lauer [MS] said:

French dotnet-ers can also post resumes or look at jobs offerings on Dotnet Emplois:
http://www.dotnet-emplois.com/
# December 28, 2003 9:46 AM

TJ said:

Ok so why have I been out of work for 5 months?

Most of the job postings in NYC are for financial related and if you dont have the experience its a no go. Most of the time I question if the jobs posted are indeed real. Im qualified and frustrated.

TJ
# December 28, 2003 12:45 PM

Anonymous said:

"Over 20 jobs" -- LMAO! This is quite a stretch to think the job market has even made up for all the jobs lost over the past few years...
# December 28, 2003 5:33 PM

Robert Brown said:

This is nice, but it would be WAY cooler if it took care of strong naming the interop dll's for (non .Net) COM objects.

I know that's beyond the issue you were trying to address, but is there any chance of a version 1.1 with this? This is an area where some automation would be really helpful.
# December 28, 2003 9:42 PM

Robert McLaws said:

We're always taking feedback for features for future releases. I'm in the process of looking into the strong-naming system, to see if there isn't a way to improve the published identity verification system.

E-mail me using my contact form and let me know some more details of what you're talking about, and we'll look into it.
# December 28, 2003 10:17 PM

Chris Sells said:

I agree with you, Robert. Progress is good and no amount of wishing to keep carriages around are going to stop the car.

However, I definately see the problem that you mention as left to be solved, i.e. making you and your mom love your computer instead of hate it, as more of a user experience issue and less of a classic software engineering issue.

That being said, just as my brother-in-law spends a great deal of his time as a civil engineer for my city making sure the public is happy with what he's building, I see software engineering evolving into a much more user experience-centric role. In fact, while it's only the tiniest of steps, I'm spending my XMas vacation learning Adobe Illustrator so that I can conquer my fear of graphic design. I'm hoping that this will help to prepare me for the graphic-centric user experience in Longhorn.
# December 29, 2003 11:46 AM

bms said:

I hope you don't plan on running a web hosting business ;-)
# December 29, 2003 9:24 PM

Sarath Babu said:

hi
# December 30, 2003 5:10 AM

TrackBack said:

# December 30, 2003 12:48 PM

david clark said:

I was having the same problems until I realised that - text is NOT text is NOT text is NOT.... the sooner programmers (myself included) start coming out of school without the 'inbuild knowledge' that a 'string' is just a chunk of bytes the better :)

I think you should take a look at this:

http://www.perfectxml.com/msxmlAnswers.asp?Row_ID=64
# December 30, 2003 1:29 PM

Name said:

w..wippess.. but what.. happens to the HUNDreds of blogs!? cannt you save the database..
# December 31, 2003 1:14 PM

Steve Schofield said:

Thanks Robert for the nice comments, it is handy to be able to do feedback on the frontpage. .I'll link up your blog on adminblogs.com (Great content!)

Steve Schofield
steve@adminblogs.com

(formerly ASPFree.com fame!)
# December 31, 2003 3:32 PM

TrackBack said:

# December 31, 2003 3:52 PM

TrackBack said:

Servers are down due to busted network card. Will be back online by the end of the week (stupid holiday break.....)
# December 31, 2003 4:01 PM

TrackBack said:

# December 31, 2003 4:01 PM

Jerry Dennany said:

What kind of provider worth their salt uses 10-base-T ?!?! It sounds penny-wise and pound-foolish.
# December 31, 2003 8:23 PM

Robert McLaws said:

I agree. Nothing I can do about it right now....
# January 1, 2004 4:29 PM

Matt Berther said:

Just because the technology is there (Avalon/Indigo), ultimately it is still up to a human to code them.

A crappy user interface is a crappy user interface irregardless of what technology is used to build it.

More developers should focus on designing *USABLE* software...
# January 1, 2004 6:50 PM

SBC said:

Some of the new software IS making it into the battlefields - check out: http://www.groove.net/pdf/armytactics.pdf (Acrobat file). There was also an article in the NY Times (Dec 14 '03) about 'DarkNets'. It may be available online - http://query.nytimes.com/gst/abstract.html?res=F30D13FA35590C778DDDAB0994DB404482

very interesting stuff...
# January 1, 2004 7:46 PM

SBC said:

You have to admit that Scott makes an extraordinary contribution to the .NET community with his weblog development.. truly a Herculean effort.. all the kudos to him and many thanks!
# January 1, 2004 7:51 PM

TrackBack said:

# January 1, 2004 8:00 PM

TrackBack said:

# January 1, 2004 8:01 PM

Robert McLaws said:

Cool! Thanks man.
# January 1, 2004 9:19 PM

TrackBack said:

# January 2, 2004 10:19 PM

TrackBack said:

# January 3, 2004 5:07 AM

TrackBack said:

# January 3, 2004 6:01 AM

TrackBack said:

# January 3, 2004 6:01 AM

TrackBack said:

# January 3, 2004 6:48 AM

TrackBack said:

# January 3, 2004 7:07 AM

Russ C. said:

You think thats nasty? I need to dig out the source code to my Javascript RSS reader :)
# January 3, 2004 7:33 AM

Damian said:

If it works, why should it be in .NET ?

Stop being a technology bigot
# January 3, 2004 7:45 AM

Sam Gentile said:

Robert Brown,

I am going to build such a tool that will completly take care of the COM objects and generating Interop assemblies with all the options, signing and such. I will do it either as part of my MSDN COM Interop series or after.
# January 3, 2004 8:51 AM

TrackBack said:

# January 3, 2004 9:00 AM

Robert McLaws said:

Um... I reserve the right to be a technology bigot if I so choose.
# January 3, 2004 9:28 AM

Shannon J Hager said:

what exactly, is the problem with the site being in php? The "arrgh!" part definitely implies that it is causing you pain but I'm not sure why, the site seems fine here.
# January 3, 2004 12:35 PM

Steven Ericsson Zenith said:


The .net site is the development site currently. The released version is http://www.firstsay.com.

It is a combination of PHP and Postgres. First Say has not been publicly announced and is at alpha stage currently. It will be open source - though we have not picked a license yet.

It is a new project of myself and Phil Goldman (ex Apple, founder Web TV) who suddenly and tragically, died age 39, a week ago - see the MOTD at First Say for my account.

Phil would often refer me to Robert's comments.

We cache your feed and check for updates periodically. You can send me email directly to steven@pearavenue.com if you have questions.

Steven
# January 3, 2004 3:55 PM

Steven Ericsson Zenith said:


BTW. The site shows the most recently updated feeds in our database - or one selected by the user.

Some fine tuning is still needed in that area because some servers do not respond correctly to If-Modified-Since and/or do not include a Last-Modified time.

We were hoping to do a scan of RSS feeds without having to maintain state - which does not now seem possible.
# January 3, 2004 4:04 PM

Dave Burke said:

Thanks for taking the time to post your excellent observations on 0.95. I've been waiting for .95 for a long time as well, and your comments are most helpful!
# January 3, 2004 10:09 PM

Robert McLaws said:

Dave,

I'm glad that my comments were of help. All and all, it was a pretty easy process. Time consuming, but easy. Everything seems to be in good working order, and I'm really glad that the aggbugs work. Now my other communities can start seeing how much traffic they get.
# January 4, 2004 3:54 AM

TrackBack said:

# January 4, 2004 6:21 AM

John said:

# January 4, 2004 3:41 PM

Robert McLaws said:

That link does nto repair your Outlook data files, just your Outlook installation. Furtherm it only refers to Outlook 2002. While 2003 still has that feature, as I said, it only deals with the program itself, not its data files.
# January 4, 2004 4:07 PM

Adam Kinney said:

Actually your skin looks pretty close to the Interscape site. You just need an graphic with a light grey background on the right side column and the footer. Would be nice if both columns were the same height, too.

Maybe you're actually want to ask someone to come up with a new design for both sites :)
# January 5, 2004 1:32 PM

Robert McLaws said:

That's the thing, I can't get the CSS layouts to line up, without converting the whole thing over to tables. I'm seriously considering it, cause I hate the way it looks right now.

The CSS problems I'm having involve getting the text to do what I want it to (I get different results than expected when I change things) and getting the layout to do what I want it to.

In regards to our home page, I like our layout. It's simple, clean, predictable, and effective. We'll do an overhaul in 6 months or so, but I can't stand websites that try to cram everything onto a page. It overwhelms people.

Hey, if someone wanted to come up with a new design that was cool and matched the style of our logos, I'd be all for it. I can't afford to pay for it though, so you'd have to settle for free software.
# January 5, 2004 7:36 PM

Dave Burke said:

Welcome to the club, Robert. I can add and remove that wildcard mapping in my sleep with the number of times I load up .text in VS.NET. If anyone can come up with a fix, you're the guy. Post us if you find out anything. Otherwise, like you said, it's no big deal adding and removing the wildcard extension mapping. Thx!
# January 5, 2004 10:04 PM

TrackBack said:

# January 6, 2004 5:53 AM

TrackBack said:

# January 6, 2004 5:55 AM

Thomas Tomiczek said:

::I'm using it to distribute the source code
::for Interscape's products when they are
::purchased

What a service.

When people buy our source code, their login on our website gets access to the download archives for all versions tehy purchased, and we keep this open for a couple of years for them.

You dont really tell me when I order something with you on a friday, and monday is a holiday - I just skipped my 48 hours to download the source I bought?
# January 6, 2004 6:25 AM

Robert McLaws said:

Well Thona, until our user system is finished, this will suffice. Besides, all of our products are easily accessible for download on the company website, available to the public without logging in. It's only for the SOURCE CODE that we make this available.

We keep tighter control over our source code, because we make it available so cheap. And our customers can e-mail me at any time for an update. But I'm not going to put our source code on public servers that can be hacked. I'm not that dumb.
# January 6, 2004 6:37 AM

Frans Bouma said:

heh, well, that's not such a big surprise ;)
# January 6, 2004 7:18 AM

Doug Reilly said:

Congratulations Robert and Andy. Andy for being able to do what he wants, and Robert for getting Andy to do what he wants (Andy's controls are amazing...).
# January 6, 2004 7:32 AM

Scott Galloway said:

Very lucky...I totaly expected him to swallow the red pill...shows what I know :-)
# January 6, 2004 7:34 AM

Todd Moon said:

Congrats Robert! You've just got the best employee you could ever want!

And congrats Andy! Even though I've known about this for a while it's still great news! I'm so happy for you that you got a job you can truly enjoy! May you never make another CRUD app again!


... ok back to making my CRUD apps.
# January 6, 2004 10:01 AM

Shannon J Hager said:

Robert, keep in mind that the service does not always work. When a download fails after starting, you (Interscape) will still get a "the dropload has been delivered to ..." confirmation email.
# January 6, 2004 11:38 AM

Robert McLaws said:

Oh, he still might take the Red Pill, but for now he's mine. :)
# January 6, 2004 2:42 PM

Robert McLaws said:

If they don't get it though, I'm sure they'll contact me.

Hey Shannon, how's ScrollingGrid working out for you?
# January 6, 2004 2:44 PM

Dave Burke said:

Yes, this is a most excellent menu control! Thanks for the heads-up, Robert.
# January 6, 2004 9:28 PM

Paschal said:

Hmmm I am not feeling like part of any camp. I am developing solutions whatever the platform, and this include Linux as well as MacOSx or Windows.
# January 7, 2004 5:18 AM

Paul said:

Not tried it myself, but apparently if you install IntelliPoint 5 + IntelliType Pro 5 (downloadable from Microsoft's web site) you can configure the BT keyboard and mouse as standard Wireless Optical Desktop devices, allowing you to configure the extra functions.
# January 7, 2004 4:11 PM

Scott Galloway said:

OK, who's going to be the first to make an ASP.NET 1.1 web control which supports the panel functionality...Andy Smith, I'm looking at you ;-)
# January 8, 2004 9:00 AM

Matt Berther said:

I can tell you that the ScrollingGrid does suffer this problem as well...
# January 8, 2004 9:35 AM

Robert McLaws said:

Unfortunately then, I don't think there is a way around it, especially since the rendering is all done server-side, and you'd have to intercept the DataBind event to find out how many items are being databound. Even in a client-side scenario, this would be less than ideal.

Your best bet in this situation is to check the number of items in the grid, and set the EnableScrolling property to false, which will render a good old fashioned DataGrid without any fluff. You would have to esperiment with the number of rows to check for based on the design of your grid.
# January 8, 2004 10:44 AM

Matt Berther said:

Unfortunately, thats what I was afraid of... :(
# January 8, 2004 12:08 PM

Robert McLaws said:

It's not entirely a bad thing though, because ScrollingGrid does have a way t handle it, it's just not 100% ideal. All you'd really need is an additional line that say something like:
If DataSource.RowCount < 5 Then
ScrollingGrid1.EnableScrolling = False
End If
ScrollingGrid1.DataBind()

THis will render a standard DataGrid, which is really what you want in this situation anyways.
# January 8, 2004 1:31 PM

Matt Berther said:

Actually 2 things, but still not a big deal. Perhaps you could add this to the code base.

The part you mentioned needs to be implemented, but in addition, if EnableScrolling = false, then you also need to set ScrollingGrid1.Height = Unit.Empty. Without this, you encounter the same effect, except for no scrollbars.

Perhaps this portion could be added to the code base.
# January 8, 2004 1:46 PM

Robert McLaws said:

The part that I mentioned is not implementation on our part. It has to be implemented in your code. Not everyone would expect ScrollingGrid to behave this way, so I can't force it on everyone. Basically, we can't do this because not all DataSources have a RowCount property, among other reasons.

The second part we can definitely put in there. I'm releasing an update on Saturday, so it can make it in there by then. I'll have Andy check it out.
# January 8, 2004 1:50 PM

Matt Berther said:

Sorry... I wasnt clear. What I meant to say was "The part you mentioned needs to be implemented by the client..."
# January 8, 2004 2:30 PM

Doug Thews said:

Robert,

One of my pet peeves that a lot of web designers are putting in web pages is this need to insert some type of graphical animation with sound when the page loads. Yes, it looks cute, but man is it annoying when you're really intent on looking for something specific. Then, there's the problem, of the sound blasting in your co-workers ears if you happen to have left the speakers on. There should be an option (off by default) for background sound and audio done this way (just like there was for initial WAV file loading associated with a page when THAT was the cute thing to do 3-4 years ago).
# January 9, 2004 12:19 AM

TrackBack said:

Robert McLaws likes the look of the new MSN web page, including that new big butterfly that comes flying on the screen with a large crash when the page loads. This is one of the newest JavaScript tricks that web...
# January 9, 2004 2:36 AM

SBC said:

MS bashing is also a favorite pastime for non-MS developers (OpSrc, PHP, Perl et al) within companies. It amounts to a tremendous loss of productivity, not to mention time & money..
# January 9, 2004 7:56 AM

Shannon J Hager said:

Can you give us a little more info? What does it do that Outlook doesn't?
# January 9, 2004 2:07 PM

Robert McLaws said:

Outlook doesn't schedule tasks in the Calendar. They stay 100% separate items. This add-on manages task scheduling, and puts the tasks into your day. If you note in the first screenshot, it has a start date column. Outlook tasks don't have a start date, only a due date. And tasks don't show up in your calendar on the due date, so you don't get a graphical overview of your day.

It makes the Task system in Outlook pretty pointless without this addin.
# January 9, 2004 2:34 PM

Drew Marsh said:

Yeah, we got bit by this the other night. It's amazing how crappy Verisign really is. We called their customer support as soon as we realized it was happening to us and there was no one there. 24/7 support would be nice. I don't think that's asking too much since, after all, they basically have a monopoly in the certificate authority market. *sigh*
# January 9, 2004 3:08 PM

TrackBack said:

# January 9, 2004 5:43 PM

Jerry Harper said:

I'm new to asp.net and I seem to need an example to understand. Did you ever "whip up a few samples" to make use of the "WebForms Dialog Classes"? Google got me into the blogging pages. What is Blogging and can I get involved?
# January 10, 2004 6:09 PM

chadb said:

awww, c'mon Robert - the bottom line with consumer products is: Ugly does not sell.
Those things are nerd ID's if I've ever seen them. (Reminds me of the calculator watches of the 80's)
Put it into a nice polished steel case / band and make the lcd blue or red or something and they'll sell tons...
# January 11, 2004 10:34 PM

Addy Santo said:

hey, how about putting that through babelfish and translating it to english ;)
# January 12, 2004 7:40 PM

Robert McLaws said:

Hey, I'm a linker not an editor.
# January 12, 2004 9:14 PM

Some Guy said:

Microsoft has always been about "Me Too" and they are rarely, if ever, true innovators. It won't matter if they are late with RSS as long as they release something pretty great. RSS is still mostly a geek's tool and the mainstream market has a long way to go before it is ready for RSS.
# January 12, 2004 11:35 PM

Thomas Tomiczek said:

Inhow far is this usefull besides XmlSerialization?

I make hefty use of the XmlSerializer to serialize/deserialize all kinds of configuration files and other stuff in this area, and so far I always found it fits my ned (for pure DTO's - there are some stupid things in it, as not using reflection [only public variables], choking on interfaces and stuff like this).

I mean, am I missing something grave? It does not look like from the description, so mybe you could shed some light.
# January 13, 2004 2:39 AM

Robert McLaws said:

I don't know yet. I'll be evaluating it shortly.
# January 13, 2004 4:56 AM

Bored Decompiler said:

"Inhow far is this usefull besides XmlSerialization?"

No more no less, it appears to be a *very* light wrapper for the same.
# January 13, 2004 7:08 AM

Dave Burke said:

I think "Some Guy's" comments were very astute and right on, but you were right, too. (Why don't these, uh, guys use their real friggen' names?) I appreciate your willingness to speak your mind on matters pertaining to innovation and time to market. Keep up the good work.
# January 13, 2004 1:20 PM

Robert Edwards said:

Does this grid support scrolling and paging? In other words I want to scroll but I still only want to display 30 records at a time. Does it rebuild a fixed, paged footer?

Thanks
# January 13, 2004 4:59 PM

Jerrod said:

Microsoft: Another Step Towards Monopoly

I agree with the Sun pissy baby bit, although that's more Scott McNealy than Sun itself.

>Quit living in the past and start
>doing something innovative

Since when does Microsoft innovate? Embrace, Extend, Extinguish is the M$ game. Having an OS with drive letters seems to be living in the past to me, as RT-11 (1973) and CP/M (1976) had those.
# January 14, 2004 10:23 PM

Ken Bohl said:

We have written a VB.Net / ASP.Net application using Visual Studio .Net 2003. Several pages use the SelectedItem property of the DropDownList. All of the desktops except one work fine, and I cannot find a difference in the installs.

On the offending desktop, at edit time, DropDownList gives you the type-ahead help that prompts you for the SelectedItem property.

But at run time, it throws the error message
'SelectedValue' is not a member of 'DropDownList'.

This is true if I set a breakpoint and type
?DropDownList.SelectedValue
in the immediate window or if I enter that desktop's I.P. address into a browser window and use its instance of IIS.

Any idea what component is out-of-date (probably from an older .Net Framework and where it would be located?)

I tried downloading the current .Net Framework and reinstalling and removed and added all references in the project, with no change.
# January 15, 2004 9:12 AM

Robert Edwards said:

I downloaded the grid and noticed that you cannot set horizontal scrolling (the div is always as wide as the grid).

So I have two questions. Is there a way to set this? If I pay for the source code option, is it complete source? I need horizontal scrolling so if I can build that in then I'm fine.

Thanks,

Robert Edwards
# January 15, 2004 5:27 PM

Ryan Gregg said:

Actually tasks in Outlook do have a start date, although it isn't displayed by default in the details view. Outlook doesn't seem to do much with the dates for tasks though, so this program looks very cool!
# January 16, 2004 1:09 PM

jkendrick said:

Actually if you use Pocket Informant on the PocketPC you can convert tasks to calendar items which then sync back to outlook as calendar events.
# January 16, 2004 2:04 PM

Brian Carroll said:

You were so close. Try:

ControlChars.Quote
# January 16, 2004 3:02 PM

Cameron Reilly said:

My awesome customer support experience with Taskline at http://weblogs.asp.net/cameronreilly/archive/2004/01/16/59343.aspx
Thanks Robert!
# January 16, 2004 3:56 PM

TrackBack said:

# January 16, 2004 5:51 PM

TrackBack said:

Taskline 2.0 for Outlook 2003 allows you to put tasks into your outlook calendar view. Neat. I'll have a play with this....
# January 17, 2004 7:24 AM

Matt Hawley said:

I agree, most was funny, but its kind of sadistic if you think about it. They're making fun of the Twin Towers, nuclear war, etc. Not my idea of pure humor.
# January 19, 2004 1:44 PM

Robert McLaws said:

Yeah, I was a little cheesed about the Twin Towers thing too, but I believe that the point was that you never know how your actions affect others. If having the Governator emerge from the rubble stops people from smoking, is it OK? I don't know the answer to that. My gut feeling is.... maybe.
# January 19, 2004 1:47 PM

Matt Hawley said:

Can't argue with that.
# January 19, 2004 1:49 PM

Alex Thissen said:

The HtmlTextWriter also has some handy public static fields, such as DoubleQuoteChar, SpaceChar and so on.
Here's a direct link into the .NET Framework SDK's help:
ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfSystemWebUIHtmlTextWriterMembersTopic.htm
# January 19, 2004 4:27 PM

Cengiz HAN said:

i think it is only humor.

hey! i am that .net buddy:)
# January 19, 2004 5:26 PM

TrackBack said:

# January 20, 2004 3:19 AM

Johnny Hall said:

Clipboard ring. Awesome. Thanks for the link!
# January 20, 2004 11:30 AM

Eric J. Smith said:

Wow! Sounds like a very nice presentation. I wish I could've been there to hear it. I need someone like Ish Singh here in Dallas. The local DNUG people have been begging me to do a presentation, but I am deathly afraid of public speaking. :-( Did you happen to catch Ish's email address? I would love to get in contact with him.

Thanks,
Eric J. Smith
http://www.ericjsmith.net/codesmith/
# January 20, 2004 11:36 PM

Frans Bouma said:

"The biggest problem with code generators IMO is your inability to customized the code if you have to regenerate. Ish gave us a very common sense solution to that problem, by generating everything as base classes, and make your modifications to inherited classes. I had never thought of that, but I probably should have. It totally makes sense."
True, that's called the strategy pattern: generate common code as base classes, offer abstract methods where details have to be filled in and if you can, generate those details. I use that too: I have a generic library which is customized by generated code (which fills in the blanks).

The real problem with code generators is the construction of the templates :) LLBLGen Pro also uses a template based generator system (which uses a NAnt structure so you can add your own code generating assemblies as well to produce code/alter things) and what I found out was that the most efficient way of writing templates is from existing code: thus first write the code in full (for example the code for 3/4 classes) then write the templates using that code. So, if there aren't templates which fit your needs, you have to get your hands dirty and have to spend a lot of time getting it right.
# January 21, 2004 4:17 AM

Shannon J Hager said:

I think it is because server controls aren't looked at/thought of the same way as a program. The Start Menu, for the most part, is how you get to programs you want to start. Looking for documentation for a control on the start menu didn't cross my mind at first.
It didn't take long for me to check there, though. If you follow the though process to any logical conclusion, the Start Menu would be on the places you would check.
# January 21, 2004 4:36 PM

Josh said:

I also don't like the practice of nesting start menu items under a company name. I think that probably makes it harder to find (if the user doesn't have the XP "highlight new items" feature enabled). Let the user manage their own start menu hiearachies.

Start|Programs|ScrollingGrid1.1 would be more obvious.

Of course, you're probably doing it for branding, get-our-name-out-there reasons, which may be more important.
# January 21, 2004 5:44 PM

Robert McLaws said:

Josh, it canm also be a matter of personal preference. For Example, I hate that Adobe products always shove all their crap in the root. I would like it much more if they instead did "Start|Programs|Adobe|Photoshop et al." We put it under the company name because we figure we're going to have 20 or so control when we're done, and we want them to be organized without killing the Start Menu.
# January 21, 2004 5:54 PM

Ryan LaNeve said:

If I'm installing a development tool - especially a "small" one - not only do I not expect the docs to be on my start menu, I absolutely do not want them to be there. If they *are* there, and they're nested under a company name, that just annoys me even more. It's sometimes hard enough to remember the name of the product itself to find it on the menus - there's little hope I'll remember the company name. Again, this is mostly for the "smaller" products - addons, single controls, etc... If I install a development package from Xceed or someone like that, then all bets are off. There's a dozen controls and a dozen doc files, so go ahead with the start menu.

In your case, Robert, if I were installing a product from Interscape I would hope that during install I would be asked if I wanted something added to my start menu, and a little detail as to what exactly the installer plans to put there if I agree to it so I can make a more informed choice.

As for Josh's comment with regard to branding and that being "more important", I whole-heartedly disagree. I'm the customer. It's my menu. Don't try to tell me mucking with my start menu to "get your name out there" is more important than doing whatever it is that *I* prefer you to do.

Then again, if the product rocks I won't really care what you did to my menu. ;)
# January 21, 2004 6:01 PM

Ryan LaNeve said:

Geez...just realized how long a comment that was in relation to the original post. I don't blog often, so I gotta get my opinions out where I can. :)
# January 21, 2004 6:02 PM

SBC said:

LOL! I think the RIAA would go for "192.168."...
# January 21, 2004 8:39 PM

Doug Thews said:

As long as you give the users an option of where to store the shortcuts, I don't have a problem with putting them in the Start menu. I put a lot of generic stuff in a foldef called 'Utilities' under the Start menu. So, all I do is jsut change the path when the setup app asks me.
# January 21, 2004 11:44 PM

Jean Gauthier said:

anyone with problems with it ?
Why is microsoft advertising ANOTHER way to install stuff when it has the whole MSI windows installer thing going on already ?

Let me know & Thx
Jean

Pls reply on my email if you can

Thanks !
# January 22, 2004 3:58 PM

Dennis v/d Stelt said:

The only two items on the forum, I can't access! The forum says it can't find the items because they're probably removed... :)
# January 23, 2004 4:20 AM

Tim Hitchings said:

In your article you describe how you need to use HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders
I believe you will find that works well for Studio 2002 but not for 2003 and future versions.
Microsoft in their infinate wisdom changed the registry location.
For 2003:
HKLM\SOFTWARE\Microsoft\VisualStudio\7.1\AssemblyFolders
For future versions modify the 7.1
# January 23, 2004 12:42 PM

Tim Hitchings said:

I note in your article you use [TARGETDIR]\v2.0\Redistributable\For .NET 1.0. for your location.
I found it easier to not hard code any part of the location by using directory property where the product is installed. That way when version 3 comes out you don't have to remember to update the path location in your registry entries.
# January 23, 2004 1:03 PM

Robert McLaws said:

Unfortunately, you have to keep directory information in situations where multiple versions of an assembly need to reside on the computer. Often times you should not overwrite old versions for compatibility reasons, especially if you're not following my suggestions on component versioning.

I'm going to look up what I posted about RE: registry locations, and check what we're doing in our installers. I'm pretty sure we're using the original location and it works in 2002 and 2003.
# January 23, 2004 3:37 PM

Robert McLaws said:

So, if I read this document correctly, it still looks in the old location too, meaning that the article remains correct. Is that right?
# January 23, 2004 6:05 PM

Tim Hitchings said:

Looks that way. First time I've seen the article. I just searched on assemblyfolders and it popped up and I thought I'd pass it on. My previous post was based on my experience which preceeds that article quite a bit. I write to both local machine locations. And to future locations. I can't recall but I do believe that we ran into install errors if we did not write to both locations. Examining my registry entries shows a number of other .NET vendors are also writing to multiple locations.

I burned many a long weekend when .NET first came out trying to install everything properly. Got a few hours and I'll tell you the horrors of trying to install help2 into visual studio.
Best.
# January 23, 2004 6:22 PM

TrackBack said:

# January 24, 2004 6:35 PM

SBC said:

good posting Robert. I am going through some SP deployment myself (http://weblogs.asp.net/sbchatterjee/archive/2003/12/07/41910.aspx) and must admit that the new version (WSS - basically ASP.NET) is a serious improvement over the prior one (STS).
Thanks for Tip#2 - almost clobbered one of my servers.
LOL on your "Robert's Scale of Software Suckage" - hope you get the patent.. :-)
# January 24, 2004 9:05 PM

EROL said:

Thanks for all your information, that keep me time to make translation of this info. on my Blog, but it's important for the begining of SPS 2003 in France !
;+) EROL
# January 25, 2004 4:52 AM

bliz said:

Good stuff, Robert. I'm going to do some experimentation with Sharepoint in the near future.... I'll keep an eye out for such suckage. ;)
# January 25, 2004 5:02 PM

tim said:

i'm surprised by your experience...i've worked with sps2003 since pre-beta for the past year and installation was the least of our troubles...especially surprised about your comment about running the sql sharepoint installer first (your tip#1)...our installations used sql servers in other countries and we had no problems running the default installation guidelines outlined in the readme and administrator guides provided...if you want more sharepoint tidbits, webparts...check out my blog http://www.timheuer.com/blog -- or web parts at http://www.timheuer.com/stuff.htm
# January 25, 2004 10:37 PM

Robert McLaws said:

I didn't have a problem with installing on other SQL servers. We followed the directions and it worked fine. My point was that the nomenclature is confusing and that option should nto be a command-line only one.
# January 26, 2004 2:02 AM

Sanat Gersappa said:

Yeah...its amazing how all those sites that made so much noise about how Java was being used in space are so quiet now that the poor bot's having trouble.

Wonder how something that is not safe enough to be used in nuclear installations (see Java's Terms of Use) is ok to be used in space ;-)
# January 26, 2004 2:13 AM

TrackBack said:

# January 26, 2004 3:14 AM

TrackBack said:

# January 26, 2004 3:15 AM

Steve Schofield said:

Thanks for the heads up, I"m doing a design right now and getting ready to install this into our lab environment. I like the term "web-farm". Too often people call them "web clusters" when its not really a cluster. Clustering provides fault-tolerance where as a web-farm provides redundancy. Ok splitting hears but just a pet peeve of mine!
# January 26, 2004 6:10 AM

Stanley Tan said:

Hilarious!
# January 26, 2004 6:36 AM

Wallym said:

LMAO!!!!!!!!!!!!!
# January 26, 2004 6:52 AM

arich said:

You mean they intentionally turned Automatic Updating off - it's on by default.
# January 26, 2004 12:07 PM

Robert McLaws said:

Right.
# January 26, 2004 12:11 PM

tim said:

re: the "web farm"
if you read the installation documents you'll see that sharepoint only is supported under two different configurations..."stand alone" and "web farm" -- so the deliniation is single/multiple server...but web farm is appropriate terminology for multiple server in their installation...the web farm implies multiple web servers, etc....not necessarily just different web/sql...and the documentation is clear on the supported configurations...and to add a suckage note on the docs...whenever the configuration says "this is for 'x' or more web servers..." it really means just the number (i.e., if it says 2 or more, it really means just 2) or you will get an unsupported configuration message (even though it will still run)
# January 26, 2004 12:49 PM

Robert McLaws said:

Well, my interpretation of "web farm" has always been several web servers in a load-balancing/failover situation. My point remains that it should be a built-in, UI accessible option, and not something that has to be accessed from the command line.
# January 26, 2004 12:54 PM

tim said:

exactly what a web farm is...but with regard to sharepoint...the reason they make that deliniation is because there are only supported configurations...and if there will be more than one web server in your environment...then SQL *has* to be on it's own box for a supported configuration...but i agree that is a weird install option...one thing to note, that is only a WSS option...SharePoint Portal Server does ask you where your db is located.
# January 26, 2004 3:09 PM

chris said:

How can you even compare the two? Keeping your home machine up to date is nothing like managing a NASA robot that has traveled through space for 7 or so months to Mars. And you say WinFS would be a better solution? Are you kidding? How would you even know what NASA is using on their system? Call me nuts, but I think the scientists at NASA know what they are doing...
# January 26, 2004 3:47 PM

Robert McLaws said:

Wow man. Didn't mean to get you all worked up. If you had read my earlier post, you would have seen that it was very much a parody and not meant to be taken seriously. Chill out...

http://weblogs.asp.net/rmclaws/archive/2004/01/25/62890.aspx
# January 26, 2004 3:55 PM

TrackBack said:

# January 26, 2004 5:57 PM

Todd Moon said:

Where did you get the idea that just because a vendor wants to advertise on your site that you have to let them? (Even if they are in the same market as other vendors who you let advertise on your site.)

That seems like a ridiculous concept to me. Then again, there are many ridiculous laws in this ridiculous country.

You own the site, and you decide it's content. If you don't want to post any one person's ads on your site, you don't (shouldn't) have to.
# January 26, 2004 6:32 PM

Robert McLaws said:

The possibility for negative publicity is significantly greater if I allow one vendor to advertise and don't allow a similar vendor. Too much political garbage for a small company to deal with. I'd be willing to wager $20 that a successful lawsuit could come to pass on just that kind of claim.
# January 26, 2004 6:44 PM

ideasbuenas said:

Ads in RSS ? Nobody seen Betanews Rss ? They use ads since a while.Cause I do´nt like ads in Feeds I just unsuscribed of that site. You want ads, I don¨t want your feed. That´s it!
# January 26, 2004 7:57 PM

Greg Reinacker said:

Robert, you can choose to sell ads to anyone you like. Just have a stated policy - no ads will be accepted from any vendor that competes with your company, in your own discretion.

As to your last comment about authentication and RSS feeds, this is definitely possible today. All private feeds which are part of <a href="http://services.newsgator.com">NewsGator Online Services</a> require authentication, and some of them are generated based on user settings.
# January 26, 2004 8:00 PM

Shannon J Hager said:

SandBar Single Developer License $85.00
SandBar Unlimited Site License $595.00
Eyefinder Single Developer License $49.00
Eyefinder Unlimited Site License $395.00
# January 27, 2004 7:17 PM

Robert McLaws said:

Right. but if you're software is free then you don't have to pay for it.
# January 27, 2004 7:29 PM

TrackBack said:

# January 27, 2004 8:41 PM

SBC said:

looks simple.. not much docs needed..:)
# January 27, 2004 11:51 PM

TrackBack said:

# January 28, 2004 6:51 AM

TrackBack said:

# January 28, 2004 6:53 AM

Jenny Quinn said:

Thank You! 2 books and 3 articles, and I could still not get the "add reference" drop down to list my stronly named assembly. Your article had the minor details that other neglected to mention. THANKS AGAIN!
# January 28, 2004 12:07 PM

Robert McLaws said:

Anything to help out the Michigan State government ;).
# January 28, 2004 12:16 PM

Simon Stewart said:

Great controls, but not free as Shannon points out.

If I was making free software with free controls, then I probably wouldn't have a PC to blog on...
# January 29, 2004 3:19 PM

Darron said:

I was pretty dissapointed with mine as well. I expected the same as you did, and was shocked they got it all one two discs.

Then to top it off, my disk2 was blank... :(.
# January 29, 2004 6:30 PM

Shannon J Hager said:

When did the email say that they were sent, if I may ask?

I still haven't received mine but they were supposedly sent almost a week ago via 2nd day air. 2 days later an email said that my InfoPath package was mailed and would take up to 10 days. The InfoPath package was here 2 days later and I'm still waiting on the Longhorn package.
# January 29, 2004 6:40 PM

SBC said:

regarding the DVD drive - get the Sony CRX300 (newegg.com has it for ~$50). It's a DVD reader and CD burner. Works great..
# January 29, 2004 6:55 PM

Robert McLaws said:

My e-mail said it was sent on the 22nd. I have yet to receive the Longhorn stuff.

Too bad they don't have it so that you can play discs with WM9 files on an Xbox.
# January 29, 2004 7:42 PM

Dumky said:

This seems a bit extreme, but it's true this format can easily confuse end-users...
I hope they fix the %01 part of the problem as well, since it could still contribute to future flaws.

There is a lot of testing involved in making a patch, but how many weeks will this major flaw been left un-patched?
# January 29, 2004 9:04 PM

Todd Moon said:

Just get a DVD burner. They're pretty cheap now-a-days. And then you can make us all copies. :)
# January 30, 2004 12:16 AM

Dennis v/d Stelt said:

Hi there,

A collegue of mine has got his DVD's as well. And we live in The Netherlands.

The problem I had with the DVD's is that there aren't any full presentations on the DVD. I would've liked that. I haven't seen the DVD's yet, (heard about the lack of video's) but I've heard the PPT slides from the Microsoft PDC site are on them. Demonstrations of code are in video though.

Oh, and, you can watch DivX and XViD and more if you install a mod in your XBox. When you've got that, you can also play copied games ánd backup rented or loaned games on your HD, as a little extra! ;)

I don't have an XBox, I don't like console games. All the games I DO like are also on my pc.
# January 30, 2004 3:13 AM

TrackBack said:

Over a month back a security bug was discovered in IE that allows the address displayed in IE to be different for the actual address used. Here is a description and demo of the spoof attack. Apparently, the upcoming fix includes dropping the http://user:pwd@domain/ url format support. This is a radical "fix" and the response by security experts (mentioned in the article) was surprising. This format isn't the root cause for the specific bug and the "fix" is going to break stuff (not to mention IE's support for standards). In any case, I hope they fix the part of the...
# January 30, 2004 3:24 PM

TrackBack said:

# January 30, 2004 4:28 PM

locitt said:

I found an useful link about DataGrid scrolling in a DIV..

http://www.dotnet247.com/247reference/msgs/30/153589.aspx

Cheers.

Loc.
# January 30, 2004 9:28 PM

Jason Salas said:

Good thoughts, Rob. I also think "programming" and "writing code" aren't always necessarily the same discipline.
# January 31, 2004 2:00 AM

Udi Dahan - The Software Simplist said:

In many large organizations, there is a divorce between "design" and coding. Team leaders do the "design" and the programmers just fill in the code. A programmer required to "just fill in the code" of a given design can be so seriously cobbled that any chances of quality code are gone.

I guess that that's my main point. You can't just code. Code and design must be done together, entirely by one person ( at least - you may have 2 or more people working together, but any person that's coding must be involved in the design process ). More importantly, the process must be fluid. The design must be redone in light of new understanding that surfaces during coding.

Like you said before - preaching to the choir.
# January 31, 2004 3:04 AM

Alan McBee said:

I hope I'm not making a CLM (Career-Limiting Move) here, but I have sort of the opposite problem.

I love to code, but I'm not terribly good at the "look how much stuff I wrote in 6 straight hours" flavor of programming. Your stereotypical mediocre coder has non-existent comments, random formatting, and any semblance to "elegant code" is invisible. In my experience, the coders that fit this stereotype nevertheless produce a lot of working code. Bug-free and intuitive it may not be, but it can still be shipped.

I, on the other hand, tend to carefully craft my code as I craft my words. Unfortunately, it's time consuming. As I believe Blaise Pascal once wrote, "I have made this [letter] longer, because I have not had the time to make it shorter." I find very few business managers that care for well-written code as much as they care for meeting a deadline, no matter how capricious the date may have been.

So, I try to emphasize my analysis and design services, and de-emphasize my coding services. It's frustrating; I am still often expected to wear the "ship that damn code already" hat. This still puts me in the camp of "mediocre coder" although for a different reason than you suggested.

My guess is that most people like me give up trying to work with code, and train, suport, document, evangelize, or manage instead. That leaves the your code-shipping mediocre programmers at the helm.
# January 31, 2004 5:50 AM

Chris Sells said:

I think that one of the reasons that coders aren't very good is that they don't know where the bar is. How does a coder know if they're good or not?
# January 31, 2004 9:27 AM

Avonelle Lovhaug said:

Alan - Interesting. I agree that for some people, the deadline is the most important thing, and everything else takes a back seat. But not everyone is like this, and I hope you continue to look for people who will emphasize the kind of coding that you want to do.

Also, most of the time emphasizing the deadline and everything else really wrong, but sometimes it is okay. It depends on the people and the project. For example, when I worked for a consulting firm, we had a guy who always seemed to have analysis paralysis. Every project I was on with this guy, he wanted to slow down, and reconsider decisions already made, because they had some limitation ("harder to maintain", "won't perform as well", "more difficult to install", etc.)

The problem is that most decisions that are made involve tradeoffs. Ultimately, you have to make decisions and start coding. This guy was constantly removed from projects, because even after he was told - "look, we made the decision, just live with it", he would agree, and then come back tomorrow and argue about it again. Geez!

On one project, the customer just wanted to meet the deadline. It was political. They wanted to prove that something could be done in a few months - someone else had used up a whole year, and gotten NOTHING done on this project. It was an application that screen scraped data from a mainframe app, so we didn't even have a design ("make it look like this, but in Windows"). We had to remove the guy who couldn't get over the fact that it was just not being done right. We got it done on time - and the customer was happy. Sure, it would suck to maintain it, but they weren't intending to keep it around very long.

So, I guess my point is - there has to be a balance. Deadlines are important, but so is well written code, and good design, etc. Very few projects I've worked on have an unlimited budget and schedule. Sometimes you have to strike a balance between code that is well written and executes correctly and is well documented, etc. against getting it into an end user's hands whose life or job will be better because of using the software.
# January 31, 2004 11:16 AM

Scott said:

Chris, good point. Who sets the bar? I've seen a lot of crappy code come out of "senior" coders and good code come out of "ink-is-still-wet-on-their-cs-degrees" type of guys.

I think that Roberts definition is lacking. He seems to be looking at it from a maintinence and asthetic point of view, without considering performance and functionality considerations.

By the standards mentioned above this function could be an example of "good code"

private int divideTwoNumbers(int iNumOne, int iNumTwo)
{
//divides iNumOne by iNumTwo and returns the value
return iNumOne/iNumTwo;
}

It meets all the requirements for "Good code" that Robert listed but it has a fatal flaw that prevents it from being "Good code" in my eyes. No input checking. What happens if iNumTwo is 0? You're going to puke up an exception.

More here
http://www.lazycoder.com/article.php?story=20040131151944229
# January 31, 2004 3:47 PM

Scott said:

errr, my example would look better if the formatting wasn't stripped out. ;)
# January 31, 2004 3:47 PM

Robert McLaws said:

My lack of looking at it from a functional standpoint was entirely intentional. We could hack all the other stuff to death about what makes it "good" code, and everyone else has different opinions. When you strip all that stuff away and get right down to it, if you can't read it and understand it immediately, it's crap.

Further, Scott, your example does not fit my definition of good code, because the comments are totally redundant. Descriptive code does not need to be commented because it describes what you're doing. Your example would have been "good" code in my book if it instead contained a complete set of C# comment tags.

I don't think that functional considerations make a Software Master Craftsman. Before you shoot me, hear me out. That stuff can be learned fairly quickly. Communications skills cannot. If you're a poor communicator, typechecking won't make your code any better.

Take this unformatted example: (I'm not a C# guy)

private int a(int b, int c)
{
if (b > 0, c > 0){
return b/c
}else{
throw new exception["You Suck."]
}
}

That code does typechecking, and always assumes failure. The code is horrible, because you have no idea what B and C are, nor do you know what A is, its purpose, and how it fits into the rest of the code. Nor does the code throw any meaningful exception in case of failure.

And besides, if you're not validating your inputs, defaulting to failure and specifically asking for success, it's not a matter of whether or not you are a coder. You should not be allowed near a computer.
# January 31, 2004 4:18 PM

Robert McLaws said:

BTW, this was just my observation based on the book I am reviewing. It talks about the other aspects of Software Craftsmanship. I just had an idea triggered by a single sentance of the book. I chose not to talk about that stuff because a) I can't, and b) the book does a darn good job of covering it already.
# January 31, 2004 4:22 PM

Scott said:

Good points Robert. I didn't realize you were only looking at it from a formatting POV. The only problem with including the XML comments in the formatting group is that VB.NET doesn't have them but for C# code they are essential.

My POV is a result of seeing lots of "why is there so much bad code being written. Why are there so many bad coders" articles (the most recent one before yours I think is here http://weblogs.asp.net/wallen/archive/2003/12/11/42935.aspx) without anyone defining what makes a good coder and good code. How can anyone strive to become a "good coder" if they don't know what differentiates a good coder from a bad coder. I'd like more people to chime in with their ideas of what makes code good and a good coder.
# January 31, 2004 4:37 PM

Omer van Kloeten said:

Those are some very good points you're making.
I have to say that this has been something I have learned over the past several years, as I began to work for a company, instead of making my own one-man projects amateurishly.
I think another point that should be made (if I haven't by any chance missed it being made already) is that code mustn't always be self-descriptive, but it should always be understandable. This means that if I write a really complicated algorithm to make something work faster and reading it would make absolutely no sense unless you sat with a pen and paper for half an hour, I would put a page long comment before that code segment to describe it to whoever has to read it next. There have even been times when I have been forced to read such comments, even ones made by yours truly after not working on something for very very long, and found them not only useful, but quite necessary.
# February 1, 2004 2:26 AM

Robert McLaws said:

Scott,

You're gonna love this book then. I think it's about time someone came up with an organization of programmers that was based on meeting standards and not just "who-knows-who".
# February 1, 2004 1:49 PM

Avonelle Lovhaug said:

Yeah, it isn't something I would have done to my kids. Then again, I have a pretty unusual name, and it has served me well. It almost always starts a conversation ("gee, I've never heard of that before?" or "what nationality is that?") so maybe it won't be too bad. Furthermore, in general, I have discovered that when you are growing up other kids will make fun of any name if they want to.
# February 2, 2004 1:16 AM

TrackBack said:

# February 2, 2004 3:56 AM

Brian Carroll said:

Maybe I'm just a geek myself, but I liked this. Like Avonelle said, kids will make fun of anything. At least 2.0 is something he can hide if it bothers him, unlike "Carroll" or "Lovhaug". I guess the three trimesters of pregnancy may soon be referred to as "Alpha", "Beta", and "Release Candidate".

# February 2, 2004 9:44 AM

Himadrish Laha said:

Hi,

I have install the byteex, and did not found how to use them.

No good code help is there.

regards,
Himadrish
# February 2, 2004 11:00 AM

Michael Favro said:

Too funny! I was expecting ".com" or something like that. But "2.0" is pretty ingenious. I wouldn't think of doing it, but to each their own. Like Brian suggested, it's something that can be easily hidden as he gets older. It will all depend on how persistent his parents are in *calling* him "2.0". Maybe they'll realize that the novelty of *naming* him "2.0" is enough. Maybe.
# February 2, 2004 11:09 AM

tim said:

i tried this a while back with two different providers and didn't have much luck...not because of them in particular, but when you start talking about exchange over the internet and your machine might be on a domain, behind a *good* firewall, etc...it starts getting tricky. remember, exchange uses rpc most of the communication -- even thought there are published ports, and most providers supply the required information, some require local machine hosts file manipulation to set them.

if what you are looking for is calendar sharing, etc...there may be other options...MailEnable, IMAIL, MERAK Mail, and other lightweight but powerful mail servers provide calendaring functionality...granted not as robust as exchange, but i think you may not be liking the implementation of exchange over the internet...but if it has changed...then great.

now if all you want to use is the new exchange 2003 web mail interface...then pick one and go with it...my office uses exchange 2003 and i have yet to connect via outlook because the web interface is rich enough for what i do.
# February 2, 2004 5:56 PM

Tejas Patel said:

Yes, it is funny, but will his version no. change when he gets periodic updates and patches when he grow ups. What the hell was his father thinking ??
# February 2, 2004 6:28 PM

Chris Johnson said:

Exchange 2003 has the ability to do almost everything over the internet via HTTP. It is a feature called RPC over HTTP and it works very well. You can do everything in your full Outlook 2003 client without needing to use OWA.
# February 2, 2004 6:40 PM

shreya said:

Success definititon is the first step to achieving it.
# February 2, 2004 7:11 PM

Dan Bright said:

I use MailStreet [http://www.mailstreet.com/] and I'm quite satisfied with their service.
# February 2, 2004 9:00 PM

tim said:

the rpc over http feature is actually a combination of exchange 2003 *AND* windows 2003. since some providers may offer exchange 2003 on windows 2000...this is something you should verify/look out for...but yes, it is a very cool feature as well...
# February 2, 2004 10:37 PM

William Lefkovics said:

Hi Robert.

There are a few Exchange MVPs that have worked in Hosted Exchange environments.

I'm sure you've looked at the lists here:
http://www.microsoft.com/serviceproviders/hostedexchange/default.asp
http://www.microsoft.com/exchange/partners/hosting.asp

Here is a more comprehensive list of hosted exchange providers:
http://www.crowcanyon.com/ExchangeASP.htm

I'm not on the RPC over HTTPS bandwagon yet. It is either the best thing since MIME or it's a disaster waiting to happen. But many, including Exchange PMs use it daily.

These guys are resellers of these services:
http://www.groupspark.com/

I do not have intimate experience with any of them, but some of the other Exchange MVPs have varied levels of experience with them.

William Lefkovics, Exchange MVP





# February 3, 2004 12:57 AM

Shannon J Hager said:

My email said my Longhorn package was sent on the 22nd as well, I finally got it Friday the 30th. I hope they didn't pay for that 2nd day air the email claimed, it wasn't worth their money.
For some reason, I got 2 identical packages. Strange.

I was surprised to see that Longhorn wasn't actually included in the package.
# February 3, 2004 2:17 AM

Travis Laborde said:

My company did this and hated it. We had Exchange Hosting for about 1 year, and we just had to go back "in house." For us, the main issues were the speed of new email notifications, and downloads in general. There was always a lot of fingerpointing when things went wrong, etc. Not a fun time at all. We used aspone.com. Maybe it was them?

Just my two cents. Good luck, I hope you fare better than we did.
# February 3, 2004 4:41 AM

Michael Teper said:

We use Intermedia.NET and have been very happy with the service and support. They made the move to Exchange 2003 recently, it went smooth, and OWA'03 rocks!
# February 3, 2004 2:37 PM

Paschal said:

Hey man calm down it was me. As usual you never make any errors, you're the editor god in person. !

Read my last post about this
# February 5, 2004 2:46 PM

Derick Bailey said:

and the next time you complain about your shitty internet connection, you'll be right! 8)

I can imagine the tech support calls... "my internet connection is leaking shit again. can you plug up the hole?"
# February 5, 2004 5:36 PM

Robert McLaws said:

LOL
# February 5, 2004 5:40 PM

Udi Dahan - The Software Simplist said:

There's actually a company that manufactures robots to do this exact work ! I don't remember their name though =(
# February 5, 2004 5:47 PM

Mike Cole said:

Advert: AT&T Broadband - FAST AS SHIT!
# February 5, 2004 6:10 PM

Doug Thews said:

Do you think cable shileding will have to be changed to handle any of the toxic stuff that may or may not be able to dissole through current levels of shielding if left in constant contact?
# February 6, 2004 12:02 AM

Robert McLaws said:

I would think that it would be run through sealed metal conduits fastened to the ceiling of the pipes one way or another.
# February 6, 2004 12:10 AM

Steele Price said:

Dude! You Rock!

I was totally irritated with this Freetextbox Bug!
Almost to the point of replacing the darned thing.

Thank you for fixing it.

Steele Price
# February 6, 2004 2:14 PM

TrackBack said:

# February 6, 2004 4:16 PM

Doug Thews said:

OK, I can see that. Interesting idea.
# February 6, 2004 6:46 PM

Doug Thews said:

Maybe they can add sewer cable layer to the list of crappy jobs I posted about today: http://www.ddconsult.com/blogs/illuminati/archives/000268.html
# February 6, 2004 6:48 PM

Binned It said:

I have the fix to the massive range of problems that other people and myself are having with NIS 2004. Like every body else I too have had to put up with the Symantec support personell that are not trained in IT but can read from a script, sometimes.

It took 2 months (longer than the refund time) of e-mails and 20 re-installs but I finally got this Crappy Application Fixed.

1. First you must read the manual that comes with the disk.
2. Whilst reading the manual let the dog chew the CD.
3. Put the CD in the bin
4. Shred the manual
5. Download and use zone alarm.
6. Problem fixed. Its only cost you the cost of the software and you still have a PC that works because no Symantec Product was ever installed.
# February 9, 2004 10:01 AM

Brian Desmond said:

Glad to hear things are going well for you, Robert!
# February 10, 2004 12:42 AM

Sunil Kumar said:

Can I get MSDOS 6.22
# February 10, 2004 3:22 AM

Sunil said:

How can I download MS-Dos 6.22??
# February 10, 2004 3:33 AM

Pedro said:

Excellent trick Robert. Just wath i looking for.
# February 10, 2004 6:43 PM

Robert McLaws said:

:) Glad I could help.
# February 10, 2004 6:51 PM

dumb said:

Yeah, this ain't another installer. It's rather like a zip sfx maker, it just creates cab sfx instead of zip self-extractors.
# February 11, 2004 2:30 PM

TrackBack said:

I was most pleased to see the FINE WORK Robert McLaws did on the Freetextbox Control. Everytime I posted code in this Blog I had to actually edit it on the SQL Backend to retain the formatting, this was miserably annoying. Fortunately it's now fixed.
# February 11, 2004 4:06 PM

Phil Scott said:

Perhaps they don't want direct downloads. Most of those links contain info on how to install, and usually other helpful information.

If I was MS, I personally wouldn't want anyone direct linking to those files for liability and tech support reasons.
# February 12, 2004 2:43 PM

Robert McLaws said:

Possibly, but I have all that in my bulletins anyways.
# February 12, 2004 2:56 PM

Julie Lerman said:

Robert - did mean to say that the site is "now current" rather than "the site is not current "?
# February 12, 2004 3:00 PM

Robert McLaws said:

Caught that right as you did... thanks.
# February 12, 2004 3:01 PM

Phil Scott said:

What if they find they need to change the wording, or add other information.

I don't think anyone minds clicking on the button, and in fact I would prefer it. Not that I don't trust you, but you know how clicking links that go to .EXEs goes.
# February 12, 2004 3:23 PM

Robert McLaws said:

<shrugs> Haven't had any complaints up to this point.
# February 12, 2004 3:32 PM

Shannon J Hager said:

consider this a second (after Phil's) complaint. I don't download directly from 3rd party sites and I have gotten complaints from others when I've sent them to sites that hotlink like yours (neowin, for example).
# February 12, 2004 7:07 PM

Roy Osherove said:

Thanks for the great work you're doing in thie area Robert.
I personally wouldn't mind clicking a button. Phil has a point.
# February 13, 2004 4:20 AM

James Crowley said:

Exactly. Sure, provide backward compatibility when it makes sense - but you can't do it forever.

People complained when Windows XP/2000 "broke" certain applications and games, but they've gotten over it, and I'd say the benefits gained (ie producing the most stable release of windows yet) certainly outweights the downsides.

# February 17, 2004 4:26 PM

Abhijit Gore said:

me neither. And I'm just a few blocks away from Conference.
# February 17, 2004 7:51 PM

Darren Neimke said:

Hey Rob, which one has the better execution plan, the one that you shared or this:


CREATE PROCEDURE TestProc
(
@Param1 varchar(50) = NULL,
@Param2 varchar(50) = NULL,
@Param3 varchar(50) = NULL
)
AS
SELECT
*

FROM
TestTable

WHERE col1 = ISNull( @Param1,col1 )
AND col2 = ISNull( @Param2,col2 )
AND col3 = ISNull( @Param3,col3 )
# February 18, 2004 4:41 AM

Paul Bartlett said:

Another variation to consider is anyone's doing execution plans:

WHERE @Param1 IN (Col1, NULL) ...
# February 18, 2004 5:02 AM

Ramon Smits said:

Shouldn't is be something like the following?

CREATE PROCEDURE TestProc
(
@Param1 varchar(50) = NULL,
@Param2 varchar(50) = NULL,
@Param3 varchar(50) = NULL
)
AS
SELECT
*

FROM
TestTable

WHERE
((@Param1 is null) OR (col1 = @Param1)) AND
((@Param1 is null) OR (col2 = @Param2)) AND
((@Param1 is null) OR (col3 = @Param3))

Or am I missing out here????

Doing the 1=1 will always return all rows if I am correct. So basicly you could just run

SELECT *
FROM TestTable

Which will have the best execution plan I think :)

# February 18, 2004 5:24 AM

Peter said:

This makes no sense, did you actually test it?

The option Darren offers works, but only if there are no NULL values in the columns.

(you would need ISNULL also on the column, and COALESCE in the where statement)
# February 18, 2004 5:28 AM

Paul Wilson said:

Ramon's sql is what I've always seen and used. I don't know if its "best", but it sure beats yours, which doesn't work. :)
# February 18, 2004 5:33 AM

Ramon Smits said:

Sorry... I copy/paste @Param1 two times too many :)

CREATE PROCEDURE TestProc
(
@Param1 varchar(50) = NULL,
@Param2 varchar(50) = NULL,
@Param3 varchar(50) = NULL
)
AS
SELECT
*

FROM
TestTable

WHERE
((@Param1 is null) OR (col1 = @Param1)) AND
((@Param2 is null) OR (col2 = @Param2)) AND
((@Param3 is null) OR (col3 = @Param3))

I don't know what you want to accomplish with your query yours will definitaly will always return all rows.

WHERE
(col1 = @Param1 OR 1=1) AND
(col2 = @Param2 OR 1=1) AND
(col3 = @Param3 OR 1=1)

Is just the same as

WHERE
TRUE AND
TRUE AND
TRUE

Thus every record will be returned. And I don't think that is what you are after.

@Paul Wilson: This search query will work perfectly and based on 100% on hands experience :)

The only problem that I have with optional parameters for search storedprocedures is that they will degrade your query performance dramatically if you use a lot of paramters. It is just better build the query in some sort of dataaccess component. Because SQL server will save the execution plan performance won't suffer from this. Only problem with this is that some architects think this is wrong.. If that is the case then just pass a varchar with the storedprocedures that you execute with

declare @query nvarchar(4000)
set @query = 'SELECT * FROM testtable'
exec sp_executesql @query

:)
# February 18, 2004 5:57 AM

William Bartholomew said:

My usual approach is:

WHERE
(@Param1 IS NULL OR col1 = @Param1) AND
(@Param2 IS NULL OR col2 = @Param2) AND
(@Param3 IS NULL OR col3 = @Param3)

This is a must read:

http://www.algonet.se/~sommar/dyn-search.html
# February 18, 2004 6:07 AM

Frans Bouma said:

Ramon smits has the right solution.

You can rework it to:
CREATE PROCEDURE TestProc
(
@Param1 varchar(50) = NULL,
@Param2 varchar(50) = NULL,
@Param3 varchar(50) = NULL
)
AS
SELECT *
FROM TestTable
WHERE col1 = COALESCE(@Param1, col1) AND
col2 = COALESCE(@Param2, col2) AND
col3 = COALESCE(@Param3, col3)

However, if you compare execution times of these kind of stored procs with dynamic sql, you'll be shocked as the stored proc is very slow.

I did some testing back then:
code: http://weblogs.asp.net/fbouma/articles/7049.aspx
and the article:
http://weblogs.asp.net/fbouma/archive/2003/05/14/7008.aspx
# February 18, 2004 6:15 AM

Mauricio Feijo said:

Like Ramon, this is how I would do it:

create procedure testproc
( @Param1 varchar(50) = NULL, @Param2 varchar(50) = NULL, @Param3 varchar(50) = NULL )

as

select *
from testable
where ((@Param1 is null) or (col1 = @Param1))
and ((@Param1 is null) or (col2 = @Param2))
and ((@Param1 is null) or (col3 = @Param3))

The way Rob did will optimize to a simple select * from testable
# February 18, 2004 6:29 AM

JosephCooney said:

Frans - regarding the changes you suggest, this technique does not work where col1, col2 or col3 are null when ANSI_NULLS is ON. AFAIK Ramon's code does handle null columns properly.
# February 18, 2004 11:33 AM

Robert McLaws said:

Thanks for the info Frans. I wish I could do dynamic SQL, but unfortunately I can't. I'm pretty anal about security, and I don't allow direct operations against my tables.

Thanks William for the link... I'll look into sp_executesql.

And thanks Ramon for a working script. It seems to do what I need it to.
# February 18, 2004 11:41 AM

TrackBack said:

# February 18, 2004 11:49 AM

Frans Bouma said:

Joseph:
hmm.. you're probably right. Too bad, as COALESCE is a bit faster than the IS NULL OR .. constructs (as far as I can tell from the execution plan)
# February 18, 2004 12:01 PM

Simon said:

This is a classic situation of the differnce between the easy solution and the right solution.

The solution above results in far from optimum query plans. William's link to http://www.algonet.se/~sommar/dyn-search.html covers all the points and is the best coverage of this issue I have read, and is a must read for any serious SQL person.


# February 18, 2004 12:03 PM

Robert McLaws said:

Simon,

Unfortunately the right solution is the wrong solution because it opens up an unacceptable attack vector on my application. I do not allow any direct operations on my tables. The link you provided stated the security risk up front, and said it may not be acceptable for that very reason. Given the requirements, your option is not valid.
# February 18, 2004 12:19 PM

TrackBack said:

# February 18, 2004 12:50 PM

Bnaya Eshet said:

why doesn't the xaml spec available

i realy like to read it

if you can send me a copy to
bnaya_eshet@splsoftware.com
i will appreciateit
TNX
# February 19, 2004 8:20 AM

Hannah said:

Yay, I was looking for an MSN one! And hat one is awesome. Thanks! =D
-Hannah
# February 22, 2004 10:09 AM

TrackBack said:

One of the things I *love* about the world of blogging is the ego &#38; personality issues the big fish...
# February 23, 2004 7:00 PM

Roko said:

UTF-xx: Pain in the arse. Excellent article by the way! Did the trick in getting SharpReader to read the aspx file. Now I won't have to generate the XML file on my computer then do a "Save As".
# February 25, 2004 3:59 PM

TrackBack said:

# February 26, 2004 5:17 AM

TrackBack said:

Recomendaciones para manejo de par
# February 26, 2004 5:18 AM

RogerW said:

Looks like I've come late to this conversation, but I'm glad I stumbled onto it. I just ran into the same problem. I needed to create an XML string to be passed to a SQL Server stored procedure. SQL Server insisted that the XML be in UTF-8. I assume the string is marshalled behind the scenes, but I was left with the problem of correctly setting the encoding attribute.

I used the StringWriterWithEncoding solution. Simple, but annoying.

I like Toby's MemoryStream approach as it seems to be internally consistent (the XML is actually created in UTF-8), but it doesn't seem possible to (easily) convert the byte array into something I can pass to SQLServer.
# February 27, 2004 3:29 PM

Shannon J Hager said:

there has been some low rumbling about trying to get a centralized area for all "social software", but your post made me realize that a better option might be an open P2P-type collection of users except that instead of the data being stored on the clients, the data could be stored on the servers.

I join Friendster, Friendster takes my info, but the other social networks (orkut, myspace, etc, etc) would access that via a p2p-type process.

hmmm....

# February 28, 2004 2:45 AM

Thom Allen said:

So I really have to wait for an invitation to join Orkut? What is this thing called Orkut?
# February 28, 2004 11:02 PM

Rich C said:

Some combination of these with some added features may be compelling. Right now, Orkut doesn't really offer me much beyond some contact information anyway. Might as well download that into Outlook.
# March 1, 2004 12:06 PM

Tom Lucas said:

Yup, the flaw was fixed and patch made available to the community prior to the full disclosure announcement. The version with the flaw fixed is the current stable release of DNN 1.0.10e.
# March 3, 2004 7:01 PM

Udi Dahan - The Software Simplist said:

Have you considered the linkdemand part of the security attribute ?
# March 5, 2004 1:46 AM

Robert McLaws said:

No, because I have no idea what that is. Can you explain?
# March 5, 2004 6:27 AM

Cute Rascal said:

Great! Maybe Microsoft can convince me within the following two years not to switch to another OS.
# March 5, 2004 10:29 AM

Udi Dahan - The Software Simplist said:

From the MSDN secure coding guidelines ( http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/seccodeguide.asp ):

[System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.LinkDemand, PublicKey="…",hex="…",Name="App1",
Version="0.0.0.0")]
# March 5, 2004 3:34 PM

Udi Dahan - The Software Simplist said:

This does exactly what you need - "it limits the assembly to be used only by a specific calling assembly"
# March 5, 2004 3:35 PM

Robert McLaws said:

Yeah, but that is done programmatically. The XHEO|Licensing system is a run-time licensing thing, and I won't know at compilation time what assembly is going to be calling it.
# March 6, 2004 12:40 PM

Daren said:

Robert , does the built in Xheo limit "Publisher" not already do what your looking for ?
# March 6, 2004 6:58 PM

Robert McLaws said:

No, the Publicher Limit only limits it to an assembly with a given Strong Name Key. I want a publisher to be able to use it on a certain control, but not necessarily all of their controls.
# March 6, 2004 9:07 PM

Reggie Jackson said:

the best file comparison tool on the market today, from what I've seen, is Grigsoft

http://www.grigsoft.com/wincmp3.htm

and it's only $24.
# March 8, 2004 2:45 PM

John said:

...or you could just drag a task from the task area into your calendar.

I think taskline is an interesting product but the killer feature is not with the tasks in the calendar - it is for managing critical paths. You can set dependencies on tasks which is pretty cool.
# March 9, 2004 2:13 AM

Ali Khawaja said:

I need help! I uninstalled fpse, installed everything(spsv2, biztalk, etc). i cannot create web projects in vs.net 2003 anymore. i installed fpse again and its properly configured with my default website, but still its not working. The error messages that i get are posted in my briefcase:

http://briefcase.yahoo.com/bc/akhawaja@sbcglobal.net/lst?.dir=/VS.Net+Issues

I'll appreciate any help.

Thanks
Ali
# March 9, 2004 4:20 PM

TrackBack said:

# March 9, 2004 11:31 PM

Jai Bharat Patel said:

Hi RogerW
>>>just ran into the same problem. I needed to create an XML string to be passed to a SQL Server stored procedure
>>>SQL Server insisted that the XML be in UTF-8
>>>


Use ntext/nvarchar instead of varchar to pass XML string
# March 10, 2004 10:46 AM

AJ Henderson said:

Awesome. I can't thank you enough for this straightforward explanation. I was slamming my head against the monitor trying to get my new dev box (Win Server 2003) up and running with some legacy ASP/COM+ apps...and your instructions made it all work.
# March 10, 2004 5:42 PM

Robert McLaws said:

Glad I could help!
# March 10, 2004 5:49 PM

TrackBack said:

# March 10, 2004 10:28 PM

joseph said:

cool stuff
# March 11, 2004 1:12 PM

Jason Mauss said:

# March 11, 2004 5:16 PM

Robert McLaws said:

Gosh frickin darn it. Guess I gotta find another name.
# March 11, 2004 5:24 PM

Jason Mauss said:

hahaha. I didn't think that was you, it being done with JSP and all. You can have my blog name "BlogCabin" if u want - considering I don't have any rights to it anyway.<g>

Or maybe you could call it Blog2005 and tell people it will be released with Yukon. Heh
# March 11, 2004 5:26 PM

Robert McLaws said:

Oh my lord that is funny.
# March 11, 2004 5:30 PM

Chris Frazier said:

If you want to add C#/VB.NET syntax highlighting, I've got some code adapted from Adam Sills's squishySyntaxHighlighter.

That is, if you don't mind LGPL code.:)
# March 11, 2004 5:54 PM

Robert McLaws said:

Hey, that would be awesome. Send it on over.
# March 11, 2004 6:07 PM

Chris Frazier said:

use the comboBoxItem.ComboBox property - it will give you access to the combobox on the toolbar.

The event? SelectedIndexChanged.

Cheers.
# March 11, 2004 6:50 PM

Robert McLaws said:

It's not showing up to in the IDE let me handle that event.
# March 11, 2004 6:56 PM

TrackBack said:

# March 11, 2004 10:27 PM

TrackBack said:

You have been Taken Out. Thank you the post.
# March 12, 2004 4:02 AM

martin@alcoholicdiary.com (Martin) said:

Excellent - is it going to be freely available or charging - guess which I'd prefer :)
# March 12, 2004 4:14 AM

Doug Thews said:

Does it work with MovableType?
# March 12, 2004 10:41 AM

Robert McLaws said:

It's probably going to be free, but it won't work with MovableType (initially). We'll add support for that later.
# March 12, 2004 2:02 PM

Tully Rhodes said:

That's a good story. I am genuinely glad to hear something good about Gates.

Maybe Microsoft should abandon its less than stellar operating systems and concentrate on assisting police.

# March 12, 2004 3:23 PM

TrackBack said:

# March 13, 2004 1:10 AM

Scott Galloway said:

Nice picture...makes a nice Wallpaper :-)
# March 13, 2004 1:28 PM

Ron said:

robert,

Could you please let us know what camera/lens he used to take this shot in your blog.

thanks,
-ron
# March 13, 2004 3:20 PM

TrackBack said:

You have been Taken Out! Thanks for the post.
# March 15, 2004 1:28 AM

Douglas Husemann said:

I agree robert 100%.

A comment I made is that it appears that they have spent all the time getting webforms up to snuff but haven't spent the time with winforms.

If Longhorn was around the corner then maybe we could wait. But it will be a version 1.0 product and winforms (imo) in whidbey is a 1.2 currently. Hopfully it will be a 2.0 by LH. better yet it would be better if it was a 2.0 product in whidbey.

Douglas
# March 15, 2004 3:30 PM

Scott Glasgow said:

Not really what you're looking for, but the closest you can get to that, that I know of is using the Select method on the DataTable object. It returns an array of DataRow objects though.
# March 15, 2004 3:35 PM

matthew said:

Well....

It would be more pleasant and you would appear more humble if you did not launch into everything with such venom. Look at people who get real respect. They do not make such unabashed attacks on the work of others like this. You come across as: 'I've been using webforms for a few months, and today I started using Winforms, and I know it's crap already, because I've been using it for one day'.

I looked at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscheckedlistboxclasstopic.asp (and linked pages), and the documentation looks ok.

Can you come back with some real criticisms, about how you would refactor this class, and which properties are bad and good, rather than slightly rude rant?

PS. The underhand swipe at everyone else 'wasting their time' writing about Generics does not become you, especially as you haven't actually posted anything concrete or substantial.
# March 15, 2004 3:54 PM

Robert McLaws said:

Matthew,

Lst time I checked, I was allowed to post my frustrations on my own blog. A cursory inspection of my blog notes that I've been posting here for longer than 75% of the other people here, and I've been extremely construtive in that time. You could go to PatchDayReview.com, LonghornBlogs.com, my articles on Builder.com, or my MSKB articles, and have ample examples of the effort I put into being a part of Microsoft communities.

I intend to be more constructive about specifics after I am finished with my work. Most people that follow my postings note that I typically express extreme frustration about something, then I do something extremely constructive about it. Instead of jumping down my throat about it, why not give that documentation more than an 8 second inspection? The code doesn't work.

If it came across as rude to you, that was not my intention. You should focus on the reason for the frustration instead of being hurt because of an interpreted personal attack. I think there would be little argument that the difference between WinForms and WebForms is a mile wide, just in comparing www.asp.net with www.windowsforms.net. Microsoft has made WinForms into the bastard child of .NET, and it is apparent all over the place. The fault is not in the teams themselves, but in Microsoft for not putting more focus and direction on making both development processes intuitive.
# March 15, 2004 4:08 PM

TJ said:

You can get the same result by using a dataview, or like th eprevious poster said by using select on the Datatable.

You can do it its just not as stright foward.

DataRow[] foundRows =
Sessings.Tables[0].Select( "Default='FALSE'", "", DataViewRowState.Modified );
# March 15, 2004 4:12 PM

Shannon J Hager said:

This is completely second-hand unverified information, but from what I've heard, most of the improvements in Whidbey are on the ASP.NET side so it looks like MS is going to focus on Avalon, etc, instead of improving an arguably dead-end Winforms line. I can't say this is the wrong thing to do but it isn't exactly the best news I've ever heard.

Not playing devil's advocate at all, because I am also more Web than Win, but I often see posts by people coming from the opposite direction (win to web) that say almost the exact same thing but the opposite (hope that makes sense). I think it has a lot to do with developers playing to the strengths of their chosen platform and then finding that in the other platforms, the strengths are elsewhere. Sort of like when a user moves from Mac to Windows or Windows to Mac. Regardless of which is "better", the user has a period of confusion and reduced productivity while learning the OS's strengths and best practices.
# March 15, 2004 5:14 PM

Julien Ellie said:

Hey Robert,
I posted an "answer" of some sort on my blog to your rant. Here is the link: http://www.3deurope.com/Blog/Permalink.aspx?bid=bbce4047-e8f8-468b-b8db-1256869be087
# March 15, 2004 5:59 PM

Scott said:

I've used the RowFilter to that kind of effect.

PtDs = getTodaysPatients();
DateTime dteSelDate = (DateTime)ViewState["FetchDate"];
if(PtDs.Tables.Count > 0)
{
DataView PtDv = PtDs.DefaultViewManager.CreateDataView(PtDs.Tables[0]);
PtDv.Sort = ViewState["ClinSortColumn"].ToString() + " " + ViewState["ClinSortOrder"].ToString();
PtDv.RowFilter = (string)ViewState["ClinFilterValue"];
dgTodaysPts.EditItemIndex = int.Parse(ViewState["EditItemIndex"].ToString());
dgTodaysPts.DataSource = PtDv;
dgTodaysPts.DataBind();
}
# March 15, 2004 7:10 PM

Scott said:

whoops, where (string)ViewState["ClinFilterValue"] equals a where clause. "clinic='MO' AND physicianId=3214"
# March 15, 2004 7:11 PM

blog coward said:

Aren't you the optimistic one, thinking that the delay is to fix what's broken... lol. I'd love to eat crow on this one, but the delay is because of reasons far from the needs of coders like us. Keep thinking positive, though :-)
# March 15, 2004 9:20 PM

brady gaster said:

my comments at link.
# March 15, 2004 10:21 PM

TrackBack said:

# March 15, 2004 11:07 PM

TrackBack said:

# March 15, 2004 11:21 PM

TrackBack said:

# March 16, 2004 1:00 AM

Paschal said:

Good stuff. When are you going to release it ?
And when you say free, is it really free ? That's seems to be good news anyway.
# March 16, 2004 7:26 AM

martin@alcoholicdiary.com (Martin) said:

She's looking good! Looking forward to trying it out...
# March 16, 2004 7:33 AM

Robert McLaws said:

Yeah, it's really free. I'm going to release it by the end of the week, barring any VS.NET integration issues. I'll have it set up so you can run it standalone as well (outside the IDE).
# March 16, 2004 7:37 AM

Anatoly said:

Bravo, bravo.
I worked with Delphi long time before windows forms.
My opinion: Delphi handles windows application much better when vs.net.
I just don't understand this: it seems to me Microsoft just don't learn from others.
While C# obviously taken from java(and improved, I hope) but windows forms programming it is a disaster.
# March 16, 2004 8:29 AM

Matthew said:

Yes you are right, the controls are not as easy to use as those in ASP.NET.

But my problem is more about your attitude and apparent lack of humility. When you have got 20 years experience in programming, rather than being 20 years old, I might be more interested in reading aggressive arrogant posts from you. Until then, criticism is a constructive thing, but can you rather do it in a way that doesn't come across as offensive? Look at Scoble. If someone criticizes him, he doesn't come back all guns blazing. This causes conflict and makes you lose respect. Instead he will just say something like 'Well, I might be a loser'.

This makes him look like someone with wisdom and humility, two qualities that will take you far in getting people to listen to and respect you. Please take what I am saying in a positive way - it's not a personal thing, it's just that when you are young and inexperienced, it helps to come across not as someone who knows it all, but rather someone willing to listen to others and learn.
# March 16, 2004 8:39 AM

Philip Rieck said:

Using both WinForms and WebForms, and coming from a C++/Win32 and ASP & JSP background, I disagree with you.

I'm not going to argue each point here (perhaps I'll blog it?), but I do want to help explain why you're being "jumped on":

When you say things like "..they suck..", "extremely obvious that this whole WindowsForms thing was not throught out as well as the ASP.NET side was" (previous post), you are making it clear that you consider this to be *fact*, not your opinion.

When you espouse your opinion in a public arena and present it as though you believe it to be fact, you'll encounter harsh response from those that disagree. Every time.

So it's really your choice - rant away with your thoughts -- present them as vitriolic absolutes and be prepared for the fire, or present them as well thought-out opinions and start a discussion. But don't berate "the community" when your words have the intended effect.
# March 16, 2004 9:18 AM

Jim Arnold said:

You're right - WinForms sucks in many ways. However, I don't think you've identified anything particularly sucky here.

First, the WinForms list controls are designed to work with real objects, not strings. Why would I want SelectedItem to return a ListItem if I've bound a collection of Customer objects to it? I want my Customer back, thanks.

Second, your list of "Select-y" properties is heavily contrived: 3 members of that list are classes, not properties. SelectNextControl just happens to have the word "select" in its title, ditto SelectionMode. The rest form a perfectly symmetrical API for accessing 1) all items, 2) selected items or 3) checked items. The WebForms lists are simpler because *you can't get a list of all selected items*. Instead, you get the lowest item in the list. Did someone say intuitive? I still have nightmares about parts of the ASP.Net API.

Third, jumping from your brief (negative) experience with the WinForms API to blaming it for third world hunger (or whatever) is quite a stretch. Calm down.

WinForms is not ASP.Net. It isn't meant to be.
# March 16, 2004 9:22 AM

Wallym said:

Agreed. My partner and I were talking about this just recently. My guess is that Winforms was not thought through because the focus was on ASP.NET and Webforms.

Wally
# March 16, 2004 9:23 AM

TrackBack said:

# March 16, 2004 9:46 AM

Todd Moon said:

Sweet. Looking forward to checking it out! We can always use another "VB" acronym.

"I blog in VB."

"Huh?"
# March 16, 2004 9:54 AM

Jeff Julian said:

Looks great, love to get my hands on it.
# March 16, 2004 9:56 AM

Todd Moon said:

Yes, I was dreaming of the same thing just yesterday. I wanted to do a simple inner join between two tables in my DataSet. I resorted to sinking ItemDataBound and dynamically changing the Text property of the Cell after manually looking up the value I needed from the related table. Not exaclty elegant, but it worked.
# March 16, 2004 10:15 AM

Scott said:

Sorry to come into your blog and attack you but ...

"In closing, I am distressed at the amount of negative activity occurring in this community as of late. I don't know why everyone jumps down everyone else's throat all the time, but calling me an idiot and a moron because I have an opinion is hardly showing respect for anyone as individuals here."

"Gentoo is at it again. Thanks Scoble for a lucid answer. I was getting sick of all the crybabies bellyaching because it's not done yet. It's amazing to me how so many developers in the business know so little about the business of developing.
Robert McLaws • 3/11/04; 11:56:20 PM"

Are you the same guy who called all the developers with an opinion about the Whidbey slip crybabies? Now you're complaining about the negativity in the community?
# March 16, 2004 10:22 AM

Dennis said:

I dunno, I just haven't had much trouble working with listboxes. With databinding, set the datasource, displaymember, valuemember, then look at SelectedValue, how hard is that? And I've found it pretty useful to be able to get any object type out of it. Now, if you want to complain, here are imho a couple things to complain about:

1) Model-View-Controller isn't done right. Bind two listboxes to the same datatable, and when you change one of them it changes the other one too. The pointer to "current record" is in the datatable, not in the listbox.

In Swing and Cocoa, you can make two controls that point to the same data, and get a different view of common data in each control. That's the way it should be.

2) There should be a way for events like combobox.SelectedIndexChanged to tell you whether the event was caused by the user or by your code. I don't know enough about Windows to say if this is even possible, but not having it makes for a royal pain when you have multiple controls that are supposed to affect each others' state.
# March 16, 2004 12:53 PM

Julien Ellie said:

I think you still miss the point. Most of the control in Winform are based on their native counterparts. What you don't like is the native win32 listview.

If you don't want to take the time to try and understand why the native control is the way it is you're simply bashing something without understand it and it doesn’t have much weight. Win development is not web development, it has a legacy and a history and a LOT of people expect things to work in a certain way because that's the way they've been developing on this platform for the last 10 years. An entire industry is built on that knowledge. Legacy is not just a bad thing, consistency is good.

Trying to map existing knowledge to a new area is helpful but a dangerous task too. In this case more complexity also means more power to the user. And you might have to jump through some of the hoops imposed by win32 but if you think Winform is unnecessarily complex, try ATL... It's complex but some people love it.

Funny thing is, we get the exact symmetrical argument from people who've been doing client dev for a long time. I've hear people complain that we’ve removed some of the flexibility from the win32 api and they wish Winform would map more of it, making Winform even more complex. Should we alienate our core programmer group because we've completely changed the way they've worked with win32 or should we make it easy for people with no experience? It's a difficult balance.

In the end I think it comes down to the fact that you say that win32 is too complex and you think that even with the added help from winform the bar is still too high for a lot of people. I see your point but I disagree.
# March 16, 2004 2:21 PM

Robert McLaws said:

Thanks for great comments everyone. Good conversations. :)

Julien, I loved your post. It was well thought out, etc. But, in coming to the defense of the WinForms team, you have yet to explain why it is not more intuitive. You talk about where the API has been, and I'm talking of where it needs to be.

Maybe I'm complaining the wrong way. Maybe the hole that really needs to be filled is a book called "WinForms Programming for WebForms Developers."

I guess I just really hate it when programming makes me feel dumb. I don't like having to fiddle around with stuff, and I hate it when samples don't work. I really want to just be able to look at something, read the documentation, and go "Duh". And that didn't happen with my first uber-complex WinForms app. Is that my fault? In many ways, yeah. But that doesn't replace the fact that the documentation was flat-out wrong here. It also does not explain why the "SelectedIndexChanged" event is being called on form load as well as when an item changes in the dropdown.

Hey Matthew, thanks for some really great constructie criticism. I'd love to be able to say I've got that one down yet, but I haven't.

I don't think you should have to have a degree in both worlds to be able to program to it. There ought to be a way that makes it cater to the best of both worlds. And enough of the people here echoed similar complaints that I don't think it can be ignored.
# March 16, 2004 3:30 PM

Julien Ellie said:

Sorry can't stop myself from making another comment.... I never know when to stop :].

<i>I don't think you should have to have a degree in both worlds to be able to program to it. There ought to be a way that makes it cater to the best of both worlds. And enough of the people here echoed similar complaints that I don't think it can be ignored. </i>

Well I think nearly everyone agrees with that :) And that's where WinFx comes in. At this point you cannot magically "simplify" win32, it's a gradual process. I think I have addressed why we are where we are today and why it was the best solution, for now, to the problem with the resources and the time frame. Like I said in my first post, WinForm is not about re-inventing client programming, it's about making win32 more easily accessible from the managed world. Re-inventing the client dev is the Longhorn vision and that's also where MS is going. It's not like we're ignoring the input, we are investing huge ressources into this vision but it can't happen overnight as it is a huge undertaking that needs to be rock solid to handle the unavoidable evolution over the next decade. Also, it won't be available on everyone's desktop for quite a while, even after longhorn is released. There is a real need for a bridge here and that's also what WinForm is about.
# March 16, 2004 4:18 PM

TrackBack said:

You have been Taken Out! Comments about your post on this link. Thanks!
# March 18, 2004 1:03 AM

The great Alfonzo said:

The time has come
The hour is now
Don't write to event logs
Come massage my cow

incidently the EMAB is great and with 2 hrs work i was able to knock up 6 different scenarios that implement it out of the box.
Rock on young dudes!
# March 18, 2004 11:13 AM

Brian Goldfarb said:

Not during the MVP summit I assure you. -- I actually just posted the dates -- and for what it is worth, Scott Guthrie is going to hit up Phoenix too!

# March 18, 2004 11:58 AM

Scott Glasgow said:

Yep, it's down. I tried a few different logins that require Passport, and had the same results.
# March 18, 2004 2:18 PM

Rolando said:

it's down AGAIN. It also happened on last friday afternoon. Blame 2004-FH ;-)
# March 18, 2004 2:43 PM

Greg Duncan said:

Seems to be back up? (12:32PM PST)
At least I can log in again with MSN Messenger
# March 18, 2004 3:36 PM

David Cumps said:

and never do the status pages say it's down ;)
# March 18, 2004 3:44 PM

AlSki said:

Hi,
I'm a guy that nobody's ever heard of, who normally stays quiet, particularly in the world of blogs, where personalities are so important. My personal history of programming goes back over 20years now and covers diverse languages, including assembly, lisp, sql and C. I'll come back to why this is relevant later.

Now to the problem. My understanding is that Richard thinks the WinForms ListBox is too complex because you can't simply have a name value pair and has quoted a nice simple example to illustrate this. I think this might be the wrong way to approach this particular problem.

When I first started working in .Net, I too found that the listbox functionality seemed VERY strange. If you instead start with the ListView, a control that can replace ListBox a lot of the time, then you see a very different object model.
Name : ListViewItem has, as Robert expected, a Text property.
Value : ListviewItem also has a Tag property.

However, lets consider a real world example. Ask yourself, "What is it that you want to display in your List?" (for now think ListView).

I'll bet 90% of you are saying well I want to display a set of lines of text. However you really have a collection of objects that you need to show some of their properties. In order to do that you create a string and and that into the list and associate the object to each displayed Item. Lets consider a simple example. [C# syntax]

public Class Programmer
{
public string Name; //Bad programming but its just a Simple example
public string[] languages;
}
...
foreach (Programmer who in Coders)
{
ListViewItem newItem = ListView1.Items.Add(who.Name);
newItem.Tag = who;
}
...
MessageBox.Show("Selected programmer is " + ((Programmer) ListView1.SelectedItem.Tag).Name);

Now lets consider the ListBox. Instead of having to copy the identifying text, you just pass the object and tell the listbox which method to use to get the text. It sounds easier and so it is.

ListBox1.DisplayMember = "Name";
foreach (Programmer who in Coders)
{
ListBox1.Items.Add(who);
}
...
MessageBox.Show("Selected programmer is " + ((Programmer) ListBox1.SelectedItem).Name);

Hopefully that should help you to get your mind into the different ways that you can think about this problem, and maybe that's the big problem with Richards post above.
I believe (like many psychologists) that the language we use shapes the way we think. When we learn a new way of doing something then we go through a process of learning, not necessarily because the language is unintuitive, but because we have to learn new shapes for our thoughts. The Perl mantra 'There's more than one way to do it', is the perfect example.
# March 18, 2004 4:25 PM

Vazz said:

Looks nice!
# March 18, 2004 6:12 PM

Todd Moon said:

I got turned onto Typed DataSets this week myself. I have a wizard-style form with a typed DataSet held in ViewState. It has 7 tables with relationships and all. It's very nearly a mirror of my DB. I use the wizard to add or edit a bunch of rows to it. I use the Xml from DataSet.GetXml() as an input parameter in a stored procedure. This procedure loads the Xml and reconciles the rows with the database. The only problem I have is this: The string format of a DateTime in the DataSet is not compatible with SQL Server 2000. I haven't decided how I'm going to fix this yet, but it shouldn't be too much trouble. Worst case scenario is: I can "manually" change the DateTime format by operating on the xml with regular expressions before sending it into the sproc.
# March 19, 2004 2:43 PM

Todd Moon said:

BTW, my typed DataSet is only a mirror of my database's structure, not it's data. Though I may load in _some_ data if I'm editing an existing entity.
# March 19, 2004 2:47 PM

denny said:

perhaps it's partly the lack of anyone at ms confirming what you just said....
I hope that will happen...
I expect that to happen...
but till MS issues a formal notice ?

now can I have that Beta ++ a golive please?

Thanks :-)
# March 19, 2004 5:58 PM

Martin Spedding said:

Hi Robert,

maybe you speed read some of the blog entries about the delay. Most people, myself included, were less worried about the delay itself than the number of dependencies that were being built into the development cycle. We all know from bitter experience that the larger the number of "variables" the great the risk of failure or delay. I think for a lot people they still unclear why Whidbey..sorry Visual Studio 2005..is tied to Whidbey. That is problem with the marketing message.

Have a good weekend
# March 19, 2004 6:01 PM

Robert McLaws said:

..."why Whidbey... is tied to Whidbey?"

<Visual Studio>You cannot add a circular reference. Please try again.

Denny: The quote is from Tom Rizzo. Who else do you need to confirm it?

Martin: Why is dependency such a bad thing? That's what happens when you move everything to managed code. Everything depends on the runtime. If they want to make the runtime better, that delays everything. Oh well. I think Microsoft is perfectly capable of handling the development cycle when there are large dependencies involved. It's not like Microsoft is going to scrap it, or that .NET or SQL Server will fail because the runtime is late... it's frickin Visual Studio for petes sake. It's not like people aren't going to buy it. I still don't understand. How is Whidbey's delay increase MICROSOFT's chances of failing? This isn't a rinky-dink development project for a 5-employee client. It's a product central to Microsoft's platform strategy. I'm pretty sure they're going to spend as much time/money/talent as necessary to get it right.

I still don't get it.
# March 19, 2004 6:15 PM

Paul Wilson said:

I've seen the 3rd beta quote several times, but its still about Yukon. That's the issue that a lot of us have -- Whidbey being delayed for Yukon.
# March 19, 2004 7:42 PM

Paolo Marcucci said:

translation: "I fucked up. I have no clue why. Here, have a beer."
# March 19, 2004 10:28 PM

Jesse Ezell said:

The reason people are pissed is that the Whidbey is being delayed because of Yukon (at least according to Rizzo, though some say VS won't be ready in time either). Having to wait another 6 months to get access to things such as ASP.NET 2.0 and ObjectSpaces because a version of SQL server isn't ready (one that very few people will be adopting any time soon) is pretty lame. It wouldn't be so bad if .NET 1.0 or 1.1 had included basic stuff that should have made it like Generics or the IDE included basic refactoring tools (like JetBrain's IDE has had for quite some time). We were supposed to be getting Longhorn and Orcas next year, not Yukon and Whidbey, which means we are now a full product cycle behind. It's plain and simple, regardless of the real reason behind any delays, that does suck donkey balls.
# March 19, 2004 10:41 PM

Me said:

WRT the statement that WinForms is the bastard child of .NET.

The reason there is less interest in WinForms than WebForms is that:

- WinForms only provides incremental benefit over the existing mature tools for developing Win32 apps (VB6, MFC, Delphi, ...).
- WinForms also has the disadvantage of requiring a large runtime to be installed on the client.
- Given the above the case for migrating apps to .NET is not (yet) compelling.

Contrast this with ASP.NET. ASP.NET is a huge leap forward when compared with ASP. Nobody who's developed ASP.NET apps would consider using ASP if they could possibly avoid it.
# March 20, 2004 3:38 AM

Martin Spedding said:

Ok, I should not have typed my reply just before I went to sleep. Of course I meant Whidbey should not be tied to Yukon. If we are taking about enterprise development, the majority of companies have Oracle or DB2 as their corporate standard. In a lot of companies I see individuals developing using MS Access, departments using SQL Server and the enterprise applications use Oracle backends. Enterprise applications are often written in Java. Some forward looking companies are starting to look at .Net. I think the whole...it is just the IDE is false so why worry is wrong. People are just saying that for a lot of enterprise customers Yukon is a side show.
# March 20, 2004 3:43 AM

Robert McLaws said:

That still doesn't stop the fact that Microsoft has to have a coherent release strategy. Basically IMO it boils down to a lack of patience. MS knows that this is the release that is going to be widely adopted. They'd better get this one right, and I, for one, am willing to wait for it. Sure, it does suck, but bitching about it isn't going to help any.
# March 20, 2004 3:47 AM

Frans Bouma said:

"That still doesn't stop the fact that Microsoft has to have a coherent release strategy. Basically IMO it boils down to a lack of patience. MS knows that this is the release that is going to be widely adopted. They'd better get this one right, and I, for one, am willing to wait for it. Sure, it does suck, but bitching about it isn't going to help any."
You still don't address the binding issue: yukon and whidbey have to be released together. NO-ONE has given a sane reason for that.

I don;t think a lot of people want Yukon get rushed out the door. But it's completely irrelevant (or should be) to what happens with Whidbey.

And related to whidbey, it's not impatience. It's the lack of upgrades to fix serious issues like with the ASP.NET editor (which you must use a lot) which can't be fixed in vs.net 2003 (also not with a servicepack) and various other stuff in .NET.
# March 20, 2004 6:01 AM

Robert Hurlbut said:

Live and learn. :) But, its a lesson you won't forget. I know I have learned many of those same lessons ...
# March 20, 2004 7:29 AM

Jesse Ezell said:

Try System.Diagnostics.StackTrace/StackFrame.
# March 20, 2004 2:52 PM

Jesse Ezell said:

"Sure, it does suck, but bitching about it isn't going to help any."

Keeping your mouth shut ain't going to help any either. At least if you tell MS you think it sucks there is a possibility of them adjusting their schedule due to customer concerns. Even if it is, for some reason, to late to change the time table for this release, they will have customer feedback to play into future decisions.
# March 20, 2004 3:07 PM

Robert McLaws said:

But it hasn't been all that constructive. It's been extremely whiny. I haven't heard a single person say:

Hey Microsoft. You guys have been pushing extra hard for security lately, and I think that's awesome. XP Service Pack 2 is phenominal, and you guys are doing a great job. I'm kinda beefed though that Whidbey is being delayed by Yukon. Some of the features you are adding make it difficult for me to pitch the existing technology to my customers. Any chance that you guys could make break a few things out and throw us a bone until then?

A happy customer,
Blogger X.

No, all you hear is moaning and whining... geez get some cheese for that whine and be quiet. At least follow it up with something constructive. I may whine about stuff, but I come back shortly thereafter and offer some positive feedback. I'm not perfect, but PLEASE give us something else to read besides whiny complaints.
# March 20, 2004 3:50 PM

TrackBack said:

# March 20, 2004 4:21 PM

Jesse Ezell said:

You are free to your own interpretation of the matter. However, I should note that just about everyone who has "whined" about these delays has mentioned that the reason they are ticked is that we can't wait to be able to use the stuff they are releasing in .NET 2.0 (ie. they are doing a good job coming up with features that get us excited).

Regardless, the devs and PMs at MS aren't preschoolers and there is no need to sugar coat our words to make sure no one's feelings get hurt. My customers don't sugar coat their words when I have to tell them we can't begin project X yet because Microsoft has pushed back their VS.NET release date another year. They don't sugar coat their words when they tell us that the dev cost of X feature is just too high. So, I'm not going to sugar coat my words when I express my frustration to MS, because then I would not be truely expressing the frustration of my customers and myself, I would be expressing a level of frustration far below the one we are experiencing.
# March 20, 2004 5:57 PM

Robert McLaws said:

That doesn't make it any less important to be polite and constructive when expressing that frustration.
# March 20, 2004 8:28 PM

Jerry Dennany said:

I've got an example of performing a stack walk here:

http://www.codeproject.com/csharp/customtracelistener.asp

With this, you'll know the name of the method and namespace that called you. This might be another approach you could use.
# March 20, 2004 11:05 PM

Robert McLaws said:

Unfortunately, none of that helps. According to Paul @ Xheo, the CallingAssembly will always be Xheo.Licensing.dll. I have to walk the loaded assemblies to see who called who, and see if a specific assembly is in that call chain. I need to know the name of the assembly, and the public key token.
# March 21, 2004 12:41 AM

Jesse Ezell said:

Why doesn't that work? You can walk those stack frames to go all the way down the call chain and get the name of any assembly in the chain and everything else you need.
# March 21, 2004 1:00 AM

Robert McLaws said:

Wouldn't it just be simpler to just do [Assembly].GetCallingAssembly() recursively, and dump that into an array of assemblies that I can walk? I could be wrong, but after putzing around that namespace for about an hour, that seemed like the best bet to me. What do you think?
# March 21, 2004 2:17 AM

Robert McLaws said:

Jerry, you frickin rock. Next time I see you, I owe you a beer.
# March 21, 2004 4:17 AM

Martin Spedding said:

I am sorry Robert, but I think most of the commentary was constructive and not whiny at all. We all work in the real world where missing project milestones is cricised by our customers. You have to judge Micrsoft as you would any other business. All the people who have commented on the schedule changes are people who have actively promoted products from MS. What companies do not want to hear is constructive criticism, which is why it was great that Robert Scoble wrote his blog entry. This kind of feedback would not have been possible in the past. I am sorry Robert, but if you read your example "blog entry" from BloggerX you would assume that person was being paid by MS. Don't get my wrong I think it excellent that MS is attacking the security problems

I am happy when I see critical commentary, that is why I read blogs from the Java and linux world. I also check out slashdot. It is the healthy way of having an objective view of technology.
# March 21, 2004 5:10 AM

denny said:

Not familiar with the second firewall but I have long read that "Black Ice" was a firewall with a number of problems....

I think Steve Gibson of www.grc.com has posted some info in the past....

IMHO this one of the places to setup a low cost linux box and use a tool like firewall builder or smooth wall

or a hardware based firewall....

# March 21, 2004 10:18 AM

Daren said:

Robert, The PublisherLimit goes through the callstack checking each Assembly.FullName for the PublicKeyToken in the Limit, To limit it to a publishers specific assembly you would just add a check for the assembly name in the same Assembly.FullName string.
eg. MyNameSpace.MyClass, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1a2e12345f7b4948
Currently the PublisherLimit only looks for the presence of the PublicKeyToken specified in the license, your AssemblyLimit would check for PublicKeyToken && MyNameSpace.MyClass
Is that not what you are looking for ?
# March 21, 2004 2:41 PM

Robert McLaws said:

Sort of. I got it working already last night the way I wanted it to work. Thanks everyone!
# March 21, 2004 4:28 PM

TrackBack said:

# March 22, 2004 3:21 PM

TrackBack said:

Installing Sharepoint Services (WSS) with Project Server 2003 - Part I
# March 23, 2004 12:45 AM

sh said:

Lisp/Lisp machines seems to be where microsoft .net is taking the OS.
They are even adding closures.
I would personally like to see them or someone
support lisp as a mainstream .net language.
# March 23, 2004 9:26 AM

Hinrich Aue said:

Is there any Documentation? I wnat to use it, but when I try to use MySQLDataAdapter or so, compiler tells me it's not there.
I use mono.
Thanks.
# March 24, 2004 12:16 PM

Robert McLaws said:

Hmmm. It's been a very long time since I've posted this, so I'm not sure if there are docs. Have you tried importing the namespace reference in the code-behind? That might help.
# March 24, 2004 1:52 PM

Salu Kurian said:

See I am new to this topic
I have a problem

When i have insatlled ADAM and when i select
the Schema in mmc i get an information that

Schema FSMO Holder could not be found
Can you plz help me on this
# March 25, 2004 6:59 AM

AlSki said:

Doesn't ASP.Net also have 'the disadvantage of requiring a large runtime to be installed on the' server?

I'm glad you consider that 'ASP.NET is a huge leap forward when compared with ASP'. I currently am developing C#.Net and a legacy VB (Studio 97). I don't agree that 'WinForms only provides incremental benefit over the existing mature tools for developing Win32 apps', HOWEVER while they do provide only incremental functionality over previous, I think the new code base and class structure is a huge leap forward.

The cost here is that it has to be re-learned.
# March 25, 2004 9:05 AM

emmanuel Aniemena said:

success is mpact
# March 25, 2004 2:49 PM

Stefán Jökull Sigurðarson said:

An awesome app but one thing keeps nagging at the back of my head. :) Where does one get those wonderful toolbar icons. I've been looking all over for these true-color "standard" toolbar icons (as seen in Office 2003 etc.) Any hints or are they maybe only available commercially?
# March 26, 2004 6:16 AM

Matt Hawley said:

Does VB2004 support uploading images via FTP like BlogJet?
# March 26, 2004 8:02 AM

brady gaster said:

AMEN on the icon thing. oh wait - i get to find out AS SOON AS HE SENDS ME THE CODE.
# March 26, 2004 8:55 AM

Jason Tucker said:

This looks great Robert!
/me throws away source for my own VB type app. :)

also don't forget to add the ability to pull the current song from Winamp/WMP as I and many others do.
# March 26, 2004 8:57 AM

Adam Kinney said:

Please use the long name. VB2004 sounds like some language that already exists in 2004. Otherwise it looks pretty impressive so far. Nice job.

So is this freeware or for sale?
# March 26, 2004 9:50 AM

Darrell said:

Go for VisualBlogger.04 or something like that.

I'll second Adam's question, freeware, commercial, donation-ware, what??
# March 26, 2004 11:47 AM

Robert McLaws said:

You can get the icons here:
http://members.chello.nl/keepitcool/Faces.html

regarding price, it will be freeware/donationware for now. That might change later. Still debating, but at this point our goal is to get a killer blog tool out there.
# March 26, 2004 12:18 PM

Chris Sells said:

What's the posting protocol? I want to update my web site to support it so that I can use this app. : )
# March 26, 2004 1:17 PM

Robert McLaws said:

The specific protocol list is still in progress. Right now we will support .Text SimpleBlogService, MovableType, and metaWeblogAPI over XML-RPC. For more info on metaWeblogAPI, go here: http://www.xmlrpc.com/metaWeblogApi
# March 26, 2004 1:29 PM

oli gardner said:

protected class StringWriterWithEncoding : StringWriter
{
private Encoding _Encoding;

public StringWriterWithEncoding (StringBuilder stringbuilder, Encoding encoding):base(stringbuilder)
{
_Encoding = encoding;
}

public override Encoding Encoding
{
get {return _Encoding;}
}
}
# March 26, 2004 2:39 PM

Doug Thews said:

Cool. I'm an ASU grad from '85 living in Dallas. !985 was one of the first years that they actually had C.S. degrees in Engineering - it's amazing to see what's being offered these days.

Keep us posted on the Imagine Cup.
# March 27, 2004 11:41 AM

Chris Frazier said:

Looking good, Robert. One thing tho - if I want to post with a new category that doesn't exist in my blog yet, how would that happen? Would I have to go to my blog and create it there?

It's very possible (and easy) to allow for this when using the Metablog API. I'll give you a hint - a nice side effect of using a string array to post categories is that the (categories as) strings do not have to exist yet.

Good Luck!
# March 27, 2004 10:43 PM

Doug Thews said:

Glad to see you're planning on supporting MovableType in V1!
# March 27, 2004 11:20 PM

Robert McLaws said:

We're not using metaWeblogAPI yet. As you can see in teh second screenshot, we only pull categories that exist. If they do not, you'll be able to add a new category with the tool at some point. Right now you will have to go to your blog.
# March 27, 2004 11:41 PM

Jered Garrison said:

does it support the odbc.net provider?

also

what license would I need if I only wanted to use genx on a single web server to transform data formats, but wanted to send the intermediate result to a web farm, retreive the results from the web farm, transform these returned intermediate resultson the web server and finally forward to the client.
# March 28, 2004 4:48 AM

Robert McLaws said:

On the first question... yes. It supports all ADO.NET Data Providers

On the second one, I can't imagine why that scenario would be necessary, but you could create your own outputprovider that would do the trick.
# March 28, 2004 4:52 AM

TrackBack said:

# March 29, 2004 6:24 AM

Scott_NO_@_SPAM_Tripleasp.net (Scott Watermasysk) said:

I would not build anything against aspnetweblog. It was an accident (actually something weird in VS.NET) that it still exists. Once 0.96 goes live, it will be removed from the system.

-Scott
# March 29, 2004 7:25 AM

Andreas Häber said:

I had "the problem" the other way around :-)

With experience from Win32/COM programing and then having used WinForms for a while, it's a great pain for me to use ASP.NET. Even for a webproject which should be simple. There is so much information/properties missing in for example the Listbox control.

I love to use WinForms since it gives you the power to do whatever you want(almost.. but the limits really comes from .NET and not WinForms. Try to interop with a library expecting a Cdecl function-pointer from C# ;)). For example I really miss all the properties on listboxes in ASP.NET.

As earlier commented, when you understand the Win32 API then WinForms makes a lot of sense. If they morphed it into "a bastard child of ASP.NET" then I would either 1) use it and interop heavily with Win32 2) don't use it and wait for a better attempt.
# March 29, 2004 12:08 PM

Problem Child said:

Anyone getting error "Internal Error 2709: DDPatch.UpdateGac" when running MSDN Library for Visual Studio .NET 2003 Installer?
# March 30, 2004 2:53 AM

Robert McLaws said:

Thanks for the opposing viewpoint :). Helped keep things in perspective.
# March 30, 2004 3:07 PM

Paschal said:

Robert have a look at the excellent Spellchecker they implemented in freeTextbox. I think it should be possible to link it to your tool

http://www.iespell.com/

# March 30, 2004 4:54 PM

Robert McLaws said:

Paschal,

Thanks for the comments. I don't know that IESpell works outside of the browser. Since we're not using an IE Browser window, it's not really an option. But I really appreciate your feedback.

If you come across any others, please let me know.
# March 30, 2004 4:58 PM

M. Keith Warren said:

Roll your own, you are on the client side; u can do just about anything you want!
# March 30, 2004 5:14 PM

Robert McLaws said:

I'm not going to write my own spell checker. I only roll my own solution when there is no other solution available. I'm not a "code first, find components later" kinda guy. There has to be another option.
# March 30, 2004 5:24 PM

Avonelle Lovhaug said:

I've been using Keyoti's RapidSpell Web product for an ASP.NET app over the last year, and I've been fairly happy with the product and their support. They offer a similar product that is for Windows applications. It is not particularly cheap per developer, but there are no royalty or runtime fees, so it might meet your needs.

http://www.keyoti.com/products/rapidspell/dotNet/
# March 30, 2004 5:39 PM

Paschal said:

I am quite sure you can do something with this tool because when user wnats to have it they have to download it.
And maybe you can contac the developer of Freetextbox. He must have some ideas.
# March 30, 2004 5:41 PM

Doug Perkes said:

Check out NetSpell from PaulWelter available on CodeProject:

http://www.codeproject.com/csharp/NetSpell.asp?target=spell%7Cchecker
# March 30, 2004 6:14 PM

TrackBack said:

# March 30, 2004 6:37 PM

JosephCooney said:

What does "Implementing the control was an OK experience" mean? Unless you wrote the control yourself you would hardly be implementing it.
# March 30, 2004 7:28 PM

Marc LaFleur said:

I'll second the suggestion of RapidSpell. We're using their winform version and I can't say enough about it. Words with RTF, HTML, Text, and even a number of 3rd part controls like TextControl.

Worth every penny.
# March 30, 2004 8:05 PM

Robert McLaws said:

Implementing a control means that yoiu are taking someone else's control and putting it into your system. Implementing doesn't only apply to stuff you wrote yourself.

Too few developers think of the controls they write from a user experience standpoint. I see it as just another way that you interact with the company. You can tell when developers really care about how a control is going to be used, by the amount of time they put into implementation education.
# March 30, 2004 11:01 PM

leanne said:

i cant say i dont agree
# March 31, 2004 5:38 AM

JosephCooney said:

I don't think I agree with your use of the word "implement", but hey...it's your blog.
# March 31, 2004 5:53 AM

Robert McLaws said:

Dictionary.com: Implementing:
"To put into practical effect; carry out: implement the new procedures."

This means that any component is implemented, whether you wrote it or not. The definition does not specify that it had to originate from any specific place. You implement your own components the same as anyone else's.

# March 31, 2004 12:44 PM

Randy H. said:

How are you going to be handling your beta with this? Will it be open, or limited to select users?
# March 31, 2004 2:33 PM

Robert McLaws said:

Pretty safe bet that it will be an open beta, but you will have to register so we know who is using it. Since the bug tracking/feedback system is integrated, we'll need to know who is who for when we fix things.
# March 31, 2004 2:37 PM

Lotas Smartman said:

sounds pretty cool! cant wait for the blogger API to work. hopefully it will talk to my copy of wordpress! sounds sweet, and it looks cool too. good luck!
# April 1, 2004 5:16 AM

torsten.rendelmann@gmx.net (TorstenR) said:

When we will have support for dasBlog (www.dasblog.net)?
# April 1, 2004 5:24 AM

Robert McLaws said:

Oh yeah, almost forgot about that one. I'm pretty sure dasBlog also supports MetaWeblogAPI, so that shouldn't be a problem.
# April 1, 2004 5:43 AM

JosephCooney said:

I still don't agree with your use of the word. By including a component in your project you are adding a reference to it, and presumably also creating an instance of it when your application runs, but you aint implementing sh*t. I just think the whole sentence "Implementing the control was an OK experience" sounds a bit goofy. Anyway, this is a software development weblog, not the national grammar rodeo so I'll just leave it at that. Maybe it is a cultural thing.....
# April 1, 2004 6:59 AM

TrackBack said:

LSN WebLog &raquo; A Word From BillG
# April 1, 2004 7:48 AM

Jeff Julian said:

Pretty Nice......
# April 1, 2004 8:56 AM

Adam Kinney said:

Sounds good. Its pretty cool that Cross-posting made it into the beta. Unfortunately I need to use it to cross-post with .Text and dasBlog (you're right it supports MetaWeblogAPI).

Looking forward to using VisualBlogger!
# April 1, 2004 8:57 AM

M Mohsen said:

Is that how you detect if IIS is installed on a system?
# April 1, 2004 12:48 PM

AT said:

Finaly something everybody (including me) was reporting and waiting for 2 year !!!!
# April 1, 2004 2:49 PM

Robert McLaws said:

Joseph, I still think you're missing the point. I'll talk abotu it over in my corporate blog later today.
# April 1, 2004 3:19 PM

TrackBack said:

# April 2, 2004 6:31 AM

Reggie said:

Hey Robert

Thanks for the post! I appreciate it.

Reggie
# April 2, 2004 9:48 AM

K. Shier said:

Q: 'How does that look on Microsoft, who allows ComponentOne to put these components into their resource kit?'

A: Not as bad as their choice to include Crystal Reports. (especially when you consider that you are actually paying (in some way, somehow) for CR.)

I'll save the full essay for my own blog, but my top 3 gripes:
- spontaneous IDE-crashing bug
- clunky, outmoded interface (in what is basically a v10.0 product!)
- draconian, 'the customer is guilty until proven innocent' support model -- Not only did I have to use a 'premium support incident' (it was anything BUT) to attempt to get a resolution to the crash issue (THEIR bug!), but I literally spent more time helping them troubleshoot their broken support email system than I did discussing my issue. (...which was never satisfactorily resolved!) 'Icing on the cake': while their support email system was not working right, they wanted to count every individual email I sent them as a separate premium support incident! (seems almost funny, NOW...)

It's disappointing to hear about your experience with ComponentOne, as I was looking to their reporting package as a possible escape from the Crystal Reports nightmare.
# April 2, 2004 1:19 PM

Robert McLaws said:

Crystal is definitely another demon.

You may want to check out my corporate blog and see what my company is doing about it:
http://blogs.interscapeusa.com/robert/archive/2004/04/02/273.aspx
# April 2, 2004 1:25 PM

SBC said:

..love the title of the posting.. you have a way with words my friend..
# April 2, 2004 1:59 PM

Robert McLaws said:

Thanks :). I'm glad you liked.
# April 2, 2004 2:16 PM

TrackBack said:

# April 2, 2004 6:43 PM

TrackBack said:

# April 2, 2004 6:46 PM

TrackBack said:

# April 2, 2004 7:32 PM

TrackBack said:

# April 2, 2004 10:57 PM

matthew said:

hi. How can you characterize someone based on their nationality? Isn't it a little bit odd to say that you have more respect for a whole nation based on the abilities of an individual. The corollary, that you didn't have respect for Indian programmers before is also slightly disturbing.
# April 3, 2004 4:35 AM

Robert McLaws said:

Well, Matthew, because I'm young, I'm human, and I have had relatively little interaction with people from other countries.

Maybe it's disturbing, but everyone has prejudices, and if you don't, then you're a liar. At least I'm honest about how I felt. And I never said I didn't respect them before. My intention was to convey that I have a lot more respect for their abilities than I did before.

Why is it such a big deal to classify people by their nationality? I'm an American. Some people are Spanish. Others are Honduran. Big freakin deal. Nationality != race, so don't play the racial hatred card.
# April 3, 2004 12:31 PM

TrackBack said:

# April 3, 2004 2:38 PM

Chris Stewart said:

My team from VCU is finishing up our project for the regional competition in Princeton on the 17th. Be prepared, we've been working on ours since December. :D
# April 3, 2004 3:01 PM

JosephCooney said:

I read your first conclusion "It is unfair to make broad generalizations about people you've never interacted with" and though: good...less prejudice is a good thing. Then you turn around and making a sweeping generalization about "American developers" in item 2. Item 2 seems to fly in the face of item 1. I kind of get your point tho. People who think they can just be a "9-5 software developer", write the same old style of code they've written since vb3/Access/"classic" ASP, and generally not be proactive about learning new things and improving their development practices could be in for a bit of an employment shock. Perhaps it could be worded a little differently (I never thought of myself as a gramar nazi but after my "discussion" with you over "implemented" perhaps I am).
# April 3, 2004 6:56 PM

TrackBack said:

SUN - Microsoft peace: possible implications
# April 4, 2004 6:54 PM

AT said:

I may propose another explanation for Microsoft delays.

Just for a record - do you know any good new features to add into Whidbey ??

Microsoft has recived too many good requests for new features and design changes, and trying to implement them.
All future requests currently postponed to next version _AFTER_ Whidbey.

They are simply not been able to handle that big amount of new features.

.NET 2.0 is new major release. If I was Microsoft - I've released two more 1.2 and 1.3 versions to get your money ;o) But instead of this they ask you to wait without direct matherial loss.
Microsoft release two or three versions for free, only then they charge you for almost-production quality.

Take a look on Java History - from version 1.1 to version 2 they took two years.
http://java.sun.com/features/2000/06/time-line.html

What's wrong from Microsoft delays ? Nothing.

P.S> Can you solve current tasks using current tools ? If you decide to wait - competitors will win time. Time = Money ;o))
# April 4, 2004 9:42 PM

TrackBack said:

# April 5, 2004 9:20 AM

TrackBack said:

# April 5, 2004 10:13 AM

SBC said:

Hey Robert, I am from India.. Thanks!! A compliment from you is certainly a compliment!
:-)
# April 6, 2004 7:12 AM

stephanie said:

Success is what gets everybody though the day . Life is success.
# April 6, 2004 4:40 PM

jeff said:

Actually, LISP has survived the AI times. It can be used as any programming language for other applications as well (for example AutoCAD is programmed in LISP). Many ideas of LISP have been taken over by JAVA and .NET (high level language, virtual machine, garbage collection...).

I've been leading a team of LISP developers (and doing some coding myself) for a number of years. We create planning tools used in the airline industry's daily business.

IMHO, besides powerful string processing facilities, LISP's main advantage are:

- Fast development cycles (as it's an interpreted language like JAVA and C#/.NET, so no lengthy linking-compiling stuff. Further, each function or method can be modified/loaded/tested separately at runtime. By experience, much faster to write than JAVA and of course C++)

- Incredible flexibility (any algorithm, structure, concept can be programmed in a very natural way. What other language easily allows you to create functions that create functions? BTW, unlike JAVA, LISP also supports multiple inheritance)

- Short learning curve for programmers as one can program LISP in any style (functional, OO) and make the code look like your favourite language (might it be C, JAVA, Pascal, Fortran, VB...). This might also be a disadvantage, especially in big projects (> 1 man!) because it doesn't force one to use a particuliar structure. If this annoys you, you can still use the very LISP-like Smalltalk, which is 100% OO and ortogonal and thus enforces a bit more disciplin.

The main disdvantages is that the LISP community is quite small compared to the C and JAVA communities. But it's still vivid! Nearly all programmers I know who got to use LISP were reluctant at the beginning, but are now fervent supporters of it. So why not give it a try?

For more information, I recommend http://www.lispworks.com/.

For a free personal edition development environment (Windows or LINUX/UNIX), I know 2 possibilities: you can download the one at the site above (belonging to XAnalys) or the one at Franz (www.franz.com). There are also other smaller vendors. I personally prefer XAnalys (better support than Franz and better GUI library). The 2 main vendors (Franz & Xanalys) collaborate on many developments.
# April 7, 2004 3:35 AM

TrackBack said:

# April 7, 2004 10:09 AM

awowale femi said:

it is about fulfilling your potential and acheiveing your dream.
# April 9, 2004 11:11 AM

Scott Galloway said:

I know that Lutz did release a 1.2 version...I remember playing with it at one point...and a quick google finds...http://scottwater.com/blog/archive/2003/11/05/10552.aspx
# April 14, 2004 4:26 PM

Scott Galloway said:

Hmm...isn't in the current archive - I have a copy of the version he did release I could mail you(haven't tested it on the March bits yet though)
# April 14, 2004 4:31 PM

Scott Galloway said:

Truning into a saga this...you could also try this: http://www.longhornblogs.com/mrusso/archive/2003/11/04/1140.aspx on the current release version...
# April 14, 2004 4:32 PM

Robert W. McLaws said:

Scott - Could you e-mail that to me? I can't get it working over here...
# April 14, 2004 5:56 PM

Scott Galloway said:

I'm made this available for download, you can get it at: http://www.mostlylucid.co.uk/uploads/Reflector12.zip - as I say I haven't tried it on the CTP bits yet (mid install as we speak)
# April 14, 2004 6:08 PM

Robert W. McLaws said:

Yep, that doesn't work with the CTP bits. The newer versiion works better, but I can't decompile and get at any code.
# April 14, 2004 6:18 PM

Scott Galloway said:

Sorry about that...I'm sure if you contact Lutz he'll be able to help...
# April 14, 2004 6:20 PM

JosephCooney said:

ILDASM works.....
# April 14, 2004 6:39 PM

Robert W. McLaws said:

Yeah, but I don't read IL.
# April 14, 2004 6:54 PM

Paul Wilson said:

Anakrino!
# April 14, 2004 9:17 PM

Steve Schofield said:

Hi Robert,

I've been playing with VS 2005 for about a week. OH my gosh, it rocks. I'm jealous for those who have seen formal presentations about vs 2005. I posted a couple of opinions on my blog both on weblogs.asp.net/steveschofield and my personal blog @ adminblogs about 1st impressions on VS 2005. Keep up-to-date on your experiences on VS. 2005. Thanks for the great blog info!
# April 14, 2004 10:16 PM

Robert W. McLaws said:

Anakrino does not work with System.dll. It seems to work with some other ones, but System.Configuration.Providers.ProviderBase lives in there.
# April 15, 2004 12:24 AM

sln said:

We currently use ASPONE and there have most definitely been 3 different key issues for us.

1. We lost 1 full month of mail data because their "backups failed" and they were "unable to restore data".. Totally intolerable

2. Someone changed the inbound domain for our domain over a weekend. Nobody at our company touched it. The change blanked it out and so for the whole weekend. NO EMAIL. We were told that ASPONE has no eventlogging or other procedure to determine unauthorized changes or mistakes by their own people. At a minimum they would not admit it.

3. Since the port 135 shutdown by most providers ie comcast, we have been forced to use a VPN which absolutely sucks (laggs).
We have made many attempts to get them to Exchange 2003/Windows 2003, which did indeed happen. But now for the past couple months, the can't seem to get RPC over HTTP going, or Active Synch for our smartphones.

We are investigating alternatives. ASP should not provide continuous streams of excuses. Whenever ASPONE has a problem, they always invoke Microsoft as in "Microsoft is looking into this". Why can other providers manage?
# April 15, 2004 3:04 PM

Robert W. McLaws said:

We're using MailStreet.net now, and they are fabulous. Works like a charm.
# April 15, 2004 4:28 PM

Mike Sax said:

>> Yeah, but I don't read IL.

Oh come on Robert, C# is for wimps! :)
# April 16, 2004 12:17 AM

Robert W. McLaws said:

Lol. Maybe someday when I'm not a one-man development team, product support unit, marketing copywriter, and business development manager, I'll have enough time to learn IL too. ;). Until then I could really use a tool to speed this along.
# April 16, 2004 12:52 AM

TrackBack said:

# April 16, 2004 4:32 AM

Karl said:

I thought Microsoft totally blew it with that tool. It's a 50+ meg yellow note replacement. Which means they've missesd the whole reason behind yellow notes: simplicity. I always thought it was closer to Word than anything else.

Of course to each their own :) Finding ways to boost productivity is always fun, this just wasn't for me :)
# April 16, 2004 8:38 AM

denny said:

"Me to"

bugs they admited to but did not have fixes for was the first thing....

tryied the "grids" and saw *ZERO* benifit from them.

got the web menu to work...
checked and found that any web dist needs a "Per server + CPU *n" fee
so for just selling a client an app that uses the menu controll it was like 700-800 bucks!

went and found skmmenu on gdn.com that does the same thing and has a zero cost.

now lets be clear:
I'd gladly pay a "One TIme" fee for the control dist.
I could see adding a *small* per site fee....

but 400 bucks for a web site to have a menu???

and the price of this by the way is not listed.... you have to call them
and the first thing they say is:

"that offer expired, you need to buy a new version to develop with"
I had to tell the twit about 5-6 times that my dev system was working fine.... that i needed the fee refered to in the license document!

so they seem to be set to get us to buy a new version of the dev setup but don't want to talk about just putting the bits on a clients server.

something very wrong there....
# April 16, 2004 9:45 AM

Bill said:

should be able to do an assembly redirect with a .config file to run Reflector on the ctp bits (supportedRuntimes). i definitely did this successfully on the pdc bits.
# April 16, 2004 10:29 AM

Shannon J Hager said:

OneNote is currently the program my friends want me to shut up about. I thought it was cool the first day I used it but a few months later, I'm still finding features that amaze me.

It is a "posted note" replacement only if you never bothered maximizing it. Then it becomes a notebook replacement. Except it does everything you wish a real notebook did. and more.


I love this program on a desktop, I can't wait to use it on a Tablet.
# April 16, 2004 12:06 PM

Robert W. McLaws said:

Something changed between the PDC bits and the CTP bits. There is now an extra meta data table header that Reflector does not like. It errors out trying to browse any code whatsoever.
# April 16, 2004 12:15 PM

Ben M. Schorr said:

Indeed. It's a full-text-searchable, web content aggregating, note flag gathering, extremely large yellow note.

I use it all the time; for brainstorming, research, gathering ideas, taking notes on meetings or seminars...it's certainly replaced the dozen or so pads of legal paper I was using before.

-B-
# April 16, 2004 12:48 PM

TrackBack said:

Channel9 Link
# April 16, 2004 2:21 PM

Luke Stevens said:

Yes I'm getting that error too. I've had the MSDN from the trial CD plus MSDN from Whidbey on this machine in the past, so maybe those have left something behind that's interfering.
# April 16, 2004 2:54 PM

Jeff's Wife said:

Hey Rob!

It was cool to finally meet you as well.. what a whirlwind trip you had. Our daughter was especially happy to have a person near her age to discuss politics with who didnt argue with her!

Come back anytime :-)
# April 16, 2004 3:04 PM

Tony Lindskog said:

I have had issues all day (Fri April 16 2004) - but it JUST now came back online.

This is odd,

--Tone
# April 16, 2004 3:43 PM

Robert Scoble said:

My wife says hi and she enjoyed the time when you stayed with us too! (The house is a lot nicer now, thanks for helping with the WiFi).

Thanks for being part of Channel9. That's why it's so great.
# April 16, 2004 11:04 PM

Tobie Heyns said:

I have read through all the components. Component One's reply to my problem with their reporting tool was to get the latest version. Out of my free license of course. Their reply to this was TOO BAD!!!! They have good stuff, but I am not keen to pay for their development cycle and debug their components for them.

This is something they can have a look at.

# April 17, 2004 6:26 AM

john said:

So Robert, maybe people can get enough "parody" and some facts or constructive speculation would be a nice change.
# April 17, 2004 9:07 AM

Peter Moss said:

I am so sick of the way .NET handles XML.

I decided to upgrade to .NET rather than Java because I have a lot of legacy systems using ASP.

To me it made scense to use .NET with XML to remove my legacy problems but guess what? MSXML 4 just flakes out trying to read anything from .NET because it doesn't understand UTF-16.

But to make it worse I can't find anyway to work around this problem. Are MS just stupid or are we the programmers the ginue pigs yet again.

How angry, fed up and sick of .NET's handling of XML am I? Java here I come.
# April 18, 2004 8:43 AM

TrackBack said:

# April 18, 2004 4:02 PM

Joe Kingry said:

Ok, you're critizing, open source, non-profit for not having the bandwidth and capital and time for video interviews? I'm sure if they had any of the above three you'd be seeing this kind of interaction.
# April 18, 2004 5:06 PM

Ali Parvaresh said:

One word: Awesome :)
# April 18, 2004 11:13 PM

TrackBack said:

# April 19, 2004 12:38 AM

Robert W. McLaws said:

Oh boo frickin hoo on Open Source. I'm really sad cause they don't have the money... that's one of the benefits of being a legal organization and not a religion. And Sun and IBM have the dough to do it.... don't see it though do ya?
# April 19, 2004 12:48 AM

TrackBack said:

# April 19, 2004 12:59 AM

TrackBack said:

# April 19, 2004 1:14 AM

Scott Galloway said:

Was this a joke? ;-) Still champing at the bit to get my sticky mitts on this - any update on the ETA?
# April 19, 2004 3:45 PM

forgetfoo said:

awesome! haven't seen it mentioned, maybe i missed it, but i hope that some support for RSS/Aggregators will be there :)

i'm still on the lookout for one that hit's both on the head... Blog+RSS App. *grinz*

cant wait to try it out!
# April 19, 2004 4:28 PM

TrackBack said:

# April 19, 2004 9:13 PM

forgetfoo said:

btw, are there any plans or ideas on XHTML? just curious. looks sweet... when can we try it out? :)
# April 19, 2004 9:26 PM

Robert W. McLaws said:

No plans for XHTML. The edit control is using a wrapper for the MSHTML.ocx control, so my editor's capabilities are limited by what the wrapper I'm using and the control itself can do. If someone can find a better WinForms HTML Editing control that is 100% managed code, and FREE, then please let me know.

In the emantime, I am trying to get a beta out ASAP. I have to stabilize a bunch of features first.

In regards to integrating with other Aggregators, I'm open to ideas on how that would work.
# April 19, 2004 10:03 PM

Anil said:

Let us know when you're ready, and we can help you get up to speed on adding AtomAPI support, so you can support many of the major weblog tools (like Blogger, LiveJournal, Movable Type, and TypePad) with just one API, for simplicity.
# April 20, 2004 12:31 AM

jeffc said:

robert:

if you do you vault w/ vs 2005, be aware that the integrated client may not work correctly.

the vs 2005 ctp bits are still a little too fresh that we haven't done any testing, but if you do have a positive experience, please let us know.

just a heads-up.
jeff clausius
sourcegear
# April 20, 2004 12:33 AM

Roger Benningfield said:

Robert: If you need a generic metaWeblog endpoint to test against, just let me know.
# April 20, 2004 3:36 AM

Shawn Anderson said:

Me too! I'd love to test this out. Any info/updates would be greatly appreciated!
# April 20, 2004 10:09 AM

J. Ambrose Little said:

"...a better WinForms HTML Editing control that is 100% managed code..."

Why limit yourself to managed code when the control you're currently using isn't managed?
# April 20, 2004 10:37 AM

Tim Marman said:

It's especially good on the tablet (and mixing Ink, audio and text is certainly neat too).

I usually get that same reaction - "what good is it" - until people actually use it.

The fact of the matter is, it is quite simple, while offering a lot of power at the same time.

I've posted a bit in the past on this - my only two real complaints are the lack of API/extensibility and the poor Ink support (ie not like Journal).

If the rumor mill is right, and these get addressed in SP1, OneNote might be perfect :)
# April 20, 2004 11:55 AM

Robert W. McLaws said:

I'm using unmanaged code because I have a managed wrapper for it. I'd rather it be managed. I don't see managed code as a limitation.... I see the MSHTML ActiveX control as a limitation.

Anil: I didn't know that LiveJournal et. al. already supported AtomAPI. Rockin. That should make my life a lot easier.
# April 20, 2004 1:07 PM

TrackBack said:

So Scoble mentions something called "Visual Blogger 2004" Robert McLaws is working on Visual Blogger 2004. This is going to be an awesome way to edit a weblog. McLaws was telling me about the Visual Studio integration. Here's how it'll...
# April 20, 2004 3:13 PM

Jeff Julian said:

Very Cool!
# April 20, 2004 3:33 PM

Phil Weber said:

"...a better WinForms HTML Editing control that is 100% managed code..."

Seen this? http://www.nikhilk.net/Content/Samples/HtmlComponent.zip
# April 21, 2004 12:25 AM

Robert W. McLaws said:

That's not managed code. It's a wrapper for the MSHTML.ocx control. And it's kinda cheesy at that. It's what I'm using in the program now, only heavily modified.
# April 21, 2004 1:56 AM

TrackBack said:

What's wrong with WinForms and why I think Microsoft should look hard and close at providing top tier controls out of the box.
# April 21, 2004 7:36 AM

kpako@yahoo.com (Dare Obasanjo) said:

When last I checked there were guidelines that any API that used generics should also provide non-generic versions of the method so it could be used from languages that didn't support generics. I don't know if this policy has changed but I didn't see the point of doubling my API surface area for what is effectively syntactic sugar so I didn't use generics in any of the APIs I was designing for Whidbey.

I have no idea about about other teams in Whidbey.
# April 21, 2004 9:04 PM

Julien Ellie said:

Yes, it's very simple, generics are not yet CLS compliant, so no API will expose generics until that's the case.
# April 21, 2004 9:48 PM

Mike Schinkel said:

Robert,

I'm still uneasy with your analysis but do accept that it is your opinion. Any further comments would just rehash my points causing you to rehash yours, ad infinitum.

HOWEVER, I take SERIOUS expection to this:
"Don't think he was objective as he would like to believe..." You are making an accusation for which you have absolutely no basis. I guard my repution very carefully and do my absolute best to ensure my integrity in all things.

I would greatly appreciate it if you would apologize and acknowledge that accusing me of being disingenuous was not appropriate.
# April 22, 2004 3:06 AM

Paul Bartlett said:

I was on security training a couple of days ago and got told the former, and knew I'd read the latter on an MS blog...
# April 22, 2004 4:08 AM

TrackBack said:

Excerpt: Finally found a useful tool for brainstorming...
# April 22, 2004 4:17 PM

TrackBack said:

Robert McLaws tells me Visual Blogger 2004 is not just for blogging from Visual Studio&hellip;an idea I thought was excessively limiting anyway. Visual Blogger 2004 is a general blogging client with hooks into Visual Studio. With all the tech bloggers...
# April 22, 2004 6:42 PM

TrackBack said:

Robert McLaws tells me Visual Blogger 2004 is not just for blogging from Visual Studio&hellip;an idea I thought was excessively limiting anyway. Visual Blogger 2004 is a general blogging client with hooks into Visual Studio. With all the tech bloggers...
# April 22, 2004 6:42 PM

Jason Shellen said:

Robert,

It has come to our attention that you are using 'Blogger' in your product name. Please note that Blogger is a trademark of Google. We
are concerned that your use of Blogger will confuse people into believing there is some affiliation between you and Google. We would
like to prevent any such confusion. Therefore, we ask that you change your product name to remove reference to "Blogger."

Congratulations on your work on this blogging tool and let me know if I can be of any assistance.

Cheers,

Jason Shellen - Blogger

email : shellen@google.com
direct : 650.623.5171

The revolution will be bloggerized: http://www.blogger.com
# April 22, 2004 8:09 PM

ben said:

question on xml with array. may i ask how is array represented in xml and how to create it with xmltextwriter ?

eg i have the following text to convert.

abc="test"
xyz="my"
def={"one" "two" "three"}

the first two statement in xml would be
<abc>test</abc>
<xyz>my</xyz>

Any idea how would the 3rd statement be represented ? and how can i use xmlwriter to create ? Appreciate your help.
# April 22, 2004 10:29 PM

TrackBack said:

Det ser ud til at Visual Blogger skulle komme i en beta i morgen. Ser sp
# April 23, 2004 9:18 AM

Martin Parsons said:

Looking from the outside:

Robert did not accuse you of being disingenuous, he said that he doesn’t think you were as objective as you would like to believe and that is for the same reason he claims no objectivity.

The point is that you are thinking you can be objective about this issue but the truth is that you can’t because you are an interested party who makes a profit by selling products from this company (or from competitors), so I don’t see why he would have to apologize for stating the obvious.
# April 23, 2004 1:34 PM

Robert W. McLaws said:

Mike,

If you've read any of the comments in my posts on the subject, you'll see that I'm not the only one that feels this way. I'm sorry if it makes you feel uneasy. I'd feel uneasy about it too if I were in your position.

And on the other note, I was not making an accusation. I was stating an opinion. You claimed objectivity in the post but I don't feel it was a warranted claim. I did not say you were "disingenious" or whatever, I was merely trying to get you to acknowledge that there is no possible way you can be objective in the matter. If you agree with me, you piss off a vendor. If you side with the vendor, then you risk alienating customers. Your place is not one I relish under any circumstances.

Martin saw the matter exactly as it was intended. Mike, if you feel slighted, then for that I apologize, but I will not apologize for telling the truth as I see it. I don't think you are able to give an objective viewpoint, so I don't think you should be saying that you can.
# April 23, 2004 2:14 PM

Paul Vick said:

One thing I would add is that there's also a question of ordering that frequently enters into this equasion. When a feature like TryCast gets checked in, it can take a while before tools that support it get accepted to be used to build the frameworks. We also miss things sometimes, too, so feel free to point out places where it looks like we could do things better!
# April 23, 2004 6:21 PM

Roland Weigelt said:

Hi Robert,

your built-in feedback mechanism doesn't work (at least for me); I got the following error message:

Server was unable to process request. --> SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Interscape.WebServices.Feedback.Defects.DefectHandler.AddDefect(Defect defect) in D:\Vault\VisualBlogger\UserInterface\Web References\WebServices.Feedback.Defects\Reference.vb:line 42
at Interscape.VisualBlogger.Forms.Feedback.ToolBar1_ButtonClick(Object sender, ToolBarItemEventArgs e) in D:\Vault\VisualBlogger\UserInterface\Forms\Feedback.vb:line 364
at TD.SandBar.ToolBar.OnItemActivate(ToolbarItemBase item)
at TD.SandBar.ToolBar.OnItemRelease(ToolbarItemBase item, Point position)
at TD.SandBar.ToolBar.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at TD.SandBar.ToolBar.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

=============================================
Anyway, this was my actual feedback:

Subject: Layout issues (Toolbars, Post title input field, Tab sheets)

Description: Your app has some layout problems when moving the toolbars (e.g. when having two rows of toolbars at the top of the window, the second row is covered by the post title input field).
Having done some WinForms programming myself, I'd guess you used anchoring to position the main elements (post title input field, tabsheets, link to your home page) of your GUI, while the toolbars are docked. Try to move all the main elements to a panel (keeping their anchor settings) and then set the docking of the panel to "Fill". Maybe this fixes all layout issues.

Steps to reproduce:
- Drag toolbar at the right border to top border of the window, so you have two rows of toolbars at the top border of the window
- The post title input field covers the second toolbar row
# April 24, 2004 4:12 AM

Robert W. McLaws said:

Roland,

Thanks. The issue is a known one, and I'll be looking at ways to fix it. The toolbars were not really meant to be moved. As to the datetime error, I'll look into it. I know that the feature request service works, so you may try that one instead in the meantime.
# April 24, 2004 4:21 AM

Sudhakar said:

Great work Rob! You rock !

Sudhakar
# April 24, 2004 4:47 AM

Teucer said:

Downloading .... :) Sudhakar thanks for the update...

# April 24, 2004 5:03 AM

TrackBack said:

Hent den her.
# April 24, 2004 5:13 AM

TrackBack said:

VisualBlogger 2004 Beta 1 is out !!!
# April 24, 2004 5:30 AM

TrackBack said:

# April 25, 2004 12:59 PM

TrackBack said:

# April 25, 2004 4:06 PM

TrackBack said:

# April 25, 2004 4:28 PM

Nick Parker said:

Robert,
Glad to see you had a good time at your local Imagine Cup competition. I and a friend entered our project at Iowa State University; however we only took home second place. We are currently scheduled to give a presentation at the next Iowa .NET User Group meeting (http://www.iowadnug.org). I just wanted to point out we are both American born developers; some of us are proactive about our skill set! :-D

-Nick Parker
# April 25, 2004 5:56 PM

TrackBack said:

# April 25, 2004 6:46 PM

William Bartholomew said:

Regarding (11), I have had troubles posting to .Text with 3 different programs, all return "Specified cast is invalid", but the post still gets posted.
# April 25, 2004 8:14 PM

Ian White said:

Back in the dark days I'd have used an Event to check if it was running and a bit of shared memory to throw data/instructions at it.
In the brave new world, I'm not so sure!
I presume C# (are you working in C#?) still has events, so that takes care of the 'are you there' issue.

Passing it data. Sounds like you want VB2004 to listen out for a web service request, or is that too heavyweight for your needs? if you don't want to go the whole hog a simple socket listen (at vb2004) for a blob of data would be pretty quick/easy. would also mean it *could* work remotely if you dropped the event idea used the socket on a known ip address to figure out if vb2004 was there..
# April 26, 2004 10:55 AM

Addy Santo said:

Whenever you need to communicate across appDomains, it always boils down to remoting. VB2004 should set itself up as a remoting server, App#x is the client. There are lots of samples, but if this your first time with remoting be prepared for some ramp up time (Which typically includes subtle-but-deadly bugs relating to lease timeouts, security, thread affinity, etc)
# April 26, 2004 11:04 AM

Chris Sells said:

Check out the bit about detecting a running instance and passing data to it in my book: http://www.amazon.com/exec/obidos/tg/detail/-/0321116208
# April 26, 2004 11:31 AM

Mark Pitman said:

Two things are needed to do what you want. One is a Mutex the other is remoting. I have used this to handle double clicking on an application's data file in explorer. If the app isn't running, you want the app to start and load the file. If it is running, you want to load the app in the existing instance of the app. Basically, when the app first starts, you grab a mutex and setup the remoting server. If you can't grab the mutex, you know the app is already running and you pass it a command to open a file through remoting. Here's an example of what I'm talking about. It isn't exactly what you are trying to do, but you get the idea:

static void Main(string[] args) {
Mutex _mutex;
try{
_mutex = new Mutex(false, "someuniquestring");
if(_mutex.WaitOne(TimeSpan.Zero, false)){
// if we get the mutex that means there is
// no other copy of our app running,
// so set up the remoting server and run the app
SETUPREMOTINGSERVER();
Application.Run(new FormMain());
}
else{
// can't get the mutex, so try to
// process commands sent in
// set the mutex to null so we don't try
// to release it later
_mutex = null;
SENDCOMMANDSTOREMOTINGSERVER();

}
}
catch(Exception ex){
// handle your exception
}
finally{
if(_mutex != null){
_mutex.ReleaseMutex();
_mutex.Close();
_mutex = null;
}
}
}
# April 26, 2004 11:55 AM

Drew Marsh said:

<snip>
I made configuration much simpler. Instead of using a config file for some global settings, I'm pulling from the registry.
</snip>
This seems like a major step backwards to me. I don't see why anyone would think it's simpler to use the registry than to edit an xml file. Please reconsider this change.
# April 26, 2004 2:02 PM

Robert W. McLaws said:

Nope. Won't reconsider. Some of the settings like backup file location and what not are stored in the registry, under the current user. It's the way I wanted to go anyways, but didn't have time in Beta 1.
# April 26, 2004 3:36 PM

TrackBack said:

# April 26, 2004 4:36 PM

TrackBack said:

# April 26, 2004 5:12 PM

TrackBack said:

# April 26, 2004 10:16 PM

Drew Marsh said:

Alright, well it's certainly you're call. I for one would be interested in hearing what the challenges were with implementing it in a configuration file versus the registry if you get some free time to explain some of your design decisions.

Keep up the good work. :)
# April 26, 2004 10:32 PM

Robert W. McLaws said:

Basically, it comes down to usability from a non-technical standpoint. It's not targeted at developers per-se. It needs to be simple for everyone. You can't use AppSettings because you can't write to it, and I don't really have time to write my own ConfigSection handler. It needs to work out of the box, and to do that I had to move the non-blog-configuration settings to the registry. It's much cleaner that way, and provides a much more pleasant experience for the end user.
# April 26, 2004 10:36 PM

Shannon J Hager said:

My suggestion: put default values into a config. Check for those default values on startup. If they are there, open a modal and ask for real blog URL/uname/pass values and automatically add the needed path values.

surely that is no more work than the installation package you'll have to create to store the info in the registry. It will also have the advantage of pleasing everyone, I think.

I would hate to see what was once a Visual Studio Add-in turn into something that is "not targeted at developers" to the point where it impacts the developers (both us and you) badly.
# April 27, 2004 7:06 AM

Thomas Freudenberg said:

Consider using - don't laugh - DDE. Contrary to Remoting, it's safe even on a Terminal Server, where several user sessions may run concurrently. See Shawn Van Ness' post http://weblogs.asp.net/savanness/archive/2003/12/05/41595.aspx
# April 27, 2004 8:02 AM

TrackBack said:

# April 27, 2004 10:40 AM

Mark Pitman said:

Wow, I didn't realize you could even use DDE from .NET! One thing I forgot to mention in my lst post is that when I set up the remoting server, I let it pick a random, unused port. Then I write that port number out to a config file so the next instance of the app knows what port to connect on. That way it shouldn't conflict with other remoting apps or apps listening on TCP ports.
# April 27, 2004 5:42 PM

Mark Pitman said:

I took a look at some of the shared memory stuff and it looks cool. One question though, how does the receiving app know that the data is there? I think Robert needs to know when the data is being sent and I don't see a way for these shared memory implementation to notify the form that it needs to process data. So, maybe DDE or remoting are the only ways to do it? I suppose you could send a message with DDE and then go get the data from the shared memory if it is something too large to be passing around with DDE.
# April 27, 2004 6:27 PM

timh said:

"It's not targeted at developers per-se"

i'd have to agree w/shannon...how is a VS.NET add-in not targeted to developers?

i've also had several success with writing to appsettings...if you are referring to them loading on startup or something like that...you can create a separate config file (matching the same structure as an app.config and write/refresh/etc with it.
# April 28, 2004 12:46 AM

TrackBack said:

# April 28, 2004 2:11 AM

J Gustafson said:

Well, your site showed up when I searched on ComponentOne and I saw a comment from someone who was considering ComponentOne for .NET reporting rather than Crystal. I am just starting to analyze ComponentOne. My initial impression (using the demo) is positive and I liked how my MS Access report file was converted. I will be interested in what else I find on ComponentOne (as well as other reporting tools). Don't mean to change topics though to a discussion on reporting tools.
# April 28, 2004 1:29 PM

TrackBack said:

# April 28, 2004 3:14 PM

Doug Reilly said:

Your link to the article is broken (extra http://)
# April 29, 2004 9:30 PM

Robert W. McLaws said:

Thanks. Fixed.
# April 29, 2004 9:47 PM

Datagrid Girl said:

Don't you ever take Rob Howard's name in vain again, you little punk :p

Marcie
# April 30, 2004 8:00 AM

Robert W. McLaws said:

HA HA! Too funny.
# April 30, 2004 9:43 AM

Vish Ramachandran said:

By the way, you can see our project details at www.public.asu.edu/~vramach1/HoldingHands
# April 30, 2004 10:26 PM

Matt Berther said:

I stumbled across this... It may be what you're looking for...

http://www.codeproject.com/vb/net/sing_inistan.asp

# May 5, 2004 5:29 PM

TrackBack said:

# May 5, 2004 6:53 PM

Bryant Likes said:

I've been stuck on the "Collection information and copying files needed for Setup..." screen for a long time...

http://blogs.sqlxml.org/bryantlikes/gallery/image/84.aspx
# May 5, 2004 7:30 PM

Robert W. McLaws said:

Give it another 30 minutes. If the yellow bar at the bottom doesn't move at all (use a post-it note right on the line as a guide), do a hard restart and it should pick up where it left off.
# May 5, 2004 7:37 PM

TrackBack said:

# May 5, 2004 8:30 PM

Jeff said:

Hey Robert... did I miss a notice of where the beta 2 drops are? I was holding off downloading till beta 2 as at the time it was only days away but I'm really tired of w.bloggar and would love to switch to your app.

Cheers,
Jeff
# May 5, 2004 9:46 PM

AC said:

EXCLUSIVE? Is that why Paul Thurott has the same shots on his site? http://www.winsupersite.com/showcase/longhorn_4074_01.asp
# May 6, 2004 12:14 PM

Robert W. McLaws said:

Probably because he took screenshots of his install a few hours after I posted mine.
# May 6, 2004 12:21 PM

Richard Berger said:

And until I found this post, I just thought I was too lame for words. Getting the list of selected values in a listbox was very simple in VB6 - I figured it should only take me a few minutes to solve the problem in VB.net. Well, still no solution.

Given the general ease of use of the Microsoft developer products, I still think I must be missing something obvious.

But my misery does appreciate the company :)
# May 6, 2004 4:27 PM

Paul Cowan said:

Having this exact problem, experimenting with remapping .dll before the wildcard, not sure if it will work, but probably worth a try, if anyone figures this out, please mail me...
paul@epages.net
# May 7, 2004 9:48 AM

Shannon J Hager said:

I would say release Beta 2 and then the Atom provider when ready; that's the benefit of going the provider route.

However, I have no need for the Atom functionality so my opinion is not as relevant as someone who does.
# May 11, 2004 6:05 AM

Michael Earls said:

Very useful, thanks! Sorry you won't be there this year.
# May 11, 2004 9:21 AM

Dennis v/d Stelt said:

Same goes for me, release, release, release! :)
# May 12, 2004 6:26 AM

Andy Dray said:

Errr! I'm having a great problem. Basically I write an XML doc using UTF-8 encoding and it the XmlTextWriter Writes 3 bytes at the start of the file which cause and error when the XML is interpreted.

The code is like this:

XmlTextWriter listWriter = new XmlTextWriter("c:\\text.vpl",System.Text.Encoding.UTF8);
listWriter.WriteStartDocument();
listWriter.WriteStartElement("hello");
listWriter.WriteElementString("this","this is bad");
listWriter.WriteEndElement();
listWriter.Close();
# May 12, 2004 11:58 AM

Eric said:

UTF-8 files are supposed to include those 3 characters. How are you trying to open it?
# May 13, 2004 6:54 PM

Damir said:

Great tips, thanks a lot ;-)
# May 13, 2004 7:54 PM

TrackBack said:

# May 14, 2004 2:13 PM

Peter Provost said:

Don't forget...

9. If you invite Clemens up to be a primary speaker, make sure he hasn't had too much to drink.

:)
# May 14, 2004 4:37 PM

Robert W. McLaws said:

LMAO. That's a good one. Mark that one in red and put a line under it.
# May 14, 2004 5:14 PM

alex said:

Lisp is usually compiled when used for serious applications, not interpreted on a VM. It's therefore incorrect to call it an "interpreted language"
# May 17, 2004 7:41 AM

Steele Price said:

The new TIP really is phenomenal. I've been using it on my Toshiba M205 for about a month now. It makes fewer recognition errors than I make typos. I can't wait to start digging into this new SDK.
# May 17, 2004 6:10 PM

J said:

I can't get the ASP.NET Community Started Kit to install the database. I get error creating database objects. Line 4: Incorrect syntax near function.


Any help out there. Write me at:

ma_ja49@hotmail.com
# May 17, 2004 9:37 PM

Amit Bahree said:

This does not work for me. I have a multiblog setup on 0.95 and when I try and post a test posting, this just hangs, any idea what is wrong?

Also the toolbars, do not resize - or the zOrder is behind the text box (or whatever the control is) making it quite irritating to use.

Don't get me wrong, I love the idea, just not working for me. I would love to post from my desktop - and the attempt is quit noteworthy.

Regards,
Amit.
# May 17, 2004 10:21 PM

Paschal said:

Hmm free copy of Visual Blogger ? It was not your intention to make this tool for free ? If not clarify this by a post !
# May 19, 2004 7:23 AM

TrackBack said:

# May 19, 2004 10:24 AM

TrackBack said:

# May 19, 2004 12:13 PM

TrackBack said:

# May 19, 2004 12:14 PM

Dennis v/d Stelt said:

Indeed, that sucks! You must go a long way then to beat BlogJet! ;)
# May 19, 2004 2:38 PM

TrackBack said:

Visual Blogger 2004 released Last night Robert McLaws released VisualBlogger 2004. It's getting good reviews from a bunch of blogs....
# May 19, 2004 8:23 PM

Sean Malloy said:

In the year 2004, war was beginning

all your BlogJet are belong to us.

you have no chance to survive. make your time.

Incase you are missing my point, BlogJet seriously smokes this thing. The UI needs some serious work. It looks like some kids app.

Still, its only a beta.
# May 19, 2004 8:49 PM

Robert W. McLaws said:

I will answer Pashcal's and Matt's questions soon.
# May 20, 2004 12:21 AM

John K. Varity said:

Who does your GUI design?

You should fire them.
# May 20, 2004 12:39 AM

Robert W. McLaws said:

I did the design. Thanks. I'll be sure to fire myself right away.
# May 20, 2004 1:00 AM

TrackBack said:

Scoble Talks VisualBlogger
# May 20, 2004 1:14 AM

TrackBack said:

Take Outs for 19 May 2004
# May 20, 2004 3:43 AM

TrackBack said:

# May 20, 2004 4:51 AM

TrackBack said:

# May 20, 2004 5:08 AM

Roy Osherove said:

Congrats Robert!
# May 20, 2004 12:48 PM

Cale Corbett said:

This tool is a nice beginning, but as many have noted BlogJet is light years ahead of VisualBlogger 2004 Beta 2 in terms of look and feel and overall functionality. Why not take Dmitri's approach and "perfect" the app a bit more before announcing you are going to charge for it?
# May 20, 2004 2:17 PM

TrackBack said:

# May 20, 2004 7:51 PM

TrackBack said:

# May 21, 2004 9:26 AM

Ian said:

Regarding Dave's comparisom to cars (Mmm comparing MS to Car Manafacturers.. ehat an orginal idea...... NOT) The fact is if you don't wear your seltbelt, and you have a crash.. you're gonna get hurt... so it is not the goverments fault, not the car manufacturers fault, it's YOUR fault for been an idiot. The same princible can be applied to blaster, the software was avaliable to stop it, and if you downloaded the software, you won't get hit, if you don't.. you proberbly will. By using your analagy of seatbelts.. you have completely contradicted your own argument. Well done!
# May 21, 2004 10:36 AM

Robert LaPine said:

We were on Mailstreet, until they got hit by some virus with their ISS RealSecure Firewall software around March 20 - they were down for 2 or 3 days! They stopped answering their phones and emails. And the WORST part is that they didn't have a 2ndary mx record for mail queueing; our customers' emails to us were all rejected - made us look very unprofessional. In general, I found the Mailstreet service to be amateurish - something I would have strung together in a weekend.

Anyway, we moved over promptly to 123Together.com and have loved their customer service and uptime.
# May 21, 2004 7:53 PM

TrackBack said:

# May 22, 2004 8:43 PM

Rory said:

"Has anyone else seen this behavior, or does my computer just hate me?"

I don't think your computer *hates* you, but I've been getting the feeling lately that it might need some space or a change from The Routine.

It just hasn't seemed its usual, spunky self recently. Have you tried taking it out to dinner and telling it how pretty it is? Your computer might seem confident, but that might just be its way of hiding something.

I'd suggest dressing it up nicely in a lot of bubble wrap and taking it to the beach for the week - maybe somewhere near San Diego?

(on a more serious note ("seriouser"?), I've actually been having a lot of luck with XP and Whidbey under VPC, although I know some other people who have had random badness similar to what you've described here - I don't think it's just you...)
# May 22, 2004 9:14 PM

Rory said:

"maybe somewhere near San Diego"

Just remembered you aren't going... Whoops :|

Never mind.

(but still show that PC a nice time)
# May 22, 2004 9:16 PM

Robert W. McLaws said:

LMAO Rory. You made my night.

Well, this particular machine is a dual proc 1U server that weights about 40 lbs. And she's extremely loud too. I think she's starting to get down on herself for the fact that she's overweight, and it seriously affects her mood. She's been quite irritable lately, and it's affected her performance.

Maybe it's time for a pampering. You know, some flowers, a nice romantic evening with candles... maybe a can of air duster and a small vacuum. You never know. Maybe she needs a change of pace. I should see about setting her up on the other side of the room. See how she likes it.

Thanks for the insight, Rory ;).
# May 22, 2004 9:20 PM

Jesse Ezell said:

Robert McLaws is a Microsoft shill and doesn't ever care about product delays :-)~.
# May 22, 2004 10:38 PM

Jesse Ezell said:

PS: I have paid for those "fine products" that do the trick" and they all fall short of ObjectSpaces. Hell, I wouldn't even mind paying MS hundreds of dollars for a version of ObjectSpaces that I could use, regarless of the fact that the APIs will change with Longhorn.
# May 22, 2004 10:41 PM

Eric Newton said:

Mr Entity Broker is chompin at the bit? Doesnt surprise me... his Customer Relations are as good as a donkey's.

As long as ObjectSpaces will be released as fairly stable betas, then the furor will subside, an in a sense produce the V3 for longhorn... fact of the matter is that it usually takes 3 times for ANY company to get something right...
# May 22, 2004 10:49 PM

Robert W. McLaws said:

I'm not a shill. As a business owner, I understand delays, and I know that MS knows more than I do about the situation, and they are going to bake the best decision they can. The lesson is, don't plan your life around a product that isn't finished yet.
# May 23, 2004 12:57 AM

Joku said:

There's some probs with the project properties or some of the properties window I've noticed. It's easy to get in to such state that it doesn't allow you to exit the properties. I am not entirely sure but it seems to get in to that state by changing some particular options.
# May 23, 2004 3:23 AM

Frans Bouma said:

Robert, please do one of the following:
1) read about data-access, O/R mapping and ADO.NET and then go back to your visual blogger tool and edit your blog
2) stop blogging about data-related material.

Reading this entry I can only conclude: you don't understand data related material nor do you understand the O/R mapping business nor do you understand what some other people find important nor do you understand what's the troubling issue at hand.

For example: O/R mapping has NOTHING to do with a FILESYSTEM. People who are developing applications which target a database are not helped with a tech that is integrated in a FILESYSTEM.

Oh, and unified data-access was a REALITY in ADO. It is NOT in ADO.NET.

I agree with the fact that no-one should plan a project around a product that isn't released.

Jesse: I don't recall having seen your name turn up in our customer database ;)

Eric: Objectspaces is dead in its current form. The builds handed out are not continued. (nor were they stable, but that's another story).
# May 23, 2004 5:32 AM

Frans Bouma said:

"Most of these companies have bet their entire business model on one product. And they guard their market share like hawks. They don't see new players as a driving force for innovation, they see them as a threat that will likely destroy their very way of life, and they must protect the way things are at all costs. So they whip out their attorneys and their harsh language, and waste time they could have been spending gaining customers in the interim. Because they have yet to discover a very simple fact: If you take care of your customers, they will stay your customers. Who is going to rip out an entire O/R framework and replace it with Microsoft's if the existing code works, and works well? No one I know. At least, no one with any common sense."
This is precisely the snippet of text which shows you completely don't understand what the situations is. Sure, a CURRENT customer will not move, you are right about that. However the potential 10-15 million other developers out there... what will they do? I wrote about this here: http://weblogs.asp.net/fbouma/archive/2004/01/22/61548.aspx

We're not sharks nor evil. It's just IMPOSSIBLE to compete with a freebee that's integrated in the framework. I.e.: the market for people who want a 3rd party tool will be severily limited.

It's also stupid of MS to integrate Objectspaces into the framework: the energy it takes to do that can better be used to develop an EJB-CMP equivalent so ALL o/r mapper vendors can benefit AND the customers can benefit!

That's what most O/R mapper vendors want from Microsoft. And trust me, users too, as they then are less tied to a 3rd party tool due to the open standard the O/R mapper plugs into.

You see, Robert, there are a lot of stories to tell about Objectspaces and the politics around it. Fact is that in 4 years with 4 developers, Microsoft has delivered absolutely nothing worth mentioning. That's troubling on its own, however the flipflopping focus of the project (and yukon's as well) is more troublesome.
# May 23, 2004 5:42 AM

Robert W. McLaws said:

Frans, you just proved yourself as myopic as I thought.

Again, Frans, maybe you should focus YOUR time on attaining more customers for yourself while Microsoft continues to delay. You see a failure, I see a business opportunity. Too bad you're the one in the object-orientation business.

As for my comments about a unified storage system, you focused on FILESYSTEM while I was focused on a data access model that was unified across ALL MICROSOFT PRODUCTS. That was NOT ADO. I'm talking about the ability for different programs to access data using the same methodology across 100+ products and 7 divisions at Microsoft. Maybe the strategy had business reasons as well, and was not SOLELY directed at screwing you over. Maybe Microsoft had other factors to consider, like the business implications of aligning 100 product teams into one reality.

Just a thought.
# May 23, 2004 5:55 AM

Christian Liensberger said:

There are also free O/R frameworks out there. I'm developing one and I think ObjectSpaces is very cool! But I guess they will know why they aren't going to release it next year.
Perhaps giving it away as a stand alone would be nice for the developers out there who used the beta versions.
# May 23, 2004 6:59 AM

Frans Bouma said:

" Frans, you just proved yourself as myopic as I thought. "
Whoa, 'myopic', I hear that for the first time, I had to look it up in my English - Dutch dictionary.

I can assure you, I'm not myopic (but perhaps you thought I wasn't myopic at all ;)). I'm also not bitter or other miserable things. I also didn't opt to go with Thomas on the lawsuit for a couple of reasons. Nevertheless, you fail to see my POV. Which is fine though, I just wonder why you fail to see any truth in my POV.

"Again, Frans, maybe you should focus YOUR time on attaining more customers for yourself while Microsoft continues to delay. You see a failure, I see a business opportunity. Too bad you're the one in the object-orientation business. "
First, there is no delay as Objectspaces will never be shipped as an O/R mapping add-on.
Second, I don't see a failure, I see misguided resources at MS to produce the wrong technique.

What could have been when Objectspaces was shipped as a part of ADO.NET is nice for a pub-talk after a couple of beers.

FYI: ADO does allow you to access data uniformly. Just write a driver and you're set. That is similar to ADO.NET, with one difference: ADO offered a unified DML mechanism as well, ADO.NET doesn't: you can't port code targeting Oracle over to SqlServer, as you have to deal with OracleException classes, oracle specific SQL etc. In ADO you could open a table, and add/remove rows with the Recordset object, without SQL.

FYI2: I don't see MS screwing me over at all. I just are worried about the focus changes in products in development. This is not good. Not only does it create delays, it also makes features being cut due to lack of time.

FYI3: I agree with you on the point that people shouldn't whine NOW because a technique is not coming to them in 2005. I also fail to see why people would wait for Objectspaces in the first place. As Christian also points out, there are free O/R mapper layers available today. They are also not that friendly to use, but Objectspaces wasn't either.
# May 23, 2004 7:43 AM

Rolf said:

A list of small nuisances:
- After editing the project properties, it can't be saved (culture 'neutral' not supported, or something like that). Only occures after editing a specific property, which I haven't found yet.
- The disappearing controls: the code isn't added to the .vb file - it is somehow trying to add it to a hidden vb file with the same class (named Form1.Designer.vb), but somehow it can't. Delete this file and reopen the solution, and everything works.
- COM errors in the designer: I have no clue. Restart the environment and it should work a few more minutes.
- New cool project properties: you cannot have a custom Sub Main defined.
- Can't publish any projects, because it complains that the vb project build failed (even though it didn't)...
- There are plenty more...
# May 23, 2004 10:58 AM

Addy Santo said:

Flamewar! Flamewar! :)
# May 23, 2004 1:16 PM

Robert W. McLaws said:

Frans:

How is ADO.NET not the same way? Write a provider for your system and you're all set. And in ADO.NET 2.0, you'll have a whole namespace of non-connection-specific commands that you can use against ANY DB, and it will select which provider to use based on properties in the connection string.

In regards to your third point, I don't think O/R technology will be widely adopted until it is friendly to use. Because no one wants to have to body-check a component to get it to work. Until O/R mapping technology is intuitive, it won't hit mainstream. And, while I think all you O/R mapper guys are great, and your products are technically accurate and work very well, it's almost like you view O/R programming as an elite sort of club that you've put together. It's not designed for the masses. You have to know way too much about each respective system to get it to work.

I would challenge you guys, in the time before MS releases ObjectSpaces (I would argue that it will still be an add-on eventually) to really get into the usability issue, and do some research on the discoverability of your products, and enhancing the out-of-the-box experience. Making something intuitive is not dumbing it down. If you can achieve that, you can out-flank Microsoft.
# May 23, 2004 4:21 PM

Frans Bouma said:

I spent 6 months making it as intuitive as it can get. It's point, click, go. If you want MORE intuitive O/R mapping, you don't understand O/R mapping.
# May 23, 2004 6:16 PM

Shannon J Hager said:

I don't think LLBLGen Pro could be much more intuitive and easy to use out of the box without the user losing too much control. From the documentation to the code generation GUI to the easily understood (and remembered) class names in both the generated code and in the SD.LLBLGen.Pro namespace to the actual usage of the generated classes, I think Frans has hit the "sweet spot" between power, ease, and extensibility.

# May 23, 2004 9:59 PM

Robert LaPine said:

oh, and here's the link too: <A HREF="http://www.123Together.com">123Together.com</A>
# May 23, 2004 11:59 PM

Jesse Ezell said:

Yah, we did the ORM stuff before your product was out (or at least before I knew about it). Then, if I remember correctly...which may not be the case, you originally had that architecture that I really thought blowed. :-)
# May 24, 2004 12:07 AM

Frans Bouma said:

"Then, if I remember correctly...which may not be the case, you originally had that architecture that I really thought blowed."
If my english is that good, I have to read this as that you didn't like the architecture of the code? Which of the 2 different architectures supported? :)
# May 24, 2004 6:02 AM

TrackBack said:

# May 24, 2004 3:33 PM

TrackBack said:

# May 24, 2004 4:45 PM

TrackBack said:

Take Outs 24 May 2004
# May 24, 2004 8:43 PM

TrackBack said:

Take Outs 24 May 2004
# May 24, 2004 8:43 PM

Swami said:

Thanks Robert. We had a real hectic time after the regionals in trying to get HoldingHands completed. We can surely set up a time after Memorial weekend to show you a demo.

# May 25, 2004 2:04 AM

Paschal said:

Robert this looks great. One thing I would like to see from you is to clarify the future of your tool. You need to post something to confirm if you intend to sell this tool or give it for free. I think it's honest for people to know what they should expect when they spend some time beta testing a product. Your tool is coming well, but people want to know what to expect. Anyway good job, and I hope to see more bugs fixed in the back end :-)
# May 25, 2004 6:39 AM

Doug Reilly said:

Your link fails, at least for me.
# May 25, 2004 6:54 AM

TrackBack said:

# May 25, 2004 10:34 AM

TrackBack said:

# May 25, 2004 10:35 AM

jerry cole said:

i'm dumb. I'm trying to turn a .vbs into a .exe and I still don't know how
# May 25, 2004 11:11 AM

Developer said:

Reality check: No revenue = No ComponentOne = Programmers like you go home.
I suggest you write your own spell checker and stop looking for free ones from pros that write code for a living.
You can also stop using windows XP. It has bugs too. You’re hard earned cash helps support XP updates.
# May 25, 2004 1:39 PM

Lynn Eriksen said:

It's not completely ridiculous to want ObjectSpaces now. It would provide a very solid base for building complex business object that we have to code by hand. Many of us thought that it was going to be an add on to Whidbey that MS could afford through the new purchases of VStudio. Since ObjectSpaces has for the most part for the pasts few years been thought of as an abstration for relational data (ie the dataset), a lot of expectations were set. This all seems reasonable.

The change seems reasonable as well. If MS is going to promote ObjectSpaces internally with its own frameworks - WinFS, MBF - it makes very much sense that they would want to get it right the first time out the door by making sure it hooks appropriately with the new technologies.
# May 25, 2004 2:30 PM

Kevin Daly said:

If the news (and the announcement was sketchy, if not cryptic) means what it appears to on the face of it, then it is actually much worse than most people are assuming.
If ObjectSpaces is only released as part of Longhorn, then there will be no ObjectSpaces for server-side data access until at least 2007 (with the release of Longhorn Server.)
Which means we might as well forget about it.
# May 25, 2004 3:41 PM

Robert W. McLaws said:

Thanks Paschal.
# May 25, 2004 3:43 PM

TrackBack said:

The Future of VisualBlogger 2004
# May 25, 2004 3:50 PM

Paul Gielens said:

And this even got linked via TheServerSide, ugh
# May 25, 2004 5:15 PM

Lynn Eriksen said:

I am guessing that it's more specifically going to be part of WinFX and NOT .Net Framework 'Orcas'.

That's the big issue from my perception.
# May 25, 2004 5:16 PM

Chris Garty said:

My team and I all had the March CTP installed and it ran super slow for about half of us. We are hoping to get more luck with the May CTP (downloading now).
For us it seemed to be a problem with the display of errors and warnings after the build. We were getting 502 warnings (mostly XHTML syntax) in our project and it was causing the error listbox to freak out.
# May 26, 2004 12:17 AM

TrackBack said:

# May 26, 2004 2:21 AM

TrackBack said:

# May 26, 2004 2:21 AM

Mark Levison said:

I was hoping that Pingback/Trackback would do this for me. But alas no. I've done a little testing of Visual Blogger and posted the bugs I found on my blog. Let me know if you need me to submit these the old fashioned way.

Thanks for a useful tool.
# May 26, 2004 12:32 PM

Andre said:

Thats great now what about a dynamic image?
A diff image for eash row?
# May 26, 2004 3:37 PM

Bryant Likes said:

Robert,

I downloaded Beta 2a and "installed" it and really liked the looks of it. However, it didn't work for me. This is probably because I'm behind a firewall/proxy and I didn't see any settings for this. (The bug report also didn't seem to work (unless you got them) because of this same issue.)

I also tried adding the proxy settings to the config file via the system.net section but that didn't work either....
# May 26, 2004 7:01 PM

Cynic said:

Your premise that you had "interesting" observations turned out not to be the case.
# May 27, 2004 11:34 AM

Grant Carpenter said:

Why are all O/R tool vendors so damn rude? Seriously, you guys should form a consortium and pitch in for some p.r.

You've collectively made me switch paradigms and seek refuge in hibernate.
# May 28, 2004 9:47 AM

Tim Dawson said:

That, IMHO, was one of the worst features MS have ever come up with. VB6 is gone, let's leave it that way.
# May 30, 2004 2:38 PM

Kuyei said:

"Why does America work? because it was founded on far-reaching hopes and sound moral concepts"

You don't really believe this do you. I mean do you know how the american public looks at the homeless? Have you looked the spread of wealth among the people? More than any other industrialized nation. The rich get richer and poor get poorer and the middle class pays all the taxes. "The poor people are just there to scare the **** out of the middle class, so keep showing up to those jobs" -- George Carlin

America wanted to be free so they could keep their slaves and not pay the British taxes. America is founded on greed and based on it today. America kept slaves longer than any other country (talk about dictatorship). (If you dont notice that the Iraqi's also want to be freed of our involvement.)

We have cut on welfare, medicare, and social programs ever since The Great Depressions. Those programs were brought about because the majority of people were starving and dying. Once the majority got back on their feet after WWII, we overlook the nuisances that didn't. We are the richest industrialized nation and we still keep cutting back on education aka social program.

So yea... Moral concepts. Where? All I see is greed. For the same reason for america invading Chile, Iraq, Iran. Natural Resources. We take their natural resources and ousted democratically elected officials who were trying to jack up the prices of their goods.

I do Agree with the far reaching hopes though. In America you might not be born equal but everyone has equal potential. If you tried hard enough you could be president as long as you are born in the United States.

Every country looks out for themselves. So. the U.S. is trying to do what Britian during the era of the British Empire, we dominate these countries econmically instead of militarily. Ohh if you didnt know the Phillipines was once a sovereign colony of the U.S. for quite awhile. Also the U.S military has bases in how many different countries that we dominated in the past, Japan, Philipines, Germany, Cuba...

Oh let me clear something up for those who don't know or just don't wanna face. The United States of America is not a democracy. The United States of America is a republic, much like the Roman Republic (From our high school history).

"I pledge allegiance to the Flag
of the United States of America,
and to the Republic for which it stands:
one Nation under God, indivisible,
With Liberty and Justice for all" -- Pledge of Allegiance.

Ohh to the topic of this discussion Axis of Evil, I feel it is unfair to call any other country evil. No one has a right to call anyone anything. I believe the war in Iraq is wrong. It is in my mind nothing more than United States sticking their heads into other countries' business for the sake of economical reasons. If the people are oppressed, they will fight back. (The only war to stop the oppressed people to fight back is to by eliminating them to such an amount that cant fight back. The Jews in WWII and the Native Americans during colonization) If a country cannot agree, there will be civil war. (Please leave these countries alone). If you don't notice the our history, who is the dictator and who is fighting for justice? If you look at it from the position of the people in the Middle-East, the United States looks very much like the dictators. Was Hitler a dictator? Yes and No.To his people he was not. He had the support of the majority of the German public. He amplified their outcries with brilliant politics. On the flip side he oppressed any other non-white, blue eyed, blonde haired person.

Since we are talking about Jews, a major reason that every president since the creation of Israel has supported Israel is because 80-90% of the Jewish public vote. Yes that is one minority that affects the presidential races. Not only do they vote, but they also compaign. I don't back American support in Israel.

Let's look at American support of the Israelies from the Muslim point of view. This is a reason for the 9/11 bombings. Palestinians and Muslims built up hatred and anger of the U.S. interference into their daily lives for oil. No matter what the Israelies do this year to the Palestinians in Israel, The U.S. will back them up. This is afterall a voting year. Palestinians dont have the tanks or planes,or even compairable fire arms. They are being bullied out of their land. Land that was sectioned off by a bunch of people who didnt live in the area. It is much like how Africa was split up amongst colonial powers during the age of colonialism. Instead of or warring tribes being put together and certain tribes being sperated, we have Families and neighbourhoods being divided up in Israel and Palestine. Who would have agreed to that. In the case of the creation of Israel, not onl would thousands of Palestinians lose their home to a bunch of people who haven't been their "Homeland" in centuries much less millieniums. How did you expect the Palestinians to feel? So, the Palestinians fight back in anyway they can, bombings most notably.

"...if they were; I would hope that you would take up arms with me and destroy them first. "-- Keith
Greed generates hate. Hate generates hate. Hate generates violence and war. If you tried to walk a mile in their shooes what would you do? Yes you could eliminate all of them, all 2 billion and more muslims in the world. Why stop there? Why not create your own utopia, your very own "Germany".

*Sidenote* I doubt the United States will do anything to North Korea. North Korea has the support of the Chinese government. Chian and the United States are too intertwined economically for the U.S. to go ahead and mess it up. The rapid growth of China and investment of American money will probably restrict any movement in the U.S. military. It's that greed factor again.
# May 30, 2004 7:22 PM

Paul Vick said:

We've changed the way that default instances are built - they no longer work off of an attribute on the form, but are built implicitly for forms. So the feature is still there (sorry, Tim) but it's expressed in a different way.
# May 31, 2004 5:28 PM

Robert W. McLaws said:

What way is that, specifically?
# May 31, 2004 5:33 PM

Rob Gibbens said:

File -> New Project -> Other Project Types -> Visual Studio Solutions -> Distributed Service Solution
# June 1, 2004 4:19 PM

TrackBack said:

# June 2, 2004 2:52 AM

shivkumar said:

configure
# June 2, 2004 7:21 AM

Mike Lockyer said:

Hi Robert

How do you get to the whitehorse bits in VS 2005 (May)

Its the one part I'm really to explore but cannot find it
# June 2, 2004 11:42 AM

John Rivard said:

I work on the Visual Basic language team and am working with the .NET Framework on guidelines for component versioning. The long-term direction we're thinking about is different from what you are suggesting--since there are some additional issues that we mean to address. There should be something made public for component developers by the time Whidbey Visual Studio is released.

I've been collecting a list of the top issues from developers surrounding component versioning, or related issues such as side-by-side Frameworks. (For example, we will not recommend using star, e.g. 1.0.*, in your version number. The star doesn't generate a random number, but is not easily human readable.) We will recommend strong-name signing. I don't have much data on how many developers are strong-naming vs. not.

It would be great if you or your blog readers could post specific problems they or their customers are facing, how they are working around these today.
# June 2, 2004 1:05 PM

Ray Jezek said:

I completely agree with Grant. I think most people interested in learning more about OR mapping don't have the courage to ask a question in a public forum for fear of being pummeled by the broma-thona one-two. So they take the high road and avoid the concept all together... and they avoid the products behind the peersonalities as well.
# June 2, 2004 3:02 PM

Manuj said:

We all realize that there is a market demand for a feature rich O/R mapper. There are many commercial and free ones available (some being developed by one-man team). So I fail to understand that even with multi billion dollar budgets, a company like MS cannot come out with a product that will cater to the needs of today and will be extendible later when WinFS or whatever next comes along...

OR

come out with a product right now; release it with Whidbey and release another product later with LongHorn. The argument could be that they do not want to force the developers to learn new API etc. but haven't they done that in the past with DAO, RDO then ADO?

BTW, if any one on this list is looking for an OR mapper try OJB.NET (http://sourceforge.net/projects/ojb-net). It simply rocks!!
# June 2, 2004 3:48 PM

Shannon J Hager said:

Thanks for the heads up. Just downloaded it, time to reboot (grr).
# June 2, 2004 3:48 PM

Lorenzo Barbieri said:

It didn't reboot my PC... I'm lucky!
# June 2, 2004 5:42 PM

Ryan said:

Does WMP 10 still have support for the WMP Toolbar? I love how it integrates with the taskbar instead of minimizing. That's why I use it over winamp.
# June 2, 2004 5:46 PM

Robert W. McLaws said:

It supports that toolbar, but in this build that toolbar seems to be disabled, at least on my machine. You can't pause or stop or swicth tracks. You can only mute.
# June 2, 2004 6:01 PM

randy said:

see Apex SQL Edit - this SQL IDE / Editor has intellisense implemented in a variety of ways

http://www.apexsql.com/sql_tools_edit.htm
# June 2, 2004 8:03 PM

Greg Twaites said:

Robert - I see you know Rowena Patrao. Do you have an email address for her? I was at ASU with Rowena working on System Dynamics Models and want to get in touch with her. If you can, please forward her my address gtwaites@hotmail.com. Thanks
# June 2, 2004 10:12 PM

Sean said:

Glad you like it :) I'll pass your comments along to the team.
# June 2, 2004 11:43 PM

Frans Bouma said:

"I completely agree with Grant. I think most people interested in learning more about OR mapping don't have the courage to ask a question in a public forum for fear of being pummeled by the broma-thona one-two. So they take the high road and avoid the concept all together... and they avoid the products behind the peersonalities as well."
if 'broma' is 'bouma' and that you mean me, I would like to ask you to point me to a single answer from my side to a person who asked a question about O/R mapping which I answered rudely. I try to be as polite as possible to people who ask questions about O/R mapping or even have different ideas about how O/R mapping should be. If you don't like what I have to say as in: you disagree with me, that's fine by me, make no mistake about that. I'll be the last person who wants someone else to shut up just because he/she disagrees with me.
# June 3, 2004 4:42 AM

Sina Maddah said:

i link to your post @ my Weblog :)
realy thanks for this news ... :)
# June 4, 2004 3:37 AM

Les Coke said:

Using the IP address resolution technique will not work because the sender's IP address not matching the e-mail domain is more common that you might believe. For example: I have multiple e-mail addresses configured in my e-mail client. But the only SMTP server I can use is the one provided by my ISP. I never give out the e-mail address my ISP provided, but I instead use e-mail addresses from other pop3 or forwarding providers, so all of my e-mail in essence has forged email addresses. My ISP requires that I use my username and password authentication to access their SMTP server to provide an audit trail in case something that is sent from their server gets a spam complaint.

I have noticed that the spam filter at yahoo flags my yahoo.com e-mail as a forged Yahoo address, but so far that alone hasn't caused any of my mail to get blocked.

Most spam filters provided by the ISP or e-mail host are junk. Where provided an option, I have disabled every one from stopping any of my e-mail. Luckily, the one at my ISP and Yahoo mail insert spam flag headers that I filter using rules within my e-mail client. I have periodically scanned my e-mail for spam headers and found that in most cases their filters let spam have far more false negatives and the legitimate e-mails have quite a few false positives. This is why those filters remain disabled. I instead use a program called K9 at keir.net. It is a statistical filter that learns as you mark e-mail as good or spam. I have been using this program for almost two years now. At first it required a lot of training, but I seem to recall that I only had a couple of false positives. I occasionally still get false negatives, but for the most part it now catches most spam. K9 supports white / black listing, but I haven't used that feature. I have k9 flag the spam with a mail header and have rules in my e-mail client to catch the spam and white list my buddies.

The spam I have been seeing lately is ridiculous, mostly gibberish with random spaces in the middle of words and such. I can't imagine anyone in their right mind responding to or purchasing any products or services offered in such stupid e-mails. It is like the spammers are just sending crap to be sending something. I have heard the stupidity is intended to confuse statistical filters such as K9, but so far all I have had to deal with is an occasional false negative. I can see that eventually if they include the whole dictionary, the statistics could start causing false positives on legitimate e-mails.

Bill Gates suggestion a while back recommended using some type of computationally expensive test that the sending computer would have to solve before the e-mail would be passed on to the recipient was totally stupid. 80% of the e-mail I get at home is from newsletter subscriptions that I signed up for. Several of the newsletter authors have wrote about how they can not and will not respond to any spam filter challenge messages. Unfortunately several have started looking at using RSS feeds instead of e-mail. Finding a good RSS client is one of the tasks I have on the back burner. I need something that can archive every article so that I won’t miss that story in last month’s feed when I get around to catching up on my newsletters next month.

Les
# June 4, 2004 10:01 PM

Frans Bouma said:

Maybe I'm too left for the average american, but I fail to see what he did for the world, besides creating a huge militairy power on the US' side, indepth poverty on the sovjet side, incredible increase of differences between poor and rich in the US, a huge deficit which was finally removed by Clinton (and re-installed by the current president), revamping the 'communists are bad' idea, funding civil war in various middle-american countries 'just because they were not loving the US', etc. etc. etc.

It might also be that for the average European, the idea of 'separation of religion and state' is a reality and for the average American it's not. Reagan did a very good job supporting christian-fundamentalistic ideas.

Politics aside, no-one should suffer from altzheimer for such a long period of time as he did. In the end he definitely didn't know what was going on, but in the beginning he has to have realized it, which is a horrific thing to go through I'm sure.
# June 6, 2004 5:59 AM

Robert W. McLaws said:

Frans, I think with you that the glass will always be half empty. Remember the person who said in my ObjectSpaces rant that they would never touch OR mapping because of you and TT? Remember how you complained that you've never been rude and that you always try to answer everyone's questions? Well, here is your answer. It's not that you're rude, it's that you're one of the most negative persons that I personally have ever dealt with. I wonder what has happened to you in your life to make you such a black hole of happiness. Whatever it is, I wouldn't wish it on anyone.
# June 6, 2004 3:34 PM

Michal said:

rispect:)
# June 6, 2004 4:22 PM

Frans Bouma said:

Haha :) Robert, come on :)

I don't blame you for your POV, you're an american, with different news channels, different communication, different aspects you think are 'right' and 'wrong'.

However, you seem to blame me for my POV as a left-wing European. You don't seem to understand that there might be a second story behind what you think is 'reality'. Because I told you what was told us here yesterday about Reagan (through various newschannels, mind you) and what I remembered from him (as I'm already old enough to remember him as a president) I seem to be a very negative person in your eyes :)

If we'll ever meet (and I hope it will be some day at an MVP summit or something), you'll learn I'm a very positive guy actually :)

That aside, I hope you'll understand that what you think is 'good' isn't always someone elses definition of 'good', as that someone else has other priorities set for what's good and bad. That's also why your country has different parties to vote for, it's that simple.

Don't say the other person is in-dark pessimistic and is the most negative person on the planet. That other person just has another opinion, another POV on the matter. And, if I may say so, I _can_ put arguments on the table for everything I say, especially about what I said about Objectspaces and for example about your former president. :)

But it's up to you of course :). However, if your argument about me being rude/negative is what I said about reagan, then I'd politely ask you to realize that there might be different sides to the story you think is 'true'.
# June 6, 2004 4:37 PM

Frans Bouma said:

Oh and Robert, the last paragraph I wrote in my 1st reply is about the human Reagan and his suffering against Alzheimer. No-one should go through that disaster, as it is horrible to find out you have it.
# June 6, 2004 4:45 PM

Robert W. McLaws said:

Every president has made mistakes. But he was responsible for the end of the cold war. He forged relationships with the world's leaders. He was a person who restored optimism to a world that, at the time, didn't have much hope.

I never said left-wing European. And you don't know where I get my information. I don't just watch the news and parrot what they say. I'm a student of history, and I think he ranks with Churchill and FDR and Kennedy as one of the 20th Century's greatest leaders. And, by the way, the only leader in the history of the world to win a war without firing a shot.

And besides all that, his domestic work revolutionized politics in the US. His vision of smaller government is now the framework for the Republican party. His defense spending may have grown, and the government may not have shrunk much, but it WAS a time of war.... much like the times today.

Look, you're entitled to your own opinion. As for me, Mikhail Gorbechev is a man I greatly respect. He says that the Cold War would not have ended without Reagan's help, and for that, I feel that I owe him a great deal of thanks. And you should too. Otherwise you'd still be behind an iron curtain... or the Berlin Wall.

As to your positive nature... I'm not the only one that says you come across as a negative person. Maybe you should reflect as to why people think that, instead of just saying that I'm wrong. You say that you're a positive person (and I hope we do meet, cause I remain open-minded about you). If writing is a window unto the soul, then why does your writing not accurately reflect you?
# June 6, 2004 5:00 PM

Grant said:

> I fail to see what he did for the world

I would think ending the cold war and bringing down the Berlin wall, leading to the eventual reunification of Germany, would be enough for one man.

> besides creating a huge militairy power on the US' side

One of the reasons for the end of the cold war was the Soviet Union's inability to keep up with American military expansion. Ultimately it led to thir adopting a more open position.

> indepth poverty on the sovjet side,

Quite frankly, they weren't that well off before Reagan. One of the many reasons so many fled the Soviet Union and its puppet states.

> incredible increase of differences between poor and rich in the US

During Reagan's presidency, 16.4 million jobs were added. Stock market up 147%. Inflation down.

> a huge deficit

True enough. Though you need to balance that with the worst economy since the depression being handed to him.

> which was finally removed by Clinton (and re-installed by the current president),

It is easy to govern in good times.

In the end, guess what Clinton will be remebered for?

> revamping the 'communists are bad' idea,

As a leader, he often painted things in black and white to make it easier to galvanize the American public.
# June 6, 2004 6:55 PM

David Stewart said:

Thanks! But it is Stewart with a "t" at the end. A steward is a waiter ;-)
# June 6, 2004 11:30 PM

Robert W. McLaws said:

Sorry. Fixed.
# June 7, 2004 12:24 AM

Lawrrence Oluyede said:

I've also developed a client project to handle atom feeds: http://atomnet.sourceforge.net
# June 7, 2004 4:06 AM

Frans Bouma said:

"I would think ending the cold war and bringing down the Berlin wall, leading to the eventual reunification of Germany, would be enough for one man. "
I think that is a bit too much credit. Eastern Germany did fall on its own and Russia didn't do a thing due to Gorbatsov

It's funny how Americans think we lived in fear for decades here in Europe due to the Iron curtain. I visited it once, it wasn't a pleasant site, but fear? no.

"I never said left-wing European. And you don't know where I get my information. I don't just watch the news and parrot what they say. I'm a student of history, and I think he ranks with Churchill and FDR and Kennedy as one of the 20th Century's greatest leaders. And, by the way, the only leader in the history of the world to win a war without firing a shot. "
I said 'left wing' because I am (even the 'right wing' politicians here are more liberal than the most liberal democrat in the US)

He fought several wars btw, but not by US troops but by US guns and 'advisors' in your own 'backyard'. I don't think he ranks higher than Gandhi for example, not everything that happens in the world is AngloAmerican oriented.

"And besides all that, his domestic work revolutionized politics in the US. His vision of smaller government is now the framework for the Republican party. His defense spending may have grown, and the government may not have shrunk much, but it WAS a time of war.... much like the times today. "
TIme of war? Do you realize you in the US apparently live in a time of war almost every time? Only under Clinton you didn't. He didn't achieve a smaller government btw, nor did Bush in his administration, so 'framework' is a bit too farfetched to say the least. About that war thingy... we didn't nor don't feel /see that era as a time of war. In fact, if we weren't a US puppet state we wouldn't have had nuclear bombs on our soil in that era.

"Look, you're entitled to your own opinion. As for me, Mikhail Gorbechev is a man I greatly respect. He says that the Cold War would not have ended without Reagan's help, and for that, I feel that I owe him a great deal of thanks. And you should too. Otherwise you'd still be behind an iron curtain... or the Berlin Wall. "
Ever been to Europe, Robert? Western Europe wasn't behind a curtain, eastern germany was. The rest of eastern europe wasn't behind an iron curtain as there were between western and eastern germany, however there was a border with patrols.

I thank Gorbatsov that he had the vision to loosen the grip on his people, especially in the eastern europe states. He didn't interviene in eastern germany when the government fell, due to glasnost and peristroika. However I never felt that an achievement of 'Reagan' but an achievement of the eastern german people. THEY freed themselves, not Reagan.

It's that what perhaps annoys me: americans think they are the only ones who make things happen or are vital for a process and think what they do is good and what others do is only good if it matches what americans do. In a lot of cases that's simply not true.

"I'm not the only one that says you come across as a negative person. Maybe you should reflect as to why people think that, instead of just saying that I'm wrong. You say that you're a positive person (and I hope we do meet, cause I remain open-minded about you). If writing is a window unto the soul, then why does your writing not accurately reflect you?"
The person in that objectspaces thread said I insult people who have questions about O/R mapping (look it up). I asked for an example. No-one can give such an example because it's not true. Thomas insults people on a regular basis, that's not me, but Thomas. If people see us as 1-2, I can't help that.

All I do is showing some light on the other side of the story. Often people find that 'negative', but that's shortsighted naivity. Showing someone another POV on the matter isn't negative, it's just that: showing another POV on the matter. In the end you as a reader can only become better, because you know more sides of the story and can form a better opinion on your own. Like with Michael Moore's movies. Obviously they're created to tell a predefined message, no doubt about that. The irony is though: the people in the movie aren't acting, they're not saying words which are written in a script, they're real people and the situations are real. The director's cutting technique creates teh context, but the actions are real. Now, some people say it's negative blabla. However, you can also say: "the filmed situations/scenes are real scenes", so what you see is real stuff. Some truth must be in it. Instead of closing your eyes for the pieces of truth (I'm not talking about the obvious message of the director) you can form a better overall picture of what really happened.

That some people don't WANT TO hear that, I understand. If these people call me negative, I can only laugh about their naivity, sorry.
# June 7, 2004 4:12 AM

Robert W. McLaws said:

This is not an an assembly for handling feeds. it's an assembly for working with the AtomAPI, which is the part of Atom designed to work with weblogs. They are two totally different things.
# June 7, 2004 4:16 AM

Robert W. McLaws said:

Great. I'm gonna thank him anyways.
# June 7, 2004 4:18 AM

matt said:

being from west europe myself I find myself tending to agree with Frans. One thing Frans, there's no point writing a whole essay to try and convince someone of something, I learnt long ago, no matter where you're from you can't change 'em - let 'em be, its easier for everyone. :-/
# June 7, 2004 5:42 AM

Robert W. McLaws said:

Well, I never said anything about living in fear, you just put words in my mouth.

In regards to differing points of view. I like em. I'm glad Frans takes the time to type out his viewpoint. Mine differs from his. But see, I'm constantly taking in information from outside sources to formulate my views. I have my own opinions about things, and it's tough to make drastic changes to them, but you'll notice that my positions change slightly as I take new information in.

In regards to Frans, I'm sorry he didn't like the guy. I feel that he made the world a safer place. I feel that he was a great guy, and he had a great sense of humor. He was a very human leader. Other world leaders from his time are pauding praise on him. I highly doubt that the praise is unfounded. Without him and his work with the Soviets, we might be in a nuclear winter. If you don't feel that he did that much for you... not much I can do about that. He brought hope back to America, and showed how far optimism will get you.

And PS: I'm not neive.
# June 7, 2004 6:17 AM

Martin said:

Matt and Frans, I think you expressed well what the vast of majority people in Europe think. As Matt said it is really not worth discussing as it is clear in Europe that our impression of US presidents is quite different from the US. We tend to like leaders, who understand the policy details hold regular unscripted press conferences, have social concerns and try to follow a balanced approach in foreign policy. It is just different in the USA.
# June 7, 2004 6:18 AM

Grant said:

> I think that is a bit too much credit. Eastern Germany did fall on its own and Russia didn't do a thing due to Gorbatsov

Thats fair. I shouldn't have implied he did it single handedly. Do I think it would have happened without him? No.

> It's funny how Americans think we lived in fear for decades here in Europe due to the Iron curtain. I visited it once, it wasn't a pleasant site, but fear? no.

Of course (1) I'm not American and (2) I said not one word about fear either.

Since you bring up the question of fear, how do you explain people leaping out of windows, braving minefields, etc. to get to West Berlin? How do you explain the construction of the Berlin wall in the first place?

I have to agree with Robert that I'm glad you've taken the time to state your point of view. Too often those who choose to exercise their free speech and express an opinion are harrassed for it. I don't agree with your position, but I am glad you chose to share it.
# June 7, 2004 10:54 AM

Assem said:

I want to download th e Msdos.
# June 8, 2004 8:19 AM

timh said:

I BEG of all control developers and freeware distributors to ensure their products work with proxies of all kinds. having hit this wall on a few of mine, it has proved wise to tackle it in the beginning. especially when i see the words "webrequest" -- please please please make sure you are allowing for users that are behind proxies/firewalls/user-authenticating proxies that may not use the same login info as their NT accounts...

...don't discount those people and don't assume their proxy config just "sucks" -- i'm at one of the largest companies in the computer mfr industry right now and it is a constant pain for them to implement anything that doesn't support proxies...
# June 8, 2004 2:44 PM

Nikunj said:

i want mysql-ado.net provider is thr any available ???
# June 10, 2004 6:51 AM

Stefán Jökull Sigurðarson said:

What's with the Flat Style on buttons and input boxes? How about just setting it to System and enable Visual Styles?
# June 10, 2004 10:00 AM

Microsoft said:

NEW MSOD - Monkey screen of death, now monkes can crash too!
# June 12, 2004 6:38 AM

TrackBack said:

Fragmented Mind &raquo; RSS Calendar
# June 12, 2004 10:39 PM

Craig said:

i think bluetooth input devices are a bad idea, especially from a troubleshooting point of view. not to mention working in dos or the bios. regular wireless products are great, but i think anyone going in for bluetooth keyboards are looking for trouble.
# June 14, 2004 7:51 AM

TrackBack said:

# June 14, 2004 6:31 PM

Sebastien Lambla said:

Robert,

it's absolutely normal for trillian to still connect even though there's been no answer to the firewall... The connection protocol for all IM services works by establishing an OUTGOING tcp connection, which the microsoft firewall, unlike zonealarms and friends, don't control at all. The prompt you get is for INCOMING or LISTENING tcp and udp endpoints on your machine, used when someone sends you somethng directly.

I would agree with your second statement, although I would encourage you to fill a bug report.

Cheers,

Seb
# June 15, 2004 9:39 AM

Vijay P said:

It depends on application requirements, if its
a B2Bi implementation, just SSL cannot help u
with Non-repudiation prespective.Else SSL is fine.

# June 15, 2004 9:50 AM

Ryan Gregg said:

It's disappointing to me that the firewall is still a "leaky" firewall, that won't block outgoing attempts, focusing only on alerting you when an application wants to create listening sockets.

However, I agree with you completely on the dialog text. It's probably too late to change it now, but the choices they provide and the information about each choice is certainly not clear from a quick glance. This may end up confusing more users than it helps.
# June 15, 2004 12:43 PM

Anthony Graziano said:

I'd encourage you to check out USA.NET as they're clearly the leader in the space.
# June 15, 2004 4:00 PM

Robert W. McLaws said:

That's retarded. It should be a firewall that blocks communication in and out.

I'm definitely noty happy with this at all.
# June 15, 2004 5:57 PM

Wolfgang said:

No, Robert, I don't agree. If it would block outgoing traffic as well, too many people will turn it off entirely. Outgoing is okay. It will not stop drones from getting their instructions from IRC, but it will stop exploits of listening ports...
# June 16, 2004 3:37 AM

Sebastien Lambla said:

Don't ever forget one thing, windows is a platform, and microsoft is (even though it's not always very obvious) trying to preserve the ISV market. If the microsoft firewall was doing ingoing and outgoing, packet filtering, and per application rules, what would be left to zonealarm, norton and mcafee firewalls, etc?

I think their choice is reasonable in term of protection (prevent unknown people talking to you and infecting you, while still letting you talk to others without problems), and preserve the ISV market by providing the hookups for other tools to do more (as they already do for that matter, but with added integration) if people want it.

As for me, i'm perfectly fine with letting outgoing traffic goes, it would be a headache to authorize each new program that tries to go and talk to the internet for a normal user, and I would agree with Wolfgang, the user reaction to that will lead (especially as the firewall is turned on by default) to people completely disabling the firewall immediately. Not a good thing (TM). And without being paranoid, what if microsoft had done outgoing blocking, but let internet explorer be safe while not providing a configuration for mozilla and opera? That's right, conspiration theories all over the place once again.

Nuff said, what Microsoft did with the firewall is not a one size fits all solution, but a "just enough to secure by default without killing our ISVs".
# June 16, 2004 8:53 AM

SBC said:

I use DW's Radio Weblogs and it sucks. Unfortunately, I have over two years of blogs in it and have yet to figure out a way to get it all out. His product has not had an upgrade for over two years! I'd like to know what he thinks that makes him so "innovative"..
# June 16, 2004 10:00 AM

Todd Moon said:

I don't think anyone who had a blog there can complain if it was free. They took the free service for granted and when he pulled the plug they complain about it like it's their inalienable right to have access to those blogs.

"It's not okay for 3,000 weblogs to revert to a post by the software vendor one day without warning," wrote Jeneane Sessum.

Seems perfectly ethical to me if there was no service agreement involved. Could he have given the users a warning? Sure. Does that mean he was ethically supposed to do so? No.
# June 16, 2004 10:31 AM

Scott Galloway said:

If you read the thread, you'll also see that it mentions he will provide backups of anything - nothing was really wiped - just taken offline. Looks like the guy was having some personal / financial problems. It sucks but relying on a free service and not backing up your own stuff ain't too bright either.
# June 16, 2004 12:00 PM

Dumky said:

Actually he *was* ethically supposed to do so, because that would have been the right thing to do. But he was not bound to do so legally or otherwise.
# June 16, 2004 1:28 PM

TrackBack said:

# June 16, 2004 6:54 PM

TrackBack said:

Disponible desde hace unos d
# June 16, 2004 6:55 PM

Steve K. said:

Wow! He's managed to make the front page of Yahoo in their news section:

http://story.news.yahoo.com/news?tmpl=story&cid=528&ncid=528&e=4&u=/ap/20040617/ap_on_hi_te/blogs_pulled_1
# June 17, 2004 1:29 PM

Another frustrated would-be customer said:

I evaluated ComponentOne last year at the company I was at then. Their website and all their P/R looks snazzy, doesn't it? Well, I gave up just trying to get their demo projects to work (several of them had show-stopping bugs in them and/or the instructions were wrong so you couldn't get them to work). So I figured, if their demo projects (that are supposed to convince you to spend 600-900 bucks on their tools) don't even work right, what are the immensely more complex actual product components going to be like? Granted, sometimes demo projects are slapped together without the same level of Q/A as the real product... But, crappy work on something as important as what-is-supposed-to-convince-you-to-buy seems to indicate a general level of crappiness. And anyway, how much effort does it take to have one of their employees sit down and run through the demo project instructions, for Pete's sake? But the capper was that when I started communicating with their support about the demo project bugs, they would never admit that there were bugs until I repeatedly sent them enough screenshots and detailed proof to sink a battleship. In other words, their attitude sucked. Went with Infragistics.
# June 17, 2004 2:58 PM

cw said:

Beware of ComponentOne - they have per server redist. fees on ASP components. They hide this fact fairly well on their site. Infragistics last time I checked didn't have these fees.
# June 17, 2004 3:23 PM

Alec Walker said:

We're having trouble with Outlook 2003 randomly corrupting OST files. As long as the files there, Outlook won't open. Remove it and it's fine!
I't shappened on upwards of 10 pc's now for no apparent reason.

Any ideas?
# June 17, 2004 9:03 PM

SBC said:

I have a paid subscription with Userland and it still sucks. The desktop app crashes regularly and the editing page disappears in the midst of editing, thereby removing all new content. My subscription is up for renewal in August - I'll have to figure out how to get about 3 years of blog postings out..
# June 19, 2004 7:00 AM

TrackBack said:

# June 19, 2004 10:10 AM

Matt said:

Everything about the propertygrid is great, except for one thing, there is no way to tab between properties inside the grid.

This is a problem that can be fixed (CodeSmith has a propertygrid that allows this), but until I get around to actually figuring it out and coding it, it is still an annoying little problem.
# June 19, 2004 11:36 AM

TrackBack said:

# June 19, 2004 12:22 PM

nospamplease75@yahoo.com (haacked) said:

It looks nice. A lot like RSS Bandit. You must be using the same controls.
# June 19, 2004 2:05 PM

Johnny Hall said:

I agree with Matt - the PropertyGrid control isn't really appropriate for use for non-developers. It's not friendly.

It does save a lot of coding - but at the expense of friendliness.

I'd have a dialog similar to the way Outlook does message options. The user configures the defaults - and an options dialog for the post would allow overriding those defaults.
# June 19, 2004 2:28 PM

Johnny Hall said:

The rest of it looks pretty good to me though. Good work.
# June 19, 2004 2:29 PM

Robert W. McLaws said:

Thanks. Gonna keep working on it and post some more screenshots later this weekend.
# June 19, 2004 5:48 PM

Patrick Steele said:

If you're using the Property Grid, you've got to check out this MSDN article:

"Make your components really RAD with the Microsoft Visual Studio.NET Propery Brower"

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/vsnetpropbrow.asp?frame=true
# June 19, 2004 9:17 PM

Tim Dawson said:

There's no "tabbing" between properties because it's essentially a grid control. You navigate with the cursor keys.
# June 20, 2004 5:22 PM

scott cate said:

we won :) both of our products won, www.mykb.com and www.kbalertz.com. kbAlertz.com actually ended up as product of the year :) YEAHHHHHH !!!!!
# June 21, 2004 12:07 AM

Matt said:

I understand that the PropertyGrid control provided by Microsoft does not allowing tabbing between Properties. I find this very annoying.

Get Codesmith and try the "modified" PropertyGrid control inside the program that allows tabbing between properties.

In my opinion the Codesmith PropertyGrid is far more intuitive and easier to use than the standard PropertyGrid.
# June 21, 2004 1:07 AM

Patrick said:

Sorry to post something that might be construed as "commercial," but my company is the largest provider of hosted Microsoft Exchange in the world. And the RPC over HTTP feature has the following requirements: Exchange 2003 on Windows 2003, and Outlook 2003 on Windows XP SP 2 or later. If you have that, it's pretty easy to turn on the feature.

There are a ton of tiny little companies that have put together 1 server and started hosting Exchange clients on it (not including USA.net - they're pretty good guys). Mi8 has been offering hosted Microsoft Exchange since 1997, and we have partnered with EDS to deliver to Fortune 500 companies. 'Nuff said - but if you're interested, check out our website at www.mi8.com.

There's a great directory, including user reviews, on http://www.msexchange.org/services/Exchange-Hosting
# June 21, 2004 4:43 PM

Josh Flanagan said:

I fell in love with the PropertyGrid when I first discovered it, I thought it would be great for providing a UI for "user preferences" in my application. Until I ran into its big limitation - it does not work in a security-restricted environment. I suspect that this is the reason it is the only control that is not in the toolbox by default.
When I say "security restricted environment" - I mean any environment where reflection is not allowed. For example, if your app is a "no touch deployment" executable launched directly from a web page (as mine is).
# June 21, 2004 4:52 PM

Steve Schofield said:

i have no sympathy for anyone, if this guy was running a free service and decided to pull the plug that is his biz. Yeah, ok i'm sure he could go about it a different way, asking for help, warning people but in the end people could either host their own blog server on their dime or run the risk of what happened here. hosting fees and time that consumes running a site like this isn't free and can be a real headache. i personally wouldn't do that but again i don't bother with free hosted solutions like this and just do it myself!
# June 22, 2004 4:08 AM

Joe McMaster said:

Actually, we tried Mi8 and left them. Yes, they're definitely among the oldest providers - but that also means that they have the oldest outdated system. They lack a lot of features, especially in their provisioning - their online administration area is among the worst I've seen from the 4-5 vendors that I checked out.

A lot has changed with Windows and Exchange since 1997 - they need to gut their provisioning system and build it from scratch. A lot of standard features are either not available or require manual work from them. Plus, they're among the most expensive out there.

Why pay for an IBM when you can get a Dell at half the price? :)
# June 22, 2004 10:22 AM

M Johnson said:

that is great...i Have been looking for an hour on that. Thanks!
# June 22, 2004 3:52 PM

SBC said:

Good idea Robert.
Skype id sbc777.
# June 23, 2004 4:35 PM

Dennis v/d Stelt said:

They might need an RSS feed, a blog is overkill if you want to know when new versions are released.
# June 24, 2004 2:36 AM

Paschal said:

Something I don't understand: what is the point of editing multiple entries in one go ? Unless you're an octopus, this is not making any sense ?!? The scratchpad is enough anyway.
# June 24, 2004 6:54 AM

Johnny Hall said:

Doesn't hurt though, does it? Someone might want it...
# June 24, 2004 7:38 AM

Matt Hawley said:

Lookin good Robert, I wanna see those post options that I so disgustly hated the last screen shots :)
# June 24, 2004 8:07 AM

TrackBack said:

# June 24, 2004 8:37 AM

nospamplease75@yahoo.com (Haacked) said:

Looking Good! Can't wait to try it out.
# June 24, 2004 12:14 PM

Robert W. McLaws said:

Paschal,

There are many situations where I work on muliple entries at once. I have 3 or 4 .Text admin screens open, and I jump back and forth between them. When I work on PatchDayReview, it's a nightmare, and I have to do it in Frontpage. Having multiple documents will shave hours off my post time when Microsoft's Patch Day rolls around.

If anyone else can make use of that feature too (and I bet they can) then cool.

Matt, I'll post them in a few minutes.
# June 24, 2004 3:06 PM

Matt Hawley said:

LOL - Am I the sole voice? Lookin' a lot better, I think I may actually give it a good shot next time around :)
# June 24, 2004 3:55 PM

Matthieu said:

I try to send a error report but it failed on a Date formatting exception.

I added a blog configuration with Dotext provider with this url http://www.deuxtowers.com/matthieu/aspnetlog/

When I want to add categories after checked my alias I've an exception ( System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: http://www.aspnetweblog.com/services/simpleblogservice/GetCategories ). Why did it use this url to call the ws ?

Matthieu
# June 24, 2004 5:12 PM

Robert W. McLaws said:

Matthieu,
Wait until the next beta comes out. We'll try to troubleshoot it then.
# June 24, 2004 5:28 PM

Stephan Branczyk said:

Robert,
May be you should read "Code Complete" by Steve McConnell (second edition). It's my favorite book on this topic.
# June 25, 2004 3:58 AM

Todd Moon said:

Looks awsome, Rob. I can't wait to try out the next version.
# June 25, 2004 1:51 PM

Professor Phish said:

ACT! is another program that allows you to put tasks on a calendar. But the dependencies that Taskline offers aren't there, so this is much better.

Also, about hte price: there's a $15 coupon code for students and teachers, if you ask for it.
# June 26, 2004 2:09 AM

tt said:

I get the following error when trying to submit a bug when the program throws an exception etc.

Server was unable to process request. --> SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at Interscape.WebServices.Feedback.Defects.DefectHandler.AddDefect(Guid securityToken, Defect defect, CustomFieldValue[] customValues) in D:\Vault\VisualBlogger\UserInterface\Web References\WebServices.Feedback.Defects\Reference.vb:line 43
at Interscape.VisualBlogger.Forms.Feedback.btnSubmit_Activate(Object sender, EventArgs e) in D:\Vault\VisualBlogger\UserInterface\Forms\Feedback.vb:line 462
at TD.SandBar.ButtonItemBase.OnActivate()
at TD.SandBar.ToolBar.OnItemActivate(ToolbarItemBase item)
at TD.SandBar.ToolBar.OnItemRelease(ToolbarItemBase item, Point position)
at TD.SandBar.ToolBar.OnMouseUp(MouseEventArgs e)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at TD.SandBar.ToolBar.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
# June 28, 2004 8:14 AM

TrackBack said:

# June 28, 2004 12:02 PM

nospamplease75@yahoo.com (Haacked) said:

Whoops! Sorry about that. Too quick on the Submit button.

I tried the link to download the Beta and got an error.
# June 28, 2004 12:29 PM

Molly said:

Hi,
Nice looking product. Any plans to support Jroller?
TIA
Molly
# June 28, 2004 9:03 PM

TrackBack said:

# June 28, 2004 10:22 PM

Me said:

Wow, you sound like Roy
# June 29, 2004 7:09 AM

Scott said:

How do you know that Microsoft didn't "leak" it?
# June 29, 2004 8:55 AM

Patrick Steele said:

Chill out man. It's unfortunate that the news was leaked, but it shouldn't upset you so much. The important thing is that *you* signed the NDA and *you* adhered to it. You're a man of your word. There's bad apples in every bunch -- it's a fact of life. Getting pissy about it doesn't help you one bit. You've worked closely with Microsoft as a trusted source and that's something to be proud of. Just use this as a learning experience and move on.
# June 29, 2004 9:29 AM

bert said:

you really think Microsoft didnt think nayone would find out.... as soon as they sent out the emails they were ready for the world to know
bert
# June 29, 2004 10:14 AM

Seriously nobody cares said:

Who gives a damn if you're pissed? Who gives a damn if you're "REALLY" pissed? Let me know when you are super-mega-hyper pissed, maybe then I'll take notice, but probably not since you're only whining about not being able to gossip. Get over it, I'm sure you are still one of the top three most popular girls at whatever junion high school you attend.
# June 29, 2004 10:17 AM

Jon Galloway said:

It'd be cool if they could do something like the film industry does - they put little spots in pre-release DVD's that aren't noticable to the viewer but allow you to track a leaked copy.

So there could be different permutations of the e-mail - a unique one per person probably isn't feasible, but at least you could segment it and say "An MVP on the West Coast leaked this".
# June 29, 2004 6:52 PM

Bill Burrows said:

Hi Robert,

I recieved the same email you did last week regarding the upcoming news. Like you, I kept my mouth shut under the terms of the NDA. I too am disappointed that someone leaked the information.

One thing that surprised me however was the fact that the notice and reminder of the NDA agreement was at the very end of the email. If I were composing the email, I would have made the NDA reminder the first paragrph. I almost missed it myself (I must admit that I don't always read to the end of everything).
# June 29, 2004 8:21 PM

TrackBack said:

# June 29, 2004 8:58 PM

Mike Kolitz said:

I agree with you, Robert. People have been complaining about MS's lack of transparency for years, and now they're finally catching on.
If they revert to their 'old ways' because of these friggin' leaks, I'm not gonna be a happy geek.
# June 29, 2004 9:08 PM

AT said:

Completely support you. Without NDA Microsoft information will not shared with peers like you, me and other outsiders.

Even more - I have some bad experience with NeoWin site stealing information for their "Exclusive" articles from private NDA protected newsgroups. They even do not hide this - sometimes you can see "Source: betaplace" or "Source: Inhouse".

I like idea of Jon Galloway. Add random spacing, words or sentences to unique indentify leak source. But IMHO, http://MicroSoft.com/permission is something everybody must read before posting information on their web-sites.
# June 30, 2004 12:42 AM

Jon Galloway said:

AT - With regard to watermarking, it can even be less obvious:

Microsoft is pleased to announce Visual Studio 2005 Beta 1, together with a line of Express products.

We are excited to unveil a line of Express products, together with Beta 1 of VS 2005.

We will be releasing Visual Studio 2005, Beta 1, at Tech Ed. Additionally, we are happy to introduce a line of introductory products - the "Express" product line.

Etc., etc., etc.

They can hire me to crank these out at $2.50 a piece. $2.25 in bulk.
# June 30, 2004 3:45 AM

Hannes Preishuber said:

the link is their, but the download wont transmit any bytes
# July 2, 2004 1:55 AM

James said:

I installed sp2 rc2 and my computer froze up I click on an application and it takes 3 to 4 min to open i open just the browser and it takes 2 min to execute. I have run anti virus checks and defragged the drive which i may add took 15 hours to do and still the same result. I think this rc2 blows. I looked for min system requirements and found only xp pro with sp1 what the hell does that mean. so I tried to uninstall the rc2 and now I get a prompt telling me viseo, trillian, word and most of my office 2003 suiet will need to be reinstalled as well as my nero and a few other programs. so now I need to just format the drive because who knows what else is effected or how it will run after. In my view they can keep sp2 rc2.
# July 3, 2004 12:26 PM

matthew said:

two solutions:

install nero and image drive

install winrar and extract to a directory somewhere (perhaps even put the two extracted ISOS together in one directory)

no CDs required!
# July 3, 2004 7:50 PM

James Avery said:

no CDs! Just use a ROM loader like Daemon Tools....
# July 3, 2004 10:21 PM

Robert W. McLaws said:

I'm well aware of all those. It still doesn't matter. I'm talking about the final distro. I'm talking about the MSDN cds I'm gonna get when the final release comes out. I could care less about wasting MY cds. I don't have terabytes of space to keep my ISOs on.
# July 4, 2004 4:29 AM

Ken Cox [MVP - ASP.NET] said:

Okay, but don't forget that Visual Studio went from 6 to 2002 in one jump. <grin>
# July 4, 2004 11:10 PM

Scott said:

and Access 3.0 errrrrr 7.0 I mean. Along with Outlook 2000 errr 2002 errr XP err 2003. Damn, he must have learned how to count from Bill Gates. How about .NET 2.0 errrrr 1.2 with C# 1.2 errrr 2.0 in it?
# July 5, 2004 12:46 AM

Mike Gunderloy said:

And for that matter the very first version of Office was 4.3.
# July 5, 2004 1:43 AM

Steele Price said:

This Theory doesn't seem to apply to OneNote, it's extremely popular, especially on tablets. Everyone who uses it seems to become quite attached to it, myself included.

Also, the "Year Model" approach is directly related to this whole marketing fear, if it's based on a year, the general population doesn't see any version numbers just people who dig into the properties to find out the build numbers.
# July 5, 2004 2:25 AM

Michael Teper said:

Version numbering in shrinkwrap software is a function of marketing, not development. So don't go looking for sense there. Having said that, I think no matter how you look at it, J2SE can easily justify calling itself a 5.0. The incremental nature of version number changes of Java runtime has always been ludicrous if you consider the actual functional change from point release to point release.
# July 5, 2004 2:30 AM

Robert W. McLaws said:

Visual Studio is still referenced as Version 7 for 2002, v7.1 for 2003, and v8 for 2005.

Office is still referred to as Office 10 for XP and v11 for 2003.

Scott: The next revision of .NET was originally versioned 1.2. Then the decided it would be a major revision not a minor one, so they bumped it to 2.0. C# is now V2, but you also have VB.NET 2.0 (which is really VB8).

The year-based approach is fine. Call it J2SE 2004 for all I care. But jumping 4 version numbers for no apparent reason? Come on.
# July 5, 2004 4:11 AM

Jerry Pisk said:

Netscape tried this (going from 4.x to 7.x) and it didn't help them. Mozilla and Firefox stick to a normal versioning system (even though I'm waiting to see if they'll go to 1.10 after 1.9, or bump up to 2.x) and are increasingly popular. It's not a matter of version numbers, it's a matter of quality. If your code/product sucks it doesn't matter what you call it, and higher version numbers don't mean better quality (Windows ME or Visual Studio 7 are prime examples of crappy softwares with high version numbers).
# July 5, 2004 7:07 AM

Johnny Hall said:

The first version of Exchange Server was 4.0. It was following on from MS Mail which was at 3.x. Completely different products, different code base, etc.
# July 5, 2004 12:23 PM

Chad said:

Although I agree with the premise, calling it an "uncertainty theorem" seems an egregious misuse of the term to elicit familiarity due to Heisenburg's Uncertainty Principle. It's especially so considering your statement of the theorem is with considerable certainty; well, there's at least no inherent uncertainty in the premise to warrant the description of being uncertain.

# July 5, 2004 3:41 PM

Robert W. McLaws said:

Well Chad, I really just wanted to create a big, important sounding name to complete my take on the issue. It's really a bullshit term that had nothing to do wth the HUP. The uncertainty in this case had to do with the rate of adoption (will always be uncertain with v1) but the rate of certainty will increase with subsequent releases.

PS - pretty much the whole post was sarcasm. But the Java thing was real.
# July 5, 2004 3:51 PM

Robert W. McLaws said:

Didn't Microsoft acquire the technologies for Office, mail, and Exchange separately? and wasn't MSMail a part of Windows 3.0, which would then explain the version number there?
# July 5, 2004 3:52 PM

mikeb said:

Oh, yeah... let's not forget Windows NT 3.1.

And when Word for Windows jumped from version 2 to 6.

Version numbers in product names are marketing - note the various incarnations of numbering, dates, or brand names used by Microsoft in their OS products.

Version numbers returned in APIs are also pretty arbitrary - they just need to uniquely identify versions, but it's nice if they have an ever-increasing pattern so comparisons can be made.

It's also nice if the various parts of a version number help identify the level of compatibility - but that's asking far too much from marketing departments.

I personally found it confusing when Sun decided to have their Java 2 platform supported by the version 1.2 of the runtime and SDK. It looks like even though they've jumped the runtime/SDK version to 5.0, they're still calling it the Java 2 Platform.

Oh, well.
# July 6, 2004 1:23 AM

Robert W. McLaws said:

Thanks for the link, Keith. I figured it was you, but I dodn't have time to search through your blog for the post.
# July 6, 2004 3:50 PM

Johnny Hall said:

"Isn't that interesting. I've always noted that the Microsoft v. Linux wars are almost the same as Republican/Democrat wars. Now I have some proof to back that up."

Proof? Almost the same? Only because it fits your world view. Generalisms like this aren't particularly helpful, I don't think.
# July 6, 2004 3:55 PM

Robert W. McLaws said:

Johnny, I said "almost the same". It's not a generalization, its a distinct parallelism. They are similar in many ways. Both Keith and CNET pointed that out. You can interpret the facts however you want, but facts are facts. And the fact is, not a single Democratic candidate used Microsoft technologies, they all went open source.
# July 6, 2004 4:08 PM

Frans Bouma said:

MS donates an equal amount of money to both parties at every election if I'm not mistaken.
# July 6, 2004 4:21 PM

Johnny Hall said:

Facts are one thing. Interpretation is another.

I see where you're going with it (obviously) but I don't think I necessary want to follow you down that road.
# July 6, 2004 5:42 PM

Robert W. McLaws said:

Where am I going, exactly?
# July 6, 2004 5:55 PM

mikeb said:

A little bit off topic, but my favorite anecdote combining politics and software was when Orrin Hatch was exposed as a software pirate, right about the time he advocated attacking machines running unlicensed software:

http://www.wired.com/news/politics/0,1283,59305,00.html
# July 6, 2004 6:03 PM

Johnny Hall said:

Actually, now I think about it, I'm actually *not* sure what your point is.

Which was kind of my original point. Kinda of ;)
# July 7, 2004 4:25 AM

Robert W. McLaws said:

My point is that News.com's conclusions are interesting. I didn't say really say how I felt about it, except so say that it's... interesting.
# July 7, 2004 4:34 AM

Johnny Hall said:

Fair enough.

Because you compared Microsoft to the Republicans and Linux to the Democrats with this...

"Microsoft v. Linux wars are almost the same as Republican/Democrat wars"

... I made some assumptions.

And you're right, it is interesting. But I don't really think it's significant. But who knows...

(Really, I just don't like the association, being both a Microsoft developer and a left-leaning European) ;)
# July 7, 2004 10:07 AM

Eisbaer said:

Is is really? Is it listed in the system requirements?
# July 7, 2004 10:37 AM

TrackBack said:

Oh, come on now
# July 7, 2004 4:23 PM

Michael Teper said:

If you ever find an asnwer to this, please blog about it. It has irked me (ok, just plain pissed me off) for a while now.
# July 7, 2004 5:01 PM

Shawn said:

You should check out the Solaris numbering scheme when you've got some sparet time. It's a real mess.

You have to give points to Sun for being consistently inconsistent.
# July 7, 2004 8:51 PM

Jyoti said:

I am facing problem to work with old version of assembly in windows application. But all thew time it is defaulty taking new version. I read that medn version number in shared assembly but i didn't get that how that will be used of configuration to access old version
Thaking you
jyoti
# July 8, 2004 12:33 AM

Ron Green said:

I was really hoping you'd get an answer to this.
# July 8, 2004 11:27 PM

Some Microsoft Dude said:

I loved this banter It was very entertaining.
I will be reading this site alot in the future.
Don't misunderstand the Name I'm no MS official
just another developer of the MS flavor.

I was Google-ing for "databinding ListBox SelectedValue ValueMember C# example" cause I know I was able to ..."When the user selects a course name in the ListBox control, you want to display the corresponding
CourseNumber value in the txtCourseNumber control. What should you do?" But I forgot how... Studying for upgrading my Cert. I like your site It's a new fav...

A)
Use simple data binding to bind the SelectedValue property of the ListBox control to the CourseNumber
column of the StudentSchedules table.

B)
Use simple data binding to bind the ValueMember property of the ListBox control to the Text property
of the TextBox control.
# July 9, 2004 6:33 PM

Same Microsoft Dude "ChristianProgrammer&quot said:

RE>>Post 3/16/2004 10:53 AM Dennis

"2) There should be a way for events like combobox.SelectedIndexChanged to tell you whether the event was caused by the user or by your code."

I think you could pull this off with a little checking at BindingCollection level of the form either that or BindingContext but yes you would still have to do some checking yourself.
It couldn't be as easy as identifying the sender could it ???
# July 9, 2004 6:38 PM

fletch said:

not happy never had problems with wmp 9 now struggle to copy files
# July 10, 2004 7:31 PM

Frazell Thomas said:

Agreed this shouldnt be a requirement...

Its a horrible requirement in VS 2003
# July 12, 2004 8:38 PM

Rob said:

It screwed my machine as well. I need to reformat tomorrow. Issues with SP2 seem to be rare, but when they come up, it completely screws a machine it seems. I'll be staying with SP1 for a while.
# July 14, 2004 2:42 AM

Steve K. said:

Seems a political party flog is an oxymoron.

But maybe it is the perfect political tool. Call it factual to give it credibility and then make it the exact opposite.

In any case, flogs are already dead. :)
# July 15, 2004 9:14 AM

TrackBack said:

Thanks to Robert for pointing out the GOP.com site is using an early version of .Text. Not sure if I...
# July 15, 2004 10:31 AM

Ben Li said:

at Aspose ( http://www.aspose.com ) we have reporting engines to produce Word/Excel/PowerPoint/Pdf documents. Now we're proposing to make Aspose.Crystal, that is probably defined as a pure .Net alternative for Crystal Reports for Microsoft Visual Studio 2005 but with much better performance price ratio. Now we're totally open to your requests on how it should look like so feel free to post your needs.

Thanks for your valuable input in advance.
# July 20, 2004 12:02 AM

Robert W. McLaws said:

I would recommend against calling it Aspose.Crystal. You're opening yourself up for some serious litigation. Call it Aspose.Reporting or something.
# July 20, 2004 2:43 AM

Levi Rosol said:

check out IDFlexiCombo @ htpp://www.IvelDesigns.com

Thanks
# July 21, 2004 6:03 PM

David Costelloe said:

I don't know about the rest of you but buying Visual studio .net every 2 years is a no no. I currently use 2002 which has not paid for itself yet. I am trying to use 3rd party controls which state 'yeah we support 2002' well they don't work on 2002. So where is this going now?
Oh buy 2003 they say ok give me $3000.00 US be happy to. By that time 2005 should be out oh wait please can I buy it to for $4000.00?
Thanks
# July 22, 2004 6:18 PM

Brandon said:

I can't even install Office 2003. I am halfway into the installation and I get a MSIEC.exe needed to be closed.

I installed it on another computer with even specs but it has SP1 and the install went fine without a hitch. So that might be another thing to look at.
# July 23, 2004 10:41 AM

Rob Mensching said:

Robert,

What exactly do you think the WiX toolset needs to be "ready for prime time"?
# July 23, 2004 12:21 PM

Robert W. McLaws said:

Rob,

Well, first off, it has to be discoverable. I don't want to have to learn a new syntax, which means you either need a GOOD ui toolset (which none of the ones on SourceForge are) or you need VS.NET support, which means a Schema and IntelliSense.

Second, it needs to be able to design dialogs. If it has this capability, I haven't found it yet. But I need to be able to build simple installers that have a clean UI, a few dialogs, set some registry settings, launch a custom action or two, and run an app when it's finished. And i don't want to pay $799 for it.

Finally, it needs a .vdproj to .WiX converter. That way I can take existing VS deployment projects, build WiX templates, and integrate it into my commercial build process.

Oh yeah, and I'm uncomfortable using it in a commercial product until you guys consider it stable and out of beta. I can't release products running beta software because I can't support it if it fails.
# July 26, 2004 7:51 PM

Shaun Wilson said:

what scare me is how companies abroad left windows 2000 sitting in the cold for over a year with support persons claiming "it's a business class operating system".

As long as similar claims could not be made against upcoming windows releases I'm all for breaking compatibility with technology from the late 80s and early 90s, however if it meant compat. mode would be lost, I would have to disagree (and thunks should remain in the system, if only for compat. mode options which I have used and continue to use on win2k3).
# July 27, 2004 6:43 AM

TrackBack said:

# July 27, 2004 12:11 PM

lavalamp said:

<q>Any chance of tabbed browsing?</q>

Why, would that make you use it?
# July 27, 2004 5:54 PM

TrackBack said:

# July 28, 2004 9:10 AM

Eduard Witteveen said:

> Now, all you do after this is add your assembly
> to the custom actions, 2 times for the Install
> and the Uninstall (4 total)
And how would i do that :S
# July 28, 2004 9:54 AM

J. D. Trollsen said:

Hope the Scrolling Grid 2.0 sells bucketloads so you won't have to work at Starbucks anymore for your cash.

While you're still there, I'll have a double mocha frapaccino please.
# July 28, 2004 10:23 AM

Alex Beynenson said:

Thanks for the awesome chunk of code, Robert. We ran into this problem using XSLTransform with StringWriter. In the template, we were doing <xsl:output method="html" encoding="utf-8" /> and the XSLTransform insisted on inserted <meta encoding="utf-16"...> into the <head> of resulting HTML output regardless. This was seriously disrupting output of certain special characters in IE that were saved under utf-8.

Using this overriden StringWriter, I was able to finally get it to output meta encoding="utf-8" which was getting put in using the encoding of the StringWriter.

Here's a c# version of that code if anyone's interested.

using System;
using System.IO;
using System.Text;

namespace MyAwesomeNamespace
{

public class StringWriterWithEncoding : StringWriter
{
private Encoding _enc;

public StringWriterWithEncoding(Encoding NewEncoding) : base()
{
_enc = NewEncoding;
}

public override System.Text.Encoding Encoding
{
get
{
return _enc;
}
}
}
}
# July 28, 2004 10:36 AM

Robert W. McLaws said:

LOL Thanks. I'm not an employee there, I take my laptop and I code at a table.
# July 28, 2004 3:34 PM

wendy said:

i like having this one a whole lot better
# July 28, 2004 10:36 PM

Andrew Connell said:

Looks like a cool app, but it is very unstable and unreliable... seems just short of a proof of concept. The app constantly crashed on me and the code formatting seemed to go haywire every 3rd or 4th time.

At any rate, I'll watch for future updates.
# July 31, 2004 11:02 AM

Robert W. McLaws said:

Did you send in details on what happened? The point of releasing the code was to get people to catch bugs and report them.
# July 31, 2004 6:10 PM

NiCK said:

Hey..out of interest, how would i go about getting that same 3970 uprgade you have?
# August 2, 2004 3:30 AM

Mark Notton said:

I have experienced the same problem as Robert W. McLaws. However on mine, although the mute fuction is available, it still does nothing. It's still a nice upgrade thouh.
# August 2, 2004 9:23 AM

unknown said:

Success is an achievement and satifaction of doing your day today work with pleasure and complete dedication. Every day if you feel happiness growing within you and you see positive changes with in you, that is success. Success gives you a insight of your future , it is like a dessert after food.
# August 2, 2004 8:24 PM

PRoBiSoNe said:

I have been experiencing issues with Nero causing a BAD_POOL_HEADER STOP 0x19 (0x20 ...) when attempting to load the 'data' burning module for both CDRs and DVDRs(i.e. data disk, audio disk) Vision and Recode both seem to work fine creating and burning video DVDs. Other then that I have not had many other major issues with SP2.

For those having issues with apps, you should uninstall and wipe the registry of those apps prior to the installation of SP2. SP2 install should indicate upon installation the apps it may render unusable prior to installing. If not perform the uninstall and reg clean after SP2, then reinstall apps as normal. Keep in mind that SP2 will default alot of drivers you may have installed third party post SP1 install. These drivers will need to be reinstalled. In addition any major services disabled will also need to be disabled again after SP2 install. SP2 will reenable alot of services if previously disabled.

Let me know if anyone else has had any errors with Nero like the one mentioned above. I cant seem to find any info on this at all; every site points to issues with Windows 2000 in reference to this perticular stop error (Note- no hardware or software was changed prior to SP2; per the STOP error, it indicates hard/software is the issue- yet it is only in reference to W2K, go figure)

PRo-
probisone@sbcglobal.net
# August 3, 2004 1:07 AM

Eric said:

My advice is valuable, and not given for free. If a company with $40B in their pocket comes to me asking for advice, they'd better damn well be prepared to PART with some of that.

Microsoft doesn't NEED to care one BIT about making a system that people will want to use - they make a system that you WILL use. Remember, it's just like IBM used to be for MS right now... No one ever got fired for buying Microsoft.
# August 3, 2004 3:35 PM

David Willson said:

GREAT! I've already started doing my next website in .Net 2005 !!
# August 6, 2004 9:32 AM

Michael Teper said:

It won't appear on WindowsUpdate until August 25th (according to MS).
# August 6, 2004 8:00 PM

Ashutosh Nilkanth said:

Yahoo also launched its blogging service (only for its Korean users for now) sometime back: http://tinyurl.com/3l7ho
# August 7, 2004 1:34 AM

Michael Teper said:

I stand corrected, according to this: http://dotnetjunkies.com/WebLog/demiliani/archive/2004/08/06/21351.aspx, the WindowsUpdate should let you install SP2 on August 10th.
# August 7, 2004 2:12 AM

David said:

Paul is just following the contract MS has put up in the case of the MembershipProvider class when he throws exceptions in those methods that he doesn't support in his provider.

The MembershipProvider has two properties EnablePasswordReset and EnablePasswordRetrieval that clients of the class should use at runtime to discover whether a specific provider supports either of the two functionalities. If EnablePasswordReset returns false a client should not call ResetPasword on that provider at all.

In the implementations for SQL and Access by Microsoft ResetPassword will throw a NotSupportedException if ResetPassword is called on a provider who is configured to not support resets of passwords. Throwing an exception in this case is ok, because clients should first check EnablePasswordReset before calling ResetPassword. The NotSupportedException would only be thrown if the code using the provider has a bug.

Not throwing an excpetion in ResetPassword when that is not supported by the provider but rather returning a default null value (ie an empty string) would break the contract set out by Microsoft for MembershipProvider and lead to unexpected behaviour. In the case of ResetPassword it in fact always returns an empty string (it probably should really have no return value at all).
# August 7, 2004 9:48 AM

Michael Teper said:

Yes, exactly what David said.

Robert, you really should be careful about how you say things. What you are expressing is an opinion and not Microsoft gospel. Nor does having presented on a topic makes you the absolute source. If someone disagrees with you, it doesn't mean they "don't get it". Finally, if you have a specific reference to Microsoft supporting your opinion, please cite it.

You can also take a look at my response to the comment you left on my blog here: http://michaelteper.com/archive/2004/08/06/195.aspx.
# August 7, 2004 12:16 PM

Robert W. McLaws said:

David, gotcha. I forgot to mention that part... those properties are vital in any PM implementation.

Michael, I'm not really expressing too much of my own opinion. If you think providers should be done with Interfaces, then you don't understand why abstract base classes are infinitely more powerful. That's not a bad thing. But the concept was not understood. i don't feel that sugar coating it is gonna help anyone.
# August 7, 2004 3:40 PM

James Arendt said:

"Interfaces are immutable, making versioning them impossible. Once an interface is made public, you can't change it without breaking the contract between classes that the Interface creates."

If you're making a published interface (think contract or standard), you shouldn't be going around and changing them without given due consideration. They really should be set in stone. When I look at electrical outlet in a wall, the interface has hardly changed in years. The pros for this capability is that just about everything that needs power can plugin easily. When viewed in this way, interfaces are ideal for plugin architectures.

The other problem I see with this argument is that abstract classes do not avoid it. If by contract, we assume it means the methods one has to implement, abstract classes have the exact same problem. If you add an abstract method to an abstract class, you cause the exact same problems for those who inherit from that class as you would have if you had added a new method to the interface.

The solution for interfaces is to create new interfaces which has its share of versioning issues. Abstract classes are in some ways less flexible in that you have a rigid inheritance heirarchy to contend with. On the other hand, you can add new methods that are either non-virtual or virtual without breaking derived classes. I think this what you're refering to when you say you can just add a new method to the base class. In that case, it could be argued that abstract classes have the potential to be more flexible. But, I personally wouldn't jump to that conclusion without a big disclaimer.

"All you get is the mold by which all implementing classes should conform to."

That's the whole point.

"Abstract base classes solve all those problems. First of all, that common contract between classes is created through an inheritance chain."

Inheritance chains are fragile. There's a whole host of papers in the OO community that tackle all the various issues with them. Different languages and platforms, hence, deal with it in different ways and introduce their own set of problems.

"This class not only defines what the rest of the providers will look like (because this class is marked either "abstract" or "MustInherit") but it also defines default functionality that every provider must implement."

The main benefit of this approach is a somewhat simplified model. It could be accomplished using a combination of interfaces with default implementations of those interfaces using either concrete or abstract classes for implementations. You're gaining one less class/interface by going the approach you described above.

"This makes life easier for plugin developers in many ways. First, it's much easier to version. You can add functionality at any time to any part of the inheritance chain without breaking any existing code."

Don't fool yourself that they're easier to version. The whole reason C# and other .NET languages have the distinction between non-virtual and virtual methods and methods that can be sealed is to deal with the host of problems with versioning implementation of behaviour in a class. Even with those features, it is still up to the designer of the library to design the classes with inheritance and versioning in mind. It is also up to the consumer of the library to understand the expectations -- both implicit and explicit -- for deriving from those classes.

A chief criticism from those who develop for non-.NET languages/platforms is that these "features" increase language and design complexity without necessarily removing the burden on the designers of class libraries or developers who use them. It could be argued that they actually increase the burden. But, I'm digressing.

The point is that you made a blanket statement that in reality does not hold water.

"If you add something to the base of the chain, every part of the chain above that has access to it. Therefore, it allows you to scale functionality up (by adding new capabilities) as well as out (by adding new providers)."

Once others become dependent on that new functionality, you can't change it without introducing problems. This is the whole problem with fragile base classes.

http://c2.com/cgi/wiki?FragileBaseClassProblem

I would argue that makes it harder to maintain.

"First of all, you have to implement every method on an interface, or it won't conform to that interface, and therefore, it won't compile."

That's if you're implementing the interface directly. If you use a base class that provides appropriate defaults for the interface, this is a non-issue. Secondly, the interface still gives you the option that if you're concerned about the problems of depending on a base class, you can still go ahead and implement it completely yourself.

"But if you understand the underlying reasons for the architecture, it makes a whole lot of sense."

I understand some of the reasoning, but as I've begun to show it doesn't make the most sense. It has its share of flaws in general design, let alone arguments of whether something should return a value or throw an exeption.

"And since Microsoft had built this functionality into the base of the Framework, you're going to see a lot more of this architecture."

Microsoft's teams have made a lot of mistakes over the years with their frameworks and class libraries. An architecure that is heavily reliant on a base class assumes that those designing the base class really know what they're doing. It also assumes those deriving from the base class know what they're doing. That's too many assumptions for me to feel confident.

"And be careful. All Provider Models are not created equal."

I agree.
# August 7, 2004 4:49 PM

Robert W. McLaws said:

Holy crap. James, I'm gonna need the weekend to respond. I agree on some points, but your response was so detailed that anything less than a detailed response would just not be respectful ;).
# August 7, 2004 4:55 PM

David said:

Great post, James! I agree with all the points, especially since it makes it very clear that this issue is complicated and doesn't have a simple right/wrong answer.

Obviously you tackled the really important points here, while my point on how a client can find out what functionality a specific provider implements is a lot less central to the debate (although I believe it was the question Paul discussed in his blog post that triggered Robert's post). Nevertheless I have to say that I find the design chosen by Microsoft a lot less elegant than a solution based on interfaces. Having properties signal whether a method is implemented (and can be called) or not just seems awkward to me. Grouping functionality sets that don't need to be implemented into interfaces seems so much more straightforward. There is also the point that one has almost no chance to understand the construction Microsoft chose without looking at the documenation first, while an approach based on interface would be a lot easier to grasp.
# August 7, 2004 7:43 PM

Jason Salas said:

I've been doing blog work on my smartphone for the past couple weeks...it's painful, but convinient. I guess it would be a nice thing to partake if stuck on a bullet train for 5 hours. :)
# August 9, 2004 1:12 AM

Todd Moon said:

Does the firewall still have the stupid "Ask me later" option without telling you what it will do now?
# August 9, 2004 10:41 AM

Jon said:

Why would this be Greek to Java developers? Java has used a pluggable or "Provider" model for quite sometime. Most Java APIs are based on interfaces with some abstract base classes providing minimum functionality. The nice part about using interfaces with an abstract implementation is that you can then choose to extend the abstract base class or if you need you can implement the interfaces directly. Microsoft is taking a step in the right direction by allowing us to extend and enhance their framework (ASP.Net).
# August 9, 2004 12:33 PM

Michael Teper said:

More exception-related thoughts can be found here: http://michaelteper.com/archive/2004/08/09/201.aspx.
# August 9, 2004 3:23 PM

Philly Bob said:

Maybe ya'll should wait until the official release!?

That's what I'm doing.
# August 9, 2004 10:07 PM

James Arendt said:

Jon's exactly right. Java's had provider/factory/plugin type models for YEARS. A lot of their APIs are designed with them in mind because it offers third-parties to supplement the APIs or provide their own implementations. Interfaces have been used extensively in most of those designs.

And yeah, I use to be on the other side of the fence. That should come as no surprise.
# August 10, 2004 8:51 AM

Brent Yager said:

I spent 2+ hours d/l'ing and burning, only to find my damned machine bombing at an attempt to load explorer.exe! I will figure out something tonight, but it's a heck of a thing to wake up on your birthday to. I will keep all posted of my progress, and detailed error messages.

To begin, here are some quick stats:
* Dell Dimension 8300
* 512M RAM, 80G HD (precious cargo)
* Win XP SP2 (kinda)
* Much software, but I think it's the Beta 2 .Net that's screwing me

More to come ...
Brent
# August 10, 2004 1:28 PM

Carlos Barichello said:

The format string should be "x2" instead of just "x". This makes sure that the resulting string has two characters. That is important in this scenario. For example, if "pt(i)" shows up as "10" in the debugger, notice that the converted value will be "a" if the format string is "x", but it will correctly be "0a" if the format string is "x2".

Having said the above, lots of thanks for your example: it saved me hours of my time.

Carlos Barichello
CBarichello@Epicor.com


# August 10, 2004 6:41 PM

Jeff Atwood said:

Competition is good; there's just a lot more of it now.

http://www.codinghorror.com/blog/archives/000046.html
# August 11, 2004 12:49 AM

Jeff Atwood said:

Right, the fragile base class problem, as pointed out ad nauseam above. You're trading one set of problems for another.

Here's the thing: pure OO "everything inherits" design is great for writing a language, but guess what? I'm not writing a language. A handful of people in the world are writing languages. The rest of us are writing shitty little business logic apps.

I've been through enough project cycles to see what a pure OO methodology does to these kinds of business apps: it makes them a lot more complicated than they need to be.
# August 11, 2004 12:56 AM

Robert W. McLaws said:

Well, in a "pure OO" world, late binding is bad too. But, it's one of the many things that makes .NET so powerful.

So what's the big deal?

Jeff: You're not thinking fourth dimentionally. What you don't realize is that you ARE writing a language... one that others will need to understamd at some point.

And I don't know about you, but I'm not in this business to write shitty anything. If you are, you might consider a different profession.
# August 11, 2004 3:08 AM

James Arendt said:

Can you explain how late binding is bad in a pure OO world? Or, you refering to the performance concerns with late binding?
# August 11, 2004 11:33 AM

kip said:

thanks for this. Heard lots about the probs with wmp10 uninstall/reinstall. Haven't had to do it yet myself but I'll file this away.

kip

ps. left clicking on your link runs the program. I had to right click and "save target as.." to actually download. fyi
# August 12, 2004 11:43 PM

TrackBack said:

# August 13, 2004 3:56 AM

TrackBack said:

# August 15, 2004 3:53 PM

mindabsence said:

Thanks a lot! I've been trying to figure out how to get MP10 to work after I installed SP2 yesterday.
# August 18, 2004 11:26 AM

Dhiraj Gupta said:

So why are Microsoft and Yahoo both launching out of the their main areas and going into Japan and Korea?

Are we talking test service before total world release? Or is it just me being a conspiracy theorist? :)
# August 20, 2004 6:56 AM

paulb said:

Obviously not everyboday at Microsoft agrees with on the return types/exceptions issue. In the WSE TokenManager model, an exception is thrown if the tokenmanager is unable to authenticate a user for the service.

My biggest problem with the MemberShipProvider is: it heavily depends on the membershipuser, which is a much too specialized class, I generally don't need :
Comment
CreationDate
Email
IsApproved
IsOnline
LastActivityDate
LastLoginDate
LastPasswordChangedDate
PasswordQuestion

And their related methods.

The other problem is the CreateUserMethod, this takes 7 parameters, of which one out parameter and returns a MemberShipUser... The only 2 parameters I will regularly use are the username and the password.

Basically I still believe the providermodel is great, but the membershipprovider-stuff needs some work.
# August 24, 2004 7:18 PM

paulb said:

Oops, forgot to add this, before the last sentence:

"And why doesn't it accept a membershipuser or derived class as inputparameter, now I have to do a cast and fill my custom properties afterwards."
# August 24, 2004 7:27 PM

David said:

No, it isn't. MS might have a copy of it on SP2 CDs, and maybe on slipstreamed CDs as well. But you won't get it by updating via Windows Update or downloading the network install.
# August 25, 2004 4:51 PM

Gregg Millar said:

How can i get rid of the XP service pack?
Very annoying and I just installed it this morning. Every time I do a preview in Flash MX it blocks the page from coming up and the Launchcast radio player which I paid for is blocked from connecting to my computer as well. Nice work Microsoft, WORST UPDATE EVER...
# August 25, 2004 5:09 PM

Stefán Jökull said:

It's not installed either when installing a clean Windows from a slipstreamed CD.

I actually wondered why it wasn't being done since it's already a part of the cd, and honestly, 20 more megs for such a huge package such as SP2 would hardly be noticeable (except maybe for those on dial-up). I guess they're not taking any chances with more lawsuits and problems with the EU :/
# August 25, 2004 5:16 PM

Mike Kolitz said:

Nope - it doesn't get installed. It's one of the options under "Perform Additional Tasks" on the autorun window.

I think it only gets installed by default on the Media Center edition of XP (not sure about Tablet).
# August 25, 2004 5:45 PM

Anon said:

Ever tried opening the port on your firewall for your Radio player, and changing the security settings so that you can properly preview activeX plugins locally?

I can only assume that if you never had the former problem before you didn't have a firewall in which case I'm guessing you've probably got a hacked PC by now anyway!

Remember if it's more difficult for you to do its even more difficult for a hacker, and you do want security right?.
# August 26, 2004 3:58 AM

TrackBack said:

# August 26, 2004 6:03 AM

Jeff Key said:

I buy CDs, so all of this is irrelevant to me; I just find your comments interesting.

- Lock in: There's lock-in on both sides. People aren't complaining about Apple because 1) they aren't Microsoft and 2) they're competing against Microsoft.
- Selection: I beg to differ.

Sea and Cake: iTunes: 72 songs, MSN: 0
Thermals: iTunes: 29 songs, MSN: 0
Tortoise: iTunes: 5 albums, MSN: nothing
Archer Prewitt: iTunes: 4 albums, MSN: nothing
Jesus Lizard: iTunes: 5 albums, MSN: nothing
McLusky: iTunes: 6 albums, MSN: nothing

Ah ha! Finally! MSN has Pedro the Lion. (Seriously, that was the order of stuff I just tried looking for.)

Additional notes:
- I can't listen to MSN samples in FireFox. How come nearly every site on the web works w/IE AND FireFox, yet some of Microsoft's public properties (see MSN Video, et al) don't?
- iTunes samples sound better
- Albums vs songs: I didn't see any non-album songs on iTunes.

Regardless, I'm glad MSFT is joining the fray -- anything to help break down the big corporate music machine.
# September 1, 2004 9:07 PM

Xander Sherry said:

Hmm...Just did a search on iTunes for Jeremy Camp, and got 31 results. It looks like, at least here, the selection is the same for both stores.
# September 1, 2004 11:29 PM

Mikhail Arkhipov (MSFT) said:

Still no uncompressed music.
# September 1, 2004 11:40 PM

TrackBack said:

Lazycoder weblog &raquo; beta MSN Music Store
# September 2, 2004 2:43 AM

Justin Rudd said:

Hm...

Searching on Metallica actually gets 235 results. But there are only 17 songs that I can buy individually. I have to buy the rest as albums.

Oh yeah...the songs that are available individually aren't even metallica. They are remakes by other people.

Not a very good selection of industrial or techno. Classical even seems to be left wanting.

The interface is OK. It would be better if it worked in Firefox. I wonder how long the beta will be?
# September 2, 2004 9:57 AM

Dan said:

> why the heck is no one complaining about THEIR anti-competitive behavior

They're not a monopoly. MS could start their own music store without worry.
# September 2, 2004 10:29 AM

Christopher Gervais said:

Here's what I don't get: why didn't Microsoft make the MSN Music Store a showcase for their client-side .NET solutions? MSN Music Store could have been a showcase app for Microsoft to show the value of rich-client/network-enabled .NET applications. The issue of having a fat client, ala iTunes, isn't lock-in -- it's providing a richer experience than the browser. It's a huge differentiator for Apple's positioning which is to be an end-to-end solution provider. This isn't the same marketing, branding and sales posture that Microsoft is taking with the MSN Music Store. Still, I can't quite figure out why Microsoft didn't use all of their great .NET technology to deliver a nice client app to really challenge the iTunes Music Store...maybe there's something we don't know!
# September 2, 2004 10:32 AM

Dave said:

Odd, all this talk of "lock-in" from you Robert - yet not ONE mention on the proprietary format of the music you can download from the MSN store.

You have some valid points in your obvious bias here. Apple samples are too short. Fat client certainly does have it's disadvantages.

Yet you also have some downright lies too. Availability and size of library for instance. And this glaring oversight on mentioning how you can only download music in a proprietary format...
# September 2, 2004 11:31 AM

Brian said:

[quote]Here's what I don't get: why didn't Microsoft make the MSN Music Store a showcase for their client-side .NET solutions? MSN Music Store could have been a showcase app for Microsoft to show the value of rich-client/network-enabled .NET applications. The issue of having a fat client, ala iTunes, isn't lock-in -- it's providing a richer experience than the browser. It's a huge differentiator for Apple's positioning which is to be an end-to-end solution provider. This isn't the same marketing, branding and sales posture that Microsoft is taking with the MSN Music Store. Still, I can't quite figure out why Microsoft didn't use all of their great .NET technology to deliver a nice client app to really challenge the iTunes Music Store...maybe there's something we don't know! [/quote]
How do you know they are not already using some .NET behind the site? I would bet they are using asp.net...
# September 2, 2004 11:35 AM

Christopher Gervais said:

<i>How do you know they are not already using some .NET behind the site? I would bet they are using asp.net...</i>

My comment wasn't about server-side technology -- I would sincerely hope that Microsoft would be using .NET technologies to build the MSN Music Site. If not, run screaming. If you read my comment I was referring to the client-side of the equation, not the server-side.
# September 2, 2004 11:55 AM

Dave said:

Hmm...If Apple is so snobby and Microsoft is so open, why isn't the MSN Music Store open to Mac users? (Check the minimum requirements...) Last time I checked, iTunes was available on Mac *and* PC. If the situation were reversed -- if iTunes were only available for Mac while MSN could be used on Mac or PC -- I suspect you would be slamming Apple for it.

As for the "huge selection", that's a matter of opinion. Certainly MSN does not have nearly as many tracks available in total as iTunes has. In general, I would prefer to have a broader selection of artists versus having every single track from a relatively small number of artists (and I suspect the majority of the music-listening public agrees with me). If I want an anthology, I'll buy it on CD. (This is all assuming your assertion of greater selection for individual artists is correct to begin with, though others seem to disagree.)
# September 2, 2004 1:01 PM

Christopher Gervais said:

Actually, the most important question is: where are the RSS feeds?! Since the iTunes Music Store provides RSS feeds, I actually interact with the contents of the iTMS via my RSS reader as much as via iTunes. Seems like Microsoft is really about lock-in after all :(
# September 2, 2004 1:35 PM

Andrew Simpson said:

The Microsoft music format may be proprietry, but the iTunes format is even worse. If you buy a song from iTunes, you're stuck with playing it on an iPod. If you want to buy a song from the internet and put it on your iPod, you have to get it from iTunes.

Over in the .wma camp, you can download songs from any music store, and play songs on every device. Well, except iTunes and the iPod. Every other digital music player out there supports both wma and mp3. That's what's meant by the Apple anti-competitive lock-in.
# September 2, 2004 1:50 PM

Christopher Gervais said:

Andrew, let's make sure we're being complete here. If you buy a song from iTunes, you can play it on an iPod, on a Mac, on a Windows machine and burn it to a CD. If you were so inclined, you could then rip the song off the CD and place it on a non-iPod digital music player. You cannot play MSN Music Songs on any device. Only those that support Microsoft DRM and in the future Janus. It's all about choice versus convienence. If the songs were just true WMA, you could play them in iTunes and on the iPod (both support WMA).
# September 2, 2004 1:54 PM

Tim Hitchings said:

>>
Now I just need to wait until tomorrow for the Windows Media Player 10 Final.
<<

http://www.microsoft.com/windows/windowsmedia/mp10/default.aspx
# September 2, 2004 3:16 PM

Ben said:

Which would you rather be locked into? A $1000 computer, or a $250 portable music player? I think I would rather have the choice of using a PC/ Mac + iPod, rather than only Windows + any WMA portable player. Obviously, it would be better if there were no DRM at all, and the songs worked on all players. If that were the case, I would rather listen to MPEG 4 AAC (vendor neutral) than WMA.
# September 6, 2004 3:27 AM

TrackBack said:

# September 9, 2004 3:42 AM

Robert Scoble said:

The answer is to host on your own server. You'll note where my blog is hosted. Group blogs will always suffer from these kinds of things. The downside of that is that you don't get as much traffic as quickly. But, it's more sustainable.
# September 9, 2004 5:13 PM

josh ledgard said:

I couldn't aggree more. If we had better catagorization on the site then people would only subscribe to the stuff that interests them. Hell, if we had good catagories then I wouldn't even offer the "Everything" feed. I think we would save a bunch that way from people only subscribing to things they care about. There are people internally that also have the same concerns. That said...

Hopefully this is a short term solution to a short term bandwidth cost issue and longer term we can be more stratigic about it.
# September 9, 2004 5:16 PM

Chris Haas said:

Looks awesome, I really like the navbar stuff. Too bad Safari doesn't seem to like it, that's a large portion of my browser base.
# September 9, 2004 5:25 PM

Dave Burke said:

I always enjoy how you speak your mind, Robert. I agree with you.
# September 9, 2004 5:58 PM

MartinJ said:

The problem is that blogs.mdsn.com just points to weblogs.asp.net. They're just doing a bit of trickery to make it look like it's coming from a different site. Do an NSLOOKUP on both names, they point to the same IP address.

Remember the blogs on gotdotnet? They were migrated to weblogs.asp.net.
# September 9, 2004 8:46 PM

Michael Teper said:

I second that, their stuff is first-rate.
# September 10, 2004 4:57 AM

Jan Peeters said:

Well as a designer I can only choose for iTMS, okay it's a disadvantage that you can only visit there store from within iTunes. But the functionality of the iTMS is done soooo much better. You have direct overview, with the MSN beta it dazzles before my eyes. Okay it's a beta so things can change, but iTMS is a reinvention of the userinterface in a webstoremanner where MSN is just a images above and text below design...
# September 10, 2004 10:56 AM

Bob Wyman said:

If you want to find all the posts from weblogs.asp.net, just come to PubSub.com and create a subscription for "SOURCE:weblogs.asp.net". If you want to limit to only those posts that talk about "Visual Basic" try a subscription like this: "SOURCE:weblogs.asp.net AND ("Visual Basic" or VB)". You don't need to read the abbreviated aggregate feed to get access to all this stuff -- PubSub.com reads all the feeds and can put them together for you.

Also, consider optimizing even more by using the PubSub Sidebar (IE Explorer Bar) that uses "Atom over XMPP PubSub" push technology to notify you of new postings the moment we discover them. See: http://pubsub.com/download . Also, check out: http://pubsub.com/developers if you want to build PubSub support into your own aggregator.

bob wyman
# September 10, 2004 2:19 PM

TrackBack said:

# September 12, 2004 3:31 AM

TrackBack said:

# September 12, 2004 3:32 AM

Jerry Dennany said:

So, make your team foundation server an AD DC. If you are small enough to not have an Active Directory, then you are small enough to run your DC and Team Foundation Server on the same system.
# September 13, 2004 11:14 PM

Frans Bouma said:

(First: the flickering annoying add at the left of this blog almost stopped me from reading any further, very annoying)

In one way I can see why: it solves the problem of credentials. Versioning systems have a problem that they need credentials for every user to be able to work with the sourcecode. You can only use already known users if you can hook into the domain the users are in.

I'm no windows domain expert, so I'm not sure if it's easy to check from a normal server if a user is in a domain and what his credentials are (I think htey want to manage it from AD, as it is targeted at LARGE companies, think 100's of developers). If it is, then it is weird that they require a DC.

Jerry: if you're small enough not to have an AD, you're too small for TS and you're better of with systems like Vault or subversion (free)
# September 14, 2004 4:04 AM

Robert McLaws said:

Had to put that jab in there, didn't you Frans? Couldn't just be civil. I think you'd find any excuse to take a potshot at me. Obviously my first concern was whether or not my Products rotator annoyed you.
# September 14, 2004 4:11 AM

Rob Caron said:

Please understand that some of the requirements and workarounds on http://blogs.msdn.com/askburton are particular to this CTP release and don't necessarily reflect what we plan to ship at RTM. I can't recall if requiring an AD domain is just a requirement for this CTP release or not, but I think it is. CTP releases are just a snapshot of the current state of the product. Some limitations exist due to code that hasn't been written yet. This particular release is more representative of the state of the product earlier this summer.
# September 14, 2004 4:20 AM

Robert McLaws said:

Oh ok. Cool. Thanks Rob.
# September 14, 2004 4:21 AM

Frans Bouma said:

"Had to put that jab in there, didn't you Frans? Couldn't just be civil. I think you'd find any excuse to take a potshot at me. Obviously my first concern was whether or not my Products rotator annoyed you."
Sorry mate, I just wanted to mention that it was annoying. I didn't know it was illustrating a product you sold. It was right at the left of the textbox flickering next to what I was typing, so it's distracting a lot.
# September 14, 2004 12:19 PM

Mike Schinkel said:

How about some working code examples? :)
# September 17, 2004 1:48 AM

objectbuilder said:

Sounds good. Will there be ppt files or supporting documents to review for those of us stuck at home or work, etc.?
(I have a 3rd grader and 5th grader that won't sit that long.)
# September 20, 2004 5:18 PM

TrackBack said:

# September 21, 2004 10:15 AM

TrackBack said:

# September 22, 2004 9:42 PM

Thomas said:

Robert, signed up under you, good luck!
# September 23, 2004 4:47 PM

Kevin Daly said:

You're absolutely right, and I've voted accordingly.
That's one of my pet peeves (it was a great disappointment to install the beta, go to check out the icon set, and find it was the same old same old: "Oh look, just like VB4. Still. How nice.")
# September 24, 2004 7:23 PM

Zazoo said:

Im a happy mac-user but I'm pretty sure that Itunes doesn't support WMA-files or do I just have to right-click something? Anyways PC-guys yur getting owned by the Maccers :P but I don't really mind...


ITUNES AND MAC RULE!
# September 27, 2004 4:15 PM

Ryan LaNeve said:

As someone who lives in central Florida, I'd like to thank Robert for caring enough to post this and a huge thank you to anyone who donates either their time or money to the Red Cross or any other disaster relief organization. We could definitely use the help down here!
# September 27, 2004 7:23 PM

denny said:

Yeah, BTW: it's wet, windy, raining, trees break, houses leak, it's a mess whe it happens.

but often we can go decades with no bad ones in a given area... so it's the problem of when it hits.

IMHO: any place you can live has some hazard you must be ready for, quakes in california, tonados in Oklahoma and other states, snow in some northern places, flash foods in the southwest.... each place has it's problems...
# September 27, 2004 9:18 PM

Steve Hiner said:

Flash floods are really only a problem if you live in a flood plain. I've lived in Arizona my whole life and it's lack of natural disasters is one of Arizona's endearing qualities.

Some people think our summer is a yearly natural disaster but it's really not that bad once you get used to it.

Having been stung 5 times in a row I'm pretty sure scorpions are a natural disaster. :-[
# September 28, 2004 6:39 PM

Robert McLaws said:

Yep, Arizona typcally has very few natural disasters. The last major one was the floods of '91. But I don't know that I'd consider getting "snowed in" a natural disaster.

All that is neither here nor there. Be sure to donate and help these folks out. Never know when the next time, it could be you.
# September 28, 2004 6:46 PM

Matt Berther said:

How about

DataBinder.Eval(Container.DataItem, "DateAdded", "dd MMM yyyy")

Same thing... without the cast.
# September 30, 2004 1:48 AM

Robert McLaws said:

Nope, doesn't work. I get "dd MMM yyyy" as my value. That's why I had to cast...
# September 30, 2004 2:02 AM

LeeB said:

Or you could use:

CType(Container.DataItem.DateAdded, DateTime).ToString("dd MMM yyyy")

I find it a bit more compact and easier to read.
# September 30, 2004 2:53 AM

Johnny Hall said:

Try

DataBinder.Eval(Container.DataItem, "DateAdded", "{0:dd MMM yyyy}")

or (depending on the type of Container.DataItem) (c# code)

((DataRowView) Container.DataItem)["DateAdded"].ToString("dd MMM yyyy")

to avoid the use of reflection in the .Eval.
# September 30, 2004 9:02 AM

David said:

Also have a look at http://blogs.msdn.com/jomo_fisher/archive/2004/10/01/236879.aspx, where the steps necessary to accomplish this for C# and .Net 1.1 from within VS2005 were outlined a couple of days ago.
# October 3, 2004 6:27 AM

Robert McLaws said:

Yeah David, that's where I started from. But his implementation was flawed in several ways, and it only had support for 1.1. As soon as I've finished building the installer, I'll blog about what was wrong, and how I significantly improved it.
# October 3, 2004 6:38 AM

Jasper22 said:

Thanks
# October 3, 2004 8:51 AM

David said:

Cool! Looking forward to it :)
# October 3, 2004 10:00 AM

matthew said:

sounds good, but I thought that there were so many things with vs2005, such as partial classes, new controls, etc., that there's no point in upgrading to vs2005 unless you use these things, which would mean that the app wouldn't work under old versions of .net anyway?
# October 3, 2004 6:52 PM

TrackBack said:

# October 3, 2004 7:43 PM

Robert McLaws said:

Again, the point is to make it easy for people who have to be able to support multiple versions of the .NET Framework individually.

If it helps other people out, great. I needed it for my own development, and I decided to make it available to others. If you go look at the post, you seel it demonstrates a lot more than just how to add compilation extras to VS projects.
# October 4, 2004 2:35 AM

TrackBack said:

# October 4, 2004 3:35 PM

Leon Langleyben said:

Great!
1.0/1.1 compatibility is a showstopper for a lot of organization, trying to adopt vs2005. Look at http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=448908bb-b9a9-4c47-b4ec-0071c29d5b08

Thanks again
# October 5, 2004 6:22 AM

Dirk said:

The tree is very nice. I'm using it in a current site right now.

Just watch for the EnableViewState="false" attribute = likes to mess with other components events (tends to make them not fire). Just a heads up since I only found this in one other place. Otherwise the components are great!
# October 5, 2004 4:35 PM

TrackBack said:

# October 6, 2004 10:59 AM

Joe said:

Surely:
EVERY ASP.NET developer should *consider whether they need to* add this information to their Global.asax file ASAP
# October 6, 2004 11:19 AM

M. Keith Warren said:

How about doing what MSFT says and adding URLscan rather than changing code.
# October 6, 2004 11:38 AM

Shannon J Hager said:

Keith, every developer can not use URLScan. Those that can should, those that can't need a code-based solution.
# October 6, 2004 12:33 PM

TrackBack said:

The hills are alive with the sound of music KB links echoed through blogosphere. As reported here here here here here here here here here here (and too many other places to mention), MS has released a bulletin regarding this vulnerability. If you want to correct the problem, you should add the code from KB article 887459 to your Global.asax (or Global.asax.cs or Global.asax.vb, as the case may be). I still recommend using more fine-grained security checks on each page like I mentioned earlier and that you run URLScan and IISLockdown (if you can). Or upgrade to IIS 6. Better yet, do all of the above.
# October 6, 2004 2:32 PM

TrackBack said:

TrackBack From:http://www.cnblogs.com/ccboy/archive/2004/10/09/50326.aspx
# October 9, 2004 11:40 AM

Jose Cruz said:

This works in Visual C# Express?
# October 9, 2004 7:32 PM

Robert McLaws said:

It should work with ALL versions of VS2005, including the Express SKUs.
# October 9, 2004 7:38 PM

Robert Scoble said:

I wrote the day up on Channel 9 as well. http://channel9.msdn.com/ShowPost.aspx?PostID=25600
# October 17, 2004 1:53 AM

Alenas said:

The problem is that your targets do not set external references (not a framework ones).
Also in release build it complains about /errorreport:none
# October 17, 2004 6:43 PM

Alenas said:

I made mistake - i was referencing 2.0 assembly that's why it was not included in references.
# October 17, 2004 7:09 PM

Alenas said:

f@(% - anyway it did not set reference even with 1.1 assembly.
# October 17, 2004 7:17 PM

Robert McLaws said:

Yes, I'm aware that it does not resolve non-Framework references, and that was very specifically discussed in the release notes. I'm working on a solution.
# October 18, 2004 2:55 AM

Frans Bouma said:

"Data Access Layers. DO NOT use the Provider Model to write data access logic. ADO.NET 2.0 has built-in capabilities for that. "
Oh? It has object creation facilities, which are great, but these don't do the native SQL actions for you, like SqlServer specific identity column handling vs. Oracle specific sequence column handling, paging on sqlserver vs. on firebird, vs. on db2 vs. on oracle etc.

The provider model in a DAL allows you also to produce per-database SQL tweaking.
# October 18, 2004 5:20 PM

Robert McLaws said:

A Provider Model implementation on a DAL would be a waste of time in most situations. MOST times, people really don't have to think about switching databases, and shouldn't spend their time architecting internal corporate applications as such. Especially in Fortune 500 companies, they are contractually bound to support a given database for a given period of time. That being said, of course there are exceptions to the rule.

And Frans, you can write your code in such a way to be able to handle those DbProvider-specific functions based on the current provider, after you've already instantiated the object, without having to build a ProviderModel-based Static API for data access... which involves MUCH more than has been discussed up to this point.
# October 18, 2004 7:13 PM

Robert McLaws said:

I'll have code posted to demonstrate ADO.NET Provider-agnostic DALs soon. I had a basic one set up for my AZDNUG presentation, and I wanted to give it a bit more robustness.
# October 18, 2004 7:14 PM

Cleve Littlefield said:

I have to disagree about the DAL not being a candidate for the provider model. We have the business case that our code is SQL based now, but 6 months down the line we might have to have our entities flow through a web service or even some sort of mixed mode where the entities are torn apart and half saved to a db and half go to a db. By doing a provider model we can support this easily.
# October 18, 2004 8:08 PM

Paul Wilson said:

Lots of companies that SALE software have to support multiple databases in order to compete. This is common in healthcare and financial industries, and I'm sure many others too.
# October 18, 2004 9:22 PM

Robert McLaws said:

Great. Read what I said. "There are some exceptions." And again, ADO.NET 2.0 has facilities that encompass 95% of the logic to do that stuff with, without having to build your own thread-safe, static API and configuration handlers for it. There are many cases where doing it with the new ADO.NET 2.0 would be much quicker and more effective.
# October 18, 2004 9:26 PM

TrackBack said:

# October 18, 2004 9:55 PM

Jeff Perrin said:

His attention's focused on bashing Redhat now. Fear not, however. He'll be back at Bill in a few months.
# October 18, 2004 10:31 PM

Robert McLaws said:

Aww, damn.
# October 18, 2004 10:33 PM

Ryan Whitaker said:

The Provider Model, like any hot "new" thing that comes along, will get overused. I was just posting my thoughts since I've already seen it unnecessarily used in places. Not so much a pre-emptive terror strike, although it'd be easy to cull that from my post.

Like in anything, be careful when you use such concrete declarations such as "just don't do it" when talking about component-swapping. There are times and places for almost everything, but only do those things where they're needed.
# October 18, 2004 11:37 PM

Frans Bouma said:

What will happen in the future is up for speculation, however that the provider model has benefits, especially in the DAL area is something you can't degrade with pointing to some feature in ADO.NET 2.0. The thing is: creating an IDbCommand object of a given ado.net provider flavor is one thing, what you are going to do with it is another. And the latter is the most important one, not the creation of some object with a factory.

Anyone who has done development for multiple databases knows that a data-generic dal is only possible if you can abstract away the SQL you have to execute and all the mumbo jumbo around it. Good example: a resultset returning stored procedure with parameters. On oracle this works with cursors. You have to bind a dataset to the parameter(s) representing the cursor(s). This is totally different from the sqlserver approach and requires different code. I.o.w.: you can jump up and down all you want that you can create IDbCommand and IDataAdapter implementing instances using a mechanism, the code USING these instances is hard to get database generic.

"And again, ADO.NET 2.0 has facilities that encompass 95% of the logic to do that stuff with, without having to build your own thread-safe, static API and configuration handlers for it."
To do what, Robert? :) Sure, and no-one will deny that, the ado.net 2.0 model will solve some problems with the various factories for the provider specific objects like OracleCommand. However that's just a small thing compared to what has to happen next. The example I gave with the oracle stored procedure is one which shows that Data-Access is not something that can be abstracted away with some object factory. You NEED database specific providers which will do these things for you so the code can work with multiple databases. And if you think accessing multiple databases is something only 4 people on the whole planet will want/do, you are mistaken :)
# October 19, 2004 4:17 AM

Robert McLaws said:

Frans,

I'd say you haven't spent much time working with ADO.NET 2.0 yet. I say that because, if you HAD, you would know that you don't work with Interfaces anymore. ADO.NET 2.0 uses an abstract base class approach. And there is nothing say you can't test for the resulting object that is created, and work with it from there.

But then Frans, my question is this: have you even worked with the Provider Model yet? I mean, have you built your own Provider managers? Have you built your own .NET 2.0-based static, thread-safe Provider APIs? Do you have a product out now that does? From what I know at this point, that answer is "no". But then again, I've been wrong before. More often than I'd like.

All I have to say is this... if you HAVEN'T yet, why don't you wait until I post the code before commenting further? You never know, I MIGHT, God forbid, know a little bit about what I'm talking about.
# October 19, 2004 4:32 AM

Jomo Fisher said:

Hi Robert, I got your question about project targets but didn't understand precisely what you were asking for. Could you drop me a mail at MSBuild@Microsoft.com?
# October 19, 2004 5:02 PM

Scott Galloway said:

True, except historically Yukon / Whidbey delays have been linked (e.g., http://www.internetnews.com/dev-news/article.php/3324241)
In addition, check out the Roadmap http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx
explicitly one of the core features is SQL Server 2005 integration (MS have a tendency to try to link product shimpments - .NET 1.0 was VS.NET, .NET 1.1 VS.NET 2003; though really just a service pack).
Orcas, V.Next of VS.NET is scheduled for Longhorn. I think presuming the link will be uphled is not idle speculation at all...
# October 20, 2004 7:15 AM

Frans Bouma said:

I second Scott, the releases are linked by Microsoft. This is also logical as you forgot to draw an arrow in your diagram ;) for the designer tools in VS.NET which target sqlserver 2005 (i.e.: the core developmenttools for sqlserver 2005 are in vs.net 2005). Which means: if sqlserver 2005 is released later than vs.net 2005, the designers will be in the developer's hands but they can't use it.
# October 20, 2004 7:37 AM

Robert McLaws said:

Frans, the article never said anything about a VS2005 delay. That's fact. Second, Scott, from what I understand, Orcas will not ship until several months after Longhorn. This is purely by the fact that Orcas has an 18 month timeframe, and Longhorn will ship one year after Whidbey. Do the math.

Finally, I dunno why you used .NET & VS as a "product ship link". Duh. You're not going to release a new runtime without something to compile applications to. That link doesn't apply here. You can build applications on VS2005 that don't require SQL Server 2005. The VS Data Tools are a separate team, though in the same division, as SQL Server. It is highly probable that the tools will be available before the server is. And Frans, I doubt people are really going to have a problem with having the designers in their hands first. Personally, I'd rather have the tools and not the server than the server and not the tools.

VS2005 will more than likely ship 3-8 weeks before SQL Server. It may be "officially released" at the same time, but I would be willing to bet money that it's available for download off MSDN before the official launch date.
# October 20, 2004 7:47 AM

Scott Galloway said:

Robert, well Soma Somasegar seemed to link the products (http://www.eweek.com/article2/0,1759,1647310,00.asp) , fair enough with all the changes to Longhorn the link seems to have been broken (since Longhorn is moved up, Orcas is split from that product). I think the best we can hope for right now is VS.NET 2005 in the Q2-Q3 timeframe (which is suspiciously close to the Q3 Sql Server 2005 release and conveniently close to the PDC date (if any)). It would be odd to release VS.NET 2005 with full support for a beta of SQl Server 2005 then require an upgrade a couple of months later to support the release version - especially as the releases are theoretically so close anyway!
# October 20, 2004 8:22 AM

Frans Bouma said:

"It would be odd to release VS.NET 2005 with full support for a beta of SQl Server 2005 then require an upgrade a couple of months later to support the release version - especially as the releases are theoretically so close anyway!"
Exactly: the CLR versions of the database has to match the one of .NET 2.0, otherwise the same misery will happen as sqlserver 2005 betatesters ran into when they wanted to install whidbey CTP and sqlserver 2005 on the same box.

But we'll see. With all the marketing material already released about the two being tied together due to strong integration, I don't think it needs further discussion they are seen as 1 item: the two are released together, be it one available a few weeks earlier than the other on MSDN, that's minor. I very much doubt we'll see VS.NET 2005 in May and SqlServer 2005 in September.
# October 20, 2004 8:41 AM

TrackBack said:

# October 20, 2004 10:49 AM

TrackBack said:

VS2005 Delay Rumour FUD
# October 20, 2004 11:46 AM

Paul Wilson said:

I agree Frans -- there are even optimized features in ASP.NET v2.0 (2005) that require SQL 2005. Would MS release something that can't be used optimally because of a missing dependency? I doubt it -- although I personally hope you are right Robert.
# October 20, 2004 9:30 PM

TrackBack said:

If you want to add assemblies to the 'Add Reference' dialog in Visual Studio .NET, and your assemblies don't already have homes, use Andrew Troelsen's method. If your assemblies already have homes, though, use this method to add them wherever...
# October 20, 2004 11:03 PM

TrackBack said:

# October 21, 2004 4:49 PM

Todd Moon said:

I want my five minutes back. Those were the stupidest questions I've ever seen, and I've seen a lot of stupid quizes.
# October 21, 2004 5:20 PM

josemannersTAKETHISOFF@hotmail.com (Jose Manners) said:

I thought you might want to know that the MSDN Events link points to a Jeff Julian presentation.

Regards,

Jose Manners
# November 1, 2004 4:43 PM

Robert McLaws said:

Yeah... that's because I was added to the session late. We co-presented.
# November 1, 2004 4:46 PM

Walt Ritscher - Thinking about code said:

Robert.

Count me in for a geek dinner.

Three of my abstacts were accepted so I will be there at the same time as you.

Walt Ritscher sessions at VSLive http://waltritscher.com/blog/ramblings/archive/2004/11/03/222.aspx
# November 3, 2004 5:47 PM

Jim Arnold said:

Write the XML to a string first (via StringWriter, for example), and cache that. Then just stream the string back out to Response.Output.

Jim
# November 4, 2004 8:48 AM

Oleg Tkachenko said:

Or better write to a byte array (via MemoryStream) instead of string to avoid encoding issues.
# November 4, 2004 8:52 AM

BrandonFurtwangler said:

here's the general idea that i would use

if(cacheExpired)
{
//generate xml that outputs to the cache file
//not to the response
}

// stream the text from the cache file to
// the response
# November 4, 2004 9:05 AM

Ron Buckton said:

You could use output caching via Response.Cache(HttpCachePolicy) and send an ETag. That will minimize the number of actual hits to the handler
# November 4, 2004 9:46 AM

Fabrice said:

What you can do is use an ASMX instead of an HttpHandler, and set a value to the CacheDuration parameter of the WebMethod attribute.

This is what I do for RSS for example:
The URL is .../Tools.asmx/GetLatestAdditions_Rss
The method in the ASMX:
[WebMethod(CacheDuration=120)]
XmlDocument GetLatestAdditions_Rss()
{
...
}
# November 4, 2004 9:48 AM

Fabrice said:

# November 4, 2004 9:56 AM

Hector Correa said:

I am not sure what are you planning to use to store the cached documents (e.g. a HashTable.) Whatever you use, make sure you watch out for concurrency issues. For example, two requests can request the same document at the same time, and, if the document has never been cached, they *both* will try to cache it.
# November 4, 2004 10:33 AM

scottgu@microsoft.com said:

The simplest approach is to just use the Response.Cache property to control the caching policy of the output. You can do this right before the above code.

This will give you all the semantics (and more) of the <%@ OutputCache %> directive in a .aspx page. The beauty of it, though, is that you can set everything programmatically -- so you have even more control with this approach.

Hope this helps,

Scott
# November 4, 2004 10:43 AM

Robert McLaws said:

What if the resource isn't going to be pulled from a browser though? For example, what if you use a WebMethod to get the data?
# November 4, 2004 5:54 PM

Matt Hawley said:

I think its a good idea, but expand on the idea some having a signup / qualification process to be able to submit bad IPs.
# November 5, 2004 10:06 AM

Robert McLaws said:

Yeah, that's a part of the plan. I figure, I already have 400 rows in the DB and I've only been collecting them for 3 days, for the time being my collection will be a big enough chunk to build from.

Any other ideas guys?
# November 5, 2004 10:12 AM

David said:

Any plan to deal with dynamically assigend IP addresses? There are millions of internet users out there that get a different IP address everytime they go online, it seems that the proposal will not work at all for them, but might even prevent legitimate people from posting comments. Obviously if someone is posting comment spam from a dynamically assigned IP address, this system will also not stop him.

One might be able to inform the providers whose users post spam, but this seems a huge task in terms of different legal systems in the world etc.

The key problem seems to be to authenticate users before they can post a comment. Doing that by IP address doesn't seem to tackle the issue for these scenarios. I guess the real solution to this problem will come with something like Passport or Liberty, when there is a universally accepted method on the net to authenticate users.

Still, great to tackle the issue!! There is certainly a need to somehow deal with this.
# November 5, 2004 10:19 AM

Robert McLaws said:

Yeah. Actually, we're going to validate against more than just the IP address. I'm storeing the entire content from the span, so I have URLs and what not in the system too. Eventually, I want to do some spam content pattern matching, and create an algorithm that calculates the probability based on the number of hyperlinks, number of times the IP is found in the DB, etc.

In regards to legal rammifications, we're tracking dates and times, so it is entirely possible to go to the ISPs of the worst spammers and get them shut down.

Also, not all comment spammers are using a bot, so authentication is only a part of the solution. I do recommend an option on the site for verification in .Text (http://www.commentspam.org/resources).

Keep the ideas comming.
# November 5, 2004 10:25 AM

Jeff Atwood said:

I suggest using a CAPTCHA control to ensure human-entered comments. I have a pretty nice one that I implemented as a full-bore ASP.NET server control-- just drag it on the form and set a few properties:

http://www.codinghorror.com/blog/archives/000095.html

Check it out; it's really quite good, IMO of course ;)
# November 5, 2004 11:45 AM

TrackBack said:

# November 5, 2004 12:19 PM

Anon said:

Hey, how about everyone quit talking about this provider model as if it's a new fancy thing. It's a damn factory pattern, nothing new, nothing fancy, nothing complex... it's called a "factory" not a provider. Fucking Microsoft has to rename everything and act as if they invented it. Have you guys not even read the Gang of Four book, do you really think this is new stuff? Learn to use the terms the rest of the industry uses and call it a damn factory.
# November 5, 2004 12:46 PM

Robert McLaws said:

Someone posted comments about the PM being just thye factory pattern, and I wanted to respond. You won't see the post thought because the guy thought it was ok to whip out the obscenities.

It's NOT the factory pattern. Had you watched my webcast on the Provider Model last week, you would have found out that it is actually the combination of four different design patterns to create a new design pattern.

If you want to talk about it not being new, your better bet would have been to say that Javas's had it forever in the "class loader".

Next time, don't swear in my blog.
# November 5, 2004 7:19 PM

Robert McLaws said:

CAPTCHA is great if you want to prevent bots from spamming your comments. It still does not solve the problem of individuals manually spamming your site. That's why on CommentSpam.org I recommend a dual approach that uses both methods effectively.
# November 5, 2004 7:28 PM

Scott Allen said:

Hey Robert: I'll be doing a presentation in San Fran too. I'm interested in any geeky dinner happenings in the area.
# November 6, 2004 9:50 PM

Jeff Atwood said:

I seriously doubt comment spamming is done by individuals in any significant number. Do you have any data to support this?

Plus, a simple 10-15 second comment throttle per IP will pretty much kill any individual's ability to comment spam. At least not efficiently.

Dunno, I see this as a 99.8% bot problem. How we handle that 0.2% is basically gravy to me.
# November 7, 2004 7:16 PM

AT said:

LOL. Why you do not use DNSRBLS for IPs ??

Comment spammers can use same open proxies and troyaned PCs as for regular email spam.

This will be very huge list of IPs in your format. As well open-proxy search will duplicate others block-lists efforts.

Take a look for example on one recent IP http://openrbl.org/ip/219/234/194/189.htm

As for your "future" plans - here is they already implemented - Spam links checkers: http://spamlinks.openrbl.org/filter.htm

Comments spam is no way different from regular email spam. You can use the same technology to prevent it.
# November 8, 2004 4:53 AM

AT said:

P.S> This is trivial to add Microsoft passport to Microsoft blogging websites.
This way you can autorize a few regular visitor of weblogs.asp.net / blogs.msdn.com to kill manualy entered comments.

I do not understand why http://channel9.msdn.com does not allow to use Passport for logon. This can be an optional feature - login with username/password or via Microsoft Passport linked to your account.
# November 8, 2004 5:01 AM

Wallym said:

I don't use many thirdparty componets. Whats the problem?
# November 8, 2004 11:11 AM

Robert McLaws said:

There is no problem. ComponentArt is awesome. I don't think they ever sleep.
# November 8, 2004 11:15 AM

DamienG said:

You have to remember that the recycle bin was a new feature in Windows 95 and that it's implementation was tied specifically to the explorer shell. Applications and the command-line does not make use of this API...

As for getting rid of FPSE with ASP.NET 2.0.... Don't hold your breath.

[)
# November 8, 2004 12:07 PM

Robert McLaws said:

They already did. Visual Studio 2005 can interface with IIS without FPSE.
# November 8, 2004 12:09 PM

Wallym said:

ok, didn't understand the post. do now. :-)
# November 8, 2004 12:13 PM

Ryan Whitaker said:

I will trade you everything I have in my pocket. Yes, it's a little like "Let's Make a Deal", but think of what could be behind Pocket #1. It could be a handful of weapons-grade plutonium, which you could supposedly make a killing on in the black market.

Or, on the down side, it could be a donkey.

It's up to you. Deal?
# November 8, 2004 1:25 PM

Robert McLaws said:

When I said "I'd be interested in entertaining offers", I really didn't mean offers that were "ha ha" funny. Good one though ;).
# November 8, 2004 1:35 PM

TrackBack said:

# November 8, 2004 6:17 PM

matthew said:

your post is a little unclear. to my reading it looks like you were implying that they were bad. I guessed that you were implying that they had stolen your code (again), or something..... seems wallym felt the same way, so I'm not the only one that didn't understand.
# November 9, 2004 11:35 AM

Jim Bolla said:

Great idea. I'll join. I'll friend request tonight hopefully. My gamertag is "crowdozer"
# November 10, 2004 2:33 PM

Mischa Kroon said:

You might want to try a trade website.
I know there are a few of these in the Netherlands I can imagine that America should have a couple of these.
# November 11, 2004 8:15 AM

Mike Kolitz said:

Count me in, dude.
# November 11, 2004 10:34 AM

Robert McLaws said:

Yeah I would rather do it with someone I know.
# November 11, 2004 12:39 PM

Joel "Jaykul" Bennett said:

We desperately need support for non-framework referenced assemblies.... So anyway, I hacked at it until _MY_CODE_ worked, and then stopped ;) the following does NOT copy-local the references which were specified that way, although I suppose that would be easy to add. I just stick this above your <!-- Rebase each FX assemblies to their 1.1 version --> comment:


<!-- Try to include non-Framework assemblies (NOTE: NO CopyLocal support ) -->
<CreateItem
Include="@(ReferencePath)"
Condition="'$(TargetFrameworkDirectory)\%(FileName)'!='%(RootDir)%(Directory)%(FileName)'">
<Output TaskParameter="Include" ItemName="FrameworkReferencePath" />
</CreateItem>
# November 11, 2004 12:44 PM

Joel "Jaykul" Bennett said:

Sorry, but ... I just realized I made a mistake in what I pasted, the OUTPUT should go straight to AssemblyReferencePaths11:


<!-- Try to include non-Framework assemblies (NOTE: NO CopyLocal support ) -->
<CreateItem
Include="@(ReferencePath)"
Condition="'$(TargetFrameworkDirectory)\%(FileName)'!='%(RootDir)%(Directory)%(FileName)'">
<Output TaskParameter="Include" ItemName="AssemblyReferencePaths11" />
</CreateItem>
# November 11, 2004 1:12 PM

Scott Galloway said:

FYI - http://www.computerworld.com/softwaretopics/software/story/0,10801,96898,00.html

Microsoft's Visual Studio 2005 development tools will ship with SQL Server, so they're also now due in the summer, confirmed Prashant Sridharan, a lead product manager.
# November 12, 2004 8:09 AM

TrackBack said:

# November 15, 2004 4:32 PM

TrackBack said:

# November 15, 2004 6:04 PM

Josh Baltzell said:

Man I have been rambling about this in blog comments all over the place for the last 20 mins. Please invite me, my gamertag is jobalt. I'm going to bed now, so feel free to send me a friend request if you log in before I do.
# November 16, 2004 12:04 AM

Scott C Reynolds said:

Rob, I'm the LoganV that friended you last night.

We need to get the .Net bloggers on for a bigass battle one night.
# November 16, 2004 10:17 AM

Brian Scott said:

Cool Rob... Sent a request, tag is 'Haurus'
# November 20, 2004 1:12 AM

Scott C Reynolds said:

HA! Awesome. Let's do this!
# November 21, 2004 11:59 AM

Thushan Fernando said:

Heh heh go show em why .NET rocks dude!
# November 21, 2004 10:06 PM

Corky20 said:

i ahve been waiting for this moment for ages. i only got xbox live last saturday so i am still getting use to it but halo 2 just kicks ass
# November 22, 2004 6:36 AM

richard vennard said:

i also have fifa 2005 online so if any one wants to challenge me come on and try.
P.S halo 2 is the best game for the XBOX and will be forever as halo the first one is still up thier in the charts with every other game.
# November 22, 2004 6:38 AM

Ducci said:

Alright, You .NET guys (along with evil M$)have been kicking our butts in programming anyway.

Time to kick yours in Halo.
- J2EE Trooper
# November 22, 2004 9:46 AM

BraveStJimmy said:

count me in yr clan
# November 22, 2004 3:33 PM

bliz said:

add jimmyfargo to the .net clan. : )
# November 22, 2004 10:52 PM

Cameron said:

Don't you play any real games? ;-)
# November 27, 2004 1:26 PM

Rr said:

If it was UnrealTournament [ http://www.unrealtournament.com/ut2004/screenshots.php ] running on Linux or PlayStation, I might be interested. But on MS terms... I'd have to say no.

# November 27, 2004 3:38 PM

Barre said:

C'mon, playing 1st person shooters on a game console? Let's just wait till it arrives at the pc, Halo is ported to Linux and then let's talk.
Once that happens (or pigs fly, what ever comes first) I'm game. ;-)

Till then, let's shift the battleground to something else. (doom3? UT2k4? rtcw-et?)

But I like the idea, lot better then the standard bs being thrown around (by both sides).
# November 29, 2004 5:20 AM

Mike said:

J2EE Trooper Do you have Java Clan created already? If so count me in!
# November 29, 2004 12:39 PM

Majorpayne07 said:

ill join
# November 29, 2004 1:24 PM

TrackBack said:

# November 29, 2004 4:19 PM

TrackBack said:

I ran across this discussion on
# November 29, 2004 4:24 PM

Troy said:

How about 2 PDA's, one still new in the box. 1 is a dell Axim, slightly used, the other is the one MS was giving away when you ordered VS.Net w/ universal (VS.Net was opened right away :), but the PDA has remained in a cardboard box on my desk).
# November 29, 2004 8:40 PM

M.C. said:

I am all for a pure game like Q3... I cannot be beaten, just ask Thresh :)
# November 29, 2004 9:06 PM

M.C. said:

I am all for a pure game like Q3... I cannot be beaten, just ask Thresh :)
# November 29, 2004 9:07 PM

hi said:

LOl
# December 2, 2004 2:50 AM

TrackBack said:

[Tips] IExpress.exe と makecab.exe
# December 14, 2004 3:56 AM

网上购物 said:

don't cry!!

Be a man!
# December 31, 2004 9:12 PM

David Cumps said:

I just checked the bannedaddresses cvf file and was wondering why there are some weird things in it?

for example:
<ipAddress>100.109.204.28, 127.0.0.1</ipAddress> (localhost? :p)

there are also a lot of entries with multiple ip addresses inside one ipAddress tag

Would be nice if .Text would use your commentspam database :)
# January 1, 2005 7:12 AM

Robert McLaws said:

David,

I haven't cleaned up those entries yet. Sometimes .Text detects 2 IP addresses when you add comments to teh DB, so it dumps them both in the field. I then have to go through manually and duplicate the entries for the ones that do not show a LAN address as the secondary address.

I would agree, it would be REALLY nice if there were a .Text add-in that used it.
# January 1, 2005 4:52 PM

Jim Arnold said:

That constitutes the Open Source community? A web developer and some guy called Pete? Your leaps of association (and apparent ignorance of irony) are entertaining, but I'm sure you can do better.

I agree that their arguments are also crap, though.

Jim
# January 8, 2005 6:14 PM

TrackBack said:

Robert McLaws FunWithCoding.NET has nice commentary on the Firefox exploit. The lesson for me, of course, is that vulnerabilities are vulnerabilities and they exist or don't exist and the type of software (Open Source or "closed-source") is largely irrelevant. Yes, Windows applications requiring Admin access to run is wrong. Yes, IE and Windows itself has been traditionally a very vulnerable platform. Yes, yes, yes. However, I am definitely amused by the ignorance of the Open Source supporters quoted in that commentary. I&rsquo;m a Firefox user but I realize that it&rsquo;s just software and it&rsquo;s made by humans and it&rsquo;s still...
# January 8, 2005 9:02 PM

Javier Luna said:

Nice post...!!!
# January 8, 2005 11:30 PM

Matt said:

I am a tree hugging hippy (and you're a selfish right wing nut job), but we can agree on open source . There's plenty of better arguments against open source and including political arguments just alienates potential allies. I wouldn't have thought politics enters into the minds of many people when deciding which OS or browser to use.
# January 9, 2005 2:07 AM

kip said:

I sure have been seeing a lot of newbies and know-littles switch to FF in a mistaken belief that "IE is unsafe and FF is safe". If anything, many of the ones that have switched are less able to discern a phishing scam than those who (like me) are sticking with IE. Safe practices are by far more important than choice of browser, something overlooked by the proponents of FF.
# January 9, 2005 6:12 PM

Chad said:

I hate to play the role of the antagonist, but he has a [very poorly articulated] point.

One can easily derive a basic profile of a person given their choice of tools, and this goes for any discipline, not just software. Quality developers will likely use the same tools, read the same books, know the same people, etc. What would you think of someone claiming years of experience with .NET and yet hadn't heard of NUnit or something? It would be very telling, and such ignorance would lead me to consider their experience apocryphal, at best. Granted, that's a rather superficial conclusion, but I think you get my meaning.

So, that being said, I am much more likely to conclude that a FireFox user is more knowledgeable than your average IE user. Why? It's telling of their motivation to learn more about the tools they use, and independent of any OSS vs. MS argument it gives me *some* indication that they have sought understanding beyond that which comes installed on their box from Dell.

The argument breaks down rather quickly of course, but his foundation wasn't entirely fallacious; rather, it was a basic idea that was embellished by their obvious affinity for anything non-MS.
# January 10, 2005 2:15 PM

Bruce said:

I had the very same observation and mentioned it to several folks, but you're the first person I've seen to comment on it. It's almost as if they had the same folks that did the special effects for LOTR do the stage setup. Conan ended up looking larger than life, like a wizard, and Bill look smaller than life, like a hobbit. In addition to the chairs, there was Conan's little desk and I think there was even a platform. Very strange.
# January 10, 2005 5:26 PM

Jeff Atwood said:

I've decided to split the difference and hate all software equally. Open source? Commercial? IT'S ALL CRAP.
# January 12, 2005 2:19 AM

Duncan said:

Get yourself a USBKey (like Disgo) and back up to it before each time you log off - that way you _NEVER_ risk losing a week's work again.
# January 12, 2005 7:57 AM

Robert McLaws said:

Thanks for the idea, but I don't think they make a 40GB USB Key yet. I think the hard drive is salvageable, I just need to put the IDE adapter on it and put it in my desktop.
# January 12, 2005 11:16 AM

Dean Harding said:

I love my 8600 - All monitors should be widescreen :-)
# January 12, 2005 5:53 PM

Jason Bock said:

I tried the links on the commentspam site you mentioned (http://www.commentspam.org/services/bannedaddresses.cvf and http://www.commentspam.org/services/127.0.0.1.ipaddress) - neither one of them worked :(

Am I missing something?
# January 19, 2005 3:35 PM

Jeff Perrin said:

You're correct of course, but in my mind this approach was definitely needed because it will hopefully eliminate the entire *reason* to spam blogs in the first place. Treating the source of the disease instead of the symptom, as it were.
# January 19, 2005 3:36 PM

Colin said:

"You're correct of course, but in my mind this approach was definitely needed because it will hopefully eliminate the entire *reason* to spam blogs in the first place. Treating the source of the disease instead of the symptom, as it were."

Yes indeed. It strikes me that Mr. McLaws is completely missing the bigger picture.
# January 19, 2005 3:39 PM

John Sample said:

Comment spam is an attack on the way google calculates its results. I could care less whether a spammer gets high search listings on google, I just don't want the spam on my site. How long would it take googlemsnyahoo to just delist the known spammers? They already block sites for less. The rel="nofollow" approach is poor at best. 99% of comments to blogs are relevent. I don't mean relevent as in good, just non malicious, and should probably be taken into account with pagerankings.

Heres what they are saying:
"Our ranking system is easy to take advantage of. Because of us, your blog is being inundated with junk. We don't want to fix our pagerankings, but as we would like to continue making money, please make it easy for us to continue doing business as usual."
# January 19, 2005 4:00 PM

Robert McLaws said:

Also, it doesn't solve the problem of comment spam that is already posted on the site. And it won't stop the spam on blog engines that do not have the new system in place. SO right now it does zilch.
# January 19, 2005 4:16 PM

Robert McLaws said:

Jeff, that's a really nice idea, but Google is full of themselves if they think that search engine rankings are the only reason Comment Spam exists. It also exists to trick people into clicking on links to go to the site.

I see the much bigger picture, thank you very much. Comment spam doesn't just jam up search engines. It ruins communities and wastes people's time cleaning it up. The way to stop comment spam is to add content-based validation and bot prevention, not just making it index-proof.

BTW, the services at CommentSpam.org are working now. Sorry, I restored a site backup and forgot to enable the script maps in IIS.
# January 19, 2005 4:29 PM

timh said:

let's be accurate...google is not claiming it will *block* comment spam they state:
"those links won't get any credit when we rank websites in our search results"

it's basically a deterrant for those who do.
# January 19, 2005 4:42 PM

Robert McLaws said:

I hate to be argumentative, but the title of the GoogleBlog post says "Preventing comment spam". Google is the one inaccurately representing the feature. I'm just pointing it out.
# January 19, 2005 4:53 PM

TrackBack said:

Ryan Naraine
# January 19, 2005 4:56 PM

TrackBack said:

# January 19, 2005 6:01 PM

Jeff Perrin said:

It's just one piece of the puzzle, and it won't solve the spam problem on it's own, that's for sure. But combined with a CAPTCHA, comment moderation and other methods, hopefully the problem can be alleviated somewhat. I'm not sure that anyone actually believes there is any one particular method that can solve the problem outright.
# January 19, 2005 7:45 PM

Robert Scoble said:

Right, it is just one piece of the puzzle. Plus we needed a way to link without sending Google Juice for a long time.
# January 20, 2005 2:58 AM

Robert McLaws said:

So Robert... why did Google and everyone else make it sound like it was the end-all-be-all solution?
# January 20, 2005 3:16 AM

Chad West said:

Robert,

Since Google has titled the press release with, "Preventing comment spam", tells us that they believe it will. The fact is spammers will continue to post junk regardless. What this will do is make it much easier for search engines to index relevant content. Which I feel is a good thing.
# January 20, 2005 3:28 PM

Robert McLaws said:

Chad, I agree.
# January 20, 2005 3:30 PM

TrackBack said:

# January 20, 2005 7:07 PM

TrackBack said:

# January 21, 2005 4:06 PM

Tom said:

Plus, it seems spammers are using humans to solve CAPTCHAs for them:
http://www.boingboing.net/2004/01/27/solving_and_creating.html

This could be bad...
# January 24, 2005 2:29 PM

TrackBack said:

# January 24, 2005 3:32 PM

Panos Theofanopoulos said:

While the final release to ship in late summer 2005.

That means the final release will be shipped before RC1, continuing the VS tradition where the latest releases are actually older :-)
# January 25, 2005 11:56 AM

Alex Blood said:

They could just use the closed captioning in the video stream...
# February 4, 2005 3:46 PM

Steve Maine said:

# February 8, 2005 3:49 PM

Steve Maine said:

No installer though :(
# February 8, 2005 3:50 PM

Frans Bouma said:

in address bar, type:
about:config

browse down to:
network.enableIDN
set value to false.
close browser, restart browser, fixed.

# February 8, 2005 5:09 PM

Christian Romney said:

Try fixing IE that way.
# February 8, 2005 5:35 PM

Chrissy said:

Hey Robert,
I just saw most of your presentation on advanced .net controls. You did a really nice job :) Sorry I didn't get to call earlier, I got caught up in a session.

Maybe we can grab coffee later..
# February 8, 2005 9:33 PM

Tyler Brown said:

IE isn't vulnerable to this as they don't support the IDN feature. Firefox will be shipping version 1.0.1 with the IDN feature disabled by default.
# February 16, 2005 3:14 PM

TrackBack said:

# February 19, 2005 2:58 AM

TrackBack said:

# February 19, 2005 6:57 AM

TrackBack said:

# February 19, 2005 8:36 AM

Alexandru Minza said:

It would be great if it would be possible to import all the picture galleries from .Text into CS too :)
# February 20, 2005 8:52 AM

Tim Marman said:

How long, roughly, do you think it will take? Just wondering if I should wait for the wizard or try Jayson's underlying engine.
# February 21, 2005 9:01 PM

ALO said:

+1 vote to migrating between different source and destinations database servers.
# February 25, 2005 3:05 PM

Keith Barrows said:

Hmmm. This will work out for one set of blogs. However, the second set is a server-to-server install as well. Anyway to tweak it so the out puts are INSERT/UPDATE scripts that we can then run on the target server? Thanks!
# February 25, 2005 4:20 PM

Robert McLaws said:

Keith,

I have no idea what you're talking about. Can you elaborate for me please? Thanks.
# February 25, 2005 4:52 PM

Derick Bailey said:

Any chance that we can get the source code to this tool, Robert? Or add in support directly, for running the process from a different machine? I need to be able to run the process from my home computer, and have it upgrade the database that is being hosted by WebHost4Life, for me. I'd also like to see the code account for me already having the same username in my new blog, and having existing posts in my new blog. Perhaps the tool could allow me to specify what username to transfer from / to? i.e. move from user "myname" to user "old-myname" or something like that?
# February 25, 2005 5:04 PM

Adam Weigert said:

I tried running it on a Windows 2003, MSSQL 2000 install of .Text 0.95... there were plenty of Object reference not set to an instance of an object and it just continued on happily until it went to execute a non-existant DTS package at that point it hangs.

The only thing I can think is that I do not have SQL and Windows authentication turned on, just Windows authentication. I see the database, the users, I think I have all the scripts setup correctly.

I'm at work now, going home, if you want, email me and I'll send you the log file.

Other than that, it looks great! It was very easy to walk through, if only I could get the last step to work. :)
# February 25, 2005 5:21 PM

jayson knight said:

Adam

In my tests I saw this as well, make sure for the blog url textbox that you use a fully qualified web address (i.e. http://yoursite.com/cs/blogs). I was leaving off the http:// portion and I got the same results you did. HTH.
# February 25, 2005 5:37 PM

Robert McLaws said:

I'm posting a new build soon with better error handling and some UI fixes.
# February 25, 2005 5:49 PM

Karl Foley said:

Thanks for all the effort you've put into this it looks like I'm soon going to be able to migrate my blogs across to CS 1.0.
I had the same problem as Adam but Jayson's comment allowed me to get past that. Users and blog settings are being migrated but not the posts - It looks like the DTS packages are never created so therfore can't run. I had a similar problem with Jaysons code. I even switched off the "quick" option but still can't find them after having asked the app to save them.
Do I need anything specific installed to get the DTS packages created?
# February 25, 2005 6:43 PM

Robert McLaws said:

Yes, you have to have SQL Client tools installed. I should probably add that to the list of requirements.
# February 25, 2005 6:45 PM

Adam Weigert said:

I have the client tools installed; however, I'm still not seeing any DTS packages getting created. Though it appeared to execute 6 of the DTS packages then got hung up on one of them. And I'm not sure why it says it executed each package twice ...

6:04:12 PM: Step 6 Complete: Blogs created.
6:04:12 PM: Executing DTS for 'adam'... (1 of 15)
6:04:13 PM: Executing DTS for 'adam'... (1 of 15)
6:04:13 PM: Executing DTS for 'eric'... (2 of 15)
6:04:14 PM: Executing DTS for 'eric'... (2 of 15)
6:04:14 PM: Executing DTS for 'am'... (3 of 15)
6:04:14 PM: Executing DTS for 'am'... (3 of 15)
6:04:14 PM: Executing DTS for 'nik'... (4 of 15)
6:04:14 PM: Executing DTS for 'nik'... (4 of 15)
6:04:14 PM: Executing DTS for 'humayun'... (5 of 15)
6:04:14 PM: Executing DTS for 'humayun'... (5 of 15)
6:04:14 PM: Executing DTS for 'paul'... (6 of 15)
6:04:14 PM: Executing DTS for 'paul'... (6 of 15)
6:04:14 PM: Executing DTS for 'indaloop'... (7 of 15)

One other thing, I was manually going to setup all the bloggers, and noticed that the user "am" is too short (looks like CS requires 3 character minimum), how's your tool going to handle this, or will it just bypass the application level checks?
# February 25, 2005 7:09 PM

Robert McLaws said:

That was an error on the logging, I forgot to change the "success" string.

RE: application checks, no. We're going through the CS API, but in a round-about way. The checks happen through the user creation server controls, not through the object model.
# February 25, 2005 7:27 PM

Karl Foley said:

Same symptoms here Adam - I made sure I had all parts of SQL installed (including DTS tools like dtsrun, dtswiz, etc.) but still no DTS packages or Blog posts.

The only other info I can add is although the Wizard completes successfully the "Finish" button on the last dialog box doesn't work - I have to press cancel. There also seems to be no step 7 in the log file?
# February 25, 2005 7:28 PM

Keyvan Nayyeri said:

Surely it's useful for many developers.
Thanx.
# February 26, 2005 2:03 AM

Adam Weigert said:

I'm still having problems. The only other thing that could be different is that the SQL Server is not the default instance but a named instance.

I'm going to try pulling the databases down to my local computer and migrating them on a default instance.
# February 26, 2005 9:42 AM

Adam Weigert said:

And another thing, I'm running the MSSQL service as a least privileged account. And only Windows authentication is allowed. I'm not sure if any of these are contributing factors or not, just hoping that one of them will set off some ideas.
# February 26, 2005 9:48 AM

Adam Weigert said:

Getting farther locally, however I get this error message set for the occassional authors.

9:53:09 AM: Step 1failed. The number of failing rows exceeds the maximum specified. (Microsoft OLE DB Provider for SQL Server (80004005): Unspecified error)
9:53:09 AM: Step 2failed.
9:53:09 AM: Step 3failed.
9:53:09 AM: Step 4failed.
9:53:09 AM: Step 5failed.
9:53:09 AM: Step 6failed.
9:53:09 AM: Step 8failed.
9:53:09 AM: Step 9failed.

And on one blog, it looks like it is doing something, but never creates the DTS package and just hangs, no errors or anything.
# February 26, 2005 10:00 AM

Karl Foley said:

Adam,
My SQl server is also on a named instance and the CS is not of the default website but on a separate site that uses a host header.
# February 26, 2005 1:37 PM

Karl Foley said:

Dam,
One other thing. Did you try Jayson's original DTS engine? I had similar problems with that too.
# February 26, 2005 1:40 PM

Chris Kirby said:

Took a few times to get the settings just right but when i finally did, everything worked fine. The only thing i had to do once migration was complete was to maually assign a group id to the blogs in the database. Thanks for a great tool guys!
# February 26, 2005 2:12 PM

Donny Mack said:

Sweet! WE've been waiting for a migration tool! thanks a lot! donny
# February 26, 2005 4:16 PM

Adam Weigert said:

Oy, now it doesn't do anything. :( I tried it with a community (without any users), and with a blank database.

7:47:31 AM: Step 0: Cleaning up...
7:47:37 AM: Temporary web service removed successfully.
---------------------------------------------------------------------------------------
2/27/2005 7:47:37 AM
CSverter Conversion Process Completed.
---------------------------------------------------------------------------------------
7:50:06 AM: Step 0: Cleaning up...
7:50:11 AM: Temporary web service removed successfully.
---------------------------------------------------------------------------------------
2/27/2005 7:50:11 AM
CSverter Conversion Process Completed.
---------------------------------------------------------------------------------------
# February 27, 2005 7:51 AM

Miguel Jimenez said:

It's the same for me... The wizard does nothing. I have the same log as exposed above this comment... I've tried on three installations I have but it performs the same operations in all of them.

What a shame :(
# February 27, 2005 8:00 AM

Karl Foley said:

Same for me - It will be great when this is working though as I'm sure it will. We all apreciate the effort you're putting in Robert!
# February 27, 2005 9:30 AM

Chris said:

I am also running into a bit of trouble here. I am trying to run everything locally, then I'll DTS everything back up to my hosted site.

I have the .Text installation working locally, so that is fine. I also have the CS working locally, although it looks like I have to kill the installed community (and DB!) for the tool to make any progress. So I clear everything out, and run the tool, and it seems to try to recreate everything, but on the DTS step, it just hangs. Here is my log:
---------------------------------------------------------------------------------------
2/27/2005 15:36:55
CSverter Conversion Process Starting.
---------------------------------------------------------------------------------------
15:36:55: CSverter configuration file updated.
15:36:55: Step 1 Starting: Create New Community
15:36:55: Step 1 Complete: New community site created.
15:36:55: Cast from type 'DBNull' to type 'Integer' is not valid.
15:36:55: BlogGroups created successfully.
15:36:55: Creating User 'Chris'... (1 of 1)
15:36:56: User: Chris Created.
15:36:56: Step 3 Complete: Users created.
15:36:56: Creating Blog 'crashblog'... (1 of 1)
15:36:56: Cast from type 'DBNull' to type 'String' is not valid.
15:36:56: Blog: crashblog created.
15:36:56: Step 4 Complete: Blogs created.
15:36:56: DTS Package 'CSverter package for coverbeek: Url Conversions' already exists with a different ID in this category.
15:36:56: Step 5 starting: 6
15:36:56: Executing DTS for 'crashblog'... (1 of 1)


There is no CPU usage at this point. I'm not really sure what the problem is. I am logged in as a local administrator, and I am logging into the SQL Server as sa, so it shouldn't be rights. Any ideas?
# February 27, 2005 3:41 PM

Robert McLaws said:

First off, you need to drop the test CS database and re-create it for a "Quick Install" to work. Second, you need to clear out all CSverter-related DTS package from the server. The default settings save all packages to the server before they are executed.

Second, how long did you wait? It takes several minutes to execute a migration, and you may or may not see CPU usage change. Some of the users on LonghornBlogs.com took over 20 minutes to migrate. You just need to give it time, it will more than likely tell you when it fails.

And make sure you've downloaded the latest build from the link. I just posted one about 30 minutes ago.
# February 27, 2005 3:53 PM

Robert McLaws said:

Also, make sure you check the wiki for the most recent information:
http://docs.communityserver.org/default.aspx/CS.CSverter
# February 27, 2005 4:03 PM

Chris said:

I realized that I didn't need to drop teh whole DB after I posted that. My misunderstanding (and actually the log I posted was from a run that had the DB there).

I let it go overnight last night, with no result, and no DTS packages are getting created (at least that I can see in enterprise manager).

Here is the log from my latest run. There are errors, so it may still be that I am doing something wrong, but I am not sure what the errors mean.

I have only 1 blog with about 200 posts, so it shouldn't take very long. I can DTS the entire DB from my hosted SQL Server to my dev SQL Server in about 4 minutes (and that's over the internet). I would expect even with transforms, this shouldn't take more than 5 or 10 minutes since everything is local on a reasonably fast machine (2.8 GHz, 1GB RAM, tons of free disk).

Here is the latest log:
---------------------------------------------------------------------------------------
2/27/2005 16:13:37
CSverter Conversion Process Starting.
---------------------------------------------------------------------------------------
16:13:37: CSverter configuration file updated.
16:13:37: Step 1 Starting: Install ASP.NET MemberRole schema.
16:13:37: Executing 'InstallCommon.sql'...
16:13:37: 'InstallCommon.sql' Completed.
16:13:37: Executing 'InstallMembership.sql'...
16:13:38: 'InstallMembership.sql' Completed.
16:13:38: Executing 'InstallProfile.sql'...
16:13:38: 'InstallProfile.sql' Completed.
16:13:38: Executing 'InstallRoles.sql'...
16:13:38: 'InstallRoles.sql' Completed.
16:13:38: Step 1 Complete: ASP.NET MemberRole schema installed.
16:13:38: Step 2 Starting: Install CommunityServer database schema.
16:13:38: Executing 'cs_Schema.sql'...
16:13:42: 'cs_Schema.sql' Completed.
16:13:42: Executing 'cs_Procedures.sql'...
16:13:47: 'cs_Procedures.sql' Completed.
16:13:47: Executing 'cs_Default.sql'...
16:13:47: 'cs_Default.sql' Completed.
16:13:47: Step 2 Complete: CommunityServer database installed.
16:13:47: Step 3 Starting: Create New Community
16:13:48: Step 3 Complete: New community site created.
16:13:48: Cast from type 'DBNull' to type 'Integer' is not valid.
16:13:48: BlogGroups created successfully.
16:13:48: Creating User 'crash'... (1 of 1)
16:13:52: User: crash created.
16:13:52: Step 5 Complete: Users created.
16:13:52: Creating Blog 'crashblog'... (1 of 1)
16:13:52: Cast from type 'DBNull' to type 'String' is not valid.
16:13:52: Blog: crashblog created.
16:13:52: Step 6 Complete: Blogs created.
16:13:53: Invalid authorization specification
16:13:53: Step 7 starting: 8
16:13:53: Executing DTS for 'crashblog'... (1 of 1)

The Invalid authorization specification makes me think something is still wrong on my part, but I'm not sure what. Any ideas?
# February 27, 2005 4:23 PM

jayson knight said:

Chris

From my testing with my similarly small blog, the actual DTS package itself should take about a minute or so to run after it's created.

Can you check for data in the aspnet_Users, cs_Groups, and cs_Sections tables (I'm going off of memory right now, not at my machine...but I'm pretty sure those are the tables)? Also, check your .Text blog_Config table and see if anything looks out of the ordinary (null values); my first reaction is that there could be something wrong there.
# February 27, 2005 5:13 PM

jayson knight said:

Interesting...it appears that IE's lack of "keeping current" actually helped it out on this one.

The actual flaw doesn't lie in the browsers themselves, it lies with IDN itself, so the powers that be at Verisign should be taken out back and shot (don't kill the messenger).
# February 27, 2005 5:19 PM

Adam Weigert said:

I'm able to convert again, but I still cannot get a DTS package generated for one blog. I pulled a dump of the application at the point where it was hung. With further analysis, the only thing odd I could find (with my limited knowledge of windbg and .net) is a null reference exception in one of the threads.

I can send you the entire dump file (91mb uncompressed) if you want it.

0:000> !Threads
ThreadCount: 7
UnstartedThread: 0
BackgroundThread: 3
PendingThread: 0
DeadThread: 3
PreEmptive GC Alloc Lock
ID ThreadOBJ State GC Context Domain Count APT Exception
0 1250 0015edc0 6020 Enabled 01382480:01383ff4 00146550 0 STA
2 1680 00167508 b220 Enabled 00000000:00000000 00146550 0 MTA (Finalizer)
XXX 0 001cb290 1800820 Enabled 00000000:00000000 00146550 0 MTA (Threadpool Worker)
XXX 0 001a39a0 1800820 Enabled 00000000:00000000 00146550 0 Ukn (Threadpool Worker)
XXX 0 001d0028 1820 Enabled 00000000:00000000 00146550 0 Ukn System.NullReferenceException
8 bc 049a1f80 800220 Enabled 0134940c:01349ff4 00146550 0 MTA (Threadpool Completion Port)
10 d50 049c8530 1800220 Enabled 01370128:01372024 00146550 0 MTA (Threadpool Worker)
# February 27, 2005 5:22 PM

Mark said:

I'm getting the same error as Chris. The migration tool just hangs. Last line in the log file was

10:57:43 AM: Executing DTS for 'molson'... (1 of 381)

From looking at the DB I can see that the cs_Urls table was updated with the links but I didn't see any user info in the aspnet_users table. There's one group named Administrators in the cs_Groups table and it has a GroupID = 1. This is the same as the GroupID value for all entries in the blog_config table of my .Text 0.95 database.

I deleted all the records in the cs_Urls table and then ran the DTS package again. It ran successfully. So I think the DTS package was OK, what happens after the very first DTS package runs?
# February 28, 2005 3:15 PM

Robert McLaws said:

If there aren't any users in the aspnet_users table, and there aren't any blogs in the "cs_Sections" table, or the cs_weblog_weblogs" table, then the users and blogs are not being created. I'll take a look at the code again this evening and see if I can track down why it's not creating the users when it says that it does.
# February 28, 2005 3:57 PM

Yaheya Quazi said:

I am getting the same error. It stops at 97.3% and then nothing else...
# February 28, 2005 6:26 PM

Janson Ragon said:

I have this same issue, whereby a hang occurs at step 7 of 8 for the migration process, at 97.08% complete. At this point one DTS package is complete Url Conversions. Of the tables you mention above no users are addeds, neither blogs.

Is it significant that my BlogID is 5 in my old .Text 95 blog?

My log below:

---------------------------------------------------------------------------------------
28/02/2005 23:30:20
CSverter Conversion Process Starting.
---------------------------------------------------------------------------------------
23:30:20: CSverter configuration file updated.
23:30:20: Step 1 Starting: Install ASP.NET MemberRole schema.
23:30:20: Executing 'InstallCommon.sql'...
23:30:20: 'InstallCommon.sql' Completed.
23:30:20: Executing 'InstallMembership.sql'...
23:30:20: 'InstallMembership.sql' Completed.
23:30:20: Executing 'InstallProfile.sql'...
23:30:20: 'InstallProfile.sql' Completed.
23:30:20: Executing 'InstallRoles.sql'...
23:30:21: 'InstallRoles.sql' Completed.
23:30:21: Step 1 Complete: ASP.NET MemberRole schema installed.
23:30:21: Step 2 Starting: Install CommunityServer database schema.
23:30:21: Executing 'cs_Schema.sql'...
23:30:24: 'cs_Schema.sql' Completed.
23:30:24: Executing 'cs_Procedures.sql'...
23:30:29: 'cs_Procedures.sql' Completed.
23:30:29: Executing 'cs_Default.sql'...
23:30:29: 'cs_Default.sql' Completed.
23:30:29: Step 2 Complete: CommunityServer database installed.
23:30:29: Step 3 Starting: Create New Community
23:30:30: Step 3 Complete: New community site created.
23:30:30: Cast from type 'DBNull' to type 'Integer' is not valid.
23:30:30: BlogGroups created successfully.
23:30:30: Creating User 'jansonr'... (1 of 1)
23:30:35: User: jansonr Created.
23:30:35: Step 5 Complete: Users created.
23:30:35: Creating Blog 'myworkblog'... (1 of 1)
23:30:35: Cast from type 'DBNull' to type 'String' is not valid.
23:30:35: Blog: myworkblog created.
23:30:35: Step 6 Complete: Blogs created.
23:30:35: DTS Package 'CSverter package for blogDB: Url Conversions' already exists with a different ID in this category.
23:30:35: Step 7 starting: 8
23:30:35: Executing DTS for 'myworkblog'... (1 of 1)
# February 28, 2005 6:33 PM

Janson Ragon said:

Ignore the line 23:30:35: DTS Package 'CSverter package for blogDB: Url Conversions' already exists with a different ID in this category.

I had forgotten to clean out the DTS package between attmepts, but even with this cleaned out I still experience the hang.

Thanks for your help on this, and I'm sure this is more to do with some 'quirky' .Text implementations (like my BlogID=5 perhaps!)
# February 28, 2005 6:41 PM

Janson Ragon said:

Hi Robert,

Saw you post here http://www.communityserver.org/forums/474383/ShowPost.aspx

Not sure if it helps but within my blog_config table the entries which are null are SecondaryCss SkinCssFile BlogGroup

From my recollection BlogGroup is null if you set up .Text in single blog mode, which mine is.
# February 28, 2005 7:05 PM

Robert McLaws said:

AH HA!!!!! See, that makes an ENORMOUS difference. I'll have a fix posted shortly.
# February 28, 2005 7:17 PM

Mark said:

Robert, I had a null BlogGroup in one row (out of 381) in the blog_config table. I fixed that (set it to a value of 1 like the rest of them) and then ran CSVerter again. It didn't make any difference. CSVerter still hangs after exectuting the first DTS package which inserts URLs into the cs_Urls table in the CS database. CSVerter shows that it is creating all the users and their blogs but then when I go into the CS database I don't see more than 2 rows in the aspnet_Users table and the cs_Sections table. CSVerter just hangs.


Here are the last few lines of my log file.

9:58:24 PM: Step 6 Complete: Blogs created.
9:58:24 PM: Invalid authorization specification
9:58:24 PM: Step 7 starting: 8
9:58:24 PM: Executing DTS for 'molson'... (1 of 381)

What is "Invalid authorization specification"?
# March 1, 2005 2:50 AM

Robert McLaws said:

There will be a new build soon that, if it doesn't solve the problem, will give a better idea of what has happened.
# March 1, 2005 3:07 AM

Janson Ragon said:

Hi Robert,
Good to there thats where the problems appears to lie. Perhaps Mark has a slightly different issue. When I modifed the BlogGroup to 1 the tool completed successfully. So I guess there just needs to be a mod to make single .Text blog compliant?

Log attached:

---------------------------------------------------------------------------------------
01/03/2005 08:16:32
CSverter Conversion Process Starting.
---------------------------------------------------------------------------------------
08:16:33: CSverter configuration file updated.
08:16:33: Step 1 Starting: Install ASP.NET MemberRole schema.
08:16:33: Executing 'InstallCommon.sql'...
08:16:34: 'InstallCommon.sql' Completed.
08:16:34: Executing 'InstallMembership.sql'...
08:16:35: 'InstallMembership.sql' Completed.
08:16:35: Executing 'InstallProfile.sql'...
08:16:35: 'InstallProfile.sql' Completed.
08:16:35: Executing 'InstallRoles.sql'...
08:16:36: 'InstallRoles.sql' Completed.
08:16:36: Step 1 Complete: ASP.NET MemberRole schema installed.
08:16:36: Step 2 Starting: Install CommunityServer database schema.
08:16:36: Executing 'cs_Schema.sql'...
08:16:40: 'cs_Schema.sql' Completed.
08:16:40: Executing 'cs_Procedures.sql'...
08:16:44: 'cs_Procedures.sql' Completed.
08:16:44: Executing 'cs_Default.sql'...
08:16:44: 'cs_Default.sql' Completed.
08:16:44: Step 2 Complete: CommunityServer database installed.
08:16:44: Step 3 Starting: Create New Community
08:16:47: Step 3 Complete: New community site created.
08:16:54: Step 4: BlogGroup for .Text GroupID 1 created.
08:16:54: BlogGroups created successfully.
08:16:54: Creating User 'jansonr'... (1 of 1)
08:16:54: User: jansonr Created.
08:16:54: Step 5 Complete: Users created.
08:16:54: Creating Blog 'myworkblog'... (1 of 1)
08:16:55: Blog: myworkblog created.
08:16:55: Step 6 Complete: Blogs created.
08:16:57: Step 7 starting: 8
08:16:57: Executing DTS for 'myworkblog'... (1 of 1)
08:16:59: Executing DTS for 'myworkblog'... (1 of 1)
08:16:59: Updating Statistics...
08:16:59: Statistics Updated
08:16:59: Step 8: Cleaning up...
---------------------------------------------------------------------------------------
01/03/2005 08:24:06
CSverter Conversion Process Completed.
# March 1, 2005 3:29 AM

Robert McLaws said:

# March 1, 2005 4:28 AM

Derek Lakin said:

As mentioned on the CS forums I'm still not having any luck even with this new build :(

Is DTS just used for the content (blog posts, articles and comments) or is it also used for the blog config aswell? On the assumption that it's just the content, then this would seem to be the part this is not working correctly for some reason.

Any pointers you can give me to try and find out what the problem might be?
# March 1, 2005 5:54 AM

Adam Weigert said:

I like the new error handling ... much better ... here's the error I get with the one blog that won't convert :)

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: '100' is not a valid value for 'value'. 'value' should be between 'minimum' and 'maximum'.
at System.Windows.Forms.ProgressBar.set_Value(Int32 value)
at CSverter.Form1.BeginMigration()
at CSverter.Form1.WizardPage10_AfterDisplay(Object sender, EventArgs e)
at Divelements.WizardFramework.WizardPageBase.OnAfterDisplay(EventArgs e)
at Divelements.WizardFramework.Wizard.GoNext()
at Divelements.WizardFramework.Wizard.b(Object A_0, EventArgs A_1)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
# March 1, 2005 8:15 AM

Memncoh said:

Excuse I don't see the lenght of my file:

the next lines are the lines where errors appears

17:28:19: Step 7 starting: Migrate Data
17:28:19: Invalid authorization specification
17:28:19: Executing DTS for 'vlad'... (1 of 18)
# March 1, 2005 11:40 AM

Robert McLaws said:

Adam,

Ok, I thought I licked that problem, but I guess I need to go recount my steps again. Time to refactor.

Memncoh, I've been seeing that with a bunch of people. Are you sure the login you're using lets you save DTS packages? The default settings save the packages to the server.
# March 1, 2005 12:49 PM

Vermyndax said:

I just tried today's build and I couldn't get it to work. It seems to be related to the fact that I have installed CS 1.0 and .Text 0.95 in non-standard directories. Instead of doing them in c:\inetpub\wwwroot\web\blogs or whatnot, I have them set up in different directories. It appears your application doesn't detect this properly.

The error I get in the UI is "The source database does not contain a .Text installation." The logfile says something different:

---------------------------------------------------------------------------------------
12:02:01 PM: Could not find a part of the path "\web\blogs\BlogAdminService.asmx".
---------------------------------------------------------------------------------------
3/1/2005 12:02:01 PM
CSverter Conversion Process Completed.
---------------------------------------------------------------------------------------

I have CS installed (along with csverter subdirectory) in ..\cs-Live and the .Text installation is installed in the root folder of a different subdir as well.

Are you looking for exact paths or whatever? Any ideas?
# March 1, 2005 1:04 PM

Robert McLaws said:

The best way to make the conversion work is to unzip CommunityServer to a root folder on the hard drive. It should look like "C:\CS_1" or something like that. Then, map the 'cs_1\web' folder to a virtual folder (or main web) in IIS. AFTER the conversion is complete, you can move it into whatever standard directory structure you use.

It would take too much code to try to take into account every single possible way that you could deploy CS. CSverter assumes that you're starting from the CS distro archive.

Also, be sure you put the proper folder and site locations in the proper wizard step. There are directions on that page, so please read them carefully.

If I can convince my girlfriend to let me work for 30 minutes tonight, I'll put together an installation walkthrough that should help.
# March 1, 2005 1:16 PM

Vermyndax said:

Alright, I tried extracting a clean build of CS 1.0 into c:\CS_1 and I set the proper database config in web.config, made sure that the default website pointed to it for the home directory, then under /web then tried again on csverter.

I got the same results. I still get an error that says "The source database does not contain a .Text installation" and ther logfile.txt says:

---------------------------------------------------------------------------------------
1:31:51 PM: Could not find a part of the path "\web\blogs\BlogAdminService.asmx".
---------------------------------------------------------------------------------------
3/1/2005 1:31:51 PM
CSverter Conversion Process Completed.
---------------------------------------------------------------------------------------
# March 1, 2005 2:32 PM

Robert McLaws said:

What value are you using for the CS Folder textbox?
# March 1, 2005 2:34 PM

Memnoch said:

My user account witch i run the the csverter is adminstrator.
The Network services whitch run CS on the server web, is just dbo of the cs's database.

Maybe i must grant more right to the network services account ?
# March 1, 2005 4:35 PM

Ken Robertson said:

If any of the problems with the conversion and a single blog are a result of some of the steps for setting up the single blog, feel free to let me know and I'll look into it.
# March 1, 2005 4:49 PM

Karl Foley said:

Magic! It worked great this time. I'm not sure if it was the new build or that I tried SQL authentication as opposed to Windows Integrated this time but all my blog content migrated extremely quickly this time. Thanks!
# March 1, 2005 5:29 PM

Adam Weigert said:

Finally was able to get it to create the packages for all the users. Problem was, I had two blogs with the same email address. :)
# March 1, 2005 8:54 PM

Adam Weigert said:

Unfortunately, I'm getting an error like this in one of the blogs.

I just figured out how to add exception logging to a file for a task in DTS (very handy)..

Make any sense? In Notepad2 I see A LOT of NUL characters ...

DATA TRANSFORMATION SERVICES: Data Pump Exception Log


Package Name: CSverter package for weblogs - User: nik | BlogID: 5
Package Description: (null)
Package ID: {6DCF6BEA-239D-4407-A35C-3B1CB0CDE57C}
Package Version: {EADBB279-15A2-4781-AF2D-28402BCFEF93}
Step Name: DTSStep_DTSDataPumpTask_1
Execution Started: 3/1/2005 8:59:26 PM
Error at Destination for Row number 208. Errors encountered so far in this task: 1.

Error Source: Microsoft OLE DB Provider for SQL Server
Error Description:Unspecified error
Error Help File:
Error Help Context ID:0

I can't even post the errors because of the NUL characters :(
# March 1, 2005 9:02 PM

jayson knight said:

Robert

Unless you've changed what the engine keys off of for the blog_Config table, it keys off of the email address and builds everything from there. Having the same email address for multiple blogID's caused my initial code to fail as well, but like I said you might have changed that. If not, looks like we need to :-).
# March 1, 2005 9:09 PM

jayson knight said:

@Adam

That task migrates data from the .Text blog_Content table...have a look at row 208 in that table and let us know what you see. Also, how do you add exception logging for a task in DTS? Man, I really could have used that when I was writing the engine.
# March 1, 2005 9:13 PM

Adam Weigert said:

you can add error logging for the entire package ... go into design view, then on the menu select Package -> Properties ... it's in there ... you can also view the properties of a particular task and the Options tab has that tasks specific logging options ...

you can even tell it to accept upto X number of failures before failing the task ...

do you want row 208 of that specific blog, or all entries in the table?
# March 1, 2005 9:17 PM

Adam Weigert said:

From row 208 of the table (no-sort) the only odd thing I notice is that the Text table does not have any data... with a posttype of 4, and a null sourceurl ... this row is for blogid 5 too ...
# March 1, 2005 9:20 PM

Adam Weigert said:

Not sure if this row will paste correctly, giving it a try though:

select * from blog_content

487 Old Toad New Gym 2003-11-18 22:42:00 NULL 4 NJ7's Blog NULL NULL 5 NULL 2003-11-18 22:42:00 http://weblogs.notevil.net/nik/posts/486.aspx 301 0 1 NULL
# March 1, 2005 9:20 PM

jayson knight said:

Interesting...yeah, a posttype of 4 in .Text is a trackback, so those other null values are to be expected. Are you sure that's *row* 208, or is that ID 208? Also, any way you can get row 208 for blogID of 5 from that table (something like 'SELECT ID, [row_number] from blog_Config WHERE blogID = 5' <-psuedo-code), and then find that ID in the table? I can't think of a query offhand to get it...
# March 1, 2005 9:32 PM

jayson knight said:

Any other trackbacks from "4 NJ7's Blog" in previous rows? My first guess is that the single quote is causing an issue with the execution of the DTS package...SQL doesn't like them too much.
# March 1, 2005 9:46 PM

TrackBack said:

# March 1, 2005 9:51 PM

Adam Weigert said:

yeah, i'm sure it is row 208. the debug output actually shows you the row output with the first row being the id and they match up.

other blogs have single quotes in the data with a posttype of 4 too ... ones that work in fact ... i'm only having trouble with 3 blogs, i'm trying to tract down what it could be but it looks like it is the same in all of them ...

the pattern i see so far is that they each have no text data (empty string) and they have a single quote with no matching closing quote (i'm guessing) in any other field ...
# March 1, 2005 9:53 PM

Adam Weigert said:

The three rows from three different blogs that are failing.

487 Old Toad New Gym 2003-11-18 22:42:00 NULL 4 NJ7's Blog NULL NULL 5 NULL 2003-11-18 22:42:00 http://weblogs.notevil.net/nik/posts/486.aspx 301 0 1 NULL

1713 RE; I'm such an awsome wife 2004-08-05 03:24:00 NULL 4 verns blog NULL NULL 1 NULL 2004-08-05 03:24:00 http://server.thegillfamily.us:8180/BLOGS/vernsblog/archive/2004/08/05/445.aspx 792 0 1 NULL

3134 Pornography as Social commentary... 2004-11-27 15:55:00 NULL 4 Paul's Blog NULL NULL 7 NULL 2004-11-27 15:55:00 http://weblogs.notevil.net/paul/archive/0001/01/01/3132.aspx 2893 0 1 NULL


I'm just guessing, really hard ... :) I'll see if I can find this pattern in any other row (i'm betting I can, but I may lose this bet)
# March 1, 2005 9:55 PM

jayson knight said:

I think you're right on w/ that assumption, but w/o being able to debug w/ that set of data I can't be certain. IIRC, the correct way to insert single quotes in ANSI SQL is to actually use a pair of single quotes (''), so NJ7's should actually be NJ7''s...the SQL parser figures it out for you when spitting out the value to actually be just a single. So, that appears to be a .Text issue...they didn't double up on their single quotes. I know it's tedious, but can you edit one of the rows above to double up on the singles and see if it works?
# March 1, 2005 10:30 PM

Nat said:

Some good ones in there...
http://www.windowsforms.net/ControlGallery/default.aspx?Category=13&tabindex=10

The one from Carl is free
# March 1, 2005 10:38 PM

jayson knight said:

I may have been wrong by saying it was a .Text issue...regardless, it looks like we'll need to add a second single quote to all instances of a single quote via code so that it's processed correctly by the SQL parser.
# March 1, 2005 11:00 PM

Chris Sells said:

In my experience, even the youngest attendees are happy to find clean toilets at Burning Man... : P
# March 2, 2005 2:14 PM

jayson knight said:

I am not able to reproduce the errors on my machine.

My next thought is to have a look at the 'Use quoted identifiers' option in each db's properties page (it's on the options tab); it was unchecked in both db's on my machine (for more info, see this page http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_con_03_89rn.asp), this has an impact on single quotes in row values. Let us know how it goes.

# March 3, 2005 2:26 AM

Adam Weigert said:

I was able to successfully migrate when I made the CS web application under
localhost (http://localhost/cs)...

I was trying to just migrate it to a community for http://notevil.net ...
# March 3, 2005 8:46 PM

Robert McLaws said:

YES! FINALLY!
# March 3, 2005 8:52 PM

Adam Weigert said:

Some other weird stuff ... (local)\InstanceName doesn't work but ComputerName\InstanceName does ... :) This may be a SQL Server thing ... just incase someone else has trouble ...
# March 3, 2005 9:47 PM

Adam Weigert said:

Also, integrated security doesn't seem to work... if I use SA it works though ...
# March 3, 2005 9:49 PM

Adam Weigert said:

Finally up and working ... only thing that is odd is how the sub domain weblogs.notevil.net works ... right now I have it setup as a permanent redirect ... it works, except for articles ... :|

http://www.notevil.net/
# March 3, 2005 10:47 PM

Adam Weigert said:

OK, little bug, it doesn't migrate named blog entries. Know what I mean?

http://weblogs.notevil.net/adam/articles/ManagedThreadPool.aspx

something like that doesn't work in the new one (it is missing from the article in fact)
# March 3, 2005 11:05 PM

jayson knight said:

@adam

That's so strange that the migration works for a virtual directory under localhost but not for a root website...any thoughts Robert? Regardless, so long as the data is migrated over a new URL can be added to the CS database. Weird stuff.
# March 4, 2005 3:23 AM

Vermyndax said:

I'm still not able to get this to work, no matter what I've tried. It still claims my .Text database doesn't contain a valid .text installation (even though all the tables are there) and I still get the log entry posted above... and yes, I'm running it from a virtual directory in IIS.
# March 4, 2005 9:36 AM

Alexandru Minza said:

It would be great if it would also be possible to convert the galleries ;)
# March 5, 2005 8:39 AM

Craig said:

I can get the wizard to complete all of it's steps just fine and all the tables and stored procs get added. All the users get migrated over too. However that's all that got migrated, all the other tables are empty. The log shows nothing out of the ordinary. Any idea how migrating the posts/categories/links/etc would fail without logging it?
# March 5, 2005 2:52 PM

Craig said:

I take that back, there is one log entry that looks out of place --

1:58:14 PM: Step 7 starting: Migrate Data
1:58:15 PM: DTS Package 'CSverter package for DotTextBlogs: Url Conversions' already exists with a different ID in this category.
1:58:15 PM: Executing DTS for 'craig'... (1 of 3)
# March 5, 2005 3:01 PM

Robert McLaws said:

You didn't clear out the DB between tests. If that step fails, all others will fail.
# March 5, 2005 3:03 PM

Craig said:

I did. I deleted the entire db and created a blank new db. Is there something else I should be doing other than deleting the db?
# March 5, 2005 4:53 PM

Robert McLaws said:

Yeah, you need to delete the DTS packages too.
# March 5, 2005 5:38 PM

TrackBack said:

# March 6, 2005 10:47 AM

Dan Bartels said:

I get "QueryInterface for DTS.CustomTask failed" with a System.InvalidCastException at DTS.Task.get_CustomTask()

Any thoughts or suggestions?

(I am running a single instance .Text blog)

Dan
# March 6, 2005 11:09 AM

Craig said:

That did it! Thanks Robert, everything migrated succesfully :)
# March 7, 2005 12:58 AM

Robert McLaws said:

Great!
# March 7, 2005 1:16 AM

Tim Marman said:

I had to copy over the BlogAdminService.asmx manually, not sure why that was failing, but now it's created all the blogs.

It's failing for me when trying to migrate the data though. I assume this means I don't have osmething installed properly? What do I need besides the SQL Client tools? Is there a particular version or SP i need to get perhaps?

System.InvalidCastException: QueryInterface for interface DTS.CustomTask failed.
at DTS.Task.get_CustomTask()
at DotTextCS.Engine.DtsPackage.Task_Urls(Object goPackage)
at DotTextCS.Engine.DtsPackage.BuildUrlPackage(DtsDatabase dotText, DtsDatabase communityServer, Boolean savepackage, Boolean executePackage, String logFile)
at CSverter.Form1.MigrateUrls(Boolean savePackage, Boolean executePackage)
at CSverter.Form1.BeginMigration()
at CSverter.Form1.WizardPage10_AfterDisplay(Object sender, EventArgs e)
at Divelements.WizardFramework.WizardPageBase.OnAfterDisplay(EventArgs e)
at Divelements.WizardFramework.Wizard.GoNext()
at Divelements.WizardFramework.Wizard.b(Object A_0, EventArgs A_1)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
# March 9, 2005 12:44 AM

Tim Marman said:

Vermyndax -

Check who the owner of the tables are. I was running into something similar where my tables were owned by something other than DBO. It will fail unless you login with SQL authentication as that user...
# March 9, 2005 12:48 AM

Geoff Appleby said:

Yeah, i did my own rant about this last night.
http://codebetter.com/blogs/geoff.appleby/archive/2005/03/09/59457.aspx
Perhaps we should start a petition to get the other petition ignored? *grin*
# March 9, 2005 11:05 PM

Wallym said:

Can I have a link to one of my posts on the subject? ;-)
# March 9, 2005 11:16 PM

Robert McLaws said:

Sorry man, copied the wrong link. Fixed. :) Thanks.
# March 9, 2005 11:17 PM

Rob said:


While I am in your camp I know of at least 1 company that has over 1 million lines of COBOL..er I mean classic VB...and that code will still be around at least 10 years from now.

They made this decision just before the days of VB.NET and the .NET framework came to light and with counsel from Microsoft. These guys are smart, smart enough to know that they can't stop innovating on that code base without loosing customers.

They are not old gaurd, in fact all of them are younger than myself (although I admit I am old now for this business at 38)...and they have not stopped learning but they have significant long-term challenges getting to the new world. It's a long painful process and one that Microsoft thrust on them and of that there is no question. It is easy for us to sit here in 2005 and say that they should have known better but that is only 20/20 hindsight.

Personally I would never touch old VB6 code with a 10 foot pole...run screaming from the room IMHO. In fact even the sight of VB.NET makes me ill (can you tell I am a C# bigot 8-)).

However I can at least understand the situation that they are in and not resort to grouping them into the 'old guard' camp. They are in a camp I very much respect...the 'we have shipping code that customers depend on camp and god damit we are going to support them'. Microsoft should take a page out of that playbook don't you think?

Perhaps one day, when you have shipped that much code you will also appreciate that perspective.
# March 10, 2005 12:45 AM

Robert McLaws said:

Rob,

While I appreciate your perspective, and I share your sentiment of an initial respect for the "old guard", I can't at all respect the bellyaching over the end of support. As Wally and others have mentioned, the code doesn't stop working because support ends. Microsoft has no financial reason to continue free support. If they don't want to invest in the future by porting, they're going to pay for it (in more ways than one), plain and simple.

And I resent the fact that they're going to complain about the move 3+ years after the launch of .NET. The rest of us had to make the switch. You thought the move from VB6 to VB.NET was excruciating? Try from ASP to ASP.NET and VB to VB.NET at the same time. But most of us did it. We whined and complained a bit, but we did it. They haven't, and to me, they're stomping their feet on the ground and saying that they won't. And that's fine. But I can't respect that at all.

Managed code is the future of development on Windows. There is no going back if you want to be able to take advantage of the latest and greatest features. Get on board or get left behind... it's that simple.
# March 10, 2005 12:59 AM

Robert McLaws said:

And PS, I had a ton of respect for Richard Grimes. Until he published that temper tantrum thinly veiled as an article. It basically said "they didn't listen to my complaints, so I'm not using .NET anymore." And that's total BS.

But that's just my opinion.
# March 10, 2005 1:05 AM

Frans Bouma said:

"Does IBM still support PC/DOS? NO"
Correct, and while I'm in your camp (hell has frozen over! ;) :P), IBM also still supports 25 year old AS/400 software.

Though some software has a longer lifetime than other software, but OTOH, some software written in VB6 is positioned to have the same long lifetime... the error made is that the software shouldn't have been written in VB6, but in C++ using win32 in that case.
# March 10, 2005 4:22 AM

Jonathan West said:

The point your blog misses is that Microsoft has not only dropped VB6, but also hasn't provided a usable upgrade path.

To ask for one is not either pro- or anti-NET. It has nothing to do with .NET at all.

To accept that Microsoft can get away without providing an upgrade path should be a worry to you. The key people in the developer tools division at Microsoft seem to have lost sight of the concept that a language and a platform are two separate things.

Platforms come and go. What will you do with the code you have written and need to maintain when the .NET platform goes and Microsoft abandons the languages that formerly targeted it? Of course, it will still be available for a while even after Microsoft stops selling it, so people will tell you "C# hasn't gone away, carry on coding in C#". But the time will come when modern platforms no longer support the latest version of the framework you can still compile to. At or before that point, you will be faced with abandoning all your code and starting again in a new language.

If anything, as a programmer in a new and untried language without any track record in long-term stability, it would be in your interest for the petition to succeed, simply to concentrate the minds of the people at Microsoft on the need to allow developers and application owners to preserve and manage their code assets, lest Microsoft pull the same trick on you in some years time.

So how about a signature from you?
# March 10, 2005 6:03 AM

Tim Dawson said:

Every once in a while something big happens. VB.NET was something big for VB6 users, as VB was to QuickBasic and that was to GWBasic. I can fully understand the inability for Microsoft to provide as much of an "upgrade path" as some people suggest they should have. The fact is, nobody _needs_ to upgrade. There are excellect opportunities to interop with managed code, and if your application was designed with even a hint of modularity, this will make writing new parts in .NET quite straightforward.

Of course platforms come and go. One of the nice things about VB6 at the time was that it was a platform _and_ language all in one, that mapped back to Win32 with the various runtimes. Dotnet is another platform, one that has proved successful enough for large parts of the next version of Windows to be written against it. It seems to me that the VB6 developers who continue to whine are the ones who have lost sight of the concept that a language and a platform are two separate things.

MS could release a new version of VB6 that targetted the .NET platform with, say, Windows Forms as its presentation framework. But then how would you interoperate with the object oriented nature of this platform? I guess you'd have to upgrade the VB language with various features to bring it in line. Oh wait, that's what they did.

Microsoft have always been pretty good at enabling interop between successive platforms and technologies, and this is no different. I guess I'm amongst the programmers in this "new and untried language without any track record in long-term stability". How do I know it will succeed? Because it's Microsoft, and because they're banking on it with Longhorn and large parts of the company have shifted to managed code development. Nothing like that ever happened with VB6.

I'll sign a petition against Richard's.
# March 10, 2005 6:28 AM

Jonathan West said:

VB could take & compile Quickbasic code, line numbers and all, so long as you had the UI code removed. You *do* keep your UI code separate?

Platforms come & go. Algorithms don't. Once you have (for instance) a working Quicksort algorithm, there's nothing about a platform change that should ever require you to rewrite it in order to be able to target the new platform. If you think Quicksort is too trivial a case, think instead of the thousands of business rules that have been coded in VB.

Of course, for the time being you can interop. but the day will come when that VB6 code that you have been maintaining and using with interop will no longer run on Microsoft's latest platform. Someday, that code *will* have to be rewritted, if the language is no longer available that compiles to a current platform.

If Microsoft breaks a language once, what's to stop them breaking it again? The proportion of development in Microsoft that actually uses managed code is still pretty small. It could easily be jettisoned in favor of the Next Big Idea.

You can produce all kinds of scholarly arguments to the effect that ClassicVB is outdated. I would probably agree with many of them. But they are not relevant to the Microsoft's problem, which is how to encourage adoption of their new platforms. You don't encourage adoption by artificially raising the price by including the need to rewrite algorithm code as well as UI code in the cost.
# March 10, 2005 9:38 AM

Tim Dawson said:

VB.NET can take a lot of VB6 code too, if you're not talking about UI. It's still inherantly BASIC, after all. Functions like Left, Mid, Right etc are still there even where there are alternatives present in the framework. If we are talking algorithms written well in VB6, which we apparently now are, I suggest that the same code would run in VB.NET without much modification.

The argument that one day VB6 code will somehow stop working is silly. That is the same as saying that someday Microsoft will stop supporting Win32 EXEs. Sure, one day I'm sure they will, but even Win16 and DOS applications continue to live in in current Windows. That argument really doesn't stand up. They have stopped updating "oldschool" VB, but that shouldn't be confused with any lack of support for applications written with it.

The proportion of development in MS that uses managed code is not insignificant, and one only has to look at the direction the company is taking to see that the rate at which it's increasing is accelerating.

If it's jettisoned in favour of the Next Big Idea? Well guess who will be there producing apps for the Next Big Idea before it even goes RTM. Me.
# March 10, 2005 10:00 AM

Ken Halter said:

How about giving me a break. VB6 is fully event driven and cosumes objects like a pitbull eating dog chow.... now, what did you like about VB.Net again?
# March 10, 2005 12:36 PM

Robert McLaws said:

Biggest reason: code is portable between two languages. Multiple languages can use the same code without COM crap.

Bottom line: .NET made VB grow up. Maybe it's time the developers followed suit?
# March 10, 2005 12:41 PM

Chris said:

as if the world doesnt change at all...
# March 11, 2005 1:22 AM

IlluminatiLord said:

Amen brother. Sure, there'll be a lot of VB6 maintenance for years to come, but does anyone in the tech industry really expect things NOT to change?? If you do, you're in the wrong field.
# March 12, 2005 11:14 AM

TrackBack said:

I'm glad to see I'm not the only one putting my day(s) off to good use.

My holiday so far has been spent playing with some toys/tools that I haven't previously had time to really sit down and give the effort needed. I have been able to finally check out the Frans' offerings: LLBLGen (the free, open source version and a demo of the Pro version). The Pro version is only a demo, so I couldn't really test it except for on the Northwind database, but it is
# March 12, 2005 6:51 PM

vb code maintenance said:

The vb obsolesence will provide jobs for theys guys when they get tool old to think - just like the cobol guys coming out of retirement and making big bucks
# March 12, 2005 8:27 PM

sarabear (another AZ blogger) said:

yeah, well guess what. Your personal blog and company blog are down. Server not found. Blah.
# March 13, 2005 1:54 PM

sarabear (another AZ blogger) said:

bad url with the last sig
# March 13, 2005 1:55 PM

Robert McLaws said:

Yes. They're all on the same server.
# March 13, 2005 1:58 PM

Tim Marman said:

Rob (or anyone else): Any ideas on that error I'm seeing?
# March 13, 2005 5:34 PM

Michael Giagnocavo said:

Algorithms don't need to be rewritten. That's why they reversed their early decisions on VB.NET's array declaration and default short circuiting. I read algorithms with sample code in ADA and Pascal... doesn't change a whole lot to C.

As far as "one day it'll stop working"... yea, when COM stops working, they'll have to rewrite. Now, let see, I can write 8086 assembly programs and they still run on Windows XP. So, how long do you think it'll take 'till COM stops working? Perhaps after... hmm, I dunno, pretty much every app for Windows is rewritten, Windows & Office & Visual Studio included...
# March 15, 2005 1:58 AM

gyurisc said:

I got 404 error when I am trying to download your package.
# March 17, 2005 4:42 AM

Nick Marmolejo said:

Getting bad Hostname Invalid Hostname when trying to download the package.
# March 18, 2005 2:36 PM

Kevin Daly said:

Um, what was that again about how you'd be pissed if it was after Indigo and Avalon launched?
Oops.

It just goes to show, Fate has an evil sense of humour (but as programmers we already knew that). She's Murphy's sister.

Seriously though I miss the site (especially right *now*) and hope it's back up soon.
# March 24, 2005 1:29 AM

Angus Logan said:

Hi Robert,

Nice list!

I also like the bit about the < 25'ers (I'm a youngster and I made it).

:)
# April 3, 2005 6:34 PM

Robert McLaws said:

Cool! Thanks man. Maybe we'll have to set up an "under 30-something" get-together at the MVP Summit! Are you gonna be there?
# April 3, 2005 6:40 PM

Angus Logan said:

I'll be hosting 21 year old Kiosk :)

With that said I'm 21 going on 35 or 40.
# April 3, 2005 6:46 PM

Wallym said:

Ok, can Robert and Paschal please calm down over this.
# April 3, 2005 9:16 PM

Robert McLaws said:

Wally, we're good :).
# April 4, 2005 1:30 AM

Charles Carroll said:

You again prove your ignorance by writing about things with minimal research and minimal wisdom.

I was the first ASP MVP and one of the first ASP.net MVPS and I RESIGNED (check with Ben Miller and Jani Clark) because I thought the program takes far too long to recognize genuine contributors and often promotes people with "connections" who do little for the community and ignores to many people who truly deserve it. The easiest way to protest any poorly run organization is to withdrawl and resign thus not associating with a poorly run organization by particpating in it and thus endorsing it indirectly.

I resigned far before the incredibly innacurate surrealization article (almost every fact he mentions in his article is wrong - and he reprints 1 email out of context out of hundreds of emails I sent that year) so I think your absurd implication this somehow keeps me from being MVP when I resigned MVP status years ago is just poor research on your part.
# April 4, 2005 2:00 AM

Meaty Cup said:

Cracks me up that you guys are so willing to be a Microsoft bitch for free. It would be one thing if you were on Microsoft's payroll but you're satisfied with acting like a MS PR bitch for free. So they give you some free software and maybe fly you to some events here and there. Am I the only one that sees the humor in the behavior of these MVP's? You rank right up there with the open source fools who code their nuts off for "nothing". You guys are getting shafted...have some self respect and go and work for Microsoft if you want to spend all your free time kissing their ass. Damn!
# April 4, 2005 2:20 AM

Scott said:

"DON'T be a spoiled brat if you don't like a decision Microsoft made. The Visual Basic MVP petition fiasco is a prime example. Microsoft wants responsible adults as part of their program, even if they are young."

Y'know Robert. Recently someone implied that Bill Vaughn could lose his MVP status over his singing of the petition.
http://betav.com/BLOG/billva/archive/2005/03/31/218.aspx

Would you say he's silly and immature?

"DO excercise good judgement as often as possible. Rule of Thumb: Anything that will be indexed by a search engine should be well thought out before posting. Think ahead about whether you want that opinion associated with your name a year from now."

The irony of this "rule", considering that you are writing it, is almost overwhelming.
# April 4, 2005 2:29 AM

JosephCooney said:

Meaty - I think many people in the MVP program just like software a lot and like helping people. If you choose to spend your time sitting on the couch and watching t.v. does that make you more or less of a fool than the MVPs out there?
# April 4, 2005 2:30 AM

Robert McLaws said:

Scott... How is it ironic? I know what I said. I said several times that the petition was idiotic. To think that Microsoft would bring back VB6 as VB.COM is ridiculous. Open-sourcing VB6 would have been a much more realistic solution.

IMO he stands a decent chance of not being re-awarded. And let search engines index that.
# April 4, 2005 3:25 AM

Frans Bouma said:

"DON'T cause PR problems for Microsoft. It takes several good deeds to become an MVP, but one PR issue could send you packing. Taking them to task on an issue is one thing, but if Microsoft has to clean up a PR mess, you'll probably get taken out with the trash."
I disagree with this. It's not my problem if MS gets a PR problem if I try to discuss a problem THEY caused in public. Nor should it be. MS has said time and time again, that they WANT MVP's to be different, to express their REAL concerns so that MS can do something about the causes of the concerns. MS therefore doesn't look for a bunch of yes-men.

"DO take extra time to understand Microsoft's position on decisions, and speak respectfully on those issues."
I disagree with this one too. I'm not an MS employee nor affiliated with MS. They awarded me for my effort for the community. There is NO obligation for me to do anything back, that's explicitly stated by MS and you know that. You sound as if having critizism on something from MS is not good. Well, if MS has the choice between an MS-fanboy and an MS-critique, they opt for the last one, because that person can give feedback they can't get elsewhere.

Besides that, MS already has a full-payed marketing department to tell the world the good side of their stuff, why should an MVP do that as well?

"# DO evaluate your communication skills constantly. The better you can relate Microsoft's message to others, the more Microsoft will interact with you."
Maybe I misunderstand this but, do you mean by this that the MVP should go out and actively advocate MS products? Because if you do, I disagree.

For the rest, they're good points. Not a list of points you should obey to and you'll get nominated though. What a person should do is honestly HELP. Not help because you get an award, but HELP because you know the answer of a question, or have some time left so you write a tool which helps others or an article. Lots of people do that, but only a few get noticed. Often this is for a reason: they stick with that role for a long period of time (most people who try to help others fail after a few months) and are boat-rockers: when they say something, others listen.
# April 4, 2005 3:53 AM

Frans Bouma said:

"I was the first ASP MVP and one of the first ASP.net MVPS and I RESIGNED (check with Ben Miller and Jani Clark) because I thought the program takes far too long to recognize genuine contributors and often promotes people with "connections" who do little for the community and ignores to many people who truly deserve it. The easiest way to protest any poorly run organization is to withdrawl and resign thus not associating with a poorly run organization by particpating in it and thus endorsing it indirectly. "
It also occured to me that a lot of professional speakers are MVP. I find that strange. These people get the MVP title for doing their job, while a developer who has little time but answers questions in a newsgroup is perhaps more valuable to the community, simply because the professional speaker/trainer can only babble about the hype of the month, the stuff he looked into for his next article, not something which takes a year of experience (i.e.: 1 year or 2 year of full time development).

But perhaps there are other reasons to get these people the award. Personally I don't care that much why others get the award, there are always people out there who don't get the award but should have. As with all awards out there.
# April 4, 2005 3:56 AM

Frans Bouma said:

" Cracks me up that you guys are so willing to be a Microsoft bitch for free. It would be one thing if you were on Microsoft's payroll but you're satisfied with acting like a MS PR bitch for free. So they give you some free software and maybe fly you to some events here and there. Am I the only one that sees the humor in the behavior of these MVP's? You rank right up there with the open source fools who code their nuts off for "nothing". You guys are getting shafted...have some self respect and go and work for Microsoft if you want to spend all your free time kissing their ass"
You should pay more attention. Some MVP's are indeed yes-men who don't tolerate ANY negative news about MS products. I don't get these people, but it's their life. There are also MVP's, most of them, who are simply realistic and definitely NOT MS PR people, because they couldn't care less about MS PR. I'm definitely one of them.
# April 4, 2005 3:59 AM

Frans Bouma said:

" Scott... How is it ironic? I know what I said. I said several times that the petition was idiotic. To think that Microsoft would bring back VB6 as VB.COM is ridiculous. Open-sourcing VB6 would have been a much more realistic solution.

IMO he stands a decent chance of not being re-awarded."
IF Bill doesn't get re-awared BECAUSE of this, it would be the end of the MVP program as we know it. It would show that the MVPs aren't used for feedback but for PR and the last thing I want to be is a PR slave of MS.
# April 4, 2005 4:02 AM

James Crowley said:

I've just become a MVP. Everyone I've spoken to at Microsoft in the UK have said that our *independence* and willingness to be (sometimes brutally) honest about Microsoft technologies, projects - and their competitors - makes us *more* valuable, not less.

If a Microsoft product is good for the job, then I'll happily promote it. If Java does the job better, then I'll suggest that instead. Being an MVP won't change that in the slightest.

(and yes, I run a website that predominantly has Microsoft-related articles - but that's something I'm looking to change - perhaps even more so now I'm an MVP)
# April 4, 2005 6:16 AM

TrackBack said:

# April 4, 2005 12:34 PM

Jesse Ezell said:

DON'T be rude, vulgar, or disrespectful in your communication with other community members. Swearing, while OK during coding sessions and casual conversation, should NEVER be used in communication that will be read by many. It is uncouth and represents an extreme lack of control and judgement.

Holy shit. That explains why Microsoft never made me a damn MVP.

# April 4, 2005 12:38 PM

James Avery said:

I think your list would more appropiately be titled "How to be boring". A couple notes:

1) DON'T be rude, vulgar, or disrespectful in your communication with other community members.

I agree you shouldnt be rude or distrespectful, but vulgar? Clearly you don't know Rory. The guy wrote a piece about checking out Don Box in the bathroom, and it made him one of the most popular bloggers, an MVP, and now a Microsoft employee. MVPs say shit all the time, give me a break.

2) DON'T be a spoiled brat if you don't like a decision Microsoft made.

While I don't agree with the VB Petition, I am glad those people felt they could voice their opinions in that manner. 90% of the people at Microsoft I know respect developer opinions and want real honest feedback. Simply nodding your head and telling them it's awesome won't do it.

3) DON'T cause PR problems for Microsoft.

I agree that this is Microsoft's problem and not yours. In fact, you are more likely to get MVP to prevent a PR problem then you are to get it taken away.

Just my opinions.

-James




# April 4, 2005 12:41 PM

Robert McLaws said:

Being an MVP doesn't mean always following the party line. It means being an authority, and that entails knowing when a non-Microsoft tool is better for the job, etc.

Jesse - heh.

Frans - Goog comments. I don't konw, I still think that the VB thing might have alienated some MS people. They didn't even understand what was really going on to begin with, and instead of working with MS to make the upgrade path easier, they publicly admonished them by suggesting a solution that was 3 revisions old. Lets bring back "10 PRINT" while we're at it. If <i>I</i> had to spend my time solving that PR problem instead of coding, I would have been pissed.
# April 4, 2005 12:46 PM

Scott said:

Robert,

It's ironic because you often post very negative, vitriolic responses to people.

See this post for an example. You had to edit it after you referred to Paschels post in a negative manner. :)
Re: BillV, Given that a tech lead for VB has chimed in saying that no one should lose their MVP status soley because of the petition, I'd say Bill's MVP status is pretty secure. As I said in his blog though, whether or not he is an MVP isn't going to affect my respect for his technical skills.

Trust me, no one that is doing any coding at Microsoft is spending ANY time on PR problems.

Jesse: Those bastards!
# April 4, 2005 2:08 PM

Sriram said:

I headed over here to comment but saw that Franz had already typed out what I had to say. MVPs are *not* shills who toe the company line.
# April 4, 2005 3:36 PM

TrackBack said:

# April 4, 2005 4:33 PM

Jamie Plenderleith said:

Yo, 22 and I'm there :)
# April 4, 2005 10:53 PM

J. Dahlgren said:

I think you aren't understanding what an MVP SHOULD be. This is just my opinion, but...

"DON'T be a spoiled brat if you don't like a decision Microsoft made. The Visual Basic MVP petition fiasco is a prime example."

I was awarded by Microsoft due to a series of events which began with my whining and bitching about their product. It is perfectly acceptable. In fact failing to whine indicates you are perfectly satisfied. If you are, then you either have low standards or you are a fan-boy. Hint: neither of these is a good thing.

"DO be genuine in your desire to help others. Microsoft's corporate culture is aimed towards the betterment of society."

OK, the helping part is good, but corporate culture aimed towards the betterment of society? Huh?! Hurry! Someone tell the shareholders! Last time I checked the goal of Microsoft was to make money. Ask some people you know there what goals are set for business groups.

"DO evaluate your communication skills constantly. The better you can relate Microsoft's message to others, the more Microsoft will interact with you."

MVP's are not messengers. Microsoft pays people to do that. MVP's help people out. It is sad when some believe their role is to become a quiet well-behaved corporate shill. However, I'm not surprised that Microsoft would take advantage of that if the opportunity presents itself.

"Hopefully, that heps some aspiring MVPs out there. We're always looking for new blood."

We? Are you giving out MVP awards?

Sorry if I find your post a bit self-aggrandizing and patronizing at the same time. If that is not what you meant by it then you might want to evaluate your communication skills.





# April 5, 2005 2:17 PM

Bruce Hopkins said:

I'm having a hard time figuring out what is the problem here. Wow the blog may not totally encompass all it take to gain MVP status none of it can hurt someone's chances. I use MS technologies and I use quite a few others. I bascially use what I need for the job and if MS asks me why I use Oracle, or *nix or anything else, then I can back it up with a valid business case and if they give me a better option then I'll go with an MS product. Its all up to what helps me best accomplish my job.

I far one was honored to be chosen as an MVP. it was not soemtihng I aspired for nor expected, I remember being stunned that I was even nominated much less happen to recieve it. Whether you agree with the process or not ( which I'm not sure any of us really know what it is) The people who recieve these get themselves noticed with a positive perception.

Now to Charles. Who are you kidding, you may have quit, I don't really know, but I do remember the fisaco you started as it was posted all over the net. I was there. You had a great asp.net resource and let emotions get in the way of business. Did not seem like a smart move then when I was an Asp.Net baby nor now.
# April 5, 2005 11:38 PM

Ian Smith said:

As has been mentioned in a couple of other blogs all the indications - as given at the site http://www.microsoft.com/emea/msdn/betaexperience/ - are that we are currently 17 days away from Beta 2 release, which means the release date is looking like 25th April
# April 7, 2005 11:58 PM

Robert McLaws said:

I've heard it will be earlier than that.
# April 8, 2005 12:08 AM

Jerry Dennany said:

April 15th-ish.
# April 8, 2005 1:45 AM

James said:

At this rate I don't see them getting a finished product released in 2005.
# April 8, 2005 3:27 AM

Stefán Jökull said:

On April 6th, Scott Guthrie said on his blog:" Beta2 is coming soon. We are taking the last few stress fixes right now to get to 100% reliability. The final build should be in the next few days (it then takes a little time to code-sign it and ship)."

:)
# April 8, 2005 5:54 AM

Paul Czywczynski said:

Well, my blog count has been down for the last couple of weeks and usually that happens when it is release crunch time. I did see a MS insider mention April 15 in a comment last week so that is where I would place my bet.
# April 8, 2005 7:57 AM

Jake said:

"the builds I've seen are starting to take on the characteristics of a final package"

What builds are they and where did you get them?
# April 8, 2005 9:30 AM

Wallym said:

Jake,

Duh, He got them from the build fairy. ;-)
# April 8, 2005 10:10 AM

TrackBack said:

^_^,Pretty Good!
# April 10, 2005 8:25 AM

TrackBack said:

^_^,Pretty Good!
# April 10, 2005 8:26 AM

M. Keith Warren said:

...just hoping you realize that most of the nPrefix stuff is named accordingly because it is a .NET version of a previously java open source project.
# April 11, 2005 12:02 AM

Wes Haggard said:

Yes that’s as creative as I can get. What can I say I have no creativity, I admit ;)

Also as Keith said there are similar tools iContract, jContractor, etc. which are similar tools and I would like people who know about those tools to have an idea right of the bat what nContract is.
# April 11, 2005 12:17 AM

Robert McLaws said:

Wes,

Just so you know, I wasn't assaulting your creativity. I can understand your reasoning. It was more of a commentary on the industry as a whole and not an assault on your personally.
# April 11, 2005 12:23 AM

iSight said:

it's not an iEye, but close...
http://www.apple.com/isight/
# April 11, 2005 1:22 AM

Robert McLaws said:

CURSES!!! FOILED AGAIN!!!
# April 11, 2005 1:24 AM

Steve Hall said:

<bitch-slap mode=on>

Well, an "n" prefix is certainly preferable: better than products that have that .NET suffix, e.g., DeadBolt.NET, GenX.NET.

I WAS going to post something about another recently posted snippet, named "RegistryPlus", due it not just simply being named "nRegistry"...as it should be! (to distinguish it from jRegistry, of course!)...but I refrained. ;)

</bitch-slap>

Good luck getting the rest of your servers back up! (I ran into "dead-air" when trying to view the DeadBolt webpages... Oy!) May the nForce be with you!
# April 11, 2005 2:12 AM

TrackBack said:

# April 11, 2005 5:44 AM

Damien Guard said:

It's not only uncreative but causes alphabetic indexes to get everything lumped together under N.

It's the same lazy scheme used by KDE kWhatever, Gnome gWhatever, Apple iWhatever and Java jWhatever tools.

Very dull.
# April 11, 2005 5:49 AM

Dave Burke said:

I regard it as smart and economical, now that you mention it.
# April 11, 2005 8:52 AM

Tim Marman said:

Apple was not denied a patent, they were denied a trademark. Sorry, just a little pet peeve of mine :)
# April 11, 2005 9:10 AM

Alex Papadimoulis said:

Robert, it could be much worse. Just take at the LINUX folks: "Ubunto Hoary Hedgehugger", "GIMP", "Gentoo".

Our names border on boring. Their names border (and quite often cross into) frutiness.
# April 11, 2005 10:18 AM

Robert McLaws said:

Steve - Ha! Too funny. You're right, most of my names suck too.
# April 11, 2005 11:34 AM

TrackBack said:

Robert McLaws (BoyWonder .NET) published a free .NET API for getting at the Windows registry called RegistryPlus. One of the really cool namespaces is RegistryEntryCollection, which is a collection of registry entries that you bind directly to a DataGrod control....
# April 12, 2005 1:49 AM

TrackBack said:

Interesting finds last week ...
# April 12, 2005 8:06 AM

Ric Castagna said:

Well, according to the "rules" set forth above, I will never become an MVP.

I have <a href="http://dotnetjunkies.com/WebLog/rcastagna/archive/2004/07/20/19864.aspx">openly criticized the Microsoft Certifications</a> because most of the time they just measure how much stuff someone can cram into their brain from a CBT.

I've also spoken out against what <a href="http://dotnetjunkies.com/WebLog/rcastagna/archive/2004/07/22/20024.aspx">Microsoft was trying to do to Linspire</a> by saying "Lindows" was too close to "Windows" and they (Microsoft) have trademarked the word "Windows".

That being said, I'm a Microsoft developer. Effectively, that's all I have ever had professional experience with, and probably all I will ever have experience with. I've built a strong skill set and have done quite a bit to improve my skills so I can deliver the best possible product to my clients and my employer.

I also contribute to the community by helping other developers over at DotNetJunkies.

Would I like to be an MVP? Sure, I wouldn't mind some recognition for the contribution, albeit small, that I make to the development world. But, I don't expect that recognition, nor am I doing what I'm doing with the expectation that I will become an MVP.

I'm just trying to add to my base of knowledge by learning from other more highly-skilled developers, and if I can help out someone along the way, I'll gladly stop and do so.
# April 12, 2005 8:15 AM

Adam Machanic said:

Sorry, but in my opinion being an MVP does -not- mean brown nosing MS, being an MS advocate, or agreeing with everything -- or anything -- that MS does.

Being an MVP means that you're active in the Microsoft community and knowledgeable in some product area. And that's all it means. Microsoft has people, that get PAID, with the title "Evangelist." If you want to be one of them, go work for MS and take the title! THEN you can follow all of these "rules" you've laid out.

And by the way, hats off to those guys who did the VB petition! If Microsoft screws up, customers NEED TO SPEAK, and the MVPs are people who can more easily start that process. If you're afraid to speak up because you think you'll lose the title, it sounds to me as if you're in it for all the wrong reasons.
# April 12, 2005 11:30 AM

Bill Ryan said:

Meaty Cup obviously doesn't have a clue. How am I Microsoft's Bitch? Because I answer questions in their newsgroups just like I did before I was a MVP? Because I hold webcasts in my product area, just like I did before I was a MVP? I do a lot of extra work in my life, not just in technology that I don't get paid for. Big deal? Am I the Animal Shelter's bitch because I'm a volunteer there?

What about Open Source people? Most of them love what they do. They are somehow lame compared to some 'real' person like you because you charge for everything?

Somehow I think if we all posted copies of our W2's the truth would come out about who the world treats like a bitch
# April 12, 2005 2:10 PM

Anonymous said:

Ah, Charles Carroll, were you not the person who told Bill G at the 2001 summit how much you loved him

We were all cringing in our seats. Glad to see you leave the program. The criteria and system has changed lots in the last few years since that time.

And, I think the posting of names is way below the line.

:-)
# April 12, 2005 3:40 PM

Gladys Rodriguez said:

If I remember correctly, there was a 15 year old Windows Security MVP in the last Summit and, if I heard correctly, it was his second or third year being nominated, so ... with good knowledge, work and politeness, any one can be an MVP. Just need a bit of persistence.

From me I can tell you that even though I am already an MVP, I have to say that I never have done it for the title. I just love the feeling that you get when you help some one to do something that they thought could not be done or they just needed it really bad. A colleague told me once “I am not here for the money or prestige, I am here for that feeling you get when users look at you like you are a god.” And to that I say Right On!! This is why I do not only contribute to different communities, but also I have a develop website (http://www.businesshelpcentral.com) that provide others with free information as well as allow people to contribute. I really want that feeling every day.

To be an MVP, I do not think it means that Microsoft wants people that only talks good about their products, because the Summit was all about giving them feedback how to improve their products, how their product lacked capabilities and how it could be more user friendly. But in order to do that, one has to be knowledgeable about the product itself, about the competition and have a great deal of experience with users to know what they like and what they do not like. I think Microsoft wants criticizing. However, what purpose serve to pass judgment on something if the judgment is not constructive. There is a right way and a sloppy way. We have to be professionals and show respect for all ideas and opinions. And I am not telling this because I am the best at that! Actually, I usually I open my mouth and upset any one around. But lately, because of the experiences that I am gaining and the people I have been able to interact, I have come to the realization that most people are not around to make your life miserable. They just try their best and sometimes they err. That is what happens to me. I open my mouth to try to help, with no intention to offend and end up upsetting people. So having that in my mind, I am working towards better ways of communicating my thoughts. And because of that, I do not think that the VB petition was the right way. There was a constructive way and it was not used.
# April 12, 2005 8:29 PM

Jonathan West said:

I've been an MVP for 8 years. A fair bit of what you have said is correct, particularly about not being in it for the title, but I'd like to correct you on some things.

1. MVPs are not Microsoft's "volunteer army". Most MVPs prize their independence from Microsoft.

2. MVPs are not part of Microsoft and are therefore not any kind of "face of the company". The value of advice from an MVP comes in large part because the MVP is *not* part of Microsoft.

3. Microsoft does hire quite a few MVPs, but that is because they are good at what they do. They stop being MVPs the day they are hired.

4. Because MVPs are independent, they can (and in my opinion should) regard themselves much more as customer advocates to Microsoft than Microsoft advocates to the customer. For this reason, things like the Classic VB petition are perfectly proper activities for MVP, even if you personally happen to disagree with that particular example.

Overall, the key to the "MVP culture" as it has built up over the years is as follows

- MVPs do what they do because they enjoy helping people, and mostly would do so irrespective of the recognition from Microsoft

- Advice from MVPs is independent and truthful, and can either criticise or praise Microsoft when appropriate

- MVPs are mostly very resistant to getting caught up in marketing initiatives from Microsoft, partly because they know too much about the products to believe the marketing hype, and partly because too close an involvement undermines the impartiality (both perceived and actual) of their advice.

Of course, with a group of people as diverse as the MVPs, everything that I'm saying is a egeneralisation and does not apply to everyone.
# April 13, 2005 7:33 AM

TrackBack said:

# April 14, 2005 4:09 AM

Rob Conley said:

" Lets bring back "10 PRINT" while we're at it."


That is kind of attitude that has gotten many VB6 developers upset. 10 PRINT is perfectly valid VB6 code but it isn't valid VB.NET. It isn't because of any requirement of the .NET framework.

I can create a child form and add a function that will replicate the functionality (not the syntax tho) of the older print statement.

When you examine the .NET framework using a IL disassembler you see that much of the framework is a wrapper for calls to the various windows APIs.

So they have choices about exactly how to implement something for a given langauge that is outside of the .NET framework.

In addition from Microsoft Research and other places you have some truly unusual langauge that can use the .NET framework and runtime (F# is one)

It boils down to the fact that this decision and many other changes has made the transition very costly for companies with existing VB6 application.

We will be forced to deal with the situation because the Windows OS continually changes. As a small manufacturer we can't rely on a slow measured change in OS or hardware without paying 5 times as much for hardware from a industrial PC vendor.

A programming langauge is first and foremost a tool. There is no upgrade path using any of microsoft's tools that doesn't impose extensive costs on my company. When Microsoft make a decision that increases my cost I get upset.

What I want is .NET langauge that has the syntax of VB6. That is smart enough to read the vb6 .frm, .cls, .bas, .ctl files and make an assembly or exe out of it.








# April 14, 2005 8:05 AM

Oliver Sturm said:

Hm, I got a rather different impression when watching the video... I wrote about it on my blog a few days ago.

http://www.sturmnet.org/blog/archives/2005/04/07/crappy-image-library/
# April 14, 2005 9:24 AM

Tim Dawson said:

I hope I'm wrong, but when I watched the video it seemed like most of the 16x16 "common toolbar" images were 24bit with magenta backgrounds. Talk about going almost all the way but not quite reaching the mark.

We need 32bit PNG images that actually have an alpha channel, like the actual toolbar images used in the Office 2003 products. Anything short of that will be inadequate.

Hopefully my fears will be laid to rest when I get beta 2.
# April 14, 2005 11:29 AM

Stefán Jökull said:

Hi Tim.

Well if they include high color .ico's they should have alpha transparency in there, so a converter would be able to convert those to PNG's. A bit of a hassle but pretty doable with a good batch converter.

P.S.
I'd like to give you a virtual "pat on the back" for an excellent job on the controls on your site. Those WindowsForms controls are pretty awesome :)
# April 14, 2005 12:10 PM

Steve Friedl said:

I was named a Security MVP in October 2003 in spite of my very long association with UNIX and Open Source (I think I'm the only MVP with "unix" in his domain name), and I've been surprised by how much of a non-issue even my open advocacy of open source has been. I've worn my Linux "Tux" pin to nearly every Microsoft event I've been to, and *never* gotten any static.

I don't care about Microsoft.
I don't care about Linux.
I care about *customers*

The latter seems to be what's mattered to Microsoft.

Steve
# April 15, 2005 12:49 AM

Tom Sluder said:

Do you know if the beta 2 build includes new builds of the Express versions or just VS2005 and the .NET Framework?
# April 15, 2005 1:17 PM

Robert McLaws said:

Beta 2 will be Beta 2 of everything... Express, Team System, Starter Kits, MSDN, the runtime, the SDKs, and the IDE. At least, that's how I understand it.
# April 15, 2005 1:19 PM

Tom Sluder said:

Thanks for the quick reply Robert, I'll take some time later to uninstall my current versions of the product. I don't want to have any conflicts when they are finally released and I try to download and install. Plus it'll save me drooling time later.

Tom
# April 15, 2005 1:22 PM

Robert McLaws said:

If I were you, I'd prep a clean VirtualPC image and test it there. It's much better than trying to install and uninstall things to keep your system from getting hosed.
# April 15, 2005 1:25 PM

Tom Sluder said:

The machine I use for this is strictly a test/development machine. If it gets hosed it's only an hour or so to get it reinstalled and back to current form.
# April 15, 2005 1:30 PM

TrackBack said:

I misunderstood my sources; the beta 2 bits were signed off today, but they won&rsquo;t be released for...
# April 15, 2005 7:52 PM

Eric Maino said:

Great to hear. I plan to be in attendance as well. Though I do not think I will be judging I will be covering the event froma Student/MS Employee perspective :-)
# April 16, 2005 12:33 PM

d said:

You're assuming the J# runtime is being installed for your use, perhaps VS itself needs it?
# April 17, 2005 4:30 PM

Ron Krauter said:

Rob,

My same thoughts. Why install something I *never* plan to use.

d,
And why in Gods name would VS.Net need J#?

Maybe this has something to do with the settlement with Sun Microsystems?

# April 17, 2005 5:00 PM

Rob said:

Because some parts of Visual Studio utilize the GZip library, which is part of the J# runtime.
# April 17, 2005 6:04 PM

Michael Teper said:

According to this post from Aaron Stebner (http://blogs.msdn.com/astebner/archive/2004/08/19/217325.aspx), this was supposed to have gone away in beta2 timeframe. I just finished downloading b2 but havent run the installer yet. The redist was still being force-fed in the February CTP.
# April 17, 2005 6:46 PM

David M. Kean said:

It's also the first thing I uninstall after installing Visual Studio.

If it was because of the GZip support, why wouldn't they use the new GZip stream class (GZipSteam) within the System.IO.Compression namespace?

# April 17, 2005 7:27 PM

Chris said:

I don't know how you can say you'll "never use" it. Software that was written in J# requires the J# runtime. It provides the ability to coding for both .NET and Java platforms with one code base (for the most part), and I would be surprised if more vendors didn't start realizing the benefits of this soon.
# April 18, 2005 12:51 PM

Robert McLaws said:

If that is the case, why not just make it a part of the .NET Framework? Why do we need the VB runtime redux?
# April 18, 2005 2:56 PM

Chris said:

Good question! I agree the redistributable package is troublesome, but that doesn't take away from the merits of J# itself. I'm all for making it part of Framework.
# April 18, 2005 3:20 PM

Wallym said:

why is your time showing up as a couple of hours in the future? I thought u were in the US?
# April 19, 2005 1:34 PM

Robert McLaws said:

<ominous voice over> I'm speaking to you from beyond the realm of the present time. The flux capacitor on my time machine is broken, and I can't return to my own time...<end voice over>

Just kidding. I have yet to figure out why the times are different when I post from VisualBlogger. I'll try to have it resolved in the next revision.
# April 19, 2005 1:44 PM

David M. Kean said:

Yes it can and quite happily. The performance has been improved somewhat. And for those that won't be able buy Team Foundation is it now a viable option.
# April 19, 2005 6:21 PM

Chris Szurgot said:

I've been using SourceSafe 2005 with 2003 since November and haven't had a problem. You have to have .NET 2.0 installed, but otherwise it works great for me. (Stand alone setup, mind you)
# April 19, 2005 6:42 PM

Paolo Marcucci said:

Does it work outside of LANs?
# April 19, 2005 7:26 PM

TrackBack said:

# April 19, 2005 9:52 PM

Anon. said:

Yep - good healthy debate here, perhaps an ironic twist is that there is not a similar thing with a business focus.

Perhaps it's harder to advise and support people on the commercial side of things when it comes to recommending Microsoft over another vendor.

Of course, if Microsoft ever did take the bold step to set up another track that focused on the people who evangelise and help business people use their tools, well that would mean the marketing team would have to get smaller, wouldn't it :-)
# April 20, 2005 1:39 AM

Robert McLaws said:

Thanks for the helpou'll notice in that post Barry. If you notice in that blog entry, his code was the basis for my existing code. The problem is, I need to get from THAT point to a robust solution.
# April 21, 2005 12:49 PM

Oren Novotny said:

When you get the targets file resolved, can you release those first while a tool is worked on?
# April 21, 2005 2:31 PM

Jomo Fisher said:

Robert, I've posted a new sample that shows how to get the basics working in Beta 2. It also shows off some cool new features and is far more functional than my Beta1 targets. This might be helpful as a starting point.
# April 22, 2005 4:09 PM

TrackBack said:

Interesting finds this week
# April 23, 2005 10:55 AM

David Yack said:

I've been using 2005 as well one one of my laptops and it seems to work fine with VS2003 so far. I was a little suprised the first time I opened up VS2003 and saw the VSS 2005 prompt!
# April 26, 2005 1:10 AM

TrackBack said:

# April 27, 2005 3:09 AM

Oren Novotny said:

Jomo, I couldn't find the reply link in your blog, and I sent you an email too. Anyway, the generated .resources files appear to come from the 2.0 tools as the files in obj\.NET 1.1\Debug have the 2.0 header. (Just open them in notepad to see the reference to the 2.0 ResourceReader.)

How can this be fixed so that the 1.1 resource file is generated?

Thanks,
--Oren
# April 27, 2005 10:27 AM

TrackBack said:

# April 28, 2005 12:25 AM

TrackBack said:

# April 28, 2005 12:48 AM

TrackBack said:

Just found a very interesting entry in Robert McLaws's BLOG
&nbsp;
# April 28, 2005 1:00 AM

Muhammad Haseeb Khan said:

Excellent Post.

Please tell me how to become a Microsoft Technology Evangelist ?

I am very excited for Microsoft Technology Evangelist ?

Please help .........
# April 29, 2005 3:41 AM

S.M.Safdar Raza Naqvi said:

How I become a MVP of Microsoft.
# May 1, 2005 5:11 PM

TrackBack said:

Last week Robert McLaws started placing Google Adsense Ads in the LonghornBlogs RSS Feed. The reaction from the community seemed to be mostly negative; Dave Winer for instance, wrote: If we wanted to, as an industry, reject the idea, we could, by asking the people who create the software to add a feature that strips out all ads. Make it...
# May 1, 2005 7:19 PM

Scott Galloway said:

Check out http://msmvps.com/matthewsoft/archive/2005/04/27/44767.aspx
It's Passport 3.0 - very nice upgrade - just a shame it's for MS properties only...
# May 11, 2005 4:24 AM

SBC said:

this is terrific news!
thanks..
# May 12, 2005 3:00 PM

Jason Gaylord said:

I had one of our reps check with MS about this and it seems as though you can get the new MSDN Premium with Team Foundation Server 2005 for around $1500 a year on a 3 year open license if you already have MSDN Universal.
# May 12, 2005 3:18 PM

JuanBarbatos said:

Thats great news. It sounds like MS fixed half of the problem. It seems like a lot of people were also complaining about the "role editions" as well though. A lot of consultants will fit under all 3 "roles" and thus need all 3 subcriptions?
# May 12, 2005 3:21 PM

TrackBack said:

Microsoft, listening to customer feedback, says it will include a limited version (5 users) of the Team Foundation Server in the MSDN Universal subscription.
# May 12, 2005 4:26 PM

M. Keith Warren said:

I agree with Juan, there needs to be more clear definition of the product lines for people who are consultants/microISVs
# May 12, 2005 5:34 PM

i/Noodle said:

Yeah, it would be nice to be able to load test the apps I develop without having to buy the 'test' edition too.
# May 12, 2005 6:20 PM

James Crowley said:

Good news! Nice to know MS still take at least some of our comments seriously :D
# May 12, 2005 6:49 PM

Cyriel said:

Too bad they didn't do anything about the three different editions (yet). For small shops and consultants this still isn't interesting and i think lots of people are still considering to move to Visual Studio 2005 Pro in combination with Subversion, AnkhSVN, Cruisecontrol, Nant and Nunit instead (and yes, i'm one of them).

So guess it's time to start the "drop the three different hats" campaign because it looks like the "we want a lite version of team foundation server" campaign has now been succesfully completed :)

# May 13, 2005 3:26 AM

TrackBack said:

Awesome news that I just read over on Robert McLaws'
blog: each of the Visual Studio Team System editions...
# May 13, 2005 7:05 AM

css said:

Next we need to get the Code Profiling, Static Analysis, Unit Testing, Code Coverage into Visual Studio 2005 Professional with MSDN Premium Subscription. See below:
http://msdn.microsoft.com/howtobuy/vs2005/subscriptions/compare/
Spread the word. Maybe we'll luck out again. If Microsoft is serious about letting developers create better software, they will bundle those tools with the lower subscription levels.
# May 13, 2005 6:33 PM

TrackBack said:

# May 14, 2005 2:30 AM

Prashant Sridharan said:

The role SKUs will definitely stay intact. In fact, our future plans call for adding more role SKUs over time. If you want everything in Visual Studio Team System, that's the Team Suite product (it's a hard bundle, meaning there is one setup and it installs everything). Getting into Team Suite starts at a $2300 upgrade price in retail, with that amount dropping as you get into higher volume.

$2300 may seem like a lot, but price our load testing tools against those from our competitors. In almost all cases, you'll see that Microsoft's load testing tools are 50-200% less expensive. And, I'm confident that our load testing tools are quite comparable for Web and Web services testing. You're going to be the judge, of course...

Let me also reiterate that Visual Studio 2005 Professional Edition with MSDN Premium Subscription is a PURE SUPERSET of MSDN Universal today, and it's $500 less expensive in 2005. Don't discount what we've done in the "core" Pro product...in an ordinary year, the work on ASP.NET 2.0, Windows Forms, programming languages, mobile development, data tools, and so on would be a much lauded and major, major release in and of itself. All of that is now $500 less expensive than it used to be.

In the next version, we very well may push unit testing into the Pro box. The other features will likely stay in the Team Edition for Software Developers. We're also exploring what it means to put the *security* portion of those code analysis tools in Pro. Again, we're exploring all those things now, but for a future version. VS05 itself is on an end game trajectory.

You have to understand that these features were never designed to be decoupled in a mix and match type manner. If you look at all the other lifecycle tools on the market, they all suffer from the same fatal flaw: different user interfaces, different workflow models, different data models, etc. The end result is that these tools actually create communication barriers since you end up having to do a lot of "translation" from one product to another, one user to another, one project to another, etc. With Team System, we always said we would sacrifice features in favor of integration. In the end, I think we were able to get the features we wanted AND the integration we knew was necessary.

I'll also add that to look to the future, you need only look to our past history. As we progress over time with future versions, advanced features typically find their way into the lower end products, with "new" advanced features taking their place at the high end. Without getting specific, I think it's safe to assume that trend will continue over time.
# May 15, 2005 12:10 AM

Steve Luzynski said:

Please, please, PLEASE, put the security code analysis features in all editions. If there's anything that is needed on the Windows platform it is more attention to security minded coding.

If there's any way you can squeeze it into the standalone language products (the $110 ones that don't have the word "Team" in them anywhere) the functionality should be there too.
# May 15, 2005 7:55 PM

TrackBack said:

# May 16, 2005 12:14 AM

TrackBack said:

# May 16, 2005 5:27 AM

Phillip "Molly" Malone said:

Cool. You might get one when you go to work for them! ( ;-) I know it was a joke).

By the way, if your getting a tablet PC you might be interested in the Tablet PC show over at the podcast network:
http://www.thepodcastnetwork.com/tabletpc

HTH
Molly
# May 17, 2005 1:57 AM

Ian said:

All I need to do is persuade my wife that we need another holiday in the US .. Novemberish sounds good.
# May 17, 2005 3:18 AM

Frans Bouma said:

What I read was (on shacknews) that it would be compatible with only the top XBox games. So it's not by default an xbox game will run on xbox 360.

Btw, seen the PS3 footage? :P
# May 17, 2005 5:34 AM

TrackBack said:

CONFIRMED: XBOX 360 Backwards Compatible
CONFIRMED: XBOX 360 Backwards CompatibleEngadget confirms that...
# May 17, 2005 10:43 AM

Dan L said:

Good idea, Steve L. As an SA to Microsoft from 2003-2005, I believe this would be a very important thing as well...a focus on security on the developer end.
# May 17, 2005 6:13 PM

Oren Novotny said:

In VS 2005 with C#, I haven't had any problems with parameters in form constructors. Did you make sure that you either chain your constructor so that the default constructor is called too (I'm not sure the syntax in VB.Net, but it'd be MyConstructor(string foo) : this() in C#) or call InitializeComponent from your additional constructor. There's really no magic going on... the default constructor just calles that method, so any other constructors need to as well, either explicitly or by calling the other constructor.

--Oren

# May 18, 2005 8:32 AM

Tim Dawson said:

Are you saying that C# (or VB) no longer implicitly calls the parameterless constructor when writing other constructors?

Either way, I don't think this is a designer issue. InitializeComponent is never called in the designer unless you're dealing with inherited forms.
# May 18, 2005 1:51 PM

Robert McLaws said:

Tim, yes that's what I'm saying. But it's not a designer issue. I'm saying at <b>runtime</b>, if you call a different constructor without explicitly creating a parameterless constructor, InitializeComponent is never implicitly called.
# May 18, 2005 2:08 PM

Daniel Moth said:

Although I detest what the VB team has done with the default ctor being optional, I still don't see your issue, maybe you can explain further.

If you add a non-parameterless ctor to a form, you have to explicitly call either InitializeComponent or the default parameterless constructor (which itself calls InitializeComponent).

I don't see that statement being false in either VS.NET 2003 or VS2005. What am I missing?

<em>As an aside, it might help the VB team if you told them which startup model you chose now that they have introduced yet another one (have I said how much I hate where they are taking the language).</em>
# May 18, 2005 4:25 PM

Mark Erikson said:

So, is this a revised version of the MSBuild Compatibility toolkit that you're working on? I'd love a solid solution for targeting the 1.1 Framework with VS2K5.
# May 19, 2005 2:12 AM

Robert McLaws said:

Yes. It's the release of the MSBuild Compatibility Toolkit targeted at VS2005 Beta 2. Hopefully I'll be finished with it soon.
# May 19, 2005 3:06 AM

Chris Flaat said:

Robert -

Yes, the MSBuild object model in the beta2 release still has some excess stuff in it that will be removed before RTM. Some types and methods, including your personal favorite GetDirectlyImportedProjects(), won't exist in the final MSBuild object model. They were redundant "convenience" API's. Anything you could do with those you can still do with the fundamental object model that remains. We weren't able to do this refactoring before beta2.

As for accessing the MSBuild instance that VS is using, there is no way to do this.

We appreciate your feedback -- keep it coming!

Chris Flaat
MSBuild Team
# May 19, 2005 4:22 PM

Robert McLaws said:

Chris,

Thanks so much for your comments. I just wanted you and your team to know that MSBuild is really great. Interacting with it can be difficult, especially for what I want to do with it.

It's good to know that you guys are making changes... I'll be looking forward to them. Thanks!

-Robert
# May 19, 2005 6:20 PM

Mike Sax said:

Thanks for the good review, Robert...the last line is my favorite.
# May 20, 2005 2:43 PM

Ricky said:

(re: your spoiler comments)

You're supposed to feel sorry for Vader. The 6 movies are really all about the rise, fall, and salvation of Anakin Skywalker. The fall of the Republic is just the backdrop.
# May 20, 2005 4:19 PM

rick said:

How long was that fateful battle supposed to last? When Padme confronts Anakin, she looked like she was in her second trimester at the latest. When Obi-wan comes back, she has the baby.

# May 20, 2005 5:19 PM

Robert McLaws said:

Rick: Dunno, to be honest I think the events took place over the course of a year, because she didn't look pregnant in the first 20 minutes of the movie, then she was showing a bit a few scenes later, then she was showing a lot. So it's hard to tell.

Maybe humans in that other galaxy have quicker gestation periods ;).
# May 20, 2005 5:22 PM

Robert Scoble said:

This is what happens when someone writes a movie review without historical context. There is NO WAY this one is better than the first one. Why? That one broke so many rules and changed the movie industry forever.

This one still is trying to live up to the legacy of that movie that I saw in May, 1977 (and five times the first week).

This new movie is one I won't be seeing again. I'm sad my childhood memories finally has closure, but this movie is not a great one.

Even my son wasn't satisfied. All three of us agree it's the best of the new series, though.
# May 21, 2005 6:24 PM

Phil Winstanley said:

*grin*
# May 25, 2005 5:24 PM

Paul Wilson said:

IIS7 has been blogged about since Sept. 2004:
http://www.pluralsight.com/blogs/fritz/archive/2004/09/14/2262.aspx
# May 25, 2005 5:26 PM

Frans Bouma said:

So in other words, it's now completely modulized, like... apache! ;)
# May 25, 2005 5:47 PM

Salman said:

Hi Rob, very interesting. I remember hearing about IIS7 and its naitive support for httpmodules etc. Looking forward to it!
# May 26, 2005 11:46 AM

TrackBack said:

# May 26, 2005 3:53 PM

TrackBack said:

# May 26, 2005 3:53 PM

Dave said:

The line:
If info.Title <> "" Then

is more efficient written as:
If info.Title.Length > 0 Then

Sorry, went into code review mode.
# May 29, 2005 2:43 AM

Robert McLaws said:

Dave, hat was Microsoft's code, not mine. I tried to change as little as possible for the purposes of the example.
# May 29, 2005 3:51 AM

Aaron Brethorst said:

We know, we know! We're working on making it better :)

Aaron
# May 29, 2005 4:44 PM

TrackBack said:

# June 4, 2005 4:13 AM

TrackBack said:

# June 4, 2005 6:09 AM

Chris Slatt said:

Thank you so much!!! This is incredibly valuable.
# June 4, 2005 9:32 PM

James Shaw said:

Thanks Robert, I can't wait to try it. If this thing works as expected you've just done ISV's a great service!!
# June 6, 2005 12:48 PM

Robert McLaws said:

:) Please do not hesitate to give me feedback. I'd like to get this thing rock solid so that ISVs and other companies can really depend on it for compatibility.
# June 6, 2005 5:10 PM

Alex Odintsov said:

hey! great news!

Can you tell me if there is a way to build .NET 1.1 web applications by using MSBuild or this tool? (without creating VS 2005 project for that 1.1 app, because it will not be possible to keep that project (VS 2005) and VS2003 project in sync.
# June 6, 2005 9:07 PM

Robert McLaws said:

Alex... I don't understand the question. You need to have an MSBuild project to be able to build with this tool. The easiest way is to upgrade your VS2003 project to VS2005 and use it to build your app.
# June 6, 2005 10:36 PM

Clarke Scott said:

Hi Robert,

I'm interested to hear how this going?

Cheers,
Clarke
# June 6, 2005 10:53 PM

Jonathan Cozac said:

Great tool!
exactly what i was looking for.
Thanks.

I managed to get the vc2005 freeze when trying to access the "MSBuild Configuration" addin from the "Build" menu (rather from the context menu).
It happens only when the project in the Solution explorer is not in focus.
# June 7, 2005 11:09 AM

Leon said:

Great, we are trying it right now.
Thanks Robert!
# June 8, 2005 4:06 AM

TrackBack said:

MSBuild Toolkit for Visual Studio 2005 RC Announced
# June 8, 2005 6:03 AM

TrackBack said:

MSBuild Toolkit for Visual Studio 2005 RC Announced
# June 8, 2005 6:08 AM

Leon said:

Hi Robert,
One problem we encounter with MSBuild Toolkit is referencing COM objects. VS2005 create RCW which is referencing mscorelib.dll version 2.0.0. Attempt to compile project for .NET 1.1 fails. The only temporary workaround we found is create wrapper in VS2003 and reference it in VS2005 as regular .NET assembly. Do you have any better idea?
# June 8, 2005 10:03 AM

Alex Odintsov said:

Robert wrote:
"Alex... I don't understand the question. You need to have an MSBuild project to be able to build with this tool. The easiest way is to ----> upgrade your VS2003 project <------ to VS2005 and use it to build your app".

That's the point, I can not convert VS2003 projects to VS2005. Managers will not accept that risk. So I want to avoid using NAnt for 2003 projects and use MSBuild for both VS2003 and VS2005 projects.
# June 8, 2005 11:35 AM

Robert McLaws said:

Leon: Thanks. I haven't seen this yet, but I'm looking into how we should be doing it for teh targets/add-in.

Alex: Sorry. This tool will not support that scenario. You can't use MSBuild on VS2003 projects.
# June 8, 2005 2:42 PM

TrackBack said:

# June 8, 2005 4:40 PM

marco said:

...and? does it works?
# June 9, 2005 10:42 AM

TrackBack said:

It’s sad. It’s depressing really, that some prophecies have the ability to be self fulfilling if people...
# June 9, 2005 2:03 PM

TrackBack said:

# June 9, 2005 3:46 PM

TrackBack said:

Pour les frileux qui n'osaient pas encore utiliser Visual Studio 2005 pour des projets encore estampillé...
# June 10, 2005 10:23 AM

Carl said:

Ok, you're right MSBuild from the Build menu will hang on the first attempt to use MSBuild in a project. I understand that I need to do the right-click thing, but I don't have an MSBuild menu option for a Web Project. Thoughts?
# June 10, 2005 7:56 PM

TrackBack said:

C# 1.0 Conformance in VS2005
# June 10, 2005 9:58 PM

Jason Risch said:

Awsome work! Compiles out assemblies no problem. One thing I noticed is that both versions of mscorlib are referenced. Other than that I love it!

Jason
# June 15, 2005 4:28 PM

Jason Risch said:

Let me take that last comment back... I hadn't as of yet changed the platform.

Again... This Rocks!
Thanks
# June 15, 2005 4:34 PM

Shital Shah said:

I think some intro would have helped. Do you mean that now you can compile VS.Net 2005 projects to target .Net 1.x? What if I use features like partial classes or generics? Are there any other limitations?
# June 16, 2005 3:55 PM

Robert McLaws said:

Did you read the readme at the end of the installer? Probably not, huh? The readme file has some basic information on how to get started. Please read it completely before using the toolkit. There will be a help file in the next release.
# June 16, 2005 4:30 PM

TrackBack said:

# June 17, 2005 7:32 AM

TrackBack said:

Robert McLaws is switching from an ASP.NET MVP to a Windows Client MVP. Undoubtedly, Robert is betting that the investments that Microsoft is making in client apps is going to make for an exciting year or two ahead....
# June 18, 2005 1:17 PM

noamHonig said:

hi

i installed the addin to a deferent directory the the setup sujested (same but on drive d)

whe i started devenv it raised an exception.

i solved the problem by re installing to the default directory - just thought you should know
# June 21, 2005 4:59 AM

jayson knight said:

I too have been baffled by the whole "databinding to XML" thing for a while now; writing to an .xsd and then running xsd.exe, then adding the class to the project seems like a total PITA. Seems like that could all be done behind the scenes. Here's to asp.net :-).
# June 25, 2005 2:36 AM

David said:

I agree, the data binding story in WinForms is terribly. Another one that doesn't work: CheckedListbox. Essentially this half baked support made me not use data binding in the first place, because there were too many controls where I would have to write custom data binding code myself. I had a look at Avalon last week and have to say that the data binding story there is just beautiful, the most powerful and complete thing I have ever seen in that space.
# June 25, 2005 3:44 AM

Frans Bouma said:

I've yet to dig into databinding for .NET 2.0 more, but what I've seen so far isn't that bad, except the VERY CRAPPY decision to use 2 different ways to bind object graphs to controls: one for webforms and one for winforms. Oh, and one under the hood for datasets but no-one is allowed to know about that.

Databinding to a treeview... I never saw that as a problem though. It's not as straightforward as you might think, and often you want your own scheme how the tree is build up, given an object graph.

What I do hate about the .NET 1.x treeview is the crappy single-select option and the lack of finding a node back.

But these things are minor. Most development time in a large winforms application's GUI work is lost with dealing with databinding related crap, like change events are fired -> grids are updated, though the change event was about a removed object, -> grid crashes, which means you'd better use a special ArrayList, with IBindingList implemented, otherwise you're in for a lot of fun...
# June 25, 2005 5:33 AM

Oren Novotny said:

A fix for the AddIn path bug in the .AddIn file was supposedly checked in on 6/3. The June CTP was built on 6/1, so the change is not in it, but in the next release we should be able to use relative file paths.

See this bug for MS's comments:

http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=4aae0d5c-9051-4d9a-9f61-2e0931d625e0

# June 27, 2005 12:09 PM

Jomo Fisher said:

Robert,
It looks like you've tried your toolkit with June CTP. Have you had a problem with debugging? (see http://blogs.msdn.com/jomo_fisher/archive/2005/06/27/433067.aspx).


This posting is provided "AS IS" with no warranties, and confers no rights.
# June 27, 2005 12:22 PM

Robert McLaws said:

Thanks for the help Frans. I'll keep an eye out for that.
# June 27, 2005 5:43 PM

Dan said:

Re: Building VS2003 projects that you don't want to convert to MSBuild format ...
There is an assembly that ships with MSBuild called Microsoft.Build.Conversion.dll that it should be possible to use to convert the VS2003 projects to MSBuild projects on the fly. This contains the code that VS itself uses to do the upgrade, and I suppose in theory you could use it to convert every time just before you build, then throw away the converted projects when you're done building.
# June 30, 2005 12:52 PM

Robert McLaws said:

Yeah, but the problem is, you can't open a 2003 project in 2005 without converting. So we're talking about a command-line issue then, or as part of an automated build system. In that case, it is conceivable that it would work... but i don't see why you couldn't just convert to 2005 and compile to 2003, as that was the original intention of the kit.
# June 30, 2005 1:00 PM

Thomas Wiegmann said:

I want to use the Toolkit with C# Express Edition Beta 2.050215-4400 (you mentioned "It should work with ALL versions of VS2005, including the Express SKUs." last year). Unfortunately, I'm not getting the menu item in Build or application context. Maybe due to German OS (%PROGRAMFILES% is "C:\Programme", not "C:\Program Files")?

Any idea? Other way to access?

Thanks
# July 8, 2005 11:09 AM

me said:

Thomas,
I have a Spanish version of Windows. I had to force the installation of the Toolkit in "C:\Program Files" and not the default "C:\Archivos de programas". That worked for me.
# July 8, 2005 4:53 PM

Pete said:

I'm getting this build error:

D:\VSProjects\MyApp\Class1.vb(9) : error BC30968: Reference required to assembly 'System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' containing type 'System.ComponentModel.Component', but a suitable reference could not be found due to ambiguity between 'C:\WINDOWS\assembly\GAC\System\1.0.5000.0__b77a5c561934e089\System.dll', which is referenced by project 'MyApp', and 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\System.dll', which is referenced by project 'MyApp'. If both assemblies are identical, try replacing these references so both references are from the same location.


The strange thing is the reference to System in MyApp.vbproj is just <Reference Include="System" />

What can be wrong?
# July 8, 2005 5:54 PM

y67y said:

[url=http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">http://www.satsky.net]卫星电视[/url][url=http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">http://www.shstv.com]卫星电视[/url][url=http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">http://www.udvb.com]卫星电视[/url][url=http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org]卫星电视[/url]
[url=http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">http://www.satsky.net]卫星电视[/url][url=http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">http://www.shstv.com]卫星电视[/url][url=http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">http://www.udvb.com]卫星电视[/url][url=http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org]卫星电视[/url][url=http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">http://www.satsky.net]安装卫星电视[/url][url=http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">http://www.shstv.com]安装卫星电视[/url][url=http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">http://www.udvb.com]安装卫星电视[/url][url=http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org]卫星电视[/url][url=http://www.chinastv.cn]卫星电视[/url][url=http://www.cnhdtv.net]卫星电视[/url][url=http://www.cndtv.org]卫星电视[/url][url=http://bbs.tvcn.org]卫星电视[/url][url=http://www.musicwind.net]卫星电视[/url]
<a href=http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">http://www.satsky.net>卫星电视</A><a href=http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">http://www.shstv.com>卫星电视</A><a href=http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">http://www.udvb.com>卫星电视</A><a href=http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org>卫星电视</A><A href="http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">卫星电视</A><A href="http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">卫星电视</A>
<A href="http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">卫星电视</A> <A href="http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">卫星电视</A>
<a href=http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">http://www.satsky.net>安装卫星电视</A><a href=http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">http://www.shstv.com>安装卫星电视</A><a href=http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">http://www.udvb.com>安装卫星电视</A><a href=http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org>安装卫星电视</A><A href="http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">http://www.satsky.net">安装卫星电视</A><A href="http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">http://www.shstv.com">安装卫星电视</A>
<A href="http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">http://www.udvb.com">安装卫星电视</A> <A href="http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">http://www.tvcn.org">安装卫星电视</A>
<a href=http://www.chinastv.cn>卫星电视</A><a href=http://www.cndtv.org>卫星电视</A><a href=http://www.cnhdtv.net>卫星电视</A><a href=http://bbs.tvcn.org>卫星电视</A>
<a href=http://www.musicwind.net>卫星电视</A>
# September 19, 2005 2:04 PM

Vurg said:

I think it's too complicated for what it does, although I agree with the improved user experience benefits. On the development side, it's a nightmare. The samples and the walkthroughs in the .vsi preview just touches on the surface, but when you look at <a href="http://www.nikhilk.net/Entry.aspx?id=92">Nikhil's PDC demos</a>, you'll see it brings a lot more complication to custom control development. Putting both javascript and C# in the mindspace is a bit difficult. But then, that's just its initial impression on me.
# September 28, 2005 6:45 PM

MonkeyMan said:

so the back button works? oh wait, nevermind.
# September 28, 2005 7:33 PM

rx said:

why not just talk about how atlas helps us developers and stop the google bashing bs retoric. you and gates should date.
# September 28, 2005 8:27 PM

erwerwe said:

It's too bad that they stole a bunch of Atlas code from the Prototype and script.aculo.us projects.

Details here: http://www.loudthinking.com/arc/000511.html
# September 28, 2005 8:43 PM

jstew said:

I've just scoured through the Atlas alpha bits - the framework learning curve seems a bit overkill for what it actually does. I believe Scott Guthrie and company should focus on simplicity in the next releases rather than flock new features on a already complex framework.

Also, it seems that you will need to know a fair bit of javascript and DHTML? Javascript coding seems a major part of Atlas. Is this really necessary? I've just played a bit with alternative AJAX packages from commercial vendors like Dart and Telerik - the amount of javascript code was minimal.
# September 30, 2005 3:14 AM

vassudha seelam said:

iam completed btech. i have 1 yr experience.
can u tell me details.
my number is 9885103426
and 9346310064
# October 20, 2005 3:08 AM

Paul Wilson said:

Cool -- looks very promising. Keep us informed about progress on the remaining "issues".
# October 25, 2005 3:49 PM

Christopher said:

I did the same thing, but used a small wrapper command-line exe.

The only drawback to that method is that the path of the exe needed to be hardcoded into the registry value (i.e. c:\bin\WebDevHere.exe) even when it was in my PATH or under %windir%.

From my limited research, doing a random number in batch language is non-trivial. I even looked at writing a .js file to be executed by cscript, and the best tradeoff that I could come up with was the command line wrapper.
# October 25, 2005 4:07 PM

Chris Frazier said:

I didn't see my other comment come thru yet, but if you're interested, here's the code for the command line exe I wrote:

using System;
using System.Windows.Forms;
using System.Diagnostics;

namespace OpenCassini
{
class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
string path;

string command =
@"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE";
string commandArgs = string.Empty;

Random r = new Random();

string port = r.Next(1024, 9000).ToString();

if(args.Length == 1){
//grab the original path
path = args[0];

commandArgs += " /path:\"" + path + "\"";
commandArgs += " /port:";
commandArgs += port;
commandArgs += " /vpath: \"/";
commandArgs += path.Substring(path.LastIndexOf('\\') + 1);
commandArgs += "\"";

System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();

info.Arguments = commandArgs;
info.CreateNoWindow = true;
info.FileName = command;
info.UseShellExecute = false;
info.WorkingDirectory = command.Substring(0, command.LastIndexOf('\\'));


Process.Start(info);

using(Control c = new Control()){
Help.ShowHelp(c, "http://localhost:" + port + "/");
}
}
}
}
}


Using Help.ShowHelp has the side effect of opening the default browser instead of just IE.

--
-Christopher
# October 25, 2005 4:17 PM

Daniel Fisher(lennybacon) said:

No drawback at all:

string command =
Path.Combine(System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory(),
"WebDev.WebServer.EXE");
# October 26, 2005 3:44 AM

mihailik said:

It seems WebDev.WebServer is not in .NET Framework itself, but in Visual Studio 2005.

If WebDev.WebServer come to dotnetfx.exe redistributable, it would be great mistake. There are no benefits for plain user to have micro HTTP server. But it may be excellent tool for malware and viruses.

So I hope it is not into redist. If it is into, I will work proactively to remove it (since I am Developer Security MVP) :-)
# October 26, 2005 4:08 AM

Chris Frazier said:

The drawback was that I had to run the command-line exe with a full path, e.g. C:\bin\OpenWebDev.exe "%1" in the registry setting.

Neither putting it in my PATH nor putting it in %windir% helped (I would constantly get a dialog saying that there is no file association for the folder). I guess the commentAPI comments don't work on this blog anymore.
# October 26, 2005 12:42 PM

Robert McLaws said:

I've got a solution that makes the full path a non-issue. I'll blog more about it shortly.

mimalik is right, VS2005 installs the webserver into the .NET directory, it's not in the Framework.
# October 26, 2005 12:45 PM

TrackBack said:

http://demiliani.com/blog/archive/2005/10/25/3100.aspx
# October 26, 2005 12:57 PM

Martin said:

"I'm just waiting for the actual release to put it out."

VS2005 released now :-) And I am eager about to see the new release of this fine kit ;-)
# November 1, 2005 7:06 PM

Vladan Strigo said:

any news on the toolkit? do you know an estimated date of the new release?

do you know if there are any new additions to the RTM for this purpose(enhancements to MSBuild integration and such)?

Vladan
# November 2, 2005 3:38 AM

Gustavo Guerra said:

Have you seen my .targets file?
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=121840&SiteID=1
Maybe it can help you
# November 4, 2005 9:37 AM

Robert McLaws said:

I have. I'll check them out, but to be honest, the .targets file is the least of my concerns at the moment. I need to fix the MSBuild stuff first.
# November 4, 2005 10:21 AM

Brenton House said:

# November 7, 2005 12:02 PM

Peter said:

Keep up the good work! Can't wait for you to have a working RC version ready! I know a lot of people who will use your splendid work!

Kind regards,
Peter.
# November 8, 2005 9:27 AM

Clift Norris said:

Could you post the source for the project that produced the .MSI package?
# November 8, 2005 1:14 PM

hong son said:

thanks for your efforts!
i'm anxiously awaiting for this capability.
# November 9, 2005 1:05 PM

dan said:

# November 9, 2005 8:33 PM

Alex said:

Will this support VB.NET too, or is it just for C#? :-(
# November 10, 2005 12:24 PM

Robert McLaws said:

Anything I put out will always support both languages ;).
# November 11, 2005 2:15 AM

Thomas Tomiczek said:

They can not. It is not covered by SPLA so far. And without SPLA coverage, you are not allowed to offer ANY windows program for hosting.
# November 11, 2005 2:39 AM

Alex said:

A true man of the people :-) Thankyou!
# November 11, 2005 5:42 AM

Matt Hawley said:

I dont think there is anything, I'd say roll your own by using Wintellect's Power Collection at http://www.wintellect.com/powercollections/
# November 14, 2005 9:10 PM

Robert McLaws said:

I looked over it, doesn't look like it would work for what I'm looking for. Was there a specific part of that package that you were thinking of?
# November 14, 2005 10:17 PM

Brian Scott said:

I've needed the same thing. In fact, I'm rolling my own right now. I've never seen anything built in that will work. I've gone two ways in the past. One was raising events when the collection's state changed and the other was holding a reference to an owner object that took the update notifications.
# November 15, 2005 12:07 AM

Matt Hawley said:

I'd suggest using their CollectionBase<T> and deriving from that and rolling your own.
# November 15, 2005 2:30 AM

Frans Bouma said:

Don't use the .NET base classes, as they don't have virtual add/remove/insert methods, so a user of your code will always be able to bypass the change tracking.

You can do a couple of things:
1) implement IList<T> in a class and internally simply wrap a List<T> object. This is not that hard to do, and you have full control of the change tracking. I do this in my o/r framework
2) use CollectionBase<T> from powercollections. Now, if you agree with the powercollections license, you can use that base class. It actually has virtual add/remove/insert methods so you can lock the code to always call your code. The downside is that you either have to ship the powercollections.dll with your app or copy the powercollections' sourcecode to your own project and be sure your license agrees with the powercollections' license. And to be honest, the code required isn't rocketscience, it takes you half an hour tops.
# November 15, 2005 4:00 AM

Wolfgang said:

Maybe I'm amiss here, but isn't this what System.ComponentModel.BindingList<T> is supposed to do?

Frans: what do you mean? Collection<T> calls virtual methods RemoveItem and InsertItem for Add/Remove/Inserts. If you override RemoveItem and InsertItem, how can a user still bypass your changetracking (or BindingLists, because that overrides those methods to do the change tracking)? (And I mean in "normal" usage, with Reflection you can do all kinds of nasty things of course)
# November 15, 2005 9:31 AM

Paul Wilson said:

Sounds good Robert. By the way, I just wanted to point out that the WilsonORMapper does NOT generate any code, so any code you're reading and not liking is either your own, or generated with my quickstart helper or templates, neither of which is required -- so you could be reading your own code. :)
# November 15, 2005 2:27 PM

mix said:

getting a "HTTP Error 403.1 - Forbidden: Execute access is denied.
Internet Information Services (IIS)" on the download. Can you make it a txt file?
# November 15, 2005 2:31 PM

Robert McLaws said:

Paul - Right. In the case of WilsonORMapper, I just wasn't fond of the architecture. Of course, that was a few versions back, so I could be wrong now. It's just a preference thing ;).
# November 15, 2005 2:54 PM

Anonymous said:

Warning: Pet peeve venting ahead

My only suggestion would be to change the name from SmartList -- I'm really tired of reading code that uses names like this. Smart is meaningless and tells me nothing about what this object does. Its so easy to come up with a better name and its going to make everyone's life better later. How about calling it ChangeTrackingList and helping reduce my blood pressure :)
# November 15, 2005 4:53 PM

Robert McLaws said:

Anon, I would normally agree with you.. I think calling technology "smart" gets overused. I tried a couple other names, but would have conflicted with objects in my app. Example: ArchiveList or VersionedList. I like SmartList<T> because it's more intelligent than a plain old dumb list. If you use the code in your own app, you can call it whatever you want... that's why I posted the source and not an assembly ;).
# November 15, 2005 5:03 PM

Andy Stopford said:

My thoughts are with you Robert.
# November 16, 2005 4:57 AM

Jason L said:

One of my closest cousins was in a serious car accident about 12 years ago. Just like Meghan, his injuries were so severe, most people said he should not have made it. I am happy to say that he is alive and well, and just recently became engaged. God bless you and your family.
# November 16, 2005 10:34 AM

Robert McLaws said:

Thanks guys :).
# November 16, 2005 12:33 PM

David Neal said:

I read your last post and several of the others. Meghan's life truly is a miracle, and it is great to hear how this has brought your family closer together. God bless you all.
# November 16, 2005 4:23 PM

Kisk said:

Looks like MSBee is going to take 3-4 months before its out of the door. Can you put out a release which would work with VS2005 sooner? Thanks for the great work.
# November 19, 2005 7:34 PM

Keith Patrick said:

I haven't read anything about any of the solutions supporting intellisense for 1.1. Is this a separate problem that won't be addressed? It's nice to be able to build the projects with a single environment, but I'd still like to maintain my 1.1 app with 05, but I've become too dependent on intellisense with so many libraries and versions to write to these days.
# November 28, 2005 4:31 PM

Mischa Kroon said:

You might want to have a look at www.mygenerationsoftware.com

It's almost the same thing ... only it works better for me :)

You might want to have a look at what works best for you...
# December 8, 2005 4:47 AM

Jordan Terrell said:

Edit the .config files to use the following:

<configuration>
<startup>
<requiredRuntime version="v2.0.50727" />
</startup>
</configuration>

Make sure and remove all the "supportedRuntime" elements. Now you can use generics and anonymous methods in your CodeSmith templates. For example:

Action<int> writeValue = delegate(int inputValue)
{ %>
Your value is: <%= inputValue.ToString() %>
<% };

writeValue(1);
writeValue(15);

%>


Enjoy!!!
# December 8, 2005 10:04 AM

Jordan Terrell said:

Oh, I forgot to mention, CodeSmith 2.6 (the last freeware version) also works with .NET 2.0. Just edit the .config file to target .NET 2.0. Using anonymous methods in 2.6 allows you to create "sub-templates" inline. Either create your own delegate type or use Action<T> and you can pass the anonymous method input values, and it has access to the templates input properties.

Enjoy!!!
# December 8, 2005 10:08 AM

Jeff Deville said:

Did you look at llblgen.com? It's adapter model sounds like the provider model you described. All generated for you.
# December 8, 2005 10:10 AM

Oskar Austegard said:

Care to share your templates with the community?

Join the rest of us at
http://forum.codesmithtools.com/default.aspx?f=9
# December 8, 2005 12:05 PM

Chris Martin said:

Heh. 2002 called and wants it's headlines back.
# December 8, 2005 2:07 PM

Robert McLaws said:

Well, I removed those elements from the config file, but the IDE still doesn't properly highlight the syntax for new .NET methods. I can't blame them, because there are 30% more methods in 2.0, but it's still kinda annoying.

Mischa & Jeff- I said I wasn't going to mention names... I didn't like either one.
# December 8, 2005 2:26 PM

Jordan Terrell said:

I've never been impressed with the Intellisense or syntax highlighting in CodeSmith. I turned them off.

Robert - Were you able to get CodeSmith to compile to the .NET 2.0 framework?
# December 9, 2005 8:57 AM

Martin said:

Just a question. What is the advantages of CodeSmith 3 over MyGeneration? I installed it a while ago but the trial period expired before I had time to try it out...
# December 15, 2005 6:31 AM

foobar said:

Generally speaking, 32-bit on 64-bit runs a little faster.

They probably don't want to use 64-bit Windows, because driver and program support is still spotty.
# February 10, 2006 8:44 PM

Dan Bartels said:

I really am not sure of the perf data, I would guess that in general x64 is the same as x32... In fact it might be just a bit slower running x32 apps because of the wow layer, but I haven't noticed...

The real reason to run x64 is address space... if you are running more than 4gb of ram, x64 is a must; SQL 2005 Enterprise x64 is what the whole platform was made for (in my opinion)

There really are only a handful of apps out there that are 64 bit, and I tend to run my aspnet sites under x32 just for support and debugging (just because things should run the same doesnt mean they will)

But really without windows x64 you are just running 32bit, the eMT64 intel stuff, is really just a 32 bit processor with 64 bit extensions anyways, and the x86 windows doesnt know how to use them...

Dan
# February 28, 2006 9:50 AM

Shawn said:

Ha! Wow - that is as cool way of doing it. Never thought of that one!
# April 17, 2006 1:05 PM

The CynicalDoctor said:

I have done exactly the same in developing this site - www.rxforit.com and have had no problems. 3 sitemaps and 3 SiteMapProvider references.
The only thing different from your scenario is that I have NOT specified a default SiteMapProvider in the web.config.
# May 3, 2006 5:29 PM

Joel Ross said:

I've used two, with one as default, and I don't get the run-time issues. I can't comment on design time, though, because I've never actually tried using the design time experience (still not wanting to get burned after my VS 2003 experiences - I'm an HTML kind of guy)
# May 4, 2006 7:58 AM

Jeff Julian said:

Welcome back!! Are you attending TechEd?
# May 15, 2006 8:18 AM

Dave Burke said:

Best wishes in returning to consulting. I know you'll be great. (Great title.)
# May 15, 2006 11:26 AM

Albert Pascual said:

I try it and works for me. Just thought you wanted to know.
Al
PS Love your blog
# May 22, 2006 1:26 PM

Albert Pascual said:

You forgot the most important of all. Ask for it, as not many people becomes an MVP if they did not ask to be review I believe, would like to start a poll :-) I never got offered the title and I have been involved and helping any beginer without ever been contacted by MS. Last year I send them an email for the requierements to become and MVP and I got nominated for ASP.NET. Why ASP.NET? I spend more time answering questions in Managed C++ and C# asd well as writing articles than ASP.NET. Well I'll take it if I get it :-)
# May 22, 2006 2:14 PM

amckern said:

I have been using iexpress to make add-on exe's with in my NSI installers, where everything sits in the same path root

Basically

If you have a application that has everything in the same folder, such as a driver, you can use iexpress.exe to make it into an installer, that will run your .INI / .INF once its extracted everything

The majority of Microsoft products use the iexpress application as well - take Direct x 9.c April 2006 - when the app asks you where do you want to extract, your looking at the iexpress interface.
# May 25, 2006 11:29 AM

blog.dreampro said:

# May 30, 2006 5:07 PM

dan said:

I am seeing this exact same thing occuring in my code. No matter what I set the sitemapprovider to, it always uses the default. I was wondering if you figured out a way around this problem. I have been scouring the net, and no one seems to be discussing it.
# May 31, 2006 11:22 AM

RC said:

Has anyone managed to get Outlook and Sharepoint Contacts to sync both ways yet - this is a major hurdle in my company - we really want one contacts list but want access using sharepoint and Outlook without creating umpteen different versions of our contacts list - any help gratefully received.

# May 31, 2006 7:22 PM

Ayl said:

Nice work... I'm interested in something else though, I want to be able to use multiple controls to manage the collapsing and espanding of the collapsible panel. i.e. if u had a panel for adding records, you'd want update, save and cancel to all collapse the panel. How can I run this in code?
# June 3, 2006 1:27 PM

interscape said:

Dan:
Well, I think it's interesting, because it doesn't follow the Provider Model Specifications. For every other PM API, you MUST specify a default, or the API throws an exception that stops your application.

Albert:
Thanks a bunch :)
# June 9, 2006 11:48 AM

Robert McLaws: FunWithCoding.NET - Windows Vista Edition said:

If you've ever wanted to search blogs.msdn.com from your IE7 toolbar, I have just the solution for you:...
# June 14, 2006 12:27 PM

Dan's Archive said:

# June 23, 2006 6:37 PM

Dan's Archive said:

# August 4, 2006 10:59 AM

Community Server Daily News said:

news of the day a grab bag for what&#39;s happening in Community Server The Community Server 2.1 SDK

# August 14, 2006 4:04 PM

robrohr.org said:

I had downloaded the beta of VisualBlogger 2004 from Interscape Technologies , and had some problems

# August 23, 2006 4:07 PM

Mabsterama said:

Robert McLaws listed some of his peeves about WinForms 2.0 . A lot of them I agree with, including the

# August 28, 2006 5:25 AM

Matt Ward said:

SharpDevelop 2.1, revision 1157, allows VB.NET projects to target the older Microsoft Frameworks and

# August 30, 2006 4:43 PM

Keyvan Nayyeri said:

This is just my favorite way to generate XML files on fly. Often I need to create an XML file in memory

# September 18, 2006 1:38 AM

Keyvan Nayyeri said:

Alexey had two informative comments ( 1 , 2 ) for my one of my recent posts about using StringWriter

# September 19, 2006 3:27 PM

DotNetKicks.com said:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# October 11, 2006 4:49 AM

findleyd said:

You could also use Regex to make really quick work of this:

Imports System.Text.RegularExpressions

Module Module1

   Function GetInitials(ByRef fullName As String) As String

       Return Regex.Replace(fullName, "^(?'b'\w)\w*,\s*(?'a'\w)\w*$|^(?'a'\w)\w*\s*(?'b'\w)\w*$", "$2$1", RegexOptions.Singleline)

   End Function

   Sub Main()

       Console.WriteLine(GetInitials("David Findley"))

       Console.WriteLine(GetInitials("Findley, David"))

   End Sub

End Module

# October 17, 2006 1:14 AM

findleyd said:

actually just noticed I forgot to change the replace string. Should be this:

Return Regex.Replace(fullName, "^(?'b'\w)\w*,\s*(?'a'\w)\w*$|^(?'a'\w)\w*\s*(?'b'\w)\w*$", "${a}${b}", RegexOptions.Singleline)

The basic gist is this:

^ matches start of string

(?'b'\w) captures 1st character of a word and sores it in a group called 'b'

\w* matches 0 or more characters (rest of the name)

, matches a comma

\s* matches 0 or more spaces

(?'a'\w)\w* matches the 2nd part of the name cpaturing the first letter into a group named 'b'

$ matches end of string

| or the alternate pattern w ithout the ,

Notice the 'a' and 'b' are swapped

Regex is def more complex but you can do alot of stuff in a small amount of code.

# October 17, 2006 1:23 AM

Robert McLaws: FunWithCoding.NET said:

So I&#39;m trying to upgrade a spaghetti-code Classic ASP application to ASP.NET 2.0. I have to maintain

# October 17, 2006 2:23 AM

glozano said:

Since the status code will be set to 401 you could use the customErrors section to redirect to a aspx page but if the authentication fails the status code will be set to 401 as well. Therefore in the ASPX where you redirect to you could check if the IsAuthenticated flag is set to true for the current request.

It would off course had been better if Microsoft would make sure that the PostAuthorizeEvent would always be raised regardless whether or not the user is authorized.

# December 4, 2006 5:12 AM

Bil Simser said:

That's bizzare. Nice of MS to redefine "trial" for us. Thanks for the tip (although I already downloaded the DVD image).

# December 10, 2006 10:35 AM

Web Dillies said:

From Robert McLaws Blog: Provider Model Misconceptions From Michael Tepers Blog: More on MembershipProvider

# May 28, 2007 11:13 AM

Keep It Simple , Put The Ball In The Basket - Sagiv Avraham 's Blog said:

lately i here questions from developers working with .net 1.1 but would like to use the VS2005 IDE so

# July 8, 2007 2:03 PM

Vytas said:

ASP.NET 2.0 Development Server (Cassini) - right-click menu in Windows Explorer

# August 15, 2007 8:00 AM

Vytas said:

ASP.NET 2.0 Development Server (Cassini)

# August 15, 2007 6:46 PM

Vytas said:

ASP.NET 2.0 Development Server (Cassini)

# August 15, 2007 6:50 PM

anothr user said:

One new subscriber from Anothr Alerts

# September 3, 2007 4:46 AM

university of houston main campus address said:

university of houston main campus address

# September 6, 2007 7:55 AM

TrackBack said:

I get lots of questions on how to become an MVP, so I thought I'd make a blog entry about it. My most

# September 6, 2007 8:26 PM

Web 2.0 » Blog Archives » Enterprise RSS Feed Servers and RSS Readers - Attensa Blog - Attensa said:

Pingback from  Web 2.0  &raquo; Blog Archives   &raquo; Enterprise RSS Feed Servers and RSS Readers - Attensa Blog - Attensa

# September 12, 2007 10:20 AM

myspace hide comments and friends code said:

myspace hide comments and friends code

# September 18, 2007 6:52 AM

hot free layouts codes for myspace said:

hot free layouts codes for myspace

# September 21, 2007 12:11 PM

Ghillie Suits » How to Become a Microsoft MVP - Robert McLaws: FunWithCoding.NET said:

Pingback from  Ghillie Suits &raquo; How to Become a Microsoft MVP - Robert McLaws: FunWithCoding.NET

# October 29, 2007 12:19 AM

cthrall.com » Blog Archive » XmlWriter Got You Down? said:

Pingback from  cthrall.com  &raquo; Blog Archive   &raquo; XmlWriter Got You Down?

# October 31, 2007 2:18 PM

jim blizzard's blog said:

Robert puts comment spammers in his cross hairs: CommentSpam.org - Taking The Fight To The Spammers Three

# November 17, 2007 4:03 PM

pk stuff » ASP.NET Testing Server said:

Pingback from  pk stuff &raquo; ASP.NET Testing Server

# November 25, 2007 9:27 AM

Feed Search Engine - All Fresh Articles And News Are Here said:

Pingback from  Feed Search Engine - All Fresh Articles And News Are Here

# November 25, 2007 6:28 PM

Expression Web Doesn't Do Non-GAC'd 3rd Party Controls said:

Pingback from  Expression Web Doesn't Do Non-GAC'd 3rd Party Controls

# November 25, 2007 11:50 PM

I Can't Have What I Want said:

Pingback from  I Can't Have What I Want

# November 26, 2007 6:58 PM

Adding OpenSearch for your CommunityServer Site said:

Pingback from  Adding OpenSearch for your CommunityServer Site

# November 27, 2007 3:56 AM

What Should ComponentOne Have Done? | MikeSchinkel.com said:

Pingback from  What Should ComponentOne Have Done? | MikeSchinkel.com

# June 15, 2008 6:11 AM

What Responsibility the Component Vendor? | MikeSchinkel.com said:

Pingback from  What Responsibility the Component Vendor? | MikeSchinkel.com

# June 15, 2008 6:58 AM

you've been HAACKED said:

VS2008 Web Server Here Shell Extension

# June 24, 2008 3:21 PM

Installing Sharepoint Services (WSS) with Project Server 2003 - Part I « Can i help you? said:

Pingback from  Installing Sharepoint Services (WSS) with Project Server 2003 - Part I  &laquo; Can i help you?

# August 11, 2008 9:33 AM

Dan Rigsby » Microsoft MVP in Connected Systems said:

Pingback from  Dan Rigsby  &raquo; Microsoft MVP in Connected Systems

# October 2, 2008 10:04 AM

dasz.at - Benutzbare Technologie» Blog Archive » ASP.NET 2.0 Web Server Here said:

Pingback from  dasz.at - Benutzbare Technologie&raquo; Blog Archive &raquo; ASP.NET 2.0 Web Server Here

# October 9, 2008 4:17 AM

Visual Studio Projects on Network Shares « Critical Development said:

Pingback from  Visual Studio Projects on Network Shares &laquo; Critical Development

# November 10, 2008 3:27 PM

CLisp sample in .NET | keyongtech said:

Pingback from  CLisp sample in .NET | keyongtech

# January 22, 2009 12:08 AM

ObjectSpaces? | keyongtech said:

Pingback from  ObjectSpaces? | keyongtech

# January 22, 2009 4:00 AM

taken weergeven in agenda | hilpers said:

Pingback from  taken weergeven in agenda | hilpers

# January 23, 2009 7:41 AM

.NET Tutorials said:

Alex Chang Originally Published: March 22, 2004 7:44 Installing Sharepoint Services (WSS) with Project

# May 26, 2009 7:49 PM

pligg.com said:

Nice list! .. Every 3 months, a new round of MVPs are announced. So I thought I'd take a moment to write about the "Unofficial" Criteria for selecting an MVP.

# June 2, 2009 9:07 AM

NHibernate, WCF, UltraGrid, Xml Validation and more. « Dmitry's Blog said:

Pingback from  NHibernate, WCF, UltraGrid, Xml Validation and more. &laquo; Dmitry&#039;s Blog

# October 20, 2009 3:48 AM

you've been HAACKED said:

ASP.NET 4 Web Server Here Shell Extension

# October 28, 2009 12:52 AM

Twitter Mirror said:

This is a fantastic post which Truly explains the @mvpawardprogram http://weblogs. asp.net /rmclaws/archive

# February 12, 2010 3:01 PM

.NET Applications over a network share « nimraynn.net said:

Pingback from  .NET Applications over a network share &laquo;   nimraynn.net

# February 18, 2010 8:55 AM

The Visual Studio Song and other technical goodness… | core / dump said:

Pingback from  The Visual Studio Song and other technical goodness&#8230;  |  core / dump

# July 25, 2010 1:48 PM

Onderweg Blog » Blog Archive » INotifyPropertyChanged and TrackedList said:

Pingback from  Onderweg Blog  &raquo; Blog Archive   &raquo; INotifyPropertyChanged and  TrackedList

# October 7, 2010 3:53 PM

Twitter Trackbacks for Optional Parameters in SQL Stored Procedures - Robert McLaws: FunWithCoding.NET [asp.net] on Topsy.com said:

Pingback from  Twitter Trackbacks for                 Optional Parameters in SQL Stored Procedures - Robert McLaws: FunWithCoding.NET         [asp.net]        on Topsy.com

# February 13, 2011 8:09 PM

Twitter Mirror said:

MVP, how to add value ? http://weblogs. asp.net /rmclaws/archive/2005/04/03/396941.aspx

# June 5, 2011 2:57 PM

Run the ASP.NET 2.0 Development Server From Any Folder « vaderpi's random rants said:

Pingback from  Run the ASP.NET 2.0 Development Server From Any Folder &laquo;  vaderpi&#039;s random rants

# August 5, 2011 12:07 PM

Overloaded property | Molicyber said:

Pingback from  Overloaded property | Molicyber

# October 26, 2011 2:42 PM

Custom installer for deployment??project | some assembly required, batteries not included said:

Pingback from  Custom installer for deployment??project | some assembly required, batteries not included

# November 8, 2011 1:58 AM

Generating images of fancy fonts on the fly. | some assembly required, batteries not included said:

Pingback from  Generating images of fancy fonts on the fly. | some assembly required, batteries not included

# November 8, 2011 2:03 AM