<?xml version="1.0" standalone="yes"?>
<rss version="2.0" xmlns="http://tempuri.org/Rss20.xsd">
  <channel>
    <title>netKB</title>
    <link>http://www.kblog.com/</link>
    <description>Published by FolderFlex (http://www.WinCM.com)</description>
    <language>en</language>
    <lastBuildDate>Sun, 04 Jan 2004 19:26:13 GMT</lastBuildDate>
    <generator>FolderFlex</generator>
    <item>
      <title>Automatically Create Data Adapter to match DataSet</title>
      <link>http://www.kblog.com/!.NET/ADO.NET/index.html#Archive/2003/10/09/index.html#Automatica_2003-10-09_08:00:37_GMT</link>
      <description>&lt;p type="Excerpt"&gt;// Presumes tables are named: tblEntity&lt;br/&gt;// sprocs: uspUpdateEntity, uspAddEntity, uspDeleteEntity&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;private SqlDataAdapter CreateAutoDataAdapter( string entityName )&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;SqlDataAdapter da = new SqlDataAdapter();&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;da.UpdateCommand = CreateAutoCommand( entityName, "uspUpdate" + entityName);&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;da.InsertCommand = CreateAutoCommand( entityName, "uspAdd" + entityName);&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;da.DeleteCommand = CreateAutoIDParamCommand( entityName, "uspDelete" + entityName);&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;return da;&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;}&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;private SqlCommand CreateAutoCommand( string entityName, string sprocName)&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;string sqlClientConnString = ConnectString.Replace("Provider=SQLOLEDB", "");&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;SqlCommand cmd = new SqlCommand();&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.CommandType = CommandType.StoredProcedure;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.CommandText = sprocName;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.Connection = new SqlConnection( sqlClientConnString);&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;foreach( DataColumn c in this.Tables[ "tbl" + entityName].Columns)&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;string parameterName = "@" + c.ColumnName;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;SqlParameter p = new SqlParameter("@" + c.ColumnName, ConvertSystemTypeToSqlDbType(c.DataType));&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.Parameters.Add( p);&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.Parameters[ parameterName].SourceColumn = c.ColumnName;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;}&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;return cmd;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;}&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;private SqlCommand CreateAutoIDParamCommand( string entityName, string sprocName)&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;string sqlClientConnString = ConnectString.Replace("Provider=SQLOLEDB", "");&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;SqlCommand cmd = new SqlCommand();&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.CommandType = CommandType.StoredProcedure;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.CommandText = sprocName;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.Connection = new SqlConnection( sqlClientConnString);&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;string parameterName = "@" + entityName + "ID";&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;SqlParameter p = new SqlParameter( parameterName, SqlDbType.UniqueIdentifier);&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.Parameters.Add( p);&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;cmd.Parameters[parameterName].SourceColumn = entityName + "ID";&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;return cmd;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;}&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;private SqlDbType ConvertSystemTypeToSqlDbType( System.Type t)&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;switch ( t.Name)&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;case "Guid"$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;: return SqlDbType.UniqueIdentifier;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;case "String"$nbsp;$nbsp;$nbsp;: return SqlDbType.NVarChar;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;case "Integer"  : return SqlDbType.Int;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;case "DateTime" : return SqlDbType.DateTime;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;case "Boolean"  : return SqlDbType.Bit;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;default :&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;throw new ApplicationException( "unknown datatype");&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;}&lt;br/&gt;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;$nbsp;}&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:37 GMT</pubDate>
    </item>
    <item>
      <title>Word Macro to Assist Mail Merge Field Selection</title>
      <link>http://www.kblog.com/Microsoft Products/Office &amp; VBA/VBA/index.html#Archive/2003/10/09/index.html#Word_Macro_2003-10-09_08:00:28_GMT</link>
      <description>&lt;p type="Comment"&gt;The attached VBA can be used to create a macro to find and mark field names automatically when preparing a document to do a mail merge. You will no doubt have to read and tweak the macro to get it to work on your machine. It was put together in a rush to save having to choose a merge field name from amongst a list of several hundred.
 
If you select some text in a mail merge document (with the data source already configured), this macro will find matching names amongst all the fields in the data source. It will list the nearest matching fields in a list box. If you double click on a name in the list box, it will convert the selected text to a merge field with the name you selected.
 
To install the macro:
Paste the attached code into the "New macros" module of your normal.dot. 
Create a form called UserForm1 
On the form create a Listbox called "Listbox1" and a label called "Label1" 
Right click on the form and select "View Code". Copy the code from the attached file for the list box double click event into the code file so that it runs when the list box is double clicked.&lt;/p&gt;&lt;p type="Excerpt"&gt;Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)&lt;br/&gt;    ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:=ListBox1.Value&lt;br/&gt;    UserForm1.Hide&lt;br/&gt;    Selection.MoveRight wdWord&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;Function RemoveWhiteSpace(t As String)&lt;br/&gt;&lt;br/&gt;    Dim i As Integer&lt;br/&gt;    Dim t1 As String&lt;br/&gt;&lt;br/&gt;    For i = 1 To Len(t)&lt;br/&gt;        If Asc(Mid(t, i, 1)) &gt; 31 Then&lt;br/&gt;            t1 = t1 + Mid(t, i, 1)&lt;br/&gt;        End If&lt;br/&gt;    Next&lt;br/&gt;    &lt;br/&gt;    RemoveWhiteSpace = t1&lt;br/&gt;End Function&lt;br/&gt;&lt;br/&gt;Sub PickName()&lt;br/&gt;&lt;br/&gt;    Dim s As Variant&lt;br/&gt;    Dim t As String&lt;br/&gt;    Dim t1 As String&lt;br/&gt;    Dim istart, iend As Integer&lt;br/&gt;    Dim i As Integer&lt;br/&gt;    Dim selText As String&lt;br/&gt;    &lt;br/&gt;    t = Trim(Selection.Text)&lt;br/&gt;    istart = InStr(t, "_") + 1&lt;br/&gt;    iend = InStr(istart, t, "_")&lt;br/&gt;    &lt;br/&gt;    If istart &gt; 0 And iend &gt; 0 Then&lt;br/&gt;        t = Trim(UCase(Mid(t, istart, iend - istart)))&lt;br/&gt;        t = RemoveWhiteSpace(t)&lt;br/&gt;    End If&lt;br/&gt;    &lt;br/&gt;    selText = UCase(RemoveWhiteSpace(Trim(Selection.Text)))&lt;br/&gt;    selText = Replace(selText, "PERC25", "25")&lt;br/&gt;    selText = Replace(selText, "PERC50", "MEDIAN")&lt;br/&gt;    selText = Replace(selText, "AVG", "AVERAGE")&lt;br/&gt;    selText = Replace(selText, "PERC75", "75")&lt;br/&gt;    selText = Replace(selText, "FREQ_", "FREQPERC_")&lt;br/&gt;    selText = Replace(selText, "FREQPERC1", "FREQPERC_1")&lt;br/&gt;    selText = Replace(selText, "FREQPERC2", "FREQPERC_2")&lt;br/&gt;    selText = Replace(selText, "FREQPERC3", "FREQPERC_3")&lt;br/&gt;    selText = Replace(selText, "FREQPERC4", "FREQPERC_4")&lt;br/&gt;    selText = Replace(selText, "CI_", "")&lt;br/&gt;    selText = Replace(selText, "DL_", "")&lt;br/&gt;    selText = Replace(selText, "HI_", "")&lt;br/&gt;    &lt;br/&gt;    UserForm1.ListBox1.Clear&lt;br/&gt;    &lt;br/&gt;    For Each s In ActiveDocument.MailMerge.DataSource.FieldNames&lt;br/&gt;       &lt;br/&gt;        If InStr(s, t) &gt; 0 Then&lt;br/&gt;            If Not AlreadyUsed(CStr(s)) Then&lt;br/&gt;            &lt;br/&gt;                ' Exact match?&lt;br/&gt;                If selText = s Then&lt;br/&gt;                    Selection.Range.HighlightColorIndex = wdNoHighlight&lt;br/&gt;                    ActiveDocument.MailMerge.Fields.Add Range:=Selection.Range, Name:=selText&lt;br/&gt;                    Selection.MoveRight wdWord, 2&lt;br/&gt;                    Selection.MoveRight wdWord, 5, wdExtend&lt;br/&gt;                    Exit Sub&lt;br/&gt;                End If&lt;br/&gt;                &lt;br/&gt;                UserForm1.ListBox1.AddItem (s)&lt;br/&gt;            End If&lt;br/&gt;        End If&lt;br/&gt;    &lt;br/&gt;    Next&lt;br/&gt;    &lt;br/&gt;    GoTo skip&lt;br/&gt;    &lt;br/&gt;    UserForm1.ListBox1.AddItem (" ")&lt;br/&gt;    &lt;br/&gt;    UserForm1.ListBox1.AddItem ("---- Already Used ----")&lt;br/&gt;    &lt;br/&gt;    For Each s In ActiveDocument.MailMerge.DataSource.FieldNames&lt;br/&gt;   &lt;br/&gt;    If InStr(s, t) &gt; 0 Then&lt;br/&gt;        If AlreadyUsed(CStr(s)) Then&lt;br/&gt;            UserForm1.ListBox1.AddItem (s)&lt;br/&gt;        End If&lt;br/&gt;    End If&lt;br/&gt;&lt;br/&gt;    Next&lt;br/&gt;     &lt;br/&gt;    UserForm1.ListBox1.AddItem (" ")&lt;br/&gt;    UserForm1.ListBox1.AddItem ("---- All ----")&lt;br/&gt;    &lt;br/&gt;    For Each s In ActiveDocument.MailMerge.DataSource.FieldNames&lt;br/&gt;        UserForm1.ListBox1.AddItem (s)&lt;br/&gt;    Next&lt;br/&gt;&lt;br/&gt;skip:&lt;br/&gt;    UserForm1.Label1 = selText&lt;br/&gt;    UserForm1.Show&lt;br/&gt;&lt;br/&gt;End Sub&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Function AlreadyUsed(s As String) As Boolean&lt;br/&gt;&lt;br/&gt;    Dim i As Integer&lt;br/&gt;    &lt;br/&gt;    For i = 1 To ActiveDocument.MailMerge.Fields.Count&lt;br/&gt;        If InStr(CStr(ActiveDocument.MailMerge.Fields.Item(i).Code.Text), s) &gt; 0 Then&lt;br/&gt;            AlreadyUsed = True&lt;br/&gt;            Exit Function&lt;br/&gt;        End If&lt;br/&gt;    Next&lt;br/&gt;    &lt;br/&gt;    AlreadyUsed = False&lt;br/&gt;&lt;br/&gt;End Function&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:28 GMT</pubDate>
    </item>
    <item>
      <title>Word Macro to Format Merge Fields</title>
      <link>http://www.kblog.com/Microsoft Products/Office &amp; VBA/VBA/index.html#Archive/2003/10/09/index.html#Word_Macro_2003-10-09_08:00:28_GMT</link>
      <description>&lt;p type="Comment"&gt;Formats the field either with 2 decimal places or none.&lt;/p&gt;&lt;p type="Excerpt"&gt;Sub FormatMerges()&lt;br/&gt;    Dim d As Document&lt;br/&gt;    Set d = ActiveDocument&lt;br/&gt;    &lt;br/&gt;    For i = 1 To ActiveDocument.Fields.Count&lt;br/&gt;        s = d.Fields(i).Code&lt;br/&gt;        Debug.Print s&lt;br/&gt;        j = InStr(s, "\* MERGEFORMAT") - 1&lt;br/&gt;        &lt;br/&gt;        If j &lt; 0 Then&lt;br/&gt;            If InStr(s, "\#") = 0 Then&lt;br/&gt;                If InStr(s, "FREQPERC") &gt; 0 Then&lt;br/&gt;                    ' freqperc fields - no decimal places&lt;br/&gt;                    s1 = s &amp; " \# 0 \* MERGEFORMAT"&lt;br/&gt;                ElseIf InStr(s, "MEDIAN") &gt; 0 Or _&lt;br/&gt;                    InStr(s, "AVERAGE") &gt; 0 Or _&lt;br/&gt;                    InStr(s, "_25") &gt; 0 Or _&lt;br/&gt;                    InStr(s, "_75") &gt; 0 Then ' 2 decimal places&lt;br/&gt;                    &lt;br/&gt;                    s1 = s &amp; " \# 0.00 \* MERGEFORMAT"&lt;br/&gt;                End If&lt;br/&gt;                d.Fields(i).Code.Text = s1&lt;br/&gt;            End If&lt;br/&gt;        End If&lt;br/&gt;    Next&lt;br/&gt;        &lt;br/&gt;End Sub&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:28 GMT</pubDate>
    </item>
    <item>
      <title>Submitting Documents to BizTalk Server from the .NET Framework</title>
      <link>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbiz2k2/html/bts_wp_net.asp</link>
      <description>&lt;p type="Comment"&gt;Excerpt from MSDN:&lt;/p&gt;&lt;p type="Excerpt"&gt;When building applications using Visual Studio .NET, there are two common mechanisms to submit documents to BizTalk Server from these applications: &lt;br/&gt;&lt;br/&gt;Directly submitting using the IInterchange interface &lt;br/&gt;Submitting by writing the document to a Message Queuing message for BizTalk Server to pick up using a Message Queuing receive function&lt;br/&gt;&lt;br/&gt;The following code sample shows how a message is sent to Message Queuing that is suitable for a BizTalk Server receive function:&lt;br/&gt;&lt;br/&gt;void SendToMSMQ(string queueName, string body, string label)&lt;br/&gt;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;MessageQueue queue = new MessageQueue();&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;if (MessageQueue.Exists(queueName))&lt;br/&gt;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;//Set Queue Path&lt;br/&gt;$nbsp;$nbsp;$nbsp;queue.Path = queueName;&lt;br/&gt;$nbsp;$nbsp;$nbsp;Message msg = new Message();&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;// Assumes the dest queue already exists&lt;br/&gt;$nbsp;$nbsp;$nbsp;ActiveXMessageFormatter format = new&lt;br/&gt;                        ActiveXMessageFormatter();&lt;br/&gt;&lt;br/&gt;$nbsp;$nbsp;$nbsp;format.Write(msg, body);&lt;br/&gt;$nbsp;$nbsp;$nbsp;if (queue.Transactional) &lt;br/&gt;$nbsp;$nbsp;$nbsp;{&lt;br/&gt;$nbsp;$nbsp;$nbsp;MessageQueueTransaction trans1 = new&lt;br/&gt;                         MessageQueueTransaction();&lt;br/&gt;$nbsp;$nbsp;$nbsp;trans1.Begin();&lt;br/&gt;$nbsp;$nbsp;$nbsp;queue.Send(msg, label, trans1);&lt;br/&gt;$nbsp;$nbsp;$nbsp;trans1.Commit();&lt;br/&gt;$nbsp;$nbsp;$nbsp;}&lt;br/&gt;$nbsp;$nbsp;$nbsp;else&lt;br/&gt;$nbsp;$nbsp;$nbsp;queue.Send(msg, label);&lt;br/&gt;$nbsp;$nbsp;$nbsp;}&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbiz2k2/html/bts_wp_net.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbiz2k2/html/bts_wp_net.asp&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:27 GMT</pubDate>
    </item>
    <item>
      <title>Compressed XML Formats</title>
      <link>http://www.kblog.com/XML, XSL/index.html#Archive/2003/10/09/index.html#Compressed_2003-10-09_08:00:22_GMT</link>
      <description>&lt;p type="Excerpt"&gt;http://www.expway.com/&lt;br/&gt;http://www.yaml.org (not exactly, but relevant)&lt;br/&gt;http://www.research.att.com/sw/tools/xmill/&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:22 GMT</pubDate>
    </item>
    <item>
      <title>What the World Thinks of America</title>
      <link>http://news.bbc.co.uk/1/hi/programmes/wtwta/default.stm</link>
      <description>&lt;p type="Comment"&gt;This airs tomorrow night on the BBC.&lt;/p&gt;&lt;p type="Excerpt"&gt;The BBC is hosting a unique global television debate about America's place in the world. &lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://news.bbc.co.uk/1/hi/programmes/wtwta/default.stm"&gt;http://news.bbc.co.uk/1/hi/programmes/wtwta/default.stm&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:22 GMT</pubDate>
    </item>
    <item>
      <title>Software Noise Cancellation</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#Software_N_2003-10-09_08:00:21_GMT</link>
      <description>&lt;p type="Excerpt"&gt;With a full duplex sound card (capable of playing and recording simultaneously), it seems to me it should be feasible to implement noise cancellation in software on a PC.&lt;br/&gt;&lt;br/&gt;Bose has (expensive) headphones that do something like this, if I understand them correctly.&lt;br/&gt;&lt;br/&gt;I would like to be able to listen to audio on my laptop and cancel out the sound of the truck parked outside my window. Screaming babies and car alarms would be good test cases as well.&lt;br/&gt;&lt;br/&gt;Would that be a wicked Winamp plug-in or what?&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:21 GMT</pubDate>
    </item>
    <item>
      <title>Traffic Gauge</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#Traffic_Ga_2003-10-09_08:00:21_GMT</link>
      <description>&lt;p type="Excerpt"&gt;A Seattle company called &lt;a href="http://seattlepi.nwsource.com/venture/126468_vc13.html"&gt;Traffic Gauge&lt;/a&gt; has invented a small, always on device which shows current traffic conditions. I got one for dad for father's day and he loves it! Apparently the thing is mesmerizing to watch.&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:21 GMT</pubDate>
    </item>
    <item>
      <title>Refactoring C# Exception Handling</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#Refactorin_2003-10-09_08:00:21_GMT</link>
      <description>&lt;p type="Excerpt"&gt;I'd really like an IDE feature or extenstion that would list the possible exceptions thrown in a give try {} block.&lt;br/&gt;&lt;br/&gt;The purpose would be to refactor&lt;br/&gt;&lt;br/&gt;try&lt;br/&gt;{}&lt;br/&gt;catch ( Exception e)&lt;br/&gt;{}&lt;br/&gt;&lt;br/&gt;so that it would just catch a meaningful subset of Exceptions.&lt;br/&gt;&lt;br/&gt;Does this exist anywhere?&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:21 GMT</pubDate>
    </item>
    <item>
      <title>http://www.ozzie.net/blog/stories/2003/07/03/extremeMobility.html</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#http://www_2003-10-09_08:00:21_GMT</link>
      <description>&lt;p type="Comment"&gt;An excerpt from Ray Ozzie's blog [via Dan Gillmor]&lt;/p&gt;&lt;p type="Excerpt"&gt;I believe we're currently in a transition period for personal computing: from a tethered, desk-bound, personal productivity view, to one of highly mobile interpersonal productivity and collaboration, communications, coordination. We're focused right now on devices and networks because we're coming at the problem bottom-up: preoccupied by gizmos and technologies' capabilities rather than focusing on how our lives and businesses and economies and societies will be fundamentally altered.&lt;br/&gt;&lt;br/&gt;If technology, molded into any of a variety of forms, can ultimately give us continuous awareness of the geo-location, activity, interruptability, and even potentially "state of mind" of those with whom we wish to "be close to", what will it do to the nature of the nuclear family unit? The local community? The collaborative work team?&lt;br/&gt;&lt;br/&gt;If technology, molded into forms such that teams of individuals can virtually and dynamically assemble into highly productive organizational units, what will ultimately happen to the large-scale enterprise? In what industries will the mega-corporation continue to exist as a large scale employer, versus being more-or-less an aggregator and connector of highly productive smaller companies?&lt;br/&gt;&lt;br/&gt;Regardless, one thing seems certain: with the notable exception of a small number of truly visionary CIO's such as the one mentioned above - exceptional individuals who are willing to move their enterprises forward by taking risks - discovery and innovation in mobility and interpersonal productivity &amp; communications - in "relationship superconductivity" - is being driven primarily from "the edge": from small businesses, organizations and individuals who are experimenting with new communications technologies and software. Innovation now works its way into the enterprise; it no longer migrates outward. The technology leaders of the past - enterprise IT - are now focused (for very good economic reason!!) on cost reduction and efficiency, on "fast solutions", and on a very tough regulatory environment, through strict controls. Liability, and the sheer mass and difficulty of managing broad ICT deployments encourages conservatism, and this won't be changing anytime soon.&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:21 GMT</pubDate>
    </item>
    <item>
      <title>Blogagotchi</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#Blogagotch_2003-10-09_08:00:20_GMT</link>
      <description>&lt;p type="Excerpt"&gt;(&lt;a href="http://www.lazyweb.org"&gt;Lazyweb&lt;/a&gt; request #2) - Blog-counter-web-pet&lt;br/&gt; &lt;br/&gt;A blogagotchi (or Blogemon) is a monster that inhabits your blog. Your posts are its food, page views are its love, inbound links are its friends, outbound links its exercise. When you sign up for a blogagotchi, it is born - and ages in blog time. If in a few months, if it has eaten well (had lots of posts), and been played with (viewed often) it will be in good health. Otherwise, it will be mean and anemic.&lt;br/&gt; &lt;br/&gt;It is an animated GIF or bit of Flash that resides in your side bar. A small window on to Blogagotchi's world. Each visit finds him playing, sleeping, listening to music - or moping, hungry and lonely. Blogagotchi's sleeping patterns could even match the sleeping patterns of his owner, based on the statistical distribution of his owner's posts.&lt;br/&gt; &lt;br/&gt;For blogagotchi owners, a web pet is a motivation to create a great blog. For blog readers, a web pet is an instant indication of the health of a blog. Could blogagotchi make friends on his own with other blog pets and suggest them to you? Could visitors click him to give him even more love?&lt;br/&gt; &lt;br/&gt;Blogemon.com&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Reads RSS for pet owners to determine how well fed their pet is, and determine sleeping patterns.&lt;br/&gt;&lt;li&gt;Polls Technorati for Inbound/Outbound links&lt;br/&gt;&lt;li&gt;Generates a GIF for each visitor based on the current state of the pet.&lt;/ul&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:20 GMT</pubDate>
    </item>
    <item>
      <title>(Just a post with a counter)</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#(Just_a_po_2003-10-09_08:00:20_GMT</link>
      <description>&lt;p type="Excerpt"&gt;&lt;center&gt;&lt;br/&gt;&lt;!--WEBBOT bot="HTMLMarkup" startspan ALT="Site Meter" --&gt;&lt;br/&gt;&lt;script type="text/javascript" language="JavaScript"&gt;var site="sm9kblog"&lt;/script&gt;&lt;br/&gt;&lt;script type="text/javascript" language="JavaScript1.2" src="http://sm9.sitemeter.com/js/counter.js?site=sm9kblog"&gt;&lt;br/&gt;&lt;/script&gt;&lt;br/&gt;&lt;noscript&gt;&lt;br/&gt;&lt;a href="http://sm9.sitemeter.com/stats.asp?site=sm9kblog" target="_top"&gt;&lt;br/&gt;&lt;img src="http://sm9.sitemeter.com/meter.asp?site=sm9kblog" alt="Site Meter" border=0&gt;&lt;/a&gt;&lt;br/&gt;&lt;/noscript&gt;&lt;br/&gt;&lt;!-- Copyright (c)2002 Site Meter --&gt;&lt;br/&gt;&lt;!--WEBBOT bot="HTMLMarkup" Endspan --&gt;&lt;br/&gt;&lt;/center&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:20 GMT</pubDate>
    </item>
    <item>
      <title>Experimental Audregator</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#Experiment_2003-10-09_08:00:20_GMT</link>
      <description>&lt;p type="Excerpt"&gt;My "too much free time" experiment from a few weekends ago. Generates a playlist of recent audblog posts so you get a nice cross section of prayer requests, phone porn, bored idiots, and other people who need to share their life with the whole world. Fascinating, stupid, or both?&lt;br/&gt; &lt;br/&gt;&lt;a href="http://leond.europe.webmatrixhosting.net/index.html"&gt;http://leond.europe.webmatrixhosting.net/index.html&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:20 GMT</pubDate>
    </item>
    <item>
      <title>Happenings</title>
      <link>http://www.kblog.com/index.html#Archive/2003/10/09/index.html#Happenings_2003-10-09_08:00:20_GMT</link>
      <description>&lt;p type="Excerpt"&gt;I saw a scene from the upcoming Thunderbirds movie being filmed down at south bank yesterday. Apparently, the director from a few of the Star Trek films is directing it &lt;a href="http://www.ananova.com/entertainment/story/sm_632635.html"&gt;(Ananova)&lt;/a&gt;. Looked a bit like the Power Rangers from my angle.&lt;br/&gt;&lt;br/&gt;Also, once again I managed to miss &lt;a href="http://www.eonline.com/News/Items/0,1,11970,00.html"&gt;Adam Ant in our neighborhood&lt;/a&gt; (he lives 'round the corner).&lt;br/&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 09 Oct 2003 08:00:20 GMT</pubDate>
    </item>
    <item>
      <title>Audblog Experiment -  listen to latest posts</title>
      <link>http://leond.europe.webmatrixhosting.net/index.html</link>
      <description>&lt;p&gt;&lt;a href="http://leond.europe.webmatrixhosting.net/index.html"&gt;http://leond.europe.webmatrixhosting.net/index.html&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sun, 01 Jun 2003 11:50:03 GMT</pubDate>
    </item>
  </channel>
</rss>