Jeff does Server & Tools Online

The sillynonsense and .NET musings of Jeff Putz

News

My Sites

Posted: by

Comments

Matt Hawley said:

Welcome!
# February 12, 2004 10:03 AM

Colt said:

Welcome aboard Jeff :)
# February 12, 2004 10:36 AM

Matt Hawley said:

I had this same conversation in comments. Someone told me it would be better to do all business logic within SQL stored procedures rather than in the BLL calling different stored procedures within a transaction. Sometimes I just wonder if these people have real programming experience in the enterprise world.
# February 13, 2004 11:40 AM

Mathew Nolton said:

In general, I tend to see people go after certicications when they lack professional experience (but not always). Personally, I still go for professional experience when I am judging someone for a position.

As for business logic in your data tier. no way....data is just that. Data. Your business logic layer is for business logic.

-Mathew Nolton
# February 13, 2004 1:33 PM

Darrell said:

Sometimes you can't go for experience. Do I want someone who has done nothing but VBScript for 7 years over someone who has been programming .NET for 2?

It depends. I usually hire for motivation, teamwork ability, intelligence, and ethics. With those skills, the employees can learn anything they need to.
# February 13, 2004 2:40 PM

Darrell said:

Oh, and certification is a sign of motivation.
# February 13, 2004 2:40 PM

jeff said:

That's where I disagree. Maybe I'm just too fiercely independent (or too much of a hard-ass for my own good), but I look at it as buying into Microsoft marketing. :)
# February 13, 2004 3:20 PM

Tim Marman said:

What's very dangerous is that two of my favorite local watering holes both have WiFi now (one offers it themselves, the other comes from a resident upstairs).

This could get ugly sometime soon.
# February 13, 2004 9:55 PM

Shannon J Hager said:

You should be able to pick up a copy of a Post-PDC/Pre-public beta build at DevDays.
# February 16, 2004 12:52 PM

Julie Lerman said:

Not quite. [Unless something has changed in the last few weeks,] DevDays is PDC bits! I asked the person who was responsible for arranging for the bits to be distributed and was told it's the same as PDC.
# February 16, 2004 2:46 PM

Alex Lowe said:

It is the same as the PDC.
# February 16, 2004 3:34 PM

Shannon J Hager said:

I have read in at least 2 places that it was going to be a newer version.
# February 16, 2004 6:04 PM

Michael Carr said:

My favorite Windows-based video editing software is Vegas Video by Sonic Foundry/Sony. It's by far better than anything else I've seen.

On the bottom of my list would be Adobe Premiere... not sure why everybody likes that one so much.
# February 16, 2004 6:51 PM

Jeff said:

Agreed. Permier exists only because people like Photoshop and it's cheap, relatively speaking.

Vegas is pretty good stuff. Not as clean as Avid, Media 100 or Final Cut, but good stuff.
# February 16, 2004 7:13 PM

Brian Desmond said:

We've got two Avid editors at school - a G5 and a G4. The person that does our video editing is going to show me how to use one of them this week - looks pretty intuitive from what I've watched. Hope this is actually the case.
# February 16, 2004 11:09 PM

Jay Glynn said:

Noise canceling headphones. The best 50 bucks I've ever spent.
# February 17, 2004 8:49 AM

Doug Reilly said:

I have one day a week at a client site with cubes, and I use my walkman. It is noise, but at least it is noise I like...
# February 17, 2004 9:11 AM

Philip Miseldine said:

I am that guy you are referring to :)

I did insist that what I said wasn't necessarily best practise in the "real world", and that I did have no experience in the enterprise market...after all, I'm only 23 and I decided to get academic experience before I entered the workplace.

People can only go on what I have experienced. Pratical real life experience takes time, and yes, it is vital IMHO. I just haven't the experience yet, but education helps you prepare and learn how to adapt to new technology and new ideas, as well as learning how to research (in the case of a PhD).

Certification is education, and certainly achieving a certificate shows the key skills of learning, digesting, and being motivated to pass the course. Financial considerations aside, it can only improve one's own ability and interest. I can't see the real problem.
# February 18, 2004 10:18 AM

Philip Miseldine said:

And, if you read the thread, you'd see I *did* accept those points you raised. And I *wasn't* sure I was right. That is misrepresenting what the situation was. I was asking why I was wrong, not enforcing I was right.

Being constructive is far better than being overtly critical...
# February 18, 2004 1:22 PM

Jeff said:

You assume that the story is about you and that Sitepoint is the only place on the planet that I post.
# February 18, 2004 2:06 PM

Philip Miseldine said:

Call it deductive reasoning ;)
# February 18, 2004 2:11 PM

Chris (d) said:

I would to agree with Philip ;o)
# February 19, 2004 5:02 AM

Steve said:

Build it and they will come. Just put a .NET logo on your marketing material and its sure to sell ;-)
# February 19, 2004 10:01 AM

Robert Scoble said:

The antidote is a Tablet PC. Particularly the Toshiba M200.
# February 21, 2004 10:58 PM

Lotas Smartman said:

Hmmmm. thank (insert your icon of worship in here) i dont read the same places you do! :P
# February 25, 2004 10:14 AM

TrackBack said:

# February 25, 2004 9:55 PM

TrackBack said:

# February 25, 2004 9:56 PM

Thomas Tomiczek said:

Very well said. When I saw the pictures, I thought immediatly that the people working there must by the "typical american idiots" as they are envisioned in the world. Kids which have achieved nothing in their life and date to disrespect someone who built one of the most successfull businesses in history.

You do not have to agree with him, but you could at least show some respect.
# February 26, 2004 10:39 AM

R said:


I agree with Thomas .. but surely it's harmless fun? Is Mr G really likely to get *that* upset about some jibes about ancient history? He's a target BECAUSE of who he is, in the same way that celebrities are the target of the papparazzi ...
# February 26, 2004 10:47 AM

Jason Alexander said:

Yeah, I was really pretty disgusted with Ajay's post, as well, and really thought it threw a bad light on his University, personally.

I'm always of the mind, "If you can't say anything nice, don't say anything at all.", but unfortunately not everyone is engrained with the manners that they once were.
# February 26, 2004 10:48 AM

Jeff said:

At issue isn't if someone hurt his feelings. The real issue is that a bunch of snot-nose know-it-alls think they know better in the face of one of the most influential people in the history of our industry. It doesn't even matter if you think he's brilliant. Few people have ever had more influence on anything.

I think George Bush is a moron, but he is the president, and if I could hear him speak in person, I wouldn't miss the opportunity and I'd be respectful. It's just what we do in a society like ours.
# February 26, 2004 11:07 AM

George Chernyha said:

I wanted to read Ajay's post but it seems to have gone missing.
# February 26, 2004 1:52 PM

Ajay Juneja said:

http://weblogs.asp.net/ajuneja

It's right here :)

Oh and Jeff, cut it with this disrespect thing -- you need to lighten up and have some fun sometimes.

Also, a talk entitled "Solving the Hardest Problems in Computer Science" should have more content on that topic than be a marketing spiel.

I'd also argue Steve Wozniak had as much influence as dear Bill, and he wasn't smacked down cause his talk had CONTENT in it.

You're right, students at CMU don't take well to sales pitches whether they are from Gates or otherwise.
# February 26, 2004 8:14 PM

Ajay Juneja said:

Oh, and I made the most talked about posts list... 1400+ hits... not bad :)
# February 26, 2004 8:15 PM

Jeff said:

Whatever dude... you don't know anything about me or my ability to have fun. If you're going to make an argument, do so as a grown up and try not to resort to personal attacks.
# February 26, 2004 9:34 PM

Ajay Juneja said:

Where was there a personal attack on anyone?
I made reference to his talk being bad, not Bill being bad.

Bill's a huge philanthropist, and I certainly admire and respect that.
# February 26, 2004 10:37 PM

Jeff said:

Not to him, to me! Move along now...
# February 27, 2004 7:49 AM

Scott Mitchell said:

A bit of shamelss promotion, but........

Requisite reading for anyone who is wanting to write a computer trade book:
http://scottonwriting.net/sowblog/posts/146.aspx

# March 1, 2004 4:22 PM

Jeff said:

I read that before I even contemplated writing the proposal. Sadly, I did it anyway even though I knew what I was getting into!
# March 1, 2004 5:15 PM

OmegaSupreme said:

LOL
# March 2, 2004 9:29 AM

Jason Salas said:

Great post, Jeff! RTC is my favorite game of all-time! Yeah, a friend and I were commenting about how one dude did the whole thing on his own...amazing!

Jas
# March 3, 2004 5:58 PM

TrackBack said:

# March 3, 2004 10:16 PM

Rory said:

Jeff -

A lot of what you say is quite interesting, and I agree with some of it.

However, consider this statement:

"if you want to consume a Web service from Amazon or Google in your app, reading docs on either one would never lead you to believe that you could treat these as object-oriented services."

Web services are still very much a mucky-muck sort of thing. They're messy, and they're tough. Is this something the hobbyist is even going to get into?

I realize it's only one example, but I think it's important to consider. When I think of a hobbyist, I think of someone who just wants to throw some data on the screen, organize their CDs, or whatever. I don't think too much about people who are trying to deal with web services. I think that once you even know what a web service is (as many in our profession don't), you've already gone beyond being a hobbyist.

It might just come down to definitions, though - what I consider to be a hobbyist might not be what you consider to be a hobbyist, and therein lies the confusion.

Still, though, I didn't mean any ill-will towards anybody, and I'm certainly not a CS degree coder. My roots are firmly grounded in the hobbyist camp - but, my hobbyist days were spent trying to rise to the level of the professional because I *knew* that I wanted to code.

Maybe that's the difference that helps define a hobbyist coder: A hobbyist coder doesn't want to be a coder, but must become one for a short time in order to get something done, whereas the non-hobbyist, even though he/she isn't getting paid, has every intention of becoming a coder.

I don't know, though. ::shrug::

It's a tough topic :)
# March 4, 2004 11:08 AM

-e said:

I don't think its a simple thing. I am in this field because of a hobbyist start - how else did any of us end up here, if not writing crappy games on our TI/C64/XT/etc.? What else could have driven us to the path we are now on? Sure - there are exceptions, but I bet the bulk of professional developers started out as hobbyists as kids.

That having been said, I am geeky enough to admit that I probably would have done it anyway.

So I don't really wish to argue that point.

But I do want to point out that SharpDevelop is free, and to get a copy of C# or VB.Net is under $100 (sure, it has its limits, but we're talking hobbyist). And my copy of VS.Net Pro cost me about $350 - not cheap, but not prohibitive, if you really want to play. I mean, how much money did those golf clubs, skis, or mountain bike cost you?
# March 4, 2004 11:20 AM

Jeff said:

Why would a hobbyist use an Amazon Web service? Because they want to make money, and hosting a high-traffic site, even if it's your hobby, is not cheap. When I started CoasterBuzz.com four years ago, I never expected to be serving pages to 10,000 people every day, but here I am. I make more money on that hobby than my mother does as a nurse.

And I have a six-figure career now too. Not bad for someone who went to school for radio and TV.
# March 4, 2004 11:23 AM

Ken Robertson said:

VS is not necessarily expensive for the hobbyist if they are in college. I bought my copy through my campus's MSDN Academic Alliance for $13.
# March 4, 2004 11:55 AM

Jason Bunting said:

Jeff,

I am interested in your last comment about how you make "more money on that hobby than [your] mother does as a nurse."

But then, I went to your coasterbuzz.com site and noticed this quote:

"Is POP World Media just out to make a buck?
It would be nice if we could, but not likely. We've already spent thousands on hardware and software, so at this point breaking even would be nice!"

Maybe you should update that text now that you are apparently making money. :P
# March 4, 2004 11:57 AM

Jeff said:

I guess I should change it! Making money is I suppose relative, as I still have some lingering debt to eliminate from things like SQL Server licenses and MSDN subscriptions.
# March 4, 2004 12:37 PM

clutch said:

Eeh, I have a similar issue. I get called a "know it all" because I typically have the correct answer for a given problem. This, however, is a statistical anomaly. If I don't know something, I just simply state "I don't know", and people around me forget about it. So, while I might appear to be right > 95% of the time, it's only because I am answering < 40% of the questions coming to me. Think I might have better luck making up answers to everything, and being wrong more often? You just can't win, ever.
# March 6, 2004 2:36 AM

Scott Galloway said:

Well, it doesn't have to be in the same file - that just happens to be the default option in the Alpha Version. The code-beside model (using Partial Classes) in Whidbey is a great improvement though. Code beside is still compiled to an assembly...
# March 9, 2004 1:07 PM

Paul Wilson said:

But code-behind in Whidbey (also now called code-beside) does require the cs/vb files to be deployed, which is compiled on demand, and which no longer needs to be manually rebuilt when you make small changes. Of course there is also a way to pre-compile, but so far with Whidbey this also pre-compiles the aspx pages and only leaves a stub so that you can no longer make even aspx changes on the fly! I'm hoping there will be an in-between state, like we have right now, that only pre-compiles the code-behind, but I haven't heard anything that has acknowledged even the need for it.
# March 9, 2004 1:11 PM

Jeff said:

I realize what VS is doing by default... that's not the issue. The issue is what's best (and easiest) for my audience. Those of us that are more experienced often forget the vast majority out there who don't yet have the same skills.

There's a reason that the "official" ASP.NET forums are not as popular as they could be, and where you do see them deployed they haven't been altered in any way. You have to know what you're doing and understand a lot of things that the novice wouldn't to hack in there and change stuff.
# March 9, 2004 1:18 PM

Scott Galloway said:

To be honest, I think the 'official' ASP.NET forums are just fine - the Starter Kits are more designed for learning from whereas for forums are primarily designed to run the ASP.NET forums. Personally, I like the design, it really is a pretty nice, scalable and extensible design which would be pretty difficult to duplicate using in-line coding. Personally, I don't use the in-line coding approach in my applications - priamrily because I like to maintain the separation inherent in using code-behind (the View-Helper approach).
# March 9, 2004 1:55 PM

Shannon J Hager said:

I have grown accustomed to the code-behind model and don't like the looks of the way it seems Whidbey may force me to work. Currently, all 'real' code goes into my code-behind cs files and all I deploy from the test to production servers are the aspx, asax, and config files. Any minor changes in the layout can be done in the aspx without recompile, but that isn't an issue for me because all changes are first done on the test server and the compilation on the local network isn't time-consuming at all. I deploy from test to production servers using Steve Sharrock's ASP.NET FTP Deployment tool (http://www.dotnetftp.com ), which automatically selected any changed files and skips cs, resx, and other files not needed on the production server.

I know that Whidbey is going to have built-in functionality to replace Sharrock's tool, but will I now have to deploy *all* files to the production server?
# March 9, 2004 2:38 PM

Alex said:

Pretty obvious, but with separate files you can have a designer work on the HTML, layout etc. without having to worry about him/her making a mess of your vb or cs code.
# March 9, 2004 2:52 PM

Scott Galloway said:

Shannon, Whidbey doesn't force you to work in either way - code beside does rule (you don't have to declare controls in the 'code ' file etc...) - you can continue to work as-is you can even keep using code-behind if you really want to (I personally can't wait for code-beside to arrive). In short, Whidbey gives you more options - but it never forces you into a way of working...
# March 9, 2004 3:57 PM

Jeff said:

I still think you guys aren't seeing the flip side. Forum applications, I'd venture to say 95% of the time, are on sites run by someone catering to a niche audience. They don't have "designers" and "programmers," there's one guy/girl. They aren't building enterprise-class n-tier applications.

The IBuySpy and starter kits have code all over the place. It kind of sends a mixed message about what you're "supposed to do." Certainly I just assume keep everything as is, but only because it makes sense to me. I like using code-behind as well. I suppose I can offer different versions in different configurations, since it's just grunt work to move the code around.
# March 9, 2004 4:12 PM

Scott Galloway said:

I don't really agree with the approach you're espousing - it's very much the approach which used to be taken with ASP - so lots of code in-line. The Web Matrix approach is a lot more like the one you mention so mixed code / presentation and I aggree is ideal for the 'hobbyist' - but I really do not think it's necessarily the 'best' approach in terms of flexibility and / or security for anything like commercial level applications (which after all the market to which Microsoft sell their Servers - and therefore ASP.NET). The code-beside model which Whidbey allows in my opinion really does give the best of both worlds - it really 'feels' like you're working on a single file - but it does require compilation (which catches many errors).
# March 9, 2004 4:36 PM

Jerry Pisk said:

Asp.Net does not even come close to separating logic from presentation. The fact that you can have two files, one with code and one with HTML does not make it an MVC platform, those two files (logic and presentation) are stil tied together. And don't even get me started on post backs (to the same page that generated the input view).
# March 9, 2004 4:44 PM

Jeff said:

I agree with Jerry. Suggesting that code-behind really seperates anything I think is being liberal with your interpretation.

Having a code block at the top of your page is NOT like ASP.old, not by a long shot. It's not inline code, it's a block at the top. I think there's a huge difference.

Remember... I agree that "the right way" is with traditional code-behind, but you can't really identify what's right and wrong without really exploring the good AND bad with the opposing view.
# March 9, 2004 7:11 PM

clutch said:

I like using the code-behind methodology. It's easier to read, and easier for me to maintain. The idea of mixing all of my HTML code with my methods is not very appealing. This scrolling through the code and reviewing it a hassle, unlike now where I know that all of my presentation stuff is on one page, while my methods are on another. While the term "separation" might be considered liberal, I think of it as somewhat accurate. It is separating the HTML/presentation code into another file, and away from most of the "hard code" stuff that makes it go. I hated the days of scrolling around in Vis Interdev to get things done, and while the current idea isn't quite the same (mixing bindings with the HTML constantly, rather that simply performing this at the top of the page with the rest of the handling code), it still feels the same.
# March 10, 2004 1:22 AM

TrackBack said:

You've been Taken Out! Thanks for the good post.
# March 10, 2004 1:42 AM

Shannon J Hager said:

I wouldn't call it "seperation" in the same sense that a DAL and a BL Layer are seperated, but the code for the aspx page *is* seperated more when using the code-behind model than using inline. I honestly don't know how Dreamweaver handles inline code but my graphic designers have no problem at all diving into aspx pages right now using the codebehind model and the fact that the "real" code is in the .cs files makes me a lot more confident because those guys know not to touch anything other than aspx files.
# March 10, 2004 4:09 PM

OT-hater said:

Unfortunately, it's all too common in the technology industry that we're expected to work massive overtime. Whoever came up with that idea needs their ass whooped. Occasionally it's ok, but if you consistently have to work 50 hour weeks to get your job done, then there is something wrong with the way your business is being run.
# March 11, 2004 10:09 AM

Oleg Tkachenko said:

Sounds like you're not a geeky kind of person ;)
# March 11, 2004 10:22 AM

LeeB said:

I couldn't agree more!

The developer improvements in ASP.NET Whidbey are real timesavers. I don't want to write my own MasterPages or membership classes any more. Not when I know MS have done this! I want to use the master pages designer and actually see what my page looks like.

I don't care about Yukon, I'm happy to use SQL2K.

Many, many people seem to be in general agreement with the above. Come on Microsoft have a read of http://weblogs.asp.net and listen to some customer feedback!
# March 11, 2004 10:22 AM

denny said:

Hey Bill and Steve read the news.... get with us developers in the trenches.
# March 11, 2004 10:31 AM

Jerry Pisk said:

All I can say - we live in a fairly free world, if you don't like to work too hard just move to France, where you're only allowed to work 35 hours a week. It must be great to live there ;) And you can work at all those great French software houses...
# March 11, 2004 12:27 PM

Frans Bouma said:

Exactly.

As a related question: Am I the only one who finds it weird that all the MS bloggers here haven't mentioned a single word on this issue? They all babble along as if nothing happened...
# March 11, 2004 4:30 PM

Josh said:

Frans - it is obviously (at least from Rizzo's remarks) a marketing decision. What do you expect to hear from the Microsoft bloggers? That is the part of the company that they have no control over, and are probably at odds with themselves.

And Jeff - you're explanation makes it seem like you wish Microsoft hadn't shown what they are working on, because it only frustrates you. My suggestion is that maybe you shouldn't go out seeking the latest info, and just stick to RTM products. That's my strategy with movies - I hate it when friends try to show me "sneak peaks" of a cool movie coming out in a year. I may be anxious about a movie, and I know there is plenty of details available on the internet somewhere, but I choose not to read it. I'll see the movie when it is released.
Are you saying you are working worse, slower, and making less money now that you know what MS has in mind for its future products? If so, stop paying attention. I know plenty of .NET developers that have no idea what is in Whidbey, because they don't go seeking out that information.
# March 11, 2004 5:03 PM

Jeff said:

Whatever... don't make it my problem. Visual Studio has been broken since the day it was released in terms of Web development. I have an annoying client right now that read about standards compliance and validators and he gets his panties in a bunch because <HR> isn't correct markup, but <hr /> is.

So yeah, I should stop paying attention. That would be a fabulous career move on my part. Good thinking.
# March 11, 2004 7:12 PM

Shannon J Hager said:

You seem to be under the mistaken impression that Whidbey can solve your problems today. It can't. Not next week, either. Maybe when it hits Beta 1, but that is NOT today.
# March 11, 2004 8:27 PM

Jeff said:

According to you? It sure seems to work for me.

What's with everyone telling me what I need?
# March 11, 2004 11:13 PM

Shannon J Hager said:

According to Microsoft, Whidbey is not yet beta quality. According to the presenters at DevDays today, Whidbey is not yet beta quality. I saw 3 versions of Whidbey demonstrated today, all 3 with different feature sets, none with the full set. None working well enough to be considered beta quality. None of them with fully working features (i.e., one build had Whitehorse but it was not fully functional, the presenter explained, mentioned, and pointed out a few features that are almost there or are there but just don't work yet).

If Whidbey works for you, either you have a newer version than any I've seen or heard of, or you're not working it very hard.
# March 11, 2004 11:42 PM

Frans Bouma said:

Shannon: Within a few weeks the alpha tester group gets new bits of whidbey, we'll see what's true / false of what's working and what's not.

It's definitely not feature complete as new features are still debated in the alpha tester forums, but it gets close. Being not-feature complete means that it is not beta yet. Beta 'quality' means nothing btw. Beta means: feature complete, let the testing begin.

Whitehorse is an add-on to vs.net, not a main part. Whitehorse was barely runnable in the first alpha we saw. But it's March, not October.

No matter what, the pushback of the release date creates a big problem. ASP.NET development IS broken in vs.net 2003, the HTML editor is horrible. It might sound weird, but ASP.NET is the major .NET feature which makes people use .NET in the first place: a lot of websites currently using ASP and for example Oracle are ported to ASP.NET.

If developers have to wait for more than a year before a decent ASP.NET editor is released, what to do? And don't expect a 3rd party editor which solves the problems: any 3rd party editor developer knows that ASP.NET 2.0 totally changes the picture.

As an O/R mapper vendor I should be glad Objectspaces is pushed back for more than a year. In a wicked way I am, but just a little, and for the most part I'm not all that happy with this delay. .NET 2.0 solves a lot of problems and can bring a lot of good things I really need but now I have to wait for a long period of time before I can start updating the code with f.e. generics, true IXmlSerializable support, design time databinding of my objects etc.
# March 12, 2004 4:04 AM

Jeff said:

Of course, Shannon... I must be imagining things. Thanks for setting me straight.
# March 12, 2004 8:24 AM

Josh said:

Jeff - I wasn't trying to make an attack, I don't think my tone came across correctly. I was honestly offering that (ignoring pre-release material) as a valid solution which really does work for a lot of people. I was responding to your specific statement:
"but it's too late, they put them out there for us to see, and now we want it"
That, to me, sounds like you are sorry that you know what they are working on.
# March 12, 2004 10:59 AM

Alex Hoffman said:

I, like most normal people, value things other than just work. To do otherwise, is clearly disfunctional and represents a skewed value system.
# March 14, 2004 5:20 PM

Wallym said:

BTW, I use the VS.NET designer alot. I agree that it has bugs. I have lost code, just like everyone else. I have also lost code with other development tools. I save often and I do my best to use source-safe as much as possible. Yeah, I know it is a pain and problems like this need to be fixed.

Regarding the stability of Whidbey, I am impressed that the PDC bits are as stable as they are. I remember the PDC bits from Jul 2000. VS.NET keeled over every couple of minutes on me, if it didn't fail almost immediately on load. However, I have found several limitations in the PDC 2003 bits. While I am impressed at their stability within an alpha state, I would hold on anything else until further releases are made available. I do like some of the changes that I have read are coming.

And I do wish that MS would release a SP for .NET 1.1.

I love you last statement about fingers and toes.........

Wally
# March 15, 2004 10:40 AM

Christian Romney said:

Furthermore, people lose site of the fact that it's not just about the IDE. Server controls don't produce valid xhtml no matter what editor you use. Even notepad won't make <asp:textBox /> render an <input /> with a closing tag.
# March 15, 2004 11:34 AM

TrackBack said:

You have been Taken Out! Thanks for the post.
# March 15, 2004 11:29 PM

TrackBack said:

You have been Taken Out! Comments about your post on this link. Thanks!
# March 17, 2004 11:03 PM

Scott Willsey said:

Have to disagree with Scott Galloway's view that "the 'official' ASP.NET forums are just fine"... they are full of bugs, unfinished features, and are NOT plug and play, which means you have to be somewhat technical to get them working, generally.

At least, this was my experience the last time I looked at them.

As programmers, we tend to overlook problems that we can easily identify and fix... not so with end users. As Jeff says, most people running forums aren't programmers and don't want to be, they just want a community set up for whatever it is they are really interested in, and generally programming it ain't.
# March 18, 2004 4:02 AM

Jason Haley said:

Very nicely put.
# March 19, 2004 8:35 AM

James Crowley said:

I'm not entirely sure whether I'd agree with all of that. Sure - advanced developers certainly do blog more (though I blog, and wouldn't class myself as an "advanced developer"), write more articles, and as a result maybe have less time to devote to answering questions in a forum. But surely blogs are an equally valuable resource that perhaps need to be promoted more as such? Certainly articles and tutorials are.

When running Developer Fusion (http://www.developerfusion.com/), I used to spend a long time answering questions posed by our visitors - but now we have a strong community, and although I do "pop in" at least a couple of times a week, I don't devote as much time as I used to - because I know others are also spending time answering questions. I certainly don't feel that by spending less time answering direct questions, I'm contributing less - I'm just contributing in different ways.

Having said all that - I do see your point to some extent. We certainly don't want to reach a point where "advanced developers" won't "lower themselves" to answering questions in a forum - nor do we want to prevent less experienced programmers from having a blog or writing articles. But fortunately, I don't think we are at this point.

There are always exceptions to the rule, but in general, I think it's incredible how many people are willing to devote enormous amounts of time to helping out - in whatever way they can.
# March 19, 2004 11:01 AM

Memi Lavi said:

I would define a Delegate as a pointer to a function. It defines the signature of the function, but it's not the function itself.

One scenario in which I used delegate was this:
I had a base page which had a method that iterated hierarchicaly through all the controls on the page (would you believe that there is nothing like that built in the ASP.NET page model?) Problem was, I needed to tell the method what to do with all the controls it finds. For example, sometimes I wanted to put all the control values in a Name-Value collection. Sometimes I wanted to disable all these controls. And there sure will be other uses for this method.
What I did was to define a delegate that accept as an argument a WebControl, and add a parameter of this delegate type to the iterating method. Each time I needed this method, I created a new method with the same signature as the delegate, and passed its address to the iterating method. The iterating method then called the delegate with the appropriate parameter whenever it encountered a control on the page, and the new method did whatever was needed with this control.

Hope it helps.
# March 22, 2004 2:42 PM

Jason Mauss said:

Jeff - I wrote this article for my site a long time ago: http://www.vsdotnetguru.com/Articles.asp?aid=9

The analogy seemed to be well received. Feel free to steal it if you want.
# March 22, 2004 3:02 PM

Paul Wilson said:

# March 22, 2004 3:19 PM

Julie Lerman said:

When I was first moving from VB6 to .net, delegates was something that I just could not get a handle on (no pun intended). I looked everywhere for an explanation that worked for me and it finally clicked when reading Matthew MacDonald's "The Book of VB.NET" (no starch press). I have sinced passed the book on to someone in my user group so I can't give you the exact reference. But whatever it was that he wrote was just the right analogy for me.
# March 22, 2004 5:56 PM

AndrewSeven said:

I kind of like the dictionary.com entry ;)
http://dictionary.reference.com/search?q=delegate

Events are a little more concrete, they might be a good way to sneak up on the delegates.
# March 22, 2004 7:28 PM

Johnny Hall said:

Try this. I always point my new .NET guys here first...

http://www.sellsbrothers.com/writing/default.aspx?content=delegates.htm

# March 23, 2004 11:19 AM

TrackBack said:

# March 23, 2004 3:21 PM

denny said:

yep that viewstate is *HUGE* !

but there are folks using the message areas.... Heck I have about 1,090 ish posts up there ....

but it would be nice to see some updates to it and so forth...
# March 24, 2004 3:27 PM

Frans Bouma said:

"One question that no one could answer was, why is GDN its own little kingdom, separate from the teams running www.asp.net and WindowsForms.net? That never made sense to me."
An ex-MSN manager once told me: there is absolutely no vision nor toolset that is shared among all the teams running all those websites. Every team has its own CMS, running the site using its own graphics, templates and rules.

So it really doesn't surprise me that there are so many different sites ran by MS for .NET which are completely different and use all a complete different system to run the site etc. ... in short: are not working together.
# March 24, 2004 3:28 PM

Chad Humphries said:

I agree it came off as being poorly executed. Although I have some qualms with the look and feel of sourceforge it's very stable and a much better example of how to pull this type of system off. The only thing I dislike about sourceforge is the forums/messageboards are practically useless.
# March 24, 2004 3:49 PM

M. Keith Warren said:

Ding Ding Ding - We have a winner :)
# March 25, 2004 3:41 PM

CC said:

A fair and open fight between Linux and Microsoft sure would be nice to see, but I doubt it'll ever happen given Microsoft's relunctance to leave anything to chance. You never know, they might not win ;)
# March 25, 2004 4:13 PM

Darrell said:

CC - define fair and open. The definition of business strategy is putting yourself into a position where the competition is tilted in your favor. You cannot use illegal means to do it, though. What the EU seems to be doing is trying to make business strategy irrelevant. That will only hurt consumers in the end.

There's a reason that capitalism works, kind of like there's a reason that the theory of relativity works. They're both grounded on how things (in business or in nature) actually work. The EU might try to fight it, but eventually capitalism will prevail. Just look at Soviet Russia's downfall for the biggest example.
# March 25, 2004 4:59 PM

Thomas Williams said:

G'day Jeff- thanks for the view you've put forward. I like your point about Apple and what they bundle. Why aren't people complaining there?

There are other viewpoints/reactions/rants around, I reckon yours is pretty balanced and I personally agree with what you're saying (Frans does makes a good point about integrating vs "shipping with"/can be removed by OEM).

Thanks for clearly articulating it like this!
# March 25, 2004 8:44 PM

Frans Bouma said:

"I say let market forces determine the outcome, not government. If it weren't for the many shortcomings of Windows, Linux wouldn't be gaining in popularity, and Apple wouldn't see people buying into the switch campaign."
This is nice in theory, but in practise it will not work if a monopoly power is in place. You can't deny that MS has 90+% of the desktops and is the no.1. choice when you buy an OS with a computer (or better: when you buy a computer, almost all people expect windows with it).

Like 100% government regulation doesn't work (communism), 100% market regulation without any law doesn't work either (USA '10-'40). The EU has laws but not that restrictive that business isn't possible. Still the laws are there, as simple as that. I can assure you, companies have more freedom in the EU than muslims have in the US.
# March 26, 2004 2:51 AM

Jeff said:

It's not a theory, it works. We have natural monopolies like cable companies and phone companies, where it's cost prohibitive to duplicate the same systems they own and compete. But you know what? Those monopolies found competition in the form of satellite and wireless, respectively. The monopolies have been forced to adjust, and consumers win with choice.

Your Muslim comment is offensive and inappropriate.
# March 26, 2004 8:11 AM

TrackBack said:

# March 31, 2004 9:58 PM

OmegaSupreme said:

Wow cool congrats :D Whats the book about ?

Im looking for a good .net book right now, something a bit different from the usual. Im sick of most of them covering the same things ad nauseum .

Anyway best of luck with the book.
# April 2, 2004 10:48 AM

G. Andrew Duthie said:

Whether you should negotiate or not is not something anyone's going to be able to tell you without knowing the details of the contract you've been offered (not suggesting you should post those here, BTW). I can sympathize, though, because it can be hard for an author to know whether or not you're getting a good deal, which is why I use an agent. The advantage of an agent is that they know, from years of negotiating contracts, what's usual and customary, and how much more they can push for over what the publisher initially offers. It's pretty unusual for a publisher to make their best offer initially, but without knowing what's usual and customary, you end up essentially negotiating blind.

Without an agent, what it ends up coming down to is whether you're willing to write the book on the terms you've been offered. If you are, then negotiation is less important.
# April 2, 2004 11:01 AM

Greg Robinson said:

My advise, make sure you get paid, period. I wrote for WROX, never got paid.
# April 2, 2004 11:32 AM

sikandar said:

hi
i am an ordinary person & i want to develop my personality. i am always looking sad & can`t study very well & beside that people makes alot of joke of me, & this thing make me embarassed. so please solve my this problem thanks.
if u have any sooution then please send me mail on my e-mail address ( awansikandar@hotmail.com ).


Sikandar
# April 2, 2004 12:57 PM

Steve K. said:

Jeff,

Congrats. I just posted something last week that may be valuable to you in my weblog. Basically, a colleague of mine says go for the largest advance possible.

# April 2, 2004 4:23 PM

Shannon J Hager said:

I would make sure the contract is for this book only. That way your next book (assuming there is one) will be under a new contract that will be forged by your insight gained experience with this contract. Don't worry about being a diva yet, if you're worth it, you'll earn it quickly.

If this is a 1-shot wonder deal for you, the above doesn't apply and you should squeeze every penny out of it. :)
# April 3, 2004 12:30 AM

TrackBack said:

# April 6, 2004 9:37 AM

Snorrk said:

I agree up to a point -but It's all about reform.

Experimenting with ways to communicate with the community at large is not a bad thing. I think that C9 is a very ambitious project and I watched all the video clips with great interest. I'm going to be watching C9 evolve and hope it will reach its potential.

The point about the kings sitting down and consolidating their resources isn't very good - unless you can tell us right now what is and will be the best way to communicate with the community, I suggest you give them a break and let them experiment a bit.

Nobody is forcing you to visit Channel9..

>S

# April 6, 2004 9:51 AM

senkwe said:

Ouch, so now it's "stupid" for MS to simply try something new?
# April 6, 2004 9:57 AM

AndrewSeven said:

Repeated failures in community building have lead MS to a process of continual re-invention (ahem) of community sites. This does not solve the problem.

Its a blog and a forum and a bunch of aother things, it has not moved beyond anything.

Try moving beyond marketing and into the truth.

Please don't market annother .Not
# April 6, 2004 10:03 AM

Sahil Malik said:

I sort of agree.

I read a blog yesterday that windowsforms.net had 1/100th of the number of users as asp.net did. Curiously enough, as a big time techie junkie, I hadn't even heard about windowsforms.net .. come to think of it, why did I know about asp.net .. because a technology called "asp.net" was marketed (exactly that name). For windowsforms.net, why isn't it winforms.com?, or windowsapplications.net? or nonasp.net?

msdn.microsoft.com was good enough, and I wish all this content somehow branched from there. Now I have 5 competing sites to check. At most they should have segregated windows forms and asp .. but channel 9 is taking it too far. .. soon we'll have a channel 8,7,6...... .. ..
# April 6, 2004 10:10 AM

Marc Orchant said:

OK... graphically it's abit over the top but hardly stupid. It's a nice blend of mediums and puts a pretty human face on the participants. Give it a little time to mature and shake out the inevitable 1.0 issues before condemning it.
# April 6, 2004 11:30 AM

Henry Erich III said:

Everyone can have an opinion of Who, err heh What is stupid, right Jeff?
I personally love it because I can talk to "The Microsoft."
Maybe im just stupid though...
# April 6, 2004 12:02 PM

G. Andrew Duthie said:

Jeff,

Thanks for the nod. I do want to clarify that I am a non-MS blogger, since your post seems to lump me in with Rob as an MS blogger. I'm very happy to be considered in the same sentence as Rob as a source for ASP.NET info, but I didn't want anyone to mistakenly think that I'm a 'softie. :-)
# April 6, 2004 12:02 PM

Ryan Dawson said:

I like channel9. I like videos as opposed to reading (sometimes). What is stupid about that? You say that you would rather read their blog -well, I didn't know Bill Hill had a blog.
# April 6, 2004 12:14 PM

Colin Ramsay said:

"he protocols change, but when you stop and look objectively at the Internet today, we're just using rich text editors now to post to Usernet and .plan files. Let's not kid ourselves."

How can you compare a textual medium to an entirely visual one? Video allows tonal inflection, body language. It's the peak of that old adage "a picture tells a thousand words".

You come across as someone who is spitting the dummy because you don't like something new. Someone who doesn't like their culture being re-invented because they are comfortable with the status quo.

If you don't want to watch Channel 9 then please don't. But to proclaim it as "stupid" only serves to demonstrate your shortsightedness.
# April 6, 2004 12:37 PM

Jerry Pisk said:

Video is a very good marketing tool. But it's useless for developers, which I think that's the target audience. You can't consume the information at your own pace, you can't search it, you can't quickly find what you need, you can't link to a specific piece of information in it. Personally I think Channel 9 is pure marketing, Microsoft needs to show that it listens to developers without the need to actualy do so (just read the blogs here about updates to VS, .Net framework and so on).
# April 6, 2004 12:58 PM

TrackBack said:

# April 6, 2004 2:19 PM

Dan K said:

no biggie, but ROCKS! is an AUDIO show..
# April 6, 2004 2:52 PM

TrackBack said:

# April 6, 2004 2:58 PM

Jeff said:

I know... I didn't make that clear, my bad. Edited.
# April 6, 2004 2:58 PM

Jason Mauss said:

Well said...sorta the same thing I think over at my blog.
# April 6, 2004 3:09 PM

Bruce Hafner said:

OK - maybe there are problems here. Maybe it might not get used....but here is what I see as the point (from a Non Microsoft Employee)

Too often in business...especially if you sort of control or drive an industry you tend to ignore the needs of the user base. In fact often you get a sort of Techno - pompous crowd ...sort of an elitist thing going on. Well Get over it. Often in life we get where we are by chance, locality, a friend etc. Development, technologies, groups get a sort of inbreeding think going on.

This is a great opportunity for the average user to give some feedback here and there. Even if only one great idea gets exchanged out of 150 bonehead ideas it is really well worth it.

Just my thoughts
# April 6, 2004 3:09 PM

TrackBack said:

# April 6, 2004 4:03 PM

TrackBack said:

# April 6, 2004 4:03 PM

TrackBack said:

# April 6, 2004 4:04 PM

TrackBack said:

# April 6, 2004 4:04 PM

Jerry Pisk said:

Bruce, you have tons of ways to give Microsoft feedback. Newsgroups, MSDN articles have forums, there's tons of "wish" e-mails at Microsoft, you can call them, you can send them a letter, you can comment on their employes' or groups' blogs. Do you really need yet another way? Especially since most of the existing feedback is going directly to Recycle Bin...
# April 6, 2004 8:04 PM

Robert Scoble said:

Jerry: I totally disagree that feedback goes into the recycle bin here. Absolutely not the case at all.
# April 6, 2004 8:10 PM

M said:

Robert, feedback through you might not go to the bin, but lots of it does, or at least is perceived to. I work for MS and *I* don't know how to give feedback to most products externally (internally, I'd jump onto autodl, join the appropriate alias and hope someone notices my comments). If I were a customer I would have no idea how to give feedback on a specific product, and if I did, and even if it were listened to, I bet 99% of the time there would be no feedback loop.

In my days before working for MS, I got involved in a beta for a competitors product. I had an idea for an improvement, it got to the dev responsible for that item, we worked back and forth on that idea, I was sent private builds containing this feature, and it made it to the final product. I don't see that sort of thing happening with MS. The perception of stuff going to the recycle bin is a problem.
# April 6, 2004 8:41 PM

TrackBack said:

BillDay.com &raquo; Channel 9
# April 6, 2004 8:52 PM

Rich Ersek said:

I think Snorrk has it about right. There are a lot of experiments going on right now and there will be more. Snorrk points out that one reason is that noone can know in advance what's going to work best. Another reason is flexibility - if MSDN had a framework that allowed experimentation and ease of posting content, then perhaps we could do all these things in one place. However, it's a lot easier to just put up and maintain an ASP.NET and for some other group to put up their own thing - for now.

So what does the future look like? It could be a lot of independent sites, which isn't all bad since Microsoft is a big company with many different types of customers. Do you think Xboxers would be happy to be directed to a place like MSDN for their forums? My guess is that some things will take off, some will die and others will consolidate.

For now, let's play a little. That was the fun of the internet and WWW in the first place.
# April 6, 2004 8:52 PM

TrackBack said:

Take Outs for 6 April 2004
# April 7, 2004 12:04 AM

TrackBack said:

# April 7, 2004 1:50 AM

Tim said:

I, personally think chanel 9 is a good idea. Weather or not it will actually turn into something good or not has yet to be seen. Its far easier to sit around and discuss what should be done as opposed to actually going out there and doing it. I think Jeff has a point though. This is just another 'resource' that we can all invest countless hours into reading and posting, but for what purpose? Will the chanel9 team be able to take this good idea and build it into soemthing that will benifit thoes in the chanel9 community, or will it just be one big wouldn't it be nice-fest?
# April 7, 2004 2:36 AM

Mike Schinkel said:

Damned if they do, damned if they don't. MS is often bashed for lack of innovation.
Can't innovate without trying new things. I like that they tried it, even if it does eventually suck (not saying it will or won't.) Babe Ruth struck out more often, because he swung the bat more...
:-)
# April 7, 2004 4:06 AM

Stuart Radcliffe said:

I've been wrestling with my thoughts on this for a while. I know what I should be doing but the route is not obvious.
# April 7, 2004 4:11 AM

Dennis said:

While we're at it, maybe we should tap your phone, so we can better target your junk mail.
# April 7, 2004 3:09 PM

Jeff said:

Please... that's not even in the neighborhood of being the same thing.
# April 7, 2004 4:00 PM

TrackBack said:

# April 7, 2004 4:07 PM

Dennis said:

Why not in the neighborhood? I expect my email to be a private communication between me and someone else. Just like my phone.

The only thing different is that Google is providing GMail for free, but if they offer to pay for my phone if they can tap it, I won't be doing that either.

I would say email is *worse*, since it's so much more easily archived and indexed. Yeah, my ISP server necessarily holds my email for a while, but they don't archive it, search it, and try to extract profiles based on it.

I guess you could make an argument that email normally passes in the clear on a public network anyway, but the lack of archiving and searchability makes it reasonably private unless someone goes to an awful lot of trouble.

And personally, I don't care to have ads better targetted to me, anyway. I'd rather they be totally irrelevant, so I'm more likely to save my money. If I want something, Google already does a good job of finding what I ask for.
# April 7, 2004 5:28 PM

Jeff said:

Your phone is on a huge network where people are listening, maybe even the feds. Your mail can be outright stolen from your mailbox or fall off the truck. Even if you get it, unless you burn it, it probably goes to the garbage or a recycling plant. All kinds of actual people touching your sensitive "data."

Again... who is touching your e-mail on Google? No one... it's all machines. It's not the big deal that the people in the linked article make it to be.
# April 7, 2004 7:14 PM

Dennis said:

Stealing from my mailbox is a federal crime. It's unlikely to "fall off the truck." I shred my sensitive mail before throwing it out. Listening in on my phone is also a federal crime, unless you are a law enforcement officer with a warrant (though that's been weakened lately, sadly enough).

Compare that to Google, saying that as a matter of course they're going to keep my private communications around forever, index them, and use the data for profit. If they were the phone company, they'd go to prison for that.

And you still haven't told me what's so different about a phone tap. If we had voice recognition software looking for keywords, and automatically sending you junk mail about tampons if you used that word in conversation, would you be okay with that? If we also stored recordings of every phone conversation you ever have, for easy retrieval by whoever's interested, would that be fine too?

# April 7, 2004 8:07 PM

Scott Mitchell said:

He's on the radio on KFI 640 on Saturdays and Sundays, IIRC. It's an LA radio station. You can listen live on the Internet at www.kfi640.com, if you're interested.
# April 7, 2004 9:00 PM

Jeff said:

I did tell you what's different about a phone tap... it's a human being. There is no mechanical indexing of phone conversations, so why would you even compare it to that? Furthermore, at no point has Google said they're going to "keep my private communications around forever, index them, and use the data for profit." Whatever Google will have "recorded" is not available for "easy retrieval by whoever's interested."

Give the black helicopters a rest...
# April 7, 2004 9:32 PM

Dennis said:

Um...they said they'll keep it after you close the account. They said they'll serve ads to you based on the content of your email. This is precisely analogous to the questions in my last paragraph. So what do you think? If a computer tapped your phone and sent you junk mail, based on keywords, and archived all your phone calls on a giant hard disk, how would you feel about it?



# April 7, 2004 9:47 PM

Jeff said:

Whatever dude... you're going to think what you're going to think. Read the privacy policy:

"You should be aware, however, that residual copies of information may remain stored on our systems even after the deletion of information or the termination of your account."

"Residual" to me means that it's lingering backup stuff. Your fears are nonsense:

"We will never rent, sell or share information that personally identifies you for marketing purposes without your express permission."
"We serve highly relevant ads and other information as part of the service using our unique content-targeting technology. No human reads your email to target ads or related information to you without your consent."
"Google will never sell, rent or share your personal information, including your Gmail address or email content, with any third parties for marketing purposes without your express permission."
"A limited set of employees are authorized to access user accounts, they are educated about the importance of maintaining user privacy, and their access to user accounts is recorded."
"We implement technology and procedures to try to make sure that external parties cannot access or modify users’ personal information on our servers."

You keep trying to make a case for conditions that don't exist.
# April 7, 2004 10:40 PM

Alex Barn said:

it is about the customer perception.
# April 8, 2004 3:19 AM

Dennis said:

"We serve highly relevant ads and other information as part of the service using our unique content-targeting technology. No human reads your email to target ads or related information to you without your consent."

So...junk mail based on computer-extracted keywords from your telephone calls, ok or no? Simple question. No answer?

As for the rest, Yahoo has arbitrarily changed their privacy policies, and sold information they previously claimed they wouldn't. Don't see why Google is necessarily any different.
# April 8, 2004 8:33 AM

Benjamin J. J. Voigt said:

I believe genarally the best way to give feedback to a particular product is probably the newsgroups. Lots of devs hanging around and many MVP's/RD's which can carry your message to the right people, plus newsgroups have a structure which can be analyzed and searched. Blogs are probably the second best option, but you'd find the right blog to go to.

I've been thinking a lot about how Channel 9 fits into the MS space, I've send my roomy and some other dudes off and confront them with the three big community concepts because I wasn't sure how to feel about it. After some more discussion at work, I'm pretty sure Channel 9 is not bad in the sense you are pointing out.

I'd not go to C9 for product feedback, but for entertainment! Socialize at C9 find a newsgroup or a blog for technical discussions. Of cause this is nothing official, but thats how I'd handle it.

I'll blog some more on this topic later on, but for now: We _will_ stop establishing yet an other forum, at least we are trying hard to stop.
# April 8, 2004 9:07 AM

Jeff said:

Socialize, eh? I guess that's cool. I guess when I want to socialize it's with people who are not in any way shape or form involved with computers! :)
# April 8, 2004 9:17 AM

Jeff said:

/me Smacks forehead in disbelief

Who is sending you junk mail? NOBODY. Again, you keep creating conditions that don't exist. We're talking about an ad on a Web site for a service that you don't pay for.
# April 8, 2004 9:20 AM

Dennis said:

I used junk mail because *lots* of people already send that to me, but you could transform to whatever method of advertising you consider most equivalent. Bottom line, they are giving you ads based on content that's supposed to be private. If someone, in some way, is advertising to you based on a computer listening to your phone calls, is that okay? If they offer a free phone line on that basis, would you take it?

In any case, an awful lot of people agree with me, it's hardly "black helicopter" stuff: http://www.wired.com/news/business/0,1367,62976,00.html?tw=wn_tophead_6
# April 8, 2004 10:58 AM

Jeff said:

If, if, if. This isn't a phone. It's not junk mail. It's a poor analogy. Good for people that agree with you, I still think they're over-reacting.

At the end of the day, if people are that worried about it, they simply don't need to use it.
# April 8, 2004 10:59 AM

TrackBack said:

# April 8, 2004 1:52 PM

Dennis said:

Yes, it's not a phone, that's an analogy, though I still don't get why you think it's a poor one. In any case, here's John Gilmore's analysis of their privacy policy:

http://craphound.com/gilmoreongmail.html
# April 8, 2004 4:25 PM

Thomas Martinsen said:

Looking forward to see your book on the self!
# April 13, 2004 9:54 AM

TrackBack said:

# April 13, 2004 10:56 AM

Drew Marsh said:

The thing is, when you sign up for GMail, you know this is how it works. How could anyone say it's a violation of privacy when, as you sign up for the service, you are told that this is how it's going to work? People that argue the privacy card on this one are just reaching.
# April 13, 2004 1:13 PM

Darrell said:

Yeah, at least Google is more upfront than many other companies about their privacy policy and practices.
# April 13, 2004 2:14 PM

Alex Barnett said:

Agreed.
# April 13, 2004 2:25 PM

scottgu said:

Hi Jeff,

For Whidbey (V2), the System.Web.Mail class will still use CDO internally. There is some work going on to support a native SMTP stack for post-Whidbey -- at which point in time the System.Web.Mail class will probably switch to using that internally instead.

Thanks,

Scott
# April 13, 2004 2:44 PM

Jeff said:

Cool and the gang... good to hear. I thought about writing my own SMTP component after I read Wrox's "Professional .NET Network Programming" because they more or less provided starter code. The issue then became that looking at the SMTP spec and the million return codes were a bit daunting to implement. It might be a "simple" protocol but it's a lot of bases to cover!
# April 13, 2004 3:33 PM

Stefán Jökull Sigurðarson said:

Try comparing the time it takes to apply a patch on a Windows 2003 box and reboot it to the time it takes to install a patch on a Linux box. The Windows server reboots in less than a minute while a Linux box, if it requires rebooting has a downtime of a few minutes. People should take a look at the total length of the downtime instead of the length of the uptime, i think you'll find them quite similar :)
# April 14, 2004 11:09 AM

denny said:

the root of this is what is beeing patched....

*EVEN UNIX / LINUX* has to reboot if the code is used in a live running process that you can't halt.

the windows problems are:

1) what services to halt to unlock the dll?
2) dlls that you can't unlock due to OS dependancy issues.

heck the re-boots are way down from say NT 4.0 days.....

but yea the whole OS needs to work a bit like the "rolling-restart" of an ASP.NET web site
where a new appdomain is created and the callers on the old app domain exit and then the old domain halts.

BUT at SOME POINT you have to reboot of you are patching the OS core.
on any system....
# April 14, 2004 11:54 AM

Drew Marsh said:

If you can figure out how to dynamically replace any of the dlls that are being upgraded in the processes that are actively using them I'm sure Microsoft would love to see your resume. ;) I'm pretty sure this is technically possible, but I don't think the OS supports it today.

So with that in mind, you'd have to at least cycle all the processes on the machine in order to ensure that all processes are using the latest versions of whatever dlls were updated. In that case, it sounds like a reboot would be easier to me. :)
# April 14, 2004 12:50 PM

Jeff said:

Hey... I didn't say I knew how, or even care how. It's just something I want as a customer. Customers are allowed to comlpain, right?
# April 14, 2004 1:28 PM

TrackBack said:

# April 15, 2004 10:56 AM

Scott Galloway said:

Very interesting, the ASP.NET forums (where I've been lurking of late) certainly suffer from many of these issues, the "TOP" rating is badly abused - put simply it rewards useless posting (the number of 'I agree' posts over there is getting nuts). The search functions over there too are pretty nasty - one biggy, try putting in a search term and hitting 'Enter' - unexpected isn't it!. Try doing that inside a forum, that generates an error page the vast majority of the time. That said though there is a lot of good information over there and if people just spent two minutes trying to use the search, a good 80% of the posts could be avoided. It has a FAQ forum (IMHO this should be a post at the top of each forum, most of them have between 20-30 recurrent questions, answering them in one place would again stop redundancy).
# April 15, 2004 11:19 AM

Jeff said:

Don't even get me started about "top" members. That's the single most useless "feature" any forum has ever had. It doesn't do anything to facilitate discussion. Does anyone remember discussion? :)
# April 15, 2004 12:40 PM

jledgard said:

Thanks for your feedback. I'll be interested in reading what you think about my proposed solutions.
# April 15, 2004 12:56 PM

ed said:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<document>
<title>Proprietary XML schema Example</title>
<date>2004-04-15</date>
<body type="base64 proprietary enhancement"> TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0
aGlzIHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1
c3Qgb2YgdGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0
aGUgY29udGludWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdl
LCBleGNlZWRzIHRoZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=
</body>
</document>
# April 15, 2004 6:21 PM

Jeff said:

But it's still XML...
# April 15, 2004 9:48 PM

AndrewSeven said:

The word "Windows" is a proprietary trademark, but it is still English.
# April 15, 2004 10:01 PM

IM said:

Proprietary binary format: I mean it's still just bytes?
Fink about it.
# April 16, 2004 4:48 AM

Jeff said:

So what you guys are saying is that Visio files are just binaries wrapped in XML? If that's the case, that pretty much makes it pointless to use XML.
# April 16, 2004 7:55 AM

ed said:

Exactly jeff. Its more of a to ride the XML buzzword craze than to actually use it for its advantages.
# April 19, 2004 2:37 PM

Scott Galloway said:

Shame, it was shaping up to be a really good site, some of the articles cover stuff better than I've seen anywhere else...
# April 20, 2004 9:23 AM

Jeff said:

I should add that I'm not abandoning it... I just don't think I'll have time for another month or two to get back to writing it.
# April 20, 2004 10:10 AM

Mark Hoffman said:


I hear ya man....I read your post and thought "hey! That's me!" I've got a long list of writing projects, books to read, code to write, etc, but that whole "making a living" thing always seems to get in the way.
# April 20, 2004 10:20 AM

Scott Galloway said:

I have one book which stands out which is .NET Components by Juval Lowy (http://www.amazon.co.uk/exec/obidos/ASIN/0596003471). There's also Patterns Of Enterprise Architecture by Martin Fowler (http://www.amazon.co.uk/exec/obidos/ASIN/0321127420) - but neither really give a start to finish view (one is too low level, the other too high). There is also the C# Class Design Handbook (http://www.amazon.co.uk/exec/obidos/ASIN/1590592573) haven't read that yet though...but the review seems pretty good!
# April 20, 2004 1:34 PM

Phil Weber said:

# April 20, 2004 2:13 PM

Jerry Pisk said:

You're crying on the wrong grave, what you're describing is IE's buggy support of CSS. You have two options - use strict HTML DOCTYPE, that will fix the problem in IE6+ or use a trick to work around that issue, surround your 100% wide element with an extra div, that will have no width, no margins, no padding and no border.
# April 23, 2004 4:00 PM

Jeff said:

Good call! You're my hero!
# April 24, 2004 10:05 AM

moose said:

Then why have Microsoft settled so many legal disputes out of court for just this type of action?

I'm in no way a Microsoft hater, but I'm also not a Microsoft fanboy.
# April 27, 2004 1:02 PM

Jeff said:

Probably because it's less expensive and less distracting in the long run. Settling a suit doesn't make you guilty. Sometimes it's just easier to make it go away.
# April 27, 2004 1:05 PM

moose said:

Settling 4 or more shows problems in their practise.

Losing their anti-trust case in the US to have it appealed by a Bush administration (coincidence? I think not), getting landed by a EU anti-trust case...

Its not all bad luck and resentment, its obvious bad practise. Even Microsoft admit as much in recent years...settling so many for so much almost proves as much.

You dont pay billions to settle out of court if you're not guilty.
# April 27, 2004 1:31 PM

Scott Sargent said:

Here's what i would do, If you're on a contract that's paying fairly well put half - 2/3rds of your $$ away in an account that you can't get to via check cards/debit cards etc.. do this for about a year or so, if you're successful after about a year you'll have about six months pay if not more in there. With that kind of money to play with you can take a month off and not worry about work. I did this (the saving part) over the last two years, I plan to take a month off this summer and i can't wait.
# April 28, 2004 9:00 AM

Jeff said:

Actually... I was thinking about going by the end of May. No way in hell am I going to waste six more months of my life on this job. No money is worth being bored out of your mind and not challenged.
# April 28, 2004 9:14 AM

uber said:

I've thought about it. In fact, I'm moving to Korea for the summer, starting in June. I'll be leaving a good job in New York City for this, but it's something that I've wanted to do for a while.

It's your life, and if you want some time off, then I think you should take it.
# April 28, 2004 9:48 AM

G. Andrew Duthie said:

My wife and I both stopped working almost entirely for around 2-3 months after our son was born. It was great, and we were very fortunate to have been in a position to do that. My only regret was that I did not start looking for additional work as early as I should have, so experienced a little anxiety towards the end of that period. If you plan to take the time off, it's probably a good idea to either have a plan in place for finding work when you want it, or having enough socked away to cover an additional month or two of expenses while you look for work.

# April 28, 2004 9:57 AM

Fabrice said:

Is leaving work for a month that extraordinary in the US? This is something that can be done here in France without quitting your job.
# April 29, 2004 5:16 AM

moose said:

For someone supposedly used to contract work, you don't half moan about job security on this blog. Get a salary and get benefits like paid holidays. Sheesh, why not discuss it with your wife, instead of on a technical blog?
# April 29, 2004 6:56 AM

Jeff said:

I'm sorry, "Moose," was someone forcing you to read this? That's what I thought.

Fabrice: Yes, taking a month off is unusual here in the states. Our culture is weird here, where people are expected to work 2000+ hours a year. I have a feeling that a lot of people will get to their golden years and wonder, "What the hell did I do with my life?"

Obviously I don't want to be one of those people!
# April 29, 2004 7:58 AM

Kent Tegels said:

Couldn't agree more. Good post.
# May 5, 2004 12:39 AM

EUgenio said:

One of the best quotes I heard about the subject, referring to the code, is:
"You couldn't expect much from something that has the primary function to execute, not to convey knowledge".
# May 5, 2004 5:15 AM

Doug Reilly said:

The joke about most corporate hiring practices is they seperate the wheat from the chaff and then hire the chaff...
# May 5, 2004 2:04 PM

Wallym said:

I hope that I did not imply the wrong thing. I do not think it is a bad thing that immigrants are looking for jobs. I see it as a natural progression. I have no problem with someone that can do my job better than me for the same money or the doing the same job for less money. If they can meet either requirement, then they deserve to get my work. That could be in electrical engineering, software development, or somewhere in between. "More for less" is something that I have tried to live by for a long time. I expect others to do the same.

I am merely stating that I do not agree with what Dr. Barrett is saying.

Wally
# May 5, 2004 9:14 PM

Stefano Demiliani said:

The previous build was terrible, too much unstable. I hope this could be better :)
# May 6, 2004 10:01 AM

Hendrik Swanepoel said:

I have printed and binded the dofactory pattern examples into a reference. I ave also included these examples into the bind, they are real-world, non-software examples of patterns:

http://www.agcs.com/supportv2/techpapers/patterns/papers/patexamples.htm
# May 7, 2004 3:23 AM

Matt Hawley said:

I guess its okay, now, that Leo left TechTV the other month.
# May 7, 2004 9:05 AM

Jeff said:

He didn't leave as much as the former owners were trying to screw him out of what he was owed. In the end, he actually comes out on top though I would think, because he owns "shares" of TechTV, which I assume Comcast has to convert to Comcast stock in the acquisition. He has been back on Call For Help for a few weeks now.
# May 7, 2004 9:14 AM

Duncan Mackenzie said:

Oddly enough, when I wore mine (from the PDC, but same idea) the barista at Starbucks knew exactly what it meant... turns out she had learned about it as part of a college course. But yeah, in general it just raises more questions than anything else :)
# May 10, 2004 12:49 PM

Bob Mixon said:

Jeff,

I agree completely. In addition to the tools you mentioned (which I use regularly), don't forget log4net! :)
# May 12, 2004 1:48 AM

michael said:

Nice site, but don't forget...

<% @Page Trace="False" %>

:)
# May 13, 2004 8:27 PM

Jeff said:

Uh... the trace isn't on. Why would you see trace info?
# May 13, 2004 10:30 PM

Brad! said:


Sorry for the late comment, but let me say --

If you don't ask, you won't get it.....

Having been in acquisitions and worked as an associate publisher for a major computer book publisher, I can say that if you don't ask for something, you won't generally get it. It is amazing how many people didn't/don't ask for better rates or for changing in a contract. Even if you do ask, the publisher may say no. That is why you ask twice <G>.

As you mentioned, Scott hits on some of the issues. Things to ask about -

- higher advances
- higher starting royalties
- scaled royalties -- if the book sells more copies, your percentage should go up.
- lower reserve percentages
- more frequent payments (if they are larger gaps than monthly)-
- more free copies
- better deadlines
- guaranteed first options on revisions

Again, if you don't ask, you won't get. It was amazing to see how many author's (and even agents) didn't ask for better deals. Even if they always get a 'no', they should still ask.

Congratulations on your book deal if it did come through. Writing a book is a lot of hard work, but when you get the printed copy in your hands, you realize the work was worth it.

Brad!




Brad!
# May 17, 2004 11:01 AM

Jeff said:

Yep... it came through, and yep, I did some asking. I got more out of it, you bet!
# May 17, 2004 1:39 PM

Jim Meegan said:

I am a new commer to ASP.net. I have a question that you may be able to give somee insite to. I am reading the book Developing Web Applications with Microsoft. In some cases they build separate Class files and in some cases they put he classes right in the behind code file. Why would you want to put classes there? Would it not make sense to always have them in their own file so you could use them elsewhere? Does not putting them in the behind code file defeat the object oriented approach?

Thanks for any insight Jim
# May 18, 2004 10:25 AM

Joe said:


I think some people just have more energy than others. I am a runner, and have competed in olympic distance triathlons as well as 30 mile trail runs. I actually think it is fun. You have to enjoy that feeling of total exertion. Some people think it's crazy to run 30 miles on a trail, but others don't stop at thirty... they go on for 100 miles. It's all relative to your energy level. It is from this frame of mind that I write the following.
It is possible to work 60-70 hours a week and still have time for your wife and kids. That is if you only need about four hours of sleep a night, and don't mind staying up 24 hrs. at least once a week. You really do get used to it. It's not for everyone though. Some people just can't take it. I am 39 y/o and have been doing it for a couple of years now, and it has become easier over time. This allows me to make 100,000 + a year and still enjoy my family. believe it or not, I still have time to go camping and waterskiing in the summer. Most of my overtime shifts are from 11 pm to 7am, and regular shifts are 12 hrs.(rotating days and nights) It really helps to stay fit. We have a fitness room with weights and cardio equipment where I work. If I can sneak in at least three workouts a week (usually about one hour and fifteen minutes each) I feel great. I know that someday I will have to slow down or might burn-out, but for now it's working out great.
# May 18, 2004 5:06 PM

Joseph said:

Personally, I would leave it as is, even if that meant that it was not a standard API. Too often I find that being locked into someone else's idea of how to code something just doesn't suffice. In fact, that has been my biggest block to finally learning VB - that I prefer to just build everything that I can by hand.
# May 21, 2004 9:24 AM

Steve said:

Very glorious indeed! ;-) Can I be next....
# May 21, 2004 9:29 AM

bilbo said:

congrats! move forward and kick some ass!
# May 21, 2004 9:33 AM

Puleen said:

Congratulations, now if only most of us can realize that sooner and act upon that realization, we would become true masters of our own universe.

Cheers
# May 21, 2004 9:33 AM

M. Keith Warren said:

Today is also the day you learn how hard it is to get out of bed when you dont necessarily have somewhere to be.

Good Luck! Welcome to the club.
# May 21, 2004 9:35 AM

christoc said:

Congrats Jeff! I had the very same day about 3 weeks ago now. Not out on my own, but off to a new opportunity. So far the first week has been great!
# May 21, 2004 9:36 AM

Matt said:

Congrats. A day-job coworker/side-gig partner just quit his job last Friday. He's been IM'ing me all week from coffee shops, asking me how my status reports are going, did I fill out my timesheet, etc. He's trying to blog it as well: http://www.thinkfirst.biz/blog/
# May 21, 2004 9:55 AM

Sonu Kapoor said:

All the best.

Sonu
# May 21, 2004 10:15 AM

Siva Mateti said:

Also, today is the day where there will be no weekends.
# May 21, 2004 10:17 AM

Jeff said:

...Or weekdays. You're talking to someone who has made it an art form to make as much as possible while doing as little as possible.
# May 21, 2004 10:25 AM

OmegaSupreme said:

Today is a good day. Congrats and good luck :D
# May 21, 2004 10:30 AM

brady gaster said:

YES! Very awesome indeed! I wish you the best of luck, glorious blessings abound that will make your dreams realities, and a most vigorous vote of hopefullness for all of your aspirations!

GO NUTS! DO IT YOUR WAY!
# May 21, 2004 10:35 AM

brad said:

I hear and understand the relief in your words. Monday is the day that I give notice, so that two Mondays after that I will say:

-Today is the day that I voluntarily quit my day job.

-Today is the day that I accept the financial risks of working for myself and take a real stab at making it work.

...
# May 21, 2004 10:44 AM

Girish said:

Best of luck
# May 21, 2004 11:08 AM

SBC said:

Great!! It's also my birthday today!!
# May 21, 2004 12:45 PM

Vic said:

Congratulations. Thats great to hear.
# May 21, 2004 4:07 PM

Addy Santo said:

Good luck!
# May 21, 2004 4:16 PM

Brian Moeskau said:

Thanks for the note on my blog -- I thought I'd return the favor. I have to admit that even though I've only been free from The Man for a week now, it's been a great week! I am actually working more now in terms of hours, but it just feels so much better knowing that I will reap the rewards of my effort (in theory...) It somehow doesn't even feel like work to me, but I guess that's how it feels to be doing what you truly love. Now if I can just get some income going, I'll be golden :) Best of luck to you.
# May 22, 2004 7:51 PM

Josh Baltzell said:

Best of luck to you. I figure that as soon as I triple my programming knowlege it may be time to take that dive. I wish you the best.
# May 22, 2004 9:15 PM

du8die said:

Congrats Jeff.

I'm looking forward to the book.

du8die
# May 22, 2004 9:48 PM

Sandeep said:

Best of luck!

I wish I had your guts. And yeah, looking forward to your book! :-)
# May 23, 2004 7:21 AM

Michael Moncur said:

See their rock show live if you ever get the chance. It was amazing.

The original theatre show is great too.
# May 25, 2004 5:06 AM

pete said:

Your wrong, he didn't make it by himself at all! Go to the following website and check it out. www.balderdash.com
# May 25, 2004 11:12 AM

Jeff said:

I'm not wrong at all. He did write the game himself. I know because I asked him personally.
# May 25, 2004 12:04 PM

TrackBack said:

# May 25, 2004 5:37 PM

TrackBack said:

# May 25, 2004 5:38 PM

Ian said:

Jeff,

Just been reading some of your blog.

All I can say to you, is best of luck - your ealier comment, "bored out of your mind - and not challenged" rang several bells.

Know exactly where your're coming from - left my job last week. Great feeling (for now at least...).

Anyhowz, good luck to ya !!!

# May 25, 2004 6:39 PM

michael said:

Hey Jeff - nice to hear that self employement is going well. Maybe one day I'll have that luxury to work for myself...only time will tell.

Anyway, I noticed the mention of your other site, which is very interesting, and I recently posted a blog about one of your articles here: http://www.melloblog.com/Feedback.aspx?BlogID=69

Good luck!
# May 25, 2004 9:27 PM

Sonu Kapoor said:

All the best man.

Sonu Kapoor
# May 26, 2004 10:34 PM

Jerry Pisk said:

The question is - will it be a web based interface or are you going to be able to use the regular client (integrated with your favorite IDE) to access VSS database over HTTP?
# May 27, 2004 7:39 PM

Sonu Kapoor said:

I uninstalled it too today :) It had some problems when using a radiobuttonlist control in asp.net. Really strange.

Sonu
# May 29, 2004 12:02 AM

TrackBack said:

# May 29, 2004 12:29 AM

Stefano Demiliani said:

Curious... :) I'd like to have an explanation... Java Runtime Environment seems strange.
# May 29, 2004 2:53 PM

Jeff said:

Similar thing happened on my laptop, only it was another app. Whichever thing you uninstalled last that uses that component appears there.
# May 29, 2004 3:23 PM

TrackBack said:

# May 30, 2004 12:57 AM

Ben Delorean said:

For the past 5 days now Ive been denied access to my hotmail account because of Microsoft's .NET crap!!
# May 30, 2004 3:24 AM

Andrew Pechersky said:

A lot of people have such a problem.
I looks like they've changed assembly format a bit and NUnit can understand it.
The ugly (but working) solution is to use Mono port of NUnit.

Good Luck!
# May 31, 2004 4:06 AM

Jamie Cansdale said:

I have just managed to get NUnitAddIn working with Visual Studio 2005. If you drop me a note I'll send you a link when it's ready.

http://weblogs.asp.net/nunitaddin/contact.aspx
# May 31, 2004 4:32 AM

denny said:

this is a classic ...

"it Depends" :-)
# May 31, 2004 3:26 PM

Jerry Pisk said:

Denny's right, it depends. Usually the data access layer throws an exception (since using "magic" values is not a good thing to do) and the UI catches it and shows an error message. So I guess I would go with throwing an exception - unless not having a record is a normal operation, such as returning a list of search results, as oposed to returning a record to edit.
# May 31, 2004 9:56 PM

Paul Speranza said:

# May 31, 2004 10:57 PM

Aaron Junod said:

You can also specify a config file in an .nunit file. This allows you to use the same config file if you so choose, and then use the .nunit file later from either the console, or the gui. re : http://blog.iceglue.com/archive/2004/05/12/168.aspx
# June 1, 2004 8:27 AM

alexio said:

i cannot wait i have seen the first movies and its a better game than the first and the second i hope it will be coming too for the playstation 2
# June 1, 2004 1:08 PM

steven said:

Hi there,
I'm just having a little trouble with this - trying to get the example from Steve Padfield's article working.
Have put your line in: HttpWorkerRequest wr = new SimpleWorkerRequest("/webapp", "c:\\inetpub\\wwwroot\\webapp\\", "default.aspx", "", tw);

...but get this exception:
System.Web.HttpException : Invalid use of SimpleWorkerRequest constructor. Application path cannot be overridden in this context. Please use SimpleWorkerRequest constructor that does not override the application path.

Can't find anything on google about it - - did you see this when you were trying things out?
Any ideas very gratefully received!
Thanks
S
# June 3, 2004 11:45 AM

Jeff said:

My example was on v2 of the framework, the alpha (May build). I don't think the current versions have the same overload, and as such you'd need to use Steve's code.
# June 3, 2004 7:54 PM

TrackBack said:

# June 4, 2004 11:30 PM

TrackBack said:

# June 5, 2004 5:19 PM

Kevin Dente said:

Because abstract classes are easier to version. You can add a new virtual method to a base class without breaking existing code.
# June 7, 2004 4:57 PM

John said:

How does it extend the network to the Xbox? The only ethernet jack is for input from your cable modem/DSL router.
# June 7, 2004 8:46 PM

Jeff said:

Or any router... it doesn't care.
# June 7, 2004 10:29 PM

Alex said:

Yep...I want one too. Ever since I got my license, the only thing I use my iPod for is a stereo since I don't have a bus ride or walk to the bus stop.
# June 8, 2004 2:20 PM

Matt Hawley said:

You're not alone... a ton of times I just see the "stupid" posts sit there with no responses...then someone feels bad for them a week later and answers it. Maybe "Googling" just isn't the household buzzword we developers know it to be.
# June 8, 2004 3:54 PM

Brian Carroll said:

You're obviously not alone...

http://www.redcoat.net/pics/answer.gif
# June 8, 2004 4:25 PM

Scott C Reynolds said:

I get this from my friends all day long. "do you know how to do x in y?". "What's the function for blah in yadda"? and so on. So I've taken to just putting together a google search URL with the question and pasting it back through the IM window.
# June 8, 2004 5:03 PM

TrackBack said:

# June 8, 2004 6:44 PM

michael said:

# June 8, 2004 8:43 PM

TrackBack said:

# June 8, 2004 8:58 PM

Justin Long said:

Yes, G4 TV sucks. I use to love watching tech tv but now I can't even stand to see the channel in my guide. I foresee many sad days ahead for those that liked tech tv.
# June 9, 2004 1:37 AM

Raj Kaimal said:


Smack on your head. How could you have missed this?

First time I used this was to put things in the Context.Item dictionary and perform a Server.Transfer.
# June 9, 2004 10:02 PM

Jerry Pisk said:

Can you try what happens if you have two public classes in one file and what will happen if you have a partial class in five files? Will it rename the other files as well?
# June 10, 2004 3:43 PM

Jeff said:

Good question... I haven't tried.
# June 10, 2004 6:04 PM

Josh Christie said:

Amen to that! Protectionism will only weaken the US software industry over the long term which will result in even less jobs. If your job could easily be send overseas, work on improving your own skillset and gaining experience that will make you more valuable rather than pushing to have your job artificially protected by laws against offshoring.
# June 11, 2004 8:47 AM

Jason Salas said:

Actually, for every reason besides the pay, I totally love my job. I'm a marketing guy, so I got into media because it was the most visible industry of those here on Guam. I'd been doing web design for years and started writing code out of necessarity because trying to run a high-end news site with the "File ==> Save As..." method of archival was way too daunting a task.

I get to integrate TV, radio and the Web, which is great fun. We're also not the most advanced shop in the aggregate, so I have total freedom to build new stuff, not being limited by migratory concerns of old platforms. It's really a labor of love. :)
# June 13, 2004 1:44 AM

Jerry Pisk said:

Database, since memory is not shared between load balanced servers. There's really nothing to think about here, Application state is not even an option.
# June 13, 2004 5:42 PM

Scott McCulloch said:

Anonymous Users:-

Cached for defined period (60 seconds), then persist to database. Use a cookie to to assign a temporary ID so subsequent requests are not recorded as a seperate ID.

Registered Users:-

Whidbey Style:-

GetUser(bool isOnline)

----

Take a look at the new forums for an example.
# June 13, 2004 7:33 PM

Mark Davis said:

G4 sucks the big one, I have to admit that some of the g4 shows are interesting but the reviews these people make are pretty freaking stupid. They point out key elements of a game and take points away for it. example: 2d fighting games like Street Fight VS SNK lose points for being 2d. 2d graphics make the game what it is.
# June 14, 2004 7:47 PM

Fredrik Normén said:

Hi Jeff,

Have in mind that the paging methods maybe will be removed from ADO.Net 2.0, because of customer feedbacks. MS uses cursors to handle the paging and that will affect performance.

"The implementation of paging was based on cursors, and both internal and external customer feedback indicated that it was not going to deliver the performance and scalability that our customers require. So we decided to remove the feature from the next release. We’ll continue working on the issue, and assuming that priorities don’t change, we probably come up with a better, integrated paging solution in a future release." - Pablo
# June 15, 2004 1:50 AM

Jeff said:

Where did you see that?
# June 15, 2004 9:27 AM

kevin white said:

I hear the CD has some DRM embedded in it to prevent ripping.
# June 15, 2004 5:21 PM

mix meister said:

DRM? i see over 200 seeders for the new album already.
# June 15, 2004 6:25 PM

Jeff said:

Uh, ripped it with iTunes as soon as I got home, listening to it on the iPod now.
# June 15, 2004 6:26 PM

Stefán Jökull said:

1.69$/gallon.. you have it good.. we in Iceland have to pay about 5.3$/gallon (comparing to a US gallon af course) :/

The new Beastie album rocks though! Nice evolution from Hello Nasty.
# June 15, 2004 9:04 PM

Fredrik Normén said:

The last section in my previous feedback was from Pablo Castro, Program Manager at the ADO.Net team, I ask him about it.
# June 16, 2004 1:50 AM

jollyone said:

i agree it sucks, even the webiste sucks. How could they get rid of Call For Help, that was one of the better shows and it recieved a lot of ratings. G4 is killing the TechTV image, name, and the Technical Television Image.
# June 16, 2004 3:20 PM

df said:

I think the issue is not that someone had to discontinue a free service, but in the way it was closed down without notice.
# June 16, 2004 11:34 PM

Jeff said:

But what difference does it make? I mean, what are you really going to gain by knowing ahead of time?
# June 17, 2004 12:10 AM

Joel Polkinghorne said:

Don't just complain here, really let Comcast know how you feel by signing this petition. Its time we actually did something besides gripe in forums. Please sign and pass the URL on to all your friends!

http://www.PetitionOnline.com/techback/petition.html
# June 17, 2004 12:52 AM

Jeff said:

That will do exactly nothing. They didn't buy a network without a plan they thought made sense.
# June 17, 2004 1:09 AM

!vo said:

I agree with df.
When you know in advance, you are able to save your work and even search for an alternative.
The people on weblogs.com aren't even sure if they will get a backup of their content, wich is still their intellectual property.
# June 17, 2004 2:57 AM

Shannon J Hager said:

What do you gain by knowing in advance? The ability to backup and move your site. You act like this is no big deal. You either don't care at all about the content you have on this blog and wouldn't mind losing it or you are smart and responsible and have your data backed up.
# June 17, 2004 3:31 AM

Jeff said:

But the majority of complaining I read had nothing to do with getting the content off, it was all about complaining that the free service was gone.

And sorry, but if the TOS was even remotely standard, the person running the server owns your post when you make it, not you.
# June 17, 2004 9:18 AM

Adam Hill said:

And it was by no means *free*. Dave got a lot of juice by getting the bloggers to use Radio (Userland's blogging software) at 49.95 a pop (there is no other way to post to a Manila site IIRC)and he got a lot of juice from saying, look at our cool server software, we are hosting 3K blogs. Look at all our satisfied customers.

Dave was the owner of Userland (it is now owned by his brother) and is arguably the titular head as well. This was not joe random user shutting down a blogging service it was the proclaimed 'godfather' of Blogging. He had time to travel to Amsterdam last month, a quick note about impending doom would have been nice.

Forewarning would have gone a long way to help people backup their data. (Note: Dave exempted 2 A-List bloggers - Scoble and Doc Searls) The hoi-polloi were not so lucky :)
# June 17, 2004 12:34 PM

Jeff said:

I guess that puts things in a little more perspective. It still implies though that there are certain customer obligations there that I'm not sure actually exist.
# June 17, 2004 12:59 PM

Josh Christie said:

While agree it's a shame that our government wastes so much money, I don't think Ben Cohen's global politics for dummies lesson is a good source for perspective. This is the same guy who wrote the article below ONE WEEK before September 11th 2001 in a stunt to show that America faces no enemy threats.

"ENEMY WANTED. Serious enemy needed to justify Pentagon budget increase. Defense contractors desperate. Interested enemies send letter and photo or video (threatening, ok) to Enemy Search Committee, Priorities Campaign, 1350 Broadway, NY, NY, 10018."

He then started the article with this:

"Here's the deal: We know our politicians have their work cut out for them. They need to find an enemy to justify maintaining the Pentagon budget as if the Cold War never ended. But the pool of credible enemies is evaporating. North Korea is even going diplomatic...."

In the animation, he argues that world hunger could be solved with just a little more money. He must have forgotten about Somalia and Rwanda where the hunger problem is caused by violence and cannot be solved by simply buying more food and mailing it over there. He may be surprised to find out that many of the 40 oreos in the Pentagon's budget go to peacekeeping missions where our military ensures food actually gets to the people who need it.
# June 17, 2004 3:44 PM

Jeff said:

Right... just like we're doing the right thing in Sudan, right? What's missing from that situation besides oil?

Your example is ludicrous. $40 billion didn't prevent 9/11. $100 million wouldn't have prevented it. "Global politics for dummies" it might be, but when the GAO puts out a new report every other week about the waste in the military, I get a little pissed. If you're OK with pissing away money when we've got plenty of crisis here, that's your right, but I'm not willing to turn and look the other way.
# June 17, 2004 6:09 PM

Josh Christie said:

Jeff, I did not state or imply that $40 billion (or anything else) would have prevented 9/11 and I agreed with you that our government wastes a lot of money. Believe me, wastes of tax dollars infuriate me too whether it's in the military or one of the many domestic 'pork' projects. I'm not sure why I'm being accused of turning and looking the other way.

My point was that Ben Cohen was dead wrong about America's lack of enemies in 2001 and is now oversimplifying world hunger to say that it could be solved by cutting the Pentagon's budget by a couple billion dollars. I'm not saying we shouldn't help people in need around the world. I've spent several months in third world parts of Mexico building homes for such families, myself. I'm just giving my perspective on Ben Cohen's assertions that the world's problems could be solved by cutting the Pentagon's budget.
# June 17, 2004 10:33 PM

Jeff said:

A lot of people said the Lakers would sweep the NBA Finals too. Regardless of what he thinks we can solve, the sheer disproportion is enough to make anyone a little pissed off. I think that's what he's really going for.
# June 18, 2004 10:29 AM

david said:

i agree at so do the people at the url come here if you are againsed the g4 ttv merger
# June 19, 2004 1:07 AM

Kathleen Bremner said:

I think channel 9 isent stupid I think channel 7 is stupid since all it is News! :)
# June 19, 2004 5:45 PM

john said:

i just want to connect my xbox live with my airport network with my sbc dsl connection. any router recommendations?
# June 19, 2004 5:50 PM

Brad said:

Kindered spirit alert. I salveged an old CPi 366 from the dumpster at work and I find I use it all the time for writing proposals, surfing, email etc. Anyting but Visual Studio, as I suspect it would just be a pig.
# June 19, 2004 7:04 PM

Damian said:

There are two good reasons for it..


1. Someone gets a post in between the person you are replying to. Result : Your post doesn't make any sense and you look silly.

2. The person you are replying to edits or deletes their post. Result : Your post doesn't make any sense and you look silly.

# June 20, 2004 10:51 PM

- said:

3. Quoting is the default behavior in many clients
# June 20, 2004 11:18 PM

Damian said:

Adam has got a few things wrong there.

Manilla can be posted to directly, like this site. It's a server hosted blogging platform. This is what was running on weblogs.com for free.

Radio pushes static html to radio.userland.com, which hasn't been turned off, it's part of the radio package.
# June 20, 2004 11:50 PM

Jeff said:

We're not talking about a client, we're talking about a Web-based forum.

Quoting is largely the act of people that don't remember how to write. It's easy enough to start a post with, "Regarding such and such," or whatever.

The bigger picture problem is that people don't remember how to communicate because the instant gratification of the Internet requires less out of them.
# June 21, 2004 1:17 PM

TrackBack said:

# June 21, 2004 6:05 PM

anon said:

The latest version of freetextbox has Cross-browser support (Mozilla 1.3+, PC/IE 5+)
# June 21, 2004 10:06 PM

Adam Kinney said:

Congrats, man! Stay Strong.
# June 21, 2004 10:27 PM

Jeff said:

I'm aware of that... that's what I said.
# June 21, 2004 11:29 PM

Jon Galloway said:

You might want to check if HTMLArea does the same thing. It's also cross-browser. I'd guess that it's probably just dressing up content-editable like all thes controls seem to do, so that would mean it's probably different HTML on each browser, but it might be worth checking. HTMLArea: http://www.interactivetools.com/products/htmlarea/
# June 22, 2004 1:38 AM

Jeff said:

Upon closer inspection, FreeTextBox appears to parse the crappy IE HTML into "real" HTML, so it might be easier than I thought!
# June 22, 2004 10:07 AM

OmegaSupreme said:

Yeah can't beat the real heavy, casino style chips. I'm sure they'll be a good investment over a few poker nights, definatley worth it.
# June 23, 2004 11:37 AM

TrackBack said:

# June 24, 2004 12:51 AM

tobester said:

Whew! I thought I was the only one who thought that the merger really sucked! I'm glad know that alot of others hate it too. I used to be an avid techtv wathcer and now my wife just asked me why I no longer watch the channel. The answer is because it's unbearable! Utterly Dreadful what they have done! Have they no plan or judgement that the idea is to attract viewers, not repel them? I think the term "Ass-Backwards" is so appropriate for this merger.
# June 25, 2004 10:28 AM

ND said:

People are stupid ignorant jerks. You just have to live with it.
# June 26, 2004 12:47 PM

denny said:

Uhhhhhhhhhhggggggggggggggggg!

too many big viewstates make me ill!
# June 27, 2004 5:59 PM

Damian said:

That's awesome. It's nearly as good as www.dotnetnuke.com
# June 27, 2004 6:21 PM

Jeff Perrin said:

I once wrote an application that was initially doing a 'SELECT * FROM table...' to show a list of all the clients that were in the database via a datagrid. I changed it eventually, but I forgot to upload the new version of the software to the client's server, so when we imported all of their old data (about 5000 clients) the page would take about a minute to load, complete with about 8 megs worth of viewstate. Their sysadmin must have thought I was a complete tool for a few hours there... ;)
# June 27, 2004 11:21 PM

Chad Myers said:

Declarative programming may be great and all, but you lose all control over everything.

I'm a big code-only (all code-behind) kinda guy where you can control the viewstate of everything by choosing when to add it to the master control hierarchy
# June 28, 2004 12:37 AM

Addy Santo said:

Thanks Jeff, a screen full of base64 binary was exactly what I needed, this has been immensely informative and useful.

not! :)
# June 28, 2004 12:46 AM

Dave Donaldson said:

No wonder it's so damn slow :-)
# June 28, 2004 1:18 AM

Keith Reid said:

Oh yea? My GDN viewstate is better:

dDwyMDY4MTQ0OTQ4O3Q8O2w8aTwwPjtpPDE+Oz47bDx0PDtsPGk8MT47aTwyPjs+O2w8dDw7bDxpPDA+Oz47bDx0PEA8R290RG90TmV0OiBUaGUgTWljcm9zb2Z0IC5ORVQgRnJhbWV3b3JrIENvbW11bml0eTtcZTtcZTs+Ozs+Oz4+O3Q8QDxcZTtcZTs+Ozs+Oz4+O3Q8O2w8aTwwPjtpPDQ+O2k8Nj47PjtsPHQ8O2w8aTwxPjtpPDM+O2k8Nz47PjtsPHQ8O2w8aTwwPjs+O2w8dDw7bDxpPDM+Oz47bDx0PDtsPGk8MT47aTwzPjtpPDU+O2k8Nj47PjtsPHQ8cDxwPGw8Rm9udF9TaXplO18hU0I7PjtsPFN5c3RlbS5XZWIuVUkuV2ViQ29udHJvbHMuRm9udFVuaXQsIFN5c3RlbS5XZWIsIFZlcnNpb249MS4wLjUwMDAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3ZjExZDUwYTNhPFhYLVNtYWxsPjtpPDEwMjQ+Oz4+Oz47Oz47dDxwPHA8bDxXaWR0aDtfIVNCOz47bDwxPDIwMHB4PjtpPDI1Nj47Pj47cDxsPG9uS2V5UHJlc3M7PjtsPGphdmFzY3JpcHQ6U3VibWl0U2VhcmNoX2N0bDFfU2VhcmNoQm94MSgpXDs7Pj4+Ozs+O3Q8cDxsPG9uQ2xpY2s7PjtsPGdvU2VhcmNoX2N0bDFfU2VhcmNoQm94MSgpXDs7Pj47Oz47dDxAPF9jdGwxX1NlYXJjaEJveDE7X2N0bDFfU2VhcmNoQm94MV9UZXh0Qm94UXVlcnk7L1NlYXJjaC9TZWFyY2guYXNweDtfY3RsMV9TZWFyY2hCb3gxO19jdGwxX1NlYXJjaEJveDE7Pjs7Pjs+Pjs+Pjs+Pjt0PDtsPGk8MD47PjtsPHQ8O2w8aTwwPjs+O2w8dDw7bDxpPDE+Oz47bDx0PHA8bDxfIUl0ZW1Db3VudDs+O2w8aTw1Pjs+PjtsPGk8MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDw7bDxpPDE+O2k8Mz47aTw1Pjs+O2w8dDxwPDtwPGw8b25DbGljazs+O2w8ZXhwYW5kaXQoJ19jdGwxX1JpZ2h0TmF2aWdhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGwwX1NlY3Rpb25QYW5lbCcpOz4+PjtsPGk8MD47PjtsPHQ8cDxwPGw8SW1hZ2VVcmw7PjtsPC9pbWFnZXMvbGVmdG5hdl9hcnJvd3VfbmV3LmdpZjs+Pjs+Ozs+Oz4+O3Q8cDxsPG9uQ2xpY2s7PjtsPGV4cGFuZGl0KCdfY3RsMV9SaWdodE5hdmlnYXRpb25NZW51X01lbnVTZWN0aW9uc19fY3RsMF9TZWN0aW9uUGFuZWwnKTs+Pjs7Pjt0PHA8O3A8bDxzdHlsZTs+O2w8ZGlzcGxheTpibG9ja1w7Oz4+Pjs7Pjs+Pjt0PDtsPGk8MT47aTwzPjtpPDU+Oz47bDx0PHA8O3A8bDxvbkNsaWNrOz47bDxleHBhbmRpdCgnX2N0bDFfUmlnaHROYXZpZ2F0aW9uTWVudV9NZW51U2VjdGlvbnNfX2N0bDFfU2VjdGlvblBhbmVsJyk7Pj4+O2w8aTwwPjs+O2w8dDxwPHA8bDxJbWFnZVVybDs+O2w8L2ltYWdlcy9sZWZ0bmF2X2Fycm93ZF9uZXcuZ2lmOz4+Oz47Oz47Pj47dDxwPGw8b25DbGljazs+O2w8ZXhwYW5kaXQoJ19jdGwxX1JpZ2h0TmF2aWdhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGwxX1NlY3Rpb25QYW5lbCcpOz4+Ozs+O3Q8cDw7cDxsPHN0eWxlOz47bDxkaXNwbGF5Om5vbmVcOzs+Pj47Oz47Pj47dDw7bDxpPDE+O2k8Mz47aTw1Pjs+O2w8dDxwPDtwPGw8b25DbGljazs+O2w8ZXhwYW5kaXQoJ19jdGwxX1JpZ2h0TmF2aWdhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGwyX1NlY3Rpb25QYW5lbCcpOz4+PjtsPGk8MD47PjtsPHQ8cDxwPGw8SW1hZ2VVcmw7PjtsPC9pbWFnZXMvbGVmdG5hdl9hcnJvd2RfbmV3LmdpZjs+Pjs+Ozs+Oz4+O3Q8cDxsPG9uQ2xpY2s7PjtsPGV4cGFuZGl0KCdfY3RsMV9SaWdodE5hdmlnYXRpb25NZW51X01lbnVTZWN0aW9uc19fY3RsMl9TZWN0aW9uUGFuZWwnKTs+Pjs7Pjt0PHA8O3A8bDxzdHlsZTs+O2w8ZGlzcGxheTpub25lXDs7Pj4+Ozs+Oz4+O3Q8O2w8aTwxPjtpPDM+O2k8NT47PjtsPHQ8cDw7cDxsPG9uQ2xpY2s7PjtsPGV4cGFuZGl0KCdfY3RsMV9SaWdodE5hdmlnYXRpb25NZW51X01lbnVTZWN0aW9uc19fY3RsM19TZWN0aW9uUGFuZWwnKTs+Pj47bDxpPDA+Oz47bDx0PHA8cDxsPEltYWdlVXJsOz47bDwvaW1hZ2VzL2xlZnRuYXZfYXJyb3dkX25ldy5naWY7Pj47Pjs7Pjs+Pjt0PHA8bDxvbkNsaWNrOz47bDxleHBhbmRpdCgnX2N0bDFfUmlnaHROYXZpZ2F0aW9uTWVudV9NZW51U2VjdGlvbnNfX2N0bDNfU2VjdGlvblBhbmVsJyk7Pj47Oz47dDxwPDtwPGw8c3R5bGU7PjtsPGRpc3BsYXk6bm9uZVw7Oz4+Pjs7Pjs+Pjt0PDtsPGk8MT47aTwzPjtpPDU+Oz47bDx0PHA8O3A8bDxvbkNsaWNrOz47bDxleHBhbmRpdCgnX2N0bDFfUmlnaHROYXZpZ2F0aW9uTWVudV9NZW51U2VjdGlvbnNfX2N0bDRfU2VjdGlvblBhbmVsJyk7Pj4+O2w8aTwwPjs+O2w8dDxwPHA8bDxJbWFnZVVybDs+O2w8L2ltYWdlcy9sZWZ0bmF2X2Fycm93ZF9uZXcuZ2lmOz4+Oz47Oz47Pj47dDxwPGw8b25DbGljazs+O2w8ZXhwYW5kaXQoJ19jdGwxX1JpZ2h0TmF2aWdhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGw0X1NlY3Rpb25QYW5lbCcpOz4+Ozs+O3Q8cDw7cDxsPHN0eWxlOz47bDxkaXNwbGF5Om5vbmVcOzs+Pj47Oz47Pj47Pj47Pj47Pj47Pj47dDxwPHA8bDxUZXh0Oz47bDxHb3REb3ROZXQ6IFRoZSBNaWNyb3NvZnQgLk5FVCBGcmFtZXdvcmsgQ29tbXVuaXR5Oz4+Oz47Oz47Pj47dDw7bDxpPDc+O2k8MTE+Oz47bDx0PDtsPGk8MD47PjtsPHQ8cDxsPF8hSXRlbUNvdW50Oz47bDxpPDU+Oz4+O2w8aTwxPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PDtsPGk8MD47aTwxPjtpPDM+Oz47bDx0PEA8Ni8yNDs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZVVybDs+O2w8RjhDb250cm9scztodHRwOi8vRmlndXJlOFNvZnR3YXJlLmNvbS9GOENvbnRyb2xzLmFzcDs+Pjs+Ozs+O3Q8cDxwPGw8TmF2aWdhdGVVcmw7PjtsPGh0dHA6Ly9GaWd1cmU4U29mdHdhcmUuY29tL0Y4Q29udHJvbHMuYXNwOz4+Oz47Oz47Pj47dDw7bDxpPDA+O2k8MT47aTwzPjs+O2w8dDxAPDYvMjM7Pjs7Pjt0PHA8cDxsPFRleHQ7TmF2aWdhdGVVcmw7PjtsPFNuLiBBU1AuTkVUL0MjIFVJIERldmVsb3BlcjtodHRwOi8vd3d3LnlvaGl0LmNvbTs+Pjs+Ozs+O3Q8cDxwPGw8TmF2aWdhdGVVcmw7PjtsPGh0dHA6Ly93d3cueW9oaXQuY29tOz4+Oz47Oz47Pj47dDw7bDxpPDA+O2k8MT47aTwzPjs+O2w8dDxAPDYvMjM7Pjs7Pjt0PHA8cDxsPFRleHQ7TmF2aWdhdGVVcmw7PjtsPEtpbmV0aWNhUlQgLk5FVCBDb21wb25lbnRzIGFuZCBTb2Z0d2FyZTtodHRwOi8vd3d3LmtpbmV0aWNhcnQuY28udWs7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsOz47bDxodHRwOi8vd3d3LmtpbmV0aWNhcnQuY28udWs7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDM+Oz47bDx0PEA8Ni8yMjs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZVVybDs+O2w8Rm9vbGluZyBWUyB0byBkZXZlbG9wIEFTUC5ORVQgYXBwbGljYXRpb25zIGluIGh0dHA6Ly9sb2NhbGhvc3Q7aHR0cDovL3d3dy5ob3d0b2RvdGhpbmdzLmNvbS9zaG93YXJ0aWNsZS5hc3A/YXJ0aWNsZT03Mjg7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsOz47bDxodHRwOi8vd3d3Lmhvd3RvZG90aGluZ3MuY29tL3Nob3dhcnRpY2xlLmFzcD9hcnRpY2xlPTcyODs+Pjs+Ozs+Oz4+O3Q8O2w8aTwwPjtpPDE+O2k8Mz47PjtsPHQ8QDw2LzIyOz47Oz47dDxwPHA8bDxUZXh0O05hdmlnYXRlVXJsOz47bDxBU1AuTkVUIHVwbG9hZGVkIGltYWdlcyBhcyB0aHVtYm5haWxzO2h0dHA6Ly93d3cuaG93dG9kb3RoaW5ncy5jb20vc2hvd2FydGljbGUuYXNwP2FydGljbGU9NjgyOz4+Oz47Oz47dDxwPHA8bDxOYXZpZ2F0ZVVybDs+O2w8aHR0cDovL3d3dy5ob3d0b2RvdGhpbmdzLmNvbS9zaG93YXJ0aWNsZS5hc3A/YXJ0aWNsZT02ODI7Pj47Pjs7Pjs+Pjs+Pjs+Pjt0PDtsPGk8MD47PjtsPHQ8cDxsPF8hSXRlbUNvdW50Oz47bDxpPDU+Oz4+O2w8aTwxPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PDtsPGk8MD47aTwxPjtpPDM+Oz47bDx0PEA8Ni8yMzs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZVVybDs+O2w8Q3VzdG9tIERhdGFzZXQgRGF0YSBFeHRlbnNpb24gZm9yIE1pY3Jvc29mdCBSZXBvcnRpbmcgU2VydmljZXMgKFZCKTtodHRwOi8vd3d3LmdvdGRvdG5ldC5jb20vQ29tbXVuaXR5L1VzZXJTYW1wbGVzL0RldGFpbHMuYXNweD9TYW1wbGVHdWlkPTA5Zjc5NWFjLWJhMGMtNDNjZS04YTc2LTQ0NTlkZTljMThkYTs+Pjs+Ozs+O3Q8cDxwPGw8TmF2aWdhdGVVcmw7VmlzaWJsZTs+O2w8aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD0wOWY3OTVhYy1iYTBjLTQzY2UtOGE3Ni00NDU5ZGU5YzE4ZGE7bzxmPjs+Pjs+Ozs+Oz4+O3Q8O2w8aTwwPjtpPDE+O2k8Mz47PjtsPHQ8QDw2LzIzOz47Oz47dDxwPHA8bDxUZXh0O05hdmlnYXRlVXJsOz47bDwgQyMgRGVtb25zdHJhdGlvbiBQcm9qZWN0IGZvciB1c2Ugd2l0aCBLaW5ldGljYVJUIE9QQyBDbGllbnQgLk5FVCBDb21wb25lbnQ7aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD02ZDBhOTc0ZS03NzBmLTQ2OGQtYWE2My01NjNmYWRhODJmZjI7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsO1Zpc2libGU7PjtsPGh0dHA6Ly93d3cuZ290ZG90bmV0LmNvbS9Db21tdW5pdHkvVXNlclNhbXBsZXMvRGV0YWlscy5hc3B4P1NhbXBsZUd1aWQ9NmQwYTk3NGUtNzcwZi00NjhkLWFhNjMtNTYzZmFkYTgyZmYyO288Zj47Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDM+Oz47bDx0PEA8Ni8yMjs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZVVybDs+O2w8ZGF0YWJhY2t1cCAtIEJhY2t1cCBhbmQgcmVzdG9yZSBNcyBTcWwgU2VydmVyIGRhdGFiYXNlcztodHRwOi8vd3d3LmdvdGRvdG5ldC5jb20vQ29tbXVuaXR5L1VzZXJTYW1wbGVzL0RldGFpbHMuYXNweD9TYW1wbGVHdWlkPTRlNmU4YzM4LTUwYjUtNDY1ZC05ODhlLTU3ZWM1MjYxYmYwYzs+Pjs+Ozs+O3Q8cDxwPGw8TmF2aWdhdGVVcmw7VmlzaWJsZTs+O2w8aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD00ZTZlOGMzOC01MGI1LTQ2NWQtOTg4ZS01N2VjNTI2MWJmMGM7bzxmPjs+Pjs+Ozs+Oz4+O3Q8O2w8aTwwPjtpPDE+O2k8Mz47PjtsPHQ8QDw2LzIxOz47Oz47dDxwPHA8bDxUZXh0O05hdmlnYXRlVXJsOz47bDxDdXN0b20gQ29udHJvbHMgOiBJbmhlcml0ZWQgVGV4dENvbnRyb2w7aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD05OGZhZTQ1ZS03M2M1LTQ3MWYtYjExOC03M2MxZjI1ZTg1ODY7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsO1Zpc2libGU7PjtsPGh0dHA6Ly93d3cuZ290ZG90bmV0LmNvbS9Db21tdW5pdHkvVXNlclNhbXBsZXMvRGV0YWlscy5hc3B4P1NhbXBsZUd1aWQ9OThmYWU0NWUtNzNjNS00NzFmLWIxMTgtNzNjMWYyNWU4NTg2O288Zj47Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDM+Oz47bDx0PEA8Ni8yMTs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZVVybDs+O2w8QnVpbGQgUnVsZXMgRVg7aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD1hMzMyNmViMy1hNDY4LTRmNjctOTFhOC1mODQ0NjlmYzQ5ZTI7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsO1Zpc2libGU7PjtsPGh0dHA6Ly93d3cuZ290ZG90bmV0LmNvbS9Db21tdW5pdHkvVXNlclNhbXBsZXMvRGV0YWlscy5hc3B4P1NhbXBsZUd1aWQ9YTMzMjZlYjMtYTQ2OC00ZjY3LTkxYTgtZjg0NDY5ZmM0OWUyO288Zj47Pj47Pjs7Pjs+Pjs+Pjs+Pjs+Pjt0PDtsPGk8ND47aTwxNj47PjtsPHQ8cDxwPGw8VGV4dDs+O2w8wqkgQ29weXJpZ2h0IDIwMDQgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgUmlnaHRzIFJlc2VydmVkLjs+Pjs+Ozs+O3Q8O2w8aTwwPjs+O2w8dDw7bDxpPDA+Oz47bDx0PDtsPGk8MT47PjtsPHQ8cDxsPF8hSXRlbUNvdW50Oz47bDxpPDU+Oz4+O2w8aTwwPjtpPDE+O2k8Mj47aTwzPjtpPDQ+Oz47bDx0PDtsPGk8MT47PjtsPHQ8cDxwPGw8TmF2aWdhdGVVcmw7SW1hZ2VVcmw7VG9vbFRpcDs+O2w8aHR0cDovL3d3dy5hc3BhZHZpY2UuY29tOy91aS9jb21wb25lbnRzL2NvbnRyb2xzL0NvZGVXaXNlL0ltYWdlLmFzcHg/bWVtYmVySWQ9MTI4O0FTUCBBZHZpY2U7Pj47Pjs7Pjs+Pjt0PDtsPGk8MT47PjtsPHQ8cDxwPGw8TmF2aWdhdGVVcmw7SW1hZ2VVcmw7VG9vbFRpcDs+O2w8aHR0cDovL3d3dy5jLXNoYXJwY29ybmVyLmNvbS87L3VpL2NvbXBvbmVudHMvY29udHJvbHMvQ29kZVdpc2UvSW1hZ2UuYXNweD9tZW1iZXJJZD0xMDk7QyMgQ29ybmVyOz4+Oz47Oz47Pj47dDw7bDxpPDE+Oz47bDx0PHA8cDxsPE5hdmlnYXRlVXJsO0ltYWdlVXJsO1Rvb2xUaXA7PjtsPGh0dHA6Ly93d3cuY29kZXByb2plY3QuY29tOy91aS9jb21wb25lbnRzL2NvbnRyb2xzL0NvZGVXaXNlL0ltYWdlLmFzcHg/bWVtYmVySWQ9MztDb2RlIFByb2plY3Q7Pj47Pjs7Pjs+Pjt0PDtsPGk8MT47PjtsPHQ8cDxwPGw8TmF2aWdhdGVVcmw7SW1hZ2VVcmw7VG9vbFRpcDs+O2w8aHR0cDovL3d3dy5kZXZ4LmNvbTsvdWkvY29tcG9uZW50cy9jb250cm9scy9Db2RlV2lzZS9JbWFnZS5hc3B4P21lbWJlcklkPTE5O0Rldlg7Pj47Pjs7Pjs+Pjt0PDtsPGk8MT47PjtsPHQ8cDxwPGw8TmF2aWdhdGVVcmw7SW1hZ2VVcmw7VG9vbFRpcDs+O2w8aHR0cDovL3d3dy53aW50ZWxsZWN0LmNvbS9mb3J1bS9tYWluLmFzcDsvdWkvY29tcG9uZW50cy9jb250cm9scy9Db2RlV2lzZS9JbWFnZS5hc3B4P21lbWJlcklkPTExMDtXaW50ZWxsZWN0Oz4+Oz47Oz47Pj47Pj47Pj47Pj47Pj47Pj47Pj47Pj47Pg92qUdAf4qKqlWF/iyZ26E2Wh4+
# June 28, 2004 1:18 AM

Marc Lee said:

I hate G4techtv. I want TechTV, TechTV go alive! TechTV go alive! TechTV go alive! TechTV go alive!
# June 28, 2004 5:21 AM

Nikhil Kothari said:

A bit about view state improvements in Whidbey at http://www.nikhilk.net/Entry.aspx?id=36
# June 28, 2004 9:58 AM

Daniel Cazzulino said:

Hehe... I found that many referrers coming to my posts were searching google for "performance", and very few actually looked for "performant", so that's basically why you win ;)
# June 28, 2004 8:59 PM

rick said:

Visual C#.Net had the same no-class-library limitation. However, I found that it could open and use them just fine, just not create them.
# June 29, 2004 7:58 PM

DJ said:

I don't know what's worse, the silly comments or the fact that they get modded up to "Insightful". That's the real indicator of the site's membership.
# June 29, 2004 9:15 PM

Jerry Pisk said:

Jeff, your comments are as retarded as theirs.

And if you think using mouse is the best thing ever happend to programming think again. Just today I was moving the output directory of one of my projects (five assemblies and few config files). I would have to shoot myself if I had to do that in Visual Studio, according to you it's a lot better to spend half an hour clicking in endless dialogs than changing a single line in a nant build script?

And you've obviously never used Eclipse, it's a lot better IDE than anything Microsoft has ever done. It's better because it's done by programmers, and it's not targeted to beginners (think people who drag a database onto a web page and wwonder why their data updates are so slow). It may have a lot less fancy stuff but when it comes to writing some code it wins. I don't think Eclipse has to worry, especially not because of Microsoft's release of express visual studio pieces - they're pretty useless for serious work anyways. They're just eye candy for programmer wannabes.

And personally - the moment Sun releases their control over Java I'm switching. the whole mindset of Java developers is different, it's not about dragging icons with their mouse to create applications, it's about doing it right, understanding what the code does. It's definitelly a result of Microsoft targeting non-developers and letting them think they can write code as well, the actual platforms are pretty much the same, they both have their pros and cons.
# June 29, 2004 9:57 PM

Joshua Flanagan said:

Heh, I like this line from Jerry's post "[Eclipse] is better [than VS] because it's done by programmers".

I wonder if he really believes that Visual Studio was created not by programmers, but some sort of "immaculate compilation".
# June 29, 2004 10:03 PM

Jeff said:

Hahahaha. Wasn't that a Madonna album?

People like Jerry make it religion and attempt tp place everything in a world of absolutes. He finds one thing he can't do and the whole tool is useless. Even better, if a tool offers visual shortcuts, it means that you can only use those and you're a poor programmer. These are "obviously" the rules and the holy truth!

See you on Slashdot, Jerry! I've got code to write!
# June 29, 2004 10:13 PM

Alex Papadimoulis said:

Amen. I've been meaning to write up a anti-slashdot post but have simply stuck to mocking it with my coworkers. Here's a ludicrous comment I just came across:
"The number of people affected by Microsoft's crimes against humanity number in the hundreds of millions. I'd even go as far as to say that if Bill Gates had been inside one of the Twin Towers when they fell, the other lives lost would have been worth it."
http://developers.slashdot.org/comments.pl?sid=112349&cid=9530045

It is nice to remember that the overwhelming majority of /. readers are out of work. heh.
# June 29, 2004 11:24 PM

Jeff said:

Out of work, eh? Hating Microsoft isn't something you get paid for? I was not aware of that.

It's fun every once in awhile to get under their skin and mess with them. They get so worked up over this stuff, and I can't for the life of me understand why. When I don't like a product, I either move on to something else or I tell the manufacturer what I don't like about it. Sometimes, they listen! (See: An HTML editor/designer than doesn't suck in VS 2005!)
# June 29, 2004 11:38 PM

mareol said:

Who do we write to bring back Call for Help?

I tried 7 emails to g4 tech and all I get is automated generic responses.
# June 30, 2004 1:34 AM

Jerry Pisk said:

Hillarious, I don't read slashdot and I'm the only one in my company pushing Microsoft's technologies. But because I think Eclipse is better than VS I'm bad... As I said, you guys are no better than /.ers.
# June 30, 2004 3:03 AM

Russ C. said:

Quote:
we're shipping people in from all over the world to fill .NET jobs in the Greater Cleveland area.

This jumped to my attention. Do you have more Information or a Website ?
# June 30, 2004 5:07 AM

Jeff said:

Russ: Check Monster, CareerBoard.com, FlipDog, etc. Heck, Progressive Insurance alone requires a small army and they'll move the right people.

No one said you're "bad," Jerry. You just make generalizations about the tool and engage in developer snobbery. That's pretty lame. Those "wannabes" might some day occupy the next cube or office. Perhaps it would be more constructive to help them out instead of dismissing them, eh?
# June 30, 2004 9:13 AM

Jason Mauss said:

man...thanks for saying this. I know it might not be a popular position to take but, you're right.

To make the developer community better, I think we should all be trying to help educate "the n00bs" (as you say) so that next time they will know better. It's like I say in my mantra for DevCampus, allow them to learn from *our* mistakes, not their own.

http://weblogs.asp.net/jamauss/articles/AboutDevCampus.aspx

Good post Jeff, thanks.
# June 30, 2004 1:30 PM

Andrew said:

The bottom line is: using the right tool for the job!
# June 30, 2004 2:48 PM

Jerry Pisk said:

Jeff, you nailed it, that's exactly what I'm worried about. That I'll have to work with somebody who says he's a good programmer because he knows how to drag a database connection onto a web form. I have done so much code fixing after people like this in my life that I think it's time to stop letting people think everybody can do it. I think we would all benefit from teaching people how to write good code, by teaching those newbies how to do that instead of giving them tools that don't require them to think about what they're doing.
# June 30, 2004 3:22 PM

David Hayden said:

Well said, Jeff.

I think a number of those snobs may be concerned with job security and their self-given "elite" status as the barriers to becoming a developer are being torn down. Tools are less expensive and often free. Information can be found everywhere as opposed to expensive books and conferences. And, a lot of development (not all development) has less to do with the low-level "plumbing" we had to deal with in the past.

Thanks to all the countless and most excellent developers behind-the-scenes (the non-snobs), who build tools, controls, components, and share their knowledge with the community. They make it possible for the "n00bs" to get their feet wet, feel a sense of accomplishment, and learn development at a higher level as they begin their journey.

In the end, those people that give will always receive more in return and live a happier and richer life. The "snobs" will just fade away.
# June 30, 2004 3:47 PM

Jason said:

I've been using VS for over 7 years and I have never even tried to "drag a database connection over to a webform". I find that even after I remove/disable the visual designer enhancements, VS is a terrific development environment. I think that changing the build output directory would take... let me visualize here... right click, left click, left click, type new directory, left click. OH MY GOD PLEASE WASTE MY TIME!!!! :-|
# June 30, 2004 3:48 PM

Shannon J Hager said:

yeah, snobbery is bad, of course, but don't try to gloss over the fact that MS pushed VS.NET for years (and STILL ARE as recently as DevDays2004) by showing how you could simply drag a table onto a form. Those "ease-of-use" features write terrible code, create terrible habits, and are close to the exact opposite of how you should be writing the program if you are actually going to use it anywhere other than on your own desktop. Forsaking quality code and practices in order to sell users via "Gee-WYSISYG" features is a Bad Thing and has done more damage to .NET than good.
"Job security" is FAR from the problem. If these features were good enough to use in production code, we would all be using them.
# June 30, 2004 5:40 PM

Shannon J Hager said:

I think Jerry may be right about the Express series being for wannabes. We need to remember that we were all wannabes before we were 'real' programmers, though, right? I hope so. If you're doing doing this job without wanting to, you should switch careers.


As for Slashdot, if you look for things to piss you off, don't worry, you'll find them. If you look for ASCII goatse art, you'll find that too. Instead of wasting your time, though, you should do it right:
http://hdconsultants.us/archive/2004/06/02/HowToReadSlashdot.aspx
# June 30, 2004 5:45 PM

Jerry Pisk said:

Jason - I was doing it for a number of different "projects", not just one. That's the whole problem, VS is ok for simple things, where changing the output directory is a matter of few clicks. But doing it ten times as oposed to editing a line in a build file is not the way to go. Btw my way is open a file (a double click), type in new directory, hit Ctrl+S while you're typing and Ctrl+F4. A lot faster than clicking...
# June 30, 2004 5:48 PM

Joshua Flanagan said:

Jerry, the new VS 2005 project file uses MSBUILD - which is similar to NANT. Are you sure it isn't just as easy as opening a file and changing a line, with the new file format?
# June 30, 2004 10:22 PM

Jerry Pisk said:

Yes, with VS 2005 it is, MSBuild is just a knockoff of Ant. And it only confirms what I'm saying all the time. Even Microsoft gets it, now if only all their evangelists would :)
# June 30, 2004 11:13 PM

Jerry Pisk said:

Oh and Jeff - you say nobody said I'm bad for my opinions. Don't you read your own blog? Don't you remember what you post? http://weblogs.asp.net/Jeff/archive/2004/06/30/169962.aspx - it's titled "Developer snobbery is bad for everyone" and it says I'm reeking of developer snobbery.
# July 1, 2004 1:59 AM

Karl said:

As far as I can tell, this has extremely limited capabilities. Namely, an HttpRuntime is never created, which renders all but basic unit testing useless.
# July 1, 2004 11:17 AM

Jeff said:

Useless? If I can store things in the cache, the only thing I've encountered that I need, then it's not useless at all. Just because you don't see a use for it doesn't mean other people might not.
# July 1, 2004 12:08 PM

Eric Newton said:

You mean a POP3 or IMAP4 client right?

As far as I know SMTP is more of a "Receive and possible forward" protocol, not neccessarily for retrieving?
# July 2, 2004 1:30 AM

Eric Newton said:

I agree mostly with your points, just one thing though:

The VB.Net developers tend to write shoddy code... this is a generalization that is obviously not 100% true, but when I work with "VB only shops," I'm always explaining how things REALLY work and why this piece of code works for this one situation but will possibly fail later on...

I dunno, I try not to be a snob about it, but I have yet to see a "tight VB coder"

And frankly I hated the "drag onto the form" SqlConnections and DataTables and such... OMG connection string management NIGHTMARES!
# July 2, 2004 1:35 AM

TrackBack said:

# July 2, 2004 1:51 AM

Eric Newton said:

Heh... nikhil couldnt let this go unanswered ;-)
# July 2, 2004 1:56 AM

Jeff said:

Yes, that's true. Who said anything about receiving?
# July 2, 2004 10:44 AM

Zach said:

Techtv has died :'( everything that was good is gone, the g4tv ceo cancelled everything that he didnt see as needed or "hip". Everything on g4 is exactly the same, they basically kept all of the g4 shows and cancelled half of the techtv shows (thankfully the screensavers is still here). But they'll be moving to LA and patrick is leaving to get married.


Someday they'll realize the mistake they made.
# July 2, 2004 1:08 PM

twppie said:

Anyone know who the idiots are behind the debacle?
# July 3, 2004 5:04 AM

AndrewSeven said:

Thanks
# July 4, 2004 10:52 AM

TrackBack said:

# July 4, 2004 11:35 AM

Eric Newton said:

damn thats a lot of events.
# July 4, 2004 6:49 PM

William D. Bartholomew said:

The SMTP bit isn't too hard, but it's the MIME for attachments that isn't fun.
# July 5, 2004 1:24 AM

Jeff said:

Agreed! I started to look at some of open source implementations and decided that going that far would cease to "fun!"
# July 5, 2004 9:32 AM

MikeG said:

Tech TV definately kicked ass. I must agree with everyone as far as the programming goes, it sucks. I am very angry with this merger. It should have never happened. This channel should have been known as TechTVG4. G4 obviously don't know what they are doing. They need some of the execs from TechTV to show them how G4 how it is done. We should all get together and voice our dissatisfaction with the product.
# July 6, 2004 1:09 PM

TrackBack said:

# July 6, 2004 1:54 PM

Wallym said:

According to my sources, the eight ball says "Don't believe your eyes."

Wally
# July 6, 2004 8:22 PM

Jeff said:

That's the problem... everyone has "sources" but I have an old theory about such things.

"Those who know don't talk. Those who talk don't know."
# July 6, 2004 9:35 PM

Euchre said:

It would appear from the threads on the G4TechTV forum (which is really just the G4 forum) that G4 has it's own unique fan base and that the two demographic groups will not merge. This says to me that Comcast has successfully done what corporate committee decision often does: take two profitable entities they do not understand, combine the worst of each, and destroy it all in the process.
The heart of the tech industry in the US is San Francisco, so they move the whole operation to LA which is the home of neither gaming nor tech.
G4 was not nearly as powerful as TechTV, and didn't have the same variety of successful shows, so they are mostly keeping G4 shows.
The G4 site is busy and very difficult to navigate. TechTV's site was not ideal, but was functional and much more visually appealing. The G4 site despite not having content oriented graphics takes longer to load. Which site's design is more prevalent in the current one? G4.
One thing is guaranteed, executives never admit mistakes, nor do big corporations. Don't expect TechTV to be saved by Comcast reversing itself, they won't.
# July 7, 2004 12:45 PM

TrackBack said:

# July 7, 2004 3:18 PM

Scotty said:

This has to be the worst move that Comcast has made.
I was hoping that perhaps a little of TechTV would wear off on G4, and create something like a happy medium.
However, even after some time, Tommy Talirico's slime is dripping off of the entire channel. I miss my TechTV. I agree that G4's production was horrible before the merger, but the channel served a niche with 12-20 year old boys that had time to game all day. Plus, it was a good billboard for EBGames.
TechTV was serious enough to cover the real meat and potatoes of computerdom. Everything from the dark arts to beginners help was covered, and it was presented in a grown up manner that didnt' talk down to anyone from the newbie to the professional.

Since then, I have only really seen G4 programming on the channel. I miss my Screen Savers marathons, I miss my CFH, Nerd Nation, and so many other shows that seemed to have been replaced with lame ass re-runs of G4TV.com, Filter, and the rest of the G4 drivel.

Hell, my local Time Warner cable provider even moved the channel from 44, which is accessable to almost everyone, to channel 141. It just no longer matters.

I'm going to miss TechTV, I was a fan even in the days of ZDTV.
# July 8, 2004 2:35 PM

df said:

Before wireless we went out on the deck and enjoyed the morning without being chained to a laptop :)
# July 8, 2004 2:41 PM

Alex Papadimoulis said:

... or we installed weather-proof CAT-5 outlets next to the power :-D.
# July 8, 2004 3:38 PM

tim said:

yup, this is the worst thing that could happen to a computer geek like me...how 'bout you?
what do you say we boycott the g4 advertisers or flood their offices with "bring back nnn programs"...??? i dunno...g4 sucks plain and simple. a dim shadow of the tech tv that we got used to. just stop watching , i guess.
tim
# July 9, 2004 1:29 PM

Tommi said:

Hi,

I've looked at these articles and alltough they are not .NET articles, they outline some different approaches to storing tree data:

Storing Hierarchical Data in a Database
http://www.sitepoint.com/article/1105

Four ways to work with hierarchical data
http://www.evolt.org/article/Four_ways_to_work_with_hierarchical_data/17/4047/index.html
# July 10, 2004 4:35 PM

Scott Galloway said:

I'm currently working through this problem myself actually, the book 'Joe Celko's Trees and Hierarchies in SQL For Dummies' is just awesome for this covering pretty much every which way you can do this. In addition to the sitepoint one Tommi mentioned above, this one: http://www.intelligententerprise.com/001020/celko.jhtml?_requestid=273960
covers Joe Celko's approach using 'Nested Sets'. It is still worth getting the book though as he gives more recipes for stuff like updating and how to avoid problems with frequently changing sets.
# July 10, 2004 5:43 PM

Scott Galloway said:

Should be 'Joe Celko's Trees and Hierarchies in SQL For Smarties' :-)
# July 10, 2004 5:45 PM

Marcel said:

Loved Managed DirectX9 Kick Start! As you pointed out this book was indeed a bit thin on the theory but it really does provides a great way to get into Managed DirectX programming.

Lately I visit Waterstones in the UK often for books on Games programming. They always have excellent books on the shelf on this subject. Like Mason McCuskey's Special Effects Game Programming With DirectX :-)

-- Marcel
# July 10, 2004 6:33 PM

Scott said:

Look on the bright side, after you read a Wrox book you still don't know everything there is to know. There's still all of the errata to read. :) It's like reading the same book twice with different content!
# July 10, 2004 7:16 PM

MrBrett said:

Hi

I created an SQL sproc quite a while ago which dealt with this. Basically you pass a temporary table of items with just IDs and Parent IDs (and some other extra data), and then the sproc sorts the hierarchically for you with the exact tree index that the nodes would be in a .NET treeview. Therefore you have no recursion necessary in your .NET code at all, you just create the nodes as you iterate over the dataset.

- Brett
# July 11, 2004 12:00 AM

Freddy said:

G4 - TV for MORONS
# July 11, 2004 11:59 AM

VGA said:

Here[1] I've posted how this is improved in Whidbey.

And I was first than Nikhil :-P

At least is nice to see that I wasn't wrong!! :-)

[1] http://weblogs.asp.net/vga/archive/2004/05/26/WhidbeyWillBringsUsAShorterViewstateGuaranteed.aspx
# July 12, 2004 3:20 PM

Nathan said:

Please vote, at:

http://www.vbforums.com/showthread.php?s=&postid=1734910

I also think it sucks
# July 13, 2004 12:26 AM

McMike said:

I've seen countless complaints about G4TechTV's recent decisions to cancel shows and promote former G4 shows in their place. I agree wholeheartedly and that's how I found this board. But is there anyone out there who disagrees?

Surely if the G4 people decided to axe so much of TechTV they must have figured they'd GAIN viewers in the long-run, right?

I only watch "The Screen Savers" anymore but I can't stand Roger from Call For Help nor the stupid comments btwn Kevin and Sarah (we KNOW you're a couple. You don't have to keep shoving it in our faces!). I miss TechLive and SpySchool. I miss the late repeats (on the West Coast) of TSS since I'm not home when it first airs (4 p.m. PST). I was even starting to dig "Nerd Nation".

G4 sucks. The cancellations are a decision they made they won't reverse, so there's no use for petitions or anything else. Fight the power by just plain not watching. I have the feeling they're going to freak in a few months when they see the ratings have dropped dramatically.
# July 13, 2004 12:43 AM

Jon Galloway said:

I've noticed this effect, too - the computer book isle at the bookstore isn't near as exciting.

I think (for me) that's party due to the huge amount of content on the internet, and especially in technical blogs. Books seem like a very inefficient way of getting information now.
# July 13, 2004 4:35 AM

dj said:

I am 14 well I will be 7-17 and what do I get for my b-day screen savers move to LA that sucks big time I was a fan back from zdtv I was not thrilled when zdtv moved to techtv but it rocked compard to this I am shore nothing will happen or all the techtv fans will stop watching and then them will pull the network because of money but that is just me any how I am glad to see I am not the only one how hates the merge but the first thing they have to do is fix hat web site it sucks ass!!!!!!!!!!!!!!!!!!!!!
# July 13, 2004 4:24 PM

p_skiddy said:

g4 sucks I hate all of their shows
# July 13, 2004 4:25 PM

TrackBack said:

# July 13, 2004 11:55 PM

Jerry Dennany said:

On the contrary - I was reading a recent study that showed that the teen population has a great deal of disposable income, courtesy of their parents and after school jobs. They are also more succeptable to advertising.

Just a thought...
# July 14, 2004 11:17 AM

Jeff said:

Having disposable income and having something to sell the kids are two entirely different things. You can't sell them new cars, computers, prescription drugs, or get them to buy IBM and Oracle services. Those are the big money advertisers they've lost.
# July 14, 2004 12:43 PM

@sscore said:

I always thought TechTV should move in a direction that is MORE technical and caters to more of the "harcore geek" . the screensavers is good, but in all reality for computer noobs.
Now that it is G4 tech TV it's just a big fukn advertisment for x-box games. I dont know if you noticed but the tech tv staff is now barred from talking about "controversial" subjects like modchips, making game/dvd back-ups/ p2p or anything else that might piss off g4's advertising purchasers.

I've never met anyone that enjoyed tech tv and also liked G4.
as a matter of fact everyone I know that likes techTV HATES G4
# July 14, 2004 5:18 PM

McMike said:

But @sscore: do you know anyone who likes G4 but not TechTV?

I'm hoping that in a few months Comcast will notice that ratings have dropped dramatically and will "bring back" shows they cancelled that viewers liked. Maybe that's just wishful thinking. By then it would have been months since I watched G4TechTV, so how would I know those shows are back on. I can't bare to watch G4TechTV now! It's hosts are annoying and its shows are juvenile. Just the kind of thing their targeted demographic is looking for (teenage EBGames customers). No offence.
# July 14, 2004 11:47 PM

Andy said:

Comcast execs do not care about your opinions. They care about money. They have made such obscene profits from their cable rip-off, that they can buy anything they want. Buying techtv concentrates gaming advertiser revenues, so they can make more money. Techtv is gone. If you want technical information, you may have to read a book. Good Luck
# July 14, 2004 11:49 PM

Chad Myers said:

We never had many pizza joints. I remember the Dairy Queen's always having some games.

I think the problem is, they don't make good arcade games anymore. They're like $2 a game and they suck you into long games. Gone are the days of a quick Pac-Man or Galaga 10-15 minute bout with the computer.
# July 15, 2004 12:15 AM

TechTV fan said:

I agree with you all my friends. I loved TechTV too. I used to watch five hours of TechTV!!!!!!!!!! And now I watch Discovery! This mother f***** G4 people suck d***. They can’t do s***. They suck at; editing, and broadcasting interesting and helpful shows. I can’t believe what happened to those TechTV People. Soon this mother f****** will lose everything!!!!!!!!!!!!!!!! If there was something to do to bring TechTV back, I hope everyone will participate in.
# July 15, 2004 2:52 AM

TechTV fan said:

and these idiots even moved the channel tooooooooooooooooooooooooo?!?!?!?!
# July 15, 2004 2:55 AM

ed said:

no.
# July 15, 2004 4:42 PM

Eric Sink said:

OK, so shareware doesn't work for *you*.

Ask Thomas Warfield how much money he makes from Pretty Good Solitaire.

# July 15, 2004 4:42 PM

fubar said:

http://www.sqljunkies.com/How%20To/D7CAED46-CCAC-4FF7-B528-B2E9A274B71C.scuk

Best way I've seen to deal with this sort of data.
# July 15, 2004 4:54 PM

Jason Olson said:

In no way is Shareware dead. Perhaps, it is operating at a slower pace than it did in the early 90s. However, I think the distribution model coming with Longhorn can change all that. One thing is for sure, there is less room for a successful homebrew game in today's "big-budget" gaming industry.

However, I think where we will find most of the innovative games when it comes to gameplay is through mass-distributed gaming made possible by Longhorn. Sure, it's nice to play a well-developed game on MSN or Yahoo, but how much cooler would it be to send the game to a friend via Chat or Email. Imagine chatting with a friend, and having him ask "You wanna play a game?". And when you say "Hell Ya", you can dynamically download that game and play it with him right there.

Anyways, I'm a farcry away from a game analyst so I could just be tossing a lot of BS your way with all this talk. So, take it for what it is worth.
# July 15, 2004 5:18 PM

William Tech TV LOVER G4 hater said:

TECH-TV was a network about technology NOT GAMING. Two vary different networks have be fused and TECH-TV has suffered a grate loss. Its life. Evey time I turn on the TV I get angry at the BS channel "G4TTV". I think G4 should rot in, well i think you know whare i'm going.

You are all wrong, This was a take over

http://www.petitiononline.com/ccgttv/petition.html
http://www.petitiononline.com/ttv00814/petition.html
http://www.petitiononline.com/52404/petition.html

I signed. will you?
# July 16, 2004 3:22 AM

Philip Miseldine said:

I remember in the 90s I wrote some little applications that I sold for $10 a pop. They actually became pretty successful, even having a set of cracks developed for them by the pirating community (kind of an honour eh? :))

My experience was, a lot of people will pay for something they use as long as the barriers are removed. Charge a small fee, a fee small enough for people not to think twice about the charge. I found $10 a license worked really well. Maybe I could have upped the charge, who knows, I'm not a business mind by any means :)

There were free products available that did similiar, but concentrating on service, care, and the areas where free software can't compete...it did me alright, at least :)
# July 16, 2004 7:30 AM

Paul Speranza said:

My rule of thumb is get it on my machine and try it out. If I find myself using it on a steady basis or if it is truly useful but only once in a while, then I'll buy it. I have no software on my machines that I didn't pay for if it's not free. Gee, I am fully licensed! That feels good.
# July 16, 2004 8:16 AM

Michele said:

I've got a new strategy. I've started watching just long enough to get the names of the advertisers on G4TechTV, and inform THEM of the boycott!
# July 16, 2004 12:40 PM

Jake S said:

I'm glad I found a good place to vent my hatred of G4. Everything has been screwed up since G4 showed up. I knew it was going to be bad when I saw the commercials for the merger, but I didn't sense anything this terrible. Out of about the dozen G4 shows they've added, I only like one (I don't mind admitting it), which is Filter. Other than that, all of their shows are horrible! I enjoy video games, but, like most of you, I don't want to watch a show where they show the screen of someone playing a new game for 30 minutes. Also, even though I didn't always understand it, I enjoyed watching shows like Call for Help where they talk about the technology behind the games and computers. I'm proud to say that I only tune in for one G4 show. Other than that, I only watch The Screen Savers, X-Play, and Unscrewed all three of them, of course, were watchable back with just TechTV. One of my main fears about the future TechTV is that even if people quit watching G4 shows, we could still lose TechTV shows because the entire network could be cancelled then.
To sum it all up: The G4TechTV merger was a terrible idea and, sadly, I doubt that it will ever become as good as TechTV was. Well, I feel a little better now...
# July 17, 2004 3:36 AM

sam said:

OK, you are top on the google search for "airport express xbox"
does the xbox manage to network using the airport express ethernet connection?
I cant find anyone saying this does actually work (though a few think it may)
does it work??
# July 18, 2004 10:51 AM

sam said:

looking on the web, i have found a macworld editorial that discusses the capabilites of the airport express. It can act as an ethernet bridge, but only when connecting to an airport extreme or express based network.
The bridging functions are not part of the IEEE standards, and are therefore different for each manufacturer.

http://www.macworld.com/forums/ubbthreads/showflat.php?Cat=&Board=editorsnotes&Number=231664&page=0&view=collapsed
# July 18, 2004 11:06 AM

Bob said:

Both networks had small budjets and way too many reruns, I wish more of those specialized channels would merge and conservere the bandwidth. I just worry about more content being controlled by the cable/satellite companies. As far as advertising goes, who watches commercials these days anyway?
# July 19, 2004 12:45 AM

Josh Robinson said:

Jeff, That post is actually very refreshing! Work/life balance and a belief in what you are doing are essential ingredients. Money is nice and there is some minimum, but you cannot sustain that excitement of eagerly showing up for work every day unless you really believe that in some way your are making the world a better place, even if it is through computer programming. Best of luck to you. BTW, although I enjoyed Masters of Doom, I found it to be somewhat tragic and depressing because those guys never came up for air. Wasn't sure if it was just me that thought that. . .
# July 19, 2004 1:54 PM

Chad Myers said:

Hold on to that wife, never let her go no matter what or how smart you may think you are at any give point in your life.

She's a keeper if she's willing to be stepped on as your foundation as you spring out to find yourself.

At some point she'll probably have a similar crisis and need to step on your shoulders and launch herself. Make sure you're there for her and you put everything you're doing aside for her.

Do these and you will always be happy no matter how much money you have, what kind of house you live in or how many cars you have in your garage.
# July 19, 2004 3:15 PM

Robert W. McLaws said:

You can't access it like that. You have to assess it programmatically through the TopNav object, which is the ID for your LoginView control. Migfht want to switch to design view and read the context-sensitive help.
# July 19, 2004 4:30 PM

Justin Lovell said:

It is not a bug. It is by design. Basically, they are using templates which is NOT part of the control tree UNTIL the control says it is. The control normally decides the point that the controls are part of the control tree is during the PreRender stage of the life cycle.

The better solution instead of waiting for the PreRender stage of the life cycle to come by is to migrate the controls into custom templates, port it into an user control or port it into a server control.

I am pretty much sort of time and will respond latter with more details... maybe even write a blog post about it :-).
# July 19, 2004 4:34 PM

torvalds said:

good post man..
# July 19, 2004 4:42 PM

ray l said:

i'm glad to see that there are a few of us that don't like what is happening.

techtv was something i looked forward to seeing, i would even wait through some of the "paid programming" to be sure i got all that tech tv had to offer.

now i have a difficult time sitting through the really bad g4 stuff to see the tech tv programs.
i would rather see re-runs of the tech tv programming, than watch the g4 stuff.

and the move to L.A.?
that's a bad idea.

i liked watching the familier backdrops when the tech tv crew would be doing the outdoor scenes in and around the san francisco bay area.

L.A. is just too hot and unfreindly for me to feel comfortable there, even if it's just on the tube.
# July 19, 2004 7:00 PM

Jeff said:

If that's "by design," then it's a crappy design. The whole idea here is to take a step out of showing some portion of the page based on whether or not the user is logged in. Prior to this I'm sure we all used Panel controls to "turn off" stuff we wanted to show by setting the Panel's Visible property to false. If this doesn't work like that, it's useless.
# July 19, 2004 7:32 PM

blaze said:

NB. I know this rambles far too long-- feel free to cut the post as you wish=============

I feel as if a great friend has died--and all that remains is pleasant memories.
Reading the thread reveals the frustration of the ole' TechTV faithful--alot of ranting sprinkled with some resignation that it's all over.

It appears that Comcast has a mission vastly divergent from what Tech TV (exec level) had, and whoever controlled Tech TV 'sold-out,' (or got duped).

The influence of the adv $$ and/or ratings seem the vulnerable avenues to attack, (turning some gaming strategy back in G4's faces).

Bottom line remains "money, money, money makes the world go 'round."

The only way to pressure for change is to appeal to someone, some competition???, with a profit motive significant enough to turn heads.

1. To just simply boycot advertizers doesn't send a strong enuf msg---They need to know who we are, and why their adv $$ are being mis-spent--

2. Not all the adv companies are targeting Tech TV viewers- but the CDW, Dell, Gateway, etc execs might notice a coord expression of 'anger'--

3. Impact from ratings drops (don't watch G4 junk) should further drive down adv$$ for Comcast--sure they'll still have G4 advs- but only that.

4. We need a new voice in the wilderness (w/major resources) to seize this opp, pick up the pieces of Tech TV (under a new ID) and separate from Comcast, and fly.

5. Can cable/satellite companies help?? Any public service avenues that could promote tech ed channels (ie: like Leo's 'Tech in the classroom' segments on CFH?)
# July 19, 2004 8:56 PM

Thomas Williams said:

G'day Jeff, thanks for the honest and reflective post. I'm glad you can say that it's fun to be you again! Me, I'm trying to work on number 2 (self esteem based on what I do) because I don't believe it has to be that way.
# July 20, 2004 2:42 AM

Josh Christie said:

Great post, Jeff! I'm looking forward to hearing more about how your book is coming and what you think it will mean for your long term goals/plans. Do you intend to get back into contract work at some point?
# July 21, 2004 9:30 AM

Dennis said:

You Are Right! It is not just computer books. Is all technical books.
Because the publishers make more on Women Romance Novels than all other
books combined.
# July 21, 2004 3:18 PM

Jeroen van den Bos said:

Why do you order your books by publisher instead of by topic? Whenever I'm looking for a book on my shelf I'm usually looking for a specific topic, not for a specific book of which I also happen to know the publisher :)
# July 21, 2004 4:18 PM

anon said:

Thanks for your candor, talking about issues not many people in development or professionals careers talk about. Yet these are at a level higher than the work with which we fill our life.

I have, many a time, reflected on these and must applaud you for recognizing and identifying them clearly, and more so acting upon it. Thanks. This will be an inspiration to me.
# July 21, 2004 4:33 PM

Jeff said:

That's almost entirely coincidence. For the longest time it was the Wrox books that got the better reviews. Besides, those skinny books had depth that no other publisher was willing to tackle on short-runs (and it's probably part of the reason they crashed and burned financially).
# July 21, 2004 4:47 PM

Jay Glynn said:

I see 2 that I wrote chapters for and 1 that I did the main outline and reviewed. I knew someone had to buying them....

Jay
# July 21, 2004 9:04 PM

Justin Long said:

Your not the only one that has all those wrox books, To bad wrox got bought out they had a good thing going. Anyway here's all the stuff on my shelf just for you: http://blog.dukk.org/posts/151.aspx
# July 22, 2004 12:06 AM

TrackBack said:

# July 22, 2004 6:45 PM

Labes said:

The merger really brought me down. The only show I really watch andymore are TSS, and sometimes X-Play (Still like the name Extended Play better though...). Haven't seen much of a difference from X-Play though.

TSS... oh boy, where to start. First, I don't know if Leo got kicked from the "anchor" or whatever position or he dropped back on his own. He still has a little segment but, hell, he's the guy that basically started the show, he had been with it as front-man for like 5 years or something like that. Kevin... I like him, I just liked him better as "the dark tipper" when he had a little segment on the show about modded PS2/X-Box and the like. I'm not a fan of him doing the front work, but whatever. I kinda miss Martin being on the show, but the few episodes of Unscrewed I've found mildly humorour.

C'mon, bring back the old line up. Really made it good when I got home from work or school to relax and find myself watching people who know about computers. Oh, btw, what happened to Yoshi? He still on TSS? I just haven't seen him after he put a window on a CD-ROM, or whatever it was...
# July 22, 2004 9:39 PM

Robert W. McLaws said:

Um, guys....

LoginControl.UserName
LoginControl.Password

What else do you need? You can template the control at runtime. Use a skin.
# July 23, 2004 12:48 AM

Jeff said:

Um... it's not good enough?

Not only will I not use the login control, but there's a lot more to put in there, like endless examples of customized content for a logged in user.
# July 23, 2004 1:11 AM

Eric Foronjy said:

I'm so pissed off, I didn't understand for the last few months why techtv was sucking, and what all the g4 crap was. I will never watch that channel again. WTF.
# July 23, 2004 3:55 AM

Jim Bolla said:

That is disappointing. The LoginView looked real handy. If my controls aren't available to me then its just stupid. It doesn't seem like it would be that complicated to make it work the way we all expect it.
# July 23, 2004 11:32 AM

Josh Christie said:

I couldn't agree more. Orin Hatch has been in the RIAA's back pocket for years and repeatedly demonstrates that he doesn't understand technology. This is the same guy who wanted to allow the RIAA to hack your computer (his term was "blow up your computer") if they suspect you of sharing copyrighted files. No proof would have been needed and if you were hacked by mistake you'd have very little recourse against the RIAA. Advocating such vigilante justice shows his understanding of the justice system is on par with his understanding of technology.
# July 23, 2004 3:32 PM

David Crowell said:

The law can hold anyone responsible for ANY technology that INDUCES people to break copyright law. Does that apply to usenet software also? How about a web browser? Email client?
# July 23, 2004 4:00 PM

Jim Bolla said:

"The law can hold anyone responsible for ANY technology that INDUCES people to break copyright law. Does that apply to usenet software also? How about a web browser? Email client? "

Why stop there? How about electricity? Telephone/cable lines?

Know what INDUCES me to download music more than anything else? Lack of variety on the radio and outrageous CD prices.

PS: Dear RIAA goons: I still buy more cds than anyone I know. My collection is well over 300. I lost track after I had to start boxing up old cds and putting them in the closet cuz I ran out of room in my media rack.
# July 23, 2004 4:14 PM

Very Angry Person said:

What in world is going? G4 is a dumb show point blank! I will miss techtv........:-(
# July 24, 2004 3:13 PM

TrackBack said:

# July 25, 2004 5:44 AM

Suntor Gecko said:

I'm kind of taking the view that the Whidbey release is a two progned beast. It has Generics,Iterators,anonymous methods et al for the purist programmer, then it has all these Easy peasy controls that my Mom could build a web site with. I'm tending to regard these new controls with a view of never using them, as you just don't have full control over your data flow. I may use an objectdatasource at best, but can I trust the SqlDataSource to flow my data in the best possible way, or should I be using it just because it's quick and dirty and makes life easier. The objectdatasource creates a new instance of your object for every method invocation, probably not a major problem in the greater schema of things, but I could develop a flow that perhaps just held one reference that holds some state between calls for example. I can't argue that these controls are neccessarily bad, just that perhaps they should be used judiciously. I just don't like full control being removed from my fingetips, and I really look forward to other peoples comments on the new controls.
# July 26, 2004 9:06 AM

DonXML Demsak said:

I get the same thing all the time, and not only via phone calls. I regularly get them via email. My other issue is that even though I explicitly say that I am not looking for work outside Northern Jersey, I get calls and emails for spots all over the US (and even India).
# July 26, 2004 6:30 PM

Alex said:

I had a feeling you got that CoasterDynamix kit for free.
# July 27, 2004 12:07 AM

Jeff said:

Considering what I normally bill on an hourly basis, I can assure you it was far from "free."
# July 27, 2004 12:11 AM

Alex said:

How long could you have possibly spent on their site?
# July 27, 2004 11:32 AM

Zach said:

I say we create a paypal account to donate money to. Then when we reach a certain amount of money we start an anti-G4 string of commercials. And better yet put them on there channel!
# July 28, 2004 4:19 PM

Zach said:

Tis a sad day indeed..
# July 28, 2004 4:19 PM

ezekial45 said:

One of the worst business decisions ever, next too AOL-Time Warner. Comcast only did this to get a hand in the Gaming business, This led to the creation of G4. But it was a Dud when it first aired. Comcast only wants TTV's TV reach for G4. But people are still turned off by G4's programming and now TTV has gotten into the mix. But Comcast are starting there own On Demand Gaming service. So if that is more profitable then This channel then they will mostlikey Dimantle it.
# July 28, 2004 6:26 PM

ZP said:

Now this is piddly. Come on, why you have to down it at all? If you don't like it? Don't read it and stfu.

Channel9 is a very informative website. The video format is a nice break and allows you to sort of sit back and take in the information comfortably.
# July 29, 2004 4:37 AM

Heather said:

If the job isn't terribly enticing, they have a better chance of getting you to call back by not saying much about the job at all. Couple that with the fact that they are probably calling a large number of people (that's not to say that you weren't at the top of their list) and you get a short message. Few people call back either way.

And despite the fact that some people say they won't relocate, many will change their mind for the right company or position and the recruiter isn't losing anything by giving it a shot.

Generally, they are just trying to start a dialogue and apply the "sell" after they understand a little more about you and what you are looking for.

I'm not saying that it's the most effective way, but it's how the recruiters think about it. I have to admit that I have left some vague messages when I recruited for other companies, but now that I recruit for Microsoft, I get more returned calls.

Good luck with your book!
# July 30, 2004 6:33 PM

fuck comcast said:

fuck comcast never wach there stuff i hope they die G4 sucks big time it should win an award for sucking so bad, i just came back from my summer vacation and to find that there are like 0 reruns of techtv shows and that all G4 shows suck just plane and simple G4 sux making G4-TEchtv sux and i fucking hate comcast now fuck them i want to know the ceo cause im going to fuck his wife.
# July 31, 2004 11:32 PM

TrackBack said:

# August 2, 2004 11:06 PM

Matt said:

The difference is if you steal an expensive car you deprive someone who does want to spend the money of one.
And do you have any evidence that these people won't buy the game? Many of them may be copying it for the "I had it two days earlier than you" brag factor.
# August 2, 2004 11:40 PM

Jeff said:

Typical response from someone that doesn't seem to get it.
# August 3, 2004 12:23 AM

Don Newman said:

I'm sort of on the middle ground on this one. Piracy is getting out of control, but so are some software prices. That doesn't mean that I advocate stealing software. I'm a developer as well and if somebody stole my code (including compiled versions) I would be pissed as hell. As a consumer I realize I have an option of being a company's customer or not. I use Paint Shop Pro instead of Photoshop because of price factor and PDF995 instead of Adobe to create PDF documents. I might lose out on a little functionality, but I chose to for the money I save.

I have to admit that I do occasionally use unlicensed software for short term evaluation. This is when a company does not provide enough details on the software nor do they provide a demo of it for evaluation purposes. If I can't find a copy of it somewhere I assume it is of no value to anyone. If I find a copy to try out and find I like it, I buy it, if not it gets uninstalled and the search for a different solution continues.

Games are a whole different situation. Whatever the genre of game, if you can't afford the ones out there, don't play them. There are tons of options for other titles available for free or as shareware or some other way to fit it into your budget.

I would like to add that software piracy IS different than stealing a car or other physical good. If a person copies a program it does not remove the original. If they wouldn't have purchased the software if it wasn't able to be pirated, then nothing is really lost except a user. Chances are that those who have pirated a copy of Doom 3 would have bought the game otherwise and likely will not now. Profits will have been lost and that will result in the next game increasing in cost and lack of motivation for additions to the game. The pirates have ultimately hurt their own community.
# August 3, 2004 1:44 AM

Drazen Dotlic said:

Id has not announced yet release date for the demo. Many people, myself included, want to see how fast the game is on their hardware and will probably download pirated version to see for themselves. Besides, shipping dates here in Europe are 10 days behind US, so the wait is unbearable.

That said, many people will never buy the game, but that is the reality - Internet (high speed) giveth, Internet taketh. As much as Internet helped the pioneers of shareware (Doom was one of the, if not THE first game to be offered this way)), it is now being (ab)used against them.

We should all learn to adapt to this situation, as it is not going to dissappear and is probably only getting worse. Hopefully, percentage of those who will never buy under any circumstances is a lot smaller than percentage of those who can be "persuaded" either by better pricing, availability, support or general quality of what we produce.

Btw, I noticed one strange irregularity (usually it's the other way around) - Doom 3 is cheaper if ordered through Amazon.co.uk than over Amazon.com - in US it is 54.99$, in UK it is 24.99£ which is about 45$
# August 3, 2004 2:18 AM

Andy Smith said:

These methods have been moved inside the ClientScript property on Page.
# August 3, 2004 2:48 AM

Justin said:

Those people who are truly doing evaluations aside I've heard people make the "no body is deprived" argument before and it strikes me as rationilizing theft; it's just easier to do since the goods are intangible. I'll stay with the car analogy. What happens when there is a surplus of luxury cars? If the entire market for a Cadillac is 10 people but there are 11 cars produced does that mean somebody can steal that 11th car just because none of the original paying market was deprived?

At what point did lack of a physical medium make it okay to steal content? Take some random college student who has downloaded all the tracks of the latests Metallica CD, if you were to take them to a Wal-Mart I would wager 99.9% of them wouldn't even consider shoving it down their pants and walking out the door. Record labels can crank out CDs until the cows come home so the deprivation argument doesn't really hold water for the cheap stuff either.
# August 3, 2004 3:15 AM

Bill said:

If you can afford to buy but choose to steal then that is far worse in my eyes than someone from the far east on a few $'s a day downloading something that they would never have been able to afford. Comparing the situation to a car or placing a $ value to the cost of piracy is no more valid than someone comparing software piracy to starving africans eating grain they didnt pay for themselves.

There is the problem, the world is not equal, so why do some software companies treat all thier customers as equal ? Coca Cola dont sell a bottle of coke in Somalia for the same price as they do in USA, if they tried that they wouldnt sell much and likely they would create a market for fake bottles of Coke. Software like Coke is extremely cheap to replicate especially if you use local labor or bandwidth.

Which leads us to the second problem, why are these companies not embracing todays technology rather than fighting it. It is perfectly possible for Id to offer a downloadable version of Doom 3 from the day after it went Gold and they could also be offering it cheaper to purchasers from poorer countries. So why dont they ?

Stealing is wrong but until Id and others have solved these 2 problems they have as much sympathy from me as someone who leaves thier keys in thier car ignition.

Microsoft , IMHO have a well thought out policy (or maybe its experience) and seem to realise this, which is why they offer downloadable software, educational licenses and cheaper regional versions of some software. They also know that the more people that have thier software the more people will buy it, the same applies for networked pc games and even games consoles (which is why Sony turned a blind eye to mod chips for so long)
# August 3, 2004 3:57 AM

Frans Bouma said:

I agree with you, Jeff, however I won't call it 'stealing', as it technically isn't. It's unlicensed usage. You may (at least here in The Netherlands, and I'm sure in the rest of Europe it's the same) have a copy but you may not use it unless you have a license.

That aside, the amount of piracy of Doom3 isn't different from the amount of piracy of any other game. Often a game is released into the warez scene before the official release, as groups often have suppliers early in the chain, like working in distro companies or stores.

Activision also made a mistake: In Europe we have to wait 10 days till we can buy it (august 13). Those 10 days are not for translating the manual into 20 languages, that takes much longer than that. (UK can have the same manual even). Also boxes with descriptions in various languages can be pre-manufactured (they are) way before the game is done.

Why the delay? In Europe there are highly sophisticated CD duplication factories, we don't need to wait till a big ship arrives in Rotterdam to deliver the games: fork the master over to a factory here and manufacture the game locally.

Due to that delay a lot of eagerly waiting folks in Europe and elsewhere in the world have a choice: download or wait 10 days. Some can't stand the wait when they can download it as well.

Valve has thought of this and came up with a solution: Steam. The minute the game is gold you can download it from Steam. Great concept and really using 21st century tech.

EA will release the sims 2 worldwide on the same date as well. It IS possible. It is also, sadly, necessary to do so to avoid a lot of downloads.

Besides that, we have to pay 55EURO for the game here. Money is not that important to me, but for gamers who don't have a lot of money, it can be too much. If you take into account what the dollar - euro rate is at the moment, you get a pretty well idea how europeans get ripped off by Activision.

But hey, it's doom 3. Although a lot of people already reported the dull gameplay in the second half, I'm still going to buy it :)
# August 3, 2004 4:17 AM

Jerry Pisk said:

I never understood the argument that thieves would never buy that game (software, cd, whatever) anyways - why exactly are they stealing it then? It's obviously something they do not want (otherwise they would buy it), so why are they stealing? IMHO they're just trying to find excuses for their stealing.

As for stealing cars - why exactly is it different? Cars cost money to make, so do games. Strangly I don't see many people who advocate stealing as harmless crime giving away their work for free...
# August 3, 2004 4:49 AM

Guy Murphy said:

The matter isn't a moral one, it's a business one.

If your business model wont sustain contact with the real world the fault always lies with the business model never with the real world that refuses to comply with your business model.

If you come to launch with no demo you fuel desire for people to get their hands on your product. There's a pro... the fueled desire hopefully equates to a rush to the shops on launch... and a con, in that people will seek other means to obtain your product if they're available.

If you have brought to the highest pitch you can desire for your product and you stagger release globally (as often occurs with Europe), then in the age of the global ecconomy you're a bloody idiot and point blank deserve to get your knuckles rapped.

If you decide to mark-up the price at a premium in a region simply because your distributor has developed the habit with all types of media from games to book of translating 1 for 1 dollars into pounds sterling, and then translating the sterling into Euros at the exchange rate when dollar to sterling hovers around 1.5.... effectively screwing your customer just because your can... if your customer decides to screw you simply because they can you don't get to call foul, you get to suck it up the same way they do.

If your business model doesn't survive contact with the real worl.... change your business model.
# August 3, 2004 4:52 AM

Frans Bouma said:

"As for stealing cars - why exactly is it different? Cars cost money to make, so do games. Strangly I don't see many people who advocate stealing as harmless crime giving away their work for free..."
Theft is taking something away from someone else. Person A has object X. Person B steals X from A. A doesn't have X anymore.

Running a pirated game isn't theft as it doesn't steal anything away from the creator. It's more like using a service (hiring a consultant for example) and not paying for that service.

Note: I'm against piracy but I'd like to state also that piracy isn't theft. Please use the proper terms which are also used in court.
# August 3, 2004 6:02 AM

Jeff said:

I knew it would take virtually no time for someone to answer! :) Thanks!
# August 3, 2004 9:38 AM

Alex Papadimoulis said:

As Frans said, software piracy is not stealing ... just as Assault is not Burglary. Piracy is generally carries no penal consequences (but plenty of civil) while stealing most certainly does. There are clear conceptual and legal differences between the two ... just because one mentally equates the wrongness of the two acts does not make them the same.

As much as we all hate software, those who equate it to stealing ... is it fair to charge a kid Grand Theft for downloading 3D Studio Max because he wants to make models for Unreal?
# August 3, 2004 10:06 AM

Alex Papadimoulis said:

... I really should proof what I write before hitting that submit button ...

"Piracy is generally carries" --> "Piracy generally carries"
"As much as we all hate software" --> "As much as we all hate software piracy"
# August 3, 2004 10:08 AM

Chris McKenzie said:

"Theft is taking something away from someone else. Person A has object X. Person B steals X from A. A doesn't have X anymore. "

This is wrong. You haven't been reading your John Locke, tsk tsk. :)

To define theft, you must first define ownership. Ownership is the right of use and disposal of some asset. Assets are not defined as "tangible." They can be tangible or intangible. They can be a piece of land, a clock, a copyright, a patent, or a trademark, or any endless number of other things. Ownership can only be transferred by the owner--the right of use *and disposal.* Most often, ownership is transferred from person to person by means of an agreed upon trade. Sometimes this trade is arm's-length--i.e., 1.99 for a burger at McDonald's. Sometimes the trade is extremely complex and represented by a legal document--i.e., a contract.

Theft is the appropriation of another's property either as a failure to gain approval from the owner.

Notice how vague all this is. It leaves the particulars to definition. To apply it to this specific case--ID software owns a software product, for which they will trade a copy to another person for a certain amount of money. Anyone that obtains, without Id Software's permission--which means without paying for it, or having permission by some other means, a copy of DOOM 3, has stolen from ID software.

To the person that said that this is a moral issue--I obviously don't agree. It's a profoundly moral issue. If you advocate that others should be able to appropriate your property without your permission, then it doesn't matter if that property is tangible or intangible--or if the person is doing it via a software download, or by burgling your home. Ownership, property rights--these are principles; and the slightest abrogation of these principles destroys them outright. It's either-or. Either I have the right to dictate the terms by which I will transfer ownership of my property, or I don't.

Great blog, Jeff.
# August 3, 2004 10:44 AM

M said:

Yeah, but you forgot about the girls on the "G4TV.com" show...talk about a bad show...their target audience must be 12-14 year-olds.
# August 3, 2004 11:04 AM

TrackBack said:

# August 3, 2004 4:17 PM

Steve said:

One of the nasty problems with software is that they violate the sense of fair use that consumers have taken advantage of for years. When one of my friends goes out and buys a new Metallica CD, we're all going to physically make a copy. Until the digital revolution, the right to make bootleg copies to distribute to family and friends was clearly outlined by the law. To this day, people swap CDs, DVDs and books with each other in the physical medium and we accept it.

The problem with software is it doesn't exactly work like that. While content providers should suck up and deal with the swapping of physical media, its very unreasonable for them to suck up and deal with digital swapping, where the potential audience per asset sold is much much higher. At the same time, software has imposed the concept lately of "1 copy, 1 user", which flies in the face with the rights consumers have had for generations. Why is it okay for me to trade XBox games with friends, but not okay for me to trade PC game CDs with friends.

When you couple this with the fact that productive software ala MS Office / Photoshop / Visual Studio / etc tends to be priced towards corporate buyers instead of consumers, you end up creating a market where people almost have to rationalize stealing software ala "Its okay for me to use MS Office at home, because my employer got a copy at work, and 90% of the things I'll do at home with it are for work, so its unfair I should have to buy it".

Personally, I keep a physical media rule. If a friend lets me borrow his CD, I'll rip it so I can have a copy for myself, likewise with movies. In terms of software - if someone lends me the Doom3 CDs, I'll play them without buying, but I won't make a copy, so when I give the CDs back to my friend, the game won't work for me anymore. Since that works in the same spirit as "Sure you can borrow my book", I feel fine doing it.

I think the people in this country need to have a serious talk about fair use and media - its unreasonable to think that consumers should blindly accept their fair use rights being revoked by media companies, and its probably similarly unreasonable to think that they'll boycott media empires when its basically a giant monopoly. Is civil disobedience the right answer? Maybe. And for that reason, while I don't participate in software piracy any more than I admitted to above, I don't tend to smack down on those that do.
# August 3, 2004 4:52 PM

Jeff said:

Dude... what you describe is not even in the neighborhood of "fair use." You should look it up some time.
# August 3, 2004 5:26 PM

Jerry Pisk said:

Fair use applies to something you own, which in most cases means something you paid for. Copying a game from a friend is not fair use. There are other fair uses, that do not require you to own whatever you're using, but those do not apply here, they're things like satire, political speach, news and so on... Copying a game from a friend (or a rental place) is not fair use, no matter how much you want it to be.
# August 3, 2004 5:48 PM

Frans Bouma said:

"Notice how vague all this is. It leaves the particulars to definition. To apply it to this specific case--ID software owns a software product, for which they will trade a copy to another person for a certain amount of money. Anyone that obtains, without Id Software's permission--which means without paying for it, or having permission by some other means, a copy of DOOM 3, has stolen from ID software. "
Not here in The Netherlands and other countries in Europe and if Im not mistaken also in the US. You may own a copy of DOOM3, you are just not permitted to use it, distributed it or sell it. You may own the copy though. Please read into this before you make a claim. As a software vendor I have done a deep investigation into what software selling really is and what you can do and should do as a software vendor, i.e. what do you sell and what that means and thus what it means to users buying what you sell and what they can do with it.

With software, the user owns nothing but a license. A software vendor sells a license to use a copy. It doesn't sell anything else. A user therefore can only own a license. A person who buys DOOM 3 in a store, buys a license, a license to use the copy he gets with the license.

What does a person get when he downloads the iso's from a website? A copy, without a license. The user doesn't get a license, thus doesn't steal anything, as the user doesn't steal a license, the ONLY THING a user can buy!.

The person who downloaded the iso's can however try to run the game, with software which makes this possible (a crack, serial generator or what have you). When the person after applying these programs runs the downloaded software, the person violates the DMCA in the US by applying a crack to a piece of copyrighted software and furthermore violates teh copyright law in the country he is running the software in.

That's it. It might sound weird and not fair to the software vendor, but that's how the law works. I didn't make these, your government did.

Another aspect comes into play when the user downloads the iso's using bittorrent or other p2p network. These networks often share the downloaded files also (Bittorrent does this while downloading!). This means that a downloading person is also SPREADING the copy again.

This is a more severe violation of the copyright law, as you may not distribute copyrighted software without a license to do so. Often people don't think of this aspect when downloading a pirated copy.

I saw Jeff wrote another piece on his blog about this. I'm not sure if he refers to me when saying some people want to downplay piracy. I certainly don't have that intention, however I find it close to stupid when people are not realistic about this. Although I wish we could live in a world where we wouldn't need a lock on our door, the reality is different: give a person who doesn't want to pay for things (services/goods) an oppertunity to use services/goods without paying for them and they will take that oppertunity. I.o.w.: software vendors should be aware of the fact that piracy will happen and should work hard to make the oppertunity as low as possible.

The last thing I want to add: please, if you all want to discuss this on a higher level than throwing mud, use the proper terms as they're also used in court and in any decent law book. As stupid as it might seem, piracy as in unlicensed usage of a piece of copyrighted material isn't theft, it's unlicensed usage of copyrighted material.

The weird thing is: you can't say any pirated copy will be one sale lost. Perhaps the pirated copy will make the user aware of the great game and make him buy a license after all. This is not a lame attempt to make it look less bad, it is just an illustration of how things can be seen.

Unlicenced usage of copyrighted material is something that's wrong, as stated in the copyright law.
# August 3, 2004 5:49 PM

Frans Bouma said:

"downplay piracy" I meant: make it less severe and bad as it really is. I find piracy bad and don't want to make it less bad than it really is. Just a disclaimer for the possibility I used english words wrongly :)
# August 3, 2004 5:52 PM

Steve said:

Fair use, as defined by the United States Supreme Court, hasn't changed much insofar as copying rights since Sony Corp v. Universal City Studios, 464 U.S. 417 (1984) (Docket Number: 81-1687), the infamous Betamax case - In that case, the bench ruled that copying to/from physical media caused minimal harm to the value of the copyrighted work. Although they did not expressly reserve the right of consumers to copy works, by denying Universal a criminal and/or civil antidote to their grievances, they effectively did. In more recent times, Kelly v. Arriba Soft Corporation (1999 U.S. App. LEXIS 1786) upheld the doctrine that even in the digital age, free distribution of reduced quality copies of media is appropriate and governed under fair use. Even in the Napster case, althought Napster obviously lost, the court found for the plaintiff on the grounds that Napster violated the copyholder's right to distribution, and to mass reproduction - the court ruled that the other three points were permitted under fair use (upheld by the 9th Circuit).

Stepping back from straight-letter law for a second, this is exactly what society has been doing with books for hundreds of years - to a significantly greater extent when you consider libraries. If you can honestly tell me that its wrong to borrow a technical book from a coworker's bookshelf then you've been deceived by mass media, my friend. Fair use for media rights applies equally across ALL types of copyrighted media. Software is a tricky point on it since software is not a passive media and thus subject to patent over copyright, and the jury's still out on that one.
# August 3, 2004 6:00 PM

Steve said:

Re: Copying.

I don't think copying software is fair use. Its not a passive media and isn't acknowledged as a consumer right as "legitimate bootlegging".

But I didn't say I did copy games - I said I'd borrow them without copying. Although shrinkwrapped liscense may have problems with that, that doesn't make it illegal by any stretch of the imagination. In fact, maintaining the view of physical media space shifting (the right to give a book to a friend), I submit its wholely legal solong as multiple parties can't use the same software at the same time.
# August 3, 2004 6:02 PM

Jeff said:

You know that's not what anyone here is talking about, so why are you trying to take some intellectual high road that has nothing to do with piracy? See: Jerry's post. Ten people download the game and play it, that's piracy.
# August 3, 2004 6:07 PM

Steve said:

????

We're defining piracy. I agreed in my first post that downloading games will-nilly off the net and playing them was piracy. You said that the idea of playing a game from the original CD you didn't purchase wasn't fair use. I was just responding.
# August 3, 2004 6:22 PM

Jeff said:

No, you're bringing fair use into an issue that has nothing to do with fair use. You're arguing about Coke vs. Pepsi and we're talking about piracy.
# August 3, 2004 6:33 PM

Steve said:

Fair use applies to software, especially games, because games more than any other software lie on the cusp between patent (where the law favors of the inventor and corporations) and copyright (where traditionally the law favors the consumer).

Consider how its legal to rent a game at Blockbuster - Back in 1987, Nintendo saw the idea of multi-use copies of their games to be an infringement of their rights as the producer/inventor. But the courts ruled, based almost entirely on fair use, that Blockbuster was free to distribute Nintendo's games in time-share fashion to a mass audience at a fraction of the original cost of the product. While the court restricted the right of Blockbuster to do this, Nintendo lost ultimately. Blockbuster was able to force its business distribution model above Nintendo's, even though Nintendo was the copyright holder for the software.

That distribution model is conventional wisdom today - everyone thinks in terms of renting media. But what's interesting is that Blockbuster is not required by law to distribute with a cost - if Blockbuster wanted to lose money, they're more than legally capable of giving everyone free game rentals. The only condition is that they are forced to buy a copy of the original game from the publisher. Congress stepped in and said that if you're going to redistribute the game for commercial reasons, Nintendo could sell Blockbuster the game at a very very very expensive rate above and beyond the rate presented to normal consumers. But if Blockbuster has the right to redistribute at no-cost (even if that model causes economic damage to the copyright holder), and I'm a consumer, if the rule of thumb that a consumer customer always has more rights than a corporate customer is valid (and that's always been the rule to-date at least), than I can also restribute my purchase, just on a smaller scale.

In the end, it means that no one knows who's right in the software wars. Conventional wisdom tells me that mass distribution above the scale Blockbuster stores are capable of is not a protected consumer right, but the courts haven't defined it as piracy yet. Just because Microsoft and Nintendo Power say sharing games is wrong doesn't make it so.

On a completely seperate side-note, Coke and Pepsi have nothing to do with intellectual property since recipes aren't protected content.
# August 3, 2004 6:59 PM

Jeff said:

What are you talking about? Fair use has zero to do with some kid downloading software that he didn't pay for and using it.
# August 3, 2004 7:17 PM

Steve Hall said:

I think that part of the problem with piracy is simply the word itself. Esp. with children, it invokes in some non-critical-thinking minds a romanticized notion of "leveling the playing field" or righting some sort of wrong. In this country, we've been inundated with this imagery in the form of movies whose main characters are swashbuckling pirates and "robin hoods" who (even though they're plainly STEALING) are sympathetic in their actions.

Thus, its no surprise to me that a lot of people are sympathetic towards those that are doing something "heroic". This form of hero worship is obviously misguided and is simply an example of "social engineering" at its WORST.

The real sad part of this romanticized theivery is that almost every single under-30 programmer I've known in the past 10 years has professed to abide by the same so-called value or moral. ("If I can't afford it, I'll simply get a copy from my friend!") When I ask them if they've ever written any software that they've had stolen while they were trying to get paid for it, they always say:

"Well, NO! I've NEVER had anything stolen!" (usually in a state of denial...)

to which I always respond:

"How would you feel if another programmer had his hand in your pocket taking money out of your wallet?!?!?!"

to which they always respond:

"Well, that's JUST NOT RIGHT!"

The hypocrisy of their viewpoint usually doesn't phase them ONE BIT!

Unfortunately, I have had my intellectual property stolen several times in my career. I GUESS it's just a matter of perspective!

Personally, I don't feel like being pick-pocketed by fellow programmers is the greatest feeling to have about one's own profession... It's starting to make us look worse than a bunch of bottom-feeding lawyers!

Professionally, having interviewed hundreds of applicants for programming positions over 30 years, this is one key indicator of their level professionalism that affects my hiring recommendations. Most corporations and even small companies (who have much MORE to lose!) most definitely do NOT want programmers on staff who have a predilection towards STEALING, since they're the most likely to GIVE AWAY the company secrets, if not "samples" of products.
# August 3, 2004 8:36 PM

Steve said:

I think we all agree software piracy is bad. We just don't agree with the definition of piracy.

Before I fell in love with writing high-traffic data servers, I was a game developer for a small game shop. We were paycheck to paycheck (and in the end, I went 8 months without getting a penny in compensation). Through our updater usage statistics, we knew a huge portion of our users had grabbed our games off of Warez - so I do know the sting of pirated goods.

On the same note, even if it meant a lost sale, I'm okay with the idea that a roommate could lend his game CD to his roommate. If I had been a PS2 developer instead of a PC games developer, we wouldn't be having this conversation, because its universally accepted that physical media can be lent, traded and resold without violating the rights of the creator. But somehow, because its "Giants: Citizen Kabuto" on a CD instead of a PS2-enabled DVD, the rules for fair use change? I don't think so.

My morals as far as piracy are defined through consistency - Scanning a book and putting it on a torrent linking site is contributing to the piracy of that book, as it would be for music, movies, games, or any other kind of software or media. But exchanging physical copies with close friends is not piracy in my book, and for the time being at least, the legal system seems content to view it the same way.
# August 3, 2004 9:32 PM

Steve said:

(I wasn't implying I was on the Giants team - I wish. I just picked that for an example because I replayed it last weekend. I worked for a small European game shop making Robin Hood games)
# August 3, 2004 9:34 PM

Steve Hall said:

It's good that some (like the other Steve) are capable of distinguishing between fair use (lending out their own copies of a "work" whether it's a book, music CD, game CD, etc.) and copying for the purposes of stealing. The part I'm having trouble with are the music and film industries) that insist on trying to invent ridiculous copy-protection schemes trying to make it impossible to backup copies of music or movies.

This is especially troubling with movie DVDs, since they're dual layer and there's a sizable percentage (>1%) that are either crap on day one or turn to crap after a few playings within the first year or two. (The problem is the bottom layer of the two layers not being readable by all players or simply degrading more and more each time it's played due to the heat-cycling of the el cheapo stamped aluminum sheet...)

Of course, the movie studios try to counter this common quality complaint by pointing to their crappy warranty, which is usually only 90 days... Of course, the movie industry would just rather we buy a second copy rather then go through the hassle of returning a defective DVD to the studio return office.

To make things worse, a lot of my music CDs that are over 15 years old are now starting to show evidence of degradation. But the music industry surely just wants everyone to replace their music collection every 15-20 years...

This fair use issue sticks in my craw and they need to address the quality problems in manufacturing (such as replacing their stamping master dies every 100,000 impressions rather than every million impressions) and provide a 10-20 year media defect replacement warranty.

After taking those steps, then maybe we could accept the idea of not being able to copy the media for fair use backups.

The argument against software being copyable for fair use backups goes away if we accept the idea of license keys and activation. It turns it from being a fair use "copying issue" to a fair use "use issue"; which I can live with.

This is why I endorse software activation: it helps to remove the complaint that users want to make backups in case of future reinstall. Granted, calling a software vendor to beg for a new activation key isn't fun, but that's the least of my problems if I'm reinstalling the software.

Now would the music and movie industry benefit from borrowing the software industries license-activation scheme? Maybe so, but it would take everyone replacing all the music CD and movie DVD players already in existence just to implement an activation scheme. Thus, they're kind of stuck with solving the fair use issue by improving quality and defect returns.
# August 3, 2004 11:32 PM

Matt said:

Jeff should know that 40 to 50 percent of all software, even in the best countries, is pirated. The sorts of opinions he's seen in his comments simply reflect that. Yet he has the hide to call his commenter's naive!
The reality of the situation is that a very large proportion of the community feel they're being taken for a ride by large intellectual property companies - charged exorbitant prices for product that's not really worth it especially given the draconian restrictions on it.
In some cases it's easier to run pirated software than the real thing because of stupidity like copy protection and activation. And it is stupidity - you piss off real customers without reducing piracy.
The IP industries need to a) respect their customers instead of treating them like thieves b) charge realistic prices for their products
# August 4, 2004 12:49 AM

Matt said:

And that crap about letting the market decide which products to buy - it actually already is.
The market has decided that software is 40-50% overpriced, given current non payment rates. It's time to recalibrate your price gun, Jeff.
# August 4, 2004 12:51 AM

Steve Hall said:

I disagree with Matt that high prices justify stealing...

Contrary, MOST retail software has been greatly lowered in price over the last decade. E.g., Norton Utilities and PC Tools 8-10 years ago was MSRP $150. Now Norton Systemworks, which is really several bundled products, can be had for $40, and is only $20 for annual upgrades. Other software is simiarily priced. (Does anyone remember paying $250 for a rather limited capability C compiler for PC DOS? Or the $500 for the first few releases of the Windows SDK, which is now FREE? Versions of Unix clones ran $500-1500 10-15 years ago...) The majority of these now-low-priced products are "mature products" and have a far smaller yearly reinvestment into new releases. Thus, the ISVs smartly lowered their prices, since they've gotten a fair ROI many years ago.

But, there are some companies that are "one trick ponies" and have invested an enormous amount of money in developing their single product. What do you propose those companies should do? Price their products at a price-point such that they NEVER have a positive ROI and become profitable?

Granted, some companies are trying to milk the proverbial ROCK well beyond fair market pricing, esp. if they are a monopoly. Those greedy companies either wise up or lose customers...even IF they have a great product.

In short, high prices are STILL NOT a moral or legal excuse for STEALING. Understandibly, developing countries deserve somewhat lower prices, but they should NOT be endorsing thievery by NOT enforcing world-wide copyright law.

The thing I still don't understand is why so many programmers in developed countries (US and Europe) would rather STEAL from their fellow programmers...and try and justify it based upon what prices are like in some OTHER market (e.g., China). We in America and Europe are quite capable of paying for most retail software. We just CHOOSE to steal it instead!
# August 4, 2004 1:59 AM

Frans Bouma said:

"What are you talking about? Fair use has zero to do with some kid downloading software that he didn't pay for and using it."
True, but neither has theft. If you want this discussion to go somewhere, please use the proper terms or, ... well, don't start a discussion about it.

I have great respect for you, Jeff, but the way you're handling this is beyond belief. The 'Steve' guy in this thread is right and you know he is, it's just that you want everyone to acknowledge that your definition of piracy and the connection with theft is the right way to deal with this. It's not.

The discussion is very important, but how you're handling it, it's going nowhere.
# August 4, 2004 5:15 AM

Steve said:

I also disagree that high prices justify stealing, at least in the US - if someone from Iraq told me he/she stole copies of Visual Studio so they could play in the digital age at the same level I can, I'm apt to turn a blind eye to it.

That said, I do think software prices are too high for the most part, mainly because the software I need to work at home is priced outside the range I can afford as a person. Granted, my software needs are above and beyond the normal user, but if I were to take my work home with me, I'd need MS Office, Visual Studio, VMWare or Virtual PC, a couple different copies of windows to run in virtualization, and a couple SQL Server liscenses (Maybe my companies MSDN Universal subscription gives me liscense to bring that software home - I'm not sure and I'm too lazy to find out for sure so I don't do it). That said, even for my dad, a copy of Windows + Office + Photoshop is ~1000 bucks, which is way beyond what he's willing to pay. Since Microsoft has to date held a veritable monopoly on the market, there's not much he can do besides cough up the money, steal the software, or not do work at home.

Competition in the market is changing that, though - Gnome 2.6 + OpenOffice + Gimp satisfies my dad's needs, and Microsoft and Adobe know it. As a result, you see things like home edition pricing for Photoshop and Visual Studio Express Editions popping up to solve those needs. SQL Server Express can replace any SQL Server desktop setup better than MSDE could. Companies are quickly becoming wise to the idea that they need to market differently to consumer customers than they do to Enterprise customers. Inherently, I think a competitive market solves the ills of overpriced software by itself and as long as the market remains competitive, I'd like to think most adults would rather buy an affordable copy of software legally instead of stealing it. If you couple in strong technology incentives like DRM that protect a companies IP without overly restricting the user's rights, I think the market will balance itself out. But as soon as companies try to gain draconian control over the market again, theft is what you'll see.

Of course, you could point out that Id Software is perpetually nice to the gaming community at large, and people are still stealing the game in droves - I think its mostly teens (I hope at least) and good DRM like the kind that GarageGames embeds in their games is still needed to remind gamers that there's not a penguin emblem on the front of the box. But like I said, Id has to balance their DRM - if its not fair, people will break it out of what can almost be described as a sense of social spite.

Jeff - on a personal note, sorry if I was being an ass yesterday. I didn't mean to come off sounding haughty quoting court cases, I just meant to back up what I was saying and give you a chance to look them up, come back, and tell me I was reading it wrong. Also the jab at your Coke v Pepsi analogy was uncalled for. I'm just very "excitable" on this subject because I think the entire way we will view IP for the next century finds its roots in the next 5 years and I overreacted when you called me out on not knowing what fair use meant. Still not an excuse though.




# August 4, 2004 10:44 AM

TrackBack said:

# August 4, 2004 10:55 AM

Shannon J Hager said:

You have to expect people to correct you when you say something that is wrong like "downloading [xxx] is like stealing [yyy]".

Running a redlight != speeding.
Copyright infingement != theft.
Making a photocopy of a magazine != stealing a magazine.

You made legal claims that were false. The crimes committed are not the same in America [and many other countries] nor would they be prosecuted the same in America [and many other countries].

I do not know where you are from. You say there is no difference there, but I am not familiar with your laws, so I'm not saying you're wrong about your legal system, just that in many countries, what you said is very wrong.

And your claim that people who download the game would have bought it is wrong (I know at least 1 person who proves this rule and surely you know someone who has downloaded a Britney Spears song but would never think to consider buying it). Your claim that nobody who downloaded the game will also buy it is wrong (I know of a least one person who proves this rule, MANY Europeans who preordered the game are downloading it due to the 10-day wait they are currently enduring).

Your moral claims may be completely correct but many (most?) of your factual analysis is incorrect and, if you care about the true at all, you should welcome those who correct you (and correct those who are wrong with facts, not incorrect statements).
# August 4, 2004 11:47 AM

Zk said:

Well, here's one thing to consider. I never would be the professional designer/developer I am today if I didn't use 'extended evaluations' of Photoshop, ColdFusion server, and various other softwares over the years, including VisualStudio.NET, SQL Server and other such high-end Microsoft products. I now own my own MSDN Universal subscription, but I never would've gotten into the position to be able to do such things w/o borrowing a few programs from work and the Internet over the years.

I'd go as far as to say that for designer and developer applications, hobbyist 'warez' is very good for their business. Microsoft recognizes that and is presenting the Express line or products to make it easier, and legal, for that particular market. Other companies really should take notice.

Now, games and what not... no such benefit to the company.
# August 4, 2004 11:56 AM

Shannon J Hager said:

Zk: you should do a poll and see if pirated games lead to game purchases. In my experience (not as a pirate, I own/play/download no games but my friends do), pirated copies are closer to Express versions than your pirated Photoshop copies. the PS copies are 100%, pirated video games rarely work online and are thus the 'sample' that get people hooked and cause them to buy Halo to play online instead of by themselves.

The Record industry, near the end of the cassette tape era, estimated that 1/4 of their sales were due to people who had casette copies and wanted the real thing, a far cry from the "home taping is killing the industry" cries that dominated the 80's (and continue today in new forms).
# August 4, 2004 12:06 PM

Zk said:

There is some truth to that. Especially, as you pointed out, in online gaming. Usually something that can be taken care of with a good CD-Key generator. (Except in the case of MMOGs. In that case, piracy is rarely even an option.)

And while warez usage of Photoshop might not always turn into a direct sale from that particular person, it does mean there's a lot of people using it and making it that much more likely to be used by a company they work for. (And companies are *usually* better about buying their software. If not.. you can always snitch. *rolls eyes*) These applications are often seeing a benefit from (individual) warez, whether they recognize it or not.
# August 4, 2004 12:16 PM

Justin said:

"Your moral claims may be completely correct but many (most?) of your factual analysis is incorrect and, if you care about the true at all, you should welcome those who correct you (and correct those who are wrong with facts, not incorrect statements). "


What is the point of having laws if they allow people to get away with morally corrupt acts by splitting legal hairs? Theft != copyright infringement maybe true but few people believe that their legal system hasn't let somebody down at some point. Why can't people stop hiding behind legal semantics and take a step back and say "is what I am doing right or wrong?"
# August 4, 2004 12:43 PM

Frans Bouma said:

"What is the point of having laws if they allow people to get away with morally corrupt acts by splitting legal hairs? Theft != copyright infringement maybe true but few people believe that their legal system hasn't let somebody down at some point. Why can't people stop hiding behind legal semantics and take a step back and say "is what I am doing right or wrong?""
... because then it's not clear what everybody's talking about. Realize that people participating in this 'discusion' are not from the same country, and it might come as a shocker, but the US laws are not the laws of a lot of other countries (and vice versa).

The whole refusal to just use the right semantics makes this whole 'debate' a weird way of venting some steam as it seems.

Oh, and what's morally right is NEVER a guideline for what is LEGALLY right. What americans find 'morally right' is not in sync with a lot of other countries and vice versa.

As I said before: Piracy, or better: copyright infrigment, is bad. However if you don't have the decency to call it copyright infrigment, what is 'piracy' then? copying a dics? copying a file? running a program? sharing a file over the network? oh, all of these? What if I embed a piece of GPL-ed code in my application without saying I did. That's also copyright infrigment, and of the same kind as running a copy of Doom without a license. If you think it isn't, you don't have a clue what piracy really is. THAT's why it is so important to define what's discussed so you can focus on how to solve it, instead of what someone finds morally right.
# August 4, 2004 12:56 PM

Justin said:

Frans,
I agree with you as far as the legality/morality disconnect goes and I also realize that American laws end at the border. Which is precisely why I find the whole "this is copyright infringement but not theft" to be a straw man argument.

Here is what it comes down to for me. Is somebody getting screwed out of what they expected to get when they put their creation out in the market place?
# August 4, 2004 1:11 PM

Scott said:

Because "right" and "wrong" have different meanings depending on the context Justin. In some places it is "right" to put mayonase on a hamburger, in most civilized places that's "wrong' however. Everyone knows that ketchup and yellow mustard go on a hamburger. ;)

Some countries handle copyright law differently than the U.S. does. So what you may consider theft may only be copyright infringement in a !U.S. country. But, even you said it yourself Jeff. When you stated the consequences for discovering someone had copied your software without paying for it you said you'd "sue them", not press charges. "Sue them". You can only sue in a civil court and you can sue for just about damn near anything. So you obviously don't consider software piracy to be illegal or you would have said "press charges". But what charges would you press? burglary? Battery? Forceable sodomy? Jaywalking? What statute applies towards software piracy?

I consider downloading a game without buying the physical media or paying for it in some manner de facto stealing. I also think I have the right to make a back up copy of the physical media my software comes on since my license to use the software is not dependant upon the physical media. In other words, if my CD-ROM breaks (like it did with my first copy of Unreal Tournament) I want to be able to instal the software from my back up copy. Same with DVD's, if someone spills acetone on my Spider Man DVD (my wife is no longer allowed to do her nails near the DVDs and I have to keep my DVDs in their cases) I should have the right to have a back up copy of my paid for copy of said movie. That's fair use. Fair use has a place in this dicussion because the same copy mechanism that allows a warez king to distribute the latest version of Doom3 allows me to make a fair use backup copy of Doom3. By getting rid of the warez kings ability to copy the game, we remove my right of fair use. That's like saying, "Well the KKK put up a website denoucing blacks and encouraging people to kill them so we better let the government take control of everything published in the U.S. on the web". Just because some people abuse their rights, doesn't mean anyone has the right to take away my rights.

I didn't pay for my copy of Windows XP Home. I got it for free for doing a useability study at MS. It cost too much so I didn't buy it. I'm not spending $500 on MS Office, so AbiWord goes on my machines at home (they're mostly Linux machines anyway). Just stating my personal position before Jeff accuses me of being a pinko commie who's out to steal music and thinks all property must be communal.
# August 4, 2004 1:16 PM

Justin said:

Fair Use has reared its ambiguous head again. Why does shutting down warez sites rob you of fair use? Nobody is guaranteeing you access to warez sites when you purchase a game so the expectation that they will exist isn't reasonable. And since you specifically mention that its there for legit backup purposes the argument I'm trying to make doesn't affect you.

"Because "right" and "wrong" have different meanings depending on the context Justin"

Stealing a loaf of bread to feed your family. That is case for context. Downloading Doom 3 because you don't have $55 dollars on hand doesn't have alot of wiggle room for contextual interpretation (note that I specifically state somebody has shown disregard for compensating the producer, this isn't a fair use thing.)
# August 4, 2004 1:29 PM

Shannon J Hager said:

"What is the point of having laws if they allow people to get away with morally corrupt acts by splitting legal hairs?"
Because, at least in America, we do not punish moral infractions as crimes on a 1:1 basis.

Is lying morally wrong? Is it illegal? Should it be?
Is disobeying your mother wrong? Is it illegal? Should it be?
Is downloading a shoddy mp3 of a song I have on CD in the next room morally wrong? Is it illegal? Should it be?
Is marrying more than one woman morally wrong? Was it always? Does "morally wrong" change over time? Should it? Who decides?

Morals != laws.

If you don't want us to attack that straw man, don't set it up for us. If it's not part of your message, don't mention it. If you only want to discuss morals, don't discuss laws. If you say something that is wrong (even if off-topic), you can not say that we shouldn't correct you. And vise-versa.

For the record, I never said copyright infringement nor theft were morally nor legally okay. I was just correcting your incorrect assertions regarding them being equal.
# August 4, 2004 1:33 PM

Justin said:

I have no problem leaving the legal system out of the discussion altogether since it fails people so often. I whole heartedly agree that morals and laws are not the same, but everybody was zeroing in on the letter of the law that they lost site of the actual argument.

Jeff's complaint was of a moral nature and not a legal nature. People use the intersection of morals and laws as a dodge or a justification. And as far as the changing of moral standards over time goes was it ever okay to grab somebody's wallet and take a 20 out? Will it ever be okay? Actual fair use aside whats the difference?
# August 4, 2004 1:47 PM

Steve said:

Piracy != Theft. In ye days of old when pirates were swashbuckling dudes with parrots, piracy was theft, but its not today. We use two different words for the acts for a reason. I can't describe the difference any better than Frans' did in the response to the first post in this series (http://weblogs.asp.net/jeff/archive/2004/08/02/206421.aspx#207356)

What we're talking about is what rights to do have to the liscensed use of the work at hand. That's what fair use is. Although shrinkwraps tend try to imply otherwise, all rights not specifically and explicitly reserved for the content creator are reserved for the consumer - its the root of all modern law. And even if the EULA on the shrinkwrap explicitly does pretend to reserve certain rights, the courts have historically ruled that doesn't neccesarily make it the case.

Honestly, morality doesn't play into it very much at all, because the liscensing of media is not something society has agreed on in the slightest. Media rights as we know them today are a new invention, having only been invented by Congress around 1910 to figure out how to keep musicians in business when recordable records were invented (Before that, everyone read books at libaries - its hard to imagine more public sharing than that). Media rights until about a decade ago revolved around a physical media which you could loan, trade and exchange. Digital rights are a new idea - Congress hasn't approached them yet and society at large is just now beginning to think about them at all. If you ask a dozen different people at random on the street what they think, and each of them gives you a very different answer, you can't even begin to make a decision as to what is socially moral.

Like I've said before, if we were talking about the Doom3 version for the XBox, this would be a moot topic. I don't have to buy a different copy of the game for my girlfriend so she can play it too, just like I didn't have to buy a copy of the DaVinci Code for myself either, since I could just read hers.

This isn't a moral rationalization for "stealing" - its simply an indicator that we don't know what's right or wrong in this field yet. I think most people would agree that being able to go online and download a game or a book or music from someone you don't know completely anonymously and without regard for the copyright owner is probably wrong. But that's on a macro uncontrolled distribution scale. I think at the same time, if you asked 10 people on the street, "Is it okay to install a game you bought on your girlfriend's computer in addition to your own", I think 9 out of 10 of those people will respond with a resounding "Yes". After all, that's what we do with everything else, so why is software any different.

Look at iTunes - you can share music you buy with something like 7 or 10 other machines, even if those machines aren't yours. Look at the new Tivo model, being able to record live tv and distribute it to up to 10 different PCs. Media companies know that sharing exists and that everyone expects it, and the businesses that excel at what they do in the digital age are the same ones that are embracing that.

Software companies obviously want people to buy 1 copy per 1 user, sometimes even multiple copies for 1 user across multiple machines. Just because that's what's fiscally best for that company doesn't mean its what's right for society, and it certainly doesn't mean its what's morally correct for society. No one today thinks that AT&T being forced to allow competitors to manufacture phones to plug into the AT&T wires was a bad decision - it created huge new booming markets that advanced technology and benefitted consumers, and increased AT&T revenue ultimately. Similarly, no one disputes that the decision that consumers could be allowed to own VCRs - in fact, the very people that sued claiming it would destroy them now sell more movie tickets than ever before, AND make an additional 120% gross profit over box office receipts on the medium they tried to destroy. Not to mention the obvious benefit for consumers.

Right and wrong doesn't really have a place in this argument yet. The social morals of tomorrow are defined by the laws of today, and the laws of today are defined by combining user rights (on both the consumer and inventor's side) with economic forecasting. Most of us are hazy on this issue now, but perhaps 20 years from now, this is the default distribution model of software. I don't know, and neither does anyone else.

# August 4, 2004 1:59 PM

Justin said:

"And even if the EULA on the shrinkwrap explicitly does pretend to reserve certain rights, the courts have historically ruled that doesn't neccesarily make it the case."

If that was true everybody with illegal licenses of MS products would be able to fight fines levied by the BSA.

"Honestly, morality doesn't play into it very much at all, because the liscensing of media is not something society has agreed on in the slightest."

I'm going back to the legal aspect of the argument for moment here. I hate to break it to you but just because you don't agree with the laws on hand doesn't mean society hasn't decided. This society is governed by laws, whether good or bad, so from a societal point of view it has been decided. Not to add undeserved weight to the agument but abortion is one of the most polarizing topics out there. Millions disagree at a personal level but since it is allowed (in most forms) legally it has been decided at the societal level. That is not to say that laws won't change but for the here and now it has been decided.

"Digital rights are a new idea - Congress hasn't approached them yet and society at large is just now beginning to think about them at all"

DCMA, it may suck but Congress has approached it.

"I don't have to buy a different copy of the game for my girlfriend so she can play it too, just like I didn't have to buy a copy of the DaVinci Code for myself either, since I could just read hers."

But software is unique in that you can both utilize it at the same time. The delay in use of the book is the trade off of not buying your own copy (unless you two happen to be sitting next to each other for all you nit pickers out there)

"Look at iTunes - you can share music you buy with something like 7 or 10 other machines, even if those machines aren't yours."

That is part of the contract, Apple has deemed that to be okay it doesn't have anything to do with warez.

"Media companies know that sharing exists and that everyone expects it, and the businesses that excel at what they do in the digital age are the same ones that are embracing that."

That maybe true. But that doesnt mean you can arbitrarily force sharing on company that has chosen not to embrace it. Mentioning any business benefits to sharing or advances in technology only rationalizes what a content producer has specifically rejected when they worded their EULA. Just because you say to yourself "this will be good for them in the long run" doesn't justify your actions.

"Right and wrong doesn't really have a place in this argument yet. The social morals of tomorrow are defined by the laws of today, and the laws of today are defined by combining user rights (on both the consumer and inventor's side) with economic forecasting. Most of us are hazy on this issue now, but perhaps 20 years from now, this is the default distribution model of software. I don't know, and neither does anyone else."

I myself know what theft (or whatever bullshit legal term somebody applies) is. I don't have to wait 20 years to figure out what right and wrong is. If the rest of society does then that doesnt bode well.
# August 4, 2004 2:51 PM

Gabe Halsmer said:


Jeff, all I have to say is amen brother. Preach on!

Capitalism is the greatest economic system the human race has ever discovered. But I'm just a little worried that an entire generation is growing up in complete ignorance of why or how it works. So many retards. Lets hope that age brings them wisdom someday, otherwise are society is f-----.

An yes, a quote from Ayn Rand is definitely in order...

"There was a time when men believed that 'the good' was a concept to be defined by a code of moral values and that no man had the right to seek his good through the violation of the rights of another. If it is now believed that my fellow men may sacrifice me in any manner they please for the sake of whatever they deem to be their own good, if they believe that may seize my property simple because they need it--well, so does any burglar. There is only one difference: the burglar does not ask me to sanction his act."
# August 4, 2004 3:02 PM

Steve said:

"If that was true everybody with illegal licenses of MS products would be able to fight fines levied by the BSA."

Microsoft's shrinkwraps have held up pretty well to date, but Microsoft also has a very smart legal team that wrote those EULAs - there are plenty of other companies who have had their EULA struck down in part or backed off prosecuting abuses of their EULA because they were pretty certain they would lose.

"I hate to break it to you but just because you don't agree with the laws on hand doesn't mean society hasn't decided."

They have decided. 20 years ago. See my response to Jeff here (http://weblogs.asp.net/jeff/archive/2004/08/03/207283.aspx#207365">http://weblogs.asp.net/jeff/archive/2004/08/03/207283.aspx#207365) and here (http://weblogs.asp.net/jeff/archive/2004/08/03/207283.aspx#207365">http://weblogs.asp.net/jeff/archive/2004/08/03/207283.aspx#207365). While those cases do not specifically target digital rights, the Supreme Court hasn't changed its tune yet - not to say they won't, but until then, the law is more friendly than most software companies would like you to think.

The DCMA is Congress approaching the digital rights problem, but the DCMA does not affect copying at all - the DCMA is entirely about circumvention. Under the DCMA, its illegal to develop a technology to circumvent copy protection, but its not illegal to copy something if there is no copy protection scheme in place. By my understanding, the DCMA also only applies to technical circumvention schemes, so writing a program to generate keys to break MS software violates the law, but copying the CD key from the sleeve on someone else's box isn't. The INDUCE Act is targetting that form of copying, but it hasn't been passed yet (and God-willing, it won't ever).

I'm not condoning stealing CD keys off Usenet, I'm just saying the law hasn't approached that yet.


"But software is unique in that you can both utilize it at the same time. The delay in use of the book is the trade off of not buying your own copy (unless you two happen to be sitting next to each other for all you nit pickers out there) "

By that logic, my girlfriend can install Doom3 on her box so long as she isn't playing it at the same time I am. Software companies say even that's wrong.

The whole argument in the other thread started when I said that I'd play Doom3 for free using a friend's CDs, but I wouldn't copy the CDs. By the time-sharing argument, I'm allowed to do that (and btw, I agree I'm allowed to do that) because he can't play Doom3 while I'm using his CDs, and vice versa, but some posters thought that was piracy.

"That is part of the contract, Apple has deemed that to be okay it doesn't have anything to do with warez. "

Fair nuff, that's one company's policy and not law. But it is an indication of the priorities of consumers. Apple did a number of studies that showed that iTunes users stopped pirating music off of p2p networks, so they seem to have developed a model that keeps users honest. If consumers don't buy a model, supported by law or no, it'll fail - you just can't make a felon out of 75% of a nation's population. On a similar note, the government had to allow the law to be completely redrafted because the consumers didn't accept it.

"That maybe true. But that doesnt mean you can arbitrarily force sharing on company that has chosen not to embrace it."

Tell that to Blockbuster who forced Nintendo to accept the idea of game rentals. Legally, Nintendo couldn't stop them despite the fact that it interfered with their right to reproduction and distribution of their work. As it turned out, game rentals caused a massive surge of business in the gaming industry and made billions of dollars for lots of different parties - I think if you look back historically, at every point where fair use won out over a companies attempt to wrest control away from consumers, the resulting oppurtunities that became available caused an explosion of new business and greatly expanded the market for the original product.
# August 4, 2004 3:25 PM

Shannon J Hager said:

Sorry, I got "Jeff" and "Justin" confused above; I thought they were the same person.
# August 4, 2004 3:31 PM

Jeff said:

Shannon: I think you're confused... I didn't say anything about laws or that anyone would buy something that they stole. I was arguing quite the opposite. I gave no "factual analysis," only my opinion. Perhaps you should re-read the previous posts.

Scott: Can you show me where I called you names? If you can't show me, why don't you stick the the discussion?

I think Justin pretty much poked holes in everything Steve had to say, and rightly so. Mob rule doesn't justify stealing. Gas prices are too high, but if I gas-n-go, I can get to know the county jail and lose my license.

It's staggering first that some of you want to play a game of semantics, especially the nonsense that piracy isn't the same as stealing, but you can't with a good conscience tell me that it's OK for kids to download Doom and play it for free.

It is a moral issue, and if "society" didn't have a position on it, we wouldn't have laws and international treaties governing it. Because some piece of IP may be digitally duplicated perfectly does not mean you are free to do it. If you believe it does, that's exactly why we have to deal with DRM, copy protection and product activation in the first place. None of those "solutions" would exist if IP rights were respected.
# August 4, 2004 3:36 PM

Steve said:

Gabe,

When did consumer rights become uncapitalistic? The Telecommunications industry has exchanged somewhere near a trillion dollars since AT&T was forced to allow competitors the right to create products which attached to its network. Today the movie industry sells more movie tickets than ever before at a higher price than ever before, and despite that, the majority of their profit comes from tape and DVD sales, an invention they didn't want. Audio tapes outsold records on the order of 17 to 1, making the music industry really glad they didn't win the lawsuits allowing tape recorders.

For those EQ players out there, Sony used to make it impossible for a player to sell their character to another player. After the realized it was impossible to crack down on, they realized "Hey, these people are willing to plunk down $1000 on a pre-built character, I bet they'd pay another $40 to switch servers to get away from the people who know they aren't the real deal" - Result. Sony made an extra couple mil in a year on that policy alone (if I remember correctly, it added up to being something like 7% of their gross operating profit on the game last year), Ebay made hundreds of thousands of dollars on commisions, and several player auctions sites went from being hobbyist sites to profitable multi-million dollar enterprises just by allowing people to trade ficticious assets (I don't understand it either).

I'm not advocating making software free, although the companies that embrace that approach aren't doing too shabby for themselves right now. I'm just saying that the more rights you give consumers, the more money they spend. I think its hard to get any more capitalistic than that.
# August 4, 2004 3:39 PM

Zk said:

Trick question. Who do you think suffers the most from Photoshop piracy among individuals and hobbyists, Adobe or Jasc?
# August 4, 2004 3:56 PM

Justin said:

"By that logic, my girlfriend can install Doom3 on her box so long as she isn't playing it at the same time I am. Software companies say even that's wrong."

Again we are back to fair use which implies that a license fee was paid at some point and therefore fair use can be justified and license agreements may need to change as a result. My whole beef is content producers who see nothing when somebody grabs whatever app off the net.

"If consumers don't buy a model, supported by law or no, it'll fail - you just can't make a felon out of 75% of a nation's population. On a similar note, the government had to allow the law to be completely redrafted because the consumers didn't accept it."

Market acceptance doesn't negate laws, the market has overwhelmingly accepted alchohol sales but that doesn't make drunk driving legal.

"Tell that to Blockbuster who forced Nintendo to accept the idea of game rentals."

But Nintendo did get paid for each copy that Blockbuster acquired. They may have saw what Blockbuster was doing and been unhappy but nobody robbed them of the value they placed on those games when they put them on the market.
# August 4, 2004 3:57 PM

Frans Bouma said:

Shrink wrapped licenses are not valid in in the EU. Just a FYI.
# August 4, 2004 4:15 PM

Steve said:

"Market acceptance doesn't negate laws, the market has overwhelmingly accepted alchohol sales but that doesn't make drunk driving legal."

I agree market acceptance doesn't negate laws, but the analogy is silly. Drunk driving laws have public safety considerations in mind, the government interferes with individual rights in the name of public good insofar as safety all the time. Also, while people may like alcohol, people across the board hate drunk driving.

That said, keeping with the alcohol analogy, market acceptance forced Congress to redraft the Constitution to repeal less than 13 years after the original amendment was passed. Most texts I've read on the era have widely acknowledged that had people not been drinking alcohol anyway, Congress would not have acted so swiftly.

"But Nintendo did get paid for each copy that Blockbuster acquired. They may have saw what Blockbuster was doing and been unhappy but nobody robbed them of the value they placed on those games when they put them on the market."

Really? Nintendo was trying to sell games to people for value X. Blockbuster bought copies of the games and rented them to people for value X / 10. Players would rent a game and then not buy the original because they'd already beat it, which Nintendo contended was causing significant economic damage to their business model.

Of course, Blockbuster won, and the result was that 10x the households bought Nintendos because the cost per game played had effectively increased - this in turn spawned the production of more games which in turn increased console sales, and eventually a whole slew of serious competitors in the industry. The end result - gaming consoles are in every household (sometimes multiple), consumers have thousands of games to choose from, and the game industry grosses over 6 billion dollars in game sales per year in the US alone.

"Again we are back to fair use which implies that a license fee was paid at some point and therefore fair use can be justified and license agreements may need to change as a result."

I actually think we agree more than we disagree. We both agree downloading software off Usenet is bad. I just submit that swapping and lending of media on a small scale is fair, and based on prior historical evidense, very health for the industry.
# August 4, 2004 4:19 PM

Steve said:

s/effectively increased/effectively decreased

"cost per game played had effectively increased" is backwards.
# August 4, 2004 4:22 PM

Zk said:

One last point. A young 'hobbyist' (let's say 15-20 years old) downloading a pirated copy of something like Photoshop or VisualStudio (3D Studio, Illustrator, whatever) is actually the best investment for the companies that make that software. Typically, money isn't really being lost at that time, since the chances of them buying it at that time are very slim, but there is a very real potential of money lost in the future when they're in now programming in Java instead of C# or in a position to recommend software purchases for a company. Or, worse.. they're working at Macy's instead of being a graphic designer.

This person will have experience and knowledge with something they normally wouldn't have been able to and that translates into cash for the software companies.

Where piracy actually hurts the software companies (for apps, not games), is when people mass produce copies and sell them or when companies don't buy the licenses they're required, etc.

Like I said earlier, the only reason I'm even in a position to buy my MSDN subscription, or recommend to my company that they buy X number of licenses for ColdFusion, Photoshop, VisualStudio, is because I had access to learn that software before I was ever able to purchase it. My early piracy earned all those companies way more money than they ever lost on me not buying their software to begin with (which, is $0 lost since I would never have been able to buy any of that originally.)

Not everyone learns in college.
# August 4, 2004 4:30 PM

Chad Myers said:

The problem is, software costs a lot to make, but it's value to the user is significantly less than what it costs.

So vendors try to charge what it costs to make and it's just ridiculous for consumers.

If milk vendors sold a gallon of milk for $50, people would steal milk and you know what, I'd probably think that was OK because pay $50 for milk is tantamount to theft.

Software vendors need to figure out how to not charge ridiculous amounts of money for software. Until then, people will steal.

$12-15 for a CD = bad
$200 for an OS = bad
$50 for a game = bad
# August 4, 2004 6:37 PM

Chad Myers said:

Oops, I mean:

"selling milk at $50 is tantamount to theft of the consumer [bilking them unnecessarily]"

not

"milk is tantamount to theft".
# August 4, 2004 8:37 PM

Krystoferq said:

Did I steal it? yes, yes I did. Did I then go pick up my copy from the local retailer? Yes, yes I did. All of my friends also had copies obtained less than legally from me, and have all bought their copys as well. Is this indicative of all downloaders? No clue. Do I on a regular basis download games illegally? Every single title I consider buying. EVERY SINGLE ONE. Do I then purchase them? Sometimes. More often than not, I play the game for 10 minutes and see that yes in fact, its a pile of garbage, and I've saved myself $50. I stopped buying games first after getting Quake 3 and being sorely dissapointed. Do I feel even the slightest guilt for this? Zero. How many titles, games, cds, movies, so on, have you personally purchased and not gotten what you felt you paid for? If everyone made a counterclaim for damages from all the shoddy releases, it would put a serious dent in the market, mark my words. I don't care what the law says. I don't care what the RIAA says. I will continue to preview my software, audio and cinema selections illegally before I consider purchasing them. Every copy of anything I have thats been downloaded I have a retail copy of as well. So let them come kick in my door. I'll kindly flip them the bird. I'm sure I'll be flamed for admiting to stealing a game that is so beloved, but I don't care. My reason for stealing may or may not match that of others, but i'd like to think there are quite a many people in the same boat as myself.
# August 6, 2004 4:12 PM

William Tech TV LOVER G4 hater said:

I hate to say this but i dont think TECH TV is coming back. It was good while it lasted.

(i like the paypal idea)
# August 7, 2004 1:01 AM

William Tech TV LOVER G4 hater said:

-sob sob- fuck comcast
# August 7, 2004 1:03 AM

peterpan said:

What can i say, which has not already been said?. I will just add my opinion on the issue. As far as piracy goes, you must look at it from both angles, "the consumer" and the "software Companies", as they are the parties involved in the process. The software company invests capital into software development, this is done in order to yield a return, and preferably greater one then the invested capital. When the product is a good one the profits are generally proportional to how good. In this sense its a business venture to come out with a gain in the end. The consumer, can be looked at either as a whole in groups or as a single entity. As a single entity the consumer really doesnt contribute to the gross return of the software company, The consumer however can greatly increase the potential of revenues for the software company, if the product was satisfactory, the single consumer cna spread information to others and therefore generate more sales or pirates.. On the whole, more operation lisences will be sold if hte product is good. Piracy in its own right takes on the role of a medium to spread information. If the product is good then the product is accepted, amongst pirated circles as well as non pirated circles, but the pirated community is also the same community which buys the product. Not all, some people as mentined ealrlier can not afford any software, nevertheless, they can only benefit the software company by pirating the software, as they would never be capable of buying it outright... This means in the final result it is not cirtain that pirating software at the current state in time is a bad thing. It is a system in place to protect the consumer from bad software, as well as benefit the software company by providing free advertising which reaches consumers who will purchase the product. I personally feel as long as the laws allow the consumer to preview the products i nthis way, it will continue and even become more envolved... Dooom 3 is a great game, i will buy it.... As I am sure many others will... what can be said about all this, its reality, and its too complicated to discuss really, the bottom line is, unless people are jailed and fined on a mass scale... the software companies and the consumer must come up with a different solution.. as the spread of computer continues this piracy can only grow... who knows some day things may change not today though and i cant complain
# August 7, 2004 1:06 AM

Jeff said:

Yeah, I really respect the opinion of someone with such stellar grammar and spelling. Krystoferq might be a thief, but at least he can communicate normally. The idea that piracy protects the consumer is the single most stupid thing I've heard on the subject.
# August 7, 2004 1:41 AM

jim said:

YEAH!! Just downloaded my very own copy of doom3 gotta go install now. I'll probly do that while listening to my downloaded mp3s on my downloaded windows OS. Don't you love the internet? Ever heard the saying retail is for suckers?
# August 7, 2004 2:44 PM

Michael Mitchell said:





That Paypal idea does intrigue me. I'm pretty sure you've all seen those commercials for a company called HotWire.com. They show 6 pictures, and a miniature plane being guided by a guys hand over the company logo (Did you notice that the girl falling on the bed looks like Laura Swisher?). Well, if say, 100,000 people would donate just $1 apiece to the "Save TechTV AD Campaign" fund, that's be one hundred thousand dollars. I know that there's way more than 100,000 of us that support the wonderful network that was TechTV. We must stand for ourselves, and prove to Comcast, as well as every other big corporation, that this nation was founded "To the people, by the people, and for the people." and not "for greed and for money" as these corporations seem to think. This can only work if we stand proud and speak as one voice. Alot of things I used to love have been taken away from me, and TechTV seems the only one that I have even a slim chance to bring back. Now, if we were to seriously create a "Bring Back TechTV Ad Campaign" Paypal account, i'd personally save up and donate as much as I can, whenever I can, where ever I can to this cause. I strongly feel that us Tech geeks possess much greater power than Comcast thinks we do. Well, i'm NOT going to lay down and take this like a fool. I am NOT going to watch this faceless, nameless "G4TechTV"! Even in the case that this didn't work, I think it would be a great to say that we, as one community, tried. We tried to preserve what we love in our lives: A great Tech network that brought us the highest quality programming possible (Well, except Robot Wars. . .screw that show).

Thank you all for reading what I had to say. God bless you.

Michael Mitchell.

If anyone would like to contact me, my yahoo messenger address is:
AmadeusK545

My email is: Amadeus2490atyahoo.com
(That's so that the bots that crawl through messageboards can't spam me. Replace the "at" with the familiar "@" sign.)
# August 7, 2004 7:59 PM

Frans Bouma said:

You ran into one of the many traps with caching. In the O/R mapper world the group who thinks caching is for speeding things up gets smaller and smaller and for a reason: it doesn't make things faster, it's only nice for uniquing (one object per entity in the complete app). It actually makes things slower, as every bulk query has to be scanned completely for cache hits. (you have 50 customer entities in the cache, you ask for all customers (or any group of customers), you can't simply return all 50 customers in the cache, you have to pull them from the db, match them one by one with the ones in teh cache, update the cache, and return the results after that.

If you look for efficient caching for fast-speed internet pages, you should use another trick. (well, you have the option for a couple of tricks actually). One of the best is the 'render the complete site every X seconds/minutes'. This is how slashdot works for example. What they do is both as simple as effective:
they render the complete site, or parts of the site (which are embedded in pages) every minute. If the hardware they have can render the complete site every 20 seconds, they can serve the site to a very large audience without experiencing slowdowns. Also, the visitors have a delay of 1 minute or less to see their content up. In reality they render parts of the site in real time and other things once per minute (front page) or once per 20 seconds or so (comments).

If the traffic gets too high, you increase the interval to say 2 minutes. It's that simple :). The fun thing is: even if there is a slight delay, users won't notice.

Another trick is using cached HTML in the database and using views. You speak about a forum. The actions which are the heaviest are: read threads per forum + statistics (who posted the last posting, when etc.) and read a page with message in a forum thread. These actions are done a lot of times and way more than there are post writes. For my forum I use per posting a text field for the posting text and a text field for the HTML, which is the text parsed by the UBB parser to XML, converted with an XSL to html. I then use a couple of views which pull the data for viewing (for example a threadlist or a page of postings). They do a simple select and the results can be bound to a repeater control without postprocessing. The ASP.NET cache can then take care of page changes, for example invalidate every minute.
# August 8, 2004 5:18 AM

Karl said:

Jeff, I hope you get more feedback on this...I've had the same thoughts over the past couple of weeks. Sticking with the forums example, one of the things I've played with is using delayed creation:

private int userId;
//by FX Cop standards, this probably ought to be a method
public User User{
get{ return UserUtility.GetUser(userId); }
}

The advantage I see here, is that you don't have to worry about whether you have the most-up-to-date user in your Post class, but instead in your UserUtility class

UserUtility.GetUser would be implemented as a cache lookup/hit database. UserUtility.Update() would call User.Update() to the database, and update the cached object, so subsequent calls to UserUtility.GetUser() return the updated user.

It'd be good if paul wilson could jump in on this one...
# August 8, 2004 10:12 AM

Jeff said:

Frans: The problems that you describe aren't really the problems that I have. Actually, I don't have any problems at all the way I work things now, I'm just thinking in terms of making things more intuitive for the programmer and efficient at the same time. To make the blanket assertion that caching makes things slower is incorrect if I can demonstrate that my app is slower without it.

Karl: Actually, that's kind of the way I do things in the forum now (see the class library docs at http://www.popforums.com if you're interested). If you look at a topic, the posts are all cached as an ArrayList of Post objects. The UI fills in the user details on each post individually by looking up People objects based on Post.PeopleID. This would be ridiculously inefficient if the People data wasn't cached, but since it is, it's insanely fast.

Truth be told, the only reason I think about this at all is in the case of spreading out the load across more than one server. To do that in my app you'd have to turn caching off, which means the above mentioned topic display would be dog slow. The flip side of that is that I wrote the forum for myself first, and there's little to no chance I'd ever need to run the app across more than one server, and I doubt any of the thousands of people that download it every month would need to either.
# August 8, 2004 12:34 PM

Brian Desmond said:

Have you tried ebay? There is always a ton of used networking gear on there.
# August 8, 2004 2:22 PM

Jeff said:

Yep... tried it many times. No bites!
# August 8, 2004 2:37 PM

TrackBack said:

# August 8, 2004 6:49 PM

Jason Mauss said:

Would a view be in order here?
# August 10, 2004 2:40 AM

Justin said:

Not tested but should be pretty close...

select t1.ImpressionCount, t2.ClickCount, t1.ServeTime
from
(SELECT COUNT(*) AS ImpressionCount, CONVERT(nvarchar, Impressions.ServeTime, 101) AS ServeTime
FROM Impressions
WHERE Impressions.CreativeID = 15
GROUP BY CONVERT(nvarchar, Impressions.ServeTime, 101)) t1
inner join
(SELECT COUNT(*) AS ClickCount, CONVERT(nvarchar, Clicks.ClickTime, 101) AS ServeTime
FROM Clicks
WHERE Clicks.CreativeID = 15
GROUP BY CONVERT(nvarchar, Clicks.ClickTime, 101)) t2
on t1.ServeTime = t2.ServeTime
order by t1.ServeTime

... t1 and t2 are derived tables. Hope this helps. If this doesnt work post from sample insert statements and I'll fix it.

Justin


# August 10, 2004 3:36 AM

LeeB said:

I'm not sure if it's the most optimised query possible but something like this should work:

SELECT DISTINCT [ClickTime],
(SELECT COUNT(*) FROM [Clicks] WHERE CONVERT(nvarchar, [ClickTime], 101) = [r].[ClickTime]) [ClickCount],
(SELECT COUNT(*) FROM [Impressions] WHERE CONVERT(nvarchar, [ServeTime], 101) = [r].[ClickTime]) [ServeCount]
FROM (
SELECT [CreativeID], CONVERT(nvarchar, [ClickTime], 101) [ClickTime]
FROM [Clicks]
UNION
SELECT [CreativeID], CONVERT(nvarchar, [ServeTime], 101)
FROM [Impressions]
) [r]
WHERE [r].[CreativeID] = 15
ORDER BY [r].[ClickTime]

Lee
# August 10, 2004 3:47 AM

denny said:

I have mostly given up on the whole mess, each time I check they are still running old taped shows @7pm easteren time.

they have had like what 3 weeks now to do a live show.... still no live shows.

I think TSS is dead and it's just taking them time to bury it.

sad....
# August 10, 2004 9:25 AM

Julie Lerman said:

Jeff - "I'm not disciplined enough to really become a guru" .... c'mon. Nobody can be an expert at everything. you need to read this AGAIN today: http://www.secretgeek.net/inadequate.asp :-)
# August 10, 2004 11:01 AM

John said:

I'd go with the UNION query as well.
# August 10, 2004 2:44 PM

Jeff said:

The UNION query took 2:30 minutes... that's not an option. The first one took one second. Guess which one I'll use? :)

There is one problem, and I'm not sure if I can address it in SQL. In my test data (a three month ad campaign), I have one day where there are no clicks, and as a result, no row is returned for it even though there are impressions that day. I'm fuzzy on joins... can the query be changed to include that day?
# August 10, 2004 8:24 PM

ozczecho said:

What about tabbed browsing. Your comment is like saying Word 6 was the pinnacle of word processing so lets not update it any more.
# August 10, 2004 10:05 PM

Matt said:

Shhhh. You'll encourage the crazies to come here and say that Word 6 was the pinnacle of word processing.
# August 10, 2004 10:17 PM

Matt said:

And (more on topic) IE should add tabs. Perhaps as an optional download?
Don't point me to Maxthon. Tried it and don't like it. Add tabs along the lines of firefox but without the bloat of Maxthon (have you looked at Maxthon's interface. The menus, dialogs and toolbars are crammed with rubbish. IE could and should provide tabbed browsing with a nice, clean interface)
# August 10, 2004 10:20 PM

Scott said:

Spoken like someone who has always been able to force the user to only use IE as their web browser or as someone who is only developing WinForms applications. ;)
# August 10, 2004 11:24 PM

Jeff said:

Nonsense... everything I've built in the last few years has worked in every browser. They work fine.
# August 11, 2004 12:17 AM

don@ghostdev.ca (Don Newman) said:

I must be one of the few insane people that doesn't like the idea of tabbed browsing. I surf in the form of threads and use my back button to navigate forward and backward, alt-tab to get between my threads of thought, and shift click to fork off on a new thought. I also don't like XP grouping my programs on the taskbar as it helps to give me a chronological order to the things I am doing.
# August 11, 2004 12:32 AM

Stephane Rodriguez said:


You've got to be kidding right?
From a usability perspective, IE is a raw pile of shit. Clicking all the time, that's what you do. There are much better user interfaces available out there, those that won't bother with "ActiveX prompts all the time, if you happen to have disabled those for security reasons and IE will keep telling you to go eat shit any time and forever". There is alos those little things that force you to click in some client area before you are able to scroll. How do you call this? "so 90s".

Tab browsing is notably absent.
The bookmark manager is buggy.
The list could go on very easily...

0.5 cent


# August 11, 2004 3:22 AM

Russ C. said:

"Browsers don't really need any features other than the row of buttons, bookmark management and compliance to standards."

Well, that last part indicates why you need a new version of IE!

Sorry, but its true.
# August 11, 2004 3:43 AM

LeeB said:

How about a combination of the two to get results when there is a click value and no impression value. This should be a bit quicker than the UNION but uses a LEFT JOIN to 'preserve' NULL values for a particular day...

SELECT [r].[ClickTime], [t1].[ImpressionCount], [t2].[ClickCount]
FROM (
SELECT [CreativeID], CONVERT(nvarchar, [ClickTime], 101) [ClickTime]
FROM [Clicks]
WHERE [CreativeID] = 15
UNION
SELECT [CreativeID], CONVERT(nvarchar, [ServeTime], 101)
FROM [Impressions]
WHERE [CreativeID] = 15
) [r]
LEFT JOIN (
SELECT COUNT(*) AS [ImpressionCount], CONVERT(nvarchar, [ServeTime], 101) AS [ServeTime]
FROM [Impressions]
WHERE [CreativeID] = 15
GROUP BY CONVERT(nvarchar, [ServeTime], 101)) [t1] ON [r].[ClickTime] = [t1].[ServeTime]
LEFT JOIN (
SELECT COUNT(*) AS [ClickCount], CONVERT(nvarchar, [ClickTime], 101) AS [ClickTime]
FROM [Clicks]
WHERE [CreativeID] = 15
GROUP BY CONVERT(nvarchar, [ClickTime], 101)) [t2] ON [r].[ClickTime] = [t2].[ClickTime]
ORDER BY [r].[ClickTime]

Lee
# August 11, 2004 4:52 AM

Sigurdur G. Gunnarsson said:

If you think IE6 is 100% standards compliant, think again. For example it has numerours bugs in CSS rendering.
# August 11, 2004 6:13 AM

dru said:

Yes, please fix the CSS support!
# August 11, 2004 8:04 AM

Phil Scott said:

Yeah, spend some time trying to do a non-tableless design and you will quickly realize that IE has some show stopping bugs when it comes to layouts. I've spent two days trying to force IE to render something properly. The solution is to use tables for layouts, which was a hack 4 years ago and could be avoided altogether if it IE got its shit together.

Here's a good write up on Stopdesign called "The IE Factor": http://www.stopdesign.com/log/2004/01/26/ie_factor.html
Doug has a good write up about one particular bug that I've ran into a couple of times myself: http://www.stopdesign.com/log/2004/01/30/ie_factor_example.html

Spend some time on web designer's weblogs and you will see at least one post a week about working around bugs in IE's CSS rendering. They aren't asking for new tags, they just want the freaking floats to work right.

BTW, here's a work around for the three pixel bug that pops up when you use floats: http://positioniseverything.net/explorer/threepxtest.html
# August 11, 2004 8:11 AM

Phil Scott said:

Did I just write non-tableless design. Just shoot me now.
# August 11, 2004 8:13 AM

Jeff said:

As it turns out, I used a FULL JOIN and an ISNULL function to return 0 instead of null. Thanks for your help, everyone!
# August 11, 2004 10:26 AM

Garrett said:

Ok Jeff, You are crazy.

"... Browsers don't really need any features other than the row of buttons, bookmark management and compliance to standards ..."

Browsers need more features. Of course they do.

Admittedly, after SP2 IE gets quite nice. Blocked Popups, Blocked Asinine ActiveX controls. Very good.

Things IE Still needs:

Tabbed browsing. This is one of those things that if you like it, it is the best thing in the Universe. I prefer the way CrazyBrowser (an IE derrived browser) works. Simple, plain, but very useful. Oh, make sure the middle button closes a tab.

Ad Blocking. Ok, I can't really see Microsoft putting this in, but the Mozilla Extension AdBlock is the greatest thing since SlicedBread... er Tabbed Browsing.

Web Developer Tools -- See http://www.chrispederick.com/work/firefox/webdeveloper/ for what this is. It is possibly the most useful tool for helping with development of web apps I've used in years.

Well, since you brought it up : "compliance to standards" . I'd love to see IE be compliant. Been waiting for 8 years now...

Feh
# August 11, 2004 10:35 AM

Chris Szurgot said:

One reason I like Tabbed browsing is when I'm reading my list of sites in the morning that aren't RSS ready (yes, I still read some of those) and it's easier to do that when you can manipulate the browser windows within the same program instead of having to go to multiple windows to do it.

Look at it this way. RSS Aggregators were created to keep RSS feeds consistent, and you use Visual Studio to keep all of your development in one place, thing of this as the same thing. Logically grouping one task.
# August 11, 2004 10:51 AM

firefox said:

People are still talking about IE..who cares about it...what a joke.
# August 11, 2004 11:26 AM

lynn eriksen said:

Jeff, is there really anything in the .Net framework 1.1 that is missing that is a showstopper, that keeps things from rolling out? You can create updateable Smart Clients with it as it is now. You can do ASP.net authentication/authorization by writing your own controls and DB as it is now. You can use Enterprise Services to handle transactional components - right now. You can create your onw strongly type collections - right now. Lets take a further look into the future - why do Indigo if webservices works well now. Why do XAML if Windows Forms is adequate and improving. Why create the MBF? - I can roll my own components. Why do objectspaces? Why do WOE? Why should MS take the .Net platform further at all - after all 1.1 is very good. But if 1.1 is good enough, why are we .Net developers so eager to get our hands on .Net 2.0? Why were people so upset when objectspaces was delayed to longhorn?

Now, lets try this - why have full CSS 2.0 support in IE? Why have better JavaScript/DOM support in IE? Why support PNG transparency? Why support SVG? Why have tabbed browsing? Why have popup blocking? Why have improved security?

The same answers apply to IE that also apply to .Net - it's a matter of providing developers with the ability to provide a product that delivers greater value and an enhanced experience for end users. This acts to create a need for MS products - which is not wrong. An improved IE would not necessarily necessitate this, unless it was tied to Longhorn which would act as a selling point.

I'm tired of hearing about why IE is just fine - but everything else MS does needs to be improved. Lets stop kidding ourselves and admit that IE is not a money maker for MS and for the past 2 years has been quite a liability. This is why we don't see IE fever at MS like we once did. It's okay - but for MS to live in denial about this is absurd.



# August 11, 2004 11:29 AM

Jeff said:

Yeah, it's not a money maker and is a liability. So? Comparing developer technologies to the browser is like comparing a hammer to a Cray.

My point stands that IE is 99% adequate from a developer and use standpoint. It's a hammer.
# August 11, 2004 12:27 PM

Rob Chartier said:



Maxthon (MYIE2) is bloated? With this very blog page alone, loaded up in both browsers there is little or no different in memory utilization.

MyIE2/Maxthon is where its at. Tabbed browsing, a whole list of plugins, popup blockers, automatic searching and highlighting, undo, skins, the list goes on.

Anyone who is satisfied with the current version of IE and is still using it is crazy. Upgrade to Maxthon!
# August 11, 2004 12:28 PM

Jon said:

I appreciate having the "option" to use tabbed browsing. I use FireFox as my main browser mainly because it allows tabbed browsing and it has built in pop-up blocking without installing spy-ware (a.k.a. Google toolbar). I use IE because I develop ASP.Net applications and our company uses IE. I agree that IE is adequate for developers, but if some features from other popular browsers could be added into IE I might use it for things other than checking that my Intranet site will look good for Bob in Accounting.
# August 11, 2004 12:45 PM

Travis said:

"written from scratch" MS is too far deep into the current bloated codebase for a re-write. I doubt this will ever happen.
# August 11, 2004 2:37 PM

Jeff said:

ASP.NET doesn't need IE, save for maybe keeping scroll position on post-back (in which case I'd say your design isn't right in the first place to require that).
# August 11, 2004 3:45 PM

Lerch said:

I'm with Jon: I switched to Mozilla as my main browser at home because it runs substantially faster than IE on my system and because I've come to love tabbed browsing. I develop for an all-IE intranet at work.

You say, "The only real missing "feature" anyone could come up with was the lack of tabbed browsing. This, to me, is a weird cultural thing with Windows users. You are all aware that in Windows, we can have, well, windows, right? In addition to the comment about alt-tabbing about your applications, big and multiple monitors allow you to spread out Windows and move about them. It floors me that there are people that browse full-screen at 1280x1024.....I've never seen tabbed browsing as a feature because I never understood confining browser windows inside of another window."

To me your comments exibit a strange kind of bias, maybe a developer bias. Most users don't have multiple monitors. I run a 21 inch monitor at 1600x1200 and you're right, I don't run anything at full screen except for Visual Studio.NET, and that only when I've got the solution explorer, the class view, the code and the designer going. And besides...who cares what a user "should" do (i.e. use multiple windows and alt-tab or the icons on their start menu). If they want tabbed browsing, why not give it to them?

Beyond all that, I thought I'd tell you how I use tabbed browsing in Firefox. With IE, there would be times where I'd have twenty browser windows open, especially if I'm reading a news page like news.google.com or a zine like netsurfer digest or a blog like yours. I'll see an interesting link to investigate but want to keep reading the main text, so I right cllick or shift-click to open it in a new window (I do this so often that I programmed my wheel to be a shift so I could shift-click to open content in a new window with one hand). But again, then I'd end up with browser windows all over the place. If I got distracted or had to look something else up,

With tabbed browsing, I will usually sort of keep my browsing categorized. i.e. I'll have the blog and all the interesting links from the blog open in one browser, the zine and all the interesting links in the zine open in another browser, etc. Maybe it's silly, but I love it and wish IE had it.
# August 11, 2004 4:45 PM

Jeff said:

OK... so some of you want that feature, and you get it in other browsers. So why then are you looking for an upgrade if another product meets your needs?

And as for CSS compliance and table-less design, SuicideGirls.com is all tableless, works in IE and all other browsers I've tried it on, including Safari. Do they understand something about design that the rest of you don't?
# August 11, 2004 5:30 PM

Jon said:

You are correct that ASP.Net does not require IE, however, our company has "standardized" on IE as "The Browser" so I must develop for IE.

Other browsers do have the features I want and I do use them when given the choice. Some companies I have worked for will not let users install software and only let them use what the company has approved. Many times this means browsing with IE. So if I'm stuck using IE, why not ask for an upgrade for features I find useful?
# August 11, 2004 6:17 PM

Jon said:

Almost forgot: ASP.Net DOES require IE for client side validation. In version 1.0 and 1.1, client side validation will not work in Mozilla or FireFox. See this article for more information: http://aspnet.4guysfromrolla.com/articles/051204-1.aspx
# August 11, 2004 6:24 PM

Eric Newton said:

Personally, I'm not crazy about even trying to think about writing software that works "EVERYWHERE"

Avid works harder on making the product better instead of compatibility, I can dig it...

Never used it but I've heard its very good... so hopefully they'll fix the problem, but until then No SP2 for the Imagers!
# August 12, 2004 7:12 PM

Geoff Appleby said:

Looks good to me. Stringbuilder kicks ass, doesn't it? :)
# August 15, 2004 10:49 PM

Chad Myers said:

I'm more curious about AppendFormat(). How big of a hit does that take out of the works?

For example:

builder.AppendFormat("{0} \n", word);
# August 16, 2004 12:51 AM

Eric Newton said:

well, APpendFormat is obviously using String.Format under the hood, so there's a cost factor involved in tokenizing the "Format string" and inserting the values into the resulting string [which ironically uses StringBuilder itself! go figure... kinda like Alabama cousins]

Supposedly you can also use a string[] to build a set of strings, typically staggered as literal/changable/literal/changable etc and it's even faster than stringbuilder:

<code>
string[] full = new string[1000];
string[] test = new string[5];
for(int i=0; i <= 1000; i++)
for( int j=0; j <= 1000; j++ )
{
test[0] = "The current value of I is ";
test[1] = i.ToString();
test[2] = ". The current value of J is ";
test[3] = j.ToString();
test[4] = ".\n";
}
full[i] = string.Concat(test);
}
Console.WriteLine(string.Concat(full));
</code>
# August 16, 2004 2:20 AM

Aapo Laakkonen said:

In Java World there used to be huge debates whether to use string concatenation or StringBuffer class. Currently as Java compilers have got more mature these conversations doesn't arise as often as they used to. And, yes you get same performance with both techniques. Java Compilers replace repetive string concatenations with string buffers. I see no reason why this feature has not been implemented in .NET. If you ask me, StringBuffers have no use if you have compiler smart enough to deal with this issue.
# August 16, 2004 4:48 AM

Darrell said:

Jeff - works great if you have a developer that is actually going to append 1000 strings on different lines of code (hopefully even the slightest code review would catch that). If you have a lot of concatenations using the + command you will see using reflector that only 1 concat is called under the hood.

At some point in time the overhead of StringBuilder outweighs its usefulness. That is the point around which guidance need be given. I've heard somewhere around 5-10 concats is where StringBuilder gains enough of an advantage to use it. Your mileage may vary.
# August 16, 2004 10:35 AM

David Hayden said:

I can't agree more with Darrell.

A lot of the "religious" wars have to do with performance. We always here - don't use dynamic SQL, use stored procedures. Don't use foreach, use a for loop. Don't concatenate, use StringBuilder. Don't use the DataSet, use the DataReader. Don't access DataRow fields by column name, access them by index, don't use O/R Mappers, build your own data layer, etc., etc., etc.

Certainly it is important to know the trade-offs in performance when building the application, but it is important to know at what point one actually sees a performance hit and understand that the performance hit may be acceptable from a maintainability and cost standpoint.

Not every website is Match.com. Not every application is SAP.

You seem like a very pragmatic developer, so I suspect you will touch on those areas of reality when appropriate.
# August 16, 2004 12:20 PM

Nat Luengnaruemitchai said:

Try...

string.Join(" ",words) instead of the inner loop. Might be even faster :)
# August 16, 2004 1:19 PM

Jim Hughes said:

To be even more dramatic (and line by line code equivalent):

result = result + word + " ";

should read

result = result + word;
result = result + " ";

It's not fair to optimize the "bad" code! After all, the StringBuilder has to do it in two lines!

With my proposed change:

Before:
00:00:17.9078928
00:00:00.0100156

After
00:00:35.7356608
00:00:00.0100156
# August 16, 2004 1:53 PM

TrackBack said:

# August 16, 2004 3:31 PM

Frans Bouma said:

However:
string f = "Foo";
string b = "Bla";
string s = f + b;
beats:
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0}{1}", f, b);

Stringbuilder is not always 'the right way' ;)
# August 16, 2004 3:41 PM

Brian said:

What would you say is a situation where sprocs would be the "wrong" thing, and what would the alternative be (or have you covered this on your blog before?)?

# August 16, 2004 3:48 PM

Richard Dudley said:

I can think of one instance. if I were writing an assembly--say a DNN module--that would be used with one of several databases, I would be inclined to write a single data provider that used parameterized queries. This way, one DP could be used with MySQL, Access and SQL Server. No changes would be necessary other than a connection string in the .config file.

There are certainly efficiencies to be gained by using the special classes for SQL Server and sprocs. But, parameterized queries would provice much of the defense against SQL injection that sprocs do, and I could spend the time I save writing another assembly.
# August 16, 2004 4:20 PM

Brian said:

Thats a good point. Are there any reasons not to use sprocs in a SQL Server-only environment?
# August 16, 2004 4:24 PM

Jeff said:

I think you ask the wrong question. What's a good reason, other than preference? If I have an app that queries "SELECT Name FROM People WHERE ID = @ID" all day long, there is no measurable benefit to using a stored procedure.
# August 16, 2004 4:35 PM

rick said:

There's no hard rule for anything. Stored procedures are great unless you want highly dynamic queries or database independance. But, if you have an operation that includes multiple queries, I would much rather put that in a procedure.

Personally, I don't go for the database independant thing, I'd rather code my app to use the provider to its best abilities. I rather like .Net 2.0's DataSource controls.

The best thing is to evaluate your options and pick what's best for what you're doing.
# August 16, 2004 6:14 PM

Jon said:

One reason to use stored procs is to lock down the talbes in the database. You could deny INSERT, UPDATE, DELETE for a table and only grant EXEC to a few stored procs to handle inserting, updating, or deleting. This may seem paranoid, but in a production environment it would not be unreasonable.
# August 16, 2004 7:30 PM

Jeff said:

Paranoid is right. Seriously, if someone is clever enough to break into your system (particularly in a Web environment) to start executing whatever code, SQL security is the least of your worries.
# August 16, 2004 7:39 PM

Jon said:

It is called defense in depth and it can buy you some time if your system is ever compromised. In some cases I would rather err on the side of caution - particularly if the data is sensitive.
# August 16, 2004 7:54 PM

TrackBack said:

# August 17, 2004 3:49 PM

jayson knight said:

finally, someone else who thinks the same thing i do. the site looks almost amateur'ish. it's almost ruined the olympics for me as i never know what's on, or when. oh well...hunt and peck.
# August 18, 2004 12:18 AM

Eric Newton said:

dont do it for less money, do it for more because it would be better ,right?
# August 18, 2004 12:51 AM

Eric Newton said:

Jon: its paranoid to lock down every single table that way, although I'm not saying you specifically said that. Granted, there might be a "CreditCardTransactions" table that is highly sensitive, and in that case, you should only need an "INSERT" procedure... but all in all, you probably should be encrypting the data, storing it as varbinary so its also not recognizable on the wire, etc etc etc.

I believe in creating a sproc for a complex query, or one with a lot of parameters. Then the additional pain of versioning the sproc's interface is outweighed by the potential benefit of efficiency and speed.

Anybody who tells me you should only use sprocs for data access is gonna get a one finger salute from me.
# August 18, 2004 12:49 PM

Jon said:

Nice to know you're a flexible person. Anyway, I was not advocating the use of stored procs for data access to every table. Just because you have a hammer shouldn't make everything look like a nail. In design there are always trade-offs and I just wanted to point out that *sometimes* using stored procs for data access is the way to go.
# August 19, 2004 12:35 PM

TrackBack said:

# August 19, 2004 8:05 PM

Kulin said:

I thought SP2 was supposed to allow 2 users to login simultaneously. I've looked high and low but I can't seem to find any options that enables that. Did they end up not going with it after all?
# August 19, 2004 8:40 PM

anon said:

Might be SP2 limiting the number of incomplete outbound connections. It will have a max of 10. Check your system event log.

http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/sp2netwk.mspx#XSLTsection127121120120
# August 19, 2004 8:47 PM

Aapo Laakkonen said:

I'm not sure, but I can see a few problems with this:

1. It doesn't scale as the threads are all from the same thead pool (ie. it takes thread from the same pool that ASP.NET uses, I think). And you don't own the pool, so you cannot explicitly say what's happening.

2. It prevents Garbage Collection, in your case the whole object is hold on memory until you explicitly free appHandles.

3. I'm not sure where your mailer needs HttpContext. Could you just instatiate new object with the parameters you need and execute it as a thread (but take the thread from somewhere else or you are not gaining anything in scalability, only in response times)? I think that this is a good place for Message Queue, eg. MSMQ.

You should also know that one single request can be handled by multiple threads in ASP.NET. (That's why you cannot use [ThreadStatic] attributed data types in ASP.NET.)
# August 20, 2004 2:38 AM

Daren said:

Jeff, Data Execution Prevention is currently a SP2 + AMD64 feature, as it requires cpu support, Intel are adding it later in the year i believe.

Kulin, I think the 2 logins was mainly to boost smart screen sales, but as they've been shelved, i guess that got shelved too, shame cos i was looking forward to that feature too.
# August 20, 2004 3:03 AM

Jeff said:

The mailer needs the context to get settings and cached items.
# August 20, 2004 3:04 AM

Jeff said:

Not true... I realize that the AMD's do this in hardware, but this is being plugged as a software version of that.
# August 20, 2004 3:05 AM

Aapo Laakkonen said:

> The mailer needs the context to get settings and cached items.

So, can you just retrieve those settings? Can't you get the settings by using ConfigurationSettings.AppSettings for example? Or what do you mean about settings? What about cloning those objects that you need in a child thread?

Keep in mind that your child thread does not own HttpContext, so it should not try to modify it. And the HttpContext is meaningless after main thread finishes the work. HttpContext is only maintained by ASP.NET threads (so that the threads (the ASP.NET threads) that process the request (one single request) can share data throught HttpContext. I don't know how it's implemented and even if I knew i would not depend on it.

Executing your own threads in Web environment (ASP.NET, Java Servlet, etc.) is hardly ever a good idea. I think that you should redesign the code so that you don't have to do that.

There are many choices:

- Message Queues
- Separate Service that polls eg. file system or data base changes on timely fashion.
- Database might provide some tools
# August 20, 2004 3:52 AM

Jeff said:

It frequently needs to get data from Application and Cache.

You say that it's "hardly ever a good idea," and not to use HttpContext, but you don't give any reasons why. I'll take your advice if you give me a reason, but "I say so" isn't really a reason.

In fact, this technique is used quite a bit in the ASP.NET forums, only without the handle. I'm not sure why it works for that app without it but not mine.
# August 20, 2004 10:22 AM

Aapo Laakkonen said:

> You say that it's "hardly ever a good idea," and not to use
> HttpContext

I say, it's hardly ever a good idea to execute your own threads in a web environment. And I say that you should not use objects that are not managed by your own thread or thread pool. I mean it as a general principle. It's not written on a stone and you can do whatever you want, but these are dificult things to handle properly as you cannot know what happens behind the scenes (and the behavior can change - eg. configuration, multiple processors, asp.net version). And HttpContext is particularly bad example. HttpContext is object for a request.

Example:

(Note: HttpContext Encapsulates all HTTP-specific information about an individual HTTP request.)

1. Request comes In (RequestContext is Created and it has a meaning)
2. You start your own thread and pass a HttpContext to it.
3. Main thread continues other stuff / Child thread does its stuff
4. Main thread ends. REQUEST ENDS!
5. Child thread continues its stuff
6. Child thread uses HttpContext

WHAT CONTEXT? There isn't any request anymore, it was served and gone and the child thread missed the train.

This was my point.

> In fact, this technique is used quite a bit in the ASP.NET
> forums, only without the handle.

Umm... Can you so my some code?
# August 20, 2004 11:32 AM

Yves Reynhout said:

There's nothing wrong with doing multi-threading in a web application. The availability of the HttpApplication, the Cache and the curent HttpContext is something to be concerned about.

With GCHandle.Alloc you're effectively prohibiting the GC from collecting the HttpContext (but this technique is normally used from unmanged code). Why aren't you passing a reference of HttpContext.Current to your thread (via a worker object)? Here's a little console app that demos the technique (not using HttpContext ofcourse). Even though my main thread dies, the Context object is not collected because another thread is holding onto it.

using System;
using System.Threading;

namespace ThreadTester {
class Default {
[STAThread]
static void Main(string[] args) {
new MyWorker(new Context());
Console.ReadLine();
}
}

public class Context{
public DateTime Then{
get { return _then; }
}DateTime _then = DateTime.Now;
}

public class MyWorker{
Context _context;
public MyWorker(Context context){
_context = context;
Thread thread = new Thread(new ThreadStart(DoWork));
//thread.IsBackground = true;
thread.Start();
}
private void DoWork(){
while(true){
Thread.Sleep(TimeSpan.FromSeconds(5));
Console.WriteLine("Now:{0} Then:{1}", DateTime.Now, _context.Then);
}
}
}
}

And here's the "same" code in a web app:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Threading;

namespace ThreadTester {
public class MyWorker{
HttpContext _context = null;

public MyWorker(HttpContext context){
_context = context;
Thread thread = new Thread(new ThreadStart(Run));
thread.Start();
}

public void Run(){
while(true){
System.Diagnostics.Debug.WriteLine(String.Format("Now:{0} ApplicationCount:{1}", DateTime.Now, _context.Application.Count));
Thread.Sleep(TimeSpan.FromSeconds(2));
}
}
}

public class WebForm1 : System.Web.UI.Page {
private void Page_Load(object sender, System.EventArgs e) {
new MyWorker(HttpContext.Current);
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e) {
InitializeComponent();
base.OnInit(e);
}

private void InitializeComponent() {
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
# August 20, 2004 1:02 PM

Eric Newton said:

since it seems all you want is the Cache, which lives through any Context's, why dont you just reference the Cache at the beginning instead of all this potential problematic code?

Init
{
MyStaticCache = HttpContext.Current.Cache;
}

because if you try to use the Context.Request or Context.Response you'll basically be in undefined territory...
# August 22, 2004 1:47 PM

Jeff said:

What's problematic about it? The last version works and works fine.
# August 22, 2004 2:21 PM

Jerry Pisk said:

Bye bye blind and vision-deficient users. You're not welcome.
# August 22, 2004 2:33 PM

Jeff said:

I guess they'll have to e-mail someone to get registered. I've had too many automated attack attempts to not do something, so if you have a more clever solution, do let me know.
# August 22, 2004 2:43 PM

TrackBack said:

# August 22, 2004 3:24 PM

matthew said:

please use an in-memory temporary table. it is much faster. (declare table @blah (gfghfghf int, gfdfgfd bigint))

you are using disk temp tables here
# August 22, 2004 9:38 PM

Jeff said:

This appears a better alternative:

DECLARE @Sort datetime
SET ROWCOUNT 5001
SELECT @SORT = LastPostTime FROM Topics ORDER BY LastPostTime DESC
SET ROWCOUNT 30
SELECT * FROM Topics WHERE LastPostTime >= @Sort ORDER BY LastPostTime

As mentioned in this article:
http://codeproject.com/aspnet/paginglarge.asp

The flaw is that it doesn't work right unless the sorting column is unique, but somehow I can't imagine that any two topics would be updated the same millisecond. I'll give the cursor method a shot too.
# August 22, 2004 10:55 PM

Don Newman said:

As long as there are other means to make a site accessible for registration, I wouldn't consider that a faux pas. I know that I tend to forget about accessability in a site and probably have far too many graphics without alt tags. For sites that use graphical buttons for navigation, that would be a far greater mistake.

DoS attackes come in many forms now. I blame the people behind those for making the internet a more difficult place than it has to be. Maybe the solution would be to simply have everyone get a digital signature with which they could apply for a license to connect to the internet which would then be registered with their ISP to gain access. Do bad things and your license gets revoked. Now which would be worse, a policed internet or a site requiring visual ability?
# August 22, 2004 11:53 PM

Frans Bouma said:

@Matthew: no that's a myth. A temptable is faster with bigger resultsets.

@jeff: with a table with 2 pk fields it gets trickier. Also, if you want to sort your results (some people want that) on a given set of fields it is not working. This means you have to create 'special cases' code for these cases, which is not preferable.

---
However, most paging solutions work without a big problem in most cases. You see, the people who test them try to page through a table with hundreds of thousands of rows and then say 'this one is faster/slower'. But, in practise, no-one will do that. You will filter on the 100,000 rows and page through that resultset, which is most likely a lot smaller.
# August 23, 2004 3:57 AM

Brian said:

Here is the way i see it. Bob downloads the video game, being the hacker / gamming fanatic he is, has to be on top of all the latest games. Downloads it and plays it. Sees how awsome the game is ( or any other software for that matter) and then tells all his friends how awsome this game is. lets say he tells 10 people, 3 of which are computer guru's so those 3 download the game, but the other 7 decide oh i guess i should get the game since bob said its awsome and bob knows what games are good. so those 7 people go and buy the game, and they tell their friends. So now we have 10+ people who have the game, But they wana go play together and typically, pirated games cant be played together atleast not online, so those 7 people and their friends who bought the game get to play, but bob can either 1 buy a copy, or not play with his friends. Either way from 1 person downloading the game ahead of time, or even after it came out, since he told his friends people who were less inclined to buy the game now bought it. There for Piracy is not all that bad. There is a reason why software is so expensive. The software manufactures know that people are going to download or copy their software, so to compensate that inrease the price 2-4 times the amount they want to sell it for. Now on that note. CD's cose pennies to make, and "program" the software onto it. The millions of dollars they spent making the software with a cost of pennies per copy, they make back the money anyways. Just not as much but they still make a profit. If they didnt make a Profit then the companies would be out of business. Windows XP, was downloaded way more times then Doom3, and you dont hear Bill gates complaining. ( he is just incoded the new service packs with the famouse illegal serial numbers and doesnt allow them to be installed) He is smart. Instead ot Crying he solves the problem by making patches not work for Illegal copies. Even tho MANY people think that piracy is bad, it does have its benifits.
# August 23, 2004 4:26 AM

matthew said:

frans do you have any benchmarks, and can you define 'big'? And does it depend on the amount of RAM in your server.
# August 23, 2004 4:44 AM

Ramon Smits said:

YOu could speed up your query by definining a primarykey in your temp table. This will speed up the join operation in the second query because the optimizer will use the sorted unique ID column of your temp table for lookups. Maybe not that noticable with a pagesize of 30 but will be evident with larger page sizes.

Also make sure that you have an index on the table to be paged for each kind of search path you use in your application. Use indexed views if possible.. Those will need more space in your database but will speed things up dramatically. But don't do this when you have very frequent inserts because all indexes and indexed views will have to be updated after each insert query.
# August 23, 2004 4:54 AM

Ramon Smits said:

It could also be important that the user is notified after an insert query has been run while the user is paging through the resultset of its original searchpattern.
# August 23, 2004 4:57 AM

Ron Buckton said:

I have a post here (http://blogs.chroniclesdesign.com/rbuckton/archive/2004/08/23/150.aspx) and an article here (http://blogs.chroniclesdesign.com/rbuckton/articles/SQL2000ServerPaging.aspx) which have some useful information to help with paging, if anyone's interested
# August 23, 2004 12:11 PM

Jerry Pisk said:

E-mailing doesn't sound so bad, just e-mail the user a link that will complete the registration. But that has another problem - you will have to disallow multiple registrations from a single e-mail address and even then it will still allow your site to be turned into mass mailing beast.

What you could do is to pick random names for your input fields and include encrypted BLOB with those names and something unique (such as the request IP address or current time) in a hidden field.
# August 23, 2004 1:17 PM

bertcord said:

When you use memory tables parallelism is disabled…so if you are working with large sets of data for example 10millions rows it is better to use #tables
# August 23, 2004 1:55 PM

Sonny Bugarin said:

My name is Sonny Bugarin and I am from Charleston, South Carolina. I am a Bronze Certified Freestyle Wrestling Coach. Wrestling is not the most popular sport in South Carolina, but I am doing my best to promote the sport in my state. I have taken wrestlers to compete in local, regional, and national events. I have been discouraged to see the amount of coverage in the women's wrestling competition. The coverage has been sparce with only one preliminary match and one final match. Some highlights have been shown. I hope the men's wrestling will be given more coverage, so that the sport of wrestling will be seen throughout the world. Wrestling is the toughest sport mentally and physically. If you have ever been a wrestler, you would definitely know what I mean. I feel like I have been "cross-faced" by the NBC network. Does anyone know the e-mail, so I can let the NBC station know my concerns? (The NBCOlympics.com is not working)Thanks!
# August 23, 2004 7:54 PM

don@ghostdev.ca (Don Newman) said:

I was under the assumption that they were just changing the default provider since the capability to support Access was already present. After reading their changes, I would understand it is being removed, but may only be for beta 2. Maybe their assumption is there is no need to support access since anyone deploying ASP.Net would also deploy support for SQL Express (if it isn't already built in).

You did get my attention with this post since changing the default provider was actually a suggestion I submitted. I would have felt bad creating such a hassle for you if their response didn't imply that it was already in the works.

How close is your book to completion and when is anticipated availability? As I hope to be an early adopter of ASP.Net v2 I look forward to the availability of hard copy reference material. If you find yourself looking for early reviews from unheard of programmers keep me in mind.
# August 23, 2004 8:30 PM

Jeff said:

I can forward your details to the publisher, if you like.

It's not a huge issue if it changes, because what I wrote had more to do with creating your own providers than using the default Access provider. I'm still really surprised by this because having the framework just mystically generate and Access file sure was a nice feature for small sites.

Not sure about a release date for the book. I assume sometime in 2Q05, but the thing I'm learning about publishing is that it's a very fluid process.
# August 23, 2004 10:36 PM

Fredrik Normén said:

The Access provider will be removed from the product. They removed it because the Jet database engine is not suitable for a server environment, and they need to point folks at more robust technologies like MSDE, and Sql Server Express 2005.

Microsoft will post the Access providers and their code on the www.asp.net at some point during the Whidbey ship cycle. This means the Access providers will be available out-of-band from the framework, and that once we release the code they will not be officially supported by the framework.
# August 24, 2004 12:26 AM

Yves Reynhout said:

Could you please state what the HttpModule does and what the timer has to do with it, because right now I don't get it. Seems like every minute you want to do something. How does it correlate to the current Request?
In your previous post I assumed you where talking about doing an async "mailing" operation (from normal System.Web.UI.Page code), in which case the samples I provided were adequate (and the recommended way to pass objects to other threads).
# August 24, 2004 2:09 PM

Jeff said:

It has nothing to do with the request. In fact, it doesn't even need to be about mailing something. The goal is was to be able to get the cache object from objects spawned to their own thread, whether that be via a page or from an HttpModule. The secondary goal of that was to get application configuration from web.config in these same objects. As I said, the last example works. To be more clear:

// HttpModule
public void Init(HttpApplication application)
{
myTimer = new Timer(new TimerCallback(this.TimerMethod), application.Context, 60000, 60000);
}

static Timer myTimer;

private void TimerMethod(object sender)
{
HttpContext context = (HttpContext)sender;
MyClass.StaticMethod(context);
}


// MyClass
public static void StaticMethod(HttpContext context)
{
Cache cache = HttpRuntime.Cache;
System.Configuration.Configuration config =
System.Configuration.Configuration.GetWebConfiguration(context.Request.ApplicationPath);
}
# August 24, 2004 3:05 PM

b allison said:

yea I agree
# August 24, 2004 3:27 PM

Scott Allen said:

So everyone has code to prevent the Content from being collected, but what happens to resources the Context holds references to that are Disposed by the ASP.NET runtime because the request is finished? I think it's a tricky area to work in.
# August 24, 2004 3:56 PM

Jeff said:

# August 24, 2004 4:48 PM

TrackBack said:

# August 24, 2004 4:48 PM

claire said:

Yep... I agree. I'm a synchronized swimming fan. Just today the listing (yes it did say that this was coming on but between 4 and 7) Yesterday NBC only showed four duets - now we're only talking about two minutes for each set. But how much time was spent on whether or not Paul Hamm should give back his gold medal? Why can't some of that commentary time be spent on allowing us to see some of the "less important" activities. We really do not need any additional commentary because the commentary that goes on during events is good enough.
# August 24, 2004 5:57 PM

Chris Hammond said:

Interesting.... Thinking it's the most active sites on the net?
# August 24, 2004 11:31 PM

Damian said:

It's strictly pagerank, because every link to them contains "http"
# August 24, 2004 11:42 PM

Jerry Pisk said:

I thought pagerank would be a little smarter than to consider protocol specification to be a part of the link. It's a little different than using http in the link text.

As for Jeff's answer: just go to the source - http://www.ietf.org/rfc/rfc2616.txt (HTTP 1.1 standard).
# August 25, 2004 1:34 AM

Andrew said:

Search for "define:http" next time ;)
# August 25, 2004 2:12 AM

Daren said:

Jerry, You just demonstrated why it is, your link text to ietf.org contains http ! :)

# August 25, 2004 3:54 AM

Fabrice said:

You can also search for www or com...
# August 25, 2004 4:44 AM

Earl A. said:

I KNEW I wasn't the only one thinking that NBC as a whole SUCKS!....This is the first time in my 50 years that I haven't seen Weight-Lifting and Wrestling on Prime Time! I could give a SHIT about Gymnastics at this point in time (8-25-04)...In Fact! NBC needs to change their name to 'NBC UNLIMITED GYMNASTICS COVERAGE'....Thanks to NBC, not only does 'NBC SUCK', but so does 'GYMNASTICS'...You can't keep consuming the same food source everyday you fricken MORONS!!!!!!!!
# August 25, 2004 4:46 PM

Earl A. said:

NBC has always 'SUCKED'! Paul Hamm also sucks!...People...Not only did he fall down, He al most rolled across the Judge's Table!...HELLO! He also needs to work on his idiotic voice! This is great...NBC is going to have Super Heavy-Weight Weightlifting on at 11:30-12:00(thereabouts)! Yow right! I'll set my recorder while I sleep, but remember to catch updates on paul HAMM and Beach Volleyball on Prime Time! Going a step further on how I've always felt about NBC....'EAT ME!'
# August 25, 2004 4:59 PM

Kevin said:

Its a software version that requires hardware support to work. This feature will not work (as far as everything I've heard) unless you have a processor and possibly mobo that supports this feature.
# August 25, 2004 9:19 PM

Jeff said:

That's not correct. Read the help file.
# August 25, 2004 11:58 PM

Delia M Fragoso said:

My problems is that NBC advertized that they will cover all sports , They have on the
schedule some sport in Bravo or USA and when you go to them all you see is some so called celebrities playing poker and trying very hard to be funny or in another
nbc station all you see Queer eyeinstead of what shows in the TV GUIDE.
# August 26, 2004 11:02 AM

meg nakamura said:

I think the olympic coverage is fine and there are several networks to pick from. What I object to are the stupid sports that are included in the olympics. Scnchronized diving ? I haven't meet a single person who doesn't think that synchronized diving is idiotic. Wind sailing, beach volley ball. I love to watch swimming, but I don't need to see every preliminary race. Just show me the finals. My biggest complaint about the olympics this year is that I have seen enough butt cheek to last me a lifetime. The track and field participants run in underpants. When they finish the race, they bend over and kiss the track. Then their coach picks them up around the waist causing the pants to ride up even higher. Yuck! The same goes for the female divers and gymnasts. Their butt cracks are barely covered.As for those itty bitty speedos that the guys wear, some day something is going to pop right over the waist band. Come on athletes, cover up! You are not that hot.
# August 26, 2004 12:15 PM

Zan said:

Jeff. Could you please add some substance to your side of the argument. You can't just say, ' that's the dumbest thing I've ever heard,' or , 'that's such a typical response from someone like you' (both paraphrased). You just seem to hold this arrogant position of your opinions and don't feel the need to back it up with actual arguments or points. Also, trying to discredit someone's argument by pointing out grammatical errors is just a lazy way to try and get the upper hand on an argument. People who are passionate about a topic (and usually have a more intelligent or informed opinion) tend to type faster which leads to an increase in typographical errors and grammatical errors. On a side note, I think pirating software can definitely be beneficial to software companies through free promotion, especially with the ease of checking for pirated software in online games. I have often seen a game that looked shitty and then saw it for download. I got the game, played it, and found out that it wasn't too bad. Then, I bought the game and told my friends about it who also bought it. It's not a rare occurrence to see an increase in sales because of this free promotion. It's just hard to gather objective data to prove it. Also, fuck downloading free music. Someone stole my CD's and I got them back for free. Metallica, you already got my money; piss off.
# August 26, 2004 8:23 PM

DagH said:

Actually, a refresh of the Beta 1 is under way - so watch for it do appear on MSDn in a matter of hours or days.
# August 27, 2004 3:44 PM

DagH said:

Also, see a press release on Longhorn and WinFX released minutes ago:

http://www.microsoft.com/presspass/press/2004/Aug04/08-27Target2006PR.asp
# August 27, 2004 3:45 PM

Jason Haley said:

I agree. It really suck about what they did with techtv, the only reason I bought the extra package was to get techtv...now they are gone I need to cancel that package and get some money back from comcast!
# August 27, 2004 9:43 PM

Steve said:

I "earned" 21 invites in the past 4 days, so I'd have to agree - I don't know if they're ready to go live, though, since some of the big items on their todo list (better contact list for one) haven't shown up yet.

-Steve
# August 29, 2004 3:35 PM

scottgu@microsoft.com said:

Hi Jeff,

The SQL Provider that ships in Beta2 will automatically generate a .mdf file in the data directory for membership, roles and personalization if another sql connectionstring hasn't first been provided. The only difference is that it will be using the SQL Express engine instead of Access (this is much more scalable and robust). It also makes it easy to upgrade to full-blown SQL if you want to as well.

Right now I don't think there is any easy way to create a SQL Express version of membership, role management and personalization with B1. There is an aspnet_regsql.exe utility that ships in the framework directory (underneath windows\microsoft.net\framework\v2.0.40607). This will let you create the membership, roles and personalization databases on a SQL Server installation. You can then point to it from the providers section of your web.config file.

Hope this helps,

Scott
# August 29, 2004 4:03 PM

TrackBack said:

# August 30, 2004 9:42 AM

Thom Allen said:

unless you just got a new gmail account, they you still have that NEW gmail smell!
# August 30, 2004 3:22 PM

Fredrik Normén said:

Jeff:

The SetPropertyValues method is called when the Save method of the Profile class is called, by default this is done during the Application_EndRequest event. The Profile uses a HttpModule (ProfileModule) for the Profile feature. This hooks up to the AcquireRequestState event and the EndRequest event:

Application_AcquireRequestState - When this event is executed, the Profile loads its data
Application_EndRequest - When this event is executed, the Profile will save its data.


# August 31, 2004 1:04 PM

B111 64t35 said:

I never buy software. It's free on the net (IRC). Why should I? I just keep it at home and never bring it into work. Well almost never. I only use it for educational purposes. Since I'm almost poor it's just a matter of survival for me. I have no choice but to learn my trade using software and I am not going to pay for it - no way. I live underground and always will. Never file for taxes. Never pay for software. No drivers license and no insurance. Haven't had insurance in my entire lifetime. Duhhhhh - how do you think people lived before 1900???? How could they have survived without insurance? lol Dont need that either. Since I have no assets no one thinks of suing me and wouldnt get anywhere if they did. I can skip town faster than you can say ? Where'd he go? But I am not wanted by the law - just a few bill collection agencies. I live and survive in spite of the system's weird laws. I skirt them and their cops. Haven't been caught in 30 years and intend to keep on keeping on this way forever. You really think MS is suffering because of me? I dont care. Let 'em suffer. lol Live and let live. Survive and prosper. No one leaves the planet alive so enjoy it while you can. Software or no software - who cares?
# August 31, 2004 9:09 PM

DmmH said:

Jeff is correct :)
# September 3, 2004 3:02 AM

Eight said:

Turn off SP2's firewall and all should be good
# September 3, 2004 11:11 AM

Kulin said:

Mozilla/Firefox have a neat-o plugin - AdBlock - that has been working superbly for me so far.

When I have to use IE, I have both the SP2 and the google toolbar's popup blocker in place.
# September 7, 2004 2:14 AM

Shannon J Hager said:

Do you have an example URL?
# September 7, 2004 1:49 PM

Jeff said:

Pick a site with FastClick ads.
# September 7, 2004 4:29 PM

Carmen said:

I have to agree with you. I really enjoyed the fact that I could read entire posts from different blogs, all on one page. And the list of bloggers disappeared :( too.
# September 8, 2004 1:01 PM

Darrell said:

Check out Scoble's explanation of why:

http://radio.weblogs.com/0001011/2004/09/08.html#a8195
# September 8, 2004 1:16 PM

Shannon J Hager said:

Do you have an example URL of a site with FastClick ads?
# September 8, 2004 5:28 PM

Travis said:

You need to use http://www.bloglines.com !

Available on all your computers, and saves TONS of bandwidth.
# September 9, 2004 10:15 AM

Rob Howard said:

Please be patient we are working on this :)
# September 9, 2004 2:22 PM

TrackBack said:

# September 9, 2004 3:37 PM

Jason Mauss said:

Some suggestions...

1. "ASP.NET For Developers"
2. "Advanced ASP.NET"
3. "Web Development with ASP.NET 2.0" (you covered 2.0 right?)
4. "Inside ASP.NET 2.0"
5. "Web Developers guide to ASP.NET"
6. "Understanding ASP.NET 2.0"
7. "Jeff's ASP.NET 2.0 Junk"

The list goes on really...just look at existing titles for ASP.NET 1.0 topics and I'm sure you could find a suitable match...

# September 9, 2004 11:53 PM

TrackBack said:

# September 9, 2004 11:58 PM

Shannon J Hager said:

I don't think this is what you're talking about, but it's still annoying.

http://www.fastclick.com/demo/invue.html
# September 10, 2004 3:33 AM

Stefano Demiliani said:

Interesting... Who will publish this book?
# September 10, 2004 4:27 AM

Gert Van Gool said:

"ASP.NET 2.0 inside out"
# September 10, 2004 5:22 AM

Jeff said:

The publisher is the one that publishes a lot of really cool .NET titles right now. It's probably not my place to say who it is until they decide to announce it.
# September 10, 2004 8:36 AM

cookie said:

Set vms := false and you'll be fine
# September 10, 2004 1:43 PM

jax said:

cookie, you must set oledvms := 0 too
# September 10, 2004 1:45 PM

remember me said:

keep erasing "putz" I'll keep writing besides your radio dialogue did suck and your snow football talents were lacking hows this for a title "how to be a computer PUTZ like me" I can do this all day long, seen campus fish not bad but lacking a certain aura also they are hammering you on other coaster pages for you being you. I am glad you are succesfull don't get me wrong but no one wants to hear in every other blog your woe is me I made a 6 figure income Bullshit. I tapped that amount last year but I don't spread it around like KY on your "Putz". wow I can't remember the last time I had so much fun with a word- from now on you are my new stress friend, I can write to you anytime and kick you in the balls. Lets call it our friendly nutsack smack. You can do it as well feel free to hammer me it may make all those depressing feelings you have at times about food or family or how gay coaching volleyball is. remember real sports powder puff!! well gottaq go back to the corporate lifestyle it feels good to be childish before an important meeting on Friday and then a meeting out of town on Monday-- Refreshing---don't forget to erase this Jeff I will write again soon- See you in Medina--sucker
# September 10, 2004 3:31 PM

Jeff said:

Nothing is more manly than people who dog others anonymously. Nothing is more sad than so-called adults that try to tear others down anonymously to compensate for their own lack of self-esteem.
# September 10, 2004 3:51 PM

Eric Newton said:

"I hate that there isn't a DirecTV receiver on a PCI card so I could record MPEG right off the bird."

-- i think that's because of Hollywood/"the Content providers"... they dont want bit-for-bit perfect copies floating all over, same reason TiVo's recorded streams are encrypted and have only recently been "hacked"

But once its hacked, its Digital TV the way its supposed to be... clear, watchable anytime, and so forth
# September 13, 2004 3:13 AM

Raj Das said:

Creating you own threads from a Web app/ASP.NET is a generally not a good idea (but possible) because of the non-deterministic nature of the number of threads that will be running. ASP.NET maintians a thread pool with a specified maximum for a reason, allowing an infinite number of threads to be running is a deterimental to performance and scalability. For example, an ASP.NET with a single page with 25 worker threads servicing N number of clients/requests will never have more than 25 threads running. If that page creates a single thread during its processing, than you will have N*2 (potentially) active threads. It is my understanding that when you creat a thread manually it does not come from the ASP.NET worker process thread pool.

This may be ok for your application, say 1000 users in geographically diverse locations - not all 1000 at a time. May even be ok if they all access the page simulataneously with sufficient hardware, but I don't consider having 2000 threads running on my server a good idea (in general). Take a look at the CPU performance counters to test the effects.
# September 14, 2004 2:07 PM

Jason Mauss said:

I think there's one more thing you did not mention.

I think that for many coders that understand "the business" - also understand there's much more $$ to be made by being an independant contractor/consultant than to be an employee. Thus, they go out on their own, start their own consulting practice, etc. rather than staying with those continually "looking for a job" whether it's at IBM, Microsoft or some lesser-known ISV.

Some coders are content being employees and likely won't ever grasp the importance of knowledge outside the realm of coding, databases, and what not. Then there are those that have career goals much higher than that, which is where you get book authors, successful consultants, conference speakers, ISV owners, IT management, etc.

it's probably just the difference between being an INTJ and an ENTJ, some might say.
# September 14, 2004 2:36 PM

Jeff said:

While I get what you're saying, generally speaking I'm talking about creating one thread via a Timer for the entire application, not individual new threads for each user.
# September 14, 2004 3:44 PM

AndrewSeven said:

In general, only if you are good will your own 6 month old code make you humble.

There are people who write code "the same" for years; the code they wrote today is of the same quality as the code from 6 months ago.
# September 14, 2004 10:12 PM

TrackBack said:

Will's Blog - Adventures of an IT Grad &raquo; Programmers with Business Smarts
# September 15, 2004 1:19 AM

secretGeek said:

Hi Jeff

that anonymous commenter above is a real freak. you could *seriously* consider putting the police onto him.

hmm. Anyway -- i wanted to suggest some book names.

i think "Intermediate ASP.NET" is not very appealing. As someone said "When you stand in the middle of the road you get hit by traffic on both sides"

A superlative term like "Master", "Power" "Hardcore" "Sexy" "Enriching" "Enriched" "Full Blown" "In Depth" or "Super" may be more effective.

The danger is that it will target the wrong audience -- but consider the psychology of the individual.

Even people who are at best "intermediate" would rather buy a book that proposes to make them a "master". No one says "Oh great! This book will take me from beginner to intermediate" -- there's no excitement in that. And no sales.

And people who already consider themselves a "master" will doubtless have lots to learn from your book.

Okay a lot of the suggestions I gave are *too* superlative -- but i think you could find adjectives that are interesting, provocative and ambitious without sounding as pompous as those is suggested.

best of luck -- hope it does well!
lb

# September 15, 2004 9:09 PM

TrackBack said:

# September 17, 2004 3:15 PM

Daren said:

Jeff, when is the "target release date of v2.0 beta 2" ?
# September 18, 2004 11:07 AM

Matt Spong said:

On my machine, Firefox stores its bookmarks in C:\Documents and Settings\$user\Application Data\Mozilla\Firefox\Profiles\default.bnt\bookmarks.html
# September 18, 2004 12:55 PM

Stefano Demiliani said:

The bookmark and all your profile is stored as default under C:\Documents and Settings\YourUserName\Application Data\Mozilla\Firefox\Profiles\
# September 18, 2004 12:55 PM

adamw said:

Firefox bookmarks are in C:\Documents and Settings\USERNAME\Application Data\Mozilla\Firefox\Profiles\PROFILENAME\bookmarks.html. If you backup, you might want to just take the entire Profiles folder, so history etc are also saved.

Now you've using firefox, I highly recommend both the Adblock extension, and mouse gestures extensions. Both of these can be obtained with the "Get More Extensions" link in Tools->Extensions.

Welcome to modern, crapware free browsing!
# September 18, 2004 1:29 PM

Dan Bright said:

[SystemVolume]:\Documents and Settings\[username]\Application Data\Mozilla\Firefox\Profiles\default.[3 random characters]\bookmarks.html
# September 18, 2004 1:49 PM

Cortex said:

C:\Documents and Settings\<<USER NAME>>\Application Data\Mozilla\Firefox\Profiles\default.9wo\bookmarks.html
# September 18, 2004 2:26 PM

Shannon J Hager said:

I am not totally sure about the bookmarks storage but there is a bookmarks.html and bookmarks.bak in C:\Documents and Settings\[Username]\Application Data\Mozilla\Firefox\Profiles\default.29h\

on my computer.

I don't think the browser wars are about hating MS nearly as much as about hating the time since the last good functional progress in IE. Web developers have to continuously make the choice between
1. making 2 (or more) versions of sites like when netscape pushed their proprietary tags onto the web world
2. write for the W3C standard, assuming that IE will one day make changes to support more of the W3C standard
3. write for IE, assume MS will never fix their W3C support

I don't like choices 1 or 3, so I split the difference between 1 & 2.

Tabbed browsing, etc, can be using with IE via programs like Maxthon, but for the most part, when you say "better browser", IE is not going to be at the top of the list, not for political or emotional reasons, but because it is the standard-bearer of 1999, the highwater mark 5 years ago, and (until the pop-up blocker in SP2), there has been no progress since then.
# September 18, 2004 3:07 PM

css said:

Try looking in:
C:\Documents and Settings\%username%\Application Data\Mozilla\Firefox\Profiles\%profile name%\bookmarks.html

You can also backup your bookmarks easily by going to Bookmarks > Manage Bookmarks > File > Export

Here are some of my favorite extension that you might want to check out:
AdBlock
http://update.mozilla.org/extensions/moreinfo.php?id=10

Download Manager Tweak
http://update.mozilla.org/extensions/moreinfo.php?id=256

Disable Targets for Downloads
http://update.mozilla.org/extensions/moreinfo.php?id=241&vid=635

User Agent Switcher
http://update.mozilla.org/extensions/moreinfo.php?id=59&vid=617

IEView
http://update.mozilla.org/extensions/moreinfo.php?id=35&vid=769

FirefoxView
http://update.mozilla.org/extensions/moreinfo.php?id=223&vid=618

BugMeNot
http://update.mozilla.org/extensions/moreinfo.php?id=64&vid=721

Single Window
http://update.mozilla.org/extensions/moreinfo.php?id=50&vid=673

Mozilla Calendar (since I don't run as admin and don't use Outlook, this is really convenient)
http://update.mozilla.org/extensions/moreinfo.php?id=208&vid=525

Java registration for Firefox
http://jdl.sun.com/update/1.4.2/j2re-1_4_2_05-windows-i586.xpi

Good resource: http://plugindoc.mozdev.org/faqs/firefox-windows.html
(you'll need to register flash and shockwave with Firefox if you want them)

Tips & Tricks
http://forums.mozillazine.org/viewtopic.php?t=113480

FAQ
http://forums.mozillazine.org/viewtopic.php?t=29534

I've been using Firefox since .8 and it only gets better and better with each release. I hope you enjoy your experience.
# September 18, 2004 3:35 PM

Bryce said:

Bookmarks are stored in the "bookmarks.html" file found in your Firefox profile directory (%homepath%\Application Data\Mozilla\Firefox\Profiles\{random dir}\)
# September 18, 2004 4:38 PM

Richard Tallent said:

No need to bother with where the bookmarks are at all. Just go to the Bookmark Manager (Bookmarks menu) and select File:Export to create an HTML file that can be imported again in the future if needed.
# September 19, 2004 7:44 PM

Jeff said:

I'm not going to do that every day to have it backed up automatically. What kind of sense would that make?
# September 19, 2004 9:32 PM

Jeff said:

They have a target date, but I don't think that's for public consumption. The only reason I know anything at all is because of publishing schedules.
# September 19, 2004 11:19 PM

Alex said:

Why does it take so long to produce a book?
# September 19, 2004 11:54 PM

Michael Russell said:

I never thought I'd do this, but in this case, I'm going to go to bat for Electronic Arts.

In the past, game developers would save their games to the installation directory, or a subdirectory of the installation directory.

This was good in that all of the related files for a program were in one place. However, it had one major flaw on NT-based architectures...it required the user to run as an Administrator.

As more and more people run as Limited users, game developers found they needed a space to save their data in such a way that Limited users could run the game without being an Admin.

They started using the per-user temporary file area for data caching rather than a subfolder in the game install directory, and started saving saved games to each user's "My Documents" folder. After all, for most Limited users, that is the ONLY non-locked down location on the entire computer.

In a game like "The Sims," where half of the appeal seems to be sharing what you have done with the world (at least when I look at the community, that's what I see), it makes sense to save the saved games there, rather than dump them in your Application Data folder.
# September 21, 2004 11:15 AM

Nebula said:

I would say it be a good idea to make document.onclick not count as a user action (since that is what they use), but then they would just attach it to other elements (or all elements) - bah, let's just face it, there is no perfect way to do this.
# September 24, 2004 6:36 PM

Jerry Pisk said:

They suck because Microsoft is designing their tools to be used by people who don't want to know what's going on under the covers. You design a web form by dragging your mouse, not by writing the code that would render it. That's how you end up with complicated pages using DataGrid, which populates the whole recordset into its own memory storage and generates tons of useless HTML and viewstate instead of using a simple repeater tied to a IDataReader, that would simply go through the recordset and dump a simple page. Microsoft just makes things so simple that almost nobody bothers to do things the right way. And those that do switch to different technologies, because sooner or later you will be in position of working with somebody who doesn't know what they're doing and you'll spend most of your time fixing their code.
# September 28, 2004 11:58 AM

Jeff said:

Uh... the ASP.NET forums and .Text are quite the opposite. They render stuff as custom controls.
# September 28, 2004 12:19 PM

Jerry Pisk said:

Where exactly can I download .Text so I can look at the code? The link on the weblogs.asp.net page (the one that says Powered by .Text) points to Scott Watermasysk's blog, with absolutely no mention of .Text, his link in the Links section of his site points to the same place.
# September 28, 2004 1:46 PM

Jeff said:

# September 28, 2004 2:02 PM

Nathan Maffeo said:

I think you were on the right track with the 'midset' or 'culture' idea. The microsoft design methodologies tend to imply that whenever possible you make your components expandable/modular. Doing this inheritly increases the 'complexity' of a project, though making it more powerful. That being said, I havent tried enough .net group projects to say if they rock or suck. I use .Text for my blog and that has worked for me pretty well. (I had to spend an about three hours getting everything working, but thats just because the doucmentation was out of date)

I definatly dont think the problem is lack of clever people - my guess would be that all our (.net) clever people are up to their necks in work already.
# September 28, 2004 2:57 PM

Jerry Pisk said:

It's exactly what I said - the home page is rendered using DataSet, which is a lot slower then simply iterating through a IDataReader. Instead of simply reading the data stream and rendering the output markup it builds up the whole resultset in the memory and then uses those temporary objects to render the output. I'm assuming the rest of the code is just like that, using the simplest, but usually the slowest possible way.
# September 28, 2004 3:18 PM

Paul Wilson said:

I agree that the complexity of the Forums, and things like IBS and DNN, is attrocious. They are "cool" pieces of code, but I value simplicity that works as intended much more personally.
# September 28, 2004 3:18 PM

Jonathan Bradshaw said:

If you haven't done so already, head over to http://www.avsforum.com/avs-vb/forumdisplay.php?s=&forumid=26 the HTPC forum at AVS for a wealth of HTPC knowledge.

Couple of recommendations, if you want the "Media Center" look, you can get it with Meedio with the theme at http://www.meedio.com/maid/detail.php?mode=detail&plugin_id={A291A2F0-711F-4F34-9A0A-7E11D2C5303F}

Also, the best HTPC DVD software out there is TheaterTek (http://www.theatertek.com/)

And if you are looking for silent fans, I've had really great sucess with SilenX (http://www.silenx.com/)

Good luck!
Jonathan
# September 28, 2004 8:16 PM

Jeff said:

I looked at all of that stuff. What I have works flawlessly, why would I want to buy something else?
# September 28, 2004 8:45 PM

Rob Howard said:

Ditto that. Having written a forum system too, I can relate to the RegEx pain threshold.
# September 29, 2004 5:29 PM

Scott McCulloch said:

I agree - it seems to be failing a lot over the last couple of days..
# September 29, 2004 8:32 PM

Rob Howard said:

We're doing some updates to the site very early Thursday morning (US). The same database server runs weblogs, blogs.msdn.com, dotnetnuke.com, www.asp.net, and www.asp.net/forums.

The RSS requests are really hammering the site and it's disk i/o bound. We're moving weblogs to its own raid 0 controller and drive array. Hopefully this problem will be better by tomorrow. We'll be adding a new db server very soon.
# September 29, 2004 9:12 PM

Jeff said:

Aren't the RSS feeds cached some ridiculous amount?

Seems kind of odd that these would all share the same DB when SQL licenses are free for Microsoft.
# September 29, 2004 10:58 PM

Rob Howard said:

FWIW, update on this -- problem solved. Somehow a clustered index was dropped on a table used by the blogs.
# September 29, 2004 11:33 PM

Jason Hutmeier said:

The performance on the forums and blogs has gone AWOL ever since they left the ASP.NET fold. What a great advertisement for Microsoft technologies and the .NET community.
# September 29, 2004 11:40 PM

Rob Howard said:

> The performance on the forums and blogs has gone AWOL
That is about to be fixed. We've been working with Microsoft on a strategy for us to help run the sites again. That was one of my 'part time' jobs when i was on the Microsoft team. We just ordered another DB too...

Part of the problem has been the unbelievable popularity of the blogs, specifically the msdn blogs. The bandwidth usage alone jumped from about 300GB to 1.3TB in the past 6 months. Considering that www.asp.net, blogs.msdn.com, weblogs.asp.net, www.dotnetnuke.com (and about 5 other sites) all run on 2 web servers and 1 db server I think it held up pretty good :)
# September 29, 2004 11:58 PM

Jeff said:

One of my sites actually drew more traffic at one time? Huh.

I take it this stuff is well outside of the Microsoft.com fold then, eh? Bandwidth is no longer an issue for me (using ServerMatrix.com). Heck, CPU usage isn't a big deal yet either. It would be a good problem to have in terms of revenue if I did.
# September 30, 2004 12:09 AM

Douglas Reilly said:

It really does seem to be better as of now (10:27 AM ET on Thursday). Certainly the extra database server can't help but be a good thing.
# September 30, 2004 10:28 AM

TrackBack said:

# October 3, 2004 7:46 PM

Jay Glynn said:

Just wait until you see it for the first time in your favorite bookstore. I actually saw someone buy one of mine in a Barnes & Noble once. It was a real kick.

Don't worry about the reviews. Read what they say, take the good with the bad and try to learn what you can do to improve yourself for the next time. Nobody understands how hard this is to do and so it's very easy for them to say that this sucks or that sucks etc.

Good luck
# October 4, 2004 1:46 PM

denny said:

I think Ipswitch has not done too great in the spam area... to hard to run the server and get it to work the way you want it.

for my personal domain I am using LumiSoft's email and Outlook 2003 + Spambayes for Outlook. works for me.

http://www.lumisoft.ee/lsWWW/ENG/Products/Mail_Server/mail_index_eng.aspx?type=info

free and open source and .net !!
# October 4, 2004 2:05 PM

Sahil Malik said:

I just finished a book too, and to tell you the truth, my book was listed when I was on chapter #8 of 15. You could pre-order it back then.

Just do your best job, remember one thing - writing a book is a shitload of work and takes a lot of discipline and knowledge. The fact that you did even write one is better than not writing one. Just give it your best shot.

I just finished mine and I am anxious to start another one soon. It's been a rewarding experience.
# October 4, 2004 2:22 PM

Jeff said:

To put it more in context... here's the entire sproc:


CREATE PROCEDURE PagedTopics
(
@StartRow int,
@PageSize int,
@ForumID int,
@Total int OUTPUT
)

AS

DECLARE @PK int
DECLARE @tblPK TABLE
(
PK int NOT NULL PRIMARY KEY
)

DECLARE PagingCursor CURSOR DYNAMIC READ_ONLY FOR
SELECT TopicID FROM Topics WHERE ForumID = @ForumID ORDER BY Pinned DESC, LastPostTime DESC

OPEN PagingCursor
FETCH RELATIVE @StartRow FROM PagingCursor INTO @PK

WHILE @PageSize > 0 AND @@FETCH_STATUS = 0
BEGIN
INSERT INTO @tblPK (PK) VALUES (@PK)
FETCH NEXT FROM PagingCursor INTO @PK
SET @PageSize = @PageSize - 1
END

SET @Total = @@CURSOR_ROWS

CLOSE PagingCursor
DEALLOCATE PagingCursor

SELECT * FROM Topics JOIN @tblPK t ON Topics.TopicID = t.PK
ORDER BY LastPostTime DESC
GO
# October 4, 2004 10:51 PM

Rob Howard said:

Thanks for the heads up -- we're looking into this.
# October 4, 2004 10:56 PM

Jim Hughes said:

You can't order by a bit field, you need to change the table definition to an int and use 0 and -1

I always avoid use of bit fields because of their strange behavior. Many other databases don't support the use of a bit field.

They are a legacy from the Sybase days when disk space was at a premium
# October 4, 2004 11:25 PM

Jerry Pisk said:

Jim, why can't one order by a bit field? It seems to be true but I was wondering if it's actually documented somewhere, because the ORDER BY clause of a SELECT statement only says that you can't order by ntext, text or image data. Nothing about a bit.

I like to use the bit field for columns that are three state (on, off or unknown), they're nicer to work with than integer data, as they're always 0 or 1 (or NULL), not 0 or a non-zero value (1, -1, and so on). And they're faster than an int column with a check constraint.
# October 4, 2004 11:31 PM

Darshan Singh said:

I can't find anywhere documented that sorting on bit will not work. I tried it in SQL 2000 and 2005 and seems to work.

if object_id('tblTest') is not null
begin
drop table tblTest;
end

create table tblTest
(col1 int identity(1,1) not null primary key,
col2 bit not null default 0);
go

insert into tblTest default values;
insert into tblTest values (1);
insert into tblTest default values;
insert into tblTest values (1);
insert into tblTest default values;
insert into tblTest values (1);
go

select * from tblTest;
go

select * from tblTest order by col2 DESC;
go

DECLARE @PK int;
DECLARE @BF int;
DECLARE PagingCursor CURSOR DYNAMIC READ_ONLY FOR
SELECT col1, col2 FROM tblTest ORDER BY col2 DESC;

OPEN PagingCursor;
FETCH RELATIVE 2 FROM PagingCursor INTO @PK, @BF;

WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @PK, @BF;
FETCH NEXT FROM PagingCursor INTO @PK, @BF;
END
CLOSE PagingCursor;
DEALLOCATE PagingCursor;


Jeff, what's the exact SQL Server build version you are working with?
# October 5, 2004 12:38 AM

Jim Hughes said:

I may very well be incorrect in my original statment.

I do know that I have had nothing but problems in using bit fields. Specifically Group By does not work properly.

Some info at http://www.ssw.com.au/SSW/Standards/Rules/RulestoBetterSQLServerdatabases.aspx FAQ 203

Access and SQL Server handle bit fields differently.

Are you using SQLAdapter or OLEDBAdapter?

# October 5, 2004 1:38 AM

Jim Hughes said:

Update Topics
set Pinned = 0
where Pinned Is Null

Change the Topics table def to define a default value 0 for Pinned and also state that the field cannot be Null.

Then try it again.

I still recommened that you avoid bit fields! They are not an ANSI standard.
# October 5, 2004 1:59 AM

Paul said:

# October 5, 2004 2:07 AM

Marc Hoeppner said:

Hi there,

with regards to the codeproject articel you mentioned: From my/our experiences here, a CURSOR is about the worst performing method for large sets. The fastest method still is that method which the author so easily discarded and didn't even bother to test.

Best regards,

Marc
# October 5, 2004 2:58 AM

TrackBack said:

# October 5, 2004 2:36 PM

TrackBack said:

# October 6, 2004 12:37 AM

Nat said:

To spur a little bit more, BIT data type somehow was in SQL-99 Standard as Boolean :D
# October 6, 2004 7:28 AM

- said:


You can't, probably because, you have URLScan turned on in IIS 5.0.
# October 6, 2004 2:47 PM

scott said:

It is actually very different from the worm vulnerabilities in that it doesn't allow execution of maliciously uploaded code. As such, it is not wormable.

It is, though, still a bad bug.
# October 6, 2004 3:01 PM

Anonymous said:

Urlscan now. Another fix is coming soon.
# October 6, 2004 3:02 PM

John Alkin said:

"Can't believe no one caught that."

...and we can't believe you didn't catch it. After all, it's not our code. Or, did you think that we all work for you?

"Should we avoid using the CLR in SQL 2005 too? It's not ANSI standard. "

It's all relative my friend. There are times when you might want to stick with the ANSI standard. Never say never, so advising someone to never sort on a bit field is short-sighted. However, saying that ignoring ANSI standards is perfectly OK just because SQL 2005 does is equally as absurd. Everything in it's context.
# October 6, 2004 4:45 PM

Jeff said:

Relax dude... why are you taking it personally? No one said ignoring ANSI standards are OK.
# October 6, 2004 7:00 PM

Jeff said:

I'm actually using IIS6... is it not affected?
# October 6, 2004 7:02 PM

Phil Shulkind said:

I agree, it's absurd that you cannot choose your own location for these files. I run a small C drive on my system and this causes big problems
# October 10, 2004 1:48 PM

noname said:

Sims 2 can ONLY be run as admin, so it was written by amateurs
# October 10, 2004 3:43 PM

TrackBack said:

# October 10, 2004 10:54 PM

TrackBack said:

# October 13, 2004 11:10 AM

TrackBack said:

# October 15, 2004 11:44 AM

Nathan Maffeo said:

Windows didn't atuomatically detect/install the appropriate ethernet drivers? Weird. Always has worked for me.

# October 15, 2004 12:10 PM

Roy Green said:

I'm surprised that it locked you down immediately. I upgraded a machine a couple of weeks ago, and XP announced that I had three days to reactivate, thereby allowing me to get the machine configured how I wanted it (and get it set up on the network).
# October 15, 2004 12:25 PM

Jerry Pisk said:

I had the same problem. Upgraded my box, Windows said I have three days to activate, so I logged in, it asked to reboot so I rebooted and that was it. Next time it started it said it had to be activated or else. No more three days. And no, it didn't find the ethernet drivers on its own (Intel PRO/1000 CT).
# October 15, 2004 1:05 PM

dJ phuturecybersonique said:

# October 16, 2004 5:49 PM

Ron Buckton said:

FreeTextBox and RichTextBox both provide rich text editing in FireFox. I also have a RichTextEditor in the .NET web app framework I put together for my consulting company Chronicles Design.
# October 16, 2004 6:22 PM

Richard Tallent said:

Firefox supports the same "contenteditable=true" attribute and most of the same JavaScript methods for programmatic bold, italics, etc. I use a free solution, HtmlArea 3.0b, in my ASP.NET apps (http://www.interactivetools.com/iforum/P15734/).
# October 17, 2004 3:17 AM

garyo said:

Actually, I have my my docs folder on my D drive and that's where it puts it.
# October 17, 2004 11:19 AM

TrackBack said:

# October 18, 2004 9:18 AM

Jim Bolla said:

Thats pretty crappy programming indeed. My laptop came w/ Norton Antivirus, but after 2 months it wanted me to "renew my subscription" which would frequire forking over some cash. I think its lame that new PCs are being bundled with shareware that expirers after a short period of time. So I insalled that POS and downloaded AVG free edition. The UI isn't the prettiest, but it's not like I'm hanging out in my AV software all day.
# October 18, 2004 10:48 AM

Steve Hall said:

That's just one chink in their armor. Their installers are chock-full of bugs that have been around for 7-8 years, ever since they bought Central Point Software (whose installers were pretty bug-free).

The other really BAD noticable installer "feature" is try changing the target install folder to something other than "C:\Program Files\Norton AntiVirus" to what it should be: "C:\Program Files\Symantec\Norton AntiVirus". The install script has a ridiculous character max. on the folder name that prevents this. (Note that installing products under "Program Files" and not under a "Program Files\<companyname>" folder should be considered poor practice in the design of an installer. Microsoft violates this good app. design rule with many of their products as well.)

I could list at least another dozen obvious bugs that their "install whip" simply refuses to fix or is in denial about. Probably the worst is the failure of the install script to properly log all registry changes during install such that the uninstall will properly/correctly remove or change them back upon uninstall. There should be absolutely NO REASON why they've had to produce special uninstallers for their products...most which do nothing but attempt to restore the registry back to "pre-Norton-whatever" state (but CAN NOT POSSIBLY DO SO in a transacted fashion, since they do NOT use the install log to determine what was changed in the registry!). Probably the cause for this mess is their reliance on completely scripted install packages, rather than using an MSI-based install package (in which case, the registry changes would get correctly undone during a transacted uninstall).

It's too bad their products are the best of breed, but just suffer integration & installation problems. At every company I've ever been at, this has always been the greatest weakness: integration, system-testing, documentation, installation tools, and release tools ...i.e., the last 10% of the project, companies just tend to fall over themselves trying to kick the crap out the door! And then, usually assign junior programmers to do the finishing steps. Even though the Symantec products all contain at least one or more device drivers, these kind of bugs in the installers makes me believe they've assigned writing the installers to junior's that have not had any device driver authoring experience...and thus SHOULD NOT be in charge with creating an installer! Most companies that distirbute device drivers don't seem to grasp this lack of domain expertise problem with installers...since authoring installers has always been seen by a lot of software developers a crappy job.

If cars were made this way (e.g., oops! we put the wrong size tires on it!), you'd bet there'd be consumer backlash against it. But us stupid consumers did NOTHING when Symantec turned themselves into a monopoly when they bought Central Point Software, so we now reap what we sowed!
# October 18, 2004 10:50 AM

Randy Ridge said:

Yeah, this sucks, I had thought my install was borked. NAV 2004 did not do this, I do remember that SourceGear's Vault used to do something similar as well, fortunately they fixed it. Unfortunately, Symantec's not SourceGear and their 'solutions' (http://service1.symantec.com/SUPPORT/nav.nsf/5faa3ca6df6f549888256edd0061c0a4/fc096f3adb76b4d388256f08006d038b?OpenDocument&src=bar_sch_nam) are less than ideal.
# October 18, 2004 10:53 AM

du8die said:

Thank You.

I have absolutely no formal training in programming. (Nor do I want any.) I've just launched my first ASP.NET app, and while I'm no expert, it works. I have been frustrated by the lack of decent material for beginners. There are few (if any) good resources (books, sites) for beginning programmers. So, where do we go?

I've been forced to dig through forums and get what I can out of them. I wish authors would, as you have said, slow down and realize that a large group of us wouldn't know what a HTTPHandler, and no matter how many times they tell us "all you have to do is throw a HTTPHandler at it", we still don't know what they're talking about.

My current project involves responding to eBay SOAP messages. eBay doesn't document it well, there is no documentation (that I can find) anywhere on the web. Sure, I can respond to SOAP calls through ASP.Net and a web service, but how do I set up one to respond to an eBay message? No docs, no samples, no help.

I agree that there is a vastly overlooked market of "beginners". I'm part of it.

Oh Well.

</rant>
# October 20, 2004 12:24 AM

Andrey Skvortsov said:

Look at:
public static string Replace(
string input,
string pattern,
string replacement,
RegexOptions options
);
# October 20, 2004 11:41 AM

Andrey Skvortsov said:

Sorry,doc error "string replacement," is "MatchEvaluator evaluator,"
# October 20, 2004 11:42 AM

Alain Tésio said:

You can concatenate the string, just be careful to escape characters with have a specific meaning for regular expressions:
pattern = String.Format("(blah)(%s)(blah3)",Regex.Escape(somethingDunamicallyGenerated"));
# October 20, 2004 1:14 PM

Ron Krauter said:


Are there remnants? Absolutely. We have ipsec over all sql ports because of this.
# October 21, 2004 11:11 PM

Addy Santo said:

Remnants? Are you kidding? Dig up an old unpatched version, stick it outside the firewall and start counting down the seconds...

# October 22, 2004 1:55 AM

Jon Galloway said:

Agree, Jeff. Many web developers (myself included) have technical backgrounds, but found our way into this relatively new field as a second or third career.

Case in point is a recent book I read by Dino Esposito. Now, Dino is one of my favorite authors, but this book was way over my head as I was first learning ASP.NET. It assumed way too much. Now that I'm strip-searching System.Web with Reflector and have a very good feel for the ASP.NET pipeline, Dino's book makes a lot of sense, but a paragraph or two of introduction to most of the chapters would have helped things.
# October 23, 2004 1:26 AM

Jon Galloway said:

Jeff -
Dunno if you got this working yet. Andrey's comment on the MatchEvaluator is the way to go if you're doing something dynamic based on your regex match. I've used this in altering HTML refrences and it's worked well. Each match calls into the MatchEvaluator delegate which can do just about anything.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemtextregularexpressionsregexclassreplacetopic5.asp

- Jon
# October 23, 2004 5:51 AM

Eric Newton said:

match evaluator is the way to go, i've used it several times
# October 25, 2004 3:14 PM

Dean Harding said:

Unfortunately, there's nothing you can do. Regular expressions are not able to match balanced expressions (e.g. things like matching braces, or matching HTML tags). You can do what you've got there, which is make it so that it supports only one set of nested elements, or multiple sets of non-nested elements (by using (.*?) as your "meat" - i.e. a non-greedy search) but without some wacky extension to the regular expression grammer itself, you can't have the best of both worlds.

I think the best thing you can do is structure your forums so that you can simply replace all [quote] text with a single construct, and all [/quote] with a single construct - i.e. don't rely on them being matched together. Then you can perhaps put some custom logic in to make sure there's an equal number of [quote] and [/quote] tags.

For example, if you simply replace all instances of [quote] with <blockquote> and all instances of [/quote] with </blockquote>, then (apart from validating the input) you don't really need to know that it's all matched properly.
# October 25, 2004 10:41 PM

Wes said:

Try:
(\[quote\])(.*?)(\[/quote\])

From msdn:
*? - Specifies the first match that consumes as few repeats as possible (equivalent to lazy *).
# October 25, 2004 10:44 PM

Jeff said:

I do that for all of the non-block elements, but it's a lot harder to do it with block elements like this one, and p tags (which come from line breaks).
# October 25, 2004 10:45 PM

Jeff said:

Wes: That breaks the nesting. It grabs the inner-most [/quote] instead of the outside one.
# October 25, 2004 10:49 PM

Dean Harding said:

Holy crap!

I did a bit more research, and it seems Microsoft did add methods for matching nested constructs! Go Microsoft!!

There's a chapter in "Mastering Regular Expressions" (http://www.amazon.co.uk/exec/obidos/ASIN/0596002890/026-9448710-1434859) on how to do it. Luckily, O'Reily have made the chapter in question available for download from: http://www.oreilly.com/catalog/regex2/chapter/ch09.pdf - see the "Matching Nested Constructs" section.

There are some proposed extensions to Perl to allow for similar constructors (see, for example: http://www.puffinry.freeserve.co.uk/regex-extension.html) but they're not in perl per-se yet.
# October 25, 2004 11:00 PM

Wes said:

I have been looking at this expression from Ch9 of the book Dean mentioned above. With this expression syntax you can match nested items but I think it is still greedy. I'm not sure we can do what you want with .Net regular expressions.
# October 25, 2004 11:15 PM

Dean Harding said:

It should work because it only matches *balanced* expressions. So for example, if you have (assuming we're matching parenthases here):

(The (quick) brown fox) jumped (over the (lazy dog))

You'll get two matches:

(The (quick) brown fox)
and
(over the (lazy dog))

Which is what Jeff wants...
# October 28, 2004 1:30 AM

Ali said:

my iTunes stopped working as well. at first i thought all i needed was the windows service pack 2 update. got that but it still stops working.
# October 31, 2004 2:27 AM

Wes said:

Dean you are correct. Matching ()'s is a little different then matching [quote][/quote] but not much harder, just takes a little different angle. After examining more closely I was able to figure out how to do what Jeff wants.

Jeff if you are still interested try:
(?:\[quote\])(?<quote>(?>(?:\[quote\])(?<DEPTH>)|(?:\[/quote\])(?<-DEPTH>)|.)+)(?(DEPTH)(?!))(?:\[/quote\])

Test string:
[quote]quote 1 [quote]quote 2[/quote] after quote 2[/quote][quote]quote 2[/quote]

Matches
1) [quote]quote 1 [quote]quote 2[/quote] after quote 2[/quote]
"quote" 1) quote 1 [quote]quote 2[/quote] after quote 2

2)[quote]quote 2[/quote]
"quote" 2) quote 2

I believe that is what you were after Jeff.
# November 1, 2004 12:23 AM

rick said:

# November 9, 2004 6:21 PM

pieter@psh.co.za (Pieter Jansen van Vuuren) said:

Nice tools, I think most programmers are seen as designers by most people, not that it is true, but for most people, if they hear you work on computers they think you are a network administrator/pc technician/technical support/programmer/designer/all round pc guru! :D
# November 10, 2004 2:06 AM

Frans Bouma said:

" Do you often pull double duty as a designer?"
A graphic designer you mean? Sure. It's great to do that when coding gets too boring ;). However it's hard to find a developer who is also a great graphic designer, most developers deliver 'Programmer Art', which is erm... not good :)
# November 10, 2004 5:03 AM

N Meister said:

Yes, I will admit it - I am a graphic designer who delves into programming. Probably I am not great a programmer. I think they are two conflicting trains of thought. Design is free-thought and creative - programming is ultra-structured.

There are designers whose sites suck because the programming is bad - and there are programmers whose sites suck because the design is bad.

Let's face it - we need each other
# November 10, 2004 8:15 AM

Cracksquirrel said:

I program and design. I feel that I do very well at both. It all really depends on what you are inspired by. Great functioning code excites me just as much as fresh clean graphics do. I am an artist at heart. Before even touching computers I was an artist. After finding my way into the technical industry, I grew a fascination with coding. For me to be able to meld the two and be successful at it is only a testament to being able to work independently. Sometimes I think designers don't like the structure of programming and are put off by the vast knowledge needed to be a good programmer. Just the same on the other side, programmers seem to either get frustrated with graphics and the time it takes to create vibrant exciting images or feel they are above "design" because they are the true logic behind the web page.
# November 10, 2004 1:38 PM

J.E.F. Manansala said:

It is good to know that a person can multi-tasks and is a multi-skilled person. Only being a one man army for any kind of professional project does not fit very well. A prorgammer must stay as a programmer and a designer must stay as a designer. If only one man do both at the same time; design and implementation including database and server management not to mention maintenance and marketing, you've read my mind... "It does not go very well."

It's good to be both a programmer and a designer (vice versa) at the same time, only it must not be applied to one project alone. A pogrammer needs a designer and a designer needs a programmer. You must not be both. "There will always be something missing, or something wrong."

If you disagree, your skills have already deceived you. Either way, this is just a slap of fact.

By the way, I'm talking about the big ol' volatile database driven and resource hogging for both workforce and solution sites.
# November 10, 2004 11:02 PM

Brian Richards said:

The war of the left brain and the right brain can often be a frustrating one. I spent 3 years as a CS major in engineering school and 3 years as a Computer Art major in art school. It's definitely nice to be able to do both the design and development sides of the house. But it's often frustrating when people expect you to be able to turn on a dime from one to the other. It's sometimes hard for me to just switch gears. Both sides take practice to maintain an adequate level of quality (probably the art side a little more than the programming). I often get told to stop what I'm coding and go off and design something real quick. Which can definitely lead to frustration.

I completely agree with the feeling like it's all been done. I run into that feeling with much of my work. I use the Color Scheme Generator alot, but another trick I use is photos. If there is going to be a photo in the design, steal the entire color palette from the picture. Use the PhotoShop eyedropper to pull out some good contrasting colors and let the picture pull the design together. It usually works pretty well.
# November 11, 2004 8:52 AM

Ryan said:

This happened to me just today:

I work for a web development company. I write PHP, MySQL, CSS, and XHTML. The graphics are done by a really good graphics guy... as it should be. When I first layout a site in CSS I don't know what colors the designer wants so I make some up. I try using those online color picker tools, but the end product still isn't that great.

So today my boss was talking to the graphics guy on the phone and pointed him to one of the styles I created. The guy's response was "is that header SUPPOSED to be that color?" My boss responded "Ryan's a good programmer, but is about as colorblind as they come" or something like that. I don't remember exactly. Seriously, I'm not colorblind, but making things look pretty is not what I do best.
# November 11, 2004 7:02 PM

Ryan said:

I don't know how I managed to put my e-mail in the "Url" field. Doh!

So this comment isn't useless: I have yet to meet a good designer who is also really good at programming. I would love to see the work of someone who claims to be good at both. If they are excellent at both congrats!
# November 11, 2004 7:31 PM

TrackBack said:

Ryanware Blog &raquo; On programmers as designers
# November 11, 2004 7:48 PM

Dave said:

As I train my replacement(S) 3 to my 1. I can't help but feel that this will be the normal treatment of US programmers. I will be in the market for a new job soon. Give me 1 month of unemployment and I will be chomping at the bit to work for EA. I have 2 kids to take care of.

Thanks.
# November 12, 2004 11:40 AM

Jeff said:

Move here to Northeast Ohio. Plenty of jobs to go around. Cost of living is lower here and it's a worker's market.
# November 12, 2004 1:16 PM

Aviv Raff said:

That's because IE is a better target for spywares (with over 90% of market share), and not because it's less secured.
Firefox has enough vulnerabilities to exploit:
http://www.mozilla.org/projects/security/known-vulnerabilities.html
# November 12, 2004 2:06 PM

Jeff said:

That's a predictable response, and a cop out. If you have that kind of market dominance, you then have the responsibility to make secure software.
# November 12, 2004 2:35 PM

Jerry Pisk said:

Well, the first line is not standard HTML, so what did you expect? An HTML DOCTYPE must contain the DTD: "HTML 4.01 specifies three DTDs, so authors must include one of the following document type declarations in their documents.".

Funny that you get annoyed by IE behaving properly ;)
# November 12, 2004 9:21 PM

Jeff said:

The point was that it doesn't follow standards by default.
# November 12, 2004 10:30 PM

Jerry Pisk said:

I see, but I think that when you give a browser something that is not a standard HTML all gloves are off and it's free to do whatever it wants. Just look at Mozilla, if you argue using something that does not comply with the standards, the developers won't even talk to you :) The real problem would be if IE would not follow standards when you gave it standard HTML…
# November 13, 2004 1:08 AM

Jeff said:

Sorry, Jerry, but it does validate on the W3C validator, which is precisely the reason I would've never thought anything of it previously (it's the default generated by VS, so it's in every page).
# November 13, 2004 9:49 AM

Brent said:

It shouldn't do standards by default. If you don't give a proper DTD, how should it know what standard to render as?

Old pages then render using the quirks they expect, and new standards-compliant pages (which must have a proper DTD) will get rendered appropriately (mostly... heh).

All browsers do this to some extent, even Mozilla.
# November 13, 2004 9:50 AM

Jeff said:

That doesn't make a bit of sense. "Unless I specifically tell you, don't render valid HTML and CSS. Render flowers or cats or toasters or something!" In this case, it's, "Render something we didn't get right the first time, instead of a standard, any standard from the past six years."
# November 13, 2004 10:15 AM

Jeff said:

More on a possible class action:

http://news.com.com/2100-1043_3-5450316.html
# November 13, 2004 10:57 AM

Joe Cernelli said:

*mourn* Are the people at Comcast completely brain dead or what? I can't believe how out of touch they are...I long for the days of TechTV, or even ZDTV for that matter. :(
# November 13, 2004 12:27 PM

Denny said:

G4-TechTV is DOA

it was like a frontal lobotomy on TV.

Good Greef will they *PLEASE* just drop it altogether!

just shutdown and be done with it.
# November 13, 2004 4:46 PM

foobar said:

The problem was that at the time, the W3C was still coming up with the standards. MS wanted to release IE5, so they guessed on some of the standards. They got some right, and some wrong - in particular to the way margins and padding worked. So, MS came up with the whole quirks and standards modes. The reason that quirks mode is the default is that many sites use the MS way of padding and margins - after all, it took forever for the W3C to decide, and even now, XHTML is hardly realistic - why, for instance, can't tables have a height?
# November 13, 2004 11:50 PM

Reason said:

Nothing is worse than commercialization in the information community and G4-TechTv is its poster child.

Mindless action of game play is more rewarding to American corporations than individual expression and cooperative development in the information community.

With this as an example, it is easy to understand why the USA is hated by most of the planet.

Mindless, self-involved consumers
# November 14, 2004 2:47 PM

Charles S said:

I think it's time to just forget G4TechTV and promote the concept of a tech network devoted to the intelligent side of the industry. This utopia would feature computer help shows like Call For Help and what The Screensavers used to be, a program with the same premise as Fresh Gear, a tech-oriented news show (maybe not so much like TechLive was, but informative nonetheless), sure, a gaming review show or two, and showcase programs about technology not necessarily limited to computers. I know this is possible, and if billion-dollar corporations would project their assets toward loftier goals rather than targeting the lowest IQ (which is unfortunately a very wide consumer bracket) to maximize their income, we as a tech community could benefit greatly. ~To the future of humankind...
# November 16, 2004 2:58 AM

Shane said:

Sadly we in Canada are still waiting for the opportunity..
# November 16, 2004 2:33 PM

Walt said:

Looking for an answer to a problem printing DataGrids, I come across Jeff's blog (funny how clicking on one link leads to another). Let me jump in:

"I have yet to meet a good designer who is also really good at programming."

I'm working on it. :) I'm actually the other way around. I'm stronger with design, but I can hold my own with development. I'm certainly no Jeff Putz and no one is going mistake me as a guru, but I've done fairly heavy work on the code end of things (including working solo on a large membership reporting project at work).

It's a competitive world and I'm working to separate myself as someone who is more than comfortable on both sides of the ball. Maybe I should pick one, but I don't have that luxury in a one person shop.
# November 16, 2004 2:35 PM

Ray Sotkiewicz said:

I predict a MAC in SB's future... Not familiar with the OS, 1 mouse button instead of 43, hilarity ensues.

A Strongbad fan to the moon!

Ray
# November 16, 2004 11:33 PM

Jason Olson said:

THAT IS NOT A SMALL NUMBER!

hehe

What a great clip. I'm definitely a Strong Bad fan.
# November 17, 2004 2:07 AM

Derick Bailey said:

NNNOOOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!! NOT COMPY!!!!!!!

"Like Used", "Slightly Shotgunned". :D

Strong Bad is da man... but StrongSad is my MSN IM Icon. :)
# November 17, 2004 12:06 PM

Wallym said:

Hmmm, I think there is a lot of hype that I am hearing. Also realistic expectations are also being set so that folks understand what is and is not right around the corner. :-)

I think there will be no end to the Whidbey talk by the start of Spring next year.

Wally
# November 17, 2004 12:20 PM

bilbo said:


much of the hype fizzles when were told something will be released and then it gets pushed back, over and over and over again and again and again

been waitin' for sql2005 for the longest time
# November 17, 2004 12:36 PM

Steve said:

its like a movie:

All the hype: "its getting scripted", "we're casting", etc

then the movie silently and under the radar gets made

the the roller coaster goes back up close to release


and i am not sure what blogs you track, but i see plenty of daily talk about it and its new features.......
# November 17, 2004 1:13 PM

TrackBack said:

# November 17, 2004 5:31 PM

Jesse said:

That station has gone downhill ever since Ziff Davis sold it... I used to be a devoted fan, but I only ever watch once in a great while because I can't stand it...
# November 20, 2004 4:47 PM

TrackBack said:

# November 22, 2004 11:18 AM

TrackBack said:

# November 22, 2004 11:18 AM

Bob said:

FLAGRENT SYSTEM ERROR

COMPUTER OVER
VIRUS=VERY YES
# November 22, 2004 4:55 PM

Dean Harding said:

Hey man, lets give credit where it's due. Wes may have posted the exact regex you want, but I did all the research to find the link to the article where he got it from!

I'm not saying he didn't contribute, he did a great job making the regex I linked to work with more than a single-character "bracket" but it wasn't exactly revolutionary... a bit of work with regex workbench would have been all it took.

I'm not usually one to make a fuss about such things, but I just think I deserve some credit, too...
# November 22, 2004 6:34 PM

Jeff said:

His solution, the working solution, was arrived at via an e-mail exchange, not the posts here.
# November 22, 2004 7:07 PM

Strong Bad said:

I doh duh duo crapfully youuuuuuurs.... :'(
# November 23, 2004 10:00 AM

Strong Sam said:

YOU KILLED MY BROTHER...I mean...COMPUTER!!
# November 23, 2004 10:02 AM

domovoi said:

\s+[^:\s]*\@[^\s]*
# November 23, 2004 4:45 PM

Drew Marsh said:

(?<=\s)(?<email>(?<user>[\w\-\.]*)@(?<domain>([\w\-])+(\.[\w\-]+)+))

NOTE: You can pull the groups out of there if you're not interested in explicitly capturing them.
# November 23, 2004 7:09 PM

Jeff said:

Both of these seem to work... unless the address is at the start of a line.
# November 23, 2004 9:28 PM

Andrew said:

I don't think he'll get a Mac -- he once complained it had too much computer and not enough typewriter.

http://www.homestarrunner.com/sbemail34.html
# November 23, 2004 10:45 PM

that guy said:


look, Strongbad, my mouth was a broken d-pad. i had no choice.

R.I.P. Compy
# November 24, 2004 8:07 PM

Sean said:

Did you get a virus?

Umm...no.

Did you get 400,000 viruses?

Yes....very yes!
# November 24, 2004 8:10 PM

Strong Rad said:


It's in a better place now....rather, it's in the same place with a huge hole in it!
# November 24, 2004 8:11 PM

Drew Marsh said:

Sorry, I was just using your sample. No problem on beginning of line though. I actually bached the last one a little anyway, so here goes.

(?<email>(?<=\s|^)(?<user>[\w\.\-_']+)@(?<domain>([\w\-]+\.)+[\w\-]+))

# November 24, 2004 10:48 PM

Jeff said:

OK, I obviously don't give you enough test conditions to work with, but I also need to detect it within <p> tags, i.e., it should find the address in:

<p>test@test.com</p>

I assume that means changing something in that first group?
# November 25, 2004 1:54 PM

Jeff said:

Actually, scratch that... I think my logic is all out of order.
# November 25, 2004 1:58 PM

Jeff said:

Grrrr... I keep discovering that my test coverage isn't good enough to catch what I'm really after. It should still match:

[i]test@test.com[/i]

but not:

[url="mailto:test@test.com"]test@test.com[/url]
# November 26, 2004 1:23 PM

TrackBack said:

# November 29, 2004 9:47 PM

Bob said:

I hated apple - macintosh- every since elementry school days when that was all we had to work with. Now though comcast they are well on there way to destorying the best aspects of tech television. First leo and call for help now they fire nearly all of g4techtvs' talent. Well that was what they wanted to do in the end, jelousy is a powerful motivater. All I can now hope for is that, perhaps the true talent (techtv) would all leave and try to relaunch a new channel. If you at first don't succed try try again. Then again I won't be be doing any of the hard work so who the hell am I to say anything.
By the way what the hell is that crap that airs on g4!
Also I have never before seen, well to be honest, a load of talentless humanbeings on tv before (G4)
# December 1, 2004 2:19 AM

Scott Galloway said:

You might find this site useful: http://www.positioniseverything.net/explorer.html
Covers the main bugs with IE's CSS implementation - I agree though that it's way past due time for these bugs to be fixed, the 'breaks other implemntations' argument just doesn't cut it as a rationale for not fixing CSS bugs...
# December 1, 2004 4:30 AM

John Mandia said:

Hi Scott,

Try this:

http://sourceforge.net/projects/ie7/

It should help you out.

John
# December 1, 2004 4:56 AM

Sudhakar said:

I can join you jeff :-)

I really dont love FF, but IE is pushing me to love it, what should i do? I love you FireFox :-(
# December 1, 2004 7:37 AM

weston weems said:

Not that you should HAVE to do it, but I've experienced this very same thing, and after futzing around with it for ages I found the problem...

Block elements with no position attribute, dont render backgrounds or background colors properly (seems like it doesnt render text properly either)

I simple added position:relative; and it seems to have cleared my css problems up.

but yes, ie does suck.
# December 1, 2004 11:15 AM

peta said:

My favorite program on TechTV is Anime Unleashed. But they put it on at 12am. With the return of Last Exile I really don't understand why they couln't have aired it at a better hour for people who have to work for a living. I'm surprised that their advertisers don't complain since it's so popular. I used to enjoy this channel when it first aired but now, frankly, it's boring.
# December 1, 2004 1:18 PM

Scott Galloway said:

Whoa, looks like GMail is borked too...
# December 2, 2004 12:54 PM

foobar said:

"LCDs are great as desktop PC monitors because they don't have to refresh pictures rapidly."

This is in reference to response times, I suspect.

LCDs also have poor color reproduction compared to CRT.

As with anything technological, time will resolve these issues.
# December 2, 2004 4:10 PM

evan said:

wtf how could they destroy the tss and unscrewd like that im paying $70 for comcast cable already and g4techtv is the olny good channel on tv
i hate u comcast
i hate u so mutch
>:0
# December 2, 2004 7:22 PM

Steve said:

Couldn't agree more! The channel is dead without TSS.

A video game show on a Tech network...fine. It's good to have variety. An all videogame network and no tech? I'll pass. I urge you all to cancel any season passes, remove the channel from your favorite lists and write to your cable or satellite prover and ask them to stop carrying the channel. Three thumbs down!

It's now simply a waste of bandwidth.
# December 3, 2004 4:20 AM

Russ C said:

The only problem with black is because of the Backlight, but I understand that Sony are using a new screencoating that helps that a lot - but imo it makes the screen seem a lot more reflective
# December 3, 2004 6:30 AM

TrackBack said:

# December 3, 2004 6:17 PM

kmo911 said:

it's over for g4techtv,there is a reason that they're almost dead last in the ratings!
If you go to g4techtvs forums and say anything negative about their crappy programming,they either delete,lock your messages or they ban you.
They need to listen to the viewers,and the viewers say they want the tech back in the screen savers.
# December 4, 2004 1:46 AM

Frank said:

As a 62 year old male still somewhat computer illiterate, I despise the new TSS format and The total rest of G4. I used to learn things as a novice computer user on the old Tech TV, especially Call For Help.
It seems to me the greedy bastards sold out to the corperations that sell video games!
Fuck this noise!!!
# December 6, 2004 7:33 PM

Thomas Tomiczek said:

Well, our small hosting operation (around 60 domains, half as many subdomains) uses SmarterMail. IT ROCKS. The new v2 web interface is NICE, it is fast, has baynesian filtering, web services to configure it (which ourc control panel uses). All in all - a marvelous little gem.
# December 7, 2004 12:38 PM

Yex said:

I've been very happy with it too. My site is currently hosted at CrystalTech and so I have access to SmarterMail for my webmail interface, and have pretty much gotten to the point where it's just about all I use for mail, and I really like it. As Thomas mentioned, they did a really nice job with the UI in the latest version, and the spam filtering I would rate about a 6.5 or 7.0 out of 10. It catches a good majority of spam, there's still quite a bit that actually manages to get through. Not any worse than any others out there though. If I had to select a mail server software for myself, I'd definitely go with it, especially for that price, it's pretty reasonable for the feature set you get with it.
# December 7, 2004 12:47 PM

DNK said:

It certainly has potential, i wouldnt say it has everything yet, my main gripe with it is that although it has blacklists and bayesian these come into play after the mail has been accepted and so there is no method to refuse mail, this has been mentioned to them by numerous customers so im sure it will be on thier todo list. This has been done so that spam filters can be controlled at a user level, but personally i'd prefer to refuse mail that failed multiple blackhole checks for example

dont pay $200 though, i bought mine from a reseller for $99
http://www.servertastic.com
# December 7, 2004 2:07 PM

Jeff said:

Well, what the heck, I took the plunge. Wow... importer from IMail was seamless. So far so good, and I'm impressed with the filtering. I like that you can mark a message as spam and it will evenutally reindex the filters based on messages you've marked as spam. Nice.
# December 7, 2004 2:46 PM

TrackBack said:

# December 7, 2004 9:36 PM

IlluminatiLord said:

The copy edit phase is the most tedious (right behind upgrading a new revision to take into consideration the next version of .NET and its features). The most joy I got was the actual writing of the samples, followed by the ability to impart bits of insight that I learned in hopes that I'd make some developer's day easier some time.

As for advice on whether you should do it again, I can't say. The only advice I can give you is to ask yourself would you do the 1st book again now, knowing what you know now?
# December 8, 2004 12:11 AM

White Elk said:

g4's programing has alienated TechTV and TTS's audience and g4's censorship is out of control!

Save TechTV and Diverge the Merge!!!
# December 8, 2004 12:40 AM

James Newkirk said:

I have some advice, but it's not pretty...

I also find this part of the process so tedious and boring that I often think I am reading the book and I am really not. Therefore, to get myself to read every line I highlight them after I have read each line. That way I know that I have really read the line and not just skimmed over it.

Didn't say it was pretty but it is effective for me. Good luck!

# December 8, 2004 12:52 AM

bradsully said:

i liked the screen savers with kevin and alex, alex may not have know as much stuff about computers as kevin but he kept it smooth. I download one of the new episodes and sat there like wtf, kevin is now a slave and there is so gomer co-hosting that seems like hes one of those annoying kids that thinks he knows everything and you just wanna punch in the face. aw man this pisses me off. they asked a question at the end of one of the episodes about authoring video and the co host guy started talking about dvd shrink and using nero to burn, like what the hell you need and authoring program.
# December 8, 2004 3:19 AM

Ash said:

Im just glad I can get the new Call For Help program that Leo does from Canada. Its not the same but it is the best program on this network now.
# December 8, 2004 12:33 PM

K said:

I couldn't agree more. It bothers me to no end when I receive email that has no punctuation and is all lowercase. Forum posts are, like you said, the worst. I can't understand half of it.
# December 8, 2004 2:33 PM

petal said:

# December 8, 2004 8:23 PM

Matt Hawley said:

Why don't you post a bug for the FireFox team?
# December 9, 2004 1:51 PM