Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Discussions

William Kempf wkempf
  • Think for ​yourselves..​.

    blowdart wrote:
    
    JChung2006 wrote:
    
    Making a profession easier to practice makes the practitioners better.  Simplifying a task makes it less prone to error.  The more complicated a task is, the more likely you will screw it up, no matter how good you are.


    Except at the end of the day programming really isn't hard. The hard stuff is the design and thought around it; the integration with business needs, scalability, and so on. Things that cannot be taught out of books or followed by recipes. In the same way that medicine is not about "you have symptom X you are suffering from Y", it cannot truly be simplified in that sort of way.

    Code monkey work on the other hand might be easily simplified, except the amount of *bad* advice on google has already put paid to that.


    Can't agree.  Programming is NOT easy, and not for those not dedicated and with some apptitude.  Here's a great example: http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html.  The "best and the brightest" have been coding a simple algorithm incorrectly for years.

    I agree that we should be trying to simplify our profession.  I don't agree that we'll be able to simplify it enough to lower the entry level requirements, at least in any reasonable time frame.

    You certainly don't need a degree.  Some of the best developers I've worked with have not had degrees.  However, they did lean heavily on those of us who did have degrees for many tasks that they didn't have formal training to handle.  Not that we didn't rely on strengths they had either.  My point is that dismissing a degree as a "pointless piece of paper" is as short sighted, and wrong, as dismissing a potential employee because they don't have a degree.

  • The One True Church of Vista

    Where's the ignore button?  Please!

  • Think for ​yourselves..​.

    Rossj wrote:
    
    wkempf wrote:
    
    Chinmay007 wrote:
     wkempf,

    You are free to your opinion, but calling people like Rossj a troll is incredibly immature.


    Ya know, I didn't call him a troll.  Go read what I said again.  I stand by what I said, and I believe the thread in question bears it out.  To be honest, I didn't check who started the thread when I followed your link.  Knowing other things he's posted here, I'm confident his intent was not to troll.  But the post itself was certainly of the caliber of many troll posts.  In this case, it's actually a frustrated rant,


    Exactly true, frustrated rant trying to make a point about Windows being all things to all people, but put across so annoyingly badly (in my despair) that it turned into a bad thread - if, indeed, it didn't actually start out as one.

    I post threads like that from time to time because I get incredibly frustrated with Windows and Microsoft, and C9 is the only outlet I have for that frustration where I would hope there are people to calm me down


    And, if kept to some degree of modicum (I think you did in that post, which is why I described it the way I did), then I don't think there's anything wrong with occasional rants.  It can be productive.

    There's just two things for me to say about it, though.

    1.  With the prevelance of trolls we have now, such rants are much more likely to be taken wrong and less likely to produce any meaningful discussion, as that thread illustrated.

    2.  The thread is still not any indication of the hypothesis in question Smiley.

  • Think for ​yourselves..​.

    Chinmay007 wrote:
     wkempf,

    You are free to your opinion, but calling people like Rossj a troll is incredibly immature.


    Ya know, I didn't call him a troll.  Go read what I said again.  I stand by what I said, and I believe the thread in question bears it out.  To be honest, I didn't check who started the thread when I followed your link.  Knowing other things he's posted here, I'm confident his intent was not to troll.  But the post itself was certainly of the caliber of many troll posts.  In this case, it's actually a frustrated rant, but you can't go off like that and not expect the thread to degenerate.  Especially given the infestation that C9 has with Microsoft bashers and trolls.

    However, this still doesn't help you with your attempts to show blind Microsoft drones attacking anyone who supports the "competition."

  • Think for ​yourselves..​.

    Chinmay007 wrote:
     PaoloM, wkempf:

    Of course this isn't scientific or anything , but I'm seeing no problem finding negative posts on this forum and very hard time finding anything positive.

    http://channel9.msdn.com/ShowPost.aspx?PostID=325204


    This one is negative, but balanced and accurate.  More important, it's posted by someone who owns an Apple, and thus can hardly be considered as an example of W3bbo's point.  I mean, come on, there's stuff a lot more negative than that posted about Microsoft products on a daily basis here.

    Chinmay007 wrote:


    I don't get why you think this one relates?  It's not about any of the "competition."  Granted, it's attacking Scoble, and as such I don't think it too appropriate for here, but sorry, this one doesn't back up your claims.

    Chinmay007 wrote:


    Even more confused than the last.  This is negative only because the guy needs some help.  And it's with a Microsoft product, not with a competitors.  This is actually evidence of the opposite of what is being claimed.

    Chinmay007 wrote:


    Heh?  This is strictly about the next version of C9.  Unrelated.

    Chinmay007 wrote:


    The post is neutral.  One reply is strictly negative.  Two replies a pro some alternative, but neither alternative is a Microsoft product, and neither of these is negative to Yahoo! Messenger.  Two replies are negative towards Microsoft technologies.  Sorry, this is not evidence.

    Chinmay007 wrote:


    OK, this one is full of negativity.  I personally don't think it's an example for your cause though.  Why?  Because it starts out so negative towards Microsoft that it's basically a troll post (hard to tell if trolling was the intent of the original poster, but it was so negative that the end result could only be the same).  Given that you start out this badly, there's little where else a thread can go.

    Chinmay007 wrote:


    I see no negativity here.  More importantly, there's no mention of any Microsoft technology or even any technology that Microsoft competes with.

    Chinmay007 wrote:


    Dupe.

    Chinmay007 wrote:


    Linux troll post.  Anything in there is fair game, or irrelevant depending on how you think trolls should be dealt with.  Sorry.

    Chinmay007 wrote:

    That's just on the first two pages.

    Now to compare Ubuntu Forums's Coffeehouse:

    http://ubuntuforums.org/showthread.php?t=499757
    http://ubuntuforums.org/showthread.php?t=495840
    http://ubuntuforums.org/showthread.php?t=500497
    http://ubuntuforums.org/showthread.php?t=500958
    http://ubuntuforums.org/showthread.php?t=431978

    Yes so it has it's fair share of negative posts. Only one I noticed is for something other then Ubuntu (the PS3). Which is funny cause I thought Linux users are suppose to be really negative towards Windows.


    These posts are cherry picked from both sites.  I'm willing to bet I can find equivalent posts on either site (barring the troll posts).

    You stil haven't found a single example to prove your point though.  Unless your point is unrelated to the topic on hand.  Just to be clear, you need to find enough posts that show community members attacking and/or dismissing technologies that Microsoft competes with.  More importantly, they should be doing so with no knowledge of the "other side" or without stating reasons why they prefer the Microsoft tech.

    Responses to trolls don't count.  I could go into Ubuntu forums and troll there, and I bet the responses to me would be magnitudes worse than what you see here.

    If your point is more about just a general negative "vibe" here, yeah, there is one.  Guess who's at fault for that?  Just a hint, it won't be anyone that W3bbo was ranting about.  We're back to the trolls and Microsoft bashers for that.

  • Think for ​yourselves..​.

    Chinmay007 wrote:
     wkempf,

    His point is that people here are overly dismissive of anything not made by Microsoft. In fact it seems like there are more threads being made to dismiss something made by "the competition", then there is actual Microsoft content. It's depressing and ignorant. This is a Microsoft technology forum not an lets put down anything not made by Microsoft forum.


    And my point, is that I've never seen this.  Show me the proof.

  • Thread Safe Singleton Pattern - C# ???

    stevo_ wrote:
    Mmm, I disagree -

    1. The static ctor is only lazy in the sense the singleton only exists when you access its type, but the lazy initialization that was suggested, initializes the singleton when the instance is first called.. the difference in this is that you may have shared methods on the type that don't nec need the singleton instance.

    2. I thought double check locking was the only way to safely access objects that may be used by multiple threads.. is it really true that you can't say for sure they work? why do we even bother then?

    And I don't really agree with your argument against the singleton, using names like 'global variable' to describe it, makes it sound very ugly, when it isn't like that at all...


    1.  You can achieve this easy enough, _IF REQUIRED_, by using an internal static class to handle the instantiation of the specific object.

    2.  The only way to safely access objects that may be used by multiple threads is by using a synchronization primitive.  DCL isn't a primitive.  It's a poorly designed pattern meant to optimize the synchronization when an object will be read many times but written to only once.  The problem is, this pattern only works on architectures with a specific memory visibility model.  There are architectures that do not have this visibility model, and the DCL pattern leads to a race condition that can cause multiple threads to "initialize" the data, possibly leading to memory corruption or other errors.  If you're writing portable code, or don't have a guarantee about the memory model for your target architecture, you should never use the DCL.  I do not believe the CLR makes any gaurantees here, so you shouldn't use the DCL.  The reality is that, today, on x86 architectures using the Microsoft supplied CLR, the DCL is "safe."  But for all of the reasons I just gave, including the fact that future x86 architectures could well change the memory model, I simply can not recommend anyone use this pattern.  Trust me, you're better off forgetting this pattern exists.  Even the originator of this pattern acknowledges the problems and short comings of it now.

    Oh, and I'm sorry, but a Singleton IS a variant on a "global variable".  I'm not saying there's not a place for a Singleton, or any form of "global variable" for that matter.  I'm saying there are real issues that must be considered when you choose to use one, and in general they are used far more often than they need to be, or should be.  Consider alternate designs first.  If the singleton is still your best option, fine.  But that really isn't the case very often.

  • Think for ​yourselves..​.

    W3bbo wrote:
    Without naming names, I think it's worth pointing out there's a sight too many near-blind Microsoft bítches, people who seem to follow Microsoft as if it were the Christ. You know who you are.


    Who peed in your wheaties?  Seriously, W3bbo, this doesn't sound like you.

    W3bbo wrote:
    You should stop ignoring the competition (from all angles be it ideological alternatives like GNU vs Permissive vs Propriety, or alternative implementations like FreeBSD or OSX).


    Who's "you?"  My experience is that the majority of the folks on here do have some experience with the "competition."  Those that obviously don't are usually Linux trolls.

    W3bbo wrote:
    For instance, those extolling the virtues of C# in education, whilst ignoring Java's advantages and other "real-world" problems where Java is best suited over C# (the CLR is not a strict superset of the JVM). You people are more advocational than Microsoft's own employees, even those of the NIH variety. Microsoft's own developers have said they use emacs or vim over VS; so how can you pímp VS like it's a panacea for any development ail. Different people have different requirements.


    1.  I once recommended Java to my alma mater as the introductory language.  I know believe this was a huge mistake.  First, I think it's wrong to start with an OOP language.  Second, I think Java is a poorly designed language, and recent changes have actually made it worse.  That's at the language level.  At the library level it becomes much worse.  Definately don't teach that stuff to first years.

    2.  Recommending any widget over any whatsit does not mean the person doing the recommendation has no idea what a whatsit is, or the pros/cons of using a whatsit over a widget.

    3.  This is a Microsoft community.  It's natural that the majority of the folks on here are going to recommend a Microsoft solution.  Nothing surprising or even wrong with this.

    W3bbo wrote:
    Kill your neowin RSS feed and subscribe to something less Microsoft orientated. MS is but one company in an ecosystem, why are you ignoring the other big players like IBM, Sun (they do more than Java y'know), and Oracle?


    I know you weren't addressing me, but I'll respond as you were, because I do advocate Microsoft technologies on here.

    Hmm... I subscribe to somewhere in the neighborhood of 100 feeds.  Neowin ain't one of them.  One is C9 and another is SlashDot.  One is a Mono agregated feed (so it actually is more than a single blog).  Another is a Linux agregated feed.  Yet another is a Gentoo agregated feed.  Yet another is a SUSE agregated feed.  Another is Lambda the Ultimate.  With nearly 100 feeds, I could go on, but I think you get the point.

    I've used every release of DOS and Windows (and I mean every release).  I've used Mandrake, RedHat, SUSE, Gentoo and Lindows on machines at home.  And not just to "play" with them, or to see what they were like.  Heavy duty use on all of this, including coding on every single one.  Back in the day I also used Xenix at home.  And that's just personal.  Professionally you can add AIX and a few other commercial Unix derivatives.  Academically I also used VMS.

    For languages, I've used: C, C++, Pascal, Fortran, Lisp, COBOL, Basic (many variants), Logo, Prolog, Java, C#, Python, Ruby and several Assembly languages.  I'm proficient to expert in C, C++, Java, C#.  I've used Python and Ruby professionally, and I'd probably consider myself above proficient in them as well, though I've not done as much large scale coding them.

    My point is that personally I'm very well rounded in my knowledge and experience with the "competition."  I don't know the experience of every single person posting here, but I assume some knowledge by what they've said.

    W3bbo wrote:
    Ultimately you're hurting everyone you prosetylze, if you're successful in your evangelism then you're limiting your convert's employment propects. There are next to zero MS-only shops, it's in everyone's interest to become familiar with "foreign" technology. I already regret not getting to grips with Linux earlier on in life, for example.


    The "Pragmatic Programmer" point of view.  I totally agree with that.  But I don't agree that recommending a tool, for what ever reason, is wrong or will lead to "limiting your convert's employment prospects."  That's an extremist result.  Not pragmatic at all.

    W3bbo wrote:
    Microsoft is a publically traded company, its loyalties are to the shareholders, not customers or partners. It just so happens that the
    best way to please the shareholders is by making software good enough that it sells, not excellent or boutique software though. It's kind of like evolution via natural selection, changes are passed down only if the organism can reproduce succesfully, nothing else matters (so bachelor academics are dooming the human race whilst idiots reproduce like rabbits). Point is, there's very little incentive to create an "excellent" product, even less so when you already have a de-facto vertical monopoly with little competition in the same marketspace.


    True in the abstract.  But you're not talking abstract.  You're talking specifically about language selection.  There Microsoft hardly has a "defacto vertical monopoly with little competition."  In fact, though C# and .NET are some of the top skills sought in the job market, they aren't the lead.  Java probably has a slight lead, and C++ still holds the top spot.  COBOL probably is even just slightly behind.  IOW, no monopoly.  Microsoft has to compete here.  Good enough is not really good enough.  And, in point of fact, they are arguably better designed than Java.  I say this, having several years of professional experience with both, but more experience with Java.

    W3bbo wrote:
    So tone it down. Recommend Microsoft or any other's products when appropiate, but consider Microsoft (and any other company/organisation/rag-tag team of hippies) is not perfect. Don't recommend one product with "two thumbs up" without judging it in cimparison to the competition. (So don't diss Java without using it for as long as you've been using the CLR, for example. Or Expression without trying Creative Suite.


    I really don't know who you're specifically ranting at.  You may have a point with someone specific.  However, it's just as likely you're making some assumptions about someone's experience and because their opinion is different from your own you're sure it's because they are clueless.  If you're going to post something this harsh (tone it down, and it would have been a good "lesson" post), you'd better have proof.

    So, have I convinced you to calm down yet?

  • Thread Safe Singleton Pattern - C# ???

    staceyw wrote:
    

    The static method is simple and works.  But sometimes you may need to init the singleton lazy or use a ctor with parms you don't have until after some event.  Here is the way to lazy init a singleton. Actually not much more work then the static method. This also gives you option of poking in another singleton for future callers while letting the last singleton drain.  This may be needed for dynamic runtime config changes without needing to restart the whole app, etc.

    public sealed class Singleton
    {
        private static Singleton value;
        private static object syncRoot = new Object();
        private Singleton() { }

        public static Singleton Value
        {
            get
            {
                if (Singleton.value == null)
                {
                    lock (syncRoot)
                    {
                        if (Singleton.value == null)
                        {
                            Singleton newVal = new Singleton();
                            // Insure all writes used to construct new value have been flushed.
                            System.Threading.Thread.MemoryBarrier();
                            // Publish the new object;
                            Singleton.value = newVal;
                        }
                    }
                }
                return Singleton.value;
            }
        }
    }



    1.  He already pointed out that the static constructor is done lazily.  No need for this for that reason, though your point about providing construction parameters may hold (though that's a weird concept with singletons... to be valid you'd have to construct with the same parameters every time, which means you might as well put it in with the construction).

    2.  This is the DCL (Double-Checked Lock) pattern.  As pointed out already, it's broken under many architectures.  I don't believe the CLR makes any gaurantees in this case, so I wouldn't recommend the pattern.

    That all said, I also would discourage the singleton pattern.  It's over used, and is often the wrong solution.  A singleton is a type of global variable, and global variables have all sorts of design issues, especially when writing multi-threaded code.

  • Student's suspension for IM buddy icon upheld by US court

    nightski wrote:
    
    wkempf wrote:
    
    Skriker V1.0 wrote:
    http://www.theregister.co.uk/2007/07/12/im_aim_icon_suspension/

    This is quite extreme.. what happned to Freedom of speech and expression!!!



    This is hardly extreme.  What's extreme is what so many people think "freedom of speech" means.

    1.  Just because there are things you can't say in do in certain situations, such as at work, does not mean you have no freedom of speech.

    2.  Not all speech is covered under the concept of free speech.  For example, slander and exciting to riot.  If the kid had an AIM icon that showed a gun shooting a specific teacher in the head, he's lucky he only got suspended.  This could be construed as a threat, and much harsher legal actions could have, and probably should have been taken.

    The "Bong hits for Jesus" case was a little extreme.  This one is not.


    I am confused.  The article apparently says he got suspended because of the AIM icon he used while at home?  This is really bad, I can't find any justification for the ruling.  I mean if he was using the icon while on a school computer then I understand.  But now schools have authority over what you say at home?


    Ooookay.  Teach me to only read half an article and then comment.  This one as basically as gray as the Bong one, then.  At least in so far as the school suspension is concerned.  However, it's an even better illustration of what I was saying about disregarding responsibilities in the name of "my rights".  The kid did screw up.  And I still think there should have been consequences to his action.