message: <p>It crossed my mind yesterday but I couldn't exactly pick up a dime bag from my Green Zone dealer. Actually, word on the street is that hashish is available but I've resisted the temptation. I did enjoy a nargheelah (sp?) last night - the Iraqi equivalent of a hookah - but that's just tobacco.</p>
message: <p>Phil,<br>Awesome post and I totally agree. In fact, software developers should heed some of these comments as well and stop taking over "My Documents" and assuming the user is root.<br>Brilliant!</p>
message: <p>Here are a couple more:<br>7. I like my file-types the way they are - sure if you want to associate with types not yet associated go ahead. If you want to change what I already have ask - and the default should be no.<br>8. Loading at start-up makes my machine start slower and uses up precious memory. Your application may not load at start-up unless I specifically say so.<br>When it comes down to it the whole lot could probably be summed up as:<br>Your application may be the centre of your life. It won't be mine.<br>[)amien</p>
message: <p>Two slight rebuttals:<br>1. Part of the UPS problem is the fault of Windows. That system isn't necessarily capable of doing what you want it to. Windows Vista has improvements in that area and treats a UPS exactly like a laptop battery (so it fully integrates with power schemes, etc).<br>So they had to change the OS to support it working seamlessly.<br>2. The My Documents thing is problematic when you have an application that saves data automatically, such as a game. In the case of a game, you don't get a browse dialog to choose where to backup. In that case, saving to Program Data isn't the best choice since that directory is not part of common hardware or software backup solutions. So you put your stuff in Program Data, and your customers' external hard drive with the 1-click backup button won't pick up your save games.<br>That said, I think the number of times where the user documents folder is the correct place is way less than AppData. Just pointing out that a blanket "never store anything in documents" is appropriate.<br>(As a note, I LOVE the fact that Neverwinter Nights 2 saves in the Documents folder. I didn't have to go digging to find out where the saved games were, my backup automatically backed up my save games)</p>
message: <p>@Adam, at your first point, I'm not sure I understand. At the very least, I still think that when I plugin a USB enabled UPS, and open up the UPS tab of Power Options in Control Panel, that it recognize my UPS there. I wouldn't mind its own system tray applet if it provides features that Windows XP doesn't. Also, this program wrote settings to the Program Files.<br>To your second point, I think that's why Vista has the new "Saved Games" special folder. So for Windows XP, you have a great point. For Vista, used the Saved Games folder.</p>
message: "<p>RE: UPS<br>Vista has done away with that incredibly awkward way of dealing with the UPS. It's now literally dealt with exactly like a laptop battery. <br>Off subject, but what brand UPS are you using? I know APC has worked great in the past for me (and in the present with Vista).<br>RE: Saved games<br>Too bad there's no Environment.SpecialFolder for that one yet.</p>"
message: <p>> Too bad there's no Environment.SpecialFolder for that one yet. <br>Yeah, I guess it took until Vista to realize, "Hey! People play games on their PCs!" ;)<br>I have an ULTRA UPC. Hopefully they come out with Vista drivers in my lifetime.</p>
message: <p>And also add this:<br>Please don't install some useless softwares or trial applications on your hardware.<br>I just received a Dell laptop for my sister from states. It's full of useless small applications (high speed internet, dial up mode manager, etc) as well as 30 (or 90, I can't remember) days Office 2003 trial. I can install whatever I want or at least I should have a choice to ask you to install these apps for me for free. For almost 2-3 hours I was uninstalling these apps for my sister to let her study for her exams.</p>
message: <p>I don't like it when software automatically installs itself in the system tray. I have about 20+ icons down there now and only use a few of them. Its totally retarded and defeats the purpose of having a system tray.<br></p>
message: <p>What about<br>#0 The hardware belong to me, not to you.<br>Provides the specifications of the piece of hardware that I just bought so I can use it in any way I want (writting my own driver for any OS). I own the hardware and I should be able to use it.</p>
message: <p>I'm only too happy to see I'm not alone in this :)<br>I recently bought a Packard-Bell that would have been pretty decent if it wasn't for the crappy OEM version of XP that came with it, crippled down by all sorts of totally useless bells and whistles, and NO backup tools...<br>Bad thing is, the dorks that are ultimately responsible for selling us this sort of crap will never be influenced one bit by ranting -- we really have to do something about it, like keeping a list of offenders as suggested above. Those fatcats will only be impressed by their sales curve going down.</p>
message: "<p>Don't know if you meant to, but you kind of relegated everyone's negative comments to a kid who's cat died. The term \"ad absurdia\" springs to mind :).<br>I'm one of those grieving geeks :).<br>My issue isn't with the sound of the train, if you will, nor is it FUD. My thoughts are more along the line of ... \"why\"?<br>Bertrand summarized it to me nicely: \"because it makes tedious reflection tasks a snap\". Yay! That's a great reason and I like it. But why is the focus on addressing Reflection? I know this will make someone cranky - but it's how I roll :) - usually when people Reflect on things it's because they're trying to spin up some magic...<br>That's why I use it (and abuse it). Dynamic languages don't need to worry about this - code gymnastics (and contortions) are built in - it's the fabric of the experience.<br>Trying to work a static, typed, compiled language into that experience is... well it's weird. C# is awesome in so many ways but if I want MethodMissing well... you know what I'm thinking.<br>It's like that time we went to a strip club and we ended up at Chippendale's. I wanted to go, you wanted to stay and you said \"look - there's a cross-dresser... just don't worry about what's underneath\".<br>OK that didn't really happen but in a really NSFW way - well that's the kind of thing that's crossing my mind. <br>But - to back you up a bit - Cheese Moving is hard. But it doesn't mean that the Cheese has been moved properly :).</p>"
message: <p>There's an eighth stage where you begin to question the language keyword once again and wonder if maybe there isn't a better way to do that. Usually only language designers or LISP (and maybe Ruby) programmers get to that stage though.</p>
message: <p>My problem with dynamic is "people can abuse it and people will". I have seen projects written by people whose intelligence seems to be comparable with one-celled organisms.<br>While lambdas and generics are hard to really abuse and such people do not use them anyway, dynamic is really simple to use incorrectly. For example, why learn and care about interfaces, if you can call a specific method on any instance?<br>And then someone gives you such project and asks estimate on required changes.<br>(I like the dynamic dispatch, however).</p>
message: "<p>I would disagree that the dynamic keyword simply \"makes reflection easier.\" In my mind, there are two simple reasons why the dynamic keyword exists: 1) Dynamic Language interop (calling out to IronPython, IronRuby, [insert_some_other_dlr_lang_here]) and 2) COM Interop (perhaps better read as \"Office Interop\"). <br>When it comes to interop'ing with COM, it's a very powerful feature. When it comes to interop'ing with dynamic languages, it's also a very powerful feature. Outside of that? Not so much. <br>Will it be abused? Absolutely it will! But that's true of almost every technology \"improvement\"/\"feature\". A feature isn't evil by itself simply because it can be used for evil. Are computers evil because terrorists can use them to coordinate their actions? That's a bit of a tangent though that is better suited for discussion over beers :). <br>What's my personal take on this feature? While I see its usefulness in places, my reaction is honestly one of fear. Not fear of the dynamic language itself, that's not the problem. It's the fear that C# as a language is becoming more of a \"jack of all trades, master of none\" with each successive release. There is something to be said for a simple, elegant language that focuses on a specific scenario (or category of scenarios) and does them exceedingly well. <br>Compare .NET land with the JVM space. Adoption of new languages built on the JVM is an increasingly popular paradigm on \"the other side of the forest\". Look at the growing popularity of Scala, Groovy, Clojure, etc. The most powerful languages are powerful because they minimize the amount of cognitive dissonance that is present when people learn to use the language. In other words, their concept count is low. Smalltalk and LISP are excellent languages that exhibit this aspect. Unfortunately, they didn't exactly \"win\" in the language space (though that can be explained by many other factors outside of language design). <br>So, long story short, I fear that C# is introducing more and more concepts that a \"new\" C# developer (or even existing C# developers) need to know in order to be efficient. What if it continues to be an excellent general purpose language that is truly \"general\" purpose and doesn't particularly excel at anything?</p>"
Oops, something went wrong.
Use n and p to navigate between commits in a pull request.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.