Archives

Archives / 2003 / August
  • ShowUsYour<Calendar>

    I've just uploaded the newest version of the ShowUsYourCode Dhtml Calendar.  This cross-browser started its life over 2 years ago and has evolved into quite a slick unit.  The latest version incorporates some UI/Css related changes that were put forward by one of its users - Caitlin Fegan.

  • Blogging Html

    Blogging about mark-up is difficult, I often try to do it with mixed success.  I've been using Word to transfer the colorized mark-up from VS.NET into my blog but, often it will complain about Word's xml formatting.  The new “Word Clean“ function in the .Text blog admin tool not only removes the errant xml metadata but, oftentimes it will remove all coloring!

  • Computing aggregated data in a DataTable

    The other day I was struggling to come to terms with how to perform aggregate queries on a DataTable.  I was able to create calculated columns to display calculated data but, I couldn’t work out how to return aggregated data from a query over a DataTable.

  • ICompare langugages

    Today one of the guys and I were having a conversation about "stuff"; not particularly interesting or relevant but, nonetheless it was "stuff".  Now this was your typical bored-nerd conversation, you know the one:

  • Books to buy

    Today I had a day of training; the course was a training course for peers that have been elevated to the lofty ranks of middle-management and talked about how to manage "sucessful projects". It was quite a good day and the group of co-middle-managers were all enthusiastic and keen in their participation. I actually like days such as these because you get to excercise your brain and challenge some core beliefs/assumptions. My favourite part was at the beginning when we each had to talk about our favourite "fantasy"; nearly all people talked about financial freedom or sensual holidays in the Greek Isles - not me! I thought that I'd establish my geek-cred early by talking about my dream of building a time machine :-)

  • RegexLib.com - Rss + Notifications!

    For the 2nd time this week I've used the code in the recent Rss article on Msdn to write an Rss feed, this time it was to make available a feed of the latest Regex patterns that are added to the RegexLib.com site.  I've added the little orange "Xml" link on the side menu and you can add the feed to your aggregator by pointing it to the following link:

  • RegexLib.com features added

    I spent some time this weekend altering RegexLib.com to try and push more information to the "front" of the site.  I've added a couple of repeaters to the Home page that show a listing of recent patterns and also the top 10 contributors.  Clicking on a top contributor takes you to a page that shows all patterns submitted by that particular user.  This is a new page and I'm hoping that it will make the site even more popular and further entice people to use RegexLib.com to store their own patterns.

  • A new look and feel

    As I mentioned last week, I've changed the look and feel I've my blog ( thanks to ScottW! ).

  • Broadsheeted Blogging

    I stumbled across this site today which points to the future direction of the blogging “industry“:

  • Regex to capture an attribute collection

    Wayne posted an elegant solution on the regex list today in answer to the following question: "How do I find all INPUT tags and pick out the attribute/values within them?". For the record, here's the pattern that Wayne came up with

    <input \s+
      (
        (?'Attr'\w+) \s* = \s*
        (?'Value' [^\s"'>]+ | "[^"]*" | '[^']*')
        \s*
      )*      #match zero or more Attrs
      /?>
    
    ... and here is some sample code that he provided for demonstrating its use (NOTE: the usage of the Captures on each Match'ed item):
      Regex rex = new Regex(@"
          <input \s+
          (
            (?'Attr'\w+) \s* = \s*
            (?'Value' [^\s""'>]+ | ""[^""]*"" | '[^']*')
            \s*
          )*      #match zero or more Attrs
          /?>",
          RegexOptions.ExplicitCapture |
          RegexOptions.IgnorePatternWhitespace);
      
      foreach(Match m in rex.Matches( textToSearch ))
      {
        Console.WriteLine("Found a match with these attributes:");
        for(int i=0; i < m.Groups["Attr"].Captures.Count; i++) {
          Console.WriteLine("Attr:  " + m.Groups["Attr"].Captures[i].Value);
          Console.WriteLine("Value: " + m.Groups["Value"].Captures[i].Value);
        }
        Console.WriteLine();
      }
     
    If you're not on the regex list already and you are even remotely interested in them, then I behoove you to jump over and sign-up today. It's a low-traffic, highly focussed list and it's full of smart people like Wayne :-)

  • Is structure good?

    I've asked many programmers/developers about where they want to end up and, often the reply is: "Me?  I'm going to work for Microsoft.  Gunna cut some elite code working on the kernel!".  Which I always interpret to mean: "Me?  Well apparently Bill's got a shitload of money and he's giving everyone free Jolt cola... that's where I'm heading!".