Author: Matthew

  • Krugle: The Search Engine for Software Developers

    I received my access code for the Krugle beta by e-mail last night. I immediately tried it out, of course. Here are my initial impressions.

    The goal of Krugle is to make it easy for software developers to search for technical articles and code samples. Let’s face it: Google is a fantastic search engine, but it’s sometimes difficult to locate good code samples with it. Krugle changes all of that by allowing visitors to search specifically for source code, not just across web pages, but within project files from sites like Sourceforge as well.

    After executing a code search, two panes open up on your screen. The left pane contains the source code you selected. The right pane shows other source code files in the same project. As you open new files, Krugle places them in tabs across the top of the page, very similar to Firefox. The difference is that Krugle uses Ajax goodness to drive its user-friendly interface. Searching with Krugle is a real treat.

    If you’re interested in trying Krugle for yourself, visit the web site to sign up for the beta. Alternately, you could just wait a few more months for the production version of the engine to be released. If Krugle proves as useful to other developers as it has to me, I would be expecting Google to aquire yet another search engine a few months after Krugle goes live.

  • dnrTV features Venkat on .NET Generics

    dnrTV’s March 9th episode featured Venkat Subramaniam giving an interactive demonstration of .NET Generics. The entire video tutorial is about an hour long. I thought it was quite useful. It’s fantastic being able to watch an expert in this area as he writes code and explains what he’s doing while he’s writing it. It’s almost as good as pair programming with a master developer.

    I may have to check out some of the other shows on dnrTV this week. .NET Gotchas and Databinding in .NET 2.0 in particular look like they would be interesting.

  • Ham radio equipment restrictions

    Amateur radio is a hobby of mine and it’s always sad to read about the restrictions being placed on hams these days. This WRAL article is especially interesting, considering the amount of help hams have provided during the aftermath of the Katrina disaster.

    73s,
    Matt / AG4TS

  • Quote of the Week: George Washington

    “We may find, by our own unhappy experience, that there is a natural and necessary progression from the extreme of anarchy to the extreme of tyranny, and that arbitrary power is most easily established upon the ruins of liberty abused to licentiousness.” — George Washington

  • Ruby crashes the next Java User’s Group

    So what in the world is Ruby on Rails? Where does it make sense to use it? How do you get started developing with it? And why would I forsake the established Java community for the wild ravages of a “new” technology, and love every minute of it?

    The next Java User’s Group meeting will feature a talk by my friend and former co-worker, Nathaniel Talbott, on why he prefers Ruby on Rails over Java. It’s sure to be an educational (and controversial!) presentation. For more information, visit the JUG web site.

  • Quote of the Week: Mark Twain

    “It is curious that physical courage should be so common in the world and moral courage so rare.” — Mark Twain

  • Instructions should match reality

    I had to visit the doctor yesterday for a very minor surgical procedure. The doc packed the wound with gauze when he was finished and gave me some instructions on how to remove it later that night.

    As seems to be typical with doctors these days, the gauze he used was that industrial-grade stuff. The kind they probably use to mop up nuclear waste. The point is that it persists in sticking to a wound until the bitter end. The irony is that the instruction sheet he gave me said it would “come off easily” with some hydrogen peroxide. An hour later and it was still hanging on for dear life.

    The moral of the story? Whether in medicine or software, instructions should match reality!

  • Quote of the Week: Napoleon Hill

    “The majority of men meet with failure because of their lack of persistence in creating new plans to take the place of those that fail.” — Napoleon Hill

  • Restarting Windows services in C#

    It’s dead simple to restart a Windows service in C#. I’m a little shocked at how easy it is actually, given some of the other things I’ve found to be so ugly about the language.

    public void RestartService(string name)
    {
        ServiceController service = new ServiceController(name);
        service.Stop();
        Thread.Sleep(2500);
        service.Start();
        Thread.Sleep(2500);
    }
    

    You guessed it: “name” is the name of the service to restart. It must exactly match the actual service name or bad things will happen. I added the sleeps for good measure. They may or may not be needed depending on how responsive you want the service to be immediately after restarting.

    Now if only C# made it this easy to restart a UNIX process…

  • RailsConf registration reopened

    The fine folks at RailsConf have reopened registration for an additional 150 seats. If you were thinking of going before, but didn’t get a ticket prior to registration closing, now is the time to take action. No, seriously, it is!