Attention: We are retiring the ASP.NET Community Blogs. Learn more >

Jeff Makes Software

The software musings of Jeff Putz

  • Naive about IE? Give me a break.

    I say:
    "I've never understood how Microsoft has profited from IE's dominance."

    Charles says:
    "This is a very naive view. There is a certain base level of standards compliance that all browsers implement. Beyond that, Microsoft has added siginificant functional enhancements to IE which allow it to do much more than browers such as Netscape or Firefox." He goes on to say it has more to do with intranets than the Internet.

    Either way, I have to respectfully say that he's full of crap. That sounds like a quote from the MS PR handbook.

    Anyone using Firefox right now that is missing out due to the lack of "significant functional enhancements" in IE? Anyone?

    *crickets chirp*

    That's about what I figured. Yeah, I'm sure you can find some exceptions, but give me a break. Heck, even in Corporate America I see no IE-dependence. In fact, I get mini-throw-up every time I start a new gig and find that a company is still hanging on to Lotus Notes databases, Domino Web servers and such.

    I'm as much of a Microsoft cheerleader than anyone. MS products have changed my life and I wrote a book about them. But I haven't seen anyone give any compelling evidence that IE allowed them to earn actual money. Yeah, they killed Netscape by pushing out IE, but so what? Netscape was a company with the most riciulous business plan ever conceived (if there really was one at all), and the product sucked and got worse every release. The hardcore Internet dorks like me started with Netscape, and eventually moved to IE because Navigator sucked.

    That's what kills me about the last six or seven years about this saga. There are really two issues that everyone intermingles into this demonization of Microsoft. The first is that Microsoft used its monopoly to squash competition. Seriously, what competition did Netscape offer? I'm not saying it's right, but to suggest that Netscape was ever going to be a bona fide profitable business is a fantasy.

    The second issue is that proprietary IE features would cause Microsoft to own the Web. (Ironically, it should be noted that Netscape's early versions had "extensions" to HTML that did the very same thing.) Yet here we are talking about the relative explosion in market share by Firefox. Huh. A lot of good that desktop monopoly did Microsoft, eh?

  • The inability of IE to evolve

    Wow, have you read this story from The New York Times (via News.com)? The author just slams the guy from Microsoft, and quite frankly, he kind of deserves it for some of the stupid things he said. Granted, I'll offer that they might have been taken out of context, but that last analogy isn't very good.

    My personal feeling is, and has been since I first saw the Web with Mosaic 1.0, that the browser is largely inconsequential in terms of any company's business. If I were to start a new company today, a company that builds Web browsers would not be among my considerations. I've never understood how Microsoft has profited from IE's dominance, or how Netscape back in the day made a buck when you could download the browser for free. Neither company has scored any extra revenue from me, any more than Mozilla has by me using Firefox. The only thing at stake is to say, "ours has more users." That's such a dotcom business plan.

    Now of course the Microsoft haters (you know, the tools and morons that refer to the company as "M$," because that dollar sign means capitalism is bad or something) are going to say that they're trying to extend their desktop dominance to the Web. Really? How? Has IE's dominance prevented you from using the Web? There was this long-standing theory that as applications more commonly became Web-based that the browser would be the gateway to those apps, and somehow Microsoft's browser would control it all. That was a stupid theory because it assumes that the Web itself could only be viewed by IE.

    If you want to bitch about IE, then by all means complain about the legitimate problems like security and the worst CSS rendering of any browser. Those are things that irritate the crap out of me, and they're the reason I don't use IE anymore.

    Despite this, Microsoft is not being harmed by my decision (as a .NET developer, they're obviously getting my money in other ways). In fact, I start to wonder why Microsoft continues to build a browser at all. The one they have doesn't work as it should, there's no sequel in sight, and with XP SP2, there isn't a single reason you need it (Windows Update works on its own, without the browser itself).

  • Grumpy blogging

    It occurred to me that I've made a lot of posts lately indicating that something "sucks" or "blows" or is "terrible" or something similarly negative. It seems I blog a lot when I have something to complain about.

    I think this is what happens when you spend too much time in front of the LCD glow. I'm actually very happy, and enjoying life. It's just that in this profession, given my area of "expertise" (stop laughing), there isn't much to talk about right now. I did my fair share of Visual Studio and ASP.NET v2 cheerleading last summer while writing my book.

    Actually, there it is... I think I figured it out by talking through it. Since I can't use Whidbey in production, I need to use VS 2003 and ASP.NET v1.1 so I can pay the bills. Indeed, that's enough to make anyone grumpy. Aside from mangling the crap out of my HTML, VS 2003 gets pissed and won't open a Web project if the web.config for it has some other IHttpHandlerFactory taking requests. You get the drive doesn't map to site error nonsense. Honestly, who thought that rooting your Web apps in IIS was a good idea? I'll never understand that.

    But alas, it won't be beta forever, and this insanely long testing period will result in a nearly perfect product, right?

  • Strong Bad does radio, and it's hilarious! Oh, and radio still sucks.

    This is to see who really reads my blog...

    In his latest e-mail, Strong Bad takes on the stereotypes of radio.


    I laughed so hard at this I nearly pee'd my pants. Seriously. If you know anything about my resume, you know that I double majored in radio/TV and journalism in college, and I worked professionally in radio for about two years. I'm not sure if it will be as funny to you without that radio experience, but for someone that loved the medium and loathes what it has become, it's freakin' comedy gold.

    And speaking of radio, it sure sucks. You can trace the death of good radio back to the days when Congress was into deregulation for the sake of deregulation. When the FCC lifted ownership restrictions on radio, therefore handing the scarce resource of FM bandwidth over to huge media companies, they killed every last chance that radio had to be personal and local. The shit on the air now is programmed from New York, for New York tastes, is pre-recorded, has no show component to it, and the formats absolutely blow. Despite all this, radio revenue has never been higher. Why? Because small local companies can't get their hands on a frequency to challenge Clear Channel and Infinity. It's a joke.

  • Rich text editing still blows

    Wow do I hate dealing with rich text editing. The funny thing is, way back when POP Forums was a product I actually sold, I think I may have been the first to use some very basic bold/italic functionality in a forum. Now there are some nice controls out there, free even, but trying to get them to work as you'd like in both IE and Mozilla/Firefox is hopeless.

    The latest version of FreeTextBox has one problem: By default it renders bold and italics with span/style tags/attributes. That's bad because what I need for parsing is <b>/<strong> or <i>/<em> tags. To Firefox's credit, it's smart enough to combine them into the same tag, but again, not really what I need. I did find this little gem buried in the Mozilla documentation and tried to work it into a derived class:

    public class FTB : FreeTextBox
    {
      protected override void OnPreRender(EventArgs e)
      {
        base.OnPreRender (e);
        this.Page.RegisterStartupScript("cssfix",
          "<script language=\"javascript\">if (navigator.userAgent.toLowerCase().indexOf(\"gecko\") != -1) document.getElementById(\""
          + this.UniqueID.Replace(":", "_").Remove(0, 1)
          + "_designEditor\").contentDocument
    .execCommand(\"useCSS\",false,null);</script>");
      }
    }


    Unfortunately, while the relative client-side script works great when I plug it into a static HTML representation of an editor (the useCSS command), it works great, but causes some kind of component error in Firefox's Javascript engine when I try to use it in a live FreeTextBox.

    My next attempt was to try and upgrade my own little control, however ugly it might be, to work in Firefox. Works great, except for the part about copying the HTML from the iframe to the hidden text field. In my version, I use the iframe's onblur event to copy, so if you hit anything else on the page, it'll copy it over before a form submit (by postback or otherwise). Firefox doesn't seem to listen for onblur from an iframe, so that doesn't work. Despite a lot of searching through the FreeTextBox script, I can't see how it does the copy.

    So here I am, back at zero.

    There really should be a good Flash-based editor, though that of course would cause you to lose text if you accidentally moved back or forward. I've seen a few out there, but they rely on Flash's built-in functionality, which, believe it or not, throws in more junk than IE ever did.

  • Bought a new Intellimouse Explorer

    I bought the first Intellimouse Explorer back in... uh, well, actually I don't know when it came out. It actually crapped out on my in the first year, but Microsoft sent me a replacement. I've had that one ever since. It has been at least four years, maybe as many as six.

    In the past few months, it started cutting in and out on me, and it wasn't a short in the cable. If I'd cross from the far end of one screen to the opposite end of the other (I use a pair of LCD's), Windows would make the disconnect then connect noise and I'd lose the cursor somewhere. I could almost deal with that if it wasn't for the noises! :) Alas, I decided it was finally time to retire it. It had been good to me. The Microsoft logo had long since been worn off and there are actual grooves in the plastic from my fingers.

    I replaced it with the new v4.0. Why not? The last one lasted so long. I got the wired version since I hate changing batteries (as my wife does this regularly on hers). The new version is roughly the same shape, but lighter. The only thing I don't get is why they made the forward and back buttons smaller. Then again, I don't know how many times I've accidentally hit them when grabbing the mouse on the old one.

    My Natural Keyboard Pro is still working. It looks disgusting, but it works. I hope it continues to hold on, because I haven't found any other keyboards that have the same tactile feedback I like.

  • Call for text parsing help

    As much as I'd like to think that I can continue to improve POP Forums on my own, I can't. I need some help.

    At the root of my problem is the text parsing class. In a nutshell, this thing is supposed to turn the HTML of a rich text editor into "forum code," and turn forum code into valid HTML for display in a forum thread. It mostly does this pretty well, but there are issues related to parsing e-mail and URL's correctly, namely if they appear in tags already.

    I've uploaded the class and the NUnit tests here. There are basically just a few tests that don't pass in the ComplexTests method. If anyone would like to take a stab at fixing, please, be my guest and I'll be eternally grateful. I realize the code isn't what it should be, and that starting over is probably a better idea, but you're looking at six generations of band-aided code. Rewriting it entirely is something I just haven't really had time to do.

    EDIT: Yes... the class won't compile because I left out the rest of the project. If you want to give it a go, comment out the section that calls the Emoticon class and the censoring functionality. There may be some tests that test emoticon parsing as well, so you'll have to ditch those. Sorry... it would've been too much to try and get it all together, including the config files and database. :)

  • Wiki == horrible documentation

    I'm sure it won't make me more popular by saying it, but I think the Wiki craze among developers is nothing to get excited about. Yeah, it's neat that you can implement such a system, but it seems to breed useless content.

    For example, I noticed that FreeTextBox released a new version, so I thought I'd check it out. I downloaded it, but went back to it in a test project on a remote server, where I did not have the original zip (and therefore, not the help files or code samples). I thought, hey, no problem, I'll just check the docs on the site. What a waste of time that turned out to be.

    I went to the installation page looking to see what the @Register directive was (seeing as how I had no idea what the proper namespace was). Nope, not there. After looking around some more, I eventually landed on a page with nothing on it at all, and no navigation to get me to something useful.

    I'm not a hater. From what I can tell, this version of the control is extra cool, and the price is right. And yes, I'm sure someone wants to comment that I should have had the stuff in the zip file with me, but I didn't. I don't think it's that ridiculous to expect that you'd actually find meaningful documentation for a product, free or not, on the site from which it came from.

    I've yet to see any Wiki evolve into something useful. The concept has been around for a long time, and for awhile you'd think that blogging .NET developers saw it as something that would change the world. But here's the thing... Having run sites that encouraged the contribution of content from anyone on the planet since 1998 or so, I can tell you from experience that this kind of Utopian everyone-can-edit idea won't ever work. You can't even trust people to behave in a discussion forum or in blog comments, and you want to have a site anyone can edit content on? Without some kind of moderation, it's useless, and if moderation is to be practical, it has to be of structured data.

    So tell me why I'm so uninformed.

  • Still unclear about using RewritePath for a default page

    I read Scott W.'s article on URL rewriting in .Text, and it's pretty straight forward. What I'm still not getting is how you can handle a default page request without having to wildcard map requests in IIS. For example, in this very blog, you can request "/Jeff" or "/Jeff/" and get my blog. I assume that's because IIS and ASP.NET are assuming this is a request for "/Jeff/default.aspx," but perhaps I'm not seeing something right. I've been looking at the .Text code and it's not entirely obvious to me.

    Anyone wanna help a guy out?

  • The code monkey's racing mind

    I didn't sleep well at all last night due to a nasty stomach ache, which I think I can attribute to the popcorn butter they use at the local Cinemark. I feel like crap every time I eat it. (Blade Trinity, by the way, was awesome. Jessica Biel: Action star. Who knew?)

    So tonight I thought I'd go to bed early since I would obviously be tired. Yeah, after an hour staring out the window I gave that up. My mind started racing, thinking about some of the projects I have in the pipe. Some of it will lead to revenue, hopefully in the near future, some of it will not. Of course, the more fun stuff isn't revenue generating.

    My wife has to get up early for school, so to spare her of the tossing and turning, I came down stairs with the iPod (a bit of Venus Hum) and the laptop to surf for some articles relating to some of the things I have to do. I figure it's the only way I'm going to get this crap out of my head so I can sleep.

    At first I was a little annoyed by this, but putting it in perspective, I'm glad I'm getting excited about writing code again. The book really took its toll (though I'd still do it again). Now that I have other things like a new J.O. volleyball team to coach, I think I'm balancing out some more. There's so much I want to accomplish.