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?


  • 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?


  • 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.


  • 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.


  • Viewstate of the day: GDN

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



  • 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.”


  • 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.


  • 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...


  • 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.


  • 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.


  • 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...


  • 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.


  • 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.


  • 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.


  • 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 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.


  • 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.


  • 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 []

    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.


  • 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.


  • 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.


  • 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.


  • 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


  • 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!


  • 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.


  • 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.


  • 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!


  • 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!


  • 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!