Erik Porter's Blog

Life and Development at Microsoft and Other Technology Discussions

News

    Posted: by

    Comments

    Don XML said:

    Erik,
    Welcome aboard. We are going to have to figure out how to come up with a good mixture of our discussion list posts, and our blogs, or some way to mix the 2, and not lose the best parts of both.

    Don XML
    # April 7, 2003 7:29 PM

    Tim Walters said:

    Hiya HC,

    Good to see you over here, we've bumped into each other quite a lot on the Flash boards, I had no idea you were a MVP too!

    I was a MVP for Desk-Top-Support for a year, then moved onto Access for 2 or so years, then fell into inactivity for a while, keen to get back into it in areas like XML, .NET, SQL etc, but it's hard to find the time...

    Look forward to seeing more of your stuff, sounds like a fun project you have coming up (did a similar one myself recently, if you have questions let me know).

    Seeya,

    Tim Walters
    XML Evangelist
    # April 7, 2003 7:33 PM

    Mark Levison said:

    Smart Clients hold much promise. But MS hasn't really given them the polish and effort they need yet. There are still alot of undocumented rough edges.
    # April 9, 2003 12:40 PM

    Erik Porter said:

    Mark, I very much agree with you...just be patient! ;)
    # April 9, 2003 12:48 PM

    julie said:

    Erik-
    point HEARTILY taken - to me this was not about "not knowing what you are doing" (admittedly I didn't see that sentence). Just more finding better and better ways to do particular things. Everyone has a different definition of their business layer. I do a lot to my data before I return it from my data layer to my business layer. Sounds like (once again) you and I are on the same track in a lot of ways. This may be an issue of semantics. What ever it is- I had no intention in gettng in to name calling or criticizing. I am just always looking for good architecture ideas.
    # April 11, 2003 3:08 PM

    Erik Porter said:

    dang, I'm sorry, I didn't want it to sound like I was actually accusing anybody. I'm not. It's just a general observation.

    I guess saying towards the end that I overall agree wasn't enough to balance that comment, huh? sorry about that...didn't mean it that way! :)
    # April 11, 2003 3:10 PM

    TrackBack said:

    HumanCompiler
    # April 11, 2003 5:46 PM

    TrackBack said:

    The Challenge: C# to VB.NET Conversion Challenge : VB Defender
    # April 11, 2003 6:02 PM

    TrackBack said:

    Framework : Jesse Ezell Blog
    # April 11, 2003 6:02 PM

    TrackBack said:

    WebService Usage : Vibro.NET
    # April 12, 2003 3:45 AM

    Darren Neimke said:

    Erik... love the idea about the Service that helps you synch your Favourites -- I've been after something like that for ages because I work from about 3 or 4 different locations.

    Did you actually build that service? Was it a winner? Tell me more about it 'cos I could probably use something like that for managing the Favourites stuff in DevBuddy.

    Actually, quite a bit of what you've talked about in this post is similar to what DevBuddy is out to acheive, I'll have to read up on the MyList stuff again -- isn't it a pity that Passport is so difficult (read expensive) to build into an app :-(
    # April 13, 2003 6:49 AM

    Adam Kinney said:

    Either of you have any good links on Business layer archtecture?

    We've been trying to figure out the best way to use an architect and any outside resources would be helpful. Thanks.
    # April 15, 2003 5:22 PM

    Mike Harsh said:

    Erik, I'm anxious to see your sample!
    # April 24, 2003 11:22 AM

    Adam Kinney said:

    Very cool. Definitley something to remember (Y)
    # April 29, 2003 11:25 AM

    Martin Naughton said:

    By default, all public Read/Write properties should get serialized.

    Have you looked at the docs for the following Attributes:

    DefaultValueAttribute
    DesignerSerializationVisibilityAttribute

    If you're still stuck, what is the problem you are seeing?
    # April 30, 2003 2:58 PM

    HumanCompiler said:

    Yes, I've got regular serialization working, but I'm talking about editing a property at design time outside of the properties window, like if I have a DesignerVerb that fires up an instance of my editor for a particular propery, then the user hits OK and I set the Property to the new value, it does so, but only in memory. The changes don't get serialized and persisted, like if I did the same thing from a UITypeEditor. So that's the problem I'm running into.
    # April 30, 2003 3:31 PM

    Jason Gaylord said:

    Thanks to Erik and everyone who gave input to my issue. I actually have created a utility to help install, uninstall, start, and stop a service. I will post the utility on my website and in my blog!

    Thanks Again!
    # April 30, 2003 7:50 PM

    TrackBack said:

    MyMail Mail Server : Jason Gaylord's Blog
    # April 30, 2003 8:26 PM

    Brian said:

    The trick to doing this is to use the TypeDescriptor class -- the designer's code generator and undo system are hooked into property change notifications, and the only way to trigger those notifications is to set the property value. So, say you're changing the Text property. Don't do this:

    foo.Text = "Broken";

    Instead, do the ever-more-verbose:

    TypeDescriptor.GetProperties(foo)["Text"].SetValue(foo, "Fixed");

    The property will code gen and correctly participate in undo.
    # May 1, 2003 1:03 AM

    HumanCompiler said:

    Ok, this is where I get down and kiss your feet and say thank you over and over! So simple and I didn't see it!

    Thank you again so much, that worked like a charm...now that I've learned my lesson, I will never do it wrong ever again!!!
    # May 1, 2003 2:44 AM

    Marc Scheuner, Switzerland said:

    Have you ever thought about creating a VS.NET plug-in, based on these services, which would allow me to enforce component naming? E.g. I'd like to have a plug-in where I could define that all buttons should be named "btnButtonX" (by default), all labels "lblLabelX" and so forth.

    I'm a newbie to VS.NET/C# - I did something similar for Delphi before, and it worked really well. I was hoping Whole Tomato might incorporate it into their VisualAssist.NET, but that doesn't look likely either.....

    Any hope? Thoughts? Someone done that already??

    Marc
    (m.scheuner@inova.ch)
    # May 6, 2003 2:42 AM

    HumanCompiler said:

    I'd say that would definitely be possible. There's actually another Service that you can hook into (but I can't think of the name of it offhand) to grab the name that VS.NET automatically assigns. You could also probably override the Name that already gets tacked on automatically in the PreFilterProperties Event, but yes, I'd say this would have to be in a plug-in.

    If I happen to find anything on the subject, I'll post it here or I'll e-mail you. Maybe someone else will remember the name of the Naming Service that is the service that comes up with default names.

    I, personally, won't be writing anything like you mention as I have no need for it, but you might be able to do something yourself. There are tutorials on MSDN on how to create plug-ins. It's pretty easy. Good Luck! :)
    # May 6, 2003 2:55 AM

    Datagrid Girl said:

    Hey, when did you get the idea that you were allowed to have your own opinions? ;)
    # May 11, 2003 12:29 AM

    HumanCompiler said:

    *runs back to cave to program*
    # May 11, 2003 12:36 AM

    DonXML said:

    Don't worry, there is no rush to get it out the door. They want to make sure it is done right, and they are also waiting for more .Net applications to be built.

    DonXML
    # May 11, 2003 11:32 AM

    Dave said:

    I thought .NET 2.0 was supposed to be synced with Yukon, and the release after that (presumably 2.1) was supposed to be synced with Longhorn. I could be wrong, of course.
    # May 11, 2003 8:42 PM

    Adam Kinney said:

    I agree with your disagreement. And I don't think it has to be done just for the "dummy" user. With all the different "Options" normally available in an application you can lose track of where everything is.
    # May 12, 2003 4:10 PM

    Robert McLaws said:

    It is my understanding from various b0rg contacts that Longhorn may eliminate the Win32 API entirely, which would mean that the entire shell would be built on top of a managed code base, and would also mean that the entire API would be exposed to .NET. Whether that is true or not remains to be seen, but I have heard this from several different sources at MS.
    # May 12, 2003 8:08 PM

    TrackBack said:

    HumanCompiler
    # May 12, 2003 11:38 PM

    Andrew Stopford said:

    Hi Erik, nice to see :D
    # May 21, 2003 4:00 AM

    DonXML said:

    Erik,
    XML has its time and place. Overuse is worse than under utilization. Although I may forget that rule sometimes, I usually have someone around that will remind me. Flash has its place, just like any other technology. Forcing a technology to work in a place it wasn’t designed for will just lead to disaster, whether that technology is XML, Flash, or anyhting else.

    DonXML
    # May 21, 2003 9:27 AM

    HumanCompiler said:

    Hi Andrew! :)

    Don, very true! I hope you didn't take offense to my little funny comment about you! I only meant it in a good way! ;)
    # May 21, 2003 12:54 PM

    TrackBack said:

    HumanCompiler
    # May 22, 2003 8:50 PM

    TrackBack said:

    Don XML Blog (not that Don)
    # May 22, 2003 8:50 PM

    James Avery said:

    What about Transformers??? That show ruled.
    # May 22, 2003 11:11 PM

    HumanCompiler said:

    You are so right, how could I forget Transformers!!! And what about He-Man???
    # May 22, 2003 11:20 PM

    David Baakman said:

    Microsoft Research has a nice project about this subject: http://research.microsoft.com/barc/MediaPresence/MyLifeBits.aspx
    # May 23, 2003 8:45 AM

    Adam Kinney said:

    Awesome. Looks like they took some notes from forums. Its silly how giddy I am too, over the custom emoticons. Should be fun ^_^
    # May 26, 2003 2:44 AM

    Adam Kinney said:

    Sounds good to me. And of course I want to have the capability to go in there and do it manually! In the same way I would rather build a string in ASP.NET and set it to a literal than use a DataList.

    I am not surprised at your opinion, it goes with your language choice ;)
    # May 26, 2003 2:52 AM

    Gerald Bauer said:

    If you want to experience the future today, that is, build your UIs using XML, check out the Open XUL Alliance site @ http://xul.sourceforge.net

    In case you wondered, XUL stands for XML User Interface Language.
    # May 26, 2003 6:31 PM

    HumanCompiler said:

    Adam, but the point I was trying to make is that this won't be HTML, you should never "theoretically" need to edit the XML :P As for the language choice, I don't think that has anything to with it. It's just a general attitude that I apply to everything in life!

    Gerald, thanx a lot, I will definitely be checking that out! :)
    # May 27, 2003 1:41 AM

    TrackBack said:

    HumanCompiler
    # May 29, 2003 1:24 AM

    Royo said:

    Cool! Thanks :)
    # May 29, 2003 7:11 AM

    DonXML said:

    Erik,
    Cool. I've downloaded it, and will be playing with it over the weekend.

    DonXML
    # June 7, 2003 11:23 AM

    JosephCooney said:

    My brother Dominic is working on a mobilization framework for .NET applications as part of his Ph.D. Instead of serializing the UI you can serialize a whole thread and send it to another computer (providing they have the right stuff installed) where it will re-hydrate and continue running. He has a "mobliezed" version of notepad which I have seen him enter text into on his lap top, drag and drop it on his iPaq in network neighbourhood, where it appears and continues running with the same stuff on the screen. Obviously it is not limited to serializing UI but that is one of the coolest ways to demo it. Check it out here if you're interested...(appologies to my brother if I've in any way mis-represented his cool Ph.D project).

    http://www.dcooney.com/mobile.html
    # June 7, 2003 3:13 PM

    HumanCompiler said:

    Cool, Don! There's a lot more that could be done with it, but I hope you enjoy what's there! ;)

    JosepheCooney, yah, your brother's project sounds really cool! I'll have to check it out. That thought (in one way or another) was crossing my mind too, as in, "why not just send entire apps over the net this way, so you don't have to deal with the security hassles of 'no touch' deployment'"...thanks for the link! :)

    oh and btw, you can serialize more than just the UI (at least I think), as it's just using reflection and grabbing anything public, but it does have to be a project that has access to WindowsForms though, because it uses the Design Time support to figure out what should and shouldn't be serialized.
    # June 7, 2003 3:23 PM

    Mike Gunderloy said:

    I took a look at XmlTreeView, because it would actually be useful in one of my current projects. However, it appears to be barfing on Tag properties when reloading. I'm getting "Value cannot be null" from somewhere deep inside the serialization layer. Here's a stripped-down XML that will (I think) trigger the problem:

    <System.Windows.Forms.TreeNodeCollection>
    <System.Windows.Forms.TreeNode>
    <System.Boolean Name="Checked">False</System.Boolean>
    <System.Windows.Forms.TreeNodeCollection Name="Nodes">
    <System.Windows.Forms.TreeNode>
    <System.Boolean Name="Checked">False</System.Boolean>
    <System.Windows.Forms.TreeNodeCollection Name="Nodes">
    <System.Windows.Forms.TreeNode>
    <System.Boolean Name="Checked">False</System.Boolean>
    <System.String Name="Text">Publish Names</System.String>
    <System.Int32 Name="ImageIndex">-1</System.Int32>
    <System.Int32 Name="SelectedImageIndex">-1</System.Int32>
    <System.Object Name="Tag">pnlPublishNames</System.Object>
    </System.Windows.Forms.TreeNode>
    </System.Windows.Forms.TreeNodeCollection>
    </System.Windows.Forms.TreeNode>
    </System.Windows.Forms.TreeNodeCollection>
    <System.String Name="Text">CopyBoy 2.0 Beta 1</System.String>
    <System.Int32 Name="ImageIndex">-1</System.Int32>
    <System.Int32 Name="SelectedImageIndex">-1</System.Int32>
    <System.Object Name="Tag">pnlMain</System.Object>
    </System.Windows.Forms.TreeNode>
    </System.Windows.Forms.TreeNodeCollection>

    I'll pound on this a bit myself, but figured you might have a quick "aha" fix :)
    # June 7, 2003 6:07 PM

    HumanCompiler said:

    Mike, yah, sorry about that, it's not perfect ;) It seems not to do very well with object references and in the case of your TreeNode with the Tag with an object reference to your pnlMain, it obvious didn't do it right :P I'm still trying to figure out how to setup Object References :( So no, I have no quick fix yet for you, sorry!

    I'd imagine that if there is interest in this, I can expand it to include assembly references (which would also shorten the XML, so you wouldn't have to put the full name every time :P), object references (that would point to another node or something like that so it wouldn't redefine the entire object again), etc...but for now I have some other projects I have to take care of. :-\
    # June 7, 2003 6:20 PM

    Mike Gunderloy said:

    Hmmmm.....interesting. Because actually - the Tag property on the TreeView that I used to create the XML (via your SaveXML call) stores literal strings in the Tag property. These strings happen to be the names of Panel controls on the same form, but I'm not actually putting direct object references in the tag.

    So, I hand-edited the XML to make the Tag System.String, and it now loads like a champ. Looks like the issue is on the Save side instead.
    # June 7, 2003 6:52 PM

    HumanCompiler said:

    Interesting indeed...i think i know what the problem is...has to do with what type the Tag is...it's an Object Property, but obviously would allow you to store a string (or anything else) in it and I didn't take that into consideration...I'll have to think about the best way to approach that one as I'm sure it would happen quite often...glad you got it and thanks for making me think ;)
    # June 7, 2003 6:58 PM

    TrackBack said:

    HumanCompiler
    # June 13, 2003 7:14 PM

    James said:

    I am having trouble with TaskVision, I have posted my problem in the forum

    http://www.windowsforms.net/Forums/ShowPost.aspx?tabIndex=1&tabId=41&PostID=4655
    # June 19, 2003 11:17 AM

    HumanCompiler said:

    Sorry to hear you're having troubles with it. You should join the workspace and help fix whatever problem it is you're having! ;)
    # June 19, 2003 2:18 PM

    Adam Kinney said:

    Thanks for the link!
    # June 19, 2003 7:29 PM

    Rachel Reese said:

    I know I'm 'behind' on reading blogs, but that is just wrong.
    # June 19, 2003 7:40 PM

    TrackBack said:

    HumanCompiler
    # June 25, 2003 10:08 PM

    Wallym said:

    So that is what is going on in Seattle this week...........
    # June 25, 2003 11:16 PM

    julie said:

    very cool that you are part of that Erik. And ditto to what Wally said. I was wondering!
    # June 25, 2003 11:26 PM

    Christian said:

    I'm no competitor with the XBox - my time doesn't allow being a game-profi ;-)

    As the youngest you have a good chance to win :-)
    # June 25, 2003 11:35 PM

    Jealous in Arizona said:

    Lucky you! Enjoy it while you can!
    # June 26, 2003 12:10 AM

    Tim Walters said:

    That does it, I'm now officially jealous!

    Lucky dog!
    # June 26, 2003 12:56 AM

    Jason Gaylord said:

    Can't wait to visit in July for the ASP.net 2.0 preview. Have fun!!!
    # June 26, 2003 12:40 PM

    Adam Kinney said:

    Awesome. I was planning on going to PDC anyways, but now I'll be sure to be there. Have fun!
    # June 26, 2003 1:41 PM

    HumanCompiler said:

    Thanks Adam! :) I'll be seeing you there in October then! ;)
    # June 26, 2003 3:02 PM

    julie said:

    Erik-
    It's fun to read what people are doing on campus. You even have the word ".NET" in there 3 times!
    julie
    # June 27, 2003 8:48 AM

    HumanCompiler said:

    Glad you find it interesting, Julie! Going to have to meet up wiht you too one of these days! :) Maybe PDC! :D
    # June 28, 2003 5:21 AM

    Adam Kinney said:

    I'll try it out and see. THen I'll get back to you. Looks good in concept.
    # June 30, 2003 5:15 PM

    TrackBack said:

    Datagrid Girl
    # June 30, 2003 10:07 PM

    nidhogg at free dot fr said:

    Been there, done that. Check out my weblog, I posted something that is really close to what you described. (http://www.stup.org/PermaLink.aspx/6f23603b-04d4-4b1c-8c8c-0d06e1fb3d10) It generates a strongly typed class that accesses settings in a configuration file. Each time the file is modified, the class is regenerated. I used a custom settings file because I wanted it to be read/write and not interfere with the existing .config related classes but the functionnality is just what you described. And I thought about doing the same for resources too :)
    # July 1, 2003 6:52 AM

    Phil said:

    I did a talk on introduction to COM Interop at my company. I was working on COM Interop, so I had some theory vs. practice types of insights for the audience. I definitely need to do this more as I was a little nervous.
    # July 2, 2003 3:47 PM

    Adam Kinney said:

    Thanks again, man!

    I'll actually give you sometime to prepare for next week, talks ;)
    # July 2, 2003 4:44 PM

    HumanCompiler said:

    Hey Phil, I hear ya on the nervous thing. I used to get nervous too. I've only spoken in about 3 or 4 times now, but it's getting much easier already and I don't really get nervous anymore...fun times! :)

    Adam, thanks! :P I've already spoken at every meeting but one! ;)
    # July 2, 2003 4:54 PM

    Datagrid Girl said:

    Yeah, but where's your iambic pentameter? :p
    # July 3, 2003 2:29 AM

    The Jeff said:

    Uhhhh...from what I remember, they can't force you to do jack unless they have there product trademarked, and even then they have to trademark it before you registered your web address, but I am not a lawyer.
    # July 3, 2003 3:00 AM

    federal-pound-me-in-the-*ss-prison? said:

    Anyone with sufficient time or money can cause you trouble, why not just pick a different name so you can enjoy your project and not headaches? If they're really interested in the domain they may be willing to reimburse you what you paid (only what you paid, don't want to sound like a squatter) so you can pick another without paying for two. Might be a good thing, give you a chance to pick something shorter and stickier (ugh did I just use stickier in a sentence?)
    # July 3, 2003 3:26 AM

    sirshannon said:

    I've been going through this set of events in my head for the last 2+ years. I think of a name that is
    a) cool
    b) not too cool for the uptight clients
    c) easy to say and hear (no "write" or "right", etc)
    d) not already taken

    This is so hard that it seems impossible.
    # July 3, 2003 3:49 AM

    Alex said:

    The issue is who started using the "mark" first. If the date you publicly started using the name predates their use, you can "normally" claim the name as yours. One wrinkle though is how "active" you have been with the mark.

    If it was me and the name was important, I would reply to them stating the date you first publicly started using the name. State that if they do not have evidence of their public use of the mark which precedes that date, that you reject their claim to to the mark.
    # July 3, 2003 7:23 AM

    James said:

    They need to have it trademarked but even then it doesn't mean much. Example we own a trademark on the phrase "Street Smart" under a specific category (goods and services).

    Someone else can register that same trademark under a different goods and services as long as it doesnt confuse the consumer.

    When it comes to domain names if you are not using the domain name bad faith (for porn or bashing the company, trying to sell it to them at some off the wall price...etc) then they can't do much.

    I would check if they trademarked it, http://www.uspto.gov

    I am not a lawyer or anything but I have registered trademarks and dealt with things like this.
    # July 3, 2003 8:38 AM

    nidhogg@free.fr said:

    Found this while browsing codeguru. http://www.codeguru.com/cs_misc/GenResourceKeys.html. This guy implemented a custom tool that generates a class to access resources.
    # July 4, 2003 11:14 AM

    HumanCompiler said:

    Thanks for the links! :)
    # July 4, 2003 12:32 PM

    Adam Kinney said:

    Thought I'd pass this link along to you, Erik:
    http://www.syncit.com/
    # July 4, 2003 3:28 PM

    HumanCompiler said:

    Well I guess that's that...somebody beat me to it! :-\ Thanks, Adam!
    # July 4, 2003 11:24 PM

    HumanCompiler said:

    Also, thanks everyone else for all your great comments! :)
    # July 7, 2003 1:33 AM

    Mike said:

    I want MS to surprise me with this os. I dont want to see old dos code there from windows 3.0. If MS finally seperate the system from the rest if the os, in memory management and files I will pat them on the back.
    # July 7, 2003 2:45 PM

    Jesse Ezell said:

    DB is definately the way to go. There is a very cool project that I have been involved with (http://www.articulateglobal.com) over the past couple months, and we debated this endlessly during the initial architecture discussions. I finally won out under the condition that we would provide an implementation of the file system interfaces that used the disk at some later date... however, there hasn't been a single request for this yet, so looks like we might not do it after all. This is very nice for me, because the file repository for the platform is very complex even without the added burden of keeping track of all those uploads on the disk.

    The DB is much nicer for server farms, etc. In the end, you should cache the stuff on the web server's disks anyway, instead of pulling it every time, but that is a relatively painless process (like 5-10 lines of code max). If size is a problem, you can also compress lots of things before putting them in the DB, and then decompress when you write to the cache, and it can speed up the transfer time from the DB.

    In any case, I like the DB approach a lot.
    # July 9, 2003 2:49 AM

    HumanCompiler said:

    Great points, Jesse, thanks for that! And I totally forgot to mention caching...definitely the thing to do...thanks for the great comment! :)

    I definitely like the DB approach too! ;)
    # July 9, 2003 2:53 AM

    Kenneth LeFebvre said:

    I just finished up a project where we stored people's driver license photographs in the database, and we found it to be extremely handy. With SQLXML on the front of our SQL Server database, we were able to use the "dbobject" virtual name in SQLXML to link directly to the photograph in our web pages. Caching the images on the web server wasn't really an issue for us, since our web server is on the same machine as the database.
    # July 9, 2003 3:16 AM

    rick said:

    I've been running some personnal tests with this, and from what I'm getting it's a *lot* faster to use the filesystem.

    I'm just writing a 170k file to a local MSDE database and the results are not encouraging. Am I way off mark, or is this speed not an issue when you factor the benefits?
    # July 9, 2003 4:48 AM

    Kenneth LeFebvre said:

    I am not a DBA, so I can't speak to what optimizations were done on our SQL Server, but we were using SQL Server Enterprise Edition on Windows 2000 Advanced Server. I'm guessing that is significantly faster than MSDE... :)

    Plus, we have thousands of photographs to deal with. The more files that have to be handled in a single folder in the filesystem, the slower it gets. I'm sure there are ways to hack around these issues (like building a b-tree with subfolders)...
    # July 10, 2003 2:46 AM

    TrackBack said:

    HumanCompiler - Erik Porter Blog
    # July 10, 2003 5:08 AM

    John Ashcroft said:

    I have a job for you son. You must hate privacy as much as I do.. muhahah!
    # July 10, 2003 6:13 AM

    HumanCompiler said:

    hahahahaha! :P
    # July 10, 2003 6:14 AM

    josh said:

    Reminds me of the movie Minority Report. In case you haven't seen it, in the movie a scan of your retina is what the world uses to identify you. Talk about a roaming profile...
    # July 10, 2003 2:11 PM

    HumanCompiler said:

    Yes, great movie! (y)
    # July 10, 2003 2:43 PM

    cathal said:

    unfortunately with the advent of IPv6, and the massively increased number of IP's available, i suspect everyone will be given a permanent IP at birth just like a social security number, as it will rid the world of this pesky internet anarchy.
    # July 10, 2003 4:03 PM

    Bruce said:

    I think everyone should be able to have multiple IDs (multiple personalities? <grin>). Each one would expose a different set of personal information or capabilities. I'd even like to be able to lie in this data, with certain legal caveats - I might use the ID of a 35-year-old grandmother of twelve on Everquest, but be legally liable if I used that persona to open a bank account.

    p.s. I am not, actually, a 35-year-old grandmother of twelve.
    # July 10, 2003 10:03 PM

    Greg said:

    I am using V 1 with enhancement. Any ideas if there is a 'differences' list anywhere between 1 and 2?
    # July 11, 2003 4:02 PM

    HumanCompiler said:

    Hi Greg, I posted an update to this entry with the changes from V1 to V2
    # July 11, 2003 4:26 PM

    Greg said:

    --Support for committing updates to a DataSet back to the database

    This is exactly what i added to V 1.0. I am curious to see how they coded this as we build custom stored proc names off the DataTable names.
    # July 11, 2003 7:05 PM

    HumanCompiler said:

    That's exactly what i added in too and yes...same here...curious to play and see how they did it.
    # July 11, 2003 7:06 PM

    Duncan said:

    Although I am regarded as a crankcase in the office for this I prefer:

    Private Function GetUserAddress(ByVal UserId as GUID) As UserAddress

    End Function

    where UserAddress is a class that has a .ToString method. This is because even though a user address is a string not every string is a user address :. a bit more type safety is introduced.

    Just a thought,
    Duncan
    # July 15, 2003 8:13 AM

    Alex Lowe said:

    Here is a more detailed list of the events in the page life cycle if you are interested....http://aspalliance.com/aldotnet/examples/plediagram.htm.
    # July 16, 2003 12:06 AM

    HumanCompiler said:

    Great, thanks, Alex! I'll put that in an update to this post! :)
    # July 16, 2003 12:16 AM

    Mel Grubb II said:

    Yup, me too.

    I use DirectCast all the time, especially when a parameter had BETTER be of a certain type. For example. I have a treeview in which the Tag property of every node holds an ArrayList of information about that node. In my code, I DirectCast the node.Tag property to an ArrayList because if it's NOT an ArrayList, then I've got serious problems. I WANT the program to crash if there is not an ArrayList in that Tag because it's a fundamental assumption I've made about the way my TreeView is going to work.
    # July 16, 2003 2:31 PM

    Steve said:

    Sounds exactly like how I feel most of the time. I've put some thought into going out on my own but never feel like the time is right. How's it going for you? How'd you make the leap? Best of luck!
    # July 19, 2003 5:56 PM

    HumanCompiler said:

    Well, I'm really only making enough to survive, but right now that's all I care about, because I also get to sit around and learn new stuff whenever I damn well please and that is soooo nice! So yah, not the greatest right now, but enough not to be homeless. A lot of the work I get is from friends and networking with people. I give presentations, am starting to do some writing, etc, networking with fellow MVPs, it all really helps out. Plus, before I quit, I had quite a bit of cash saved up! ;) I'm so spoiled and lazy, it was more of a "I must quit now...being poor is less important than being happy" Actually though, probably 75% of the problems were actually with the company itself, not the way I like to work. That was a factor, but a small one and just an added bonus that I picked up for leaving :)
    # July 19, 2003 6:01 PM

    Scott Mitchell said:

    I do a bit of consulting every now and then, but it's more for "pocket change" than anything else. Anywho, some colleagues of mine do full time consulting and from talking with them I can see the importance of networking, as you point out, Erik. Speaking at LUGs, conferences, teaching, training, etc., are all great ways to get out there and get to know people who can (hopefully!) set you up with jobs.

    Good luck in your endeavors.
    # July 19, 2003 6:49 PM

    Robert McLaws said:

    Well, <i>I</i> always thought you were sexy...

    Wait, I meant Trinity.... aww crap.
    # July 20, 2003 1:33 AM

    HumanCompiler said:

    hahaha, I was originally going to say "as long as I don't have to kiss a man", but that sounded kind of bad, but hey, since you went all out, why not? :P mmm, k! :|
    # July 20, 2003 1:36 AM

    Steve said:

    Yeah, I guess I need to work on piling up loads of cash before thinking anymore about it! I think its the type of thing everybody would like to do, I mean let's face it who likes having somebody else tell them what to do. I can see some serious perks on both sides so I'll just have to see how things pan out. For the time being I'm pretty happy where I am so until I get unhappy or run into an awesome opportunity I guess I'll have to keep listening to my boss.
    # July 20, 2003 4:27 AM

    TrackBack said:

    HumanCompiler - Erik Porter Blog
    # July 27, 2003 9:42 PM

    Robert McLaws said:

    My problem was twofold: a) I could not easily return a value by a string instead of by an index. b) all I was doing was name/value pairs anyways, and inheriting from NameValueCollection allowed me to accomplish what I needed to. c) I really didn't want to spend the next three days trying to figure out how it worked when really the NVC did what I needed it to do without compromising my design.
    # July 27, 2003 10:55 PM

    HumanCompiler said:

    Gotchya, well, you guys gave me an excuse to blog about something I do in almost all my projects. ;) Hopefully someone will find a use for it! :)
    # July 27, 2003 11:00 PM

    Adam Kinney said:

    That's what mine look like. The first time I actually made typed collection, I didn't know about the collectionbase class. That was a waste of typing. Now I my code looks pretty similiar to yours for typed collections.
    # July 28, 2003 1:25 PM

    Rob Zelt said:

    The other thing that I think is important to mention regarding Strongly Typed Collections is details about Implements IBindingList to allow use with datagrid controls.
    # July 30, 2003 8:18 PM

    HumanCompiler said:

    True, very good point, Rob. And actually, not just DataGrids, but everything that supports DataBinding in WindowsForms
    # July 30, 2003 8:21 PM

    Jesse Ezell said:

    As Juval points out on the latest .net rocks, C# is aimed at developers who are more concerned with longterm matinence costs, VB is aimed at devs who want to sling out code as fast as possible. I guess we know which camp you're in ;-).
    # July 30, 2003 11:25 PM

    HumanCompiler said:

    Absolutely not!

    I just don't like to do everything the hardest and slowest way possible!
    # July 31, 2003 12:04 AM

    paul said:

    no comments
    # August 2, 2003 4:06 PM

    Jerry Dennany said:

    So, you are a presenter at user groups? That's pretty cool, and I think that takes guts. Why do you present, though? I understand what the audience gets out of it, but what do you get out of it?
    # August 3, 2003 11:56 AM

    TrackBack said:


    HumanCompiler - Erik Porter Blog
    # August 4, 2003 12:54 AM

    HumanCompiler said:

    Here's your answer! ;)

    http://weblogs.asp.net/eporter/posts/22377.aspx
    # August 4, 2003 12:56 AM

    Damian said:

    Great post!

    It's always good to see someone with a passion for helping others. One of the things that the opensource community has over the MS developer community is the level of Altruism so it's always good to see someone within the MS world that actually does things for the greater good.

    The other benefit you would be getting is a much deeper understanding of the topics you speak on, whether you realise it or not. I have found with writing articles, I may have an understanding of a particulat topic, but to prepare for the article I do a bunch more reading and experimenting so that I (hopefully) won't get caught out. In the process of writing the article I learn a hell of a lot more than I did before.

    Thanks for putting it out there
    # August 4, 2003 1:37 AM

    HumanCompiler said:

    You're very welcome and thank YOU for the nice comments and making another great point that I totally forgot about *thumbsup*
    # August 4, 2003 1:40 AM

    Jerry Dennany said:

    Thanks for the response!
    # August 4, 2003 1:42 AM

    Anand said:

    And preparing for the session makes you do that article reading that you had been postponing for the last 1 week..:-)

    On a serious note, I also run a group and usually am short of speakers. So I study up a new area to do a session and thus I am forced to keep learning, something I would not have done in a normal course of time.

    When people ask questions during a session, you start to look at different perspectives of a problem. This is something that really makes doing a session interesting and a learning experience for me.
    # August 4, 2003 3:41 AM

    Tosh Meston said:

    I was thinking it would be cool to have some kind of API into the TV so that I could run a tool like that in Duncan MacKenzie's article "Want to Know What I'm Listening To?" that when I post a blog entry it would say something like "Watching Harvey Birdman on Cartoon Network". I'm ready too.
    # August 4, 2003 4:49 AM

    HumanCompiler said:

    :o That would definitely be cool! I love brainstorming and speculation! ;)
    # August 4, 2003 4:51 AM

    Brian Desmond said:

    Use the services as wrappers to other layers - that way you can either call the code directly from layer n, or call the service, which in turn calls layer n.

    --Brian Desmond
    # August 5, 2003 5:12 AM

    HumanCompiler said:

    Good suggestion, Brian. That's actually what I am doing. I was just thinking it would be nicer for each interface to call a common "wrapper". Only thing I'm worried about by doing this is if there are any "complications" I'm not aware of.
    # August 5, 2003 5:17 AM

    Eric Landes said:

    We haven't specifically designed this way, but I believe many of my web Services are basically that, a wrapper to other functions. However, we were talking about remoting what we wanted to put into a webservice, then if we had to wrapping a webservice around that.

    Now I don't have any experience in remoting, so I don't know if this works, but it has been suggested here. Any thoughts if this would apply to you?
    # August 5, 2003 2:35 PM

    Alex Hoffman said:

    Didn't you actually think of this a long time ago? - http://weblogs.asp.net/eporter/posts/5422.aspx

    Take another look at http://weblogs.asp.net/ahoffman/posts/5401.aspx
    # August 5, 2003 8:40 PM

    HumanCompiler said:

    Eric, yah, sorta...I believe, although I'm pretty unexperienced with Remoting myself, that it and WebServices are at the same "layer" per say and adding that would actually add more of a load to my application (at least I think so) as what I'm proposing is to actually just reference an assembly directly.

    Alex, the specific detail I'm talking about is referencing the WebService Assembly directly (not making any WebMethod calls over the internet) and calling the functions directly also. I don't see in the post you referred to any mention of that.
    # August 6, 2003 4:08 AM

    Alex Hoffman said:

    Yours is exactly the scenario that my comments address. It says that program (business) logic should be separate from the web service itself

    By doing so, one can directly address the logic through a web page, or expose the logic through a web service, or expose it in any other way one might want.

    Best practise says that a web service should typically only implement the "service interface" (business facade) that offers differing security, formats, protocols, exceptions etc. to different groups of users.
    # August 6, 2003 4:51 AM

    Alex Hoffman said:

    Actually, reading my previous comment - I sound a bit too pedantic - sorry that wasn't my intention - just a looooong day at the keyboard :)
    # August 6, 2003 4:53 AM

    TrackBack said:

    # August 6, 2003 5:00 AM

    HumanCompiler said:

    Not a problem, don't worry about it, Alex! :)

    http://weblogs.asp.net/eporter/posts/22683.aspx
    # August 6, 2003 5:01 AM

    Eric Landes said:

    Eric,
    If you reference your WebServices DLL, assuming that you have designed the way Alex suggests, can't you reference standard classes that your webservice uses? But it would be better if those were in a seperate assembly entirely, no?

    Eric
    # August 6, 2003 10:39 AM

    HumanCompiler said:

    Yes, Eric, that's what I'm now doing if you refer to the new entry I linked to.
    # August 6, 2003 3:06 PM

    Jacob said:

    In line with Damian's comment, having taught and tutored a lot through college, I have found that there is no better method to understanding material than to teach it to someone else.
    # August 6, 2003 3:15 PM

    HumanCompiler said:

    Great points guys! :)
    # August 6, 2003 3:15 PM

    TrackBack said:

    # August 6, 2003 6:44 PM

    Garrett Fitzgerald said:

    "What if you woke up and..." Wasn't that an episode of Babylon 5? :-)
    # August 6, 2003 7:18 PM

    TrackBack said:

    # August 7, 2003 2:59 AM

    TrackBack said:

    # August 7, 2003 3:02 AM

    Adam Kinney said:

    I think this is a start:

    http://www.bloggingnetwork.com/Blogs/

    Yeah I agree, I think we'll see this catch on more mainstream and not just reserved for tech heads and school kids.
    # August 7, 2003 3:13 AM

    Darren Neimke said:


    hmmm, pregnancy; birth, child raising.... gimme 3 weeks and I'll let you know ;-)

    # August 7, 2003 3:22 AM

    Darren Neimke said:


    BTW... did you see my entry (of about 2 minutes before you posted this)?

    http://weblogs.asp.net/dneimke/posts/22911.aspx

    # August 7, 2003 3:28 AM

    HumanCompiler said:

    Yes I did actually (as did Adam) and checked it out...really cool for sure! I was actually thinking about posting a link to it, but decided not to because I was thinking more of a "category network" sort of idea, so it doesn't matter where your blog is, there could be a central feed you could get at by category and see everything from every blog, etc...unless there's something i'm not getting about your link...still a cool link for sure! :)
    # August 7, 2003 3:44 AM

    Darren Neimke said:

    No nothing especially important about it; I just thought that you were probably saying what I was thinking... well maybe anyway.

    Kinda wierd huh? :-)
    # August 7, 2003 3:48 AM

    HumanCompiler said:

    Yah, maybe it's a new side effect of blogging. All those thoughts people have at the same time will now become more apparent as more of our ideas get out on the table ;)
    # August 7, 2003 3:49 AM

    Jonne Kats said:

    I totally agree with you. HasChanges should be a property. If it's a method returning something, it should start with Get.
    # August 7, 2003 4:49 AM

    TrackBack said:

    # August 7, 2003 5:41 AM

    Jonne Kats said:

    I agree with you again... I'm not a database guru, but i've thought about db naming conventions and i always use plain ID as the row identifier in tables. But hey, maybe we're both freakin' idiots....
    # August 7, 2003 6:13 AM

    TrackBack said:

    # August 7, 2003 6:55 AM

    Mads Nissen said:

    They might have some plans to-, or have deprecated funcionality for passing in a TableName in the dataset in which to check for changes. As it stands, it should definately be a property.
    # August 7, 2003 7:03 AM

    Nathan said:

    This line got me thinking:

    For i As Integer = 0 To MyData.Count - 1

    If Count = 0 Then you are going to end up with an error in this loop. What is the best way to avoid this problem?

    NM
    # August 7, 2003 7:21 AM

    Paul Laudeman said:

    I'd think that it has more to do with what goes under the hood when you call the HasChanges method. I read somewhere (can't recall immediately) that properties should only be used as an access mechanism to class level variables. Any property that has to do processing work behind the scenes to return a value should be designed as a method instead.
    # August 7, 2003 9:40 AM

    Darrell Norton said:

    From a Data Architect standpoint, unless you have a comprehensive, accurate, online data dictionary (I guarantee at least 99% of systems do not), keeping the column the same name helps for consistency. Maybe with the rest of the rules that you follow for database design it would work, but imagine someone coming in for the first time. CustomerID and ID are the same fields? How do I know what other fields are named differently but actually represent the same data? As a new person, you would not without going through the data extensively.
    # August 7, 2003 10:38 AM

    Patrick Steele said:

    Converting bad VB6 code to anything will get you bad code... :)

    The VB6 sample could have been made better by doing the ReDim *before* entering the loop since you know how many items are in the loop:

    ReDim MyArray(MyData.Count - 1)
    For i As Integer = 0 To MyData.Count - 1

    Of course, like Nathan said, you want to check for a zero MyData.Count before doing any of this.
    # August 7, 2003 11:06 AM

    TrackBack said:

    The Ides Of Marc Archives
    # August 7, 2003 11:11 AM

    josh said:

    Just for grins I made a sample app and used Reflector on it, so I could decompile it to see what the VB compiler is doing with ReDim. Very, very inefficient ;). Now, if only we could convince Microsoft to drop the Microsoft.VisualBasic namespace and force every language to use the core .NET framework .....
    # August 7, 2003 11:16 AM

    Justin Bigelow said:

    What I don't agree with is that this post seems to imply a surrogate key for the table (usually an identity) is always in order. While this may garuantee uniqueness it's debatable whether a surrogate is better than a natural key (an argument among DB people on the scale of VB.NET vs C# or .NET vs Java or peanut butter vs jelly). A compound natural key could preclude an ID field altogether.
    # August 7, 2003 12:04 PM

    Matthias Cavigelli said:

    This blog entry is very similar.
    # August 7, 2003 12:31 PM

    Jesse Ezell said:

    A table is better represented by a C style struct than a class. This is where the difficulty comes in. Classes can have getters and setters, dynamic arrays, built in logic, etc. Tables can't (well, at least not without a lot of work that 99% of people aren't going to do for obvious reasons). So, your table doesn't always map exactly to your class, even though it might map pretty well to the fields in your objects.

    In any case, I prefer using the long version (CustomerID). A lot of this is probably just upbringing, but something in my mind tells me it is better when you are doing a join or something and you end up with multiple ID fields (ie. Order->LineItem... if you use ID, then you have to use an "AS" statement to rename the IDs to OrderID and LineItemID anyway).
    # August 7, 2003 1:37 PM

    HumanCompiler said:

    Ok everyone, good points...it was early in the morning, I didn' think through what a "good" example would be, but you're missing the point at hand here! :P
    # August 7, 2003 1:39 PM

    HumanCompiler said:

    Mads, that's a good point, never thought of that!

    Paul, that's also true, but quite honestly, I (maybe I'm the only one) think the the person who makes the Class is less important than the person that's actually using the Class. Maybe it's just me, but I think it's better to develop the class with your end user in mind, not you, the one creating it.
    # August 7, 2003 1:41 PM

    HumanCompiler said:

    Darrel, "ID" would be just as descriptive as it would always be in the context of "Customers".

    Justin, I wasn't implying that at all and in fact I even put in parentheses saying "(not always though)" because quite often the identification as you mention is many different keys combined into one. I was just picking an example for my argument and went with it.

    Jesse, I'm talking purely structure...not that a Class is the same thing as a Table...but... ;)

    What about ObjectSpaces? And remember, I'm not talking code or techie talk here...purely conceptual.
    # August 7, 2003 2:00 PM

    TrackBack said:

    # August 7, 2003 5:12 PM

    Dave Schwinn said:

    I know what you mean about msdn's feeds. I can't find the page that lists all of their feeds either. Fortunately, I have them saved:

    http://msdn.microsoft.com/rss.xml
    http://msdn.microsoft.com/netframework/rss.xml
    http://msdn.microsoft.com/security/rss.xml
    http://msdn.microsoft.com/vbasic/rss.xml
    http://msdn.microsoft.com/vcsharp/rss.xml
    http://msdn.microsoft.com/visualc/rss.xml
    http://msdn.microsoft.com/vstudio/rss.xml
    http://msdn.microsoft.com/webservices/rss.xml

    The thing that really drives me crazy is that none of msdn's feeds are sorted chronologically. EVERYONE elses is. EVERYONE!!! Shesh... I'm writing my own ASP.NET weblog reader and I'll have to include code to sort the log just for msdn...

    <grrr>
    # August 7, 2003 5:17 PM

    Adam Kinney said:

    I will admit I used to use just "ID" for everything (as you know), but now I've changed my convention.

    This is the "Customer" table.
    This is the "CustomerID" field.

    Customer.CustomerID

    Since you can have multiple "ID" fields, it sounds less obscure to say "InvoiceID and CustomerID"; instead of "InvoiceID and THE ID".

    I don't know its just preference I guess.
    # August 7, 2003 11:45 PM

    Adam Kinney said:

    Hah, good glad you found it ("Just Published" Feed)!

    Thanks for the entertainment, you "big idiot" ;)
    # August 7, 2003 11:48 PM

    TrackBack said:

    # August 8, 2003 12:24 AM

    TrackBack said:

    # August 8, 2003 12:56 AM

    TrackBack said:

    # August 8, 2003 12:56 AM

    Richard Tallent said:

    One reason there aren't many about expectant mothers: the turnaround time from getting someone up to speed until they have the kid and aren't interested / don't have time for it.
    # August 8, 2003 1:01 AM

    Tim Walters said:

    I must admit I've been guilty of doing the "tbl" prefix a few times myself... it shows my MS Access legacy (used to be an Access MVP)... in there you had to prefix tables with "tbl" and queries with "qry" so you didn't get naming conflicts, as your form (which often had the same name again but with "frm" prefix) would always refer to a query for it's data as it's sorted and aggregated etc.

    In SQL-Server it's not that big of an issue, as long as you're naming your SPs well.

    Thanks for another great post HC!
    # August 8, 2003 1:17 AM

    Scott Mitchell said:

    There is a tight relationship between databases and OOP. In fact, in the 80s there was a push for a database technology referred to as ODL, or Object Database Language. ODL is used to describe the schema of OODs - object-oriented databases. There is even a query language for OODs - OQL.

    OODs died out in the 80s, due in large part to traditional RDBMS's being much more efficient. However, I wouldn't be surprised to see a revitalization of this in the near future.
    # August 8, 2003 1:23 AM

    HumanCompiler said:

    Glad you enjoyed it, Tim! Good to see you admitting you did that and thanks for the info on why you did it...very interesting...I almost feel like I'm at an AA meeting or something! :P

    According to the patterns of my other recent entries though, the next 5 people will be leaving comments that they very much disagree and as always that I'm a big idiot! ;) Ok, nobody ever really says that, but hey, I'm a humble guy! weeeeeeee
    # August 8, 2003 1:23 AM

    Scott Mitchell said:

    OH MY GOD. I programmed TP 7.0 in DOS in high school too! :-) QuickBASIC in junior high, and GW-BASIC in elementary school. Neat-o.
    # August 8, 2003 1:24 AM

    HumanCompiler said:

    Thanks for letting me know, Adam! :P

    Scott, you betchya...I wouldn't be suprised either...it's those reasons why I originally thought of posting this entry... ;)
    # August 8, 2003 1:28 AM

    Phil Scott said:

    Pretty much the only naming convention I use is putting View at the end of views. Hard to tell the difference between a view and table in a select statement.
    # August 8, 2003 1:30 AM

    HumanCompiler said:

    True, Phil, but does it matter if it's a Table or a View? ;)
    # August 8, 2003 1:32 AM

    HumanCompiler said:

    Man, small world...you didn't happen to use VB4 in high school too, did ya? ;)
    # August 8, 2003 1:33 AM

    Richard Tallent said:

    Good article. My comments on this were a bit long, so I linked to you from my blog (entry linked to my name)...
    # August 8, 2003 1:36 AM

    Scott Mitchell said:

    No, I didn't do any windows programming until 1998. That's when I first learned ASP, and, 9 months later, started 4GuysFromRolla.com. The rest, as they say, is history! :-)
    # August 8, 2003 1:42 AM

    Ron Green said:

    Well, I'm not here to tell you you are a big idiot. Actually I really appreciate the posts as they make me question why I do some of the things I do.

    Thanks.
    # August 8, 2003 1:42 AM

    HumanCompiler said:

    And quite a history it is...thanks everyone for their comments! :)
    # August 8, 2003 1:46 AM

    HumanCompiler said:

    That's awesome right there...go Ron! :)
    # August 8, 2003 1:49 AM

    Richard Tallent said:

    I used to use "t" for tables and "v" for views, but now I only use a prefix on views ("v") and on stored procedures ("st"). I use "st" rather than "sp" on stored procedures because of the problem mentioned by Phil.
    # August 8, 2003 1:57 AM

    Scott Mitchell said:

    I would encourage you to use an abbreviation for all of your objects - tables, views, sprocs, etc. - for an appliation. It helps with migration and deployment, esp. if you are building an application that others will use.

    For example, the .Text blogging software prefixes everything with blog_. The ASP.NET Forums, IIRC, prefix everything with forum_. Good to handle potential naming conflicts for those who import your schema into their own database with existing objects. (For those who are using a Web hosting account, creating a new database for the project is often not an (affordable) option.)
    # August 8, 2003 2:22 AM

    HumanCompiler said:

    That's a really good point. I'm in a hosting environment and do that with my tables, views, etc

    Man, maybe I'll have to make up another entry just of everybody's recommendations to have in one spot!
    # August 8, 2003 2:28 AM

    Duncan Mackenzie (MSDN) said:

    Sorted? Why would you want them sorted by date? Isn't it more exciting to have to dig through the whole list looking for the newest entries?

    Seriously though, I wouldn't put too much time into fixing that particular problem, I have it on good authority that it will be fixed in the next update to our feed generating code.
    # August 8, 2003 3:20 AM

    HumanCompiler said:

    Thanks for those, Dave!

    Anytime, Adam! I don't mind being the village idiot! ;)

    Awesome, Duncan...thanks! :)
    # August 8, 2003 5:52 AM

    Jacob (MVP) said:

    We organize our stored procedures by function and that is reflected in the name. If it is a proc used by an engine, then the prefix is bsp_, if it is for a GUI, then it is usp_ui_ and all others are usp_ . As for Views, we preface those with uv_ .
    # August 8, 2003 11:36 AM

    AsbjornM said:

    *raises hand*
    Yeah, I prefixes tables with tbl.. that is, physical tables. I hate bracketing tables/fields with [], so therefore I prefix.. I even prefixes fields.. vchName, intOrderID etc.
    But, what is the problem with this?, I keep this only on the database, uses sp's to access the tables (get/set/delete sp's etc), and then I have an tind data-access layer wich uses typed datasets, and there I use normal fieldnames, tablenames etc, like Order, ID, Name...

    well..
    # August 8, 2003 5:48 PM

    Christian Kuendig said:

    Erik,

    you wrote:
    > Paul, that's also true, but quite honestly,
    > I (maybe I'm the only one) think the the
    > person who makes the Class is less important
    > than the person that's actually using the
    > Class. Maybe it's just me, but I think it's
    > better to develop the class with your end
    > user in mind, not you, the one creating it.

    well, I agree with Paul and you. But especially because it's a methode one can imagine that there is quite some work going on inside it, so one may think twice before making extensible use of HasChanges() - I mean in loops and things like that... maybe one better puts the result into a local variable and instead of calling the methode each time, one uses the variable.
    With a property, I wouldn't do so, because I expect the JIT to inline the call to the get_PropName and therefore access the field directly.
    I think it's indeed a good idea to say only to use Properties when there is a simple access to a field inside the "getter".



    # August 10, 2003 7:37 AM

    Fabrice said:

    See my comment.
    # August 10, 2003 6:41 PM

    HumanCompiler said:

    hhhmmm...yes, i do see similarities, but i also see differences too? That's a cool idea to collab! what about http://www.dotnettoolbox.com and it could work for free and cost controls, as well as windowsforms and asp.net focused too...i dunno :|
    # August 10, 2003 7:03 PM

    Jason said:

    What about creating an email client that recreated your email as an rss feed? You could create a "rule" / "filter" on the subject line and/or your bank's email address. Then you'd just need to secure the rss feed on the server side so only you could get it. IP restriction for receiving the feed? Would it be really bad to use some sort of password encoded url (ie. http://logon:pass@mysite.com/BankTransfers.aspx) for the RSS feed?
    # August 10, 2003 8:36 PM

    TrackBack said:

    # August 10, 2003 8:39 PM

    HumanCompiler said:

    I was thinking of e-mail too, but decided to stop my rambling ;) Security-wise, yes, I think that would be bad for a few reasons (easily accessible on the user's computer, if hacked, packet-sniffers, etc)
    # August 10, 2003 8:43 PM

    Dave said:

    The word 'responsibility' can up recently regarding a totally different issue. I think it fits perfectly here too.

    Any automated system (read: a sequence of steps requiring no human intervention) is always open to hacking. Any system able to be hacked can and someday will be hacked.

    So who takes ultimate 'responsibility' for this? Let's be practical.... will the financial institution? Will the lawyers for this financial institution even remotely consider this?

    Okay, so now my 82 year old mom - the one who cazn't fathom the concept of a double-click - is going to feel.... more secure because this institution opened up all transactions to any sort of RSS feed? So my 55 year old brother decides to take advantage of this service. And his recently divorced ex - the techie in his family - is not going to be able to steal his ISP password and use his cheating on his wages against him? And if he does cheat... where does the IRS come in?

    For the record: the former example is very true and the latter not - but it very well could be.

    All I'm saying is BE REALISTIC PEOPLE. Is something _technically_ feasable? Hell yes. Does that mean any 'responsible' business is going to just jump at the chance to use it? ROFLMAO.
    # August 10, 2003 9:24 PM

    Fabrice said:

    Let's see what we can do...
    # August 10, 2003 9:32 PM

    HumanCompiler said:

    True, Dave (whoever you are). I am only speculating about future possibilities. These things take time...but with time, anything is possible. What I'm always curious about is the methods in which we can accomplish them.

    I think you might be overreacting just a bit. I'm not saying, we are all doing a bad job, because this wasn't done yesterday. Just hoping to get a few minds churning.
    # August 10, 2003 9:35 PM

    Andres Aguiar said:

    AFAIK, it has no effect for SqlClient. In the documentation says that is up to the data providers to do something with that value, and says that the OleDB client uses it. I asked once a guy in the SqlClient team if it has some effect for SqlClient and he said it does not.

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdatacommandbehaviorclasstopic.asp

    # August 10, 2003 11:02 PM

    HumanCompiler said:

    Well that's too bad...I did read that it's up to the provider to enhance it or not. I guess I'll be in no hurry to use it and I'll just hope that maybe it might be enhanced in the future. Thanks for the info Andres!
    # August 10, 2003 11:10 PM

    Phil Scott said:

    I've been sticking with good ol' output parameters and ExecuteNonQuery. Avoids creating the DataReader and the such.
    # August 11, 2003 1:01 AM

    HumanCompiler said:

    I'm really curious if the performance is better or worse with that...I'll have to do some testing. Like say I want two fields and I want their values returned...is using Parameters that much faster over bringing back the two fields in a result set?
    # August 11, 2003 1:08 AM

    TrackBack said:

    I see the following kind of thing a lot, talking about authentication with RSS feeds...
    # August 11, 2003 3:03 AM

    Scott Mitchell said:

    Erik, you are a mind reader. Per James Avery's suggestion, I'm going to expand the focus of aspnettoolbox.com to (free) tools for .NET developers in general. After all, as James mentioned to me in an email, many of the tools I currently have mentioned are .NET-general tools (FxCop, Reflector, etc.)

    Anywho, I just bought dotnettoolbox.com and will be renaming the site and expanding the focus.
    # August 11, 2003 3:17 AM

    HumanCompiler said:

    Awesome! You saw it here first, folks! Not only did I aid in a domain sale, but I'm psychic too! :D
    # August 11, 2003 3:20 AM

    Jack Smith said:

    Did it ever occur to you that it doesn't matter.

    Consider, for example, MS, C++, and C#. If you bust open an old MSPress C++ book on MFC, they advocate using some kind of hungarian notation. lpbstr might be a long pointer to a basic string -- I don't recall. Now look at a C# .net book by the same author. Properties have capital letters ... that's about it for naming conventions. To my mind the central difference between the C++ MFC and C# situation is design. MFC C++ evolved into an absolute nightmare. You needed lpbstr because you had long pointers to basic strings, or whatever. In C#, you've got a string. You don't have to worry about it being a char* TCHAR* a BSTR WCHAR* etc. Its just a string.

    Which, I hope illustrates my point. A naming convention won't save a crap design. So, don't spend so much time worrying about the naming convention -- fire your architect.

    Finding good developers is difficult. Finding a good architect is near impossible -- so everyone is obsessed with naming conventions.

    Besides, the desire to impose a naming convention on another human being should probably be considered with great suspicion.

    # August 11, 2003 8:20 AM

    TrackBack said:

    # August 11, 2003 12:02 PM

    Joe Heller said:

    Nice thought. I don't know if it is reasonable right now but if you were to just consider public information (non private/personal), I could be a very interesting idea. However, the thought of possibly anyone profiling me on what games I play, what my favorites are, what blogs I read, bring me crashing right back to 1984.

    Later Slacker,
    Joe

    P.S. Just thing of all the informaiton stored in a carwash.
    # August 11, 2003 2:00 PM

    HumanCompiler said:

    >> Did it ever occur to you that it doesn't matter.

    Uh...nope! ;)

    I think you've missed the point. I mean, why don't you just be sure to write as cryptic of code as possible? Then only you will be able to work with it. Job security, right? Ha! Good one! ;)
    # August 11, 2003 2:04 PM

    HumanCompiler said:

    Hey, Joe! :P The idea of Microsoft holding onto "my data" is what led to the failure of .NET My Services in the first place. So what other ideas do you have? The idea I was suggesting meant that nobody would hold onto your data except you. I am just hoping that stuff like DRM take off, so that it wouldn't matter "where" your data sat.

    P.S. *carwashes* are an inside joke with Joe and I ;)
    # August 11, 2003 2:09 PM

    Robert A. Wlodarczyk said:

    I don't think it's necessarily a bad idea per se. The main key of course would be the DRM here, and still things like credit card information shouldn't be part of the requestable information. There are alot of kinks that would need to be worked out for this to be successful.

    Hey, what this all about: http://www.ideahijacker.com/ ??? ;)
    # August 11, 2003 4:24 PM

    HumanCompiler said:

    Well, when I said it, I really did mean ALL information, not just some of it and yes, it's assuming that DRM could get to that level of security. If your credit card number was in a box with a lock that couldn't be opened by anyone but you, in theory, wouldn't you feel safe with that box being anywhere?

    idea hijacker...ssshhh...it's a secret! ;)
    # August 11, 2003 4:30 PM

    TrackBack said:

    # August 12, 2003 4:16 AM

    Adam Kinney said:

    ATOM/ECHO/PIE is beginning to touch on this subject and has identified it as something that should be implemented.

    I think we will definitley be able to do more once this is in place. RSS Feeds are great my preferred form of surfing the internet now for information I actually care to see.
    # August 12, 2003 4:23 AM

    mark said:

    ... but they all have to be of the same type, right?
    # August 13, 2003 10:23 AM

    Scott Mitchell said:

    Neat trick with the using block. Although the objects get cleaned up after they go out of scope, so if you make sure your methods are short and to the point you should be ok, no?

    I've not tried this, but does C# create scopes with {} just like C++? With C++ you could do stuff like:

    void main()
    {
    {
    int x;
    // x's lifetime is only within this scope
    }
    // x can't be referenced here, it has been reclaimed
    }

    I wonder if C# lets you do that, or if you HAVE to use using.... hrm.
    # August 13, 2003 5:19 PM

    Adam Kinney said:

    C# does scope variables the same way as C++. So without the using block, a class instance variable is dereferenced but not disposed.
    # August 14, 2003 5:00 PM

    Phill said:

    OK, How about some reality of NOW? I work for a company and my boss wants a way to communicate with our sales representatives no matter where he or they are in the world, and he doesn't want to use E-Mail. He wants a system that would be available online, but that would also be able to be available on their desktop if they wanted it to be.

    For me RSS seemed like the perfect answer, I started checking out how to create a feed, got it up and running, wrote the posting mechanism, then I turned toward securing the feed.

    The short of it is that I can't, I should have checked into it more thouroughly before I started this but there I am.

    What do you think/Know? How should I go about securing this feed on a windows 2000 server, when server based security won't secure the page?
    # August 22, 2003 8:28 PM

    Scott Mitchell said:

    Another article worth reading:
    http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-pageobjectmodel.asp
    # August 23, 2003 4:42 PM

    HumanCompiler said:

    Phil, why won't that secure the page. If the users are going through your Domain Controller, then Windows Authentication could secure it for your users (like through a VPN or something). Just have to have an aggregator that supports it.
    # August 25, 2003 1:19 AM

    Bill French said:

    Dear HumanCompiler:

    The security requirements of enterprises are pretty sophisticated. For example, it's not generally good enough to secure a document such as an RSS feed. Take a case where a search on a corporate database generates items from various information systems. That search has to take place within the users security context. The same applies to RSS feeds - each item has to be carefully added or filtered from the RSS feed based on the context. What this means is that RSS of enterprise knowledge (like search results) must not exist as a document - rather - they must be dynamic and completely in context with the user's rights and permissions.

    FWIW - the MyST platform attends to all of these requirements. ;-)
    # August 27, 2003 6:36 PM

    HumanCompiler said:

    Dear Bill:

    I agree and definitely understand what you're saying. And true the documents would have to be dynamic, but using ASP.NET they could still easily be cached, so if you're implying a performance issue (which you may not be), then I don't really see it.

    P.S. Thanks for pointing to MyST, I'll check it out.
    # August 28, 2003 1:53 AM

    TK Herman said:

    Congrats!!! :D
    # September 8, 2003 2:38 PM

    Scott Galloway said:

    Nice - not a subscriber so can't read them. Do you mention strongly typed dictionaries - I've found these incredibly useful in creating lazy loading collections for Web Apps...
    # September 8, 2003 2:39 PM

    HumanCompiler said:

    Thanks, TK! :)

    Scott, you should be able to read the other article. Sorry you can't read the other one! :( As for dictionaries, no. I mostly explain in depth of how collections work and then how to create them by inheriting from CollectionBase. Mostly just quick and dirty stuff! ;)
    # September 8, 2003 2:41 PM

    Roy Osherove said:

    Congratulations :) Too bad I ain't subscribed..
    # September 8, 2003 3:00 PM

    Datagrid Girl said:

    Congrats Erik!!
    # September 8, 2003 5:47 PM

    Jeff Julian said:

    Great Job!
    # September 8, 2003 8:04 PM

    DonXML said:

    Way to go Erik!
    # September 11, 2003 1:12 PM

    rfigueira said:

    Can you share to us, one example using your class (Encapsulating UI code in ASP.NET) ?

    Thanks
    # September 12, 2003 11:28 AM

    Ben said:

    Hey whatsup? How are ya? You seem to be very good with this Visual basic C++ type stuff.

    Im supposed to make a Mp3 player for a class, with visual basic, and my teacher is an idiot, I know nothing about Visual basic and he doesnt either.

    Do you happen to have a code or an easy way of making a mp3 player with a random feature that creates a playlist of like 10 files by any chance ;) ?

    email me at truethful1@hotmail.com

    thanks ;)
    # September 18, 2003 2:45 AM

    TrackBack said:

    # September 26, 2003 5:05 PM

    OmegaSupreme said:

    Great Job, well done :D
    # September 26, 2003 5:20 PM

    Goudinov said:

    w00t @ you!

    (y) :tup:
    # September 26, 2003 5:44 PM

    McDuck said:

    Congrats! Thats great!
    # September 26, 2003 5:44 PM

    Adam Kinney said:

    My hero...:D
    # September 26, 2003 6:04 PM

    julie said:

    'bout time! Whoopee
    # September 26, 2003 6:25 PM

    HC'sChick said:

    Congrats babe, I so proud! :-)
    # September 26, 2003 7:06 PM

    Roy Osherove said:

    Congrats!
    # September 26, 2003 7:23 PM

    Mazen Alzogbi said:

    Way to go, Congrats :)
    # September 26, 2003 7:48 PM

    JOhn said:

    Because it's overloaded with:
    HasChanges(DataRowState)
    # October 14, 2003 4:50 AM

    mickro said:

    I can't download ControlArray.zip from GotDotNet...
    # October 25, 2003 5:57 PM

    Cory Smith said:

    It looks like 'using' functionality will be in the next release of VB.NET. So it's something to look forward to.
    # October 31, 2003 5:48 PM

    TrackBack said:

    # October 31, 2003 7:00 PM

    TrackBack said:

    # October 31, 2003 7:12 PM

    HumanCompiler said:

    Oh I know...I would've said something when I posted this, but I was under NDA at the time ;)
    # October 31, 2003 7:13 PM

    julie lerman said:

    oh yes, I can see how much you have been slacking off. Writing books, writing articles, writing heroic components. Yup. Slacker!
    # November 1, 2003 10:41 PM

    Colt said:

    Welcome back - our (Multitasking) Code Hero :)
    # November 2, 2003 3:05 AM

    julie lerman said:

    well I'll be! This is one VERY frequently asked question on the aspadvice list serves. I have done plenty with streaming, but could NEVER get a store pdf to come back the browser myself. Nice one, Erik!
    # November 2, 2003 7:09 PM

    HumanCompiler said:

    You're welcome, Julie...glad you got some use out of that one...I sure did! :)
    # November 2, 2003 7:21 PM

    HumanCompiler said:

    Thanks everyone! :P
    # November 2, 2003 7:22 PM

    James Avery said:

    I have used this for awhile, but be warned that all browsers do not treat this the same as IE. I had alot of problems with Mac IE users not getting the file name, but I am not sure if they have fixed it or not.

    -James
    # November 2, 2003 7:38 PM

    HumanCompiler said:

    Thanks for the warning, James. Have any hints for "other" browsers? It's not really an issue for what we're doing, but it would be interesting to know.
    # November 2, 2003 7:41 PM

    Darrell said:

    2nd bullet - IMO typical users really should not be installing OS's anymore. Setup and deployment should be figured out by systems engineers, and either SMS'ed or ClickOnce'd out (corp environment) or preinstalled on the box (purchases).

    Thanks for the update on everything else. Our company didn't send someone, but we'll be getting the bits this month!
    # November 3, 2003 11:09 AM

    HumanCompiler said:

    Good point! ;) And you're welcome! :)
    # November 3, 2003 12:42 PM

    Robert Scoble said:

    Regarding cool animation: that's part of the Aero experience. That is NOT included in the PDC build. Sorry.
    # November 3, 2003 3:21 PM

    HumanCompiler said:

    Thanks for the clarification...got it! :)
    # November 3, 2003 3:23 PM

    Dylan Greene said:

    Just wondering... why "LongHorn" instead of "Longhorn"?
    # November 4, 2003 11:41 PM

    HumanCompiler said:

    I like pascal casing everything...even if it's not supposed to be...i'm a psycho vb programmer, what can i say? ;)
    # November 4, 2003 11:43 PM

    Thomas Tomiczek said:

    Only way.

    NULL doing whatever returns as NULL.
    # November 5, 2003 4:45 PM

    a said:

    Using IsNull(<>,0) just enforces your personal rule that NULL = 0.

    This is not what was intended with NULL. NULL means "undefined" not zero.

    Your rule works well for your situation. It may have been better to give the field a default value of zero. You could also qualify your query to ignore the null fields: WHERE <field> IS NOT NULL.
    # November 5, 2003 5:01 PM

    HumanCompiler said:

    Doesn't 0 take up more space than NULL though? I'm thinking if this table has a million rows and there are actually 27 of these columns to be averaged out that it would take up quite a bit less space to store NULL instead of 0. I get what you're saying conceptually and definitely agree, I was just thinking space...unless I'm thinking wrong :|
    # November 5, 2003 5:04 PM

    Rajeev said:

    Can we run Stored Procedures like this?
    # November 5, 2003 5:06 PM

    HumanCompiler said:

    Absolutely!
    # November 5, 2003 5:07 PM

    Thomas Tomiczek said:

    ::Doesn't 0 take up more space than NULL
    ::though?

    Depends.

    ::I'm thinking if this table has a million
    ::rows and there are actually 27

    Ok, is there also some data in this database that is NOT small? Sorry, even 27 million rows in ONE table is not even "normal". It is small given SQL Server's standards. Make this one BILLION and you are in large.

    # November 5, 2003 5:25 PM

    Eric Kepes said:

    I've always used COALESCE. Does ISNULL have any performance benefits?
    # November 5, 2003 5:42 PM

    HumanCompiler said:

    So basically what you're saying is that you should never use NULL??? *confused*
    # November 5, 2003 5:43 PM

    Meh said:

    NULLs are evil. I'm working on a consulting project, and every column in every table (except for the PK column) is NULLable. And these are BIG tables, with like 35 columns each. Double meh.
    # November 5, 2003 6:04 PM

    felttippin said:

    The Coalesce function is great. Basically you pass it two parameter. If the first one is NULL then it returns the second parameter.

    Example:
    SELECT COALESCE( Null, 1 )

    This returns 1.

    It works w/ MS Sql and MySql
    # November 5, 2003 6:22 PM

    Eric Kepes said:

    Actually, the really neat thing about COALESCE is that is can take a long list of options, and it will take take the first one that isn't null. Of course, this is rarely useful in practice, but sometimes you end up inheriting a data model that requires this kind of gymnastics.
    # November 5, 2003 6:44 PM

    HumanCompiler said:

    Yah, it's definitely cool, but I've always heard that it was kind of slow. I've also heard of lots of people that use it anyway! :P
    # November 5, 2003 6:47 PM

    Douglas Reilly said:

    Null is not evil, and actually quite useful when used correctly. First, I am not aware of any implementation that would save you a lot of space when an integer is null vs. having a value. Second, null is meant to be a missing value. If it is not missing, but actually is 0, then use a default value of 0 in the column to get what you really want.

    I find more use for IsNull than Coalesce, but have not done preformance testing. Either one would be slower than just making the column have a default value of 0 and not accept nulls.
    # November 5, 2003 10:44 PM

    AsbjornM said:

    Since Coalesce was brought up.. I think it is very good:
    Select * from Actor where Name = coalesce(@name,name)
    If the supplied @name is null then it compares it to it self and therefore returns the row. This is more usefull ofcourse if you want to use where on more than one column, this way it is easy to create generic selects to search for firstname+lastname, or only one of them.. just try... :)

    And btw, NULL is definitively EVIL.. avoid it where possible.. (in stored data that is..)
    # November 6, 2003 8:16 PM

    Kenneth Kasajian said:

    Looking at the site, I see one interesting feature, atomic check-in. Is that the only advantage over SourceSafe, or have you really been having problems with data integrity with SourceSafe?

    Curious what your reasons are for going with Vault.
    # November 9, 2003 12:27 PM

    HumanCompiler said:

    by atomic do you mean CVS style...that's definitely one advantage, so multiple people can work on the same file at the same time. There's also the fact that it uses SQL Server, so nothing ever gets corrupted as well as speed. It's also works over the internet, which source safe really doesn't. I've barely had a chance to use it yet, so I'm sure that I don't really know all the advantages yet, but those seem to be the big ones.
    # November 9, 2003 12:31 PM

    Dumky said:

    It looks more like signed remote handles than identities. Some kind of private/public key pair is used to generate tokens, that the system trusts if the private key is associated with a user's account. A token describes what it provides access to (read access to a file, write access to a directory,...).

    This possible that a token contains the name of the issuer, or that the key pair be used to sign emails, but that is no more of an identity system than PGP is, is it?
    # November 11, 2003 2:11 AM

    HumanCompiler said:

    Cool, thanks, Darren! :)
    # November 11, 2003 7:01 PM

    Frans Bouma said:

    Beware that these methods are very inefficient when they're performed on large datatables. For a couple of rows it's not an issue, but for larger sets it's better to execute an Sql statement, as the RDBMS is optimized to do these kind of calculations. (so there is a 'break even' point where .Compute() is less efficient than executing a new SQL statement.
    # November 12, 2003 8:27 AM

    HumanCompiler said:

    Right...the application we're using it for are some statistics on a data entry app, so performance on the client isn't that big of a deal. Actually performance in general isn't really that big of a deal. I'm sure it's like everyhting else...the right tool for the job.
    # November 12, 2003 11:03 PM

    Drew Marsh said:

    The only naming conventions people should really care about are those which apply to public/protected names. Internally, who really cares? Whatever works best for your development team is what you should use.

    Just my 2¢ anyway. ;)
    # November 14, 2003 2:48 PM

    Andrew said:

    The better you name, the less you need to comment.

    p.TheMethod( p1, p2, p3, q6) ?
    # November 14, 2003 2:52 PM

    Alex Papadimoulis said:

    Have you found naming VB local members "_Whatever" still causes a conflict in .NET?
    # November 14, 2003 3:01 PM

    HumanCompiler said:

    Drew, very true!

    Andrew, agree 100%

    Alex, I personally never had any problems with it, but a couple VB MVPs said that there will be conflicts if named the same as something in the VB framework, so I just took their advice and changed to m_Whatever just in case ;)
    # November 14, 2003 3:34 PM

    Darren Neimke said:


    Eric, I'm pretty similar to you except that I don't add underscores to my private fields:

    Private mName As String = ""

    Public Property Name() As String
    Get
    Return mName
    End Get
    Set(ByVal Value As String)
    mName = Value
    End Set
    End Property



    # November 14, 2003 5:17 PM

    HumanCompiler said:

    Close enough, Darren...just something to differentiate it (as in NOT camal case of the public name) ;)
    # November 14, 2003 5:20 PM

    hurcane said:

    I tend to code using the same way you do. I have a rationalization for this. Normally, iterative development starts with big picture ideas. By writing method calls before the method is written, you're dealing with the code at your current level of understanding.

    When you flesh out the unwritten routines, you'll define more references to unwritten routines. As you flesh out these new references, you're using an iterative process which tends to make individual pieces of code much simpler to understand.

    The problem I have with the reverse method is that dropping from high-level to low-level code makes me forget some of the high-level thoughts that I had.

    At the least, I'd put a "TODO: Call something that does XXXX" if I wasn't going to actually define a name for the procedure yet.
    # November 14, 2003 7:09 PM

    Addy Santo said:

    Well, if you promise that there is no wrong or right, I'll admit that I don't code top-bottom *or* bottom-top. I usually just start lumping out bits and pieces of stuff without too much of an internal structure... I can get up to several hundred lines of code without having anything even close to being compilable. That is my mental "preprocessing" during which I digest the flow, scoping and sequencing issues and decide exactly how I want my code to work. Then I do some quick refactoring, tie it all together and it's done! It drives my co-workers nuts- "Why did you do that?" "I dunno, I'll probably change it in a minute" :)

    Strange, ah?
    # November 14, 2003 7:09 PM

    Steve said:

    On properties I code the private instance variable and then the public property definition. On the method side I think I mix and match my approach somewhat but usually will write the code that calls my methods and then actually write the methods. Ideally even before that step I write my test classes against my undefined interface for my class, and then go in and fill in the details of my my class.
    # November 14, 2003 7:14 PM

    HumanCompiler said:

    All different methods so far...love it :D Maybe we'll all pick up a technique or 3 seeing how others do it ;)
    # November 14, 2003 7:26 PM

    Roland Weigelt said:

    Public stuff: 100% MS conventions (I even try to emulate the wording of the .NET documentation where it makes sense)

    Private stuff: Simplified Hungarian, i.e. n for integer numbers (short, int, long), arr for arrays (Array, ArrayList), etc.

    Why? One reason is intellisense...
    Take a look at the screenshots here:
    http://weblogs.asp.net/rweigelt/posts/21741.aspx
    # November 14, 2003 7:42 PM

    Julien Cheyssial said:

    I do write the private instance variable first and then the public property. For the method thing, I first write calls to internal methods and then implement them. Well, that's not really true... I write technical code that achieve what I want, and then I see that it's too long and makes me scroll... So I do some refactoring and move the method code into smaller internal methods.
    # November 14, 2003 7:47 PM

    Mattias Sjögren said:

    I do it the same way as your co-worker; fields before properties, and method implementation (at least stub it out) before method calls.

    When doing it your way, and since you're a VB guy, don't you get annoyed by the background compiler? You must get tons of blue squigglies for things you haven't written yet.
    # November 14, 2003 9:13 PM

    HumanCompiler said:

    Hey Mattias, no I don't actually, because I know they'll be gone in a min or two ;) And actually, I'm not just a VB guy anymore...I do about half and half at work now :P I work the same way in C# ;)
    # November 14, 2003 9:20 PM

    russ said:

    Null isn't evil and can be quite useful at times.

    IsNull is the correct function to use. I know it is extra typing, but them's the breaks.
    # November 15, 2003 2:21 AM

    Travis Laborde said:

    Wow! It's fun to read someone with the same thoughts that I've had from time to time! I find myself doing it the same way that Erik mentions. I always thought it was a sign that I wasn't a "real" programmer :)
    # November 17, 2003 6:58 PM

    HumanCompiler said:

    So are you saying that you think I'm a "real" programmer? how sweet! :P
    # November 17, 2003 7:02 PM

    Travis Laborde said:

    Well, you have a blog! That means you MUST be a super-expert at your chosen area of work, right? After all, I know that I can always trust everything that I read in a blog!
    # November 17, 2003 7:17 PM

    Rob Howard said:

    Yup, encryption won't come on line until the beta.
    # November 18, 2003 12:38 AM

    HumanCompiler said:

    cool, thanks for the confirmation, Rob! :)
    # November 18, 2003 12:46 AM

    Derick Bailey said:

    for the regex version:


    '...
    'your code to get the text
    Dim Temp As String = DirectCast(m_Template.Content.Controls(0), LiteralControl).Text

    'now the regex code.
    RegEx.Replace(Temp, "[\r|\n]", "")
    '...


    Done.
    # November 19, 2003 3:21 PM

    HumanCompiler said:

    I knew there was a reason I love blogging ;)

    Hey Derick, thanks for that, but won't that replace all the carriage returns through the literal? unfortunately and approach like that won't work, because there are tabs and carriage returns that I might want throughout the page and if it's all one big literal, the page will look a bit funky ;) And what about tabs and spaces?
    # November 19, 2003 3:26 PM

    Derick Bailey said:

    i guess I misunderstood where you are trying to remove the CR LFs from. You are wanting to remove them only from the beginning of the Temp variable?

    this one will look at the beginning of the string only, check for a carriage return, line feed, space, or tab


    RegEx.Replace(Temp, "^[\r|\n| |\t]+", "")
    # November 19, 2003 3:39 PM

    HumanCompiler said:

    That did the trick...thanks a lot, Derick...saved me 5 lines of code :D
    # November 19, 2003 3:49 PM

    Derick Bailey said:

    no problem!

    the nice thing, saving that 5 lines of code is probably going to save several hundred (if not thousands) of cpu cycles, a bunch of memory allocations, and ... especially if there is a lot of white space to remove. Regular expressions are so much more efficient than the normal string operations for situations like this.
    # November 19, 2003 4:14 PM

    HumanCompiler said:

    In this case, it will only be removing a few characters, but I totally agree with you...RegEx rox...I just suck at it, hardcore, so I never use it and I can never seem to talk my co-worker into doing them for me since he's busy with other stuff :P Thanks again!
    # November 19, 2003 4:18 PM

    felttippin said:

    Is this placed in the Template files code or in the main page's code?

    What templating system are you using?
    # November 20, 2003 2:28 PM

    HumanCompiler said:

    It's a variation on the presentation I gave recently at our local .NET user group...you can find the code here if you want to check it out.

    http://www.nufw.com/Presentations/TemplateAndSkinPresentation.zip

    It's a combination of all the templates I've seen out there, fit for my general purpose and skinning needs...enjoy! :)
    # November 20, 2003 3:19 PM

    Scott Watermasysk said:

    I used a similar approach in the past (actually might be going back to it soon).

    I had a base set of usercontrols that acted like my templates. I then overrode AddParsedSubObject and took whatever I found in the .aspx page and loaded it to my template.

    protected override void AddParsedSubObject(object control)
    {
    LoadTemplate();
    LoadBodyControl((Control)control);

    }

    -Scott
    # November 20, 2003 4:26 PM

    HumanCompiler said:

    Yup, cool, that's what I'm doing, except in a different place. :)
    # November 20, 2003 4:29 PM

    Bill said:

    Isn’t that much the same as this?
    HOW TO: Write Binary Files to the Browser Using ASP.NET and Visual Basic .NET
    http://support.microsoft.com/default.aspx?scid=kb;EN-US;307603
    # November 21, 2003 2:18 PM

    HumanCompiler said:

    Not, really, no...I'm already doing that (writing the file to the browser). The problem is that file extensions in windows are what links a file to a program, not the content type, that's why i added what was talked about...to fix the problem of the file extension being wrong since I'm using a custom http handler (different extension than the file i'm sending out).
    # November 21, 2003 2:26 PM

    Bill said:

    Ah I see. Sorry for jumping in like that.
    # November 21, 2003 2:29 PM

    HumanCompiler said:

    No worries! :)
    # November 21, 2003 2:43 PM

    Adam Kinney said:

    Thank goodness, now there's no reason to use VB. :)

    j/k
    # November 25, 2003 1:39 PM

    HumanCompiler said:

    Make love to your language, not war with others ;)
    # November 25, 2003 1:42 PM

    Andrew said:

    I don't toggle much between them, but I find the few differences I've seen quite strange.

    I ask myself why are they different, why don't both offer both approaches.

    I really like being able to create events from the property browser in C#, but it would be really nice to do it VB style in the code view too.
    # November 25, 2003 2:05 PM

    HumanCompiler said:

    Andrew, you should check out VB in Whidbey then...they've added the infamous lightening bolt so we VB'ers can do that too! ;)
    # November 25, 2003 2:07 PM

    Adam Kinney said:

    Just so this is doesn't turn into any "war"; please take note, that was just a proverbial "jab" at my co-worker sitting ten feet away from me.

    Here we use the best language for the job, he's just more of a VB advocate than me.

    C# with better IDE support will be hard to beat, though(for me at least).
    # November 25, 2003 2:15 PM

    Roy Osherove said:

    Congrats! How about writing your experiences and tribulations when writing these?
    # November 25, 2003 9:58 PM

    HumanCompiler said:

    Excellent thought, Roy. I believe I shall do that! :)
    # November 25, 2003 10:00 PM

    julie lerman said:

    yahoo! Congrats Erik. I look forward to seeing ...err READING... the book.
    # November 26, 2003 12:45 AM

    Adam Kinney said:

    Congratulations!

    Perfect timing, same day as the language slur...http://weblogs.asp.net/eporter/posts/39680.aspx#39686

    :)
    # November 26, 2003 2:31 AM

    Travis Laborde said:

    Great work Erik! This is a really approachable example that I think will allow lots of people to learn these concepts much more easily that some of the other examples of this type out there.
    # November 26, 2003 5:03 AM

    HumanCompiler said:

    Thank you very much, Travis! :)
    # November 26, 2003 9:47 AM

    Josh Baltzell said:

    Thanks a lot for the insight about technical writing. I would love to do some writing someday. One of the goals of my own blog is to see if I can actually write something on a regular basis without boring myself to tears.
    # November 29, 2003 5:58 AM

    Roy Osherove said:

    Coolness. Thanks for sharing :-)
    # November 29, 2003 10:54 AM

    Dave Burke said:

    I enjoyed the ramble, Erik! Keep us posted on the release of the Skinning article in Advisor. I was going to do a similar piece on that topic tied with page inheritance. I'm personally on the cusp of your coder-->writer transition, having sent my first piece off to a print mag recently. Any movement in my own writer evolution will most certainly be on my weblog. Keep writing, dude!

    btw, I enjoyed Josh's comment. ME TOO! on the avoidance of boring myself to tears in my blog.
    # November 29, 2003 12:27 PM

    HumanCompiler said:

    Thanks everyone :)

    Dave, it will be in the Access-VB-SQL Advisor January issue. And yes, it talks about building a BasePage Class then Loading in User Controls for the skin.

    I actually posted up a website that you can download and use (in VB or C#) that is pretty similar to the article on GotDotNet User Samples.

    Good luck with writing everyone :)
    # November 29, 2003 3:04 PM

    Jeff Key said:

    +1 I just picked one up a couple days ago and setup was painless. It's great being able to do email, catch up on blogs, etc. from the couch! Not sure how the speed is since my only client (notebook) is B, but even that is more than fast enough for my primary application: Remote Desktop.
    # November 30, 2003 4:30 PM

    Chris Stewart said:

    There is nothing wrong with Java. :p It's actually a good language for college students because it's open and easy to get going with.
    # November 30, 2003 6:33 PM

    Avonelle Lovhaug said:

    My son who is a college student has a different problem - one person on their team is a control freak, and so is doing the whole project herself. While my son has repeatedly offered to contribute, she rebuffs these offers by saying it is no problem, and that she prefers to do it. (Personally, I can appreciate her point of view. I'd much rather do it myself than trust it to others, especially people I don't know that well.)

    I think the real problem is the idea of group projects in school. My kids have been struggling with this for years. The bottom line with these groups is that in many cases, 1 or a few kids carry the load for everyone else. I've heard educators argue that group projects are more like "the real world", and that kids need to learn how to work with others. True enough, except in the real world if you weren't pulling your own weight you would be removed from the project (well, at least some of the time). But in school that will NEVER happen.
    # November 30, 2003 6:45 PM

    TrackBack said:

    Dewayne Mikkelson and his Radio WebDog, Shadow
    # November 30, 2003 7:22 PM

    TrackBack said:

    Dewayne Mikkelson and his Radio WebDog, Shadow
    # November 30, 2003 7:33 PM

    HumanCompiler said:

    Chris...whatever you say! ;)

    Very good point, Avonelle! I didn't even think of that angle. I think that's an angle that could also be helped by something like a blog for a project...
    # November 30, 2003 8:05 PM

    Scott Mitchell said:

    I don't think inserting a layer of paperwork will help remedy the problem. The offending students could just write in things like:

    -- Researched topic X
    -- Implemented Y, but such and such didn't work so I started over from scratch

    And so on and so forth. Now, what is really needed is to have some manager or something assign workloads. But the only person who could be the manager would be the professor himself, IMO. (Students would face peer pressure and such and make terrible managers, likely.) This, of course, removes the architectural decisions and planning that the instructor was wanting the students to have to take part in in the first place.

    The solution? Go to one of those kick ass schools full of work-a-holics and smarties, like MIT, Berkley, CMU, etc., etc.. I'd wager you chances of running into deadbeat partners there is less likely than at a typical state school.
    # November 30, 2003 11:35 PM

    HumanCompiler said:

    paperwork? paper is the devil ;) but no really, that's all i meant by it anyway, was a quick and short entry. and yes, i'm sure you're right if you go to a really big school known for CS stuff that it wouldn't be a problem, but compared to the number of schools that aren't that good, i'd say they're far outnumbered ;)
    # December 1, 2003 1:21 AM

    Darrell said:

    Avonelle - people will *never* get removed like you say. I used to say the same thing all throughout my undergraduate and graduate life. In the real world it usually doesn't happen. The only way people tend to get removed from projects is when they screw up really bad, the rest of the time as long as they just bumble along, they won't be removed.

    In getting my MBA, most of our projects were "team" projects and the grades were given to all regardless of who contributed how much. The reason for this is that it forces teams to self-organize to get the most out of their teammates. And it took a lot, since different cultures have different expectations. For example, when out team said "meet at 3pm" we were there at 3 or a little before. The 2 foreign exchange students showed up at 3:30, since in their native country that is an acceptable thing to do. Aaaaargh!

    Scott - at the MBA program at William and Mary where I went (a top 50 business-school) you still get slackers. Sometimes it is family problems, sometimes disinterest, sometimes incompetence in particular subject matters. The reasons are endless, the results are the same! It was very frustrating, to say the least.

    In my experience so far, the best way to deal with people that don't contribute as much is to get them into some sort of work that they can do or want to do, preferrably something routine and boring! :) It's much easier to change the work than to change the person. And if all attempts at that fail, then lock them out of SourceSafe (or other version control system) so at least they aren't a negative contributor.
    # December 1, 2003 2:17 AM

    TrackBack said:

    # December 1, 2003 2:02 PM

    Kirk Allen Evans said:

    I bought one about a month ago, and it works great.
    # December 2, 2003 4:45 PM

    TrackBack said:

    Chris Chan weblog - my bank account as an RSS feed?
    # December 4, 2003 7:13 PM

    TrackBack said:

    Chris Chan weblog - my bank account as an RSS feed?
    # December 4, 2003 7:14 PM

    friend said:

    In the Person Class you could also add a property like the one below:

    Public ReadOnly Property FullName() As String
    Get
    Return Me.FirstName & " " & Me.LastName
    End Get
    End Property

    ' And be able to use the property in a databound ComboBox as you suggested,
    ' but pull the displymember from the new property
    cmbPeople.DisplayMember = "FullName"
    # December 5, 2003 6:43 PM

    Jacob said:

    Hey Erik-

    1- Some quick and easy tests (with textboxes) show that you can call select in the load event rather than focus and you should get what you are looking for.

    2- This is a bug, I reckon. You could use the API to prevent it if you want.

    3- This is a system wide setting in the Appearance section of the display properties. You probably don't want to change that, though I can see how it's annoying.

    4- Because you haven't written one yet. ;-)

    Jacob
    # December 11, 2003 7:16 PM

    Matt Berther said:

    Erik: I love Tim Dawson's Wzard control.

    http://www.divil.co.uk/net/controls/wizardcontrol/
    # December 11, 2003 8:28 PM

    HumanCompiler said:

    Thanks Jacob, I totally forgot about using the Select Method as a workaround!

    Matt...man, how did I miss that? :'( I'll definitely give that a go...thanks! :)
    # December 11, 2003 8:31 PM

    JosephCooney said:

    IIRR Ghengis has stuff for doing wizards too.
    # December 11, 2003 8:53 PM

    Alfred Thompson said:

    I used to teach high school CS and that sounds like am interesting idea. Kids are going to be passive agressive about it though. The kids who would rather code are not going to bog. They're going to tell the instructor they don't have to because they are actually coding. The kids who don't code may or may not. If they are clever they will bog because it is easier to fake being a hard worked by writing lines of text then lines of code. Still it's something I'd like to see tried.
    # December 13, 2003 8:21 AM

    HumanCompiler said:

    Good points, Alfred. I'd definitely like to see it tried too.
    # December 13, 2003 2:28 PM

    Rana said:


    Hi,

    Your blog contains good info. Keep it up.
    # December 14, 2003 11:09 AM

    Anand said:

    3. Title Bar and other non-client area is with the windows OS and so are system wide settings. This is set in the display settings.
    # December 16, 2003 4:51 AM

    Cory Smith said:

    #3... yes, there is a way to change this. Remember the days (Office 98, I think) of adding a gradient brush to the title bar, same technique. The problem is that this is a system wide setting and therefore you aren't allowed to modify the 'standard' windows border. You can of course depart from the standard border and draw your own from scratch. ;-) Of course, in my oppinion, the result isn't worth the effort involved unless you are really changing the total look of your window.
    # December 22, 2003 10:55 PM

    Cory Smith said:

    I've put together a page that displays what games I have, my timezone/geographic location and usual gameplay times as an article (aka, Story in the .TEXT realm). If your interested, check it out by clicking on my gamertag. Feel free to duplicate... I can also create a couple of thumbnails for the games if you have some that I don't. They are probably on my list of games to buy ;-)
    # December 22, 2003 10:57 PM

    TrackBack said:

    ASP.NET Skinnable Template Site
    # December 23, 2003 8:58 PM

    TrackBack said:

    ASP.NET Skins
    # December 23, 2003 9:01 PM

    S. Srinivasa Sivakumar said:

    Hi Erik,

    Thanks for the nice tip. I'm using it in my app right now and works fine.

    Thanks,
    S. Srinivasa Sivakumar
    # December 24, 2003 5:08 AM

    HumanCompiler said:

    Great, glad you got some use out of it! :)
    # December 24, 2003 5:48 AM

    ravi said:

    Very nice tip, I like to start this on startup and I wanted to add it to "Tray" with some Icon. Could it also be possible!
    # December 24, 2003 10:04 AM

    HumanCompiler said:

    Of course...look at using the NotifyIcon Component in your application and it will put it down in the tray for you.
    # December 24, 2003 2:37 PM

    Mattias Sjögren said:

    You'd better remove the second Key.Close() call in the prop getter, or you'll get a NullReferenceException if the key doesn't exist.
    # December 31, 2003 1:11 AM

    HumanCompiler said:

    Mattias, I had fixed some problems in my application after posting that and forgot to update them here...there's also a problem with where the Key.Close() is in the setter...thanks for pointing it out and reminding me...thanks a lot :)
    # December 31, 2003 3:22 PM

    Pritam Dahake said:

    If I add required field validators to the WebPages (inherited from BasePage), they dont seem to fire. Any idea why??

    Thanks
    -Pritam
    # January 4, 2004 9:07 PM

    HumanCompiler said:

    Yes, there is a bug in .NET 1.1 where the validators are not automatically readded back into the Page's Validators Collection. If you do this yourself in OnInit, it will fix the problem.

    Also, next time, leave your e-mail address or some way for me to contact you, so I can answer your question faster.

    Good luck! :)
    # January 7, 2004 2:54 AM

    Saeed said:

    Dear Sears ,
    I Can't Use Global Array
    Please Help Me
    # January 25, 2004 1:40 PM

    Saeed said:

    Please Help me
    # January 25, 2004 1:42 PM

    vikas khanna said:

    good one
    i got much clear about vb.net arrays

    thanks
    vikas khanna
    # January 30, 2004 10:58 AM

    Oleg said:


    I'm using Store Front Engine (www.storefront.net), but it has very very bad design. Also i saw BVCommerce (www.bvcommerce.com), and it look good.
    # February 8, 2004 5:08 AM

    D. Sunil Kumar said:

    Jason Gaylord, can you please the utility that you had mentioned in your feedback on your site will be great.

    Thanks,

    Regards,
    Sunilkd
    # February 11, 2004 7:32 AM

    Maxim V. Karpov said:

    Erik,
    If I new about control before I start writing I would include more information about implementation of it. I think you code is very clear and easy to read! It is one of a few samples on how to develop a component with Designer UI!

    You rock, Maxim

    [www.ipattern.com do you?]
    # February 11, 2004 2:52 PM

    Jason Mauss said:

    I emailed him asking how you would retrieve the password for a user that forgot their password (so it could be emailed to them or something). It was not mentioned how to do this using the security method. I assume it's doable by using the hash value or something?
    # February 18, 2004 11:50 PM

    HumanCompiler said:

    I'm pretty sure it's NOT possible. That's what makes it so secure. Just have them change their password instead of e-mailing it to them or autogenerating a new one and e-mailing it to them. That's what we do...seems more secure.
    # February 18, 2004 11:52 PM

    Darrell said:

    Both SHA1 and MD5 are one-way hashes. You have to reset the password to a known value and have the user change the password on next login.

    Alternatively you can have a password hint that you show the user to help them remember the original password.
    # February 19, 2004 12:20 AM

    Jon Galloway said:

    You can also use T-SQL pwdencrypt() and pwdcompare() - http://scottcate.mykb.com/Article_46EB8.aspx and http://weblogs.asp.net/bdesmond/archive/2003/08/15/24177.aspx.

    It makes for simpler code, but there are some problems with it. The encryption's not that secure (http://www.theregister.co.uk/content/4/26086.html) and those functions are undocumented and thus subject to change.

    It'd be nice to documented, supported versions of pwdencrypt and pwdcompare in Yukon (other than just saying "you've got the CLR now, write it yourself").

    Until then, the technique described in the article looks like the way to go.
    # February 19, 2004 4:10 PM

    TrackBack said:

    # February 20, 2004 3:34 AM

    TrackBack said:

    # February 20, 2004 3:35 AM

    TrackBack said:

    Take Outs: The Digital Doggy Bag of Blog Bits for 18th and 19th February 2004
    # February 20, 2004 4:12 AM

    Daniel Fisher(lennybacon) said:

    check out http://www.aspheute.com/artikel/20040105.htm - it's a german article but the code to generate the salt and the hash are seperated from dataaccess.

    Daniel Fisher(lennybacon)
    # February 26, 2004 11:55 AM

    Ken said:

    Sounds great. Where can I download the work in progress..
    # March 4, 2004 1:44 PM

    Julie Lerman said:

    nice idea-Why not talk to Jeff Julian and the guys who are working on the ESF framework???
    # March 7, 2004 3:01 PM

    Julie Lerman said:

    (I posted too quickly) there are also vendors that are looking for groups to speak at (many are going the evangelist route so it seems to be okay to have them - not heavy on the marketing) and they too are looking for groups to speak at. Heck even Microsoft teams are looking for groups to speak at!
    # March 7, 2004 3:02 PM

    HumanCompiler said:

    Great, thanks, Julie...I'll send them a message...
    # March 7, 2004 3:03 PM

    TrackBack said:

    # March 7, 2004 3:05 PM

    John Bristowe said:

    Erik,

    We're working on it. Trust me. :-)

    John
    # March 7, 2004 4:23 PM

    TrackBack said:

    Take Outs for 7 March 2004
    # March 8, 2004 2:50 AM

    FruitBatInShades said:

    I have the same problems as others seem to have but can't find the answer.
    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
    during :-
    m_Template.Content.Controls.Add(Me.Controls(0).Controls(0))
    Any ideas :)
    # March 8, 2004 8:41 PM

    FruitBatInShades said:

    sorry forgot email :)
    # March 8, 2004 8:42 PM

    FruitBatInShades said:

    I have solved the problem (well erik told me :)
    When VS.Net asks if you want to create an associated file when you load the template.ascx, JUST SAY NOOOOOOOOO.
    This caused the skinning to fail in many miserable ways. It added the BaseClasses code to the ascx and then I got duplicated declarations which is what gives the "System.NullReferenceException: Object reference not set to an instance of an object." error :)
    # March 8, 2004 9:58 PM

    HumanCompiler said:

    Glad you go it! Sorry it was a pain!
    # March 8, 2004 10:00 PM

    mskg said:

    i think webservice is the best for database or Business programmers. BP (Business programmer are only know the business requirement and they have not complete command on Network Security (Data transfer on net). I think web service is the best.
    # March 9, 2004 5:04 AM

    a guy said:

    Hi, i am using oracle 8.1.7. I am having the adding null number problem, and oracle doesnt seem to have ISNULL() nor COALESCE(). Is anything to solve that problem in oracle? thank you for any help
    # March 9, 2004 7:40 AM

    HumanCompiler said:

    I've never used Oracle, so I'm not sure...sorry
    # March 9, 2004 11:56 AM

    FruiBatInShades said:

    This thing annoys me endlessly. It always pops up error message saying it can't do one thing or another. Grrr
    # March 10, 2004 12:21 PM

    FruitBatInShades said:

    Moody! Me! Never! I think most programmers are moody because to be a good prgrammer you need to be a bit artistic, and that means an artistic temperament.
    Good programmers thrive on the challenge and once you've done the interesting stuff, the donkey work is a chore. This is where you find out whether you are a professional programmer. If you can sit there and do all the boring stuff without moaning, you need a payrise.
    # March 10, 2004 12:29 PM

    HumanCompiler said:

    Posting about it not working on my blog won't really help anything. Go checkout the workspace and let them know of what your problems are and hopefully they'll help you get it fixed or add your problems to the bug list.
    # March 11, 2004 1:43 PM

    phalanx said:

    Hi I have a little problem. When I add button or text box, the text - or html after the button is dysplaid before the template.
    # March 11, 2004 2:22 PM

    Adam Kinney said:

    Yeah that'd be nice or at least something like it. I think to be effective it should link to some kind of event page to check the status of the event and see if a speaker has been picked up for that day or not. Otherwise I would imagine you'd get two or more items for every event, the advertisement and then any updates.
    # March 11, 2004 10:51 PM

    HumanCompiler said:

    It might just have to do with where you have your controls placed, but I really can't tell without seeing your aspx...please send me an e-mail...no need to post a comment on here about it.
    # March 11, 2004 10:59 PM

    Steve said:

    Cool, must have missed the release of this....gonna have to put it on my loooonnng list of things I need to check out!
    # March 12, 2004 4:37 PM

    Shannon J Hager said:

    I used the OfficeButton in a project but it eventually was scrapped and remade (as a static html site) before it went live so I never had a version to tell you about.
    # March 13, 2004 2:44 AM

    HumanCompiler said:

    Well good, glad you got at least a little use out of it! :P
    # March 13, 2004 12:34 PM

    jiangws said:

    Where to see your controls?
    # March 17, 2004 11:56 PM

    scorpion53061 said:

    Hi,

    I was experimenting with this and was wondering if you could tell me what is wrong with this statement?

    drnew1.Item("JAN") = r.Table.Compute(r.Item("UCOST") * r.Item("QTY"),
    r.Item("DATE") = (Format(r.Item("DATE"), "MMM" = "Jan")))
    # March 18, 2004 9:33 AM

    HumanCompiler said:

    I'm working on cleaning up some important items before the initial release. Hopefully they won't take too long. I'll blog about the feature list sometime soon.

    We have decided to give away the controls for free (obfuscated) and will be selling the source code.
    # March 18, 2004 8:18 PM

    Michael Giagnocavo said:

    I don't know why they don't use PasswordDeriveBytes. Also, the article doesn't mention iterations, which are key for increasing the strength against brute force for passwords. A P4 can calculate about 1 million hashes a second, which means a dictionary attack against a hash takes hardly any time.
    # March 18, 2004 8:21 PM

    FruitBatInShades said:

    The skinning solution is solid and FAST! Give it a try. I've got a few controls to go with it if you want them :)
    # March 18, 2004 10:17 PM

    HumanCompiler said:

    scorpion, your question would probably be better answered over e-mail or on a forum or something.
    # March 19, 2004 12:07 AM

    Mike Swaim said:

    I like SQLDiff from Apex Software.
    http://www.apexsql.com/
    It only does MS SQL Server, though.

    Mike
    # March 19, 2004 1:28 PM

    Oddur Magnusson said:

    I'd love something like that, I'd be glad to help out in anyway if you started writing one.
    # March 19, 2004 1:29 PM

    Frans Bouma said:

    The tool I use for our CMS has in its DAL a complete call logging system. (It's stored procedure/VB6/C++/ADO/XML based). So when a developer changes something in a website definition on the development box, the calls to the stored proc api are recorded. When the developer is done, the tool allows the developer to export 'changes', which in fact exports the calls to XML.

    Another tool imports that XML file and can 'replay' the logged change calls. All kinds of checks are build in of course so you don't run a call twice. Works pretty well. :) Requires some effort though to get it right.

    The problem is often that meta data which describes the semantic value of other data is stored inside the same database/catalog. This means that if you change metadata (like you alter the type of an item from '5' to '6' on the dev box) on the devbox, it's very hard to propagate that change to a production box.
    # March 19, 2004 1:40 PM

    Paul Looijmans said:

    We've been using SqlDelta ( http://www.sqldelta.com/ ) and are pretty happy about it.
    # March 19, 2004 2:09 PM

    Jon Galloway said:

    Another tool which compares two MS SQL db's: http://www.adeptsql.com/index.htm

    We use this at work and it's been helpful. I'd be happy to see what you come up with, though. These tools aren't cheap.
    # March 19, 2004 2:11 PM

    HumanCompiler said:

    Jon, very true. All these tools look great, but a little pricey (rightfully so, but still). I may play around this weekend with some ideas. If I come up with something of any use I may start up a workspace and see how much interest/ideas/work can be thought up and see if it would be a worthy cause or not. I'll blog about it of course if I do.

    Thanks everyone for your comments and links! :)
    # March 19, 2004 2:28 PM

    TrackBack said:

    Erik Porter is looking for a convenient way to sync databases. In the comments, some people have mentioned AdeptSQL, SQLDiff, and SQLDelta. These products range in price fom $225 to $300 for a single user. In our office, we use...
    # March 19, 2004 3:20 PM

    Ryan Rinaldi said:

    I use and love Red Gate's SQL Compare. It's new version is really speedy and makes updating a database a breeze.
    # March 19, 2004 9:21 PM

    HumanCompiler said:

    Hey Ryan! :) Thanks for pointing SQL Compare out...looks great, I'll definitely have to give it a try. I'm just wondering if it would be easy to write a tool that covers 75% of people's needs that could be a free tool...anywho, thanks for point it out (and Hurricane Blog)
    # March 19, 2004 9:45 PM

    mark@dotmark.net (Marco Trova) said:

    There is an open source project made in vb.net for this on SourceForge:
    http://sourceforge.net/projects/dabcos/
    # March 20, 2004 12:51 PM

    FruitBatInShades said:

    Count me in Erik. I've got some good database abstraction code. It shouldn't be too hard with the schema and using standard SQL to update.
    # March 24, 2004 2:17 PM

    Ryan Rinaldi said:

    Sounds like a really crappy bug. To bad Microsoft thinks they fixed it. Quote the KB article:
    "This problem does not occur in Internet Explorer 4.01 Service Pack 1 or later."
    # March 24, 2004 6:37 PM

    HumanCompiler said:

    Ha...didn't see that...nice! ;)

    About once every 2 years or so, I have some major problem like this. I should be good to go for a while now. :P
    # March 24, 2004 6:38 PM

    Jeff Key said:

    That's the coolest thing I've seen in a long, long time. Yow!
    # March 26, 2004 7:37 PM

    Johnny Hall said:

    You might want to take a look at NullableTypes...

    http://nullabletypes.sourceforge.net

    Which do the same thing as your EmptyClass. Probably significantly larger and more complex though.

    I'm evaluating them at the moment and I'm pretty impressed. I'll be interested to take a look at your approach too.
    # March 26, 2004 7:55 PM

    HumanCompiler said:

    Thanks for the link, I hadn't seen that...it's hard to compare, because mine's quite a bit different. With mine, you're still using regular types, it's just that it checks them to see if they're "empty", using meaning the type.MinValue or something that nobody ever uses. They're way does seem pretty cool though, just different.
    # March 26, 2004 7:57 PM

    Johnny Hall said:

    You could take a look at a recent post of Eric Gunnerson where he created an EmptyDateTime class which could be used in place of a DateTime but understood the concept of "empty". You could extend that concept to all the types, which would eliminate the need for the static class.

    http://blogs.msdn.com/ericgu/archive/2004/03/23/95011.aspx

    Good work.
    # March 26, 2004 8:04 PM

    HumanCompiler said:

    Very true...I see that's what the NullableTypes project does as well. I guess I'd rather make both available though, because when interacting with a database, it's not going to return your new class anyway, so you'd have to write some static class to turn it into your new type anyway, as well as when going back into the DB, that's why i took the simpler, less cool approach to that, but having Emptyxxxx would be great too, maybe I'll add that soon...you could always join and help out too ;)
    # March 26, 2004 8:09 PM

    Johnny Hall said:

    That's a good point. NullableTypes has a helper class(es) which manage the translation to and from the db, and for providing formatting (of the empty value).

    Thanks for the invite. I'm a bit snowed under at the moment but my current client needs something similar so I may take a look soon.

    Take care.
    # March 26, 2004 8:14 PM

    Johnny Hall said:

    Schema changes only? Or data too? Lookup data and the like can often get out of sync.

    I did something similar to this in VB6 (using DMO) at my last employer. Haven't had the chance to move any of the ideas over to .NET though. And I'm working with Oracle at the moment.

    If you have DBAs then this sort of thing is often not looked favourably upon :)
    # March 26, 2004 8:25 PM

    HumanCompiler said:

    I actually started working on something after this post...it's still not that great, but yah, I used DMO as well.

    I maybe put up the code if I get it working well. It's schema only, no data checking. Supports comparing servers on different networks other stuff
    # March 26, 2004 8:28 PM

    Johnny Hall said:

    I'll be keeping an eye on this too then :)
    # March 26, 2004 8:38 PM

    Johnny Hall said:

    I'll let you know where you'll have the most problems, right now... just so you know...

    Adding a column, if it's not at the end of the list. My advise? Don't even try it. Always add new columns at the end.

    If you don't, then you have to create a whole new table, extract the data from the original (we used BCP), add the new table, copy the data back in, and remove the old one. Especially a pain in the A, if you've got constraints, fks etc.

    Biggest mistake I ever made in my development career was supporting adding columns in the middle of a table. And for what? Field order isn't important anyway.

    It caused us all sorts of issues.
    # March 26, 2004 8:48 PM

    HumanCompiler said:

    :o Haven't gotten there yet, so thanks so much for warning me about that! I'll keep that in mind...
    # March 26, 2004 8:52 PM

    Johnny Hall said:

    If you get to it, let me know and I'll drop you the code (VB6 though).

    recipher at hotmail dot com.
    # March 26, 2004 9:00 PM

    Richard Tallent said:

    EmptyClass: cool concept! Like every developer worth their salt, I also have a collection of utility classes that I've amassed over the years. While source-control seems like a great way to share, I can't stand GDN (SourceGear man myself), but good luck on the project!

    The next two features that stick out in my mind would be:

    1. A custom string parser method that converts the string equivalents of "empty" to the internal "empty" value (it could use your TryParse class for the non-special values).

    2. Custom formatters (decorator-like pattern) that takes in a value type and optional formatting info, and spits out a formatted string, but handles "empty" values specially by outputting "" or some other "magic" value string. Example:

    Public Function SmartToString(ByVal datetime As DateTime, Optional ByVal format As String = "", Optional ByVal EmptyValue As String = "") As String
    # March 26, 2004 9:09 PM

    TrackBack said:

    Take Outs for 26 March 2004.
    # March 27, 2004 5:09 AM

    AJ said:

    Excellent, just what I was looking for.
    # March 29, 2004 8:02 PM

    Jerry Pisk said:

    Excelent? Why don't you just use Server.Transfer so you save yourself (and the client) completely unnecessary extra request?
    # March 29, 2004 8:29 PM

    HumanCompiler said:

    1. Notice the title "Quick and Dirty"
    2. My understanding of Server.Transfer, which may be wrong, is that it redirects the request from under the browser's nose, meaning the actual url the user sees in their browser would be wrong. If they save that to their favorites, they'd probably be a bit confused why the wrong page is coming up. Unless I'm understanding how Server.Transfer works.

    ;)
    # March 29, 2004 8:37 PM

    TrackBack said:

    # March 30, 2004 2:02 PM

    HumanCompiler said:

    Richard,

    I loved # 2 and added it...you can now call GetDateTimeString(MyDateTime, "m/d/yyyy", "n/a") or not pass in the optional empty format (it's an overload)...thanks for that great idea! :)

    As for # 1, I'm really not sure what you're talking about! :| Me.DumbToday = True
    # March 31, 2004 1:05 AM

    TrackBack said:

    Take Outs for 30 March 2004
    # March 31, 2004 1:28 AM

    Matthew said:

    The link to the templates does not work... where else can i find this?
    # April 1, 2004 12:51 AM

    Richard Blewett said:

    Here are a few more:

    You can get rid of the "x" in the top right hand window by setting "MinimizeBox"= false for the form. You then get an OK in the top letf hand corner. You should change this back for production as device apps should "stay alive"

    The Compact Framework Windows Forms does not suppoer alot of events that the full framework does. When you hook up to a control and subscribe to an event - make sure that that particular control does actually fire that event. The compiler will happily accept you code but it may fail at runtime. WHich events aren't supported depends on which service pack you are using.

    Before you base youur design arouond a .NET facility *make sure* that the compact framework supports it - For example Guid.NewGuid not being supported floored me for a while as it was the PK for the table I was working with.

    I'll post more about this but probably on my own blog - the CF is great but we're not in Kansas anymore Dorothy - things you expect to work from the full framework just aren't there in teh Compact Framework
    # April 2, 2004 8:26 PM

    HumanCompiler said:

    Those are great, Richard, thanks!

    How's about once you get your post up, let me know and I'll add it to the helpful links section?

    btw, with that MinimizeBox thing, couldn't you just put this in the constructor so it only does that when you're developing and doesn't when you release the product, so you don't have to worry about it...

    #If DEBUG Then
    Me.MinimizeBox = False
    #End If

    Thanks again for more tips! :)
    # April 2, 2004 8:45 PM

    Richard Blewett said:

    Yes of course you could put it in you're ctor - but then the DesignTime proprty doesn't work in the Compact Framework so you'd ave to use a compiler flag (#define, or /d on the command line IIRC) to tell whether it was designtime operation of this was runtime decision.

    Of course - for controls, the DesignTime property doesn't work in the ctor for the full framework either - you need to implement ISupportInitialize to be able to hook costruction code into a contral that depends on the DesignTime property.
    # April 2, 2004 9:01 PM

    Richard Blewett said:

    Of course if I'd read to the end of your response I'd have seen you were taling ablut teh debug flag not the DesignTime property ;-)
    # April 2, 2004 9:03 PM

    HumanCompiler said:

    It's quite alright ;) I would've just e-mailed you, but I didn't see any place to e-mail you on your blog! :(
    # April 2, 2004 9:04 PM

    jledgard said:

    Have to make sure we catch up!
    # April 4, 2004 4:28 AM

    James said:

    Erik,

    Thanks for the tidbid. Why was this such a horrible mistake? Are there any discussions you can point us too that further clarify back stepping on this?

    Thanks

    James
    # April 8, 2004 2:05 AM

    HumanCompiler said:

    Hi James,

    It's really just because the value types aren't nullable, even though they can be in a DB, so having to check for DBNull is a pain and doesn't really follow patterns like everything else so you have to either build your own custom types to handle null or write shared methods. Here's one link, but I'm sure there are many more...

    http://weblogs.asp.net/ericgu/archive/2004/03/23/95011.aspx
    # April 8, 2004 3:53 AM

    Jim Bolla said:

    I use the SqlTypes. They are nice except they aren't serializable.
    # April 8, 2004 1:14 PM

    Drew Marsh said:

    There are people in both camps of this argument. Personally I think it would have been horrible if that bit were there on the intrinsic primitives. You should not force nullable semantics where they don't belong. That said, anyone on the side of the fence where they want "nullability" on the intrinsics going forward will need only look to Whidbey's Nullable<T> generic for the solution (e.g. Nullable<int>). Now everyone can be happy!
    # April 8, 2004 2:02 PM

    Adam Kinney said:

    Sweet, thanks for the tip, man.
    # April 9, 2004 8:15 PM

    Jerry Pisk said:

    Doesn't anybody read the documentation?
    # April 9, 2004 8:45 PM

    HumanCompiler said:

    I've never really needed to do that, so why would I read the documentation for that? I just thought it was neat and would share for all the other people that haven't run across it. Did you read the documentation for all of .NET like a manual? :P
    # April 9, 2004 8:49 PM

    Richard Tallent said:

    I *do* read the SDK docs religiously--I don't use VS, so I have to look up methods and properties.

    That said, I have needed this and have never run into this little bit of info. Good tip!
    # April 9, 2004 11:41 PM

    TrackBack said:

    Take Outs for 9 April 2004
    # April 10, 2004 3:21 AM

    HumanCompiler said:

    Glad you enjoyed it. I thought it was pretty neat. I never read the docs unless I have to. I'm a slow reader and learn faster by just playing anyway.

    Yipee, I made Kent's take out list on my birthday :P
    # April 10, 2004 5:20 AM

    Richard Tallent said:

    I've done this before, so I drug up the code out of the ol' archives, cleaned it up a bit (untested), and posted it:

    http://www.tallent.us/CommentView.aspx?guid=951c8091-ce58-4d98-b562-caf4f4cb7f16

    Good luck!
    # April 12, 2004 5:36 AM

    Jeff said:

    I tied a "TimeAdjust" class to check either some values in web.config (no logged in user) or the user's profile (logged in user) in POP Forums. The code in there adjusts for Daylight Saving Time if you want to grab it in downloads:

    http://www.popforums.com

    Check the support/developers/class library docs to see what it's supposed to do.
    # April 12, 2004 5:59 PM

    TrackBack said:

    # April 12, 2004 6:55 PM

    Alexandre Rocco said:

    I think the big deal is that you always have to set a default timezone if the user is anonymous, because you don't have that info on the client. Maybe you can suppose it by some other methods like the geographic location or such things, but that would be a lot of effort for something simple.

    --Alexandre
    # April 13, 2004 11:50 AM

    Sam Gentile said:

    Highly aggreed. I am glad he is my MVP Lead. I got to know him during our 3 boat cruise and not only is he a great tech guy but a great family man as well.
    # April 13, 2004 3:47 PM

    Jerry Pisk said:

    I thought you didn't do Mod 11 because you wanted the separator to show up every 12 rows, not 11. And +1 because you don't want it at the top of the table. I have no idea what that has to do with code clarity, could you please elaborate on that?
    # April 13, 2004 3:55 PM

    HumanCompiler said:

    Well first off, let me say I'm an idiot and just didn't think of what Mod really is, "Modular Division" (thanks Adam Kinney - http://www.adamkinney.com for setting me straight), so of course division would happen before division...man I'm dumb sometimes! :P

    Jerry, that's very true that +1 would make it so it doesn't show at the top of the table, but in my mind what it does for me is make the numbers that it counts through 1 based instead of 0 based. So the first time, it does 1 Mod 12, second time 2 Mod 12, etc...as for the 12 instead of 11, the Separator shows up AFTER the item itself, so once it's found the 12th item in the list, it should SHOW the Separator (which is after the 12th item). Hope that clarifies what I meant. Also, we all work differently up inside that head of ours, so what it means to me may mean something totally different to another person. I guess that's been demonstrated here. ;)
    # April 13, 2004 4:37 PM

    Adam Kinney said:

    Glad to help. See what happens when you don't have anyone to talk outloud, too :D
    # April 13, 2004 5:21 PM

    Mike Krisher said:

    Erik,

    Great blog. Just FYI. That "x" and "ok" bug has been apparent since the 2002 OS. There is a way to REALLY close an app by capturing the "x" or "ok" tap. I'll have to look it up in a book I have and I'll pass you the VB code.

    Are you writing the article just about Pocket PCs or are you touching Smartphones as well?

    -- Mike
    # April 14, 2004 12:09 PM

    HumanCompiler said:

    Hi Mike,

    The article is actually just about SmartPhones, but it just so happens that about the same time, they started having me do PocketPC apps as well.
    # April 14, 2004 1:15 PM

    Richard Tallent said:

    When a client comes up with a "bright idea" like that, my usual response is to try to figure out why they think they need it and work around it another way. Multiple sets of buttons is not a good design, especially if those buttons are just clones of each other (i.e., they all save every data point rather than just the data rows immediately above or below them).

    My guess is that they don't want to have to scroll up/down to find save/cancel buttons. A better solution may be to have a free-floating window on the right (using position:fixed for Mozilla and the equivalent behavior for IE) or to place the repeater within a div set for an appropriate height and set to overflow:scroll (similar to an IFRAME).
    # April 14, 2004 5:36 PM

    HumanCompiler said:

    Total agree it's not the best way and I usually try the same things, convincing them of other ways, but this way was easy (getting paid by the hour) and "dumb user syndrome" where they said the user who uses that screen would "feel better" if it worked the old way. I agree there are many different "better" ways, but this was quick and easy and made them happy. But again, I usually try to talk them out of bad stuff like that.
    # April 14, 2004 6:02 PM

    Jim Cheseborough said:

    This looks very cool! I can't wait to try it.
    # April 20, 2004 8:10 PM

    Jim C said:

    ...it leaves me wanting more! haha
    Hey, I'm a coder too, so I'd like to help too.

    Off the top of my head, I want/need:
    * These tasks to appear on the calendar
    * The darn pop-ups to stop showing up.

    Anyway, this is very cool.

    Thanks a lot!
    Please keep me on a mailing list for updates!
    Jim@cheseborough.com

    # April 20, 2004 10:57 PM

    HumanCompiler said:

    Totally agree on the popups thing. I actually only added the little question popup because there doesn't appear to be a way to get the other to go away, so I used it to give you a choice whether you wanted to continue or not (you can just take that one out if you want). I did a little research on the security popup and apparently as of Office XP, editing a Task's Body Property is considered a security violation and is not allowed...bummer, so I really don't see a way around it unfortunately! :(

    As for the other one, you can probably add in a bit more code to add an appointment as well.

    I won't be having a mailing list for updates, but be sure to read my blog. If I do anything else with it, I'll talk about it here. Honestly though, I don't have an attention span. This was just a little lunch project that I thought would be cool and handy. True, the popups suck, but it's better than doing it by hand.
    # April 20, 2004 11:03 PM

    LateNightCode said:

    Great idea, Erik! I'm always looking for ways to organize my schedule and never really thought of doing something that utilizes Outlook. Just goes to show that nothing is impossible if you put your mind to it.
    # April 21, 2004 10:40 PM

    TrackBack said:

    # April 26, 2004 8:06 PM

    Jerry Pisk said:

    Say goodbye to localization as you're passing date values as strings formatted with your SQL Server's locale.

    The datetime data type is stored as a double internally, to get the date alone you just need to strip the fractional part, to get the time portion you strip the integer part. Pass it back to the client as datetime and format according to their locale, not your database server's.
    # April 28, 2004 7:36 PM

    HumanCompiler said:

    That's fine...doesn't affect us at all (this is for one client doing access reports). For those of you who would use this and it would affect you...there's your warning from Jerry! ;)
    # April 28, 2004 7:39 PM

    TrackBack said:

    Take Outs for 28 April 2004
    # April 29, 2004 3:28 AM

    Phil Weber said:

    > Where are the Microsoft employees from the SQL Server team?

    http://www.sqljunkies.com/WebLog/default.aspx?GroupID=2
    # April 29, 2004 6:06 PM

    HumanCompiler said:

    Well it is true what they say...I am blind...thanks! :D
    # April 29, 2004 6:09 PM

    AndrewSeven said:

    There was a bunch of discussion about this when all the MS people were moved here from the other blog.

    I solved the problem by swithing from using the website to using SharpReader...
    # April 29, 2004 6:23 PM

    HumanCompiler said:

    I use SharpReader and still think it's a problem. I won't subscribe to the main feed because of its size.
    # April 29, 2004 6:26 PM

    Dustin Mihalik said:

    I agree that wireless syncing is really cool, but Bluetooth is about the slowest medium you could use. It would probably take over a few hours to transfer a TV show. It would even be pretty slow over 802.11b. I think the best method is still the cradle. When you put it down to charge, it auto-syncs the newest stuff.

    However, I think it would be great if these PMC's could act as a "remote" for an MCE box using Bluetooth. You could select things to play, build playlists, etc.
    # April 29, 2004 9:05 PM

    HumanCompiler said:

    Absolutely, that would be fantastic (some people have done it with PocketPC's, so I'd imagine they will).

    Thanks for the education on blue tooth, again, I'm a n00b ;) But still, there has got to be something. The biggest thing I see with syncing is I have to remember to do it. It's fine if I'm already at my desktop and thinking of it, but when I'm getting ready to go on a trip I have a lot more on my mind than "hey, i need to sync my PMC so I can watch TV on the plane".

    i hear what you're saying and you're right about the speed, but if it's something I don't have to think about and just happens in the background, is speed that big of a deal to me?
    # April 29, 2004 9:14 PM

    Adam Porter said:

    Perhaps 802.11G would be a bit quicker? The only sure-fire quick way to do it would be USB 2.0 or Firewire. Heck, over Firwire I downloaded 18.5GB of music to my iPod in 45-50 minutes. Simply AMAZING!

    http://www.windowsfordevices.com/files/article012/sld005.html

    mmmm. sexy.
    # April 30, 2004 12:08 PM

    HumanCompiler said:

    Yes, very nice, Adam, thanks for the link! :)

    I just think we're all still thinking way too much like super geeks. If it takes an hour to sync all my TV and music, I wouldn't care if I didn't have to think about it. I'd never notice! That's all I'm saying, because technically with speed an all that, you're all right.
    # April 30, 2004 2:29 PM

    JENN said:

    HI WHOEVER CAN HELP ME!
    I RECENTLY MESSED UP MY SETTING FOR MY INTERNET EXPLORER AND KNOW THE ADDRESS BAR IS AN ICON ON THE RIGHT HAND SIDE OF THE SCREEN
    HOW DO I GET IT TO TURN BACK INTO AN ADDRESS BAR WHERE I CAN TYPE MY WEBSITES IN IT AGAIN!
    # April 30, 2004 3:48 PM

    JENN said:

    HI WHOEVER CAN HELP ME!
    I RECENTLY MESSED UP MY SETTING FOR MY INTERNET EXPLORER AND KNOW THE ADDRESS BAR IS AN ICON ON THE RIGHT HAND SIDE OF THE SCREEN
    HOW DO I GET IT TO TURN BACK INTO AN ADDRESS BAR WHERE I CAN TYPE MY WEBSITES IN IT AGAIN!
    # April 30, 2004 3:53 PM

    Adam Porter said:

    See ya there!
    # April 30, 2004 5:39 PM

    matthew said:

    that's not a blog, it's a message board.
    # May 1, 2004 2:52 PM

    HumanCompiler said:

    Um...what's the difference? ;) If you think about it, Forums (Message Boards), Newsgroups, and Blogs are the exact same thing, just a bit different presentation. Someday, I hope we all get more organized and they all become "one" in some way shape or form.
    # May 1, 2004 2:58 PM

    TrackBack said:

    # May 3, 2004 6:13 PM

    Steve said:

    You gotta love the power of custom attributes!
    # May 3, 2004 6:31 PM

    AndrewSeven said:

    I really like attributes, but wouldn't your example be better implemented using a property on the base class.

    Something to allow usage like:
    base.AddToTitle("Section title");
    base.AddToTitle("Page Title");

    It feels like you are decorating executable code with display data which is leading to using reflection for static values.
    # May 3, 2004 7:24 PM

    HumanCompiler said:

    Quite possibly, yah. I really just like it because i don't have to "write any lines of code" per say. I'm not looking at it as a performance or technical thing, just from a organizational way.

    From a technical standpoint, you're probably right. I didn't do any performance testing on it either, so it may slow it down a little...not sure. Not really an issue for me though.
    # May 3, 2004 7:29 PM

    AndrewSeven said:

    How is:
    [PageTitle("Section", 1),PageTitle("Page", 2)]
    Less code than:
    AddTitle("Section")
    AddTitle("Page")
    ?

    Both approaches still require code in both the individual class and the base class. How does it change organization?


    # May 3, 2004 8:10 PM

    HumanCompiler said:

    Using Attributes requires no "lines of execution" and no overriding of OnInit and Title is an "Attribute" per say of an HTML page. Just feels better and cleaner to me than calling methods. Just my opinion. Not saying your way is wrong or anything :)
    # May 3, 2004 8:17 PM

    Scott said:

    The only problem I would have with it is the cost of reflection on every page load, even if the page has already been rendered once. I hate doing the same thing more than once just to get the same result I got previously. To me, that's time wasted. That would be mitigated by some kind of state caching process that would keep track of the pages that have already been rendered once. Between that and output page caching you would be pulling everything about the page, except the dynamic content, from an in memory cache and it would be really fast.
    # May 3, 2004 10:06 PM

    HumanCompiler said:

    Yah, in this project I'm using the Cache A LOT. I may end up using it for the Attributes as well, but as it stands right now, performance is not an issue for the project. When it becomes one, I'll see about caching it.
    # May 4, 2004 3:04 AM

    AndrewSeven said:

    I don't really have an issue with the reflection, I just don't understand what advantage this approach has.
    I don't know why you would need to set your title in OnInit either.

    Doing this stuff with attributes and reflection seems complicated when it could be achieved with simple methods and an array.

    # May 4, 2004 12:07 PM

    Luciano Evaristo Guerche said:

    I have posted some custom SQL 2000 functions related to working with datetime at http://weblogs.asp.net/guerchele/archive/2004/05/04/125899.aspx
    # May 4, 2004 6:13 PM

    Tom Barnaby said:

    The advantage I see with the attribute approach is that it results in a slighly looser coupling between the BasePage class and the derived page class. In the attribute solution, the base class relies on an attribute applied on the derived class. In the method solution, the derived class relies on a method exposed by the base class AND the base class relies on the derived class to call that method.

    Its a subtle difference and the positive effects may only be fully realized in maintenance mode.
    # May 4, 2004 7:05 PM

    rob said:

    when I close internet explorer I always get and error page
    # May 6, 2004 11:15 AM

    Juvus said:

    I'm using Oracle 8.0 and ISNULL is not avaiable but NVL work the same way.

    Yes null is evil, but in the medical world the number 0 does not equal to null. Zero is zero and NULL is BLANK, NO DONE, SKIP, NA etc...

    Juvus
    # May 6, 2004 7:03 PM

    Mike Mann said:

    Can i get the VB6 code Johnny Hall??
    # May 12, 2004 4:20 PM

    Mike Mann said:

    vbguru613@hotmail.com
    # May 12, 2004 4:21 PM

    Sahil Malik said:

    I think thats really cool honestly. It gives it meaning like a restaurant carry out is a doggie bag, or the backup icon shows a floppy disk on it (get real what are you going to backup on 1.44 MB).

    Hey I've been asking this around, maybe you can help - How can I get a blog on weblogs.asp.net or blogs.msdn.com .. ??
    # May 14, 2004 5:34 PM

    test said:

    test
    # May 14, 2004 11:08 PM

    Hell said:

    Dim anArray as ArrayList
    anArray.Add("bleh")
    anArray.Add("bleh2")
    anArray.Add("bleh3")
    Dim manyArrayList as ArrayList manyArrayList.Add(anArrayList)

    'Question: How can I read the first "bleh" contained is manyArrayList?
    # May 14, 2004 11:10 PM

    Mark said:

    I an having the same problem as mentioned above, when I want to open a new browser window or click an a link that opens a new window in IE 6.0 with XP. When this happens I get an error message saying Internet Explorer has encountered a problem and must close. Is this the same thing that was happening in the above error and KB Article 180176 fixed the issue?
    # May 17, 2004 6:00 PM

    HumanCompiler said:

    Actually, no, mine wasn't doing that, but I believe from reading the KB that they are definitely related.
    # May 17, 2004 6:12 PM

    Derek Simon said:

    I thought I was the only picky user to think that icon wasn't entirely appropriate. Oh well. I guess that makes two of us! :)
    # May 18, 2004 6:59 PM

    HumanCompiler said:

    I wouldn't say "picky"...I think "perfectionistic thinker" is more appropriate ;)
    # May 18, 2004 10:02 PM

    Peter Evans said:

    If you are looking for good formatting date and time functions libraries check out the archives at http://www.sqlservercentral.com there been several good date time functions presented there.
    # May 21, 2004 3:29 AM

    TrackBack said:

    # May 23, 2004 5:43 PM

    TrackBack said:

    # May 23, 2004 5:44 PM

    Joe said:

    Hey man I think your example is cool but wrong. I think you just made a minor error.

    If you use that snipet you will probly get stuck in an infinte loop.

    sol.
    private $type$ $property$
    {
    get { return _$property$;}
    set { _$property$ = value;}
    }
    $end$

    # May 27, 2004 8:46 PM

    HumanCompiler said:

    oops...typo...thanks...fixed!
    # May 27, 2004 9:07 PM

    Thomas Freudenberg said:

    Hmm, I would prefer to have the field in Camel case and the property in Pascal case, but I don't think that this is possible.
    # May 28, 2004 6:24 AM

    Frans Bouma said:

    I'm with Thomas, the property should be CaMel cased.

    Here's a macro to do it today in VS.NET 2003:

    ''' Creates a property.
    ''' format: type name has to be present at the current line.
    ''' Uses caMel casing.
    Sub CreateProperty()
    Dim typeName, propertyName, memberName, nameRead As String
    Dim ts As TextSelection
    Dim sb As New StringBuilder
    Dim boolIsOpened As Boolean

    Try
    ts = DTE.ActiveDocument.Selection
    If (ts.IsEmpty) Then
    ts.SelectLine()
    End If

    typeName = (ts.Text.Split(" ")(0)).Trim()
    nameRead = ((ts.Text.Split(" ")(1))).Trim()
    propertyName = nameRead.Substring(0, 1).ToUpper & nameRead.Substring(1)
    memberName = "_" + nameRead.Substring(0, 1).ToLower() & nameRead.Substring(1)

    ' actual property
    sb.Append("/// <summary>" & Environment.NewLine)
    sb.AppendFormat("/// Gets / sets {0}{1}", nameRead, Environment.NewLine)
    sb.Append("/// </summary>" & Environment.NewLine)
    sb.Append("public " + typeName + " " + propertyName)
    sb.Append(vbCrLf)
    sb.Append("{")
    sb.Append(vbCrLf)

    ' get
    sb.Append("get")
    sb.Append(vbCrLf)
    sb.Append("{")
    sb.Append(vbCrLf)
    sb.AppendFormat("return {0};", memberName)
    sb.Append(vbCrLf)
    sb.Append("}")
    sb.Append(vbCrLf)

    ' set
    sb.Append("set")
    sb.Append(vbCrLf)
    sb.Append("{")
    sb.Append(vbCrLf)
    sb.AppendFormat("{0} = value;", memberName)
    sb.Append(vbCrLf)
    sb.Append("}")
    sb.Append(vbCrLf)
    sb.Append("}")
    sb.Append(vbCrLf)
    sb.Append(vbCrLf)

    'Check to see if UndoContext object is already open.
    If DTE.UndoContext.IsOpen = False Then
    'Open the UndoContext object to track changes.
    Call DTE.UndoContext.Open("CreateProperty " & propertyName, False)
    boolIsOpened = True
    End If

    ' Replace the text
    ts.Delete()
    ts.Insert(sb.ToString(), vsInsertFlags.vsInsertFlagsInsertAtStart)
    Finally

    'If UndoContext was already open, don't close it.
    If boolIsOpened = True Then
    'Close the UndoContext object to commit the changes.
    DTE.UndoContext.Close()
    ' Format the Selection
    ts.SmartFormat()
    ts.MoveToPoint(ts.BottomPoint.CreateEditPoint())
    ts.LineUp()
    End If
    End Try
    End Sub


    Simply do this:

    int foo
    then at that line hit the key combi which executes the macro and you'll get:

    /// <summary>
    /// Gets / sets foo
    /// </summary>
    public int Foo
    {
    get
    {
    return _foo;
    }
    set
    {
    _foo = value;
    }
    }

    # May 28, 2004 6:40 AM

    HumanCompiler said:

    Thomas, I talked with Joe N on the C# team about functions in snippets. He said it's something he's been pushing to get in there, but doubts it will for VS 2005.

    Frans, that's fine...there are bunches of macros out there for that, but this entry is talking about code snippets in VS 2005. And in the future, please post code as a new entry and link to me, not in the comment...thanks. Also, that is your opinion that it should be cased like that...not a fact that it "should" be that way. ;)
    # May 28, 2004 5:10 PM

    Clarens said:

    why not have the date and time seperated right from the start of the tabel design before inputing the data!!!
    # May 29, 2004 6:03 PM

    HumanCompiler said:

    Well, for our case, that wasn't option, the table was already designed.
    # May 30, 2004 2:36 PM

    Daniel Jin said:

    I couple mistakes I'd like to point out in that ramble.

    about string interning. only string literals are interned. dynamically created strings are never interned. you can call String.Intern(), to add a non-interned string to the intern pool if one with the same value is not already in the pool, or return the one in the pool otherwise.

    string interning has nothing to do with connection pooling. yes, connection pooling is by connection string, but if you have two different instance of connection strings that have the exact same value but actually are references to different strings, it will be the same connection pool. different pools will result if the values (not references) are not identical, say if one has an extra space than the other.
    # June 8, 2004 6:31 PM

    HumanCompiler said:

    Thanks for the corrections about Intern...I didn't really know what it meant and more just meant to say "internal".

    For some reason I was confused and thought that two strings with the same value would reference the same internal string, which is why I made the assumption about connection strings, but what you said makes total sense about all that matters is that the values match, not reference.

    Thanks for the corrections, Daniel!
    # June 8, 2004 6:55 PM

    michael said:

    I actually ran a test a while back:

    http://www.melloblog.com/Feedback.aspx?BlogID=47
    # June 8, 2004 11:48 PM

    HumanCompiler said:

    cool, thanks for the link! :)
    # June 9, 2004 12:01 AM

    dmark said:

    is there any way to prevent aspx from generating white spaces while viewing the page in the browser, i.e, the aspx page in design mode does not have spaces, but the compiled web page has breaks in between....
    # June 10, 2004 12:03 AM

    Andy said:

    You Rock!

    Thanks
    # June 10, 2004 8:58 PM

    HumanCompiler said:

    Glad this post could help you out! :)
    # June 10, 2004 9:04 PM

    Philipp said:

    We are working on a managed version of the Speech API for WinFX (currently in the System.Speech namespace). You can find us on the PDC DVD as well as the community previews.

    There are even some early on-line articles written by folks who found us on those DVDs.

    What are you trying to build with the managed speech bits?
    # June 11, 2004 8:07 PM

    HumanCompiler said:

    Well as I mentioned above, I'd like to make a Plug-in for Visual Studio. If you'd like to talk more over e-mail, feel free to contact me!
    # June 11, 2004 8:44 PM

    Adam said:

    You can have multiple attributes on separate lines in VB prior to 2005, you just have to use only one set of < and >

    <Serializable(), _
    CLSCompliant(True)> _
    Class SomeClass

    End Class
    # June 14, 2004 8:40 PM

    HumanCompiler said:

    True, true, but it doesn't look very pretty ;)
    # June 14, 2004 8:44 PM

    TrackBack said:

    Filling in the gaps...
    # June 15, 2004 4:47 PM

    TrackBack said:

    Two more VB 2005 features...
    # June 15, 2004 6:36 PM

    secretGeek said:

    hey that's cool. i often want to do exactly that.
    # June 16, 2004 12:36 AM

    Ever hopefull said:

    Can anyone confirm if this works for C# too?
    # June 16, 2004 12:04 PM

    Fan said:

    @Ever hopefull
    Yes, It dose!
    # June 16, 2004 1:03 PM

    Makenshi said:

    My opinion is thus.

    I have faced the same problem, I have written in-house RSS feeds which need appropriate authorization to use.

    RSS is simply a data stream, which is encapsulated by another. You can simply apply access restrictions at lower levels of the OSI model. For instance, the most common way of accessing RSS feeds is by HTTP. Simply apply a HTTP authorization scheme, and that solves your problem. There's no reason why you have to use HTTP, there are a huge range of methods of delivering content! One hindering factor is that the majority of clients simply use plain HTTP for fetching feeds. It would be trivial to write a proxy, or even a whole client, supporting whatever retrieval method you desire.
    # June 16, 2004 2:25 PM

    HumanCompiler said:

    Thanks for verifying that for us...good to know! :)
    # June 16, 2004 2:32 PM

    dj said:

    don't use vb, but surely it will allow you to use a decrementing count in a for loop.
    # June 16, 2004 4:03 PM

    TrackBack said:

    # June 16, 2004 4:07 PM

    HumanCompiler said:

    Don't use VB? Why not? I use both VB and C# myself...sorry to hear you have a problem with VB ;) And yes, you can loop backwards in VB, but I wanted to loop forward (for other reasons) and just access the opposite loop index (as if i were going backwards) in the same loop.
    # June 16, 2004 4:07 PM

    Raj Kaimal said:


    Not sure why you are using the Math function.

    Dim j As Integer
    Dim Count As Integer = 5

    For i As Integer = 0 To Count - 1
    j = (Count - 1) - i
    Next
    # June 16, 2004 4:09 PM

    HumanCompiler said:

    Because I overcomplicate things sometimes...thanks, Raj ;)
    # June 16, 2004 4:12 PM

    Bill McCarthy said:

    Hey Erik,

    I psoted a reply at http://msmvps.com/bill/archive/2004/06/17/8322.aspx#8325
    which I think simplifies it :)
    # June 16, 2004 4:18 PM

    TrackBack said:

    # June 16, 2004 4:19 PM

    TrackBack said:

    # June 16, 2004 5:10 PM

    Mike Swaim said:

    Why not make the variable internal. That way, other objects inside your class library can mess with it, but it's invisible to code outside your library. (Plus, you can do it now.)
    # June 16, 2004 5:21 PM

    HumanCompiler said:

    Because what if I have logic in my setter than does some other things? That's a no go for me at least...what I end up doing is like this (today)...

    Private _Test As String = ""

    Public ReadOnly Property Test() As String
    Get
    Return _Test
    End Get
    End Property

    Friend Sub SetTest(ByVal Value As String)
    _Test = Value
    'other code
    End Sub

    That's why the new stuff mentioned in this post will be so handy...don't have to make a separate Method everytime :P
    # June 16, 2004 5:34 PM

    TrackBack said:

    # June 16, 2004 6:38 PM

    Yoeri said:

    Why not use BringToFront() on the added item ?

    The order of the dock is controlled by Z-Order. You can put an item on top by using BringToFront ... or SendToBack ...
    # June 17, 2004 5:29 AM

    Jason Nussbaum said:

    I'm assuming you can't do this in VB, but I know it's valid in JavaScript/ActionScript and believe it's valid in C#:
    [as/js]
    var Count:Number = 5;
    for( var i:Number=0,j:Number=Count-1; i < Count; i++,j-- )
    {
    // process
    trace( i + " :: " + j );
    }

    Is there no simple way to do that in VB?
    eg:
    For i As Integer = 0 To Count - 1, j As Integer = Count - 1 to 0
    ' process
    Next
    # June 17, 2004 2:43 PM

    HumanCompiler said:

    I just figured it was from the order that they were added to the Controls Collection (since that's how it seems it is at Design Time)...That's good to know for future stuff...thanks!
    # June 17, 2004 11:57 PM

    calf said:

    Hi I am having a problem with adding to a dynamic array

    this is the declaration :

    Private arrButtons As Button() = New Button(Button_Counter) {}

    when I press on a button I would like to add more buttons which are created using the array above
    # June 18, 2004 8:24 PM

    TrackBack said:

    # June 19, 2004 1:46 AM

    Diego Vega said:

    Nice that you mention this. I have been wondering if VB.NET 2005 would support this since it was included in C# 2.0 spec (http://msdn.microsoft.com/vcsharp/team/language/default.aspx). Let me say this one of the very few things I missed from VB6 ;)
    # June 19, 2004 4:48 AM

    nospamplease75@yahoo.com (haacked) said:

    You go homie! The reason I blog is that I feel it connects me to a larger community. I love it when I blog something and someone else tells me I have it wrong. And then we discuss and I learn something. It's great!
    # June 19, 2004 4:49 AM

    Julie Lerman said:

    have to get this out of the way: tUrmoil! :-)
    as for the rest - a much bigger grin
    # June 19, 2004 10:20 AM

    HumanCompiler said:

    Cory and Phil...glad you agree and thanks for the comments :)

    Julie...how fitting ;) *fixed*
    # June 19, 2004 5:14 PM

    Steve said:

    Right on brotha!!
    # June 19, 2004 11:31 PM

    michael said:

    I make mistakes all the time, and it's great when someone corrects me.

    I blog for several reasons:

    -I like interaction with the .NET and technology community in general.

    -I'm gaining experience by maintaining my website and database.

    -I'm working on a big weakness of mine - communication. Through blogging, I'm able to work on gathering and organizing my thoughts. This, I believe, has helped me break through some of my communication barriers.
    # June 20, 2004 6:00 PM

    Steve Stoiche said:

    Very well said! My view on blogging pretty much matches everything that you have said. It shouldn't be something that is going to be put under a microscope and scrutinized by everyone. There may be times I ask questions about your posts, but it's done out of respect and to get inside your head and hopefully learn something new that I never thought of (and that's a frequent event). Your blogging has opened my mind to new areas and helped me solve issues that I have been plagued by. You know I know about your abilities and your knowledge - and believe me - there's no shortcomings there! Thanks for dumping your feelings, Erik and keep on blogging!
    # June 21, 2004 1:32 PM

    HumanCompiler said:

    Thanks, Steve, Michael and Steve.

    Steve S, you're too kind...glad to help! :)
    # June 22, 2004 4:34 AM

    Tim Harris said:

    Possible Bug: Try This.

    Place one control on the form such as a Textbox1. Then right click the Textbox1 copy and paste it back on the form which creates TextBox2. If you then user the Control Array Editor which displays all avaiable controls you will see TextBox1 and TextBox1 listed and not TextBox1 and TextBox2.
    # June 22, 2004 2:29 PM

    Brian Desmond said:

    Nah. It works fine.

    Array.Sort uses an IComparer to determine which item has higher precedence.

    Array.Reverse just mirrors the array vertically...
    # June 24, 2004 10:01 PM

    John Bristowe said:

    Try the following test case:

    Dim Temp() As Boolean = New Boolean() { True, False, True, False }
    # June 24, 2004 10:02 PM

    HumanCompiler said:

    Man, oh, man am I glad I blogged about being an idiot and how it's OK ;)

    Thanks John, between your comment and talking with Brian (and his comment), I realized that I didn't really understand what Array.Reverse does and my example is a bad one (yours is better :P).

    Thanks guys! :)
    # June 24, 2004 10:12 PM

    Greg Robinson said:

    sniffle, sniffle, sniffle...I agree 100%
    # June 25, 2004 12:13 PM

    TrackBack said:

    # June 28, 2004 2:58 PM

    Raghavendra Prabhu said:

    Another option is to reset the toolbox (right click + select Reset).
    # July 9, 2004 6:10 AM

    Erik Porter said:

    Unfortunately that seems to make VS crash in some cases, that's why I had to do this one. :(
    # July 9, 2004 12:13 PM

    Steve Hall said:

    I've always like the word "find" much better than "search", since it connotes a hint of success to the process of looking for whatever...

    E.g., I do a lot of searching on Google and quite often don't find what I'm looking for...
    # July 12, 2004 7:25 PM

    TrackBack said:

    # July 12, 2004 10:39 PM

    TrackBack said:

    # July 12, 2004 10:44 PM

    Erik Porter said:

    Exactly!
    # July 12, 2004 11:22 PM

    TrackBack said:

    So today Erik Porter linked to a very silly list of reasons to switch from VB.Net to C#. I say very silly because most&#8212;nearly all&#8212;of the &#8220;reasons&#8221; are either nonsense, irrelevant, or outright wrong. As someone who recently switched from...
    # July 13, 2004 3:10 AM

    jsdthcy said:

    Thanks for the update!
    # July 15, 2004 10:15 AM

    jsdthcy said:

    In my opinion,Speaking can be changed by times!
    # July 15, 2004 10:53 AM

    knarklau said:

    http://www.latex-pvc.net http://www.ass-paradise.com http://www.blond-girls.us http://www.couple-games.com http://www.cumfaces.net http://www.hot-bitches.us http://www.hot-blowjob.com http://www.hot-porn.biz http://www.moresex.at http://www.teen-amateur.biz http://www.xxx-games.us http://www.more-sex.at">http://www.more-sex.at http://more-sex.at http://hardcore-teen.more-sex.info http://xxx-porn.more-sex.info http://hot-teen.more-sex.info http://junge-cheerleader.more-sex.info http://erotik.more-sex.info http://adult-sex.more-sex.info http://dildo.more-sex.info http://britney-nackt.more-sex.info http://adult-porn.more-sex.info http://bitches.more-sex.info http://abspritzen.more-sex.info http://abrauchen.more-sex.info http://girl.more-sex.info http://abpoofen.more-sex.info http://xxx-games.us http://teen-amateur.biz http://moresex.at http://latex-pvc.net http://hot-porn.biz http://hot-blowjob.com http://hot-bitches.us http://cumfaces.net http://couple-games.com http://blond-girls.us http://ass-paradise.com http://sex-toy.more-sex.info http://free-porn.more-sex.info http://hot-girl.more-sex.info http://nude-poppen.more-sex.info http://porn.more-sex.info http://anal-sex.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://pornobilder.more-sex.info http://reife-weiber.more-sex.info http://sex.more-sex.info http://hardcorebilder.more-sex.info http://hot-bitches.more-sex.info http://lesbian.more-sex.info http://lesbian-sex.more-sex.info http://masturbation.more-sex.info http://mature.more-sex.info http://modellen-porno.more-sex.info http://modellen-sexy.more-sex.info http://mutter-ficken.more-sex.info http://nackt-sandra.more-sex.info http://nackte-teen.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://fuck.more-sex.info http://gay-nackt.more-sex.info http://geschlecht-jugendlich.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://hot-girls.more-sex.info http://xxx-sex.more-sex.info http://sexbilder.more-sex.info http://sextoysporno.more-sex.info http://sharemydildo.more-sex.info http://toy-slut.more-sex.info http://tussi.more-sex.info http://www.more-sex.info http://xxx.more-sex.info http://www.more-sex.at">http://www.more-sex.at http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://adult-friend-finder.blogletters.com http://adult-movie.blogletters.com http://adult-toy.blogletters.com http://amateur-blowjob.blogletters.com http://amateur-couple.blogletters.com http://amateur-page.blogletters.com http://amateur-porn.blogletters.com http://amateur-wife.blogletters.com http://anal-sex.blogletters.com http://asian-fetish.blogletters.com http://asian-fetish-kamasutra.blogletters.com http://ass-action.blogletters.com http://ass-fucking.blogletters.com http://ass-linking.blogletters.com http://ass-paradise.blogletters.com http://ass-porn.blogletters.com http://big-ass.blogletters.com http://big-booty-bitch.blogletters.com http://biker-bitch.blogletters.com http://bitch.blogletters.com http://black-ass.blogletters.com http://black-bitch.blogletters.com http://blonde.blogletters.com http://blonde-blowjob.blogletters.com http://blonde-pussy.blogletters.com http://blonde-sex.blogletters.com http://blow-job.blogletters.com http://blowjob-paradise.blogletters.com http://blowjob-party.blogletters.com http://blowjobs.blogletters.com http://blowjob-team.blogletters.com http://couple.blogletters.com http://couple-fucking.blogletters.com http://couple-games.blogletters.com http://couple-hardcore.blogletters.com http://cum.blogletters.com http://cumfaces.blogletters.com http://cum-facial.blogletters.com http://cum-fiesta.blogletters.com http://cum-on-her-face.blogletters.com http://cum-shot.blogletters.com http://drunk-bitch.blogletters.com http://face-cum.blogletters.com http://face-fuck.blogletters.com http://face-sitting.blogletters.com http://fat-ass.blogletters.com http://fat-bitch.blogletters.com http://fetish-sex.blogletters.com http://fotos-xxx.blogletters.com http://free-blowjob-picture.blogletters.com http://free-porn.blogletters.com http://free-porn-movie.blogletters.com http://free-sex.blogletters.com http://free-xxx.blogletters.com http://ghetto-bitch.blogletters.com http://girl-kissing.blogletters.com http://hardcore-porn.blogletters.com http://hardcore-xxx.blogletters.com http://hot-bitches.blogletters.com http://hot-blowjob.blogletters.com http://hot-couple.blogletters.com http://hot-porn.blogletters.com http://latex-babe.blogletters.com http://latex-fetish.blogletters.com http://latex-lesbian.blogletters.com http://latex-pvc.blogletters.com http://latex-sex.blogletters.com http://latex-slut.blogletters.com http://moresex.blogletters.com http://naked-bitch.blogletters.com http://naked-couple.blogletters.com http://naughty-girls.blogletters.com http://nice-ass.blogletters.com http://nude-teen.blogletters.com http://old-bitch.blogletters.com http://pantiehose-fetish.blogletters.com http://porn.blogletters.com http://porn-site.blogletters.com http://porn-star.blogletters.com http://porn-xxx.blogletters.com http://reality-porn.blogletters.com http://sex.blogletters.com http://sex-com.blogletters.com http://sex-couple.blogletters.com http://sex-game.blogletters.com http://sex-picture.blogletters.com http://sexy-blonde.blogletters.com http://sexy-teen.blogletters.com http://street-blowjob.blogletters.com http://teen-amateur.blogletters.com http://teen-ass.blogletters.com http://teen-blowjob.blogletters.com http://teen-chat.blogletters.com http://teen-couple.blogletters.com http://teen-cum.blogletters.com http://teen-girl.blogletters.com http://teen-job.blogletters.com http://teen-porn.blogletters.com http://teen-pussy.blogletters.com http://teen-sex.blogletters.com http://world-sex.blogletters.com http://www.blogletters.com http://xxx.blogletters.com http://xxx-games.blogletters.com http://xxx-movie.blogletters.com http://xxx-password.blogletters.com http://xxx-pussy.blogletters.com http://xxx-sex-picture.blogletters.com http://xxx-story.blogletters.com http://blog.blogletters.com
    # July 16, 2004 11:23 AM

    Yes said:

    http://www.latex-pvc.net http://www.ass-paradise.com http://www.blond-girls.us http://www.couple-games.com http://www.cumfaces.net http://www.hot-bitches.us http://www.hot-blowjob.com http://www.hot-porn.biz http://www.moresex.at http://www.teen-amateur.biz http://www.xxx-games.us http://www.more-sex.at">http://www.more-sex.at http://more-sex.at http://hardcore-teen.more-sex.info http://xxx-porn.more-sex.info http://hot-teen.more-sex.info http://junge-cheerleader.more-sex.info http://erotik.more-sex.info http://adult-sex.more-sex.info http://dildo.more-sex.info http://britney-nackt.more-sex.info http://adult-porn.more-sex.info http://bitches.more-sex.info http://abspritzen.more-sex.info http://abrauchen.more-sex.info http://girl.more-sex.info http://abpoofen.more-sex.info http://xxx-games.us http://teen-amateur.biz http://moresex.at http://latex-pvc.net http://hot-porn.biz http://hot-blowjob.com http://hot-bitches.us http://cumfaces.net http://couple-games.com http://blond-girls.us http://ass-paradise.com http://sex-toy.more-sex.info http://free-porn.more-sex.info http://hot-girl.more-sex.info http://nude-poppen.more-sex.info http://porn.more-sex.info http://anal-sex.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://pornobilder.more-sex.info http://reife-weiber.more-sex.info http://sex.more-sex.info http://hardcorebilder.more-sex.info http://hot-bitches.more-sex.info http://lesbian.more-sex.info http://lesbian-sex.more-sex.info http://masturbation.more-sex.info http://mature.more-sex.info http://modellen-porno.more-sex.info http://modellen-sexy.more-sex.info http://mutter-ficken.more-sex.info http://nackt-sandra.more-sex.info http://nackte-teen.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://fuck.more-sex.info http://gay-nackt.more-sex.info http://geschlecht-jugendlich.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://hot-girls.more-sex.info http://xxx-sex.more-sex.info http://sexbilder.more-sex.info http://sextoysporno.more-sex.info http://sharemydildo.more-sex.info http://toy-slut.more-sex.info http://tussi.more-sex.info http://www.more-sex.info http://xxx.more-sex.info http://www.more-sex.at">http://www.more-sex.at http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://adult-friend-finder.blogletters.com http://adult-movie.blogletters.com http://adult-toy.blogletters.com http://amateur-blowjob.blogletters.com http://amateur-couple.blogletters.com http://amateur-page.blogletters.com http://amateur-porn.blogletters.com http://amateur-wife.blogletters.com http://anal-sex.blogletters.com http://asian-fetish.blogletters.com http://asian-fetish-kamasutra.blogletters.com http://ass-action.blogletters.com http://ass-fucking.blogletters.com http://ass-linking.blogletters.com http://ass-paradise.blogletters.com http://ass-porn.blogletters.com http://big-ass.blogletters.com http://big-booty-bitch.blogletters.com http://biker-bitch.blogletters.com http://bitch.blogletters.com http://black-ass.blogletters.com http://black-bitch.blogletters.com http://blonde.blogletters.com http://blonde-blowjob.blogletters.com http://blonde-pussy.blogletters.com http://blonde-sex.blogletters.com http://blow-job.blogletters.com http://blowjob-paradise.blogletters.com http://blowjob-party.blogletters.com http://blowjobs.blogletters.com http://blowjob-team.blogletters.com http://couple.blogletters.com http://couple-fucking.blogletters.com http://couple-games.blogletters.com http://couple-hardcore.blogletters.com http://cum.blogletters.com http://cumfaces.blogletters.com http://cum-facial.blogletters.com http://cum-fiesta.blogletters.com http://cum-on-her-face.blogletters.com http://cum-shot.blogletters.com http://drunk-bitch.blogletters.com http://face-cum.blogletters.com http://face-fuck.blogletters.com http://face-sitting.blogletters.com http://fat-ass.blogletters.com http://fat-bitch.blogletters.com http://fetish-sex.blogletters.com http://fotos-xxx.blogletters.com http://free-blowjob-picture.blogletters.com http://free-porn.blogletters.com http://free-porn-movie.blogletters.com http://free-sex.blogletters.com http://free-xxx.blogletters.com http://ghetto-bitch.blogletters.com http://girl-kissing.blogletters.com http://hardcore-porn.blogletters.com http://hardcore-xxx.blogletters.com http://hot-bitches.blogletters.com http://hot-blowjob.blogletters.com http://hot-couple.blogletters.com http://hot-porn.blogletters.com http://latex-babe.blogletters.com http://latex-fetish.blogletters.com http://latex-lesbian.blogletters.com http://latex-pvc.blogletters.com http://latex-sex.blogletters.com http://latex-slut.blogletters.com http://moresex.blogletters.com http://naked-bitch.blogletters.com http://naked-couple.blogletters.com http://naughty-girls.blogletters.com http://nice-ass.blogletters.com http://nude-teen.blogletters.com http://old-bitch.blogletters.com http://pantiehose-fetish.blogletters.com http://porn.blogletters.com http://porn-site.blogletters.com http://porn-star.blogletters.com http://porn-xxx.blogletters.com http://reality-porn.blogletters.com http://sex.blogletters.com http://sex-com.blogletters.com http://sex-couple.blogletters.com http://sex-game.blogletters.com http://sex-picture.blogletters.com http://sexy-blonde.blogletters.com http://sexy-teen.blogletters.com http://street-blowjob.blogletters.com http://teen-amateur.blogletters.com http://teen-ass.blogletters.com http://teen-blowjob.blogletters.com http://teen-chat.blogletters.com http://teen-couple.blogletters.com http://teen-cum.blogletters.com http://teen-girl.blogletters.com http://teen-job.blogletters.com http://teen-porn.blogletters.com http://teen-pussy.blogletters.com http://teen-sex.blogletters.com http://world-sex.blogletters.com http://www.blogletters.com http://xxx.blogletters.com http://xxx-games.blogletters.com http://xxx-movie.blogletters.com http://xxx-password.blogletters.com http://xxx-pussy.blogletters.com http://xxx-sex-picture.blogletters.com http://xxx-story.blogletters.com http://blog.blogletters.com
    # July 16, 2004 11:26 AM

    Bagang Uragu said:

    http://www.latex-pvc.net http://www.ass-paradise.com http://www.blond-girls.us http://www.couple-games.com http://www.cumfaces.net http://www.hot-bitches.us http://www.hot-blowjob.com http://www.hot-porn.biz http://www.moresex.at http://www.teen-amateur.biz http://www.xxx-games.us http://www.more-sex.at">http://www.more-sex.at http://more-sex.at http://hardcore-teen.more-sex.info http://xxx-porn.more-sex.info http://hot-teen.more-sex.info http://junge-cheerleader.more-sex.info http://erotik.more-sex.info http://adult-sex.more-sex.info http://dildo.more-sex.info http://britney-nackt.more-sex.info http://adult-porn.more-sex.info http://bitches.more-sex.info http://abspritzen.more-sex.info http://abrauchen.more-sex.info http://girl.more-sex.info http://abpoofen.more-sex.info http://xxx-games.us http://teen-amateur.biz http://moresex.at http://latex-pvc.net http://hot-porn.biz http://hot-blowjob.com http://hot-bitches.us http://cumfaces.net http://couple-games.com http://blond-girls.us http://ass-paradise.com http://sex-toy.more-sex.info http://free-porn.more-sex.info http://hot-girl.more-sex.info http://nude-poppen.more-sex.info http://porn.more-sex.info http://anal-sex.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://pornobilder.more-sex.info http://reife-weiber.more-sex.info http://sex.more-sex.info http://hardcorebilder.more-sex.info http://hot-bitches.more-sex.info http://lesbian.more-sex.info http://lesbian-sex.more-sex.info http://masturbation.more-sex.info http://mature.more-sex.info http://modellen-porno.more-sex.info http://modellen-sexy.more-sex.info http://mutter-ficken.more-sex.info http://nackt-sandra.more-sex.info http://nackte-teen.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://fuck.more-sex.info http://gay-nackt.more-sex.info http://geschlecht-jugendlich.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://hot-girls.more-sex.info http://xxx-sex.more-sex.info http://sexbilder.more-sex.info http://sextoysporno.more-sex.info http://sharemydildo.more-sex.info http://toy-slut.more-sex.info http://tussi.more-sex.info http://www.more-sex.info http://xxx.more-sex.info http://www.more-sex.at">http://www.more-sex.at http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://adult-friend-finder.blogletters.com http://adult-movie.blogletters.com http://adult-toy.blogletters.com http://amateur-blowjob.blogletters.com http://amateur-couple.blogletters.com http://amateur-page.blogletters.com http://amateur-porn.blogletters.com http://amateur-wife.blogletters.com http://anal-sex.blogletters.com http://asian-fetish.blogletters.com http://asian-fetish-kamasutra.blogletters.com http://ass-action.blogletters.com http://ass-fucking.blogletters.com http://ass-linking.blogletters.com http://ass-paradise.blogletters.com http://ass-porn.blogletters.com http://big-ass.blogletters.com http://big-booty-bitch.blogletters.com http://biker-bitch.blogletters.com http://bitch.blogletters.com http://black-ass.blogletters.com http://black-bitch.blogletters.com http://blonde.blogletters.com http://blonde-blowjob.blogletters.com http://blonde-pussy.blogletters.com http://blonde-sex.blogletters.com http://blow-job.blogletters.com http://blowjob-paradise.blogletters.com http://blowjob-party.blogletters.com http://blowjobs.blogletters.com http://blowjob-team.blogletters.com http://couple.blogletters.com http://couple-fucking.blogletters.com http://couple-games.blogletters.com http://couple-hardcore.blogletters.com http://cum.blogletters.com http://cumfaces.blogletters.com http://cum-facial.blogletters.com http://cum-fiesta.blogletters.com http://cum-on-her-face.blogletters.com http://cum-shot.blogletters.com http://drunk-bitch.blogletters.com http://face-cum.blogletters.com http://face-fuck.blogletters.com http://face-sitting.blogletters.com http://fat-ass.blogletters.com http://fat-bitch.blogletters.com http://fetish-sex.blogletters.com http://fotos-xxx.blogletters.com http://free-blowjob-picture.blogletters.com http://free-porn.blogletters.com http://free-porn-movie.blogletters.com http://free-sex.blogletters.com http://free-xxx.blogletters.com http://ghetto-bitch.blogletters.com http://girl-kissing.blogletters.com http://hardcore-porn.blogletters.com http://hardcore-xxx.blogletters.com http://hot-bitches.blogletters.com http://hot-blowjob.blogletters.com http://hot-couple.blogletters.com http://hot-porn.blogletters.com http://latex-babe.blogletters.com http://latex-fetish.blogletters.com http://latex-lesbian.blogletters.com http://latex-pvc.blogletters.com http://latex-sex.blogletters.com http://latex-slut.blogletters.com http://moresex.blogletters.com http://naked-bitch.blogletters.com http://naked-couple.blogletters.com http://naughty-girls.blogletters.com http://nice-ass.blogletters.com http://nude-teen.blogletters.com http://old-bitch.blogletters.com http://pantiehose-fetish.blogletters.com http://porn.blogletters.com http://porn-site.blogletters.com http://porn-star.blogletters.com http://porn-xxx.blogletters.com http://reality-porn.blogletters.com http://sex.blogletters.com http://sex-com.blogletters.com http://sex-couple.blogletters.com http://sex-game.blogletters.com http://sex-picture.blogletters.com http://sexy-blonde.blogletters.com http://sexy-teen.blogletters.com http://street-blowjob.blogletters.com http://teen-amateur.blogletters.com http://teen-ass.blogletters.com http://teen-blowjob.blogletters.com http://teen-chat.blogletters.com http://teen-couple.blogletters.com http://teen-cum.blogletters.com http://teen-girl.blogletters.com http://teen-job.blogletters.com http://teen-porn.blogletters.com http://teen-pussy.blogletters.com http://teen-sex.blogletters.com http://world-sex.blogletters.com http://www.blogletters.com http://xxx.blogletters.com http://xxx-games.blogletters.com http://xxx-movie.blogletters.com http://xxx-password.blogletters.com http://xxx-pussy.blogletters.com http://xxx-sex-picture.blogletters.com http://xxx-story.blogletters.com http://blog.blogletters.com
    # July 16, 2004 11:26 AM

    Onko said:

    http://www.latex-pvc.net http://www.ass-paradise.com http://www.blond-girls.us http://www.couple-games.com http://www.cumfaces.net http://www.hot-bitches.us http://www.hot-blowjob.com http://www.hot-porn.biz http://www.moresex.at http://www.teen-amateur.biz http://www.xxx-games.us http://www.more-sex.at">http://www.more-sex.at http://more-sex.at http://hardcore-teen.more-sex.info http://xxx-porn.more-sex.info http://hot-teen.more-sex.info http://junge-cheerleader.more-sex.info http://erotik.more-sex.info http://adult-sex.more-sex.info http://dildo.more-sex.info http://britney-nackt.more-sex.info http://adult-porn.more-sex.info http://bitches.more-sex.info http://abspritzen.more-sex.info http://abrauchen.more-sex.info http://girl.more-sex.info http://abpoofen.more-sex.info http://xxx-games.us http://teen-amateur.biz http://moresex.at http://latex-pvc.net http://hot-porn.biz http://hot-blowjob.com http://hot-bitches.us http://cumfaces.net http://couple-games.com http://blond-girls.us http://ass-paradise.com http://sex-toy.more-sex.info http://free-porn.more-sex.info http://hot-girl.more-sex.info http://nude-poppen.more-sex.info http://porn.more-sex.info http://anal-sex.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://pornobilder.more-sex.info http://reife-weiber.more-sex.info http://sex.more-sex.info http://hardcorebilder.more-sex.info http://hot-bitches.more-sex.info http://lesbian.more-sex.info http://lesbian-sex.more-sex.info http://masturbation.more-sex.info http://mature.more-sex.info http://modellen-porno.more-sex.info http://modellen-sexy.more-sex.info http://mutter-ficken.more-sex.info http://nackt-sandra.more-sex.info http://nackte-teen.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://fuck.more-sex.info http://gay-nackt.more-sex.info http://geschlecht-jugendlich.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://hot-girls.more-sex.info http://xxx-sex.more-sex.info http://sexbilder.more-sex.info http://sextoysporno.more-sex.info http://sharemydildo.more-sex.info http://toy-slut.more-sex.info http://tussi.more-sex.info http://www.more-sex.info http://xxx.more-sex.info http://www.more-sex.at">http://www.more-sex.at http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://adult-friend-finder.blogletters.com http://adult-movie.blogletters.com http://adult-toy.blogletters.com http://amateur-blowjob.blogletters.com http://amateur-couple.blogletters.com http://amateur-page.blogletters.com http://amateur-porn.blogletters.com http://amateur-wife.blogletters.com http://anal-sex.blogletters.com http://asian-fetish.blogletters.com http://asian-fetish-kamasutra.blogletters.com http://ass-action.blogletters.com http://ass-fucking.blogletters.com http://ass-linking.blogletters.com http://ass-paradise.blogletters.com http://ass-porn.blogletters.com http://big-ass.blogletters.com http://big-booty-bitch.blogletters.com http://biker-bitch.blogletters.com http://bitch.blogletters.com http://black-ass.blogletters.com http://black-bitch.blogletters.com http://blonde.blogletters.com http://blonde-blowjob.blogletters.com http://blonde-pussy.blogletters.com http://blonde-sex.blogletters.com http://blow-job.blogletters.com http://blowjob-paradise.blogletters.com http://blowjob-party.blogletters.com http://blowjobs.blogletters.com http://blowjob-team.blogletters.com http://couple.blogletters.com http://couple-fucking.blogletters.com http://couple-games.blogletters.com http://couple-hardcore.blogletters.com http://cum.blogletters.com http://cumfaces.blogletters.com http://cum-facial.blogletters.com http://cum-fiesta.blogletters.com http://cum-on-her-face.blogletters.com http://cum-shot.blogletters.com http://drunk-bitch.blogletters.com http://face-cum.blogletters.com http://face-fuck.blogletters.com http://face-sitting.blogletters.com http://fat-ass.blogletters.com http://fat-bitch.blogletters.com http://fetish-sex.blogletters.com http://fotos-xxx.blogletters.com http://free-blowjob-picture.blogletters.com http://free-porn.blogletters.com http://free-porn-movie.blogletters.com http://free-sex.blogletters.com http://free-xxx.blogletters.com http://ghetto-bitch.blogletters.com http://girl-kissing.blogletters.com http://hardcore-porn.blogletters.com http://hardcore-xxx.blogletters.com http://hot-bitches.blogletters.com http://hot-blowjob.blogletters.com http://hot-couple.blogletters.com http://hot-porn.blogletters.com http://latex-babe.blogletters.com http://latex-fetish.blogletters.com http://latex-lesbian.blogletters.com http://latex-pvc.blogletters.com http://latex-sex.blogletters.com http://latex-slut.blogletters.com http://moresex.blogletters.com http://naked-bitch.blogletters.com http://naked-couple.blogletters.com http://naughty-girls.blogletters.com http://nice-ass.blogletters.com http://nude-teen.blogletters.com http://old-bitch.blogletters.com http://pantiehose-fetish.blogletters.com http://porn.blogletters.com http://porn-site.blogletters.com http://porn-star.blogletters.com http://porn-xxx.blogletters.com http://reality-porn.blogletters.com http://sex.blogletters.com http://sex-com.blogletters.com http://sex-couple.blogletters.com http://sex-game.blogletters.com http://sex-picture.blogletters.com http://sexy-blonde.blogletters.com http://sexy-teen.blogletters.com http://street-blowjob.blogletters.com http://teen-amateur.blogletters.com http://teen-ass.blogletters.com http://teen-blowjob.blogletters.com http://teen-chat.blogletters.com http://teen-couple.blogletters.com http://teen-cum.blogletters.com http://teen-girl.blogletters.com http://teen-job.blogletters.com http://teen-porn.blogletters.com http://teen-pussy.blogletters.com http://teen-sex.blogletters.com http://world-sex.blogletters.com http://www.blogletters.com http://xxx.blogletters.com http://xxx-games.blogletters.com http://xxx-movie.blogletters.com http://xxx-password.blogletters.com http://xxx-pussy.blogletters.com http://xxx-sex-picture.blogletters.com http://xxx-story.blogletters.com http://blog.blogletters.com
    # July 16, 2004 11:27 AM

    waih tang go lab said:

    http://www.latex-pvc.net http://www.ass-paradise.com http://www.blond-girls.us http://www.couple-games.com http://www.cumfaces.net http://www.hot-bitches.us http://www.hot-blowjob.com http://www.hot-porn.biz http://www.moresex.at http://www.teen-amateur.biz http://www.xxx-games.us http://www.more-sex.at">http://www.more-sex.at http://more-sex.at http://hardcore-teen.more-sex.info http://xxx-porn.more-sex.info http://hot-teen.more-sex.info http://junge-cheerleader.more-sex.info http://erotik.more-sex.info http://adult-sex.more-sex.info http://dildo.more-sex.info http://britney-nackt.more-sex.info http://adult-porn.more-sex.info http://bitches.more-sex.info http://abspritzen.more-sex.info http://abrauchen.more-sex.info http://girl.more-sex.info http://abpoofen.more-sex.info http://xxx-games.us http://teen-amateur.biz http://moresex.at http://latex-pvc.net http://hot-porn.biz http://hot-blowjob.com http://hot-bitches.us http://cumfaces.net http://couple-games.com http://blond-girls.us http://ass-paradise.com http://sex-toy.more-sex.info http://free-porn.more-sex.info http://hot-girl.more-sex.info http://nude-poppen.more-sex.info http://porn.more-sex.info http://anal-sex.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://pornobilder.more-sex.info http://reife-weiber.more-sex.info http://sex.more-sex.info http://hardcorebilder.more-sex.info http://hot-bitches.more-sex.info http://lesbian.more-sex.info http://lesbian-sex.more-sex.info http://masturbation.more-sex.info http://mature.more-sex.info http://modellen-porno.more-sex.info http://modellen-sexy.more-sex.info http://mutter-ficken.more-sex.info http://nackt-sandra.more-sex.info http://nackte-teen.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://fuck.more-sex.info http://gay-nackt.more-sex.info http://geschlecht-jugendlich.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://hot-girls.more-sex.info http://xxx-sex.more-sex.info http://sexbilder.more-sex.info http://sextoysporno.more-sex.info http://sharemydildo.more-sex.info http://toy-slut.more-sex.info http://tussi.more-sex.info http://www.more-sex.info http://xxx.more-sex.info http://www.more-sex.at">http://www.more-sex.at http://alte-bilder.more-sex.info">http://alte-bilder.more-sex.info http://alte-frauen.more-sex.info">http://alte-frauen.more-sex.info http://alte-weiber.more-sex.info">http://alte-weiber.more-sex.info http://amateur-porn.more-sex.info">http://amateur-porn.more-sex.info http://amateure-nackt.more-sex.info">http://amateure-nackt.more-sex.info http://arsch-ficken.more-sex.info">http://arsch-ficken.more-sex.info http://arschficken.more-sex.info">http://arschficken.more-sex.info http://arschlecke.more-sex.info">http://arschlecke.more-sex.info http://asian-porn.more-sex.info">http://asian-porn.more-sex.info http://besorgen.more-sex.info">http://besorgen.more-sex.info http://beurs-erotische.more-sex.info">http://beurs-erotische.more-sex.info http://big-brust.more-sex.info">http://big-brust.more-sex.info http://black-teen.more-sex.info">http://black-teen.more-sex.info http://blasen.more-sex.info">http://blasen.more-sex.info http://blasen-cheerleader.more-sex.info">http://blasen-cheerleader.more-sex.info http://brust-grosse.more-sex.info">http://brust-grosse.more-sex.info http://brust-tina.more-sex.info">http://brust-tina.more-sex.info http://celeb-nackt.more-sex.info">http://celeb-nackt.more-sex.info http://cheerleader-nackt.more-sex.info">http://cheerleader-nackt.more-sex.info http://college-sex.more-sex.info">http://college-sex.more-sex.info http://dames-modellen.more-sex.info">http://dames-modellen.more-sex.info http://dicke-frauen.more-sex.info">http://dicke-frauen.more-sex.info http://die-beule.more-sex.info">http://die-beule.more-sex.info http://erotik-noveller.more-sex.info">http://erotik-noveller.more-sex.info http://erotikbilder.more-sex.info">http://erotikbilder.more-sex.info http://erotische-dating.more-sex.info">http://erotische-dating.more-sex.info http://erotische-film.more-sex.info">http://erotische-film.more-sex.info http://erotische-hotel.more-sex.info">http://erotische-hotel.more-sex.info http://erotische-mannenfotos.more-sex.info">http://erotische-mannenfotos.more-sex.info http://erotische-modellen.more-sex.info">http://erotische-modellen.more-sex.info http://ficken.more-sex.info">http://ficken.more-sex.info http://ficken-privat.more-sex.info">http://ficken-privat.more-sex.info http://figg.more-sex.info">http://figg.more-sex.info http://foto-modellen.more-sex.info">http://foto-modellen.more-sex.info http://fotografie-modellen.more-sex.info">http://fotografie-modellen.more-sex.info http://frau-junge.more-sex.info">http://frau-junge.more-sex.info http://frauen-sex.more-sex.info">http://frauen-sex.more-sex.info http://free-lesbian.more-sex.info">http://free-lesbian.more-sex.info http://free-mature.more-sex.info">http://free-mature.more-sex.info http://free-movies.more-sex.info">http://free-movies.more-sex.info http://free-sex.more-sex.info">http://free-sex.more-sex.info http://free-xxx.more-sex.info">http://free-xxx.more-sex.info http://adult-friend-finder.blogletters.com http://adult-movie.blogletters.com http://adult-toy.blogletters.com http://amateur-blowjob.blogletters.com http://amateur-couple.blogletters.com http://amateur-page.blogletters.com http://amateur-porn.blogletters.com http://amateur-wife.blogletters.com http://anal-sex.blogletters.com http://asian-fetish.blogletters.com http://asian-fetish-kamasutra.blogletters.com http://ass-action.blogletters.com http://ass-fucking.blogletters.com http://ass-linking.blogletters.com http://ass-paradise.blogletters.com http://ass-porn.blogletters.com http://big-ass.blogletters.com http://big-booty-bitch.blogletters.com http://biker-bitch.blogletters.com http://bitch.blogletters.com http://black-ass.blogletters.com http://black-bitch.blogletters.com http://blonde.blogletters.com http://blonde-blowjob.blogletters.com http://blonde-pussy.blogletters.com http://blonde-sex.blogletters.com http://blow-job.blogletters.com http://blowjob-paradise.blogletters.com http://blowjob-party.blogletters.com http://blowjobs.blogletters.com http://blowjob-team.blogletters.com http://couple.blogletters.com http://couple-fucking.blogletters.com http://couple-games.blogletters.com http://couple-hardcore.blogletters.com http://cum.blogletters.com http://cumfaces.blogletters.com http://cum-facial.blogletters.com http://cum-fiesta.blogletters.com http://cum-on-her-face.blogletters.com http://cum-shot.blogletters.com http://drunk-bitch.blogletters.com http://face-cum.blogletters.com http://face-fuck.blogletters.com http://face-sitting.blogletters.com http://fat-ass.blogletters.com http://fat-bitch.blogletters.com http://fetish-sex.blogletters.com http://fotos-xxx.blogletters.com http://free-blowjob-picture.blogletters.com http://free-porn.blogletters.com http://free-porn-movie.blogletters.com http://free-sex.blogletters.com http://free-xxx.blogletters.com http://ghetto-bitch.blogletters.com http://girl-kissing.blogletters.com http://hardcore-porn.blogletters.com http://hardcore-xxx.blogletters.com http://hot-bitches.blogletters.com http://hot-blowjob.blogletters.com http://hot-couple.blogletters.com http://hot-porn.blogletters.com http://latex-babe.blogletters.com http://latex-fetish.blogletters.com http://latex-lesbian.blogletters.com http://latex-pvc.blogletters.com http://latex-sex.blogletters.com http://latex-slut.blogletters.com http://moresex.blogletters.com http://naked-bitch.blogletters.com http://naked-couple.blogletters.com http://naughty-girls.blogletters.com http://nice-ass.blogletters.com http://nude-teen.blogletters.com http://old-bitch.blogletters.com http://pantiehose-fetish.blogletters.com http://porn.blogletters.com http://porn-site.blogletters.com http://porn-star.blogletters.com http://porn-xxx.blogletters.com http://reality-porn.blogletters.com http://sex.blogletters.com http://sex-com.blogletters.com http://sex-couple.blogletters.com http://sex-game.blogletters.com http://sex-picture.blogletters.com http://sexy-blonde.blogletters.com http://sexy-teen.blogletters.com http://street-blowjob.blogletters.com http://teen-amateur.blogletters.com http://teen-ass.blogletters.com http://teen-blowjob.blogletters.com http://teen-chat.blogletters.com http://teen-couple.blogletters.com http://teen-cum.blogletters.com http://teen-girl.blogletters.com http://teen-job.blogletters.com http://teen-porn.blogletters.com http://teen-pussy.blogletters.com http://teen-sex.blogletters.com http://world-sex.blogletters.com http://www.blogletters.com http://xxx.blogletters.com http://xxx-games.blogletters.com http://xxx-movie.blogletters.com http://xxx-password.blogletters.com http://xxx-pussy.blogletters.com http://xxx-sex-picture.blogletters.com http://xxx-story.blogletters.com http://blog.blogletters.com
    # July 16, 2004 11:29 AM

    fustrated with explorer said:

    i am having a problem with internet explorer constantaly refreshing its self i have tried just about everything short of reformatting my hard drive and starting anew but i do not want to do this because i have many files i cannot lose as well as programs on my computer i have since lost the insatall disks for i am using windows xp. if anyone has any advice about how to fix this problem the please shhot me an email at hyper_fool@yahoo.com
    # July 19, 2004 6:16 PM

    Nidhogg said:

    I thought these go.microsoft.com addresses were redirector pages that point to the right page given a LinkID, even if it has moved 25 times in the past 6 months ... Looks like someone forgot to update this one.
    # July 22, 2004 6:06 AM

    HumanCompiler said:

    Yah, I guess so...funny how something so small can be such a big deal...at least I think it is! :P
    # July 22, 2004 6:09 AM

    MrB said:

    It's also annoying that after following the revised link that you are initially presented with a list of Betas for NET Framework Beta 2! This is early beta software - someone could easily download this without realsing the consequences.

    I agree in making Beta software available but it shouldn't be presented to end users in this situation.
    # July 22, 2004 12:12 PM

    HumanCompiler said:

    Yes, absolutely...I thought the same thing, but forgot to mention...great point, MrB!
    # July 22, 2004 1:08 PM

    nospamplease75@yahoo.com (Haacked) said:

    Nice looking site. And my how snappy the data is returned. ;)

    Good work!
    # July 22, 2004 11:38 PM

    Carlo said:

    another great photo sharing app is PixVillage from http://www.pixvillage.com. Check it out...
    # July 23, 2004 3:05 AM

    College Student said:

    Another reason not to upgrade to .NET. Long live VB6!
    # July 24, 2004 8:12 PM

    Erik Porter said:

    Yah, well, I didn't say that...you go ahead and stay using the old stuff if you like doing more work than necessary and taking longer to get the things you need to get done. ;)
    # July 25, 2004 4:29 AM

    Steele Price said:

    That's pretty sad news from Archos, my iPod works fine under this scenario.
    # July 29, 2004 4:53 PM

    Nilesh said:

    Any clue as to when it will be available ?
    # August 2, 2004 5:23 PM

    Don Newman said:

    It looks sweet! Feel free to leave it parked in my driveway with the keys in the ignition any time.
    # August 3, 2004 4:22 AM

    cm said:

    very nice!
    # August 3, 2004 4:55 AM

    TrackBack said:

    # August 3, 2004 6:49 AM

    Frans Bouma said:

    Cool :)

    Sad part is: you can only drive, what, 90M/H in the US with that thing?
    # August 3, 2004 7:01 AM

    Matt Hawley said:

    sick as hell man, sick as hell. trade ya my lancer for it?
    # August 3, 2004 10:54 AM

    Brad said:

    The man got himself a GOAT!
    # August 3, 2004 11:28 AM

    Adam Porter said:

    Hot man, REAL HOT!

    I guess that means I'm next, eh?
    # August 3, 2004 11:38 AM

    Erik Porter said:

    Thanks everyone! :)

    Yah, I'm not even sure there are many places 90 MPH is legal, but the power is there when I need it and there are always tracks! ;)

    Oh yes, luvin' the GOAT!

    Yes, Adam, hop to it! ;)
    # August 3, 2004 2:03 PM

    Mash said:

    I can't see that it's out as of yet, but there is already a full media centre package out there for those with a little technical skill to exploit, the Xbox Media Centre.

    http://www.xboxmediacenter.de/

    I have the XBMC myself and in conjunction with a PC acting as a server upstairs it's a mindblowing piece of kit. Streaming movies or music from the server PC in the study to the xbox in the living room is a breeze and it can handle all the different video and audio formats I've thrown at it so far. If the xbox can see the Internet then XBMC has the faculity to collect info from imdb.com and weather.com - also you can pick up web radio. In addition you can control XBMC with an xbox controller or with the DVD playback kit's remote.

    I will be interested to see how the MS product squares up to XBMC, especially since XBMC is a non comercial product.
    # August 4, 2004 12:29 PM

    Erik Porter said:

    Very cool, Mash. Thanks for the link and info!
    # August 4, 2004 1:19 PM

    TrackBack said:

    # August 11, 2004 10:55 PM

    Eric said:

    I see this construction:
    bool isAppropriateOS = os.Platform == PlatformID.Win32NT && os.Version.Major >= 5 && os.Version.Minor >= 1;
    in a number of examples, and every time I am struck -- it's not future proof.

    What happens if Longhorn comes out with a version number of 6.0?
    os.Version.Major >= 5 && os.Version.Minor >= 1
    will be false, even though it will support themes. In fact, the *only* construct this is valid for is Windows XP (and possible 2003?). If that's the intent, that's fine, but it seems to me that this error is often made when the programmer meant to say "XP and above".

    The line should be
    bool isAppropriateOS = os.Platform == PlatformID.Win32NT && ((os.Version.Major == 5 && os.Version.Minor >= 1) || os.Version.Major > 5);
    # September 25, 2004 6:00 PM

    Erik Porter said:

    That's very true, but the software we make is usually for small to medium businesses. Most of them won't switch to LongHorn and even if they did, when is it coming out again? ;)

    If you really want to get technical about it, the code you provided won't work in the future either. What about 64 bit Windows? The os.Platform won't be Win32NT, right?

    For the sake of cleanliness though, I changed it to your code...thanks!
    # September 25, 2004 6:10 PM

    nospamplease75@yahoo.com (Haacked) said:

    Hey man, congratulations on getting engaged!
    # September 26, 2004 4:57 AM

    Erik Porter said:

    Thanks man! :)
    # September 26, 2004 8:08 PM

    Cory Smith said:

    Thanks for the linkage :-D and thanks again to Raghavendra for providing the answer.
    # September 27, 2004 2:10 PM

    Wes said:

    I also wrote a method for doing this recently for a custom UserControl I wrote.

    Here is the code my code just for comparison purposes (please excuse the formatting):

    if (!this.comboBox1.IsHandleCreated || !(this.comboBox1.DataSource is IList))
    return;

    using (Graphics g = this.comboBox1.CreateGraphics())
    {
    int maxLength = 0;
    IList list = this.comboBox1.DataSource as IList;

    int numItems = Math.Min(list.Count, this.comboBox1.MaxDropDownItems);

    // Find the longest string in the first MaxDropDownItems
    for(int i = 0; i < numItems; i++)
    maxLength = Math.Max(maxLength,
    (int)g.MeasureString(this.comboBox1.GetItemText(list[i]), this.comboBox1.Font).Width);

    maxLength += 20; // Add a little buffer for the scroll bar

    // Make sure we are inbounds of the screen
    int left = this.PointToScreen(new Point(0, this.Left)).X;
    if (maxLength > Screen.PrimaryScreen.WorkingArea.Width - left)
    maxLength = Screen.PrimaryScreen.WorkingArea.Width - left;

    this.comboBox1.DropDownWidth = Math.Max(maxLength, this.comboBox1.Width);
    }

    If you notice one thing I different is use combobox.GetItemText(..) which I think is better than typecasting it to a DataRowView. One other suggestion is you may want to call dispose on your graphics object or just wrap it with a using statement.

    Wes
    # September 27, 2004 3:56 PM

    Erik Porter said:

    Ok, I'm getting rusty...thanks for pointing out that I forgot the Dispose (I'm embarassed now). As for the DataRowView, you're definitely right and using GetItemText would be better. I just copied it from an app I was working on and should also put that I make no promises that this is a perfect little piece of code. ;) I see you also have some other stuff like checking to make sure it doesn't go off the screen, etc. Good stuff for sure. I'll just add in the dispose to my code and let everyone see your code too...thanks! :)
    # September 27, 2004 4:28 PM

    TrackBack said:

    IsVisualStylesEnabled Revisited
    # September 27, 2004 4:35 PM

    Jacob said:

    w00t ... Me too ;)
    # October 4, 2004 4:12 PM

    Erik Porter said:

    Rock on! :D
    # October 4, 2004 4:19 PM

    Joe H said:

    Congrats man!
    # October 4, 2004 4:25 PM

    Robert Hurlbut said:

    Congratulations guys!
    # October 4, 2004 4:46 PM

    Erik Porter said:

    Thanks guys! :)
    # October 4, 2004 5:07 PM

    nospamplease75@yahoo.com (Haacked) said:

    Excellent work!
    # October 4, 2004 6:15 PM

    Rob Chartier said:


    Congrats!
    # October 4, 2004 9:58 PM

    Adam P said:

    woohoo, congratulations!
    # October 5, 2004 11:59 AM

    Kent Tegels said:

    The MVP folks really do make good choices!
    # October 7, 2004 10:45 PM

    Noah Coad (MS) said:

    Congratulations Erik! Sort-of wish I could've said the same... :)
    # October 12, 2004 12:43 AM

    Erik Porter said:

    Thanks again everyone :)

    Oh and Noah...a small price to pay for a job at MS! ;)
    # October 12, 2004 3:35 PM

    Jay said:

    Dear Erik,
    I do not want to dispaly the checkBox for the root nodes. For the subsequent Nodes I want the functionality same as the TriStateTreeView component. How do I go for It?

    Regards,

    Jay
    # October 21, 2004 9:10 AM

    Erik Porter said:

    Hi Jay, offhand, I honestly don't know, but I'd imagine if you just make a new boolean property on the control (maybe something like ShowRootCheckBox) and then put where in the code the checkbox image is shown, check if it's the root node and that property is set to true and show it or don't show it. Sorry I don't have time to code it.
    # October 21, 2004 2:00 PM

    Jay said:

    Dear Erik,
    Thanks a lot, I will try.
    Regards,
    Jay.
    # October 22, 2004 12:48 AM

    Richard P said:

    "Works" as long as your user is using a browser that supports CSS.

    Unless you're using client-side script to set the value of the hidden field, wouldn't it make more sense to just set the ValueToCompare property of the CompareValidator?
    # October 27, 2004 11:00 PM

    Erik Porter said:

    If someone's viewing my site with a browser that doesn't support CSS, then they don't deserve to see it and are probably used to seeing things that look ugly! ;)

    That is true, but I am in fact, giving it an initial value, but changing it on the client later based off of other conditions, so sorry to spoil your fun. :)
    # October 28, 2004 1:33 AM

    matthew gibson said:

    sp_changeobjectowner is how to change the owner of an object. sp_changedbowner is how to change the owner of the db itself, not the objects in the db. :)

    # October 29, 2004 4:21 PM

    Erik Porter said:

    You're absolutely right, I was looking at both of them when I wrote this and copied the wrong one...thanks for the correction...
    # October 29, 2004 7:17 PM

    Darrell said:

    What do you mean by UI testing? I've used NUnitAsp before and it was worked pretty well. There's also supposed to be some other new project out from Thoughtworks that does something similar with JavaScript.
    # October 29, 2004 8:29 PM

    Jeff Lewis said:

    +1 for NUnitAsp
    # October 29, 2004 8:42 PM

    haacked@yahoo.com (Haacked) said:

    I click the button. Write down what happens. Ask the biz guy if that's what he wants to happen. ;)

    I assume you meant automated testing.

    For unit testing I've tried NUnitAsp but the UI is the thing that changes most often so the tests weren't exactly maintainable. I only wrote those tests for the things that change least often.
    # October 29, 2004 9:42 PM

    Erik Porter said:

    Thanks everyone, looks like I'll definitely be giving NUnitASP a try.
    # October 31, 2004 4:25 AM

    Cleve Littlefield said:

    I tried to get NUnitAsp to work, and it kept choking on our website with StackOverflowExceptions. Also, anyone gotten it to work with Passport?
    # November 1, 2004 11:50 PM

    CrashR said:

    Another feature to look at adding might be to show animation of shrinking window to the icon before hiding the window like messenger does.
    # November 12, 2004 10:32 AM

    Erik Porter said:

    Yah, that's a good idea...I've honestly never done it, but I'll look at it...
    # November 12, 2004 12:56 PM

    Josh Baltzell said:

    Did you have to open ports too or just disable uPNP? I opened the ports in the FAQ and it fired right up, but if it is just upnp I will remember that for the next time I have to set one up.

    my gamertage is jobalt. Any interest in starting a .NET developers clan?
    # November 16, 2004 2:48 AM

    Erik Porter said:

    Correct, I just disabled UPnP and didn't touch any ports and it magically worked.
    # November 16, 2004 2:49 AM

    Scott C Reynolds said:

    gamertag LoganV - in the MastersOfDotNet clan.
    # November 17, 2004 1:06 AM

    Ken Cox [MVP - ASP.NET] said:

    Hi Erik,

    Here's what you need: ComponentArt’s ASP.NET Menu control.

    http://www.componentart.com/home.aspx
    # November 17, 2004 8:03 PM

    Erik Porter said:

    That's exactly the type of stuff we're looking for...appreciate it, Ken!
    # November 17, 2004 8:07 PM

    Jeff Gonzalez said:

    We wrote our own. The problem with most of the fancy menuing controls I have seen is that they are not geared towards SEO. Spiders can't usually read js menus or menus that are written with some fancy document.write magic.

    You should be careful if you care about SEO at all.
    # November 17, 2004 11:01 PM

    Adam Kinney said:

    Here's another small set to look at: http://www.richercomponents.com/
    # November 19, 2004 2:50 AM

    Richard Tallent said:

    I also wrote my own, but I'm in the "Postback is evil" and "I don't use visual designers" crowd, which limits marketability.
    # November 19, 2004 5:04 AM

    Darin said:

    Great control. I used it in a project last week.
    # November 19, 2004 8:51 PM

    Haacked said:

    In the most recent MSDN (on the one before that) someone Dino Esposito (I think) gave the source code for an ASP.NET wizard control he wrote. You should check it out.
    # November 19, 2004 9:03 PM

    Haacked said:

    # November 19, 2004 9:06 PM

    TrackBack said:

    # November 21, 2004 8:32 AM

    aa said:

    How in the hell is my dns server not working after I put it on automatic.
    I have a wireless connection and use link system as my router.
    # November 26, 2004 8:10 PM

    OxyContinPicker said:

    WOrked perfectly, was trying for hours :(
    # November 27, 2004 9:51 AM

    Captian Jeff said:

    In my defense, I told you all it was too windy.
    # December 2, 2004 1:05 PM

    Flight Navigator Erik said:

    Peer pressure!
    # December 2, 2004 1:12 PM

    TrackBack said:

    # December 2, 2004 1:28 PM

    Jabatti said:

    how can i check if the xbox live server is online at the moment?
    # December 9, 2004 5:43 AM

    Erik Porter said:

    Go to the XBox Live site...

    http://www.xbox.com/en-us/live/default.htm

    On the right hand side of that page it says the status of XBox Live
    # December 9, 2004 12:21 PM

    TrackBack said:

    # December 30, 2004 2:29 PM

    TrackBack said:

    # December 30, 2004 2:30 PM

    Thomas Tomiczek said:

    Well, now we just need someone to tell the VB team and you how stupid this is, SQL wise. Unless they did some really major rework for the SQL Server query analyzer, and even then this is just plain stupid.

    See:

    ::Email = ISNULL(@Email, Email)

    Can NOT be evaluated without calculating ISNULL(@Email, Email). At least to my knowledge. Which means that...

    ...you have a table scan. Period. Performance in the dumps. The problem is that the second parameter is reflexive towards the content of the row, which means a table scan.

    Again, unless SQL Server's query analyzer has special code for this, which I doubt. And then you kill the other databases.

    Someone correct me here, but did this SP (and the original code from the VB net team article) not belong into the category you get fired for for incompetence? Forcing a table scan and killing performance, making all and any index totally useless?

    This is a very known problem that you can not handle this type of query in a SP without a LONG LONG LONG if statement (or by executing dynamic sql out of the query). In this case we talk of 8 different cases (three parameters - 2^3 = 8).

    That Microsoft starts writing code like this actually shows that the whidbey data tools are toys. This actually sounds like I should mention it in my blog - in the "Stupid ideas and Empoty Heads" category. Damn.

    Thanks for piounting this out, though - I did not realize hos ridiculous code MS is putting out the first time I went through the blog article you mentioned.
    # January 21, 2005 4:09 PM

    haacked@gmail.com (Haacked) said:

    Might want to look at COALESCE instead of ISNULL in some cases.
    http://odetocode.com/Blogs/scott/archive/2004/11/30/679.aspx
    # January 21, 2005 4:39 PM

    Alex Papadimoulis said:

    Dumbest, eh? Well ... us Clevelanders live in the *poorest* city in the US. Hrm ... but I guess that's not really as funny, though ...
    # January 21, 2005 4:41 PM

    Luciano Evaristo Guerche said:

    What about the following?

    CREATE PROCEDURE dbo.FindCustomers
    (
    @FirstName varchar(50),
    @LastName varchar(50),
    @Email varchar(100),
    @Age tinyint
    )
    AS
    SELECT
    CustomerID,
    FirstName,
    LastName,
    Email,
    Age
    FROM
    Customers
    WHERE
    (@FirstName IS NULL OR FirstName = @FirstName) AND
    (@LastName IS NULL OR LastName = @LastName) AND
    (@Email IS NULL OR Email = @Email) AND
    ((@Age IS NULL AND Age IS NULL) OR Age = @Age)
    ORDER BY
    LastName,
    FirstName
    # January 21, 2005 4:53 PM

    Erik Porter said:

    Thomas,

    I will agree with you that splitting it out into tons of if statements would be the most performant way, however, there are a lot of factors that should determine when and when not to do that. I'm not sure what you're talking about with the table scans, isn't that what non clustered indexes were invented for?

    Phil (Haacked),

    True, I should've mentioned COALESCE, I've used it before. That link brings up something interesting I didn't know about COALESCE...thanks! It shouldn't be an issue for me since I always match the lengths of my parameters for SP's with the field's length, but it's definitely a good thing to keep in mind!

    Luciano,

    Yes, that could also work for the other parameters, but I believe that's pretty much what ISNULL would be doing anyway...I'm curious if there's any performance difference though...I'd have to play with it...thanks for that!
    # January 21, 2005 5:06 PM

    Thomas Tomiczek said:

    ::I'm not sure what you're talking about with
    ::the table scans, isn't that what non
    ::clustered indexes were invented for?

    Detailed explanation in my blog. http://spaces.msn.com/members/t.tomiczek
    # January 21, 2005 5:39 PM

    Thomas Tomiczek said:

    Ups, sorry.

    This is the right link:

    http://spaces.msn.com/members/ttomiczek/
    # January 21, 2005 5:40 PM

    TrackBack said:

    # January 21, 2005 6:42 PM

    Ryan Rinaldi said:

    Don't worry about Thomas. He flies off the handle at everybody. If you use DataSets or write your own data access layer, don't let him know. He might kill your first born. :)
    # January 21, 2005 6:54 PM

    gr said:

    "...you spelled my name wrong."

    LOL
    # January 21, 2005 7:21 PM

    Conrad said:

    Sounds like it has been a VERY long time since Thomas got laid.
    # January 21, 2005 7:21 PM

    Greg said:

    grr...
    Sorry the above comment was posted to soon.(Silly default buttons... :).
    Rather ironic that was emoting on someone else's error. :|

    Here's what I meant to post.

    "...you spelled my name wrong."

    LOL. Nice.
    # January 21, 2005 7:24 PM

    haacked@gmail.com (Haacked) said:

    Ha! I wouldn't let Thomas get under your skin too much. He's really not worth a second of your time. I used to spar with him in the architecture forums within ASP.NET. He's well versed and smart, but very rigid and simple. He seems to have worked with a limited range of projects and still believes there's only one right way to do everything. I don't think "tradeoff" is a word in his vocabulary.

    Besides, he's completely wrong. There isn't a table scan. Instead, you get a clustered index scan.
    # January 21, 2005 7:41 PM

    TK Herman said:

    Um, Thomas -- if Erik is such an idiot then why are you reading his blog? Oh, and why is it that it's not possible to respond on your blog? I think that sums it up...
    # January 21, 2005 7:56 PM

    Jon Galloway said:

    My favorite part:

    "Thanks for piounting this out, though - I did not realize hos ridiculous code MS is putting out the first time I went through the blog article you mentioned."

    If you're going to take the time to cut someone down, you might want check your spelling.

    It's also worth considering that a table scan against a 100 row table would not necessarily cause fatalities. Granted, table scans are to be avoided as a general practice, but depending on the amount of data and application requirements, this may be inconsequential.

    We must hope that Thomas Tomiczek and Frans Bouma never get in an argument, or the world's done for. ;-)
    # January 22, 2005 6:06 AM

    Thomas Tomiczek said:

    Well, John, this is all fine,

    But it is the ressponsibility of the author to point out what he actually does with his code, instead of falsely presenting this as god's solution for dynamic queries.

    If he would have behaved like a responsible person, which means pointing out that he knows nothing about SQL and that this solution ruins index usage and is thus not suitable for usage on a larger table, I would not have said a word.

    But he did not. He presented a trap that a lot of not too smart developers may then fall into, because he presented this as a solution.

    Which is irresponsible behavior.
    # January 22, 2005 9:48 AM

    Thomas Tomiczek said:

    ::Um, Thomas -- if Erik is such an idiot then
    ::why are you reading his blog?

    Who says I read his blog?

    He published this artible on the main weblogs.asp.net feed.

    ::Oh, and why is it that it's not possible to
    ::respond on your blog? I think that sums it
    ::up...

    You can not respond to my blog?

    POssible causes:
    * you are ignorant.
    * you are too well protected (cookies et al)
    * somehow responses are disabled by msn.com at the emoment.

    Given that spaces.msn.com is still in beta, my bet would be nr. 3 - and thanks, I was not aware of this.
    # January 22, 2005 9:50 AM

    Travis Laborde said:

    Erik, I hope you don't let a few arrogant mean spirited people stop you from posting. I've enjoyed your posts before, and at the same time, I've seen Thomas make a jerk of himself before too :) And Jon was right too... if you get Frans here you might just want to run for cover. These guys very seldom have anything nice to say.

    The other side of the coin of course is that he does make some valid points. It's just too bad that he can't make those points without being so mean. Personally I'd have much preferred to see it posted this way:

    Nice post, Erik! This is an example of one of those situations in database programming that has caused many people to go crazy looking for the best solution. You can use code like this, but for the simplicity of that code, you lose performance. Or, you can write lots and lots of more code, gaining performance, but also gaining a lot of work for yourself to maintain it. Or, you can use an ORM type tool, which tries to marry those two worlds. Perhaps you could look at xxx, yyy, and zzz.

    Now, didn't that essentially say the same thing Thomas wanted to say? Or at least, the only part of what he said that would have had any value? Sure Thomas, you hate Microsoft. We can see that. Please try to grow up.
    # January 22, 2005 3:57 PM

    Tarek Hannoudi said:

    Correctness VS ethics;-)
    # January 26, 2005 1:44 PM

    joe humbrecht said:

    haha i think thats funny how we are the dumbest city, but umm where did u find this info out? i would like 2 know could you email me at kickwat13@aol.com
    # January 30, 2005 12:09 AM

    joe humbrecht said:

    Fort wayne dumbest city thats weird b/c my sister is being begged 2 princton harvard and notre dame!
    # January 30, 2005 12:10 AM

    Rachel Weinrich said:

    Yah, so proud to be claimed as a natural born citizen of the dumbest city in the U.S. Go Fort Wayne! But just to let you all know who put this claim on "us," my dad has his Ph.D. and is the Academic Dean of a Seminary there, my mom is a Registered Nurse, I have my M.Ed. in Health Promotion and Wellness, my sister is currently getting her M.A. over in LONDON I might add, and my brother is currently a sophomore at Purdue University! So yah we're pretty dumb! Oh and just to add all my friends from High School who I graduated with and still keep in contact with either already have their Master Degrees or are currently working towards getting their Masters Degrees. Oh and again, YES, all from Fort Wayne! Damn we really must be dumb! Just venting - but really how was this claim really determined? PLEASE EDUCATE ME!!!!!
    # February 1, 2005 7:22 PM

    Mike said:

    true that quite a few of high school graduates go onto university from Ft. Wayne, but the funny thing to me is that their criteria of degrees etc... makes Bill Gates dumb. I would not call Bill Gates dumb simply because he dropped out. Screw Men's Health for publishing such crap.
    # February 3, 2005 11:10 AM

    FTW said:

    I have only lived in Fort Wayne for a few years but I'm not surprised at the designation. It's not a matter of how much education one receives, it has to do with how it's applied. The town is backward and overly conservative.

    There have been many articles concerning the brain drain in Fort Wayne and this doesn't surprise me.
    # February 4, 2005 1:17 PM

    TrackBack said:

    Ping Back来自:blog.csdn.net
    # February 7, 2005 9:10 AM

    Adam said:

    "This can hinder performance a bit in certain situations, because in C# that statement will be evaulated for every loop iteration."

    This most definitely isn't true. Write some code and see for yourself.
    # February 10, 2005 5:17 PM

    Erik Porter said:

    Crap, you're right, Adam! I was thinking about regular for loops and how whatever you have there will be evaluated each time (and again, won't be in VB) and made the silly assumption that the foreach would work the same way. My bad, thanks for the correction!
    # February 10, 2005 6:00 PM

    the toe said:

    Get over it. Some of you seem to be taking this seriously. It's funny. The only reason Boston is one of the smartest is b/c of the amount of schools. If you look at the people there, well...there not too bright.
    # February 16, 2005 5:56 PM

    Erik Porter said:

    I was over it before I even read it. I just thought it was humorous. ;) Anywhere you go you'll find dumb and smart people and I'm sure some places have more dumb people than others, but as Mike mentioned, basing it on schooling is pretty ridiculous. I'm a college drop-out and proud of it! :P
    # February 16, 2005 5:59 PM

    john said:

    fort wayne invented the house hold tv the toaster the handheld calculator and much more
    # February 16, 2005 11:47 PM

    Rachel Weinrich said:

    Hey I've been over this since I heard about it. I just had to add my piece in at some point- really it's a stupid article - and all I really do about it is laugh and shake my head, and than feel embarrassed for those who wrote and published the article.
    # February 18, 2005 2:59 PM

    Cameron said:

    This is great solution, cleaner than the MS KB one. Question. How would one modifiy further to add a "COUNT" column?

    One common use for DISTINCT is to rollup/group results. So it would be nice if a column could be added to include COUNT(*) results of each distinct result. I tried modifying your modified SelectDistinct method but can't figure it out how to add this.

    cheers,

    Cameron
    # February 24, 2005 3:12 PM

    Erik Porter said:

    Thanks, Cameron, glad you like it! :)

    As for the COUNT(*) I haven't had a need for it yet, but I can see it as being handy. Performance-wise I'd say stick with doing it in the DB instead of doing it outside of the DB, but unlike a lot of people that linger around here I realize that performance isn't always the biggest issue.

    I'm sure it's definitely possible, but offhand I'm not sure of an easy way. It seems complicated to me. Maybe there's something you could do with it by getting child rows through a relationship or something. *shrug*
    # February 24, 2005 10:41 PM

    Pranoy said:

    This is a great solution , MS KB had only one row and is not always useful & your solution is complete , a perfect one.
    Thanks a lot for sharing it
    # March 1, 2005 3:24 PM

    Erik Porter said:

    My pleasure, glad you found it useful! :)
    # March 1, 2005 3:40 PM

    Dean Harding said:

    I got it on PS2. The extra dimension makes it a bit harder, but once you get used to it, it's not so bad. The graphics and animation are very cool :)
    # March 2, 2005 9:36 PM

    Mischa Kroon said:

    Main advantage of storing binaries in an sql server is that you can easier scale too multiple webservers.

    That said I'm more of a store as file person.
    # March 3, 2005 7:29 AM

    Kent Tegels said:

    I believe in storing as file, then have storing either a UNC or URI in the database since you rarely do any DML work on instance stored in the database anyway.
    # March 3, 2005 11:00 AM

    Mike Swaim said:

    The advantage of storing data in the db is that you don't have to worry about file system permissions. The disadvantage is that it's harder to take old documents offline. At the last place I worked, we did the db thing, and files older than 6 months got archived. The place I worked before that, we used a seperate "db" server (actually a FileNet server)for files. In both places, we tended to generate a lot of documents. (As in we had dedicated machines spitting out Word documents every 10-30 seconds.)
    # March 3, 2005 1:06 PM

    Erik Porter said:

    Ok, so what I'm hearing so far is that more people (so far anyway) like storing links to files instead of the files themselves in SQL Server, but I'm not hearing any reasons why. Is it just a religious thing? Give me some reasons! ;)

    Mike, good point on the permissions. That's related to another point that I thought of later which was actually sending the files to the client. Sometimes you want only certain files to go down to certain clients based off of data in other tables anyway, so while you're there you can just join on the file they need and you've got it. You have to create a custom httphandler or something for either scenario, so there's no difference there other than you have to store the physical files in a location not accessible in IIS and give the ASP.NET process write and read access to the folder where they're located or just not worry about it if they're in the DB already.
    # March 3, 2005 1:38 PM

    Mike Swaim said:

    The problem with storing files in a DataBase is that it isn't really designed for it. In our case, most files didn't need to be accessed more than a few days after they were created. For those that we did need to get to, a DBA had to restore them from tape. There are filesystems out there that'll move files that aren't used that much to offline storage, and automagically restore it when you try to access it.
    I believe that Oracle supports file system links where the database just stores the path to the file, and the actual file/blob is stored on a regular filesystem. I'm not sure if SQL Server supports the same functionality, but it's something to look into.
    # March 3, 2005 5:42 PM

    Erik Porter said:

    Yes, Mike, that's exactly why I'm curious about the new property of a table that talked about separating image, text, etc into it's own file group.

    I thought of another thing that storing binaries in the DB helps with...transactions. Say I have 3 records and they all have files associated with them. It's doable, but difficult if two of the files get saved to the file system and the third fails. Whereas if it's just in the table, just rollback and you're done.
    # March 4, 2005 8:52 PM

    Joe Carron said:

    I like the image stuff concept too. I did a file tree backend without any database but my next one is going to be in a database if the performance goes up (I think it will). I have one in the works with C# and MS SQL but have not considered the performance issue yet.

    My DBA friend does not like the idea yet. He rightly claims store the filename in the db and retrieve the file outside the db. It gets messy with 40,000 documents as was the upper limit I did. Luckily, they never get to the upper limit! Typically, company only uses 2,000 images outside the database. That is still a lot of files for things to go wrong.


    # March 15, 2005 2:30 PM

    Josh Nelson said:

    I've used both methods of storing binaries in SQL and I think it really just depends on the requirements/constraints of the system you are building. Really, I could jump on either side of the argument.

    I believe from a performance perspective overall, you are better off storing files in the file system and storing references to those files in the DB. However, I've run into two very good (in my opinion) reasons to store the files directly in the db.

    1) Storing the files in the DB adds another layer of security in a web environment. If your file system is hacked, an intruder would need to break another layer of your application in order to access the files, versus direct access to the files via the file system.

    and (this is my favorite, at the moment!) 2) It is a decent solution when you need to provide file sharing between geographically disparate locations. Image/binary storage of files in a database in conjunction with database replication (so long as your schema is architected correctly) provides awesome benefits. My example is that we have two locations that are only connected 11 hours a day. Users can upload/share files in a web environment at either location, and once communications are established, the databases replicate and users can view the new/updated files that each location made changes to.

    Just my two cents.
    # March 16, 2005 9:01 PM

    Aaron Robinson said:

    If the two pairs of "boards" are indeed never going to be able to interfere with each other, then at the end, you'd have (a minimum of) one left from each "board" that would not be able to attack the other. You'd never be able to get the full board down to a single piece.

    (having never played it, of course...)
    # April 8, 2005 11:41 AM

    Erik Porter said:

    You are absolutely right. Good job! ;)
    # April 8, 2005 2:30 PM

    Adam P said:

    Call this the Mythbusters post...I got 6. Check it at http://www.adamporter.com/images/woohoo.gif
    # April 8, 2005 2:56 PM

    Erik Porter said:

    I love being proven wrong...rock on, Adam! :)
    # April 8, 2005 3:01 PM

    Adam P said:

    Due to consumer demand, here's the history file. So now you can see my solution in glorious, 2D, move-by-move animation! Check it at http://www.adamporter.com/media/woohoo.csv
    # April 8, 2005 3:22 PM

    Erik Porter said:

    You da man, thanks!
    # April 8, 2005 3:23 PM

    Adam Porter said:

    # April 8, 2005 7:30 PM

    Erik Porter said:

    Dude, you're the man...go for 2, go for 2! ;)
    # April 8, 2005 7:38 PM

    TrackBack said:

    # April 11, 2005 1:55 PM

    Erik Porter said:

    Ok, I feel at least a little bit better about Adam proving me wrong now because I've also now figured out how to get down to 4 pieces. You can view it here:

    http://www.erikporter.com/blog/files/EPCS4.csv

    Alright, now who's got it in 2? ;)
    # April 12, 2005 3:27 AM

    Adam Porter said:

    Rock on, man! I haven't gotten 2, yet.
    # April 12, 2005 12:19 PM

    Karl said:

    it is cool..but it's pretty old too :)
    # April 19, 2005 3:10 PM

    Erik Porter said:

    What can I say? I haven't opened up an RSS Aggregator until just this last week since at least 6 months ago! :P I'm behind! ;)
    # April 19, 2005 3:33 PM

    mousse said:

    i beleive this to be in a legal grey area.

    from the gmail terms of use:
    (http://gmail.google.com/gmail/help/terms_of_use.html)

    "Accordingly, you agree that you will not copy, reproduce, alter, modify, or create derivative works from the Service. You also agree that you will not use any robot, spider, other automated device, or manual process to monitor or copy any content from the Service."

    i am not a lawyer, but i could imagine even using outlook w/ pop would qualify as above. google's 'do no evil' credo would predict this is ok, but i've not seen a stance by google either way towards this program.
    # April 19, 2005 6:29 PM

    Erik Porter said:

    You're probably right, but it's not illegal to pass something on that someone else made! ;) As for POP w/ Outlook, I don't think there's anything wrong with that since they encourage it. ;) I'd imagine though that since this guy isn't making money off of his app, it's probably kind of hard to get in trouble over, although definitely not impossible.
    # April 19, 2005 6:31 PM

    mousse said:


    i'd like to think this'd end up in a job for the author and a new feature for us, of course. i was exaggerating with outlook.

    all i'm saying it could resolve 180 degrees one way or the other yet. i think the days of limited intlcl-prop liabilities on production without profit are over, unless things change.

    we as users are still blissfully safe yet.
    # April 19, 2005 6:46 PM

    Oliver Sturm said:

    Hey, I just posted on that one, too :-) Here's my post, for a bit of additional information:

    http://www.sturmnet.org/blog/archives/2005/04/21/vb2005-refactor/
    # April 21, 2005 8:15 AM

    roy said:

    Hi,

    I'm also using MSN 7.0 to display the songs that I want, but for updating my blog with the latest tunes that I'm listening to, I use BlogAmp. Outdated, but works like a charm. It's a plugin for Winamp that writes the list of N last songs to a file on the server of your Blog via FTP and then that list is displayed using JavaScript.

    http://blogamp.sourceforge.net/en/index.html

    I'ld love to have MSN 7.0 work with other apps other than Media player. That'ld be fun.
    # April 25, 2005 11:12 PM

    Paul Wilson said:

    Very cool tip.
    # April 25, 2005 11:52 PM

    Brett said:

    Agreed, I do this too. I try to allow my designer (whether they use Dreamweaver, Frontpage etc.) to change as much as I can allow (within reason) easily without having to get me to recompile.
    # April 26, 2005 12:54 AM

    Adam P said:

    Nice find. I guess my 10% Yankee makes me more Americultural than you...whatever THAT means. haha.

    Now, I only wish they'd show what words come from which 'dialect.'

    65% General American English
    10% Dixie
    10% Midwestern
    10% Yankee
    5% Upper Midwestern
    # April 26, 2005 12:01 PM

    Adam Kinney said:

    Woot for Yankees! I wonder if "woot" is General American...

    80% General American English
    10% Yankee
    5% Dixie
    5% Upper Midwestern
    0% Midwestern
    # April 26, 2005 3:35 PM

    Jerry Dennany said:

    RFC 1918 covers private address space:

    10.0.0.0 - 10.255.255.255 (10/8 prefix)
    172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
    192.168.0.0- 192.168.255.255 (192.168/16 prefix)

    http://www.faqs.org/rfcs/rfc1918.html
    # April 26, 2005 5:30 PM

    Matt Hawley said:

    Probably a little too late in the lifecycle, but why didn't you just create a windows service with a timer? Oh well.
    # April 27, 2005 1:25 AM

    Erik Porter said:

    Mostly just because I needed something quick and dirty and don't like pissing with installing the service and all that junk. Definitely a better way by doing the windows service though, good point!
    # April 27, 2005 1:32 AM

    Erik Porter said:

    Cool, thanks...I'll check that out...

    I can find my machine's IP in code easily, but how would I find the router's WAN IP? I can find like the DHCP Server IP and all that, but that doesn't help very much. :(
    # April 28, 2005 11:35 AM

    fatsweatyguy said:

    I think maybe you could send out an icmp echo to yahoo or somewhere with a TTL of your subnet metric and grab the source ip of the resulting ttl expired in transit packet. I think that's how trace routes work.
    # April 28, 2005 2:53 PM

    Erik Porter said:

    That makes sense...thanks a lot, I'll look into that! :)
    # April 28, 2005 5:13 PM

    Diego said:

    Hey.. someone help me!! MY MSN Messenger 7.0 is unavailable since half a moth and I been useng e-messenger but I want mine back, if someone can help me please feel free to send me an e-mail to cangriman90@aol.com
    # May 1, 2005 8:13 PM

    Joe H said:

    This makes no sense...I lived on the South side of Decatur?!?!?!?!?!

    75% General American English
    10% Upper Midwestern
    5% Dixie
    5% Midwestern
    5% Yankee
    # May 4, 2005 12:50 PM

    Corey Alguire said:

    Holy crap! How am I 10% Dixie? And 0% Midwestern?

    70% General American English
    15% Upper Midwestern
    10% Dixie
    5% Yankee
    0% Midwestern
    # May 5, 2005 4:05 AM

    Eric A. Duncan said:

    Here ya go:

    http://www.planet-source-code.com/URLSEO/vb/scripts/ShowCode!asp/txtCodeId!60200/lngWid!1/anyname.htm

    Yeah, I was looking into writing my own as well for WinAMP. Looks liek someone beat me to it. :)
    # May 6, 2005 8:38 PM

    Erik Porter said:

    Thanks a lot for that link, Eric. That should be helpful!
    # May 6, 2005 10:01 PM

    Jerry Dennany said:

    Hey, I'd nominate you, but it's a tough crowd to compete with...
    # May 7, 2005 3:19 AM

    Erik Porter said:

    'tis true, but it's the thought that counts...thanks! :)
    # May 7, 2005 3:37 AM

    Unix Guy said:

    I'm not a windows programer, but I would think you could parse the output of the ipconfig command and grab the result to find your default gateway.

    C:\ ipconfig

    Windows IP Configuration


    Ethernet adapter Local Area Connection:

    Connection-specific DNS Suffix . :
    IP Address. . . . . . . . . . . . : 192.168.1.50
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : 192.168.1.1

    I have no idea if there is a programmatic way to query the interfaces for the same info though.

    -Unix Guy
    # May 8, 2005 11:43 PM

    bubz said:

    how and where do i download the new msn 7.0?
    # May 12, 2005 6:01 AM

    Aaron Ballman said:

    I've yet to find a decent answer to this question. Using the Win32 APIs won't be of any help because the local machine can only "see" its LAN IP address. The only solution I've come up with that's viable is to do an HTTP GET to www.whatismyip.com and parse the results.
    # May 12, 2005 12:25 PM

    Steve said:

    Congrats! Remember to eat something at the reception ;-)
    # May 27, 2005 2:24 PM

    Jacob said:

    w00t!
    # May 27, 2005 2:43 PM

    Wallym said:

    Congrats!
    # May 27, 2005 2:56 PM

    Erik Porter said:

    Thanks guys! :)
    # May 27, 2005 3:11 PM

    Frans Bouma said:

    Congrats! :D
    # May 27, 2005 4:03 PM

    Julie Lerman said:

    ahh - we can say we knew you when! Congrats and have a wonderful celebration!!
    # May 27, 2005 4:14 PM

    Erik Porter said:

    Thank you much, everyone! :)
    # May 27, 2005 4:38 PM

    Wallym said:

    I hope everything goes well on your BIG day!
    # May 27, 2005 11:24 PM

    Mike said:

    Congrats Erik!
    # June 2, 2005 8:11 PM

    Wallym said:

    I think the VE maps are better looking than the google maps. The other problem with the Google Maps is that the directions I typed in for a simple test were wrong so I lost all interest in Google maps. I haven't tested the VE system for directions, but I'll give that a try sometime. Hope everything is great with you, Mr. Married Guy.
    # July 26, 2005 9:27 AM

    Wallym said:

    Congratulations. I know you will make a fine addition to our group. :-)
    # July 26, 2005 9:43 AM

    Erik Porter said:

    Thanks, Wally! :)
    # July 26, 2005 12:02 PM

    Erik Porter said:

    Mr. Married Guy is just fine thanks...hope all is well with you too, dude!
    # July 26, 2005 12:03 PM

    Adam P said:

    I suggest trying http://moon.google.com. Zoom all the way in...who'da thunk it?!

    Oh, and you can also download the free Google Earth client. (http://earth.google.com/) That's always fun to play with.
    # July 26, 2005 6:26 PM

    Erik Porter said:

    Yup...cheese! :D And yah, Google Earth is neato too! :)
    # July 26, 2005 6:28 PM

    Jerry Dennany said:

    A good question: "Would I trust a company storing my stuff?"

    As a techie, I would say that it would be important that you couldn't read it - Encryption would be crucial. Not only would it be important that you couldn't read it, but if a subpoena were served, all you could hand over would be an encrypted 'blob'.

    I don't have anything to hide, actually, but I'm still a bit paranoid when it comes to remote data hosting. I'm quite certain that I'm not alone in this.
    # July 26, 2005 7:51 PM

    Erik Porter said:

    I'm personally not paranoid about it, but I realize that a majority of people are, especially in the tech industry. So a follow-up question would be: Are you paranoid about ALL your stuff or just some of it?

    Also, one other comment...how would you really know that your data is encrypted? Because the company says so? Because of a Privacy Statement? And for the subpoena, can a company really do that anyway (i.e. not hand over all information to the government or whoever)?

    Thanks for the comments, feel free to post more or blog about the topic. I'm very interested to hear what you and everyone thinks on the subject.
    # July 26, 2005 7:56 PM

    Eric Newton said:

    I want a storage mechanism that I dont have to care about.

    Ideally it would be on my home computer, with a backup copy on some company's computers, in the event of loss of that physical storage... for instance, Hurricanes here in Fla, in theory having important documents scanned into the storage program, have it also "mirrored" at the company's servers.

    Normally, accessing the storage would give the home computer's version. But in the event of inaccessibility, then the data comes from the backup storage, with maybe a simple message of "Since we cannot get to your home machine, should we pull from Your Backups stored on our physical drives?"

    Storage needs to stop being "place" limited. Once that happens, our computers will stop being islands of info, and begin to be more of "agents" to our data.
    # July 26, 2005 8:06 PM

    Erik Porter said:

    Definitely agree, Eric...the stuff I'm working on isn't quite there yet, but that's the path I've been heading. I like that...Agents of our Data...that's the way it should be...cool...thanks for the comments!
    # July 26, 2005 8:12 PM

    Corey Alguire said:

    I don't suppose all my info would have to be encrypted, but I would personally really like that option. The thing that made me think about this most recently was a hard-drive melt down. I thought for about 2 weeks that I had lost a month worth of work, including a lot of accounting. My ideal solution would have been a hosted, encrypted backup of the important data (which I realize I can currently subscribe to and utilize). Anyway, the point is, obviously that type of data would have to be encrypted. But my grocery list would not. ;) Ultimately, though, I would like access to the same info, no matter where I am or what platform I am using for access.

    As far as court issues, etc. Why not just use (and publicize that you use) one-way encryption? Seems like that would be a reasonable way to ensure you cannot be held somehow liable for content or for not turning over decrypted content. Seems like an obvious solution, but I am no attorney, so I have no idea if that would hold up or not. Heck, I am probably over-simplifying the issue here, but at first glance it doesn't really seem that complex.
    # July 27, 2005 7:06 PM

    Erik Porter said:

    Hey Corey! :)

    If you encrypt the stuff one way, how would you get it back out for you, the owner of the data? Although, now that you've said that, what about the encryption key being stored by you, the user so only you could decrypt it so even I couldn't access it (being the storer of your data)? That's a neat idea except that if you only access it from one place, then if that box got wiped out, you'd be screwed.

    Thanks for the comments...good to know you're a middle of the road person where some of your data is important and some is not.
    # July 27, 2005 7:12 PM

    Corey Alguire said:

    Doh! Sheesh- I guess I was not thinking about the obvious.
    # July 27, 2005 7:14 PM

    Erik Porter said:

    It's cool man, you gave me some more ideas, such as providing two USB keys with every account or something that would store the encryption key that you could just always have with you (and keep the other as a backup somehwere in your house or fireproof safe or whatever). Starting to sound a little too techie though! :P
    # July 27, 2005 7:16 PM

    Frans Bouma said:

    "Fantastic new file copy dialog"
    Is the underlying functionality also changed? As in: if you copy a 100MB file from one partition to another, on teh same HDD, does it still copy in 4KB chunks (also true for copying a large file between folders), which is very very slow ?
    # July 28, 2005 8:05 AM

    Wallym said:

    Geez, go to bed...........
    # July 28, 2005 8:55 AM

    Adam P said:

    Lookin' hot!
    # July 28, 2005 10:55 AM

    Erik Porter said:

    Frans, I really have no idea about what you're asking, so you'll have to try it yourself (you should at some point anyway ;))
    # July 28, 2005 1:00 PM

    Jon Galloway said:

    This is also handy - script user permissions on a server to run on another. Useful if environments get out of sync:
    http://www.sql-server-performance.com/bm_object_permission_scripts.asp
    # July 29, 2005 3:54 PM

    Erik Porter said:

    Yes, very cool...thanks, Jon!
    # July 29, 2005 3:57 PM

    Darren Neimke said:

    Hi Erik, that's great news. I'm planning to come across again this year so I'll see you then. At this stage I'll definitely be there for the Summit and hopefully stay on for the Insiders meeting too.
    # July 31, 2005 3:04 AM

    Erik Porter said:

    Cool, Darren...look me up! :)
    # July 31, 2005 3:06 AM

    Rob Chartier said:

    Hey Erik. The Insiders gathering is probably one of the better choices, nice small (and great) group, very focused.

    I'll be there this year as well. Wouldnt miss it!
    # July 31, 2005 5:05 AM

    Christian Weyer said:

    Dudes, I won't show up at either of them - unfortunately. But family and business win this year ;)
    # July 31, 2005 5:17 AM

    Stephane said:


    Have you any idea how many people post in forums like Codeproject the same questions over and over again. Are Codeproject forums lame?
    No, not really. When you ask the guys if they Google their question first, they would answer no in two/third of the times. For the last third, it's even simpler : they just don't know how to express what they are looking for.
    Many many many forum lurkers are occasional developers apparently. And no newgroup improvement is going to help as we move towards bigger and more complex developing frameworks that tend to assume the developers know a lot.

    # July 31, 2005 11:38 AM

    Joe said:

    If there were no repeated questions, forums and newsgroups would wither and die...
    # July 31, 2005 11:53 AM

    josh ledgard said:

    I'm going to write a more detailed post with all of the feedback. I've gotton some good ideas out of all of it. I'm not saying that search doesn't need to be improved... it does. There is no reason that both the searching and asking experience can't be improved. Even if I search first I might get a different set of results than I do when I construct my question because I'm asking it in a different way.

    I also think the benefit is almost as much mental... showing people that there are search results in the first place. I think most "1 timers" don't even bother to try searching.

    If you combine this with better key wording and a richer "best FAQ generation system" it would go a long way.

    Regarding withering the newsgroups... that will never happen. As Stephane points out.. if developer frameworks and opportunities continue to evolve there will always be new questions. I also don't think that success is defined as the 100% elimination of duplicate questions. I'm realistically satisfied if we could out 10% of the most frequently duped questions.


    # July 31, 2005 5:45 PM

    Erik Porter said:

    Sounds good, Josh, and thanks for the comments. I agree that duplicates will never totally go away, but all the things you and others have mentioned would surely help bring that number WAY down. And YES, on the newsgroups thing. They won't die. I'd love to see more of what's already being done to bleed the line between forums and newsgroups too. They're the same thing, just a different presentation.
    # July 31, 2005 5:52 PM

    Sahil Malik said:

    LOL, Frans asks the toughest questions :)
    # August 1, 2005 6:25 AM

    Stan said:

    Hi, just a question because i've got a problem you dont seem to have : vista asks me a password for the administrator and the guest account, so i cant log in, that is crazy ! can somebody help me ?
    # August 1, 2005 7:49 AM

    Elevati0n said:

    Hi, I have that problem too... What admin/Guest password? it's crazy...
    # August 1, 2005 11:55 AM

    Jerry Dennany said:

    Sounds cool - keep us posted, Erik...
    # August 1, 2005 6:03 PM

    Tommy said:

    I got that problem too... anyone got solution for it ? Please email me at tommylad@gmail.com if you got it.

    tOmmy
    # August 2, 2005 10:20 AM

    tony said:

    Big problem for wifi intel PRO 2200BG ...IT's not running
    loosing connection everytime
    can you confirm?????
    # August 2, 2005 3:00 PM

    Alex said:

    hmmm... I've installed last night. It simply sucks. I'm still waiting for Mac OS X x86
    # August 2, 2005 5:47 PM

    Adam P said:

    Well bust my buttons! It's about time Verizon launched a PDA "stickphone." Audiovox has had one on the Cingular network for a LONG time now (friend from college has it). His is a nice phone, so I'm sure that this one will be as well! Hott!

    Oh, and about the accent..."Unless I find something better, this is the phone to which I'll be upgrading." just sounds LAME. So, I guess the Midwestern accent gives us a coolness factor as it keeps us from sounding like well-studied, bookwormy dorks.
    # August 3, 2005 10:49 AM

    Erik Porter said:

    werd...my midwestern, brotha, er...cuz...and yes, it's about damn time...

    /me excited!
    # August 3, 2005 11:01 AM

    Web Hoster said:

    Now that looks very sweet indeed, certainly hope it comes over to the UK but aslong as its better than some of their earlier models like the s100.
    # August 4, 2005 8:47 AM

    Chris said:

    Mapping Samba Network Drives not working?
    (Samba on Debian(Linux))
    It just says password failed.. even though its the same details i use for the login to the share on XP :\
    # August 4, 2005 5:56 PM

    PetE said:

    Logitech webcams dont work, sound does not work, great graphics ..very stylish

    *waits for beta 2 in october* cant live without sound.
    # August 4, 2005 10:10 PM

    abhi said:

    hi abhi
    # August 7, 2005 5:38 AM

    Thomas said:

    Vista Beta 1

    Can not gain outside network access -
    I have an IP address- which I know is correct.
    Can not ping - Firewall on or off -

    Tried ipconfig release/renew
    Nothing Works -
    Boot back into XP - correct IP address and connection works fine.
    Using IE 7.0 on both.
    Anyone have any ideas.
    # August 7, 2005 7:15 PM

    geezer said:

    No sound
    Blue screen (unrecovorable) installing apps like Symantec.
    No LAN
    highly unstable
    unusable in present incarnation.
    Let's wait for beta 2
    # August 8, 2005 7:18 PM

    Emmerson said:

    Beautifly crafted Aero Skin, makes the OS look and feel like Microsoft have actually been doing some thinking, file managment is great too, the whole thing has a certain "Mandrake" linux feel to it.
    Very clean lines make the desktop look tidy no matter how many icons.
    Truely a remarkable next step imho.

    however... i would like my mouse to keep active

    this beta 1 5112 seems to "Drop" the drivers.
    if any1 has info on that, please say...

    Excelent work !
    Microsoft, if you had released this tomorrow, i would have gone bought it then... no matter what the cost !
    # August 9, 2005 11:59 PM

    Emmerson said:

    Spec :
    Operating System: (Windows Longhorn XP Professional 6.0 (Build #5112))
    Uptime: (17m 47s) ¤ Record: (3h 50m 52s set on Tue Aug 09 11:22:34 2005)
    Memory Usage: (Usage: 234/512MB (45.70%) ¤ (||||||||||||||----------------))
    Display Info: (1152x864 32bit 60Hz) ¤ Monitor: (Inves 19" FlatScreen)
    CPU Info: (1 CPU - AMD Sempron 2600+ (T-Bred), 1.84 GHz, L1: 64KB L2: 256KB (0% Load)
    Hard Disks: (Total/Free: 74.52/9.14GB
    Connection/Network Interfaces: (VIA Rhine II Compatible Fast Ethernet Adapter (10Mb/s) 0.96MB In, 0.54MB Out)
    # August 10, 2005 12:04 AM

    Steve Hiner said:

    If ShouldThrowException is False won't that code throw an exception anyway since the original exception won't get caught? I'd expect it to look more like:

    Catch ex as Exception When ShouldThrowException
    Throw
    Catch ex as Exception
    'Swallow exception
    End Try

    Also, it's my understanding that "Throw Ex" will make the resulting exception look like it came directly from your routine whereas "Throw" will maintain all the original stacktrace and everything.

    Am I right on either issue?
    # August 10, 2005 3:04 PM

    Erik Porter said:

    Hi Steve, yes, sorry, you're right. I had altered this code a few times and tried to make it not "look" like anything specific I was doing in my app. I'll fix that.

    As for the Throw Ex, I honestly don't know, but you're probably right. Either way though, wouldn't I still get basically the same stack trace?
    # August 10, 2005 3:14 PM

    Shane said:

    The standard advice I've seen is to use Throw as opposed to Throw Ex specifically for the reason Steven gives.

    http://weblogs.asp.net/bhouse/archive/2004/11/30/272297.aspx
    # August 10, 2005 3:20 PM

    Erik Porter said:

    Shane, yes, when I do not catch an actual exception at all (Catch) I just call Throw instead of Throw Ex, but I figured in this case, since I am catching Exceptions (Catch Ex As Exception) I would need to throw it. If I've already caught the exception and I just call throw does it still work properly?
    # August 10, 2005 3:25 PM

    jayson knight said:

    The only time you should catch a specific exception is if you are going to handle it, otherwise specify a generic catch, and throw the exception to (hopefully!) be handled upstream somewhere.
    # August 10, 2005 8:57 PM

    Anon1 said:

    Runs really fast for a beta! It's almost as fast as XP on the same machine - and I wouldn't even expect that from the finished version. Every one else complains about stability but I've had no probs. Graphics are really smooth and good even on my Ati X300 (the cheapest card around). The bugs get annoying after a while though so I'm not using it as my primary OS. Bugs like icons vanishing and broken features such as hibernate. I did by the way get all my drivers to install (inc sound, modem, and NIC) but some had to be installed manually from my drivers CD.

    If anyone is having trouble installing drivers then use device manager to install them and select manually select driver and then point it to a folder on the drivers disk with .inf files in - the rest is automatic. Self installing drivers like those from HP often don't work unless you can extract them.

    I also havn't had any success with antivirus - but I don't need it anyway - if this machine gets a virus then I just reformat it :-)

    Overall Vista beta 1 is great but not quite good enough to use as a primary OS due to lack of program and driver compatibility and a few bugs and incomplete features.
    # August 11, 2005 7:42 PM

    Anon1 said:

    One other thing:

    Install only took 13 mins 35 secs installing from windows XP to a new partition from a mounted DVD image. (measured from the time it started copying files till showing the start menu of the completed install)

    It shows how much of a delay the CD drive delay is!
    # August 11, 2005 7:47 PM

    Chuch said:

    any work arounds for sound? I have made the beta my primary OS, aside from sound, i have no reason not to
    # August 13, 2005 8:32 PM

    M. Keith Warren said:

    Erik,

    Check out Peter Blums stuff, it does Validation groups and about 100 other things as well. As Scott Hanselman says, it is a 'reimagining' of the validation framework but it will change the way you make web sites.

    Worth the look.

    www.peterblum.com
    # August 15, 2005 6:08 PM

    Erik Porter said:

    I've actually glanced at them. I think for new projects I definitely will, but when you already have a project with tons and tons of pages I don't think it makes sense to flip out all the validators in the whole app when a little workaround like this works. Definitely thanks for mentioning Peter Blums stuff though!
    # August 15, 2005 6:12 PM

    M. Keith Warren said:

    FYI: He has a utility that converts everything.
    # August 15, 2005 7:39 PM

    Erik Porter said:

    ok, then i'll definitely have to give that a go...thanks!

    http://www.peterblum.com/VAM/Home.aspx
    # August 15, 2005 8:14 PM

    Chad Humphries said:

    That is interesting. I would like to know what causes that.

    I'll test on Safari at home tonight and see if I can replicate what does/does not cause it.
    # August 17, 2005 5:28 PM

    Wardy said:

    i have been running it now as a development machine with visual studio .net as both the os and the studio run on the framework they run pretty well but ive noticed it doesnt like to multi task.

    if i am writing an app in studio and then flick over to something else it will stop and think for about 5 mins then decide its going to go ahead.

    also ive found that wireless networking and longhorn tend to conflit in that the machine runs fine until i connet to my network then it seems to degrade in performance until its unusable.

    but last time it did this i left it running and 1 week after all the grief im trying to get the iis running again like i had it in xp !

    seems to be fine locally but yet again i have some networking issues with it but all in all id say it looks nice whilst ur waiting around and im not really in that much of a rush.

    once u actually get ur apps up and running they run nice so its all good really :)
    # August 18, 2005 2:12 PM

    Wardy said:

    anyone know how i can get a little more stable networking in to longhorn ?
    # August 18, 2005 2:14 PM

    Erik Porter said:

    Wait for Beta 2 ;) No really, I've noticed a lot of networking issues as well. In the channel 9 video they talked about that the entire network stack has been rewritten so no wonder there are still some major bugs. I'm sure beta 2 will be a lot better.
    # August 18, 2005 2:19 PM

    David said:

    has touble displaying text in some box's example FTP programs and Winscp3 does not work at all
    # August 19, 2005 4:37 AM

    Haydz said:

    Some dramas getting it to talk to the other computers on the network, can access them but they can't seem to access the shares on the longhorn computer, firewall up or down. Any thoughts?

    Apart form that not too bad. Decent speed on a 1.5g athlon and 512mb ram.
    # August 23, 2005 9:56 PM

    Tarl said:

    Very few probs here. Installed fine and with some digging and research was able to acquire all the right drivers so I have sound, good video and can connect to the internet and 70% of my other home networked computers.

    I am unable to hookup to the main computer for some reason. I get the error, "You do not have access to the listed network resource, check with the administrator for rights." or something like that.

    Strange, but working around it, and still researching it.

    Other than that, pretty stable for an early beta, and did I say FAST. I notice the speed already faster than WinXP on the same machine.

    Tarl
    # August 24, 2005 11:52 AM

    Matt said:

    what are the minimum system requierments you need to run windows vista?
    # August 27, 2005 1:55 AM

    Matt said:

    sry to double post but is windows vista 64-bit?
    # August 27, 2005 1:57 AM

    Adam Kinney said:

    Check out the Layout Bar in the video Jon linked. I'd like one of those.
    # September 1, 2005 5:29 PM

    Leigh Kendall said:

    Yikes... good to know I'm not the only crazy person who is as anal as you! I feel EXACTLY the same way.

    Here, take one of these:
    http://www.codeproject.com/csharp/TaskbarSorter.asp

    You'll feel much better. I can't live without this little gem or my XP Toys...

    HTH,

    Leigh
    # September 3, 2005 2:10 PM

    Jason Mauss said:

    That's neat. I'll have to try it out.
    # September 8, 2005 5:19 PM

    TrackBack said:

    RossCode.com - Formatting Strings In ASP.NET
    # September 18, 2005 3:32 AM

    Wallym said:

    Have fun. I'll be in on Sunday.
    # September 26, 2005 2:48 PM

    Michael Schwarz said:

    See my blog at http://weblogs.asp.net/mschwarz/archive/2005/09/15/425220.aspx for the arguments can be used to get context and error callbacks.

    CIAO
    Michael
    # October 5, 2005 8:29 AM

    Ron Krauter said:

    Oh the coolness... Thanks!
    # October 5, 2005 10:52 PM

    Scott McCulloch said:

    Do you also need to set in the <httpRuntime> tag the attribute of enabled="false", this is what takes it down from the admin interface I think..
    # October 5, 2005 11:32 PM

    Jason Hoekstra said:

    Ahhh... the simple things in life really make me happy.
    # October 5, 2005 11:52 PM

    Bilal Haidar [MVP] said:

    Hi Erik:
    I tried to put such a page in the root directory of "File System" website and when I run the page, it will give me:
    "The page cannot be found",
    When i remove that page it works just fine and goes to my pages, is there any configuration that should be done? Does it work with File System websites or just http websites ?

    Regards'
    # October 7, 2005 3:40 AM

    TrackBack said:

    App_Offline.htm
    # October 7, 2005 11:44 AM

    Erik Porter said:

    Bilal, I don't know the answer for sure on that, but I believe that is correct. My question to you would be, why would you want to do this on a file system project on your local machine anyway. This feature is for your deployed application.
    # October 7, 2005 11:47 AM

    MaheshKumar.R said:

    Really awesome..it reduced my burden a lot..Thanks Guru :)
    Mahes,BLR,India
    # October 9, 2005 12:36 PM

    Sunish Abraham said:

    Hi Erik,

    Thanks for the information...I tried it out and it worked great! A colleague of mine tried this as well and somehome received a 404 (the App_offline.htm file was not empty)...so I wanted to make sure that this method was fool-proof. So I created a console application which used System.Net.WebRequest to access the website and flip-flop the App_offline.htm...it seems that I am receiving a 404 when I access the site programatically when the App_offline.htm exists. I would think I would have received a response which is similar to what I see in IE? Thanks for your assistance!

    Sunish
    # October 10, 2005 2:38 PM

    Danny said:

    hey how you turn online the aplication if in the asp.net web site admin tool u set "take application offline" by mistake

    i try to open up the asp.net web admin tool again but it shows me The resource cannot be found.
    Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

    and now every asp.net site is down.

    # October 11, 2005 4:07 AM

    Scott D. said:

    Is this only with the 2.0.50727 build and above? I tried it on our QA servers running 2.0.50215 and also received HTTP 404.
    # October 11, 2005 12:55 PM

    Milan Negovan said:

    VS.NET can cause this problem too. For example, occasionally it holds a lock (an open file handle?) on some assembly in the middle of our compilation chain. I've been on the phone with MS Support, did research on my own, etc, etc, but the only thing that works is to shut down VS.NET and start it back up again. :)
    # October 12, 2005 11:41 PM

    Scott McCulloch said:

    Danny, open up web.config and set enabled=true in the httpRuntime tag
    # October 14, 2005 7:53 AM

    Vineeth Raja said:

    Thanks for the neat tip.
    # October 14, 2005 11:38 AM

    Jason Mauss said:

    Congrats man - It has been a lot of fun working w/ you on FAZR. Hmm...Jeff's still hiring eh? hmm....interesting.
    # October 25, 2005 8:52 PM

    Erik Porter said:

    Thanks! It's been good working with you too, Jason. Keep in touch!
    # October 25, 2005 8:59 PM

    Adam Kinney said:

    Awesome, happy to have you joining the team! This is definitely the best job so far :)

    C# rocks!
    # October 25, 2005 9:08 PM

    Jon Galloway said:

    Wow! Congrats! That's great news!
    # October 25, 2005 9:17 PM

    Erik Porter said:

    Thanks, Adam, I'm happy to join you! ;)

    Thanks, Jon! :D
    # October 25, 2005 9:20 PM

    Wallym said:

    Congrats
    # October 25, 2005 9:31 PM

    Matt Hawley said:

    Welcome, too bad we didn't get ya!
    # October 25, 2005 9:31 PM

    Erik Porter said:

    Thanks, Wally!

    Aw, shucks...thanks, Matt! ;)
    # October 25, 2005 9:36 PM

    TrackBack said:

    Congrats to the newest Channel 9'er
    # October 25, 2005 9:43 PM

    Armanda said:

    NUFW's loss is Microsoft's gain. Good Luck with the new opportunitiy!
    # October 25, 2005 10:13 PM

    Erik Porter said:

    Thanks, Armanda, but seriously, you all are doing great and will continue to do so without me!
    # October 25, 2005 10:22 PM

    Gretchen said:

    Eric - This is so cool. Congratulations! We're so excited for you!!!!!
    # October 25, 2005 10:55 PM

    Kent Sharkey said:

    Excellent news! Congrats, Erik!
    # October 25, 2005 11:19 PM

    Erik Porter said:

    Hey Gretchen and Kent, thanks so much! Great to see you both over this way! :D
    # October 25, 2005 11:52 PM

    Scott C. Reynolds said:

    Can't think of a better guy. Been a pleasure working with you on FAZR, and congratulations bro!
    # October 26, 2005 12:59 AM

    Erik Porter said:

    Thanks a lot, Scott. It was great workin' with you too man! :)
    # October 26, 2005 1:11 AM

    Rob Caron said:

    Congratulations, Erik!
    # October 26, 2005 2:27 AM

    haacked@gmail.com (Haacked) said:

    Congratulations! Snatched from our grip by Microsoft. That's fine by me. I'm sure there will be future opportunities to work together.
    # October 26, 2005 2:29 AM

    Erik Porter said:

    Thanks, Rob! ;)

    Thanks, Phil. I'm sure of that too. Keep in touch! :)
    # October 26, 2005 2:38 AM

    TrackBack said:

    Who drank all the damn Kool-Aid?
    # October 26, 2005 2:53 AM

    Jason Mauss said:

    bastard - yours is worth like, 3 times mine.

    :0(
    # October 26, 2005 3:08 AM

    Erik Porter said:

    haha, nice dude! :P Did you look at Phil's compared to mine though? Like 3 times more than mine! ;)
    # October 26, 2005 3:34 AM

    Scott C. Reynolds said:

    I smell inflation! :P

    yeah phil is kicking all our asses.
    # October 26, 2005 5:19 AM

    Scott Galloway said:

    Congratulations...once you C# you never look back :-)
    # October 26, 2005 6:15 AM

    Jason Alexander said:

    Very awesome, congrats Erik! You're joining a great team and project, and I look forward to what you guys accomplish in the next year!
    # October 26, 2005 8:10 AM

    Joe Heller said:

    Congrats man! I guesse we've both come a long way from the days of Turbo Pascal. ;) If you need help with anything, just let us know.
    # October 26, 2005 10:34 AM

    Adam Porter said:

    Hot hot hot! Have a great time...I know you've waited SO long for an opportunity like this. Congratulations!

    I wonder what dear-ol' grandpa will say? :P
    # October 26, 2005 10:59 AM

    Shawn Walsh said:

    Ahhhh, you finally made it into the land of OZ - congrats Erik! I remember when you were busily coding away out of the book "Learn ASP in 21 days" at AdamsWells Internet. You've come a long way since then through a lot of hard work of your own accord. You deserve this job, and I'm glad to learn you finally got it. Keep in touch, keep your head on straight and look forward into settling in to the new job and building a family. You've good great things ahead of you, my man!
    # October 26, 2005 11:06 AM

    Raymond Lewallen said:

    I am happy for you Erik, and the best of luck in your adventures at MS. You've got my email and MSN, so keep in touch. Going to miss you on FAZR, its been great having you a part of us up to this point.
    # October 26, 2005 11:16 AM

    Raymond Lewallen said:

    You've got me beat by $13K, but, on a good note, CodeBetter in general is worth almost $300K :)
    # October 26, 2005 11:17 AM

    Erik Porter said:

    Scott, I smell jealousy...tehehe. :P

    Raymond, ha, yah, well I've got like $5 in my pocket so take that! :P
    # October 26, 2005 11:21 AM

    Kevin Harder said:

    Congratulations Erik! Very Cool. And you'll get to work with the infamous Channel9 Guy. :P
    # October 26, 2005 12:18 PM

    Erik Porter said:

    Scott, I actually code in C# already about 50% of my day, so it's fine. :)

    Jason, thanks a lot man! Looking forward to seeing how we work with you guys.

    Joe, aaahhh, the memories. ;) Thanks for being a good friend!

    Adam, thanks, cuz...should be a blast! Grandpa's happy for me. ;)

    Shawn, more great memories! Thanks for getting me started with ASP. Don't know where I'd be if I'd never worked with you. Will be keeping in touch man. Thanks for the kind words and take care! :)

    Raymond, thanks dude, appreciate it! I will definitely keep in touch and it was great working with you and Fazr too!

    Kevin, Thanks! And yah that little C9 punk better watch out! Either that or we'll go get drunk together and prank call geeks in the middle of the night while they're trying to code. ;)
    # October 26, 2005 12:52 PM

    Jeff Key said:

    Bravo! Nice job, Eric. What's FW going to do without any .NET developers? ;)
    # October 26, 2005 3:29 PM

    Jeff Key said:

    Oy, Erik I mean. I've worked with a guy named Rik for five years and still spell his name 'Rick' half the time. Where's my Ginkgo?
    # October 26, 2005 3:30 PM

    Erik Porter said:

    Hahaha, no worries, Jeff and thanks! :D Not sure exactly, um...import? ;) No really there are some other .NET developers around here, just not too many. Indiana will survive! :)
    # October 26, 2005 4:02 PM

    TrackBack said:

    Congrats to a friend and Channel 9 is hiring
    # October 26, 2005 4:25 PM

    TrackBack said:

    Erik Porter joins the Channel9 team
    # October 26, 2005 5:05 PM

    TrackBack said:

    Wow...who needs real money?
    # October 26, 2005 5:06 PM

    Rob Howard said:

    Congratulations Erik! That's awesome news!
    # October 26, 2005 5:51 PM

    Erik Porter said:

    Thanks a lot, Rob! :)
    # October 26, 2005 5:54 PM

    Don Demsak said:

    Yet another one bites the dust and joins the borg!

    Congrats!
    # October 26, 2005 7:06 PM

    Erik Porter said:

    Very true! Thanks, Don! :)
    # October 26, 2005 7:35 PM

    TrackBack said:

    BTW
    # October 27, 2005 3:10 AM

    Rafael M. Munoz said:

    this it totally awesome Eric, welcome aboard and see you soon
    # October 27, 2005 4:31 AM

    Erik Porter said:

    Thanks, Rafael, I'm so excited! See ya dude!
    # October 27, 2005 11:40 AM

    TrackBack said:

    I don't work here ... yet
    # October 27, 2005 8:05 PM

    Chris Hammond said:

    The images on that link don't work.
    # October 27, 2005 8:27 PM

    Erik Porter said:

    Works for me, Chris. Something wrong with your browser?
    # October 27, 2005 8:30 PM

    Chris Hammond said:

    Weird. works in Firefox.

    Silly IE
    # October 27, 2005 8:32 PM

    Erik Porter said:

    Doubly weird, it works fine for me in IE! :P
    # October 27, 2005 8:33 PM

    Chris Hammond said:

    Hmmm, wonder if it's because the images are on MSN groups and maybe I'm not signed into my passport?
    # October 27, 2005 8:37 PM

    Erik Porter said:

    Could be.

    /me clueless! :-|
    # October 27, 2005 8:42 PM

    Colt said:

    Congrats Erik!!
    # October 28, 2005 6:49 AM

    Raj Kaimal said:

    What components did you install?
    It loads fine on mine. Sqlserver.exe takes up apprx 66MB while SQLAGENT90.exe takes up apprx 1.7MB

    I installed the following:
    Sql Server Database Services
    Workstation components, Books Online and Development tools

    After install, I turned off SQL FullText search.

    Analysis, reporting, notification, integration services might be taking up a lot of resources if you have those installed.
    # October 31, 2005 12:16 AM

    Erik Porter said:

    Thanks, Raj.

    I installed everything by default. I'll just start turning things off and see how it goes...thanks.
    # October 31, 2005 12:17 AM

    scottgu said:

    Do you have any managed components running? Those would load the CLR, which would impact first time loading as well as potentially increase working set.

    Hope this helps,

    Scott
    # October 31, 2005 12:30 AM

    Erik Porter said:

    Actually, I don't, Scott. However, I AM working on a couple CLR SP's so that's good to know down the road, thanks!
    # October 31, 2005 12:32 AM

    Frans Bouma said:

    What I've noticed on my laptop is that with the CTP bits of sqlserver 2005, logging in took 2 minutes longer (there was a 2 minute delay before everything showed up.) This went away when I disabled the firewall on the LAN connection. Could you check if you've the same thing?
    # October 31, 2005 5:16 AM

    Adam Porter said:

    WERD.

    The latest Foo Fighters album was my least favorite DRM experience, ever. Forcing me to use software on the CD to rip the songs, instead of using Media Player, iTunes, etc. REALLY irks me.
    # October 31, 2005 10:03 AM

    Erik Porter said:

    Wow, really, Adam? That's pretty bad. I was thinking of buying that one too. Maybe I'll buy it online or something instead of the actual CD.
    # October 31, 2005 10:33 AM

    Erik Porter said:

    Frans, I wish it were that easy. I tried disabling my firewall and rebooting, but it still took just as long. :(

    Also, Raj, I used the SQL Server Surface Area Configuration tool to tell most of the services like analysis and reporting to not startup automatically and it seems to have sped up the initial load a bit, but it still takes about 35 seconds extra. Although it seems the mem usage is down a bit.

    It's all livable. It would just be nice to get it up faster.
    # October 31, 2005 10:42 AM

    Dean-o said:

    Congratulations! You deserve it. In the short time I have known you, I have learned a lot from you. You have a long road of success ahead of you.
    # October 31, 2005 9:53 PM

    Erik Porter said:

    Thanks, Colt!

    Thanks a lot, Dean. I've enjoyed talking with you at our UG meetings! :)
    # October 31, 2005 9:55 PM

    Konstantin said:

    I have the same issue - it takes 140mb of memory... it's a little bit to much, I think..
    # November 1, 2005 7:17 AM

    Jason Mauss said:

    Looks cool - some of the gadgets are rough around the edges as far as how they render but it's looking very promising.
    # November 1, 2005 7:09 PM

    Jason Mauss said:

    Hey Erik - I experienced some similar issues - and used the SAC tool like you mentioned. Have you discovered anything since that's helped reduce mem usage or startup time?
    # November 1, 2005 7:10 PM

    Erik Porter said:

    Not really, Jason. It's like running a full blown server. :-| The mem usage and starup time are what I'd expect SQL Server on a production machine to act like. Really weird. I've probably got too much configured or something. :-\
    # November 1, 2005 7:13 PM

    zzz said:

    At http://channel9.msdn.com/ page
    if you hover over View button, IE shows the tittle, which isn't View but Reply:

    title="Reply" src="/Themes/AlmostGlass/images/btn_view.gif"
    # November 14, 2005 12:04 PM

    Jason N. Gaylord said:

    It's definately nice! I posted a presentation with examples that I did for Membership awhile back on my site. Its a pretty cool point of reference if you're new to membership.
    # November 28, 2005 12:35 PM

    Sundaresan said:

    Is there any size limits & performance issues using XML data type in large volume operations (Reads/Writes)
    # November 28, 2005 2:13 PM

    Erik Porter said:

    I honestly have no idea. You should try some very large documents and post your findings.
    # November 28, 2005 2:15 PM

    Scott McCulloch said:

    Make sure when you are joining on to those tables that you use the "views" rather then the tables.

    I'm told the views will be backward compatible in the future, but possibly not the tables?
    # November 28, 2005 5:54 PM

    Erik Porter said:

    Jason, got a link?

    Good Point, I didn't even realize there were views.
    # November 28, 2005 5:58 PM

    Kent Tegels said:

    Erik, this looks very much like the solution I would have crufted up. Good job!
    # November 29, 2005 3:43 AM

    Erik Porter said:

    Thanks, Kent! Means I must've done something right coming from you. :)
    # November 29, 2005 2:09 PM

    Jason Mauss said:

    I've always used that method "HashPasswordForStoringInConfigFile" to hash stuff (after adding a salt of course). It doesn't get much easier than that.
    # November 29, 2005 6:52 PM

    Erik Porter said:

    So have I, but isn't that doing the same thing he was doing?

    Personally I always specify the encryption key in my application so it's not an issue.
    # November 29, 2005 6:55 PM

    Jason Mauss said:

    "isn't that doing the same thing he was doing?"

    Unless I misunderstood that thread - his problem stemmed from using ASCII encoding instead of Base64. If you open Reflector on the System.Web.Security.HashPasswordForStoringInConfigFile method you'll see that, even though it uses UTF-8 encoding for the byte array initially, it returns a hex string from the byte array, rather than a UTF-8 or ASCII encoded string.

    Not that his eventual solution doesn't work or isn't "right" - it's just that, as I think one guy in that thread pointed out, it's much easier to use the built in method that System.Web.Security holds.

    And yes, this reply is this long because I'm bored at work and need some intellectual stimulation. :-p
    # November 29, 2005 7:34 PM

    Erik Porter said:

    Gotchya. I'd never opened it up in Reflector...cool!
    # November 29, 2005 7:36 PM

    Jason Mauss said:

    This is actually pretty cool. I've often had to use the IN() statement or kluge together something in order to peform more than one insert/delete on a single round-trip to the DB Server. Neat.
    # November 29, 2005 7:50 PM

    Erik Porter said:

    Yup, I should've mentioned it's great for inserts too!
    # November 29, 2005 7:53 PM

    Colt said:

    Congrats Erik, I really appreciate the unlimited innovations, ideas and works from C9. :)
    # December 2, 2005 3:22 AM

    Erik Porter said:

    You're welcome...glad you like, Colt! :)
    # December 2, 2005 3:36 AM

    podo said:

    Why not just use the ProviderKey was the UserId throughout your application?
    # December 2, 2005 9:26 AM

    Jason Mauss said:

    It was funny - at the Launch event in SF - during one of the asp.net tracks the guy presenting was totally fumbling in his web.config and couldn't figure out which section he needed to be in to add the element he was trying to talk about. He was totally depending on Intellisense.
    # December 2, 2005 3:13 PM

    Erik Porter said:

    Don't we all? ;)
    # December 2, 2005 4:10 PM

    Jason Mauss said:

    Yeah, we do. What made me laugh was people from the audience shouting out help to him and they were totally wrong. haaha
    # December 2, 2005 5:36 PM

    Erik Porter said:

    Yes, double the fun! :D
    # December 2, 2005 5:37 PM

    Steven said:

    Ever since beta2 I'm wondering why the intellisense doesn't work in Skin files. Now even with the RTM it doesn't work, or is there a way to get it working?
    # December 5, 2005 4:21 PM

    Jason Mauss said:

    Pretty cool - I was hoping that "bird's eye view" would work for more than just a handful of metropolitan areas, though. And there are some areas where I looked that they don't have any pictures for all, just a white square w/ an icon of a camera w/ a slash over it. And other areas I looked at had mixed up resolution images, so some were from a much higher elevation than the others. Looks like they still need to work out some kinks in it. The bird's eye view is cool though, for sure. Those pics taken by what...helicopter?
    # December 9, 2005 2:12 PM

    Scott C. Reynolds said:

    w00tzor!!!111wonwonwon

    that's awesome that you have the first piece of the borg you out there :P

    looks like a cool thing.
    # December 17, 2005 10:32 PM

    Jason Mauss said:

    I'm gonna see if I can get my boss to send me to that. If you'll be there maybe we can hook up (assuming I'm able to go).
    # December 18, 2005 8:21 PM

    Tobin Titus said:

    Congrats man. Looks great!
    # December 22, 2005 4:17 AM

    Erik Porter said:

    Thanks, Tobin! :)
    # December 22, 2005 4:18 AM

    Jason Mauss said:

    I agree w/ Tobin man...site looks superb for running CS (not that the default theme looks like garbage but u guys definitely stepped it up a notch) ...I'll have to get on making a gadget here sometime. :-p
    # December 22, 2005 4:52 AM

    sbyard said:

    Just what I wanted. Because the ASP.NET membership system allows multiple roles per user, I needed a common function that I could rely on in lots of Stored Procedures.

    ALTER FUNCTION [dbo].[RoleTableFromXml]
    (
    @RoleXml xml
    )
    RETURNS TABLE
    AS
    RETURN
    (
    SELECT
    LOWER(UserRoles.UserRole.value('@UserRoleName', 'varchar(256)')) AS RoleName
    FROM
    @RoleXml.nodes('/UserRoles/UserRole') UserRoles (UserRole)
    )
    # December 22, 2005 3:01 PM

    Brandon LeBlanc said:

    Nice work Erik! Congrats on your first big release at Microsoft - hope to see more!
    # December 23, 2005 3:45 AM

    Erik Porter said:

    Thanks, Brandon! :)
    # December 25, 2005 12:26 AM

    Jason Alexander said:

    Nice work Eric, and everyone! Just keeps getting better and better... I even went and setup a live.com account and started snagging widgets. ;)

    Very cool stuff!
    # December 27, 2005 4:50 PM

    Erik Porter said:

    Thanks for the kind words, Jason. We're glad you like! :)
    # December 28, 2005 8:30 PM

    Nish said:

    What's Sea-Town? Or rather, where's Sea-Town?
    # December 30, 2005 2:08 PM

    Nish said:

    Oh, and free wifi access wherever you go, sounds a nice proposition too :-)
    # December 30, 2005 2:08 PM

    Erik Porter said:

    Sorry, Sea-Town = Seattle...I have a friend that calls it that...
    # December 30, 2005 11:31 PM

    Jerry Dennany said:

    Free Wireless internet doesn't make sense for a lot of businesses, especially those that depend on customer traffic rates to generate revenue. All low-scale food or coffee joints need to serve as many customers per hour as possible, and someone sucking up a valuable seat surfing the internet for several hours isn't really a good thing.

    Many businesses have found that wireless internet adds nothing to the bottom line.

    # January 1, 2006 1:09 PM

    George Gombos said:

    Look at www.wibiki.com for a way of sharing your wireless connection :)
    # January 4, 2006 5:24 AM

    Erik Porter said:

    Jerry, that's a good point about needing to push people through, but sometimes a well run business is about more than that. Getting a customer to come to your shop once is one thing. Getting a customer to come to your shop over and over is much better. Right now, there still aren't too many business that give out free wi-fi, so it could be an advantage that a smaller place could have over a bigger place. Also, some things that don't make business sense today, will tomorrow. ;) Quite honestly, my statement about free wi-fi is something I don't see lasting. I'm no fortune teller, but I would venture to guess that down the road this whole blog entry won't even apply to businesses.

    George, that looks excellent. I'm going to give it a try soon and I added an update to this entry, thanks!
    # January 4, 2006 12:28 PM

    Eric said:

    I'm a T-Mobile phone customer, and I think I still have to subscribe to some other service to get "Free" internet at Starbucks.
    # January 5, 2006 9:45 AM

    Erik Porter said:

    Wow, lame, Eric!
    # January 5, 2006 12:43 PM

    moom said:

    I was in Starbucks in downtown Burlington VT and seemed to get on the T-Mobile thing for free...
    # January 11, 2006 3:38 PM

    moonsammy said:

    Wibiki is exactly what your looking for. share your access with security turned on. its free as well.
    # January 12, 2006 2:22 PM

    b-ray said:

    looks cool, but only for pc and linksys routers
    # January 12, 2006 4:02 PM

    moonsammy said:

    looks like they have Mac support to me.
    # January 12, 2006 6:21 PM

    blowmage said:

    I'd love to see a write-up on maintaining browser history when using AJAX calls.
    # January 17, 2006 10:05 AM

    Chris said:

    I've been cheating even further and just wrapping New Guid(somestring) in a Try block.

    I use the RegEx all the time in Perl/JS.

    The real trick would be a TryParse that took the other options to the Guid ctor, like integers and bytes.
    # January 19, 2006 3:14 PM

    foobar said:

    Hmm, for some reason I think that SP has been deprecated for SQL Server 2005.

    You can use the new DROP LOGIN and CREATE LOGIN commands to reattach users now.
    # January 27, 2006 1:33 AM

    Wim Hollebrandse said:

    I've used that same stored proc on many occasions when re-attaching a DB to a different database server (SQL2000).

    Using:

    EXEC sp_change_users_login 'update_one','username','loginname'

    The 'autofix' option tries to map the username to the same login name. The 'update_one' option lets you specify both username and loginname in cases where they might be different.
    # January 27, 2006 3:50 AM

    Richard Tallent said:

    Has anyone actually performance-tested this? I know catching exceptions has its drawbacks, but RegEx isn't exactly a speed demon either.
    # January 29, 2006 9:35 PM

    bilbo said:

    BillG is the man!

    I wonder what it's like to sit down with him and watch how he uses a computer? How does he program? Is he a good programmer? These types of things ...

    How many millions of lives has he saved and/or influenced.

    When I was growing up, I hated reading/school/education you name it. HATED IT! One day, I was at the bookstore, and I picked up a box of VB4. I took a look at the back and I thought it looked cool. I decided to purchase it and give it a try. It was only when I could read/learn and apply it to the computer that I became obsessed with learning/reading/education.

    This was the magic influence that put me on the right track in life ... and I owe it all to BillG.
    # February 15, 2006 2:30 PM

    Erik Porter said:

    Amen. I'm a college dropout and very interested in the things he had to say on how we can get students more engaged so they actually WANT to learn. I love to learn, just never did in college.
    # February 15, 2006 5:06 PM

    Raymond Lewallen said:

    Is there a steel mill in the background by chance?
    # February 23, 2006 5:26 PM

    Erik Porter said:

    Har har, no! :P It was in an office. ;)
    # February 23, 2006 5:28 PM

    Sidebar Geek said:

    Awesome work Erik!

    I think I'm going to enjoy these Macros.
    # March 8, 2006 3:39 AM

    Erik Porter said:

    Thanks, Brandon! I know I'm going to enjoy them too.

    I like your Search Macro! ;)

    http://microsoftgadgets.com/forums/3506/ShowPost.aspx
    # March 8, 2006 3:41 AM

    Ryan Whitaker said:

    Congrats, Erik! That rocks. Great job!
    # March 13, 2006 12:23 PM

    Erik Porter said:

    Thanks, Ryan! Glad you like. :)
    # March 13, 2006 12:24 PM

    Haacked said:

    Congratulations! It looks good.
    # March 13, 2006 4:34 PM

    Erik Porter said:

    Thanks, Phil...appreciate it! :)
    # March 13, 2006 4:35 PM

    Ian Ceicys said:

    5 weeks, 5 weeks, Wow!

    I'd love to hear about the first 2 weeks, how you made decisions, and what kind of challenges you faced.

    Great work.
    # March 13, 2006 5:35 PM

    Erik Porter said:

    Check out the C9 video for some of that. If you'd like to hear more after that, let us know. :)

    http://channel9.msdn.com/showpost.aspx?postid=171265
    # March 13, 2006 5:37 PM

    Scott said:

    The content does not excite me whatsoever. Except for maybe the health blog, since I work in the healthcare/research industry. But the HC blog seems so out of character with the faux "we're soooooo excited and hip and cool" tone of the KEXP video. Maybe it's just fallout from the ex G4 hosts?
    http://www.penny-arcade.com/comic/2002/10/28


    However, the implementation of the site is excellent. The fact that I can read the comments w/o having to scroll away from the video is great. Maintaining my position in the comment list between postbacks is a good idea. Intentional? ;)
    # March 14, 2006 12:55 PM

    Erik Porter said:

    Everything is always intentional, right? ;) No really, yes...intentional. Glad you like the site itself. Sorry you don't like the content. Actually it just sounds like you don't like the enthusiasm of the hosts. Can't get around it to enjoy the content itself. We have a TON planned. Lots of cool stuff. What's interesting about this project is that we're all (even the dev team) helping with content, so it's not just what's hip and cool to a tv audience like G4, it's about what all tech enthusiasts would find entertain. We'd all love to hear your feedback, so jump on 10 and let us know. The community is going to help shape where we go with it, so join in! :)
    # March 14, 2006 2:20 PM

    John Walker said:

    Erik,

    It's really awesome work. I love the design. One thing I'm trying to figure out for use in my own apps is how you dim everything when the user clicks the sign-in link. I'm thinking it's some type of overlay div with a partially transparent image of some type. Anyway, again, nice work.
    # March 15, 2006 2:27 AM

    Erik Porter said:

    Thanks, John. Glad you like! Here's some info on that type of effect.

    http://www.huddletogether.com/projects/lightbox/
    # March 15, 2006 2:43 AM

    John Walker said:

    Thanks! Just what I was looking for.
    # March 15, 2006 2:18 PM

    Duncan Mackenzie said:

    "Everyone on this team talks a lot" -- nice :)
    # March 16, 2006 1:26 PM

    Erik Porter said:

    Dude...you know it's true! ;) I guess almost everyone talks a lot compared to me. :P
    # March 16, 2006 1:46 PM

    John Lyon said:

    We are trying to figure out how you make the sign in form pop up when you click the sign in link. Great site...........
    # March 24, 2006 11:12 PM

    Jason Mauss said:

    Cool man - 10 is looking sweet too as it gets more content. Very "soft" design look it has. Me likey.... ;)
    # April 7, 2006 2:53 PM

    Jason Mauss said:

    That is definitely a cool effect - it's used a lot in the Control Panel of Community Server 2.0 too. :)
    # April 7, 2006 2:56 PM

    Plip said:

    Hmm, my 5 min play was fruitless, it doesn't seem to generate a Gadget without some effort....
    # May 26, 2006 5:59 PM

    David Findley's Blog said:

    Just ran across this on my daily news rounds:http://www.eweek.com/article2/0,1895,1978917,00.aspI think...
    # June 20, 2006 3:26 PM

    Noah Coad's Code said:

    When I see a blog post or article that I want to read, investigate, follow up on, etc, I jot it down...

    # August 16, 2006 3:00 PM

    Luciano Evaristo Guerche said:

    Reading Erik Porter&#39;s post Separating Date and Time in T-SQL, I remembered I have created some SQL

    # August 25, 2006 3:58 AM

    Mark Johnston's Developer Experiences said:

    A few of the 10 teamare talking about their latest video - a demo of the new Zune. I'm quite impressed...

    # September 30, 2006 8:27 AM

    Ken Cox [MVP] said:

    Some offer: "Sorry, this beta isn't available in your region"

    # October 13, 2006 1:39 PM

    HumanCompiler said:

    Someone can correct me if I'm wrong, but I believe the Soapbox beta is only available in the US right now and will open up to other areas later.  If anyone is trying from the US and not getting in, let me know and I'll find out what the problem might be.  Thanks!

    # October 13, 2006 1:43 PM

    HumanCompiler said:

    Correction, I was wrong.  It is available world-wide, except for China.  It will be available in China in 2007.  Again, let me know if you're still having problems.

    # October 13, 2006 1:45 PM

    HumanCompiler said:

    There was a hiccup with the registration.  It has been fixed.  Try again, thanks!

    # October 13, 2006 4:03 PM

    FransBouma said:

    The problem with SET ROWCOUNT is that if you use a multiple PK it can give wrong results. It's been a while since I did tests with this, so the exact details faded away, but what I do remember is that SET ROWCOUNT is unreliable. What I find weird is that ROW_NUMBER() OVER is apparently so slow, as it should be faster than a temptable, which should you already give a query result way beyond 1 second for 250.000 rows. Tests on millions of rows with a paging query using a temptable showed result times of a second or thereabout. Ofcourse depending on your hardware, but I don't assume Microsoft runs its major sites on a nintendo gameboy.
    # October 18, 2006 4:19 AM

    HumanCompiler said:

    But running it on a Gameboy WOULD be fun!  ;)

    I honestly thought I was doing something wrong with my query because it was so slow, but I seriously wasn't doing anything complicated with it.  After seeing this article list the one I mentioned in the entry about it being more performant, I just went with it.

    http://www.asp.net/learn/dataaccess/tutorial25vb.aspx?tabid=63

    "This tutorial implements custom paging using the ROW_NUMBER() keyword. For more information on using the table variable and SET ROWCOUNT technique, see A More Efficient Method for Paging Through Large Result Sets."

    Oh and the table I'm querying has a single PK, so no worries there.  Seems to be reliable so far, but I guess we'll see.  Thanks for the heads up.

    # October 18, 2006 4:29 AM

    Wim said:

    Well, well.

    I'm using ROW_NUMBER() OVER as well for efficient paging for a forums app I'm working on.

    After reading your article, I dumped over 300,000 records into the table holding the posts. And to my surprise - it hit the SQL Connection timeout!!! EEKS.

    I hardly believed your blog post when I read it first, as ROW_NUMBER() OVER is the recommended way of performing 'efficient' data paging in SQL Server 2005, but I'm beginning to doubt that.

    Would be interesting to see what Scott Guthrie's response to this is.

    Cheers,

    Wim

    # October 18, 2006 10:14 AM

    Wim said:

    Actually - it was the Command timeout I hit first...

    # October 18, 2006 10:22 AM

    Karl said:

    One of the problems I faced with the Row_Number() OVER was the inability to have it live longer than a single SELECT. The nice thing about the temp table approach is you can do multiple things with that temp table...Sure you can do the same thing with Row_Number AND a temp table..but it's just easier to declare an identity field and use the ROWCOUNT trick for performance...
    # October 18, 2006 8:33 PM

    Brian said:

    We tried to implement this patern of using RowCount a couple months ago. The problem we ran into, is how changing the rowcount would impact the logic of function sand subqueries. Functions would usually not have a problem, unless its a function that returns a table with greater then your page size. Same issue exists for sub queries.
    # November 3, 2006 11:39 AM

    Vikram S said:

    ToTable method works great!!! Thanks!
    # November 3, 2006 8:26 PM

    AddressOf.com said:

    Well, the cats out of the bag ;-). In an effort to improve our membership numbers in order to attract

    # November 3, 2006 10:46 PM

    Arnoud van Bers said:

    you could improve the rownumbering function with a top in the subselect http://davidhayden.com/blog/dave/archive/2005/12/30/2652.aspx SELECT Description, Date FROM (SELECT TOP 20 ROW_NUMBER() OVER (ORDER BY Date DESC) AS Row, Description, Date FROM LOG) AS LogWithRowNumbers WHERE Row >= 11 AND Row <= 20
    # November 5, 2006 8:41 PM

    Vista Discuss said:

    That works! Awesome.
    # November 6, 2006 1:17 AM

    HumanCompiler said:

    Thanks for the link, but I don't really get it.  I see how that could help for a while, but when I get down to needing pages towards the end of my large result set, I'd still have to do a row number over pretty much all the rows.  Also, you can't use a variable with TOP, and I can't hard code for every page set I want.  So far, the method I talked about on this blog entry seems to be the best way.

    # November 6, 2006 2:09 AM

    Arnoud van Bers said:

    In fact: in SQL Server 2005 you CAN use a variable with the TOP clause: declare @n int set @n=3 select top (@n) * from MyTable2 furthermore: Did you create an index on the OVER() columns? This would greatly help because SQL Server must sort the results..
    # November 6, 2006 4:02 AM

    Arnoud van Bers said:

    in fact, in SQL Server 2005 you can define a variable for the top clause also.. dit you create an index for the order by fields?
    # November 6, 2006 8:42 PM

    Beef said:

    Thank you! I've spent too much time digging for this already. Beef
    # November 11, 2006 12:11 PM

    Adam P said:

    Great article. It has been forwarded to all developers here....and our beloved manager, too. Now we'll see if any of them even read it! :P
    # November 14, 2006 8:00 AM

    Phil said:

    GOD BLESS YOU THANK YOU!!

    # November 16, 2006 5:24 PM

    Sverker, Sweden said:

    Thanks Erik! In a specific case with a datatable containing 42000 rows and 56 columns the command dataview.ToTable() took 2.5 minutes and by using your code it took 2 seconds!! Quite an improvment! The distinct was only on two columns.

    # November 27, 2006 3:58 AM

    Rob said:

    Very nice. Thanks for posting this!

    # November 30, 2006 12:22 PM

    Pravesh Khadka said:

    Ah ! This is what I am looking for. It will save me time and energy to create whole different aspx file and put logic on it.

    Appreciated,

    Pravesh

    # December 1, 2006 1:39 PM

    Adam said:

    I watched that video over lunch. It was by far the worst Channel9 video I've ever seen.

    Timeline:

    0-5:30 - Talk about why HTML can't do enough

    5:30-11:30 - Talk about what an object and embed tag are and why they enabled WPF/E

    11:30-20:00 - Repeatedly go over how to embed a WPF object in an HTML document

    20:00-30:00 - Show samples that are really just WPF-showoffs

    30:00-32:00 - Show media player sample

    Seriously, all they had to do was say "we have a plugin for IE and Firefox that allow you to embed a WPF application in a web page, and it can be scripted against". I really thought I was going to get useful content...

    # December 4, 2006 4:37 PM

    HumanCompiler said:

    Sorry you didn't like it.  I'm sure this was a more general video since it was the first one of many and they can't assume every developer knows as much as you.  ;)  And it's not just a WPF application in a web page.  There are differences.  There will be many more videos (3 or 4 more I believe) coming soon that will go more in depth.  Check back.  Also, you might want to leave comments on that video instead of here.

    # December 4, 2006 4:43 PM

    Adam P said:

    Wow. Slick stuff !

    And in case anyone was wondering, the first commenter is NOT me. hehe.

    # December 5, 2006 7:28 AM

    Brett Romero said:

    I have Vista RTM installed with VS.NET 2005.  I installed the Web App Support update from MS.  I still don't see the ASP.NET Web Application project icon for creating a new web app project.  I also can't open any existing web application projects.

    Do you have any suggestions?

    Thanks,

    Brett

    # December 7, 2006 1:11 PM

    HumanCompiler said:

    Sadly, I don't have an answer for you.  I'm on Vista RTM (Ultimate on one machine and Enterprise on another) and have the web app project installed and both can open our web app projects.  :(

    # December 7, 2006 2:00 PM

    Avinash B said:

    Thanks Erik!

    Your code worked flawlessly. The soultion is clean and flexible. Thanks a lot.

    # December 19, 2006 11:31 AM

    Cory said:

    Im having trouble getting conected to xbox live. I signed on once, and now I can't seem to get back on. Before I got on the first time I tried for hours to get past the DNS not resolved error message. I finally got past it after power cycling my modem several times, and manually putting in the DNS server adresses, and IP address. Now I can't get it to work again. My setup is a direct connection to an arris cable modem, I have comcast as a high speed internet provider. Someone please help!!!! I have tried every trick in the book and nothing works.

    # December 23, 2006 3:24 AM

    Jay said:

    How do i get out of the xbox live screen and get back to playing games saved on the hard drive? i have tried for weeks to get out of it and nothing is working. I am stuck playing one game and it is getting old.  PLEASE HELP!!

    # December 24, 2006 8:35 PM

    itbg said:

    it comes with the service pack 1 for vs 2005...

    http://msdn.microsoft.com/vstudio/support/vs2005sp1/default.aspx

    # January 5, 2007 10:19 AM

    Hobb.. said:

    Thanks helped me with a problem i've been stewing over all week.

    # January 5, 2007 3:12 PM

    /dev/null said:

    Thanks a lot, saved me so much time.  I was using another routine i found on the net and it took 20 minutes.  Now it takes 1 second.  And is easier to read as well.  The need for a select distinct on a datatable is that not all datatables are fed from a database.  Sometimes it's from reading a CSV file or from another data source like an LDAP directory.

    # February 1, 2007 10:53 AM

    mk said:

    Thanks for the tip! This posting saved me a bunch of time.

    # February 6, 2007 11:54 AM

    Jonathan Sampson said:

    Dude,

    I so love posts that contain code :) Definitely looking forward to more on the topic of c9v4 development, and the code-journey's you guys explore!

    Best Wishes,

    Jonathan (jsampsonpc)

    # February 25, 2007 1:28 AM

    jayson knight said:

    I too am discovering the power of generic methods...makes for much tighter/cleaner looking code. Looking forward to the coming posts on C9!

    # February 25, 2007 1:29 AM

    Tommy Carlier said:

    I had to do something similar in Windows Forms, and used the following code:

    public static T FindControl<T>(Control rootControl) where T:class

    {

     if (rootControl == null) throw new ArgumentNullException("rootControl");

     T lFoundControl;

     foreach(Control lControl in rootControl.Controls)

     {

       if ((lFoundControl = lControl as T) != null)

         return lFoundControl;

       if ((lFoundControl = FindControl<T>(lControl)) != null)

         return lFoundControl;

     }

     return null;

    }

    And to find all the controls of a certain type:

    public static IEnumerable<T> FindControls<T>(Control rootControl) where T:class

    {

     if (rootControl == null) throw new ArgumentNullException("rootControl");

     T lFoundControl;

     foreach(Control lControl in rootControl.Controls)

     {

       if ((lFoundControl = lControl as T) != null)

         yield return lFoundControl;

       foreach(T lFoundChildControl in FindControls<T>(lControl))

         yield return lFoundChildControl;

     }

    }

    # February 25, 2007 5:55 AM

    Palermo4 said:

    I had to make a revision to your code for it to work in my environment.  Here is the revision:

    for (int i = 0; i < Controls.Count; i++)

    {

        // I had to add this line

        if (found != null) break;

        if (Controls[i] is T)

        {

           found = Controls[i] as T;

           break;

        }

        else

        found = FindControl<T>(Controls[i].Controls);

    }

    # February 26, 2007 6:02 AM

    kramlen said:

    here is something I wrote that does the same thing - yet

    just seems easier to understand:

    public static DataTable SelectDistinct(string[] pColumnNames, DataTable pOriginalTable)

           {

               DataTable distinctTable = new DataTable();

               int numColumns = pColumnNames.Length;

               for (int i = 0; i < numColumns; i++)

               {

                   distinctTable.Columns.Add(pColumnNames[i], pOriginalTable.Columns[pColumnNames[i]].DataType);

               }

               Hashtable trackData = new Hashtable();

               foreach (DataRow currentOriginalRow in pOriginalTable.Rows)

               {

                   StringBuilder hashData = new StringBuilder();

                   DataRow newRow = distinctTable.NewRow();

                   for (int i = 0; i < numColumns; i++)

                   {

                       hashData.Append(currentOriginalRow[pColumnNames[i]].ToString());

                       newRow[pColumnNames[i]] = currentOriginalRow[pColumnNames[i]];

                   }

                   if (!trackData.ContainsKey(hashData.ToString()))

                   {

                       trackData.Add(hashData.ToString(), null);

                       distinctTable.Rows.Add(newRow);

                   }

               }

               return distinctTable;

           }

    # February 28, 2007 3:47 AM

    HumanCompiler said:

    kramlen, thanks for posting some code!  You realize that code that I posted is over 2 years old now, right?  I don't claim any intelligence in anything I wrote more than 6 months ago.  ;)  Still seems to be helping out some people though.  Thanks for posting your code and thoughts on it.

    # February 28, 2007 5:46 AM

    Jayaram said:

    Nice Article. It solved my problem. Events in which this code should go are - DataSourceChanged,Layout.

    # February 28, 2007 4:35 PM

    HumanCompiler said:

    Jayaram, this was just a sample and was written two and a half years ago.  If you'd like it to "go" where you talk about, then you'll have to do it yourself.  :)

    # February 28, 2007 5:38 PM

    Mohammed said:

    Could you share you Custom Authentication code?

    # March 2, 2007 5:28 PM

    Monty said:

    Thanks!

    # March 5, 2007 1:54 PM

    Danik said:

    Nice one Erik!  This worked well for validating selection of a date in a calendar control.  Isn't it a joke that the calendar control can't be validated out of the box!?!?!  Cheers.

    # March 12, 2007 4:03 AM

    chosan said:

    thanks! that probably saved me a lot of googling

    # March 12, 2007 11:13 PM

    likwid said:

    That is a genius comment.  It about the same on Digg now also.

    # March 15, 2007 10:14 AM

    HumanCompiler said:

    Sad and true.

    # March 15, 2007 1:50 PM

    SBC said:

    LOL..

    I think it's time to rename that site to 's*tdot'

    # March 16, 2007 1:15 PM

    lars said:

    I have followed your instructions but without success. Is there something else to check ? Thanks

    dasluna@gmail.com

    I can access the Internet from the Pocket PC emulator, but no way from the SmartPhone emulator

    # March 18, 2007 4:27 PM

    David Levin said:

    Thanks so much! Exactly what I was looking for.

    # March 18, 2007 10:29 PM

    Meghna said:

    Nice article. Can anyone help, i am passing XML as string from ADO.Net, was using xml_preparedocument to do manipulation in SQL 2000 DB. How this xml datatype will help me out, if i use SQL 2005?

    # March 22, 2007 12:42 AM

    Bryan said:

    You can replace your entire query with this and it will even work on 2000.

    DECLARE @TagCount int

    DECLARE @Tags TABLE (TagID bigint)

    DECLARE @Entries TABLE (EntryID bigint)

    SELECT @TagCount = COUNT(*) FROM @Tags

    INSERT INTO @Entries (EntryID)

    SELECT

       e.EntryID

    FROM

       Entry e

           INNER JOIN

       EntryTag et

           ON

               e.EntryID = et.EntryID

           INNER JOIN

       @Tags t

           ON

               et.TagID = t.TagID

    GROUP BY

       e.EntryID

    HAVING COUNT(DISTINCT t.TagID) = @MatchCount

    # March 27, 2007 4:56 PM

    HumanCompiler said:

    Thanks, Bryan!  HAVING is exactly what I needed for that.  The original code I posted wouldn't be too much slower than what you have there, but a little.  HAVING cleans it up nicely.  Thanks!

    # March 28, 2007 4:14 PM

    Dan said:

    my xbox says that there is a dns error. it worked before. i went to the website and did what they said, but it still isn't working. i have a router and is the same set up as when xbox live was working. live said they'd be down on the 27 th of march 2007, but is  still down on the 30th. this makes me mad. whats up?

    # March 30, 2007 3:58 PM

    Brandon said:

    Alright do i disbale UPnP for my computer or router, currently my xbox is connected to my wireless laptop i can sign in but when i try to play halo 2 it trys to download an update and gives an error message saying xbox live nt repsoonding, deadestcliffski is my gamer tag:) btw, if any one wants to learn how set up there 360 to there wireless desktop laptop add me on messenger or send an email to d_biker_14@hotmail.com with subject xbox to computer, Thanks

    # March 30, 2007 11:12 PM

    shelby said:

    You can improve the snippet a little by adding the auto documentation as follows

    private $type$ $property$;

    /// <summary>

         /// gets/sets the $property$.

         /// </summary>

         /// <value>The $property$</value>

    private $type$ $property$

    {

    get { return _$property$;}

    set { _$property$ = value;}

    }

    $end$

    # April 3, 2007 7:47 AM

    Matt said:

    Helped me a lot!  Thanks!!!!

    # April 3, 2007 3:13 PM

    pyhco23 said:

    i have a wireless-G broadband router and i cant find the ip address how do i find it

    # April 7, 2007 10:54 AM

    hi said:

    i have a question, how do i get the ip address of my machine if its on router network. how can i from the outside gain a direct access to my machine (via it ip ie)

    # April 7, 2007 7:32 PM

    AL|EN said:

    A view example without any SPs, I hope it helps, worked for me ;)

    CREATE VIEW dbo.ithaller_calisanlar

    AS

     select

    TOP 100 PERCENT

    * from dbo.mlz_kart where fabrika IN (SELECT Depo2007_car_kart.r_sayac from Depo2007_car_kart where LEFT(Depo2007_car_kart.kod,2) like 'SI%' or LEFT(Depo2007_car_kart.kod,2) like 'KI%') and dbo.mlz_kart.devam_durumu='C'

    order by dbo.mlz_kart.kod,dbo.mlz_kart.ozel_kod

    # April 9, 2007 3:08 AM

    Patrick said:

    Taking these algorithms one step further.  The issue of tracking what values have already been added to the returned DataTable can be eliminated by temporarily setting CaseSensitive to true on SourceTable.

    bool origCaseSensitive = SourceTable.CaseSensitive;

    SourceTable.CaseSensitive = true;

    orderedRows = SourceTable.Select("", string.Join(", ", FieldNames));

    SourceTable.CaseSensitive = true;

    This tells the sort to perform a case sensitive comparison of strings and ensures that all identical values will be correctly grouped contiguously (which the above algorithms and the Microsoft's KB article do not).  Once you have this grouping the for loop in fieldValuesAreEqual and the Hashtable trackData in kramlen's post are no longer needed.

    # April 10, 2007 3:49 PM

    mohammed anees said:

    hi

    i need the windows vista demo

    # April 13, 2007 6:15 AM

    Colin said:

    Hey yall, I have a wireless router (netgear WRN834B) and i just bought the wireless netwroking adapter, and i heard that its automatic.  It connects to my wireless netwrok, but it cant confirm my IP adress for some reason.  Can anyone help me out?

    Thanks

    # April 14, 2007 10:14 PM

    Adam Porter said:

    Ugh. I'm jealous. I want a 'sparkly' name. WPF is bland...as if I needed yet another acronym to prove how boring my job sounds to others. hehe.

    As in:

    Me) "Hi, I work in wpf."

    Person) "WTF?"

    Me) "No, doubleyou-PEE-eff...and .NET and AJAX, too."

    Person) "You clean floors with that, right?"

    Me) No, it's for programming.

    Person) "GEEK. lollz!"

    Me) *sigh*

    Usually the slick codename becomes a vanilla, acronym-ish official name (Avalon -> WPF, Atlas -> AJAX, Whidbey -> VS2K5, etc.). Good to see Microsoft doing it the other way around...coming up with something other than an acronym to name a new product. As a developer, I don't need the name of the product to describe what it does (Windows Presentation Foundation, Asynchronous Java and XML, etc.)...just make it SOUND interesting! Just say NO to alphabet soup! ;)

    # April 17, 2007 9:22 AM

    fort wayne said:

    wooop woop go ft wayne!

    TOTAL CHEER ACADEMY FLAMES ROCK DA HOUSE!

    # April 17, 2007 8:15 PM

    Jawad said:

    Jackie Goldstein u rule

    # April 18, 2007 4:25 PM

    Antonie said:

    "just pointing out how cool the intellisense is in the first place!"

    This is a feature that is a very [yawn...] standard feature in any decent XML editor. I find it infuriating that a very obvious error in the XML editor and or XSD schema can be swept under the carpet with a 'oh how cool is that in the first place'. As if developers just need to be thankful that it WORK AT ALL. Just a reminder that licenses to use this cost a small fortune (ask any enterprise license holder like myself). I actually expect the product to just work (or be patched) like any software I sell to a client.

    # April 23, 2007 10:35 PM

    claveau said:

    idem j'ai besoin de la demo vista

    # April 26, 2007 1:38 PM

    Macca said:

    my xbox live wont work for the router and keeps saying DNS erro if u can help me u r the best k?

    ADd me if u know how macca_lfc_2k6@hotmail.co.uk/macca_2k6_lfc@hotmail.co.uk

    k thx!

    # April 28, 2007 8:16 AM

    Mike Rogers said:

    I have used both methods and I still cannot form an opinion. I like that I can have multiple files with the same filename without any difficulty when I use a db. I also like what Mike said about file sharing.

    My DBA's tell me that I shouldn't store documents because of poor performance. But when Microsoft built a document library handler (Sharepoint), they hold the documents in the database. They obviously think it is a good idea. So when the DBA's tell me that SQL 2005 was not designed with document storage in mind, it sounds a little specious to me (most likely left over paranoia from SQL 7).

    # May 2, 2007 11:15 AM

    ialn said:

    i needed the added line also, without it the recurse never stop and u loose the "founded" control

    thanks all :-), it realy helped.

    # May 2, 2007 12:53 PM

    Carl said:

    How did you go about setting the updater block to check for updates from a webservice, i want to do the same i.e. passing user data and block certain people from updating there application.

    The event handler for OnCheckForUpdate works but the other two dont, they never get fired...

    # May 3, 2007 12:17 PM

    [H4z3] said:

    Hi:

    You can get your ip address by doing ipconfig /all

    That will get you internal network IP off your pc and your default gateway or your router login.

    When you say you want to access the pc from 'outside' do you mean from another pc on the network? or remotely via the net?

    # May 4, 2007 11:59 AM

    Pat Reddy said:

    Was wondering if you could help me.  I cannot find ANYWHERE, microsoft included, a complete list of all functions that can be used within CUMPUTE.  I need to calculate the MEDIAN value (among other things).  

    Thanks!

    Pat

    # May 5, 2007 11:02 PM

    samuel Charles said:

    Tonnes of thanks....

    # May 7, 2007 2:07 AM

    Kevin Berridge said:

    I went through this same debate not too long ago.  Ultimately I decided to store my files in the file system and not as blobs in the database.  I even managed to come up with a workable solution for full text searching them from within a stored procedure using linked servers.

    The reasons for this decision were focused on performance.  Using varbinary(max) you can upload the data in one of two ways: All at once through a single SQL call by creating a potentially HUGE byte[], or in chunks by making multiple SQL calls.  I was concerned about performance on both the client and the server in the first case, and transaction support in the second case.  Using client side transactions would make the second case less frightening though.

    Using the file system approach I can stream the bytes in optimally sized buffers based on the filesystem environment we're operating in and without the overhead of a SQL connection and stored procedure call.  I can also now store my files on a different server than my SQL server box and I can full text catalog them without affecting the SQL server's performance in anyway.

    # May 9, 2007 4:41 PM

    Kerens said:

    Thanks a lot. I tried to do the same trick with visible=false but it didn't work. Your solution was a big help!

    # May 13, 2007 1:38 PM

    John said:

    Your site is perfect!

    # May 14, 2007 3:38 AM

    Neolevi said:

    Colin: If your XBOX properly connects to the wireless network it's a good start. The IP error could be produced because you manually set an IP address to the XBOX, not being in the format your router manages or already being in use. Try using DHCP in the router (automatically assigns IP to the connected devices) and set your XBOX to automatically get an IP. Macca: a DNS error, if not affecting to your PC navigation in the Internet (hence not because the provider) could be related with your XBOX having manually set the DNS servers, and not correctly. Check out the gateway IP in your XBOX corresponds to the router IP and that you have the DNS assignment set as automatic in the console. Hope it helps.
    # May 18, 2007 5:35 AM

    Sanjeev said:

    Thanks a Lot! helped me at a very critical time!! :)
    # May 19, 2007 9:36 AM

    ureyes84 said:

    Great solution, may I suggest something? You can replace the line (and get rid of the method "createRowClone"): newTable.Rows.Add(createRowClone(row, newTable.NewRow(), FieldNames)); by the DataTable.ImportRow method: newTable.ImportRow(row); and they will work seemingly.
    # May 22, 2007 6:24 PM

    晓风残月 said:

    上篇介绍了交叉表的简单实现1:使用存储过程,这里采取在前端程序实现。实现要点:1。读取所有目标成绩(flatScroreTable)2。从目标成绩中提取考试时间(不重复),作为交叉表的列表头3。从目...

    # May 23, 2007 3:27 PM

    gabe said:

    ip adress keeps saying disabled is is possible my ethernet cable is busted but i used and moved it only 3 times
    # May 28, 2007 4:35 PM

    Andre said:

    Thanks! Good example
    # June 6, 2007 11:06 AM

    Matt said:

    Wow, that's so funny, yet so true.
    # June 7, 2007 10:25 PM

    jp said:

    I have a new computer with Vista Every time I try to access my e-mail via explorer, my internet connection gets disconnected. What's the fix?
    # June 14, 2007 11:40 AM

    damon said:

    I have a direct modem hookup and the IP address keeps saying it has failed. So what do i do?
    # June 17, 2007 9:29 AM

    atarikg said:

    What is T up there ? We should change T to a type such as Button or something ? Thanks.. and if i wanna find controls typed radiobutton in my page. how am i supposed to modify the code written above by you. Thanks again :)
    # June 17, 2007 6:08 PM

    Morten Post said:

    If this is going to be used in lots of places, I'd optimize it in the following way.

    public static T FindControl<T>(System.Web.UI.ControlCollection Controls) where T : class

    {

        T found = default(T);

        if (Controls != null && Controls.Count > 0)

        {

             for (int i = 0; i < Controls.Count; i++)

             {

                  found = Controls[i] as T;

                  if (found != null)

                  {

                       break;

                  }

                  else

                       found = FindControl<T>(Controls[i].Controls);

             }

        }

        return found;

    }

    # June 18, 2007 2:52 AM

    Adam Kinney, Devigner at Work said:

    # June 20, 2007 6:30 PM

    Adam Kinney, Devigner at Work said:

    # June 20, 2007 6:30 PM

    Subbu said:

    Can u send me the code in c# to store and retreive the Binary data in SQL

    # June 22, 2007 4:28 AM

    luke said:

    my IP address keeps failingand i havent got a clue what the hell an ip address is?????

    # June 22, 2007 3:44 PM

    Deano said:

    on XP, goto Start > All Programs > Accessories > Command Prompt, then after its loaded up, simply type "ipconfig/all" and press return.

    this will come up with information about  your IP, DNS, etc and the ip address of your router.

    # June 23, 2007 7:43 AM

    Xbox 360 game invite problem - India Broadband Forum said:

    Pingback from  Xbox 360 game invite problem - India Broadband Forum

    # June 26, 2007 6:03 PM

    Shahn Hogan said:

    Eric,

    Do you have any other suggestions. I've tried all the fixes, but I continue to get Access Denied. Thanks

    Shahn

    # June 28, 2007 11:18 AM

    Shahn Hogan said:

    Eric,

    Nevermind. I've fixed the issue. I changed an attribute and the problem went away. Thanks for the other helpful hints.

    # June 28, 2007 11:22 AM

    tony said:

    i cant get past the ip adrees can any 1 help me

    # June 28, 2007 1:52 PM

    insane82 said:

    my MTu will not work and I don't know how to hook up all cables or were they go  

    # July 7, 2007 9:17 PM

    zach said:

    i have an arris tm402p/na router but it only has on slot for a connection whenever i hook up the xbox live wire theinternet is disconnected. to be honest i dont even know if its a router it looks like one.

    # July 9, 2007 12:26 AM

    will said:

    omg i cant get passed ipadress it keeps failing help me!@

    # July 9, 2007 3:52 PM

    晓风残月 said:

    在ADO.NET1.x

    # July 16, 2007 8:58 AM

    KillerJAYGames said:

    what the hell i don't use a router i just unplug from the tower of my comp and plug in to the 360 and i sign in and then about 2 to 3 mins later it signs out or logs out how in the hell do i fix it so it won't do it again or do i need a wireless for the 360 to in my inter or do i need a dam router or what

    # July 16, 2007 8:24 PM

    Bernd Gaucke said:

    Hello!

    That's exactly what I'm looking for, too, but i need to change the ownership of ~250 objects, is there a way to use the result of a query like "select name from sysobjects where xtype like 'U'" to feed the stored procedure with??

    Thanks, Bernd

    # July 17, 2007 7:01 AM

    scuzler said:

    well it says nuthing is wrong but it isn't working and i'm the internet right now on my pc soo its must be somthing to do with them.

    I'm sure my xbox is about to break AGAIN RING OF DEATH cause this is what it did last time.

    # July 24, 2007 8:29 AM

    Raoul said:

    Ipconfig/all will only display the local Ips, on you Lan, not on the WAN!

    But you can get you routers adress on WAn with this program: Watch Wan IP, that you can get here:  http://www.emc3.us/emc3ware/

    It grabs it from you router, if you can access it.

    Work well!

    # July 24, 2007 10:13 AM

    robbie said:

    i cant get pased ip adress how do i get around it it says ip adress failed

    # July 24, 2007 9:51 PM

    MaiO said:

    Thanks,

    that's what I was lookin' for ;)

    Bye

    # July 26, 2007 4:12 PM

    uday said:

    Hey All,

    Plz do not feel bad, but u people are suggesting the option of distinct for 1000 - 2000 records. Can anyone give me the solution to view distinct over 20000 to 50000 records with 100 user login ?

    # August 1, 2007 8:09 AM

    Raymond said:

    Compared to the MS KB this was a joy to behold.

    Proving once again that concise code is a developer's (and maintainer's) best friend.

    Much obliged.

    - RK

    # August 1, 2007 5:58 PM

    dylan said:

    my xbox ran out of xbox live time and i had a card that has never beean used so i put the card code in and it said time was added on your xbox live account. then i tried signing on to the game and it said i needed to be signed in to xbox live and i was it just doesnt work.

    HELP ME PLEASE!!!!!!

    # August 1, 2007 9:46 PM

    HumanCompiler said:

    You're welcome, Raymond.  The fun part is that I posted this over 2 years ago.  ;)

    # August 2, 2007 1:21 PM

    Scott said:

    The comment by Jackie Goldstein about using the DataView class along with it's "ToTable()" method does the trick for performing DISTINCT on rows of a DataTable.

    Thanks!

    # August 3, 2007 4:27 PM

    ralkir said:

    dylan did you tryenterung the code and befor you try to play sign out and back in thats what i have to do evrey time i use my cards mabey its just my 360...who knows? lol

    # August 7, 2007 7:06 AM

    narender said:

    i want to know how to install windows vista on your pc

    # August 8, 2007 5:44 AM

    Cezan said:

    Right ok i am trying to set up my new modem that i recently bought from the talktalk site but it says to set up  put i the ip of your modem loated in the hardware manual but i kinda lost tht manual any ideas?

    mail me on cezan1_afc@hotmail.com thanks :D

    # August 10, 2007 2:29 PM

    Shane said:

    Are there any negative aspects of using setters and getters in this manner?

    # August 11, 2007 6:02 PM

    HumanCompiler said:

    Not that I know of.

    # August 13, 2007 2:43 PM

    jazz said:

    im having trouble with my ip addres how do i find that out?

    # August 16, 2007 10:07 PM

    how said:

    well what if i was not conected to a ruter and i whant to know whats my frindes ruter ip address

    or any body router ip from my computer is thare is any way like that or a program that serch for router's ip

    # August 18, 2007 5:40 AM

    Vishal said:

    Meghna, the xml datatype will help mainly in validating your xml (the stored procedure parameter) when bound to an xml schema collection at the SQL Server database level.

    # August 21, 2007 11:06 AM

    Alex Shyba said:

    Same things, guys. The process is constantly eating 450-500K or memory just after machine is started.

    # August 22, 2007 5:00 PM

    Alex said:

    My setup is a direct connection to an arris cable modem, I have comcast as a high speed internet provider.  I got to the DNS and it says that it cant be reached.  So e-mail me at alexlobo123@hotmail.com

    # August 22, 2007 10:56 PM

    Tomas said:

    Thanks, great article!

    The sad thing is that SelectedColumns doesnt seem to work on a DataGridView when doing .net 2 winapps. I tried use that so that the user could choose columns to view as distinct.

    # August 24, 2007 6:12 AM

    Mohon said:

    This is excellent. It is very helpful for me.

    # August 24, 2007 3:47 PM

    Cris Master said:

    mine too!!!! wtf!!! i tryed power cycling it over 15 times plugged cords in and out . but my wireless internet dont work either thats a problem

    # August 24, 2007 8:21 PM

    Scott Coullard said:

    How do you disable the UPNP? I'm a bit of a tech n00b. Thanks!

    # August 27, 2007 1:30 PM

    alex said:

    I have an arris cable modem and a 360 i hook it up and it got to the DNS then it failed now the ip failed.  My computer said there is an ip error. i need help.

    # August 27, 2007 5:00 PM

    K1 said:

    people are having problems with i.p address? well if you have a router then you should at least set your i.p address manually to your 360. your router usually ends with .1 and if you have a pc connected that should end .2 lastly 360 should be assigned to .3 then go log into router and port forward (info can be found by searching Port forwrding in microsfts site.) the bingo.

    config manually -

    i.p = ***.***.*.3

    subnet mask= 255.255.255.0

    Gateway = ***.***.*.1 (router I.p)

    DNS PRIMARY = (same as Gateway)

    Secondary = 0.0.0.0

    # September 1, 2007 6:28 AM

    arxy said:

    My xbox is directly connected to the netgear gateway via a cat-5 ethernet cable. It connects, and I can play for 10 min, 15 at most after which the gateway restarts itself. Then it takes me about 10 min before I can log back in. I have comcast high speed internet. Anyone out there with similar problems? Anybody know what to do?

    # September 4, 2007 12:30 AM

    John said:

    I know this code is old, but is it possible to post it on your site as the link to GDN no longer works?

    Thanks

    # September 4, 2007 2:28 PM

    HumanCompiler said:

    Sorry, John, I no longer have the code.  If you're using .NET 2.0, pretty much all the features I had are in there now.  Good luck.  :)

    # September 4, 2007 2:41 PM

    Don Quixote said:

    The hashtable method works great!

    # September 11, 2007 12:20 PM

    Christophe said:

    Came across this discussion through a Google search. Did you ever find a good solution?

    I found these two pages that talk about using a Windows based app called SQLyog. I am not sure if it is still free though.

    www.sitepoint.com/.../mysql-data-sqlyog-job-agent

    www.databasejournal.com/.../1584401

    # September 13, 2007 11:35 PM

    Sanjot said:

    The code doesn't select distinct values if the column contains values that are different in case only.

    Setting the Case-sensitivity of the Sourcetable to True (as suggested in one of the comments) works, but makes it much slower.

    Any suggestions?

    # September 17, 2007 8:35 PM

    PMBjornerud said:

    Autodocumentation is meaningless and only makes code harder to read maintain.

    It states the obvious, but the point of documentation is to explain the non-obvious.

    # September 18, 2007 10:41 AM

    LeAnne said:

    Thanks - this did the trick for me, too.  One comment, though:  I came from an Oracle background, and thought I had to put parens around the arguments.  So, to note for other sql server newbies, it's just:

    exec sp_changeobjectowner 'tablename', 'dbo'

    and not:

    exec sp_changeobjectowner( 'tablename', 'dbo' )

    # September 18, 2007 4:23 PM

    Sunil said:

    the code from this page is not working

    INF: SQL Server Procedure to Change Object Owner

    # September 22, 2007 2:14 AM

    Server Guy said:

    what if i got the ip from a friend computer(the one given by www.whatsmyip.org) is there a way to know his router ip address? please contact me at jose_ram_rat @ hotmail.com

    # September 23, 2007 4:46 PM

    Austin said:

    my DNS wont work and im connected straight to a router

    # September 25, 2007 9:58 PM

    Austin said:

    im connected straight  to a router and my DNS doesn't work somone plz help me

    # September 25, 2007 10:06 PM

    快乐老鼠Jerry said:

    有些时候需要从DataTable中选择出在某个列上相同的值。但是DataTable.Select没有提供这样的语法。于是,微软和一些其他大虾提供了解决方案。据说以下这个是最快的:privatest...

    # September 27, 2007 4:47 AM

    master cheif said:

    i am useing a webstar modem wen i pluck ethernet i fail on ip

    # September 28, 2007 1:34 PM

    me said:

    umm whats UpNp? cause ive been trying to get my internet to work with my 360 and like it says IP address failed... and i cant get a connection to work.... so help! lol plz

    # September 28, 2007 4:36 PM

    me said:

    crap whats my gateway, it says Default Gateway... have no idea how to access it...

    # September 28, 2007 4:44 PM

    CJHustla10 said:

    My setup is a direct connection to an arris cable modem, I have comcast as a high speed internet provider.  I got to the DNS and it says that it cant be reached. email at chardiscj@yahoo.com

    # September 30, 2007 10:53 PM

    dontera said:

    My contribution; modified to return a List<T> of all controls matching T using a ref variable.

           public static void FindControlsByType<T>(ControlCollection Controls, ref List<T> returnList) where T : class

           {

               if (Controls != null && Controls.Count > 0)

                   foreach (Control controlItem in Controls)

                   {

                       if (controlItem is T)

                           returnList.Add(controlItem as T);

                       FindControlsByType<T>(controlItem.Controls, ref returnList);

                   }

           }

    # October 3, 2007 5:47 PM

    Justin Fredenburg said:

    I put my ip address in as automatic and reset it, and it still won't work for xbox live.  It fails everytime, and I even put in a manuel ip address and it still won't work.  How do i find my xbox ip address so i can get onto xbox live?

    Please help guys

    # October 3, 2007 11:10 PM

    Mike said:

    We've never stored file data in the db.  Mostly due to historical reasons around performance (piping the data through ADO used to have poor performance).   So we too store data on a file server.  It creates problems (syncing, transactions etc), we've been waiting for WinFS for years ;-)

    Regarding security.  We were concerned with this too (we're actually more concerned with the rogue employee behind the firewall having unauthorized access to the share).  The web process runs as a local anonymous user (no network privs).  Then we created a COM+ object that runs as a domain user (providing "proxy" access).  Only this domain user has access to the share.  The domain user cannot logon locally, only as a service, and the password is 100+ random generated characters (at install and thrown away).   The API of the COM+ is such that you don't simply provide a URI, rather you provide a key that is looked up in the db.  Everything happens internal to the API call.  So somebody can't recursively dump the contents of the share (or access other content), you have do know the document ID and request it specifically (and the ids aren't sequential).  This domain proxy user doesn't have access to the folders on the local webserver either - only the remote share.

    We also have one domain user per webserver, and those users are wrapped into a domain group (the group has permissions to the share).  There is also a read-only group, and write-group (plus a backup group for running backups).  This allows us to audit access on a per web server basis.

    # October 5, 2007 10:59 AM

    chris said:

    my dns wont work and ive tried getting a diffrent server number from my isp (charter) and tey don't work

    # October 8, 2007 9:13 PM

    Please Help said:

    i have a wireless computer in one room which the xbox is in to, but another computer with the router and modem in another room. can i get xbox live from the wireless computer? i tried the only way i got it to work is to bring the xbox into the other room and plug it straight into the router and play on my other super small tv. any suggestrions??

    # October 13, 2007 5:39 PM

    Glen Dunne said:

    When i try to open an xbox live account for the first time it say i have to download an update. So when i agree to do it i get a message saying COULDNT DOWNLOAD UPDATE. PLEASE CHECK YOUR CONNECTION SETTINGS IN SYSTEM, NETWORK SETTINGS AND TRY AGAIN. But when it gets to the xbox live part it says i need to download the update. I tried xbox.com/support and i cant see anything there to help me. Can anyone help me!

    # October 14, 2007 5:14 PM

    tyler timbes said:

    Where do you disable the upnp at on your xbox ?

    # October 14, 2007 10:04 PM

    Heinrich said:

    Cool, works like a dream!

    # October 16, 2007 8:03 AM

    Tom Leonard said:

    I have been using Row_number to implement the age-old problem of paging. It worked extremely well when you used the indentity sort such as

    Awesome performance:

    SELECT ROW_NUMBER() OVER (ORDER BY c.IdentityColumn)AS [Row],

    but broke down when you sorted by varchar non_identity column such as...

    Horrible performance:

    SELECT ROW_NUMBER() OVER (ORDER BY c.FirstName asc)AS [Row],

    I found that the bulf of the time in the query was in the transport of the 500K rows back to my grid. Reducing this to 20 at a time was the difference in a 4 sec query and a command timeout. The problem arose wehn I had to imlpement client sorting with the grid column header.... any suggestions for using off nidex Row_number(). Thanks

    # October 18, 2007 10:51 AM

    myles said:

    my 360 is connected directly 2 a modem and it says the ip adress fails every time but it is wired correctly what should i do

    # October 19, 2007 12:22 PM

    Olly! said:

    allright my xbox 360 is directly connected to modem. Ive power cycled like 1000 times, done ip settings manually, put my physical address in al MAC address

    Tryed almost everything can ne1 help

    # October 20, 2007 9:15 PM

    k1 said:

    since me and my friends upgraded our internet to virginmedia our xbox live has been working better then before. they helped alot solving dns problems. you are better off choosing them. incase you need to open ports then email your router brand saying your xbox blah blah blah....

    if the dns is a problem your internet provider should be solving the problem ...!!

    i reccomend virgin media!

    # October 21, 2007 5:02 AM

    yoyoyo said:

    I go to the XBox live new acount screen to set-up an account. I get all the way to enter the prepaid subscription code. I enter it. I press continue and it says "Do to technical difficulties unable to continue. Please try again later." Can anyone help me? I bought the subscription card 4 days ago and have been trying ever scince!

    # October 21, 2007 2:42 PM

    chris said:

    my Ip Address Keeps saying failed what do I do

    # October 23, 2007 12:18 AM

    缘易姿姿 said:

    我们有时候需要对DataTable中数据进行Distinct处理,过滤掉重复的数据,本文给出了解决方法:

    # October 25, 2007 12:20 PM

    Ramu said:

    Thank you. Your solution worked for me.

    # October 26, 2007 1:19 AM

    Smartie said:

    As The Title Says!!! You are a f***ing legend, WAS hackin away at it for at least an hour an a half and 100 webpages.

    Cheers

    # October 28, 2007 6:40 PM

    Hakatari said:

    ayo im unable to connect to xbox live for halo with ym xbox (normal) is the server down or something? cause im stumped here

    # October 29, 2007 8:06 PM

    Tim Laughlin's Everything VB.NET Blog said:

    I was trying to select some distinct rows from a DataSet datatable. After consulting Google and finding

    # October 31, 2007 12:38 PM

    Emmanuel Pagan said:

    Posting this for everyones information. I created my own app_offline.htm file (which contained content) and users would received a 404 error when attempting to access the site intead of seeing the content of the html page. After some testing I noticed that if your app_offline.htm file doesn't not contain the same document type reference (at the top of your html markup) that the auto generated visual studio app_offline file contains the user will never see the html content. Note this might be why Sunish's friend was getting that 404 error.

    Document Type Reference:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "www.w3.org/.../xhtml11.dtd">

    # October 31, 2007 3:59 PM

    jordon stempel said:

    For some reson i can get on xbox live but u c like take halo 3 for instance it gets on but if i pick slayer or something it wont find anyone that will play with me so i really dont no whats wrong with it and i need some help

    # November 4, 2007 4:44 PM

    willie said:

    ok wont connect wont update not really understanding all this uPNP thing any body explain it in stupid person terms????? would be highly grateful

    # November 5, 2007 8:28 AM

    Jack said:

    Top work..!!

    # November 5, 2007 8:12 PM

    Sebastian said:

    Wait I dont know where to go to to disable the UPnP? c'mon please help me!

    # November 10, 2007 2:52 AM

    Aftab Ahmed said:

    VB Code:

    ------------------------------------------------------

       Public Function SelectDistinct(ByVal SourceTable As DataTable, ByVal ParamArray Columns() As String) As DataTable

           Dim Result As DataTable = New DataTable()

           If SourceTable IsNot Nothing Then

               Dim DView As DataView = SourceTable.DefaultView

               Try

                   Result = DView.ToTable(True, Columns)

               Catch ex As Exception

               End Try

           End If

           Return Result

       End Function

    ------------------------------------------------------

    C# Code:

    ------------------------------------------------------

       public DataTable SelectDistinct(DataTable SourceTable, params string[] Columns) {

           DataTable Result = new DataTable();

           if (SourceTable != null) {

               DataView DView = SourceTable.DefaultView;

               try {

                   Result = DView.ToTable(true, Columns);

               }

               catch (Exception ex) {

               }

           }

           return Result;

       }

    ------------------------------------------------------

    If you want to through the exception (when column name is the distinct columns list does not exist in the table or any other exception), just remove the Try Catch block.

    Hope this will help you.

    # November 12, 2007 1:23 AM

    help!! said:

    can someone please tell what to do with the ip address ive tried everythink i even called microsoft bt it stil didnt work..it just keep saying ip address failed but the rest is fine so plzz tell me?? btw im connected with AOL

    # November 15, 2007 3:00 AM

    jay said:

    i cant find my ip address som1 plz HELP ! !

    # November 17, 2007 1:00 PM

    shaun said:

    hi guys hope someone can help.

    i just got 360 and new vigin media broadband upto 20mb

    i connected to live and had some good games when finshed i shut down 360 swaped ethernet cable from 360 to laptop when i tried to get 360 back on live it wouldnt connect tried xbox live test and ip address failed any one no how i can reconnect do i require a router or can i reconnect some other way like renewing ip address. please help guys thanks

    # November 19, 2007 4:41 PM

    Raghu Veer Gupta said:

    Thank You Very much......

    # November 20, 2007 11:43 PM

    c0nn0r said:

    i want to connect to xbox live because i was never on it before.

    all the connections work fine but i have to download this update.

    when i go for yes i does'nt do Anything and it says check your connection.I DONT KNOW WHAT TO DO.(when i go for no i sings me out).

    HHHHEEEEELLLLPPPP!!!

    # November 24, 2007 7:26 AM

    dylan said:

    ok im having trouble joining peoples parties on xbox live and i think it is because of my strict nat on my router is there anyway i can fix that without buying a new router please help me if you can my friend said something about disableing my upnp

    # November 26, 2007 11:28 PM

    Skim said:

    How do i find my routers ip ?

    Ipconfig never found it.

    # November 27, 2007 2:12 PM

    Windows Vista Install Demo said:

    Pingback from  Windows Vista Install Demo

    # November 28, 2007 3:12 AM

    Noticias externas said:

    # November 30, 2007 2:31 PM

    Phil Winstanley said:

    Lets use lets instead of Let's ;-)

    Phil.

    # December 5, 2007 2:13 PM

    HumanCompiler said:

    Ha, thanks, Phil!  :P

    # December 5, 2007 2:36 PM

    Facebook Beacon Now Lets You Completely Opt-Out said:

    Pingback from  Facebook Beacon Now Lets You Completely Opt-Out

    # December 5, 2007 3:01 PM

    Lewis Moten said:

    I've also had problems at first when using ROW_NUMBER() on some large tables during testing (1 million rows). It was about twice as fast then when I had used cursors and a table variable to fetch id's from an absolute row and the next N+ rows for the page. I tried making another procedure to use the set rowcount method, but it took a little bit longer than the ROW_NUMBER method.

    I created a table Item(ItemId uniqueidentifier, ItemName varchar(36)) and assigned a PK as well as an Asc index on ItemName.

    My basic tests were the following: Search against 2,097,152 records for the letter "a" on page 60,000 with 10 records per page sorting on "ItemName".

    INSERT INTO item VALUES (NEWID(), CAST(NEWID() AS VARCHAR(36)))

    -- keep running this next line until you have over a million records affected

    INSERT INTO item SELECT NEWID(), CAST(NEWID() AS VARCHAR(36)) FROM item

    ROW_NUMBER took avg 22 seconds

    SET ROWCOUNT took avg 28 seconds

    DYNAMIC READ_ONLY CURSOR took avg of 44 seconds.

    setting rowcount had a good effect on my original cursor query, but it still couldn't compete with ROW_NUMBER.

    select

    ItemId,

    ItemName

    FROM

    (

    SELECT

    ROW_NUMBER() OVER

    (

    ORDER BY

    case

    when @Sort = N'ItemName' then ItemName

    end asc,

    case

    when @Sort = N'ItemName DESC' then ItemName

    end DESC) RowNumber,

    ItemId,

    ItemName

    from

    Item WITH (FASTFIRSTROW)

    where

    ItemName LIKE N'%' + @Search + N'%'

    ) AS Page

    where

    Page.RowNumber BETWEEN @StartRowIndex AND @EndRowIndex

    ORDER BY

    Page.RowNumber asc

    # December 5, 2007 6:31 PM

    Matt said:

    I just put the following into my app_offline.htm file and I stopped getting the resource not found error.

    <html>

    <head>

    </head>

    <body>

    We are currently down for maintenance.

    </body>

    </html>

    # December 6, 2007 2:02 PM

    Darren Kopp said:

    I'm running it now too at home and have already sent about 5 suggestions to the yahoo team. overall i think it's quite good looking.

    I'm in the latest windows live messenger beta and the thought too crossed my mind "wait... why does the new msn messenger look just like the old one. and why aren't they doing a WPF app like yahoo?"

    # December 6, 2007 3:56 PM

    Linx said:

    Ok here goes......... im a rookie with this so please help me in simple steps. My xbox is chipped by a friend and he said i could get into xbox live. so i went in but then it said xbox live is updating your system please don't turn off your xbox console. but nothing happened then it said xbox live is not responding please try again later. so i restarted my xbox and EVERY SINGLE TIME THIS KEEPS HAPPENINING!!!!!! so my point is i don't want to know how to get on xbox live just how to play my normal games that i have on discs. if you can help me plz send me an email azn-pride-@hotmail.com or just leave a comment on this forum. Thanks

    LiNx!

    # December 8, 2007 9:09 PM

    Michael Muller said:

    Awesome. Saved me HOURS of pain and heartache.

    sp_changeobjectowner 'tablename', 'dbo'

    # December 16, 2007 4:13 PM

    skeptiks said:

    i have  jus invested in an xbox!!!i bought the wirless adapter and it connects straight away,,but my ip fails,,,can anyone help?/without this i cant play onlineor recover my gamertag thnkz skeptikz@hotmail.co.uk

    # December 16, 2007 4:33 PM

    anthony.p said:

    ok i am not good wif computer so some 1 please help me

    i got a hous ecomputer connected through cable then a i got a a netgear router conected to the bigpond cable box thing and my laptop has a netgear card and and conneces wirelessy now wen i try a erthener cable to my laptop from my 360 to connect to xbox live on my coputer it says it connect at 100 mphs but says status limited or no connectivity and wen i go to conection setting advanced setting to allowe other connections through some error message comes up saying another thing connect     or someting using automatic ip or some shit like that n didnt let me any one kno what i mean please help me dnt have money to go spend 160 on that 360 router thing pleas help

    # December 19, 2007 5:47 AM

    anth said:

    can some one add me on msn

    anth.p@hotmail.com

    i need help please to connect to xbox live

    # December 19, 2007 7:50 PM

    JaySkagnetti said:

    It would be nice if there was a code download with a very simple example...for those of us trying to shed our noob status...;)

    # December 19, 2007 11:58 PM

    DJVDB said:

    Disable UPnP under the tools section on your router, worked like magic for me too.

    # December 24, 2007 10:47 PM

    neil78 said:

    i dont really know much abut computers so whats a UPnP and how do you turn it off

    # December 25, 2007 8:35 PM

    somkinjoe said:

    I CANT GET PASSED THE IP ADDRESS AND IM GETTING PISSED PLEASE HELP ME I JUST GOT IT FOR X-MAS AND I REALLY WANNA PLAY IT

    # December 26, 2007 12:35 AM

    riri said:

    i have subsripition code for the regular xbox and it wont let me in xbox live. plz help me, thx

    # December 27, 2007 3:34 PM

    riri said:

    i cant get on live HELP me

    # December 27, 2007 3:41 PM

    some1 said:

    my internet keeps saying that the dam ip address has failed if any 1 has any ideas please email me at coolquadkid@hotmail.com  please its really really stupid                               oh and dylan for the ip address go to start then go to control pannel then go to network connections then go to ur connection that u have then click properties and it should be there

    # December 29, 2007 12:28 AM

    SiliconSniper said:

    If you are trying to connect to xbox live through a laptop's ethernet port how do you change the settings on the laptop to send the connection to the xbox360? I know it works with Windows Xp but I have Vista

    # December 29, 2007 1:01 PM

    Boris said:

    This is weird.. Just today while I was trying to join a game in Call of Duty 4, A black screen appeared and it kept on giving me messages that my Live wasn't working. So, I popped out the disc and went to the Dashboard, and tested my connection. Everything was fine. So, I connected to my Live (I was already signed in and my GT) and hit "Connect to XBox Live". It showed the loading screen but roughly two seconds later it stopped and put me back a the dashboard screen, still showing the "Connect to XBox Live" button. It wont let me get in! If anyone has an answer, just comment again on this wall. Thanks

    # December 29, 2007 9:11 PM

    Alberto said:

    Ok im trying to log into xbox live and it says in order to log into xbox live you must first perfom an update, ok so i try and perform the update and it says 'update cannot work because you are not logged into xbox live please check your connection' but i obviously cannot log in because i need to update xbox live.. what do i do!

    # December 29, 2007 9:17 PM

    steven said:

    I have a arris cable modem and i cant connect to xbox live... it sais... networ adapter: wired, ip: comfirmed, dns: failed... im getting soo mad cuz i wanna play on live please help me!!!

    # December 30, 2007 9:53 PM

    omg people said:

    people, thers nothing wrong with ur routers or internet connections, its just that live has been down for the last few days casue of all the new users, just give it a few days, should be working fine again

    # December 30, 2007 10:17 PM

    FLUX AGGREGATOR only FREE ?? Blog Archive » JavaScript Ajax IntelliSense said:

    Pingback from  FLUX AGGREGATOR only FREE  ?? Blog Archive   &raquo; JavaScript Ajax IntelliSense

    # December 31, 2007 8:13 AM

    mike said:

    my 360 is saying that the system wont update and that i should check connections....i id and everything is fine and it still says it...WHY??????

    # January 1, 2008 10:29 PM

    Laura said:

    PLZ! someone help me! i have been trying for 6 hours straight to get this stupid thing to work! it keeps saying that my IP address is incorect and its not! Because I alled up my ISP! I called Xbox support and they told me that because i wasnt using and ISP that didnt have the xbox logo or wateva they couldnt help me!  I need some help badly. I have tried soo many times. Pleaseeeeee helpppp!!! ASAP!

    # January 4, 2008 1:06 AM

    jc said:

    code error: 12pm is showing as 12am

    # January 4, 2008 4:51 PM

    Christoph said:

    I have open the correct ports and disabled my UPnP.  When I run a network test all items pass up until Xbox Live.  It asks me if I want to apply the update and then once i confirm it  says cannot download update. When i check status of Xbox Live it says it is online..???????????????????????????????????????

    Microsoft sux!! Should have bought a PS3, cheaper (full kit), wireless built in and no problems getting online. Microsoft always get their users to test their products. I should be getting paid for this shit.  Any ideas how to fix problem?????

    # January 5, 2008 10:45 AM

    Ronnie said:

    I am trying to connect to live with a direct modem conection.Do I need to disable the UPnP?

    # January 5, 2008 12:05 PM

    Savage republic fan said:

    anyone who has trouble with their IP address...

    to find out your IP address go (on your computer) to Start then RUN and in the RUN box enter cmd (short for command), once the box is open, enter the command ipconfig.

    that is all; your IP address Gateway and subnet mask should be there

    # January 6, 2008 10:27 PM

    Andre said:

    i'm not very technical so could someone tell me how to disable the UPnP?

    # January 6, 2008 10:57 PM

    Jim said:

    We are attempting to store files in the database and all is well except when trying to delete a file from the web app.  It seems that the stored procedure that deletes the file is taking a long time to run and it nevers returns a value back to the web app.  I'm not sure why this is happening but if anyone else has had this issue, please let me know how you fixed it.

    jimkiely@yahoo.com

    # January 7, 2008 10:33 AM

    ka said:

    my cable is hooked to my laptop. i have verizon wireless card in my laptop for internet. when i test the connection it says my ip address fails!!! been tryin for hours. please help

    # January 8, 2008 12:48 AM

    kevin said:

    My xbox wont do the update thing when im joining!

    WHY?????

    # January 9, 2008 2:50 PM

    richie said:

    okay on my xbox live i get to play maybe one game then the router shuts off. have any idea why?

    # January 9, 2008 3:25 PM

    anthony said:

    can i get the windows vista ultimate product key that will work for activation if so send it to my email trhl4589@yahoo.com

    # January 9, 2008 4:29 PM

    Stephen said:

    when I turn the xbox on without internet connection I can not get passed the message "xbox live is not responding please try again later" I dont want internet connection, I just want to play a normal game. How do I reboot passed this message? Thanks.

    # January 10, 2008 4:11 PM

    ej said:

    Hey I just got internet I had to manualy set up everything I have a an arris cable modem and the only thing I need iz for the dns server to be found. I looked it up on my compture I had three numbers but they didn't say primary or seconday so what do I do?? Plez I'M me if you can

    Ejplaytime-aim

    SINIStER-Jr-hotmail

    Texasismyspace-yahoo

    Plez help

    # January 11, 2008 3:56 AM

    ljsql said:

    在DataTable中实现DataTable.Select(

    # January 11, 2008 7:51 PM

    ej said:

    I kno what to do now if u run sumin like mine cut your compture off becuase u can't have to thing on tha dns server at the same time

    # January 12, 2008 12:37 PM

    Fan said:

    I think the best thing of VB is 'With'

    With people

     .Name = ""

     .Age = 20

    End With

    But the 'Dim a As Integer' sucks

    And the 'Property' sucks too

    # January 15, 2008 1:37 AM

    sup man said:

    sup guys,

    how do i get my xbox to share with the computer.

    this dude said you have to go into windows and turn it onto sharing but i dont kow where windows is.

    please help

    # January 15, 2008 2:52 AM

    Howie Hughes said:

    My dad sent me an email with this link in, and I have to say, it is one the funniest things I have seen in a very long time. Good on 'Billy G' for taking the time out to prove to the world he has a great sense of humour. I will never install another microsoft product without thinking of this clip. :) Thank you for really brightening my day up!!

    # January 15, 2008 6:35 AM

    cl said:

    when i test my connection everythig works but when it comes up saying you have to update your xboxlive it just wont work what will i do

    please explain in simple english!!!!

    tnx

    # January 16, 2008 11:14 AM

    HumanCompiler said:

    Anytime...glad you enjoyed it!  Aside from that, I think it's interesting someone would pass a link in my blog around.  :)

    # January 17, 2008 4:53 AM

    Mike Swaim said:

    Have you reported this on connect? If it doesn't get reported (and voted on) in Connect, what makes you think that MS will fix it? (They don't fix bugs that they don't know about, or think is unimportant.)

    # January 17, 2008 8:51 AM

    HumanCompiler said:

    Mike,

    I work at Microsoft and already passed it along to the team.

    -Erik

    # January 17, 2008 1:30 PM

    Josh said:

    Try using disk management to assign a drive letter to it, I have the same problem with my external hdd

    # January 17, 2008 2:50 PM

    yo said:

    I have a 360 and the ip keeps failing ive tried power cycling and many other things i have a wirless network adapter and i have tried typing in ips manually for my xbox 360 i have yet to disable the upnp so i will do that later and see what happens. other than that i am getting very angry. if you would like to help i would love it. email me with any information on how to fix this problem. ctfelhaber@aol.com

    Thanks

    # January 18, 2008 4:51 PM

    yanks said:

    i cant sign into xbox live...i did the test connection everything it working fine (ip adress, dns, mtu ect) but then it says xbox live: failed...then i read the discription its says, " failure on any of these tests will prevent you from signing in to Xbox Live. If your console passes all of these tests and still cannot contact Xbox Live, verify that your account information is accurate and up to date."

    wat the heck does that mean?? please answer!!!

    # January 19, 2008 9:29 PM

    john mitchell said:

    i got my xbox wireless gateway for my xbox, 2 days after christmas and i cant set it up because of the ip adress keeps failing please can you help me because i really want to play it, and how do you find your ip adress to put in

    # January 20, 2008 5:37 PM

    Ryan Hu said:

    but how to deal with the dropdown portion right edge out of the screen???

    # January 21, 2008 8:34 PM

    I need to watch my language said:

    at the moment ive spent almost 5 months working on the stupid xbox 360.my DNS says it has failed it happens over and over again im with AAPT ive rang up microsoft,xboxlive support and AAPT ive tried evrything. im connected through a Dlink router+modem. at the moment my settings are

    IPaddress:192.168.0.110

    DNS:192.189.54.33

    Secondary DNS:192.168.0.1

    Gateway:192.168.0.1

    Subnetmask:255.255.255.0

    if u can help do so i got it for my B'DAY and that was in september.

    # January 22, 2008 1:24 AM

    Tom said:

    MAN!!! I cant get through the damn DNS crap, I have been trying for days but this is it i am done with the

    bs! someone Plz help! I a have a Arris s*** modem and Comcast. I have tried it all, and am about

    to call Xbox customer support.

    # January 22, 2008 5:21 PM

    Tom said:

    WOW!! Do not call Xbox Customer Service even if your

    Worthless s****y life depended on it!, that stupid

    cpu voice can't help for s***!! it tells you all the

    same basic crap info!

    # January 22, 2008 5:46 PM

    amit said:

    hello, I was wondering if you guys came up with a solution for this. Please let me know by email me at amit@georgiaaqaurium.org

    thanks

    # January 27, 2008 10:45 AM

    hiyall said:

    how do u disable the upnp? i have no idea!!!!!!!!!!!!!!!!!

    any1 plz help me

    # January 27, 2008 4:37 PM

    Moez said:

    Is there any alpha release download, I'm really waitin for!!

    Thanks a lot.

    # January 28, 2008 3:49 AM

    Paul said:

    Here's a general routine for those times when you have a whole bunch of logins to fix.

    declare @name varchar(100)

    declare @command varchar(100)

    declare filecursor cursor for select name from sysusers

    open filecusor

    fetch next from filecursor into @name

    while @@fetch_status=0

    begin

    use [database_name_goes_here];

    select @command = 'exec sp_change_users_login ''Auto_Fix'', ''' +@name + ''''

    exec (@command)

    fetch next from filecursor into @name

    end

    close filecursor

    deallocate filecursor

    # January 28, 2008 9:18 AM

    HumanCompiler said:

    No, not yet.  I'll post about it when there is (as will lots of other people).

    # January 28, 2008 12:36 PM

    Unwitting said:

    My xbox wont let me join xbox live because of the DNS error thingy. How do I fix this. E-mail me at unwittingcorpse31@yahoo.com.

    # January 28, 2008 4:41 PM

    ewitkows said:

    'Begin gratitude

    Dim i as integer = 0

    While 1 <= 10000000

    Response.Write("Thank You!")

    End While

    'End Gratitude

    # January 28, 2008 10:55 PM

    Jarrad said:

    can someone please help me, ive had the problem at the VERY top of this page, how do i disable UpNp???

    # January 30, 2008 10:21 AM

    Edward M said:

    To loop through distinct rows you can try:

    foreach (DataRow drDetail in dsInvoice.Tables["tblRMA_Detail"].DefaultView.ToTable("tblDetail", true, new string[] { "Style", "Color", "Ident" }).Rows)

               {}

    # January 30, 2008 4:10 PM

    howsay said:

    im going to get my bb gun and waste the clip on my xbox i got a new xbox and know it wont wireless connect and im going to shoot myself in the head wtf..

    # January 31, 2008 11:08 PM

    techsup said:

    Xbox sucks.  I do tech support for a router manufacturer and I never have any issues at all with Ps3 or Wii.  Xbox support tells people they need to port forward if they arn't getting an IP address (which is impossible if your not even getting an IP address to begin with).  They also tell people they need to change their MTU to 1364, which is retarded(as long as it is OVER 1364 you are fine).  Xbox support would be better handled by monkeys.  Just wanted to vent. Xbox has made my job suck.  All you have to is DMZ host the IP address of the Xbox; that is the quickest fix, and uPnP should be enabled NOT disabled for the Xbox to work as the Xbox supports uPnP and what enabling uPnP does it is it allows the port forwarding rules to be setup automatically on the router.  By the way all of you suck, get jobs and stop calling my phone.  I don't care that your Xbox doesn't work, assholes.

    # February 4, 2008 6:18 PM

    Vishnu said:

    Wonderfull. Am worrying for days how to transfer ownership. You saved my time. Thank you.

    # February 4, 2008 7:54 PM

    Ian said:

    For the n00bs, you need to have the full "path" to the object as part of the syntax (at least with SQL 2000).

    E.g:

    sp_changeobjectowner 'dbname.dboOwner.object name', 'dbo'

    # February 4, 2008 8:23 PM

    Sergio said:

    Thanks a lot. Great code Aftab Ahmed!

    # February 5, 2008 2:43 PM

    smartcatxxx@yahoo.com said:

    There is a paper on the performance of saving files to filesystem vs. database. It seems that for files under 256 kb the database does better than the filesystem, and for files over 1 MB the filesystem is the clear winner.

    The link:

    research.microsoft.com/.../view.aspx

    # February 11, 2008 4:57 PM

    David said:

    Hi Eric, nice post!

    Iam curious about how you "templatized" your user controls. Do you have any more post about this?

    "All our controls are now ascx files with the CodeFileBaseClass set to a class that implements all the code" , are there any place where you explains this a little more?

    Iam using a VPP where the files are read throw, but when it comes to the "templatizing" iam lost :)

    Any response on this comment would be appreciated! Thanks!

    # February 12, 2008 2:35 AM

    HumanCompiler said:

    David, I don't really have anything to post.  Basically we just have ascx files and their code is in a base class and you can use that class for many ascx files, so if you want the layout order to be different, then just create a new ascx and point it to the same base class and it will render differently.  We plan to eventually post all our source code on CodePlex, just haven't had enough time yet to clean it up.  Keep an eye on the project here ( http://www.codeplex.com/EvNet ).  That's where we'll eventually post the source for our platform that runs all our sites.

    # February 13, 2008 3:51 AM

    rosanera said:

    That saved me a lot of time. TY

    # February 13, 2008 7:59 AM

    Steven said:

    Very very funny :)

    # February 13, 2008 3:36 PM

    Ryk said:

    I have a weird problem with the last optimised solution in his stored proc. It returns a completely different resultset.

    the problem seems to be that it ignores my where clause I specified on the SELECT @first_id = ....

    WEIRD.

    # February 13, 2008 9:52 PM

    Ryk said:

    Aaah, sorted it, it is because of my complex order by's.

    One question about this whole scenario though. It is all well and good to have these ligtning fast solutions that always shows how to do the quick returns on queries, but in reality this is far from a real-world solution. For example, I have 180,000 records that can easily be returned using this super fast ROWCOUNT SET query, but there will always be order by columns etc. And in reality not just one or two, but multiple, then you are pretty much back to square one where you have to serialize all data and then select a subset, OR am I wrong, is there a better way?

    # February 14, 2008 12:32 AM

    HumanCompiler said:

    Ryk, we use the set rowcount method with lots of order bys and it's still really fast.  one thing you can do to increase the performance (but greatly adds to the complexity of the sql statement) is that if the page you're requesting is past halfway through your "pages" of data, then reverse the sort order.  Actually, it might not complicate it too much, just use a case statement in your order by.

    We're using this method on 4 high traffic sites at the moment (5th coming soon) and have no problems with performance.

    # February 14, 2008 12:39 AM

    for loop with array said:

    I want some one to help me with a code to loop trough and array and print the contents on an array on a list box

    # February 14, 2008 8:24 AM

    chinnu said:

    This is a very helpful post for people not on framework 2.0 and up. Just thought I would pitch in.

    There was one post earlier on using stringbuilder but the one thing I did not quite take was the using hashtable part and also the fact that the code needs to handle nullable values as well. Coding with hashtables can really take a hit when you are dealing with real large datasets.

    I think the following logic could be a lil' faster. Hope this works :)

    dtSource ' source table

    dtOut 'distinct table

    columnNames ' array of the column names

    dtOut= dtSource.Clone

    dim x as string= string.empty

    dim y as string=string.empty

    for each dr as datarow in dtSource.Select("",String.Join(columnNames))'sort the table

    for count as integer=0 to columnNames.count-1

       if not isnull(dr(count(ColumnNames))

              x+=cstr(dr(count(ColumnNames))

       end if

       x +=","    'seperator

    next

    (if the columnNames length is the same as dtSource.Columns.Count you can use String.Join to generate the content of x.)

     if not y.equals(x) then

      dtOut.ImportRow(dr)

      y=x

     end if

    next dr

    I did not use vs editor to code the above. So the syntax may be off.

    Good luck-

    Vin

    # February 15, 2008 12:14 AM

    christian said:

    my xbox 360 wont get online cuz it says dns test failed. everything seems right but it said it was 0.0.0.0.

    what do i do?

    # February 19, 2008 1:44 PM

    Dizi said:

    I was going to use SQL server but when i saw your blog, i am planinng to use oracle for db

    # February 22, 2008 4:46 AM

    Tanner W. said:

    DirectCast(MyArray.ToArray(GetType(SomeClass)), SomeClass())

    ^ I've been struggling with this for a good while now. The directcast was just what I needed.  Thx for a good article, even if I am years behind....:)

    # February 28, 2008 8:57 AM

    Phil said:

    great tip - only enhancement if you know how, is if I am using the ValidatorCalloutExtender from AJAX.NET, how do I get the message to position properly?

    cheers

    # February 29, 2008 6:53 AM

    Raj said:

    I got below message after Using DirectCast

    "At least one element in the source array could not be cast down to the destination array type"

    # February 29, 2008 11:56 AM

    Alain said:

    I did all the steps mentioned but i still get the download silver light alpha picture when i run the default.html page.

    I've also added the MIME required and still not working.

    Can someone plz tell me the following steps that should be done to let it run?

    I have WinXP Pro + SP2 & IIS 5.1

    # March 3, 2008 5:24 AM

    Mike Versteeg said:

    Ha ha :) I think Microsoft is taking a good direction with the videos I have seen lately, makes them  more approachable.

    I wonder if anyone ever considered doing live video, which always enhances the err. approachesness? Siwthcing back and forth between a couple of rooms, maybe have one camera man travelling the corridors of that oh so mysterious HQ? And I got just the software to do that (vidblaster.com/.../index.php). This is no shameless plug, only want to help Microsoft :)

    # March 4, 2008 5:14 AM

    Johnathon Turner said:

    Hey Someone please help me i need to find out how to sign in to xbox live.  My shaw highspeed internet connection wont let me sign in to xbox live even after i went to automatic, and then i put the IP from my computer and my DNS on my computer on and it still said on the DNS that it failed!! someone explain to me how to go ONLINE ,, I SERIOULSY NEED HELP

    # March 10, 2008 7:36 PM

    dmose said:

    HumanCompiler:  How do you use this method with sorting (other then the ID field) ... ?  Can you provide an example, I can't seem to figure it out

    # March 10, 2008 8:42 PM

    Rob Thornley said:

    If you get a 404 error, then pad your app_offline file with comments.  I think once it exceeds something like 512 bytes it starts working

    # March 11, 2008 7:14 AM

    John said:

    HOW TO GET IP ADRESS

    -click start

    -click run

    -type cmd

    -type ipconfig /all (yes there's a space between ipconfig and /all and don't type whatever's in the brackets)

    There should be you ip, subnet mask, default gateway and dns.

    and use google next time you dumb *****.

    # March 11, 2008 8:23 PM

    MyPlace311 said:

    when looping through arays i find it better to use this method. This way if the ary only has 2 items in it you dont loose or error.

           Dim i As Integer = 0

           Do While i < TransactionNumbers.Length

               i += 1

           Loop

    # March 12, 2008 3:53 PM

    jpl said:

    to fix the error with 12pm showing up as 12am, change the last 12 in the code to an 11.  (or change the last 12 > to 12 >= )

    But good code anyway.  Thanks!

    # March 15, 2008 6:21 PM

    Dennis said:

    Even if "customerId" can work, using persistency frameworks often naming conventions using the same names ("id") can help in many situations. Think about find and replace in SQL batch scipts and more. I know nobody will make plans for workarounds and this shouldn't be the most important point of the discussion, but it's a little +1 for plain "id".

    # March 17, 2008 3:55 AM

    Colnaghi said:

    Linq vs. Row_Number

    I've been testing ROW_NUMBER on real big databases (4+ million rows) and it just fails to provide decent results.

    Using the rowcount gave me a solution. Even using the TOP/NOT IN approach works for page not so far from the begging.

    Now, the point is that Linq over Sql 2005 generates the row_number approach. It just blows the machine memory before returning any results.

    The question is, to make this work on this context, do I have to write my own SPs? Why don't Linq implements a better algorithm?

    This line

    (from e in db.Events orderby e.EventDesc select e)

    .Skip(pageIndex * pageSize).Take(pageSize);

    Generates this

    exec sp_executesql N'SELECT [t3].[EventDesc], [t3].[EventDate], [t3].[EventStatusName], [t3].[EventTypeName]

    FROM (

       SELECT ROW_NUMBER() OVER (ORDER BY [t0].[EventDesc]) AS [ROW_NUMBER], [t0].[EventDesc], [t0].[EventDate], [t1].[EventStatusName], [t2].[EventTypeName]

       FROM [dbo].[Event] AS [t0]

       INNER JOIN [dbo].[EventStatus] AS [t1] ON [t1].[EventStatusID] = [t0].[EventStatusID]

       INNER JOIN [dbo].[EventType] AS [t2] ON [t2].[EventTypeID] = [t0].[EventTypeID]

       ) AS [t3]

    WHERE [t3].[ROW_NUMBER] BETWEEN @p0 + 1 AND @p0 + @p1

    ORDER BY [t3].[ROW_NUMBER]',N'@p0 int,@p1 int',@p0=10,@p1=990

    # March 19, 2008 11:50 AM

    Joshua said:

    Take note of the things that you need to do also after the port forwarding:

    • Go to the Administration tab and uncheck/disable UPnP then save settings.

    • Go to the Security tab, uncheck the box labeled Block Anonymous WAN or Internet request then save settings.

    • Go back to Basic Setup, set the MTU to Manual and then change the value to 1365 then save settings.

    I was advised to do these things after forwarding ports, but 1365 is the min MTU for Xbox 360 and isn't UPNP enabled required to maintain open NAT.

    # March 20, 2008 1:27 AM

    Joshua said:

    Nevermind...

    techsup pretty much cleared this up.

    Thanks to everyone for helping me make my nephew happy.

    # March 20, 2008 1:29 PM

    DIEGO ESCOBAR said:

    I NEED ACTIVATE MY WINDOWS VISTA ULTIMATE IN SPANISH DEMO VERSION

    THX

    DIEGO ESCOBAR

    # March 23, 2008 6:43 PM

    Gaurav said:

    What about following kind of XML, I don't think its giving you the same output as you are showing here.

    <DSID ID="123">

     <Field name="A">

       <F_Data>Value1</F_Data>

       <F_Ops>IN</F_Ops>

     </Field>

    <DSID>

    # March 25, 2008 5:52 PM

    Ronald said:

    It is silly that a normal sql statement cannot be used.

    I need a count and a average. Has any body done this?

    # March 27, 2008 6:52 AM

    nasser said:

    i take this code from microsoft code gallery site, when you run it will desplay your WAN routers' IP Address

           static void Main(string[] args)

           {

               //String strHostName = Dns.GetHostName();

               string myExternalIP = string.Empty;

               System.Net.HttpWebRequest request =

               (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create("www.whatismyip.org/");

               request.UserAgent = "User-Agent: Mozilla/4.0 (compatible; MSIE" +

                   "6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";

               System.Net.HttpWebResponse response =

               (System.Net.HttpWebResponse)request.GetResponse();

               using (System.IO.StreamReader reader = new

               StreamReader(response.GetResponseStream()))

                   {

               myExternalIP = reader.ReadToEnd();

               reader.Close();

                   }

               response.Close();

               Console.Write(myExternalIP);

               Console.ReadLine();            

           }

    eng. Nasser

    # March 28, 2008 12:29 PM

    ethan said:

    i have a arris modem and i connected to live once and got my gamer tag and everything set up when i was done i connected my computer back to the modem and now when i tried to connect my xbox to my modem it fails at the dns part ever time

    # March 28, 2008 5:28 PM

    stephen said:

    what is a UPnP

    # March 29, 2008 12:30 PM

    asa said:

    ok so i am bridgeing my connection from my latop which is wireless to my xbox it conforms the connection and the ip address but the dns doesnt work. i was able to play halo for 2 days then it quit working. when i go into the xbox dashboard it says im connected but when i put the game in i get disconnectd. i clicked the share network box in the settings and tryed other things nothing works. please help!

    # March 29, 2008 6:50 PM

    eYarmarka said:

    I am working on a system using both technologies. Overall, we are finding that under load file system fares better, but we decided to use SQL server for "secure" data. The files stored in the DB are around 500KB on average, and the data is basically "read only", i.e. is preserved for long time, so no updated or deleted are necessary.

    The point I'd like to stress is that it's difficult to butcher a filesystem implementation (from programming standpoint), on the other hand, developing efficient SQL implementation (with C# in our case) was a "incremental" process.

    Regards

    Yuriy

    # March 30, 2008 2:55 AM

    dizi izle said:

    thanks

    # April 2, 2008 6:39 PM

    Tori said:

    I cant past the stupid ip setting it keeps saying failed and it is imbossible i have done everything i can what do i do can u plz email me lloyd_is_da_bomb@hotmail.com thanks  

    # April 2, 2008 7:32 PM

    CAMERON said:

    it says something wrong with ip adress & i typed it in manualy cuz i found the ip & dns & all tht

    # April 6, 2008 6:09 PM

    Caligula Augustus said:

    as unix guy said, your default gateway is the ip address of your router. i think to test the theory, you could try using ping "default gateway" (without quotes obviously), and then turn off your router, and try again (shouldn't work with the modem off. then if possible, turn the router back on, and you modem off. the ping command should still work this time. this will tell you if you default gateway refers to the modem, or the router. if it doesn't work when the router is off, then the default gateway is the ip address of your router *email me at ill_bribe-you@hotmail.com to let me know how you get on*

    # April 8, 2008 2:08 AM

    Shaun O'Reilly said:

    Sharepoint services does not seem to perform poorly when checking documents out of the database. When all documents are stored in db, it is so easily scaled and portable that maintenace becomes a breeze. Imagine having to manage 40 000 cv's when moving to a new server. To many files slows down the indexing server as well. DB file access performance will improve as this will become main stream. It is maintenace paradise for the support guys. Most documents and images that has a quantity in the thousands are less that 256Kb on avearage anymay!

    # April 8, 2008 2:23 AM

    S said:

    Thanks. This was very helpful and saved me a lot of time.

    # April 8, 2008 2:14 PM

    monkeyscrotumo8 said:

    how do ya disable upnp whatever it is

    # April 9, 2008 1:29 PM

    sandhya said:

    i have the same problem . its been months i am sticked with this problem. my toolbox items are not selectable its grayed out. i have tried resetting it number of times. how do i delete the file toolbox.tbd?where is it located? can u please five me the detail procedure. i am fed up with this problem. I have tried installing vs2005 , vs 2008. nothing works.

    # April 11, 2008 2:26 PM

    crow12 said:

    si pero como podria ejecutar toda una aplicacion offline sin estar conectado a mi servidor y en un momento dado todos lo que realiza en mi aplicacion pueda actualizarse con lo que tengo en mi servidor

    # April 15, 2008 6:04 PM

    scorpio said:

    my xbox keeps sayind having technical difficulties wat do i do som1 help plz

    # April 16, 2008 12:22 PM

    Poh said:

    Thanks for the wonderful code, Aftab.

    # April 17, 2008 9:14 PM

    Slow Dog said:

    Hi this is Criss butcher from from halo, one big thing about having a wireless router, is it is a Windows Vista or a uPNP. A uPNP as a little more complicated then a  

    Vista because Microsoft uses windows based servers for all LIVE enabled games.    

    # April 21, 2008 2:35 PM

    mike said:

    I'm having problems with live, when i turn my xbox on it tells me I am logged into live.  However the dashboard won't load and I can't see any of my friends online, then it kicks me off line.  I tested my connection and everything cleared. Any suggestions?

    # April 21, 2008 6:54 PM

    lewis said:

    hi

    I get past the ip address and DNS but it wont let me get past the MTU and i dont know what it means

    can someone please help me!!!

    # April 23, 2008 11:56 AM

    Josh said:

    Listen if your ip address fails turn off your modam and turn it back on when its pluged in to your xbox as for any other issues this might work too

    # April 24, 2008 1:49 AM

    Nick said:

    Whenever I try to do the xbox live connection test on my xbox 360, it fails on the xbox live part. It does not tell me that I need to do an update. I have an comcast and an arris 402.PLEASE HELP!!!

    # April 24, 2008 8:46 PM

    mike said:

    i have verizon fios and the xbox can find the wireless network .. but the IP adress doesnt work .. it says failed .

    my email is beantownmike22@yahoo.com

    # April 25, 2008 2:25 PM

    Emad said:

    Hi , I see your point is true in case of Low memory server ,

    but when i tried in my real server 8GB ram and on a table the heavilly searched it works very fast ( less than 1 second)

    WITH CC AS

    (

       SELECT *,

       ROW_NUMBER() OVER (ORDER BY forename) AS 'RowNumber'

       FROM contact  

    )

    SELECT *

    FROM CC

    WHERE RowNumber BETWEEN 200000 AND 200100;

    # April 29, 2008 7:03 AM

    MIKE117 said:

    MY XBOX WONT UDATE SO I CAN JOIN XBOX LIVE                                                                                                         PLEASE HELP

    # April 29, 2008 12:04 PM

    Poh said:

    An easier way to do a select distinct for a datatable is shown here: www.c-sharpcorner.com/.../BlogDetail.aspx

    If our original datatable is dt and we want to save the distinct into a new datatable newdt, then

    string[] distCol = {"col1","col2"};

    newdt = dt.DefaultView.ToTable(true,distCol);

    # April 30, 2008 12:00 AM

    XsjadoSniper said:

    ok, i have a Wireless adapter and i can NEVER connect to xbox live, i tried to hardwire and still not all the time, its really pissing me off i dont know whats wrong, all the computers in my house work fine. its annoying please tell me if i did anything wrong or didnt do anything in the first place? please this is annoying

    # May 1, 2008 4:59 PM

    Ben said:

    I see a lot of people saying that the DataView's ToTable method provides an "easier" way to do this.

    They're right, it is easy.  But if you read the comments carefully you'll see quite a few people stating how SLOW this can be.  I have to agree...

    I was able to get a result, about five times quicker than the DataView.ToTable, by simply iterating over every row, checking if the field I'm interested isn't already in my generics list, and if not adding it to the list.  

    I would have though the way I'm doing it would've been extremely slow... but apparently the list.Contains() method is actually quite quick.

    # May 10, 2008 11:50 PM

    Alex said:

    I got mine to work if you have comcast or hive DNS error i know how to get it to work.

    # May 13, 2008 10:05 PM

    Ruchi Saini said:

    Replicating the data in dbs across different geographical locations does have a run_value limit of 65MB. So the file size stored in the DB is limited by that.

    # May 15, 2008 1:48 PM

    Tyler said:

    i am trying to get a new account and i go threw all the information and sign up and i get to the code part and i put my code in and all it keeps saying is there is a tackinal difficulties try again later and i have been waiting and it keeps saying the same thing what do i do????

    # May 16, 2008 1:05 AM

    chase said:

    i have the wired connection from my xbox to my computer. when i hit test connection it says that im wired but the ip always failed and it is on automatic. i have also tried manual and typed in the ip. can someone help me out??

    thanks

    # May 17, 2008 7:40 PM

    tee said:

    i cnt get by this stupid a** DNS how can i get passed it. someone plz just write an answer before i blow up my 360

    # May 24, 2008 5:37 AM

    Fuad said:

    Everything sounds cool but i'm trying to store and retrive EXE and DLL files from DataBase and what happens is that my files come up without header information.. any ideas?

    # June 5, 2008 7:15 AM

    APPDEV said:

    the items are reordered. anyone notice this ?

    # June 12, 2008 6:27 AM

    Anwar Sayeed said:

    To change all the objects owned by user test to dbo, run the following code:

    exec chObjOwner 'test','dbo'

    it will list the lines of execution string to call for sp_changeobjectowner for all the objects owned by the user.

    have fun!...

    Anwar Sayeed

    # June 17, 2008 7:12 AM

    justin said:

    my xbox will get on live but when i try and search for a match ,like on halo 3 and COD 4 i cant find any matches....HELP!!!

    # June 22, 2008 11:56 PM

    At The Gates » Blog Archive » Bill Gates: Transitioning into the Future said:

    Pingback from  At The Gates  &raquo; Blog Archive   &raquo; Bill Gates: Transitioning into the Future

    # June 23, 2008 4:30 PM

    Pooja Vaidvan said:

    Thanks a lot.

    Me tried to get agg. Marks by joining 4-5 tables in a single view but thr are some NULL values.

    SELECT 5 + ISNULL(NULL, 0) + 2 help me to short out my problem.

    Thanks

    # June 25, 2008 5:28 AM

    Eric said:

    Per Rob's suggestion I had to add the comments to exceed 5K. I noticed that once the app recognized the file it could be trimmed back to the 1k of content I had and it stilled worked. Also I was able to customize the content, including multiple divs and customizing their style attribute with css syntax...

    # June 25, 2008 11:01 AM

    nick said:

    im connected directly from modem to xbox but it says the ip address fails anybody plz help and what is it about the uPNP

    # June 28, 2008 1:45 AM

    chewee said:

    When i start live, i choose my internet connection and then do the test, i pass the first one which was my wireless adapter then it says that my wireless is not connected.. But for some reason i already connected to my router.... Is something blocking it? Please help spent all week trying to fix it email is wilson_ha604@hotmail.com Send me an email on how to fix it PLEASE!!

    # June 30, 2008 1:10 AM

    Tim said:

    The full chObjOwner script by Micorosft is listed here:

    http://support.microsoft.com/?scid=kb%3Ben-us%3B275312&x=12&y=16

    # July 2, 2008 1:59 AM

    double j said:

    I have a hp laptop with verizon wireless internet card I took ethernet cable from a ethernet port on laptop and connected it to my wireless router a linksys wrt160n the another ethernet cable from router to xbox elite when I try to log on to xbox live the ip address passes but the DNS failes everytime I have tryied turning off fire walls on computer but it still didn't pass can someone please help me I'm all out of other ideas. Greatly appreciated

    # July 6, 2008 4:26 PM

    Maulik said:

    I bet Output parameters will be a way faster than bringing resultset.

    # July 9, 2008 8:54 AM

    Subramania said:

    I am trying to retrieve the data from a table where it is stored as binary. I am inputing an integer value(eg:100.10.10 an IP).It will be converted to Hexa in my Business Level and will be stored as Binary in DB.

    How can retrieve the value as such how i Inserted (like 100.10.10) Is there any possible way?

    Thank you.

    # July 10, 2008 5:41 AM

    HumanCompiler said:

    Subramania,

    You don't need to store IP addresses in a binary field.  Store them in a bigint field instead.  There's a little bit of code you have to write to do the conversion from System.Net.IPAddress to a long (Int64) but it's easy to find.  Do a search on "convert ipaddress to long in c#" or something similar.  A page like this should have the code you need:

    www.codeguru.com/.../c10651

    Good luck!

    # July 10, 2008 2:01 PM

    Joseph said:

    Man i JUST BOUGHT an new router (I used to have a modem) it is model: D-Link WBR-1310 54 mbps'. I have my cable direted from my xbox into my com room into my D-Link, The Light is on but for some reason My DSN isn't, and I'm not to saave with computer talk so I'm not quite sure what... UPNP is... Is it on my Xbox, my router, or on my Com?

    PLEEZ HELP!

    # July 11, 2008 10:12 PM

    Crypto said:

    Been trying to find a clean way to do this since my conversion to .net.

    Thanks for sharing the information!! Works beautifully!!

    # July 14, 2008 2:08 PM

    cdowd said:

    Hi, the only way I see this method working is if you order by the id.  If you order by anything else, what would you use in the >= part of the where clause?

    What about sorting by multiple columns?

    # July 24, 2008 10:33 PM

    Aaron said:

    Joseph: There is usually an option on the DLink router that allows DNS Relay. It is normally found in the LAN settings. Be sure that is enabled and that should fix your DNS problems.

    UPnP is an option that will most likely need to be disabled on your router as well. If you go to DLink's website, search for how to disable this option for your router. In my experience with these routers, that option is always on by default.

    Note: If you are using the DNS relay, you will not need to add DNS settings in the WAN settings. Those should be 0.0.0.0

    Hope that helps.

    # July 25, 2008 1:52 PM

    Christophe said:

    Fantastic !  Thank you so much for sharing this code.

    # July 25, 2008 5:22 PM

    Waleed Eissa said:

    Just what I was looking for, thanks a lot!

    # July 29, 2008 6:52 AM

    Rafael said:

    You can use

    Dim dt As New DataTable

    dvGrupo = New DataView(dtDePara)

    dt = dvGrupo.ToTable(True, "[field1]", "[field2]")

    # July 30, 2008 2:51 PM

    kate said:

    i have a cross over wire linked from my xbox to my laptop which runs on wireless, iv tried to set it up manually and automatically and its still not working, i cant find my xbox default gateway code, and it says no DNS addresses found, i have no ides what to do, its xbox 1, iv tried turning off the UPnP and nothings changed, im all out of ideas, if someone can help add me on msn or send me an email, noltondanny_5@hotmail.com, thank you kate x

    # July 30, 2008 4:10 PM

    daniel said:

    im haveing trouble every time i go to new user for xbox live it takes me threw the whole prosses but when i put in my subscription code it says there are technical difficalties and to try again later its not trew a router its pluged straight into the xbox and i dont know what to do plz help me

    # July 31, 2008 11:30 PM

    Tom said:

    RIGHT ('0' + CAST(DATEPART(hh, GetDate()) AS varchar(255)) + ':' + CAST(DATEPART(n, GetDate()) AS varchar(255)), 5)

    Got me what I needed.

    # August 1, 2008 5:28 AM

    Blader said:

    I can't to find this sample. Would you help me?

    Thank you.

    # August 4, 2008 8:50 AM

    sum1 plz help said:

    wen i test my coccection i get to XBOX LIVE and den wen i try download de update it says i cant ..plz plz plz plz plz help..wat is upnp and how do u disable it ..i have no idea wats rong :(

    # August 5, 2008 6:29 AM

    XxALLdayKILLxX said:

    my xbox live won't either. it passes every test including the xbox live one and it gets to the game and says downloading network settings. then it says notice: you must be signed into a network account or xbox live to play online matches. my connection is eighty to a hundred percent most of the time. please help me. i have tested network connections a hundred times and it says everything passes

    # August 7, 2008 12:57 PM

    Super Soviet said:

    I just need a quick answer!  I'm directly connected to my modem, there's no wireless issue.  I entered in the IP address and subnet mask, gateway, etc. by looking at the information on my internet connection.  Strangely, everytime the 360 checks diagnostics it acknowledges a connection, but the IP address fails every time.  What the hell?

    # August 9, 2008 1:42 PM

    santana said:

    my dns is not working i have tried to restart the xbox over but it did work it keeps saying my dns is not working so plzz help

    # August 12, 2008 12:41 AM

    Jim Ezzell's Blog said:

    Change Owner of an Object in SQL Server

    # August 15, 2008 9:14 PM

    carmen d said:

    hi i have a wirless antena on my xbox and it oick up the signal from my router and it works but the connection sucks....so i ran a cable from my router to my xbox and everytime i do it the ip adress fails and i enetred everything in manually and it still failed help me!!!!!

    email: bladefreak123@yahoo.com  thanks i will apreciate the help very much!!

    # August 15, 2008 11:35 PM

    Jeff L said:

    Worked like a charm for me on a Dlink DI-634.  Thank you.

    # August 17, 2008 10:31 PM

    Jason said:

    I have an oddity, perhaps its new 3.5 or something, but i have a case where i fill an arraylist from an array.

    Public Class Smoething

    private arrL as ArrayList

    Public Sub setArr(inval() as double)

       arrL = new ArrayList

       for i as int16 = 0 to ubound(inval)

           arrL.add(inval(i)

       next

    end sub

    public overrides function ToString() as string

      dim Accum as string

      for i as int16 = 0 to arrL.count -1

          Accum = Accum & arrL(i).tostring

      next

      return accum

    end function

    end class

    in this case i consistently get a begining 0, and value i had passed start at position 1 on the return

    but the count is also reads 1 to high.

    any ideas?

    # August 19, 2008 6:40 PM

    Ron Barone said:

    MS article on why, with tests to back it up.

    ftp.research.microsoft.com/.../TR-2006-45.pdf

    # August 21, 2008 3:03 PM

    kyle said:

    i can seem to get my live working because the IP adress is failing

    # August 21, 2008 11:36 PM

    "PRADEEP" said:

    WHAT IS THE SOMECLASS HERE

    # August 22, 2008 4:39 AM

    ax said:

    my dns wont work and i cant get on live

    # August 22, 2008 10:36 PM

    Ronan said:

    I go to test connections and says everything is confirmed apart from Xbox Live. It says that failed! This hasn't happened me before. What do I do?!

    # August 23, 2008 6:52 AM

    Paul said:

    HEYi want to get my Xbox live set up but it wont work.everytime it sais dns server failed when i go into test xbox live conection. i no nothing about computers and all this internet talk . can some1 dumb this down 4 me n help me please

    # August 25, 2008 8:14 PM

    strd said:

    What beautiful piece of code!

    # August 31, 2008 1:07 PM

    Aradhna said:

    hi!

    I have an assignment due on friday 5/09 on a smartphone...its a very simple application cos we just started the section. It just has basic softkey functions to change the wallpaper on the form.

    My problem is that we also have to include a web service in the project....how do i do that?

    I've added a Google web reference to my solution but now I'm stuck! It doesnt have to be complicated, as long as it works!

    Please email me ASAP if you know what i should do!

    My address is aradhna452@gmail.com.

    Thanks!

    # September 2, 2008 3:51 PM

    Jana said:

    Very good code. Saved lot of time

    # September 2, 2008 6:46 PM

    urpc.t35.com said:

    Hi

    Go to http://www.urpc.t35.com - ther you'll find lots of info about your router, etc. And also find AWESOME hacks and tips there!

    hope this helps

    # September 4, 2008 10:19 AM

    Grant said:

    I have got the 3  

    mobile broadband right the problem is that it is wired to the network adaptor but when it comes up to the ip address it fails it ses your console was unable to negotiate a lease with your DHCP server it is really getting on my anoying me plz help!!!

    # September 4, 2008 12:55 PM

    Defkon1 said:

    # September 5, 2008 11:04 AM

    dany said:

    He should think about how to reduce the fuel price too so that people can save some money to purchase his products, else the just keep their money to purchase foods and pay for their transportations

    # September 10, 2008 6:44 AM

    Stuart said:

    Hello everyone. Im having trouble playing Halo 3 online, with Gears of War I can play no problem, but, when ever Im just about to start a match I recive a message saying that I quit from messenger and I lose connection to Xbox live and cannot reconect, Im not to sure of all your technical jargon, but I've listed everything im sure of. Finally when I run a network connection test, either my I fail the IP test or the Xbox live test. Any help would be greatly appreciated.

    # September 14, 2008 6:44 AM

    helloise said:

    private static DataTable SelectDistinct(DataTable SourceTable, params string[] FieldNames)

    i will obviously have to get the field names into params string[] and then call this method.

    how will i do these two things??

    thanks

    helloise

    # September 16, 2008 3:59 AM

    StopGo said:

    I have been wrestling with a problem that your code solved.  The built-in .NET DataTable.DefaultView.ToTable() method pegs the CPU at 100% and hangs when the dataset gets large.  I swapped out that line with a call to SelectDistinct and it ran in a matter of seconds.  From my limited experience it appears that your code is vastly superior to the built-in method and I would recommend people use your code and save themselves some major debugging headaches.  Thanks for sharing...

    # September 16, 2008 7:29 PM

    jaybz said:

    actually, it depends on what browser is used as well.  1k most like is more than enough for most browsers.  here's what really happens in the background:

    if App_Offline.htm exists, IIS sends a 404 HTTP error result in the HTTP headers.  if the file is empty, IIS generates its own error content.  if it isn't, IIS sends the contents of App_Offline.htm.

    however, Google Chrome only displays the content if the server sends at least 512 bytes of content, otherwise it displays its own 404 error page.  Chrome is based on Apple's WebToolkit so Apple's Safari may exhibit the same behavior.

    IE7 has a similar behavior if you have "friendly HTTP errors" enabled, except, that the content needs to be more than 512 bytes long before IE7 decides to display it.  If you have it disabled, however, the content is displayed regardless of how long the content is.  The difference there is that if the content is exactly 512 bytes Chrome will display the content, IE7 will not.

    Firefox 3, always shows the content but may have a setting or a plugin that enables "friendly HTTP errors".

    i don't have any information regarding other browsers as I don't have them available at the moment.  i also cannot test 404 errors with no content because can't generate those yet.  for all intents and purposes, however, 1K should be more than enough to get the content displayed instead of the browsers' generic 404 page, if any.

    # September 17, 2008 4:08 AM

    gremmieouttacontrol said:

    I'm also stuck w/ this issue.  Ill try to post the steps if I can figure it out because im so fed up and have wasted so much time on it i would like to save someone the grief.

    # September 17, 2008 10:35 AM

    dark killer said:

    i cant go into xbox live because my damn ip adress keeps failing.      please HELP ME!!!!!!!!!!

    # September 19, 2008 9:19 PM

    Three Headed Monkeys » Select Distinct en un DataTable/DataSet said:

    Pingback from  Three Headed Monkeys  &raquo; Select Distinct en un DataTable/DataSet

    # September 22, 2008 5:07 AM

    sirplus said:

    ftp.research.microsoft.com/pub/TR/TR-2006-45.pdf

    no longer exists

    guess it was against what was desirable to ms

    cant find the doc anywhere else

    anyone help with a link?

    # September 24, 2008 10:34 AM

    Gabriel said:

    really thanks guys.. the function rowk really cool

    Saludos desde chile

    # September 29, 2008 4:24 PM

    Manny said:

    the mtu thing wont let me play xbox live wtf

    # September 29, 2008 5:51 PM

    evell jones said:

    My MTU have to be set at 1364 or greater on my Arris modem but i dont know how

    # September 29, 2008 6:42 PM

    c said:

    Yeah having same trouble my mtu wont allow me to log on either. Since there update i beleive they have a bug....

    # September 29, 2008 9:53 PM

    that guy said:

    again today/night

    xboxlive went down

    not a MTU problem but server maitainence

    don't worry about that guys

    # October 1, 2008 12:34 AM

    adarshyam said:

    hi friends.. I have a doubt in my problem.. i have created arraylist for 2 columns containing 'n' number of rows entered by the user and after the user enters values in al the rows i wanna retrieve it and calculate its moving average.. pls help me.. pls mail me if u can help. adarshyam@gmail.com

    # October 6, 2008 3:07 AM

    darkYuris :D said:

    I hit timeout too... my PM just wanted to see, if things goes well on higher amounts of data. Apparently not. I thought mssql would handle easily ~300k of rows.

    Modifying SubSonic`s source won't make things easier. :/

    p.s. this one seems pretty neat too. :)

    www.themanaged.net/.../10.aspx

    # October 10, 2008 9:51 AM

    Antony Koch said:

    select  right('0'+cast(datepart(HH, getdate()) as nvarchar(2)),2)+':'+right('0'+cast(datepart(mm, getdate()) as nvarchar(2)),2)+':'+right('0'+cast(datepart(ss,getdate()) as nvarchar(2)),2)

    # October 13, 2008 12:09 PM

    acl123 said:

    I found that I had to make sure a .NET aspx page and a web.config file were present in the same directory as the App_Offline.htm file, or it wouldn't work.

    # October 21, 2008 11:10 PM

    moschino5 said:

    Beware of the hash method. If I understand well the code a situation like this will lead to error:

    Col1   Col2

    ------------

    "AA,"  "BB"

    "AA"   ",BB"

    Both this records will produce the same hash and be considered as "NOT DISTINCT".

    Ciao.

    # October 23, 2008 4:40 AM

    Kevin Deenanauth said:

    Although this was posted years ago - you are the MAN

    # October 24, 2008 4:04 PM

    Jeff Adamez said:

    SUPER SUPER JOB!!!  My thanks to Aftab Ahmed!

    # October 29, 2008 3:09 PM

    DeRosa said:

    Hey Guys,

    Can someone help me.  I can connect to XBOX LIVE without issue for about 5 mins.  Then I get disconnected.  All i have to do is connect again and i'm fine again for 5 mins.  I have a D-Link WBR 1310, all computers connect to the internet and no disconnects.  i have checked all the postings on multiple websites and all my settings seem to be correct.  My XBOX TEST passes everything with a Moderate NAT.  I have contacted XBOX and DLink multiple times and it is the biggest waste of time cause no one is ever able to assist.  I paid for the router and the 360 and LIVE and I can't stay connected for more than 5 mins.  Can anyone help.  Please email me derosam20@hotmail.com.

    Thank you.

    # November 9, 2008 5:14 PM

    Pradeep said:

    Good help

    # November 12, 2008 12:09 AM

    Luis Fernando said:

    CAST(FLOOR(CAST(@DataAtual AS float)) AS datetime)

    # November 12, 2008 6:16 AM

    kalaisep86 said:

    thanks. worked for me...

    # November 12, 2008 12:03 PM

    Kashia said:

    Someone please help me. I have a laptop with an at&t internet card and I'm using an ethernet cable to plug in from xbox to computer. And I absolutely cannot get past the IP address. it says that my console was unable to negotiate a lease with my DHCP server. I have no idea what that means or how to fix it. I've tried everything I know how to do and nothing's worked. Will someone pretty please help me. My email is sk8ergirl252003@yahoo.com I would really appreciate the help.

    Thanks a lot

    # November 16, 2008 12:15 AM

    the messages!!! said:

    i've been getting on xbox live for the last 6 months or so

    its a year subscript too. o and by the way, its an xbox original. i haven't even had 1 problem yet. Now it''s telling me that i have new messages that i HAVE to view before signing on. so there are no new emails and account manager says i have no new messages, and yet i still san't sign on. I've ran the xbox live test and it says i am connected, i just am not allowed to be on. any help ??!!

    # November 19, 2008 3:57 PM

    RandomProgrammer said:

    If I understand this correctly, since this algorithm is sorting ( n log n, I hope ) before removing rows, it ends up being a n log n algorithm.

    The MS .ToTable() with distinct option selected runs like it's not doing that and is just comparing every row to every other one... n^n.

    I'm working with 200,000+ rows on tables, and using n log n insteand of n^n is a difference of 10 seconds to around 30 minutes or more.

    Microsoft needs to implement this algorithm for their ToTable function in their next framework, IMO. I don't know if you can pass that along.

    # November 20, 2008 3:00 PM

    TJ said:

    it is saying that im suspended from xbox live and it wont come back to a sertin date. but the date that it says that, i would be able to get on it today and it still wont let me. soed this mean i have to get a new xbox live account

    # November 25, 2008 1:37 PM

    Gabriel said:

    public DataTable SelectDistinct(DataTable sourceTable, params string[] fields)

    {

    DataView dv = sourceTable.DefaultView;

    DataTable dt = dv.ToTable(true, fields);

    return dt;

    }

    # November 26, 2008 1:25 PM

    simon said:

    every time i test my xboxlive connection every thing gets an ok but when it gets to xboxlive it say failed and it never gets to the nat so whats up with that

    # November 26, 2008 4:46 PM

    执法长老 said:

    在做容器的时候遇到了问题,网上搜到一篇好文,在此转载!感谢作者!

    # November 27, 2008 1:47 AM

    Genious said:

    can some one please list simple 1 line code to get time stamp in t-sql.

    i had these functions but lost the page.

    any help here!

    Regards,

    Genious

    # November 27, 2008 4:02 AM

    Tristan said:

    You will not believe how long I have looked for this. Thanks

    # December 1, 2008 5:16 PM

    Ross said:

    I've just got my xbox back from a repair (they sent a brand new 1). so i thought gr8 back to gaming! try to sign into xbox love and it tells me an update is needed, so i click on the update wait patientley for about 45 mins...  the bar hasnt moved an inch!  Wtf is the matter with it?? can't sign in to my profile or anything:(   can any1 help??

    # December 2, 2008 11:10 AM

    Thomas Hansen said:

    With some help of Anonymous Delegates you can easily write one WAY better then this, I've done it in fact at; ra-ajax.org/jquery-ish-selector-for-webcontrols.blog

    This one contains methods like;

    * T SelectFirst<T>(Control from)

    * T SelectFirst<T>(Control from, Predicate<Control> del)

    * IEnumerable<T> Select<T>(Control from);

    * IEnumerable<T> Select<T>(Control from, Predicate<Control> del);

    etc...!

    But anyway, great work :)

    # December 4, 2008 12:00 PM

    Spencer said:

    Try indexing the columns you plan to sort by..  it helps. Trust me.

    # December 4, 2008 1:41 PM

    Micha?? Jask??lski » Stronicowanie danych w Microsoft SQL Server said:

    Pingback from  Micha?? Jask??lski &raquo; Stronicowanie danych w Microsoft SQL Server

    # December 6, 2008 8:21 AM

    hony said:

    just unplug it for 20 30 second its 90 percent ganna work

    # December 17, 2008 9:41 PM

    AR said:

    Thanks for the help.  Worked for me.

    # December 18, 2008 12:15 PM

    TRKLL said:

    Thanx!!

    # December 19, 2008 10:01 AM

    Mak said:

    dv.ToTable is perfect one...

    Thanks a lot Gabriel...

    # December 19, 2008 1:58 PM

    Teray said:

    my xbox 360 can't get pass the DNS server i went to the control pad off my computer i even called my Internet provider and they said that the ones that i have is the ones the have. my network connections work great and IP address says confimed. what i should do next

    # December 21, 2008 5:27 PM

    jason said:

    i want to stor multiple values in a variable and then check wether any of the values held in the variable match what the user inputs. Please help i can not code it , i tried but failed. could you please elaborate on answers as i do not how i woud use arrays in this way thanks

    # December 22, 2008 11:48 AM

    anirudh girey said:

    DIFFRENCE BETWEEN  .NET 1.1 AND .NET 2.0 ?

    ASP.NET 2.0 introduces a lot of new features. Some of this features aim to simplify the problems faced using the earlier versions and some features are introduced to provide lot of new facilities.

    1) The most important features that are incorporated in ASP.NET 2.0 are:

    (a)    Master Pages

    Master pages are introduced to remove one of the most important deficiencies of earlier version of ASP.NET. One thing that has become apparent in the earlier version of ASP.NET is the lack of architecture for applying a consistent look and feel. In earlier version of ASP.NET whenever a developer wants to replicate a common functionality of a web page in other pages, the most possible options he uses is creating a user control and then replicate the functionality in other pages.

    ASP.NET 2.0 aims to solve this problem by introducing the concept of Master pages. First the developer needs to define a master page containing the content that he wants to appear on other pages and then use the ContentPlaceHolder controls to define the locations where the sub pages can plug in the content of their own. The he has to build the sub pages - .aspx pages – that reference the master using directives like this one:

    <%@Page MasterPageFile = ~/MyMasterPage.master” %>

    In addition, an application can designate a default Master Page in web.config as shown here:

    <configuration>

    <system.web>

    <pages masterPageFile="~/ MyMasterPage.master " />

    </system.web>

    </configuration>

    (b)   PreCompilation

    By default, ASP.NET web pages and code files are compiled dynamically when a first request is made to the page. After the initial compilation, the compiled pages is cached; the cache is used to satisfy the subsequent requests for the same page. Even though this approach is flexible, when the page is requested for the first time, it requires a bit of extra time to compile the code. You can avoid this overhead by leveraging a new feature known as precompilation; by using this feature, you can compile an ASP.NET web site before making the web site available to the users.

    (c)    Sharing code in the application

    In earlier version of ASP.NET, if you were to reference a reusable component from your dot net application, you had to compile the assembly and place it in the bin folder (or place it in the GAC) of the web application. But now with ASP.NET 2.0, creating a reusable component is very simple and straightforward. All you need to do is to create a component in a pre-defined subdirectory called code. Any component placed in this directory will be automatically compiled at runtime into a single assembly. This assembly is automatically referenced and will be available to all the page in the site.

    (d)   Themes and Skins

    ASP.NET 2.0 introduces the concepts of Themes and Skins by means of which the look and feel of the web pages can be enhanced to a great extent to make them visually catchy and attractive.

    A skin is a set of visual attributes applied to a control type. A theme is a collection of skins. There are a lot of predefined themes in ASP.NET 2.0. One can use it by using the following line of code:

    <%@ Page Theme=”SmokeAndGlass” %>

    The page directive’s Them attribute declaratively applies a theme to a page. Themes can also be applied programmatically using the page class’s Theme property

    2) Support for 64 bit platform application development. These applications can run faster and take advantage of more memory that is available and users can build managed code libraries or easily use unmanaged code libraries on 64.bit machines.

    3) Access control list support (ACL). This is used to grant or revoke permission to use a particular resource on a computer. Several new classes have been added to the .NET Framework to enable manage code to create and modify ACL. Members that use ACL have been added to the I/O, registry and threading classes

    4) Authenticated streams is the new class introduced into the .NET Framework to enable users transmit secure information between a client and a server. The System.Net.NegotiateStream and System.Net.SslStream are classes which authenticate the transmission of data. These stream classes support mutual authentication, data encryption and data signing. The System.Net.NegotiateStream class uses security protocol for authentication while the later uses the Secure socket layer for authentication.

    5) Detecting changes in Network connectivity is enabled by the use of the System.Net.NetworkInformation.NetworkChange. The user can now receive notification when an Internet Protocol (IP) address of a network Interface changes. This can occur due to disconnected network cable, hardware failure etc.

    ADO.NET now supports user defined types, asynchronous database operations, XML data types, large value types, snapshot isolation, and has attributes that allow applications to support multiple active result sets(MARS) with SQL Server 2005.

    Here is a list of new and updated additions to ADO.NET:

    1. Bulk Copy Operation

    Bulk copying of data from a data source to another data source is a new feature added to ADO.NET 2.0. Bulk copy classes provides the fastest way to transfer set of data from once source to the other. Each ADO.NET data provider provides bulk copy classes. For example, in SQL .NET data provider, the bulk copy operation is handled by SqlBulkCopy class, which can read a DataSet, DataTable, DataReader, or XML objects. Read more about Bulk Copy here.

    2. Batch Update

    Batch update can provide a huge improvement in the performance by making just one round trip to the server for multiple batch updates, instead of several trips if the database server supports the batch update feature. The UpdateBatchSize property provides the number of rows to be updated in a batch. This value can be set up to the limit of decimal.

    3. Data Paging

    Now command object has a new execute method called ExecutePageReader. This method takes three parameters - CommandBehavior, startIndex, and pageSize. So if you want to get rows from 101 - 200, you can simply call this method with start index as 101 and page size as 100.

    4. Connection Details

    Now you can get more details about a connection by setting Connection's StatisticsEnabled property to True. The Connection object provides two new methods - RetrieveStatistics and ResetStatistics. The RetrieveStatistics method returns a HashTable object filled with the information about the connection such as data transferred, user details, curser details, buffer information and transactions.

    5. DataSet.RemotingFormat Property

    When DataSet.RemotingFormat is set to binary, the DataSet is serialized in binary format instead of XML tagged format, which improves the performance of serialization and deserialization operations significantly.

    6. DataTable's Load and Save Methods

    In previous version of ADO.NET, only DataSet had Load and Save methods. The Load method can load data from objects such as XML into a DataSet object and Save method saves the data to a persistent media. Now DataTable also supports these two methods.

    You can also load a DataReader object into a DataTable by using the Load method.

    # December 22, 2008 11:34 PM

    Travis said:

    Every time I try to go on Call of Duty 4 Live it does  this,The Current profile is not allowed to play on xbox Live.WTF!!!!!!!!!!!!

    # January 3, 2009 10:51 PM

    John Doe said:

    I have been trying to connect to Xbox live for 2 days now. I have it running through a router/modem. My IP address keeps failing. I put it on autmatic but it says my gateway is invalid.So I manually entered the IP and the subnet mask. I did some research and entered my IP in the gateway except i took off the last number(.xxx) and added (.1) (xxx.xxx.xx.1)It says "Your gateway did not respond to a network request." I also recall something about changing my HDCP server settings or something. I contacted my ISP and they said to contact the router  manufacturer. How can I find my gateway number? What is the problem here?    

    # January 4, 2009 5:49 PM

    patch said:

    how do i disable the UPnP?someone help!

    # January 5, 2009 10:06 AM

    Davidm 16 said:

    I have Had xbox live nearly a year and it is not up til may but it wont connect it says internet wire not connected even though it is and my dad used the wire for a laptop and it worked

    # January 8, 2009 1:35 PM

    pelacuaz said:

    i just fixed my xbox from rod but somehow i can't connect to xbox live,everything is ok from ip to network connection but xbox live fails,anybody knows the reason?

    # January 11, 2009 1:39 AM

    Mike said:

    That really cleared things up for me - Thanks!

    # January 13, 2009 1:13 PM

    rajchanchal said:

    dv.ToTable(true, fields);  have performance problem with something like 9000 rows (I tested with 9000) it takes some seconds which is drawback here

    # January 15, 2009 3:58 AM

    dave said:

    Haha Guttered hate to be you right now :)

    silly child

    # January 16, 2009 9:21 AM

    Frank said:

    To disable UPnP, use PC to connect to your router

    config page. UPnP might be under "advanced menu".

    After disabling UPnP on my Netgear, we were able to join xbox live.

    # January 17, 2009 6:49 PM

    zzh said:

    在论坛上,动态控件好象是永久的话题。大家都知道要动态控件起作用,PostBack时需要重新生成或装载(LoadControl),而且需要深入了解其状态的变化过程。

    有个同事另谋高就,要离开我们工作的...

    # January 20, 2009 3:49 AM

    Campi BLOB | hilpers said:

    Pingback from  Campi BLOB | hilpers

    # January 21, 2009 10:10 AM

    jason said:

    MY XBOX WONT LET ME PLAY GAMES ONLINE JUST CHAT HOW DO I GET PAST THIS IT SAYZ REDEEM COOD BUT WOTS THAT ??

    SUM1 PLZ OFER THIRE HELP

    # January 21, 2009 4:02 PM

    JASOM said:

    MI XBOX WONT LET ME PLAY ONLINE JUS CHAT HOW CAN I UNDO LISS

    # January 21, 2009 4:03 PM

    Justin said:

    How can you declare a dynamic array.. i just can't understand in your example clearly..pls reply soon..tnx..

    # January 22, 2009 1:58 AM

    rajnox said:

    fuel price dont concern gates... :P

    # January 26, 2009 7:13 AM

    Greg Mc said:

    I have just got myself an xbox & tried to play xbox live. My xbox is running straight off the modem.It says I can connect to xbox live but cant sign into messenger. Has anyone got any idea's on ho I can resolve this problem?

    # January 27, 2009 12:41 AM

    skooter said:

    My asp.net page became a lot faster. Got from about 30 to 5 seconds. Still when using parameters the page was slow, when I added CommandBehavior.SingleRow to ExecuteReader the magic happed. So, thanks Erik :)

    # February 5, 2009 9:06 AM

    Boom! said:

    I've have been changing settings all over the place with this thing. Thank you so much!

    # February 7, 2009 10:46 AM

    jay said:

    The C# example shows how to do AddWordTransition/AddRuleTransition with two words...what if you have four words?

    # February 10, 2009 11:42 AM

    Windows 7 Release Candidate gets new features said:

    I have an Nvidia board and had exactly the same quicktime/ itunes issues, BSOD’ s and stuttering under Vista. My fix was to go into device manager and find“ Nvidia Nforce serial ATA controller” and then right click and select update driver software and

    # April 26, 2009 9:43 PM

    Topics about Web-design | Quick Validation Hack for ASP.NET - Erik Porter’s Blog said:

    Pingback from  Topics about Web-design |   Quick Validation Hack for ASP.NET - Erik Porter&#8217;s Blog

    # May 5, 2009 7:19 PM

    IP address in messenger - Page 2 said:

    Pingback from  IP address in messenger - Page 2

    # September 9, 2009 3:22 AM

    Microsoft Weblogs said:

    Two years ago on this very date of June 20th, I started my first day here at Microsoft. It was an exciting

    # September 10, 2009 1:23 PM

    Microsoft Weblogs said:

    Two years ago on this very date of June 20th, I started my first day here at Microsoft. It was an exciting

    # September 10, 2009 1:23 PM

    emanlee said:

    ThetableintheDataSetisasfollows:Column1

    # November 6, 2009 5:32 AM

    Omar AL Zabir blog on ASP.NET Ajax and .NET 3.5 said:

    Atlas is the solution from Microsoft which is integrated in Visual Studio 2005. Please read the following

    # December 13, 2009 4:33 AM

    Erik gates picture | spherify said:

    Pingback from  Erik gates picture | spherify

    # December 30, 2009 11:26 AM

    Get the search you want in IE7 | James O'Neill's Blog said:

    Pingback from  Get the search you want in IE7 | James O&#039;Neill&#039;s Blog

    # November 5, 2010 6:41 PM

    Pagination in SQL Server « Tech Hub said:

    Pingback from  Pagination in SQL Server &laquo; Tech Hub

    # August 23, 2011 2:20 AM

    Poner offline una aplicacion ASP.NET – [ Web 2.0 | Tecnolog??a | Accesibilidad | Seguridad ] said:

    Pingback from  Poner offline una aplicacion ASP.NET &#8211; [ Web 2.0 | Tecnolog??a | Accesibilidad | Seguridad ]

    # October 22, 2011 10:41 AM