Archives / 2004 / July
  • MSNBC News Aggregator

    Check out the MSNBC Beta News Aggregator page: Newsbot. Similar to Google News - which, interestingly enough, is still in beta. 

    From the Newsbot about page:

    The MSNBC Newsbot (beta), powered by MSN Search Technology, is an experimental, automated news service. Newsbot gathers news from over 4,800 sources on the Internet to speed your discovery of the information you care about most. Enter a topic, interest, or news story you want to learn more about and MSNBC Newsbot will bring you up-to-the-minute coverage from around the Internet. Newsbot is built on advanced computer algorithms to determine which stories and photos are most relevant, most popular, and to recommend stories to individual readers based on their interests.

    Newsbot clusters related news headlines and photos to allow you to compare coverage from multiple sources. Each story links to the publisher's site where you can read the article in full. As news changes, Newsbot continuously updates to keep you current on what stories are being reported around the world. You can search to find news related to particular topics, or browse the sections to find news in Sports, Business, Technology, or World News.


  • [Funny] Fun With C# and HP Laserjets

    I just recently stumled across Ode To Code. Good stuff.

    Just saw this article about how to write messages on a networked HP Printer's LCD readout in C#. It even supplies random messages if you can't think of one - I think these are pretty funny:

        public static string GetRandomMessage()
          string [] Messages = { 
                                 "BUZZ OFF", 
                                 "TOUCH ME",
                                 "STEP AWAY",
                                 "SET TO STUN",
                                 "SCORE = 3413",
                                 "PAT EATS MICE",
                                 "FEED ME",
                                 "GO AWAY",
                                 "NEED MORE SPACE",
                                 "POUR ME A DRINK",
                                 "IN DISTRESS",
                                 "NICE SHIRT",
                                 "GO AWAY",
                                 "NO PRINT FOR YOU",
                                 "RADIATION LEAK",
                                 "HANDS UP",
                                 "PRESS MY BUTTON",
                                 "TAKE ME HOME",
                                 "LOOKS LIKE RAIN",
                                 "HELLO WORLD",
                                 "NICE HAIR",
                                 "NEED A MINT?",
                                 "BE GENTLE",
                                 "BE KIND",
                                 "INSERT DISK",
                                 "BUY ME LUNCH",
                                 "DONT STOP",
                                 "COME CLOSER",
                                 "TAKE A BREAK",
                                 "INSERT QUARTER",
                                 "BLACK SABBATH"

    Hot damn, computers are fun.

    UPDATE: I compiled it so you can give it a whirl. [download]. You have to run it from the command line, so if you save it right on the C:\ drive, you can do Start->Run->“cmd“->“c:\hpMessages {PRINTERNAME} “HELLO”

    You have to replace {PRINTERNAME} with the network name or the IP of the printer. I used IP and it worked fine.

    Requires .NET Framework 1.1.



    I'd been styling my forms with divs and CSS - this should simplify things quite a bit: of my co-workers who is something of a css junkie showed me some tags I was not aware of before, and how they can be nicely styled up to give some interesting form effects. The tags are the “fieldset” and “legend” tags which can enclose one or more “form” elements (I won't try to post the html here for fear of skrewing up other dotnetjunkies weblogs). They render quite nicely in IE without styling (see below, I like the rounded corners). And you can style them up with colour (see here towards the bottom). They also display quite nicely in mozilla (albeit without the rounded corners). They are in the HTML 4.01 standard so you have a fighting chance of them working in older browsers too.

    [Via WebLogs @]


  • Reminder - @@IDENTITY

    @@identity reminder

    This is old news to many people, but we just had a production issue at my work caused by @@identity so it probably doesn't hurt to remind folks.

    You probably don't want to use @@IDENTITY if you're running SQL Server 2000.

    @@IDENTITY returns the last autoincrement identity for any table in the current session, unlimited by scope. It's a global variable. That means that if your SP causes a trigger to fire and insert a row into another table with an autoincrement field, you'll get the second value. Remember that a DBA could potentially but a logging trigger on any of your tables without telling you, even if you don't use triggers.

    SCOPE_IDENTITY() returns the last autoincrement identity for any table in the current session, limited to the current scope. That means you're safe from the trigger insert problem.

    IDENT_CURRENT('table_name') is specific to the table, but not the session. That means you'll get the last ID inserted into the table, even if it was three weeks ago.

    If you're closing your connection after running your stored procedure, you probably want SCOPE_IDENTITY().

    More here:


  • [OT] Vinyl Data

    One strategy that major record companies have been employing lately to deter downloading is adding bonus computer content to new CD releases. I recently discovered that this technique is not unique to CD's, but had in fact been practiced in the vinyl era as well. That's right: there were a handful of records released in the late 70's and early 80's that contained computer programs as part of the audio...

    ...good article with screenshots here... very thorough history software included in audio format on music releases. you can even play some of them online, and i suggest you do - the thompson twins need your help:

    you can even see some funny code comments:

    via Viva Voce news (shoutouts to Kevin, Anita, and Rollie Fingers)


  • RE: Why is IE going down so much?

    I don't think IE usage is still in the 90% range. Stats in my previous post on this topic, IE Market Share... and Why It Matters, show it in the low 80's and dropping - the July numbers show this trend is continuing. Remember that "alternative" browsers often report themselves as IE so they don't get "downlevel" HTML.

    I think the decision that IE isn't a profit center outside of Windows releases was probably short sighted. Many things in software and technology are important for credibility (think Java for Sun, IBM nano research, etc.), and credibility is very important when it comes to technology purchases. For example, a small design (primarily Mac users) which has to deal with IE quirks all the time is unlikely to want to set up a W2K3 / Exchange mail system when they need e-mail, or go to IIS6 when they need a web server, etc. Don't just write that market segment off as a lost cause, because it wasn't a few years ago.

    I probably wouldn't recommend that Microsoft get into the browser market right now if they weren't, but since they got in several years ago they don't have this luxury. Like it or not, Internet Explorer is part of Microsoft's brand identity. Business managers often approve technology purchases based on how they feel about a company, and bad feelings about IE for the non Windows XP crowd (including Windows 2000, for example) will cost sales of Microsoft products.

    I don't see this changing either - see the July 6 IE chat transcript from aebrahim's blog. There's a lot of "we understand what you're asking for, we appreciate your feedback, we are evaluating this (but don't expect anything besides XP SP2 and Longhorn)". That's how I've been taught to politely tell someone no in the business software world. I empathize with the IE team, I just don't think they have the high level support they need to compete here.

    Having enough of problems with IE, I'm switching to Mozilla Firefox today.

    ...To summarize: IE guys, you have to get out of year 1999 as soon as possible. When people say Microsoft, they think Windows and IE. This is the most common. Losing IE for Mozilla or Opera you are giving away a lot more than some small percent of users - you're giving away a lot of brand recognition. How can anybody forget about the first and most used application of his clients? Is this arrogant or just overlooking? How can you say you want to provide the very best experience to users when the most important tool, an icon of our times, browser which is the very first computing experience of many people, is so broken?

    So, make me come back to IE. Or maybe nobody cares?

    [Via 24/7/dev&coffee]


  • ASP.NET Resources does a redesign

    In case you missed it, Milan of ASP.NET Resources ran a cool series on redesigning the front page of with an eye towards Web Standards (CSS, ECMAScript, XHTML, DOM).

    His assessment on the final artical explains the point of standards compliance isn't standards compliance; it's bandwidth savings (5TB / Month estimated), faster load / rendering, greatly improved browser support, and “forward-compatibility” through XHTML compliance. Redesign: A Web Standards Showcase Redesign: Genesis Redesign: Rolling Up The Sleeves Redesign: Pardon Our Dust Redesign: The Final Frontier

    Here's the finished product (all files for the project here).

    And while you're there, check out his cool CAPTCHA solution to Blog Comment Spam at the bottom of each post.


  • [FIX] IE crash when closing a window which is displaying a PDF

    Problem: IE crash when closing a window which is displaying a PDF

    Kills all open IE browser windows. Following error message is displayed:

    iexplore.exe - Application Error
    The instruction at "0x0c3cf5cb" referenced memory at "0x00000000". The memory could not be "read".

    Click on OK to terminate the program
    Click on CANCEL to debug the program
    OK    Cancel


    Save the following to a reg file and merge it:
    Windows Registry Editor Version 5.00

    Alternatively, navigate to the above key and delete the "ThreadingModel" value.