Archives

Archives / 2004 / June
  • Developer snobbery is bad for everyone

    Inspired by a comment left by Jerry Pisk, I find it disturbing that people can get all worked up over the fact that Microsoft is releasing tools (or I should say, has released tools for years) that cater to less skilled developers. Jerry's comments about "programmer wannabes" reek of developer snobbery.

    You would think by now that this mentality would have gone away, but clearly it hasn't. I remember computer enthusiasts in the early 90's that thought they were better than everyone else because they knew their way around a DOS prompt and didn't need Windows. In fact, you still get that from Linux geeks.

    Programmers are guilty of it too. I'd say Visual Basic people in particular have been fighting this for years, as critics suggest that anything too easy to use isn't real programming. I've seen some people go as far as saying that writing managed code on .NET is inferior because you're not manipulating memory the way you would in C++.

    What's that all about? There are two reasons that I find these comments annoying. The first is that 99% of programming tasks don't require the kind of performance that C++ will give you. The second is that VB and managed code allow us to write software faster, in a world where time is money. Tools like Visual Studio also help in this goal.

    Yes, I understand that some people might be offended by the use of drag-and-drop visual programming. Get over it. While I personally don't use it, I can see where the two people that consist of a company's entire IT staff can use it and get what they need out of it. Ditto for the users of the new Express products.

    It would be more constructive for everyone if the snobs would mentor and guide the “n00bs” instead of dogging them and the products they use. Thumping your chest and inviting people to test your testicular fortitude is not a good use of your time. This is a subject near and dear to me, not only because of the training and consulting I've done, but because of the book I'm writing. My audience is not stupid or ignorant, but they are eager to learn.

    What are you doing to make the developer community better?

    Read more...

  • Would you like to save a dump?

    One of the things I do “on the side” is compress video for delivery on the Web. Given my television background B.P. (before programming), it seemed like a natural fit to get into it.

    The software I use is Cleaner, which is now owned by Discreet. Cleaner 5 was a great product. I personally use it with the Sorenson Video codec to squeeze out high-quality QuickTime. If it's good enough for movie trailers, it's good enough for me. Cleaner 5 had a great interface and great output.

    Then, I think more than a year ago now, some clever idiot decided to diverge the product lines. Cleaner 6 would appear only for the Mac with the tried and true interface, and Windows would get Cleaner XL, a totally new product. The positives were that it encoded almost twice as fast as Cleaner 5, and it was written in .NET (not a feature, but kinda cool at a time when you didn't see a lot of commercial desktop .NET apps).

    The bad part is that the software is pure shit with an illogical interface that never works. Even after two service packs, I can't get it to even run anymore. When I try to launch the program, I get, “Cleaner has crashed. Would you like to save a dump?” No thanks, I'd rather flush it down the toilet. That's where my dumps go.

    I guess at this point I'm going to have to explore Sorenson Squeeze because it won't ask me if I want to save my dumps. Anyone have any experience with the tool?

    Read more...

  • Are Slashdotters really 99% ignorant?

    Every once in awhile I'll pop over to Slashdot to see what the peeps have to say about something newsworthy. At the very least you can find some Gates-hating to laugh at. I can't for the life of me figure out the structure of their comment system (I am, after all, a mindless drone .NET developer), but I found some choice comments.

    “MS are worried that the windows platform is hemorrhaging developers to linux/OS X platforms.”
    That's a pretty good one. Call me crazy, but the recruiters call now more than ever, and we're shipping people in from all over the world to fill .NET jobs in the Greater Cleveland area. Maybe his definition of “hemorrhaging” is different than mine.

    “Actually this is a move to knock out DevC++, gcc, Eclipse, and Netbeans.
    The more you get people to use "windows only" solutions the better microsoft feels.
    They know it is all about the developers and want to lock them down as hard and as fast they can.”

    I'm sure that last part was at the front of Rob Howard's mind the last few years, right? I'm sure that most folks at Microsoft just want to deliver the most kick ass software they can. That's what drives them. The real benefit to Microsoft is that they sell server licenses. I think it has always been about server licenses, thus the move to build inexpensive IDE's.

    “Still, it's clear from these 'express' editions that MS is worried by the number of free alternative IDEs that are springing up - in particular Eclipse.”
    Yes, because people are flocking en masse to Eclipse to build .NET apps. Clear, right! I'm guessing that this guy thinks developers are willing to change platforms and languages like they change their underwear everyday. I've never understood this mentality. I know enough about Java to think it's pretty cool, but why the hell would I want to learn it when I'm working to be an expert in .NET? I wouldn't want to hire someone average at a lot of things, I'd want someone to be an expert for what I need.

    “Will the EULA allow development of commercial products? Lots of "hobby" or "student" projects end up for sale or as shareware. Will people making that switch then have to buy the real thing?”
    Is it that hard to read that this is beta software? If these people understand software development so well, you'd think they'd understand why Microsoft wouldn't want the beta framework floating about. Then again, I'm assuming they understand what the .NET Framework is.

    “Microsoft are attempting to lock students in, probably even before they hit tertiary education.”
    Again, obviously not familiar with the culture. Students have been using the full Visual Studio in a lot of programs, and getting it cheap. That certainly won't change. Oddly enough, I think the guy that made this comment was the same guy that said you can change-up platforms at any time. Lock-in... sure, that's it.

    “Free compilers, what a concept?”
    Yeah, one we got like four  years ago.

    “I'm still aghast at the number of developers who think that they need Visual Studio, or any IDE for that matter, to develop in .NET/Java/whatever.”
    Amen. I want to go back to the days of DOS. I don't need a mouse either. Batch files rule. In fact, I think I'll brush up on my assembler because that's what real programmers do. I've got all the time in the world and my clients understand if it takes a long time to build a product.

    Normally I don't even entertain this kind of nonsense, but it's like me trying to talk about biochemistry (I would have no idea what I'm talking about). Enjoy the laughs. I'm sure you've got to get back to writing great software.

    Read more...

  • The good and slightly not good about Visual Web Developer Express

    Let me start by saying it's great to see the excitement bubbling out of Microsoft from the various teams involved with the new Express products. As a customer, I think you can only feel good about the pride that 'Softies are putting into these new bits. After using the pre-beta builds of VS 2005 now for about three or four months, I was already impressed.

    I first heard about the low-cost IDE's I think in March. My first thought was, “It's about time,” because the barrier of entry into the Microsoft programming world has always been non-affordable tools. I thought I'd give the Visual Web Developer Express beta a look-see to see just what the “hobbyists” and “n00bs” could do.

    The first and biggest surprise was that full Intellisense is maintained, just as it is in VS 2005. Outstanding! The “code-beside” model is leaps and bounds ahead of the old-style code-behind, and it's almost OK to use the inline code blocks now. Almost...

    What I don't like is that you can't do compiled class libraries. I guess this topic is near and dear to me because the focus of my book is to get people to harness the power of an object-oriented platform to build applications “right.” It's not that you can't write classes for use across the app (now the .cs or .vb class files go in the /code folder), but you certainly can't reuse them in compiled assemblies. I think that's kind of a bummer.

    It seems to me that Microsoft struggled with how to position these products and what to include or not include. The upside of the product is that, without question, it's powerful and makes building Web apps easier than it ever has been, and normal people can afford it. My only beef is that it kind of allows developers to do things “old school,” something I've been trying to get people to not do via training and now this book. I think it's a philosophical concession to allow what isn't far from the old script days, but I do understand the business decision to allow it.

    I don't think my issues will lessen the value of the new products, but it's certainly an area of concern. I guess the real test is to see if they revise the pricing on Visual Studio itself, as well as things like MSDN subscriptions. I've heard that might be a consideration as well. I know that personally I'd get a subscription again if it were under a grand.

    Read more...

  • Viewstate of the day: GDN

    Here's today's crazy viewstate, brought to you by the GotDotNet.com home page!

    dDwyMDY4MTQ0OTQ4O3Q8O2w8aTwwPjtpPDE+Oz47bDx0PDtsPGk8MT47aTwyPjs
    +O2w8dDw7bDxpPDA+Oz47bDx0PEA8R290RG90TmV0OiBUaGUgTWljcm9zb2Z0IC5
    ORVQgRnJhbWV3b3JrIENvbW11bml0eTtcZTtcZTs+Ozs+Oz4+O3Q8QDxcZTtcZTs+Oz
    s+Oz4+O3Q8O2w8aTwwPjtpPDQ+O2k8Nj47PjtsPHQ8O2w8aTwxPjtpPDM+O2k8Nz4
    7PjtsPHQ8O2w8aTwwPjs+O2w8dDw7bDxpPDM+Oz47bDx0PDtsPGk8MT47aTwzPjtpP
    DU+O2k8Nj47PjtsPHQ8cDxwPGw8Rm9udF9TaXplO18hU0I7PjtsPFN5c3RlbS5XZWIuV
    UkuV2ViQ29udHJvbHMuRm9udFVuaXQsIFN5c3RlbS5XZWIsIFZlcnNpb249MS4wLjUw
    MDAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iMDNmNWY3Z
    jExZDUwYTNhPFhYLVNtYWxsPjtpPDEwMjQ+Oz4+Oz47Oz47dDxwPHA8bDxXaWR0
    aDtfIVNCOz47bDwxPDIwMHB4PjtpPDI1Nj47Pj47cDxsPG9uS2V5UHJlc3M7PjtsPGphd
    mFzY3JpcHQ6U3VibWl0U2VhcmNoX2N0bDFfU2VhcmNoQm94MSgpXDs7Pj4+Ozs+O
    3Q8cDxsPG9uQ2xpY2s7PjtsPGdvU2VhcmNoX2N0bDFfU2VhcmNoQm94MSgpXDs7Pj
    47Oz47dDxAPF9jdGwxX1NlYXJjaEJveDE7X2N0bDFfU2VhcmNoQm94MV9UZXh0Qm
    94UXVlcnk7L1NlYXJjaC9TZWFyY2guYXNweDtfY3RsMV9TZWFyY2hCb3gxO19jdGw
    xX1NlYXJjaEJveDE7Pjs7Pjs+Pjs+Pjs+Pjt0PDtsPGk8MD47PjtsPHQ8O2w8aTwwPjs+O2
    w8dDw7bDxpPDE+Oz47bDx0PHA8bDxfIUl0ZW1Db3VudDs+O2w8aTw1Pjs+PjtsPGk8
    MD47aTwxPjtpPDI+O2k8Mz47aTw0Pjs+O2w8dDw7bDxpPDE+O2k8Mz47aTw1Pjs+O
    2w8dDxwPDtwPGw8b25DbGljazs+O2w8ZXhwYW5kaXQoJ19jdGwxX1JpZ2h0TmF2aW
    dhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGwwX1NlY3Rpb25QYW5lbCcpOz4+PjtsP
    Gk8MD47PjtsPHQ8cDxwPGw8SW1hZ2VVcmw7PjtsPC9pbWFnZXMvbGVmdG5hdl9hc
    nJvd3VfbmV3LmdpZjs+Pjs+Ozs+Oz4+O3Q8cDxsPG9uQ2xpY2s7PjtsPGV4cGFuZGl0K
    CdfY3RsMV9SaWdodE5hdmlnYXRpb25NZW51X01lbnVTZWN0aW9uc19fY3RsMF9TZ
    WN0aW9uUGFuZWwnKTs+Pjs7Pjt0PHA8O3A8bDxzdHlsZTs+O2w8ZGlzcGxheTpibG9
    ja1w7Oz4+Pjs7Pjs+Pjt0PDtsPGk8MT47aTwzPjtpPDU+Oz47bDx0PHA8O3A8bDxvbkN
    saWNrOz47bDxleHBhbmRpdCgnX2N0bDFfUmlnaHROYXZpZ2F0aW9uTWVudV9NZW
    51U2VjdGlvbnNfX2N0bDFfU2VjdGlvblBhbmVsJyk7Pj4+O2w8aTwwPjs+O2w8dDxwPH
    A8bDxJbWFnZVVybDs+O2w8L2ltYWdlcy9sZWZ0bmF2X2Fycm93ZF9uZXcuZ2lmOz4
    +Oz47Oz47Pj47dDxwPGw8b25DbGljazs+O2w8ZXhwYW5kaXQoJ19jdGwxX1JpZ2h0T
    mF2aWdhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGwxX1NlY3Rpb25QYW5lbCcpOz4
    +Ozs+O3Q8cDw7cDxsPHN0eWxlOz47bDxkaXNwbGF5Om5vbmVcOzs+Pj47Oz47Pj47
    dDw7bDxpPDE+O2k8Mz47aTw1Pjs+O2w8dDxwPDtwPGw8b25DbGljazs+O2w8ZXhwY
    W5kaXQoJ19jdGwxX1JpZ2h0TmF2aWdhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGwy
    X1NlY3Rpb25QYW5lbCcpOz4+PjtsPGk8MD47PjtsPHQ8cDxwPGw8SW1hZ2VVcmw7
    PjtsPC9pbWFnZXMvbGVmdG5hdl9hcnJvd2RfbmV3LmdpZjs+Pjs+Ozs+Oz4+O3Q8cDxs
    PG9uQ2xpY2s7PjtsPGV4cGFuZGl0KCdfY3RsMV9SaWdodE5hdmlnYXRpb25NZW51X
    01lbnVTZWN0aW9uc19fY3RsMl9TZWN0aW9uUGFuZWwnKTs+Pjs7Pjt0PHA8O3A8b
    DxzdHlsZTs+O2w8ZGlzcGxheTpub25lXDs7Pj4+Ozs+Oz4+O3Q8O2w8aTwxPjtpPDM+O
    2k8NT47PjtsPHQ8cDw7cDxsPG9uQ2xpY2s7PjtsPGV4cGFuZGl0KCdfY3RsMV9SaWd
    odE5hdmlnYXRpb25NZW51X01lbnVTZWN0aW9uc19fY3RsM19TZWN0aW9uUGFuZW
    wnKTs+Pj47bDxpPDA+Oz47bDx0PHA8cDxsPEltYWdlVXJsOz47bDwvaW1hZ2VzL2xlZ
    nRuYXZfYXJyb3dkX25ldy5naWY7Pj47Pjs7Pjs+Pjt0PHA8bDxvbkNsaWNrOz47bDxleH
    BhbmRpdCgnX2N0bDFfUmlnaHROYXZpZ2F0aW9uTWVudV9NZW51U2VjdGlvbnNfX2
    N0bDNfU2VjdGlvblBhbmVsJyk7Pj47Oz47dDxwPDtwPGw8c3R5bGU7PjtsPGRpc3BsYX
    k6bm9uZVw7Oz4+Pjs7Pjs+Pjt0PDtsPGk8MT47aTwzPjtpPDU+Oz47bDx0PHA8O3A8bD
    xvbkNsaWNrOz47bDxleHBhbmRpdCgnX2N0bDFfUmlnaHROYXZpZ2F0aW9uTWVudV
    9NZW51U2VjdGlvbnNfX2N0bDRfU2VjdGlvblBhbmVsJyk7Pj4+O2w8aTwwPjs+O2w8d
    DxwPHA8bDxJbWFnZVVybDs+O2w8L2ltYWdlcy9sZWZ0bmF2X2Fycm93ZF9uZXcuZ2l
    mOz4+Oz47Oz47Pj47dDxwPGw8b25DbGljazs+O2w8ZXhwYW5kaXQoJ19jdGwxX1JpZ
    2h0TmF2aWdhdGlvbk1lbnVfTWVudVNlY3Rpb25zX19jdGw0X1NlY3Rpb25QYW5lbCc
    pOz4+Ozs+O3Q8cDw7cDxsPHN0eWxlOz47bDxkaXNwbGF5Om5vbmVcOzs+Pj47Oz4
    7Pj47Pj47Pj47Pj47Pj47dDxwPHA8bDxUZXh0Oz47bDxHb3REb3ROZXQ6IFRoZSBNaW
    Nyb3NvZnQgLk5FVCBGcmFtZXdvcmsgQ29tbXVuaXR5Oz4+Oz47Oz47Pj47dDw7bDx
    pPDc+O2k8MTE+Oz47bDx0PDtsPGk8MD47PjtsPHQ8cDxsPF8hSXRlbUNvdW50Oz47b
    DxpPDU+Oz4+O2w8aTwxPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PDtsPGk8MD
    47aTwxPjtpPDM+Oz47bDx0PEA8Ni8yNDs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F
    0ZVVybDs+O2w8RjhDb250cm9scztodHRwOi8vRmlndXJlOFNvZnR3YXJlLmNvbS9GOE
    NvbnRyb2xzLmFzcDs+Pjs+Ozs+O3Q8cDxwPGw8TmF2aWdhdGVVcmw7PjtsPGh0dHA
    6Ly9GaWd1cmU4U29mdHdhcmUuY29tL0Y4Q29udHJvbHMuYXNwOz4+Oz47Oz47Pj47
    dDw7bDxpPDA+O2k8MT47aTwzPjs+O2w8dDxAPDYvMjM7Pjs7Pjt0PHA8cDxsPFRle
    HQ7TmF2aWdhdGVVcmw7PjtsPFNuLiBBU1AuTkVUL0MjIFVJIERldmVsb3BlcjtodHRw
    Oi8vd3d3LnlvaGl0LmNvbTs+Pjs+Ozs+O3Q8cDxwPGw8TmF2aWdhdGVVcmw7PjtsPGh
    0dHA6Ly93d3cueW9oaXQuY29tOz4+Oz47Oz47Pj47dDw7bDxpPDA+O2k8MT47aTwz
    Pjs+O2w8dDxAPDYvMjM7Pjs7Pjt0PHA8cDxsPFRleHQ7TmF2aWdhdGVVcmw7PjtsPE
    tpbmV0aWNhUlQgLk5FVCBDb21wb25lbnRzIGFuZCBTb2Z0d2FyZTtodHRwOi8vd3d
    3LmtpbmV0aWNhcnQuY28udWs7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsOz47bD
    xodHRwOi8vd3d3LmtpbmV0aWNhcnQuY28udWs7Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aT
    wxPjtpPDM+Oz47bDx0PEA8Ni8yMjs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZV
    VybDs+O2w8Rm9vbGluZyBWUyB0byBkZXZlbG9wIEFTUC5ORVQgYXBwbGljYXRp
    b25zIGluIGh0dHA6Ly9sb2NhbGhvc3Q7aHR0cDovL3d3dy5ob3d0b2RvdGhpbmdzLmNv
    bS9zaG93YXJ0aWNsZS5hc3A/YXJ0aWNsZT03Mjg7Pj47Pjs7Pjt0PHA8cDxsPE5hdmln
    YXRlVXJsOz47bDxodHRwOi8vd3d3Lmhvd3RvZG90aGluZ3MuY29tL3Nob3dhcnRpY2x
    lLmFzcD9hcnRpY2xlPTcyODs+Pjs+Ozs+Oz4+O3Q8O2w8aTwwPjtpPDE+O2k8Mz47P
    jtsPHQ8QDw2LzIyOz47Oz47dDxwPHA8bDxUZXh0O05hdmlnYXRlVXJsOz47bDxBU1
    AuTkVUIHVwbG9hZGVkIGltYWdlcyBhcyB0aHVtYm5haWxzO2h0dHA6Ly93d3cuaG93
    dG9kb3RoaW5ncy5jb20vc2hvd2FydGljbGUuYXNwP2FydGljbGU9NjgyOz4+Oz47Oz4
    7dDxwPHA8bDxOYXZpZ2F0ZVVybDs+O2w8aHR0cDovL3d3dy5ob3d0b2RvdGhpbm
    dzLmNvbS9zaG93YXJ0aWNsZS5hc3A/YXJ0aWNsZT02ODI7Pj47Pjs7Pjs+Pjs+Pjs+Pjt
    0PDtsPGk8MD47PjtsPHQ8cDxsPF8hSXRlbUNvdW50Oz47bDxpPDU+Oz4+O2w8aTw
    xPjtpPDI+O2k8Mz47aTw0PjtpPDU+Oz47bDx0PDtsPGk8MD47aTwxPjtpPDM+Oz47bD
    x0PEA8Ni8yMzs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZVVybDs+O2w8Q3V
    zdG9tIERhdGFzZXQgRGF0YSBFeHRlbnNpb24gZm9yIE1pY3Jvc29mdCBSZXBvcnRpb
    mcgU2VydmljZXMgKFZCKTtodHRwOi8vd3d3LmdvdGRvdG5ldC5jb20vQ29tbXVuaXR
    5L1VzZXJTYW1wbGVzL0RldGFpbHMuYXNweD9TYW1wbGVHdWlkPTA5Zjc5NW
    FjLWJhMGMtNDNjZS04YTc2LTQ0NTlkZTljMThkYTs+Pjs+Ozs+O3Q8cDxwPGw8T
    mF2aWdhdGVVcmw7VmlzaWJsZTs+O2w8aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL
    0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD0wOWY
    3OTVhYy1iYTBjLTQzY2UtOGE3Ni00NDU5ZGU5YzE4ZGE7bzxmPjs+Pjs+Ozs+Oz4+
    O3Q8O2w8aTwwPjtpPDE+O2k8Mz47PjtsPHQ8QDw2LzIzOz47Oz47dDxwPHA8bDxU
    ZXh0O05hdmlnYXRlVXJsOz47bDwgQyMgRGVtb25zdHJhdGlvbiBQcm9qZWN0IGZvciB
    1c2Ugd2l0aCBLaW5ldGljYVJUIE9QQyBDbGllbnQgLk5FVCBDb21wb25lbnQ7aHR0cD
    ovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzL
    mFzcHg/U2FtcGxlR3VpZD02ZDBhOTc0ZS03NzBmLTQ2OGQtYWE2My01NjNmYWR
    hODJmZjI7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsO1Zpc2libGU7PjtsPGh0dHA6Ly
    93d3cuZ290ZG90bmV0LmNvbS9Db21tdW5pdHkvVXNlclNhbXBsZXMvRGV0YWlscy
    5hc3B4P1NhbXBsZUd1aWQ9NmQwYTk3NGUtNzcwZi00NjhkLWFhNjMtNTYzZmFk
    YTgyZmYyO288Zj47Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwxPjtpPDM+Oz47bDx0PEA8
    Ni8yMjs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0ZVVybDs+O2w8ZGF0YWJhY
    2t1cCAtIEJhY2t1cCBhbmQgcmVzdG9yZSBNcyBTcWwgU2VydmVyIGRhdGFiYXNlczt
    odHRwOi8vd3d3LmdvdGRvdG5ldC5jb20vQ29tbXVuaXR5L1VzZXJTYW1wbGVzL0Rl
    dGFpbHMuYXNweD9TYW1wbGVHdWlkPTRlNmU4YzM4LTUwYjUtNDY1ZC05OD
    hlLTU3ZWM1MjYxYmYwYzs+Pjs+Ozs+O3Q8cDxwPGw8TmF2aWdhdGVVcmw7Vml
    zaWJsZTs+O2w8aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU
    2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD00ZTZlOGMzOC01MGI1LTQ2N
    WQtOTg4ZS01N2VjNTI2MWJmMGM7bzxmPjs+Pjs+Ozs+Oz4+O3Q8O2w8aTwwPjt
    pPDE+O2k8Mz47PjtsPHQ8QDw2LzIxOz47Oz47dDxwPHA8bDxUZXh0O05hdmlnYX
    RlVXJsOz47bDxDdXN0b20gQ29udHJvbHMgOiBJbmhlcml0ZWQgVGV4dENvbnRyb2
    w7aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9E
    ZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD05OGZhZTQ1ZS03M2M1LTQ3MWYtYjExO
    C03M2MxZjI1ZTg1ODY7Pj47Pjs7Pjt0PHA8cDxsPE5hdmlnYXRlVXJsO1Zpc2libGU7
    PjtsPGh0dHA6Ly93d3cuZ290ZG90bmV0LmNvbS9Db21tdW5pdHkvVXNlclNhbXBsZ
    XMvRGV0YWlscy5hc3B4P1NhbXBsZUd1aWQ9OThmYWU0NWUtNzNjNS00NzFm
    LWIxMTgtNzNjMWYyNWU4NTg2O288Zj47Pj47Pjs7Pjs+Pjt0PDtsPGk8MD47aTwx
    PjtpPDM+Oz47bDx0PEA8Ni8yMTs+Ozs+O3Q8cDxwPGw8VGV4dDtOYXZpZ2F0Z
    VVybDs+O2w8QnVpbGQgUnVsZXMgRVg7aHR0cDovL3d3dy5nb3Rkb3RuZXQuY29
    tL0NvbW11bml0eS9Vc2VyU2FtcGxlcy9EZXRhaWxzLmFzcHg/U2FtcGxlR3VpZD1hM
    zMyNmViMy1hNDY4LTRmNjctOTFhOC1mODQ0NjlmYzQ5ZTI7Pj47Pjs7Pjt0PHA8c
    DxsPE5hdmlnYXRlVXJsO1Zpc2libGU7PjtsPGh0dHA6Ly93d3cuZ290ZG90bmV0LmNv
    bS9Db21tdW5pdHkvVXNlclNhbXBsZXMvRGV0YWlscy5hc3B4P1NhbXBsZUd1aWQ
    9YTMzMjZlYjMtYTQ2OC00ZjY3LTkxYTgtZjg0NDY5ZmM0OWUyO288Zj47Pj47Pjs
    7Pjs+Pjs+Pjs+Pjs+Pjt0PDtsPGk8ND47aTwxNj47PjtsPHQ8cDxwPGw8VGV4dDs+O2w
    8wqkgQ29weXJpZ2h0IDIwMDQgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgUmlna
    HRzIFJlc2VydmVkLjs+Pjs+Ozs+O3Q8O2w8aTwwPjs+O2w8dDw7bDxpPDA+Oz47bD
    x0PDtsPGk8MT47PjtsPHQ8cDxsPF8hSXRlbUNvdW50Oz47bDxpPDU+Oz4+O2w8aT
    wwPjtpPDE+O2k8Mj47aTwzPjtpPDQ+Oz47bDx0PDtsPGk8MT47PjtsPHQ8cDxwPGw
    8TmF2aWdhdGVVcmw7SW1hZ2VVcmw7VG9vbFRpcDs+O2w8aHR0cDovL3d3dy5hb
    mdyeWNvZGVyLmNvbTsvdWkvY29tcG9uZW50cy9jb250cm9scy9Db2RlV2lzZS9JbWF
    nZS5hc3B4P21lbWJlcklkPTEwO2FuZ3J5Q29kZXI7Pj47Pjs7Pjs+Pjt0PDtsPGk8MT47Pj
    tsPHQ8cDxwPGw8TmF2aWdhdGVVcmw7SW1hZ2VVcmw7VG9vbFRpcDs+O2w8aH
    R0cDovL3d3dy5hc3BhZHZpY2UuY29tOy91aS9jb21wb25lbnRzL2NvbnRyb2xzL0NvZG
    VXaXNlL0ltYWdlLmFzcHg/bWVtYmVySWQ9MTI4O0FTUCBBZHZpY2U7Pj47Pjs7P
    js+Pjt0PDtsPGk8MT47PjtsPHQ8cDxwPGw8TmF2aWdhdGVVcmw7SW1hZ2VVcmw7
    VG9vbFRpcDs+O2w8aHR0cDovL3d3dy5jb2RlcHJvamVjdC5jb207L3VpL2NvbXBvbm
    VudHMvY29udHJvbHMvQ29kZVdpc2UvSW1hZ2UuYXNweD9tZW1iZXJJZD0zO0Nv
    ZGUgUHJvamVjdDs+Pjs+Ozs+Oz4+O3Q8O2w8aTwxPjs+O2w8dDxwPHA8bDxOYXZ
    pZ2F0ZVVybDtJbWFnZVVybDtUb29sVGlwOz47bDxodHRwOi8vd3d3LmRldnguY29tO
    y91aS9jb21wb25lbnRzL2NvbnRyb2xzL0NvZGVXaXNlL0ltYWdlLmFzcHg/bWVtYmVy
    SWQ9MTk7RGV2WDs+Pjs+Ozs+Oz4+O3Q8O2w8aTwxPjs+O2w8dDxwPHA8bDxO
    YXZpZ2F0ZVVybDtJbWFnZVVybDtUb29sVGlwOz47bDxodHRwOi8vd3d3LmRvdG5ld
    Gp1bmtpZXMuY29tOy91aS9jb21wb25lbnRzL2NvbnRyb2xzL0NvZGVXaXNlL0ltYWdlL
    mFzcHg/bWVtYmVySWQ9MTM7RG90TmV0SnVua2llczs+Pjs+Ozs+Oz4+Oz4+Oz4+O
    z4+Oz4+Oz4+Oz4+Oz4+Oz7HaZ9TtMVnMvFA2LTDoOKjt+xrLA==

    Read more...

  • Invented word of the day: Performant

    I love how someone in the programming community comes up with a word, then before you know it, the word is used more frequently than “the.”

    Take “performant.” The implied meaning is some code or software that performs well. That's a pretty stupid implication when you think about it. All code “performs,” but that doesn't mean it performs well. It's kind of like talking about “performance” car parts, without “high” in front of it. Maybe the code should be called “high performance” instead of making up a word for it. 

    Annoyed by its use (yeah, degree in English here), I looked it up. Not surprisingly, some dictionaries don't have the word. Those that do say it's a noun, a performer. No adjective there, sorry folks!

    Should I tell all these people?

    Could be worse, I suppose... there could be another stupid acronym. Crap, there already is... “HPC.”

    Read more...

  • I bought the wrong chipset

    I bought the wrong chipset last night... a poker chipset. I'm fascinated by the game and would like to start playing, so I bought a $150 set of chips and a case. They're the good stuff, the heavy clay chips that make the cool noise, with an indestructible metal case.

    First off, the cost. Yeah, I know that's steep, but this is nice stuff. It's actually not a selfish thing at all. The truth is that when I have people over as a guest at my house, I like them to have a good time. That's why our parties are held in such high regard. We buy good alcohol and food and try to be hospitable. I wouldn't want to go to a party where people are cheap, so why throw one on the cheap?

    The second thing is that the game itself is interesting because it combines so many things I enjoy. There's the logic component, of course, something code monkeys can get into. There's the social aspect, seeing as how it's supposed to be fun. There's the psychological angle too, as you can learn a lot about a person by watching how they play.

    I have to admit that the poker on TV inspired the interest in the game. Not the world series crap, but the celebrity poker. Career players aren't nearly as interesting to me, but the celebrities, famous as they might be, are just like you and me when it comes to poker. That's fun to watch.

    I don't plan on having any high-stakes games or anything, but I look forward to having a little fun. Heck, maybe next time I'm in Vegas I'll even play a couple of hands.

    Read more...

  • Browser-based HTML editing still in the dark ages

    I was considering using FreeTextBox for POP Forums because my implementation is mediocre at best. Actually, it gets the job done, but it's an IE-only implementation.

    Then it occured to me that the Mozilla and FireFox instances would probably generate different HTML. Sure enough, it is different. In fact, it's actual correct HTML, not the crap that IE generates. That's a good thing, but the down-side of this is that I need to learn to parse the HTML differently.

    You would think that as common as the need to write HTML in-browser is that there would be some fantastic universal standard by now.

    I guess I better start writing those unit tests...

    Read more...

  • Self-employment: One month later

    It has been a month almost to the day that I declared my independence from The Man. So far, this is how it's going.

    The primary focus has always been to concentrate on writing my ASP.NET book. I've got about five chapters done (by “done” I mean ready for editorial review by the publisher) plus the intro. Those are key chapters, and I'm waiting for some friends to get back to me to see how well received they are. The book is about a third done, and I have two months and a week left to finish it. No problem.

    To learn the new ASP.NET v2 features, naturally it's helpful to apply them to a real project. To do that I've been working on the next version of POP Forums from time to time. I have a very long list of features and things that I'd like to add to it, to really “compete“ (if that's the word, since I offer it for free) with other products. I think as a programmer tool it's already among the best, if for no other reason than it provides a good tool for manipulating user information and roles (until Whidbey comes out). It's not perfect (requiring you to have global.asax to inherit my class instead of using an HttpModule wasn't a good idea), but it's at the core of all of my sites. Thousands of users at any given time and my CPU still doesn't break a sweat. I know it can be better though, and while I get nothing for all of the work, it's satisfying to know it's all me.

    I had grand intentions of eating better and exercising, but the first part of June generally sucks because of my allergies so I haven't been motivated in those areas. It's the only time of year I have a problem, but they kicked my ass. Claritin helps, but in some ways just makes me uncomfortable in other ways. It dries me out.

    The good news is that while I never felt “fat,” I always knew I was a little overweight. I dropped some pounds last December and I managed to keep them off while at my last contract job. Since going solo, I've dropped two more. I've had fast food perhaps four times this year. So while I'm still not eating my vegetables, at least I'm eating less crap. I'm feeling energized enough to start playing DDR again and bought a cool bike rack for the car.

    The money thing is a little scary, but nothing to get really freaked out by, as I knew that cash flow would be somewhat negative for awhile. The good news is that online advertising has seen a slight rebound, as traditional branding campaigns (i.e., not cost-per-click) are starting to take hold. I'm planning to launch another site in the next couple of weeks, a port of an existing site for a new topic. If it can add even $500 in revenue a month quickly, life will be grand.

    Consulting and freelance work doesn't interest me at the moment. It's something I'll want to get back into in the fall, but right now I'm enjoying getting up when I feel like it, working when I feel like it and enjoying the summer sun. I'm working hard, and it's hard to see the tangible results in the short-term, but it's all on my terms, and that's a great feeling.

    So that's where I'm at today. I'm not pulling in the bling, but I am ridiculously happier and less stressed. I get into my grumpy fits of course (just ask Stephanie), but I'm trying to get to a place in my life where I fit into the general scheme of things. I think I'm finally getting closer to that place.

    Read more...

  • Quoting the previous post in a Web forum is annoying

    You've seen people do it. If you run a forum and try to keep a tight ship, you hate it. People that quote the entire previous post in their own. It makes no sense.

    And it's not the people who “grew up” on Usenet either. I ask you, when you verbally reply to someone, do you repeat every last thing that they said to you before you get on to your point? Are people lazy, stupid, or just don't get it?

    I wouldn't say it's something that makes me “angry” (I can think of more important things to be angry about), it's just annoying.

    Read more...

  • Working where ever on the laptop

    In early 2003, I bought a custom HP laptop online. It has a better mix of what I wanted than the retail versions available at the time. It's a 2 GHz Celeron with a half-gig of RAM, 15” 1400x1050 screen and 60 gig hard drive. It replaced my aging Sony (P3/450) which had a hard time running Visual Studio.

    There are only two problems with it. The first is that it's not made with laptop parts, so its three fans and lots of heat last about 90 minutes unplugged with the Wi-Fi card plugged in. The other issue is that the video hardware isn't great, so forget about real gaming. The first isn't that big of a deal because I rarely need to go away from power, and the second isn't an issue because I don't game mobile. Both are problems I could live with considering it cost $1,200 at the time, a price point you couldn't get to with a screen that size in most cases.

    Anyway, since quitting my day job to write the book, I'm surprised at how much I've been using it all around the house. My desktop has a pair of 17” LCD's and a natural keyboard that allows me to peck away for hours (laptop keyboards are kinda cramped). It's a really tricked out machine. Still, with the laptop I can sprawl out on the chase in the “red room” (we have red furniture to match the Jurassic Park pinball machine and movie posters), open the three six-foot windows and hang out with the cats as they watch birds in the butterfly garden just outside. It's everything I couldn't have working in a cubicle.

    That gets me to the status report after one month solo, but that's a post for another day...

    Read more...

  • Your free service got shut down. Cry me a river!

    It irritates me when people get all pissy that something they used on the Web for free gets turned off. See: 3,000 blogs lose their voice.

    I've been through this cycle with people on my sites. Back in 2000 when I launched CoasterBuzz, it was for fun. At some point, when bandwidth was less cheap, I started to allow pop-up ads. In late 2001, I also started a coaster enthusiast club, which included the site ad-free and a couple of minor extra features. I had to do this because I wasn't going to keep paying for it out of pocket as it got more popular. This was a time when renting a box with lots of bandwidth was running a grand a month.

    There was a lot of backlash from it, believe it or not, when I started to offer subscriptions. I said then what I still say, and that is that everything on the Internet has to be paid for one way or another. That's just the way it is. The thing no one counted on was that people will pay for things they care about if the price is right. Turns out $20 a year isn't so bad when you pay more than that for some magazines, and you certainly get more mileage out of a daily site than you do a magazine. Offer the right value proposition and people will pay.

    But still people bitched and moaned, but yet couldn't stay away. It didn't make any sense. Now it looks like some people are going through that with this blog site. I'm surprised that Live Journal still offers freebies. I would've quit that a long time ago.

    There's still another wave of disgust on the way though, and that's one where people who can make a few bucks off of their sites get blasted for being capitalist pigs. It's like you're supposed to give all that time and energy just out of the goodness of your heart and let that be your reward. I know that the coaster enthusiast community has a bit of that already, and it's ridiculous. Just as TV shows are rewarded with higher ad rates due to popularity, so it goes with Web sites. I'm not going to apologize for success. It's not like I'm buying a yacht and 4,000 square feet on land from my little Web sites!

    It seems like yet another thing about the Internet that defies logic. If history is any indication, this too will eventually adjust itself to something resembling normalcy.

    Read more...

  • New Beastie Boys today after six years

    The new Beastie Boys album was released today, their first in six years. Scary that the kid in front of me buying the CD at Best Buy wasn't even born in the Licensed to Ill days. They're still the best thing in rap today.

    I paid $1.69/gallon for my gas today. Now if the Pistons win tonight, the universe will be ultra-fabulous.

    Read more...

  • Finally finished writing a MembershipProvider

    I mentioned awhile ago that I was planning to write an ASP.NET MembershipProvider for POP Forums. I finally got around to it the last day or two and finished it, along with a RoleProvider. Dare I say that it was really pretty easy, there are just a lot of methods to implement. What a great feature this will be for people that want to integrate Membership into their existing apps.

    A couple of the methods required paged data, which gave me an excuse to use the ExecutePagedReader() method of SqlCommand. I haven't tested it yet, but wow does that save you a boatload of work. I hope it performs well.

    Read more...

  • The users online collection: in memory or from the database?

    In the last version of POP Forums, I stored the users online in an Application variable. Surprisingly enough, the performance wasn't bad, even though I suspected it might be once you had a thousand users or so. I opted to do it that way instead of hitting the database to see when the last “hit” by a user was, because I wasn't that into updating that field on every page request. I know the www.asp.net forums does it that way, and periodically caches.

    It's a six/half-dozen kind of trade-off. What would you do? I'm working on the Whidbey version now, so this is as good as any a time to change it. I'm somewhat influenced by the MembershipProvider, because it's probably best that I get on board with the scheme that's built into the framework.

    Read more...

  • Broadcast to Web: A journey in media

    Every once in awhile I run across a blog entry from Jason Salas, a code monkey apparently working in a broadcast environment. Sounds a little bit like hell, but interesting work to say the least.

    Broadcast media is my roots. Even in sixth grade, I was fascinated by radio, and the air personalities that filled it at the time. (This was before hard-core automation and when ownership limits prevented Clear Channel and Infinity from owning everything.) I did some government access TV in high school, then in college made radio/TV my major, fortunately having the good sense my last three semesters to double in journalism as well. My senior year I got work at a commercial station in Mansfield, and shortly after graduation, managed to enter the Cleveland radio market. It was a hell of a ride.

    But radio kicked my ass because the money was horrible and the decay of local radio was already in full swing. Having to obligate someone else's contract for sucking in the Arbitrons, I got shifted to a part-time gig and quit.

    Six months later (and a term working at a CompUSA), I landed in another government access TV gig. It was perfect... know-it-all kid lands a job in a department that doesn't exist yet. Being the only person there, I was free to do everything I loved about TV, from the engineering and production, right up through air talent. I even got to build a little Web site. I spent nearly a half-million dollars before I left.

    Fast forward to 1999, and the lure of the Internet and its money. I made a radical change and left broadcast behind to be a Webmaster at Penton Media, the company that would eventually own Internet World, among others. The Internet was really still kind of crude unless you had a lot of cash to throw around and hire real programmers. At that point in time I knew HTML, and a little Perl and ASP. Fortunately, working with an outside firm, I also got to know COM, SQL and application architecture.

    You know how things went after that. Penton eventually was de-listed from the NYSE and the ensuing shit storm of business failures caused by a lack of common sense put me out on the street. .NET appeared in 2001 and that eventually led me to where I am now, contracting at ridiculous rates and writing an ASP.NET book. What a crazy ride.

    But I still think about traditional media and its relationship with the Internet. When I went to Penton, it was essentially print media, and not totally outside of my expertise. I was able to thrive in my radio days because I “got it,” and that media savvy got me in the door at Penton. It turned my hobby Web sites into a business. But the question remains, how is the Internet different?

    If you put the Cluetrain Manifesto clichés to rest (”markets are conversations” my ass... stop conversing and put out a fucking product), the thing that makes the Internet so different from traditional media is that your audience knows better than you do. The problem is that if you don't give them what they're looking for, they won't bother to tell you what it is they want. They might not even know, but they'll know it when they see it.

    There are times when you can get lucky and mimic something else, of course. My inspiration for CoasterBuzz was to mimic VoodooExtreme, only instead of video game stuff, it would be roller coaster stuff. The premise was simple, and even back in 1998, it was what we now identify as a blog. Get news from your audience, post it as you go and let them comment on it. Turns out that's what my audience was looking for, and my site dominates that market.

    Other times you come up with something people don't really need. CampusFish was supposed to be blogs and photos for dummies. Actually, it was more for me than anyone else, but I figured I'd open it up to see if anyone else was interested. A few people were, but it never really took off. What I've seen since launching that site is that the audience isn't that dumb, and much of the blogging audience can set something up themselves, even writing their own style sheets.

    Programmers are the worst at identifying audience needs, which is ironic given that most I assume have had to deal with requirements at some point in their careers. Most programming sites suck, but a few have made good marks. There's so much fragmentation in the market that it's hard to find someone that really does it right and covers your specific interests and level of expertise.

    Don't even get me started on Channel 9. I mean, the theory was pretty good, but the execution ended up being way too narcissistic and “look at me!” for my tastes. With all of the brilliance in Microsoft, you'd think they would've understood that the personalities, outside of Ballmer, aren't even remotely as interesting as the things they're doing. I'd add that those things are better communicated in text, not video.

    So with all of this in mind, I'm trying to figure out what my next big idea is. Even with the media experience I have, my success has largely been dumb luck or right-place-right-time. It's time to be more deliberate. I'm done being interpretive and reactive.

    Read more...

  • Off-shoring not such a big deal

    I can't say that I'm even the least bit surprised by this.

    Lost your job? Don't look overseas [News.com]

    According to the feds, less than 2% of lay-offs were lost to off-shoring. I'm not at all surprised by this. In fact, it has been my experience as a .NET code monkey that there is no shortage of jobs in my area. In my last contract gig, I was in fact the only “white boy,” the rest of my team being Indian or Asian. Those guys came here because of the opportunities. Smart guys, and probably more insistent about their rates than I am. That particular company was moving people in from all over the U.S. and Canada as well.

    The report verifies that I'm not crazy at least, or that what I was experiencing was not a regional phenomenon. That makes the constant harping on the issue in the business press and by politicians even more irritating.

    My personal feeling is that the move of some jobs to other countries is a natural progression of a maturing industry. Getting laid-off sucks (I've been there more times than I care to say), but it is something that is unavoidable. I don't think that protectionism helps either.

    Read more...

  • When Visual Studio 2005 attacks!

    I'm absolutely thrilled with the way Visual Studio 2005 leaves my HTML the way I want it. It's a fabulous tool and it's about damn time that someone in Redmond realized that we know better than the machine how to write and format our code!

    Imagine my surprise then today when, in a class library project, I renamed a .cs file to a more suitable name, with the intention of renaming the class within it, as well as any references to it throughout the project.

    Lo and behold, some disk churning, and bam! It renamed the class in the file and all of the references in a dozen other files. Didn't see that coming. I mean, it saved me work, but I guess I was a little concerned that it did all of this without asking me if that's what I wanted. I didn't happen to see anything in the options about it either.

    Good surprise, but I'm not sure if I'm supposed to be happy that it read my mind or scared that it's gonna really hose something else when I don't want it to.

    Read more...

  • G4-TechTV merger is really backward

    If you're a TechTV fan you know that Comcast bought the network to combine it with their own G4 network, creating the combined G4-TechTV. In the process, they cut a lot of the TechTV shows and laid-off a ton of people at the San Francisco location. Those that survived have to move to L.A.

    Now that they're operating together, I can only help but feel that the merger was about as ass backward as can be. Most of the G4 shows suck. How? Let me count the ways.

    First of all, it's a total sausage fest. There are a lot of very smart female tech geeks, and frankly they're more interesting for boy geeks to watch. G4 apparently had none. TechTV had many, and we've grown to love them. The only female I've seen on a G4 show so far is Julie from Real World New Orleans, and she's surprisingly not bad.

    The production values suck. The shows have audio levels all over the place, poor audio quality, poor editing, amateur graphics, etc. Not impressed.

    Did I mention that the air “talent” is generally terrible?

    The merger should've gone the other way. I sure hope the programming execs from TechTV have some say in the future of the combined network, because whatever the G4 people have been doing is not going to help grow the network. It should be interesting to see how things go next week when The Screensavers moves to L.A.

    The strongest shows on the network are TechTV shows. The Screensavers, X-Play and Unscrewed are good stuff. Damn shame they let go of Call for Help (and Leo Laporte for that matter).

    A lot of this makes me wish that I was still working in broadcast. I'm not really applying my media savvy to the Web the way that I should, but it's just not the same medium as TV.

    Read more...

  • You've heard of Google, right?

    I need to vent. I participate in a couple of forums where I'm glad to help people out to solve their coding problems. However, it annoys the crap out of me that people will ask “how do you” or “do you know of any code that does” whatever. Honestly, the first thing I do when I see a question like that is hit Google, and more often than not, I find something right away.

    How hard is that for people to do before they ask the question? That's worse than a RTFM post because it's ridiculously lazy.

    It's not just on programming forums either. It seems people will ask questions like that on most any kind of forum. Over on CoasterBuzz, there's always someone asking when an amusement park is open. Is it that hard to look at the park's site first?

    I guess I'm just not in that big of a hurry to help people unwilling to help themselves first.

    Read more...

  • Using parameterized SQL queries

    Now that I'm working for me (have I mentioned that lately? ;)), I'm going to try and devote more attention to uber:ASP.Net. I had such good intentions for that site before I went back to work for The Man in January, but quickly slacked off due to a lack of time.

    This is really, really basic stuff probably for the blogging audience, but I see in various forums people doing unsafe things when passing form data in to SQL queries. I've been meaning to whip up a quick article on it forever. Finally got around to that tonight! Feel free to link to it anytime you see that n00b code in your favorite forum where someone is having unprotected SQL.

    Using parameterized SQL queries

    Read more...

  • AirPort Express with AirTunes... coooooool...

    Yeah, Mac fan in the body of a .NET developer, sure, but Apple keeps making some really cool stuff.

    AirPort Express with AirTunes

    This solves two problems for me in the same place. First, it extends my network to the Xbox, so I can finally DDR on Xbox live. Second, it pipes audio from my PC up in the office down to the same rack that contains the Xbox.

    Very cool!

    Read more...

  • Interfaces to abstract classes

    I cracked open the First Look book for the first time since I actually had the bits (three builds later, actually). I was surprised to see that the MembershipProvider was an interface at press time, and not an abstract class as it is now. I wonder what the reason for this is?

    I haven't exhaustively looked at the members, but I don't see anything implemented in the base class.

    Anyone have an academic point of view on why you'd use an abstract class instead of an interface?

    It's kind of frustrating to this point that MS hasn't posted any useful documentation on the PersonalizationProvider class.

    Read more...

  • Two weeks on my own

    Well, I'm wrapping up two weeks on my own after quitting my job to write my book, and take in the concept of independence while I wonder how I might work for myself permanently. I've got about four months before I evaluate if I'll keep this up, and so far, so good.

    So far the challenge has been to feel like I've accomplished something, or have some metric for accomplishment. I've done a little writing, some revising, and a lot of playing around with Visual Studio 2005. If I had to guess, I'd say I've spent about 30 hours each week doing these things. I just don't have a lot of physical stuff to show for it (aside from experimental code).

    I've also got a client project I need to finish up. I'd say the thing that's different about not working for The Man is that you tend to work when the motivation strikes. In that respect, I put in lots of time, but not in four-hour blocks before 5 p.m., as you would in a day job. You really need to look at things differently or you might think you're not really doing anything. It might appear that way to your spouse, too! ;)

    Regardless of what might come of the book or the future, doing this has been liberating, and an amazing experience so far. Anyone not happy in the IT industry needs to give it a shot. The worst you can do is go back to work for The Man.

    Read more...

  • Going back to 2003: Not as fun

    I had to take a break from writing and playing with Visual Studio 2005 to work on “real” work back in VS 2003. Wow, what a drag that is. Beyond that crappy HTML designer, it's not nearly as fast to type code without the Intellisense on steroids and the better color coding.

    It'll be a happy day in my world when we can all use this in real life!

    Read more...

  • ObjectSpaces delay: No worries here!

    Some people are a little disappointed that ObjectSpaces won't make the Whidbey release. I'm not one of them. It just reduced the chapter count of my book by one and that's a good thing!

    Read more...

  • Can't get config settings... Argh!

    I'm having such a grand old time with all this new junk that it's a real buzz kill to hit a roadblock. I'm trying to run some unit tests against some DAL classes and they aren't seeing the appSettings keys in my config file at all. As far as I can tell, everything is as it should be. The config file is the same name as the assembly with .config on the end, and it's in the same directory. Do you think NUnit is doing something odd? Is it some weird symptom of using this alpha software?

    Most frustrating!

    EDIT: Turns out the config file needs to be called <nunitproject>.nunit.config. Not what anyone really expected, but it works!

    Read more...