﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Cool Programming</title>
    <link>http://www.kbcafe.com/csharp/</link>
    <description>Cool Programming Tips with C#</description>
    <managingEditor>webmaster@kbcafe.com</managingEditor>
    <webMaster>webmaster@kbcafe.com</webMaster>
    <pubDate>Thu, 25 May 2006 01:14:20 GMT</pubDate>
    <lastBuildDate>Thu, 25 May 2006 01:14:20 GMT</lastBuildDate>
    <copyright>Copyright 2005 Randy Charles Morin</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <ttl>60</ttl>
    <image>
      <url>http://www.kbcafe.com/csharp/logo.jpg</url>
      <title>Cool Programming</title>
      <link>http://www.kbcafe.com/csharp/</link>
    </image>
    <rar:archive xmlns:rar="http://tempuri.org">http://www.kbcafe.com/csharp/archive.xml</rar:archive>
    <item>
      <title>Technical Bullshit Talk</title>
      <description>&lt;P&gt;I use to work for a development architect whose sentences were filled with buzzwords. Developers and management alike were so awed by his buzzword filled sentences, that they never dared challenge his incomprehensible banter. But eventually, after about a year, it became obvious to most that he was all talk and that his architectures were vapour thoughts. He was moved to marketing, where he would be more valuable. Since then, I've always been weary of bullshit talk. Today, I found a &lt;A href="http://www-306.ibm.com/software/info1/websphere/index.jsp?tab=landings/esbbenefits"&gt;classic bullshit talk paragraph&lt;/A&gt; written by someone at IBM.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;An enterprise service bus (ESB) is a pattern of middleware that unifies and connects services, applications and resources within a business. Put another way, it is the framework within which the capabilities of a business' applications are made available for reuse by other applications throughout the organization and beyond.&lt;/BLOCKQUOTE&gt;
&lt;P&gt;That's a lot of buzzwords. I don't know who wrote that, but I'm 99% sure this guy is bullshitting his managers under the mat while produce a lot of vapour thoughts and nothing much else.&lt;/P&gt;</description>
      <link>http://www.kbcafe.com/csharp/?guid=20060524181420</link>
      <pubDate>Thu, 25 May 2006 01:14:20 GMT</pubDate>
      <guid>http://www.kbcafe.com/csharp/?guid=20060524181420</guid>
      <comments>http://www.kbcafe.com/csharp/?guid=20060524181420</comments>
      <trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.kbcafe.com/csharp/trackback.aspx?guid=20060524181420</trackback:ping>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/commentapi.aspx?guid=20060524181420</wfw:comment>
      <wfw:commentRSS xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/20060524181420.xml</wfw:commentRSS>
    </item>
    <item>
      <title>C# from Javascript</title>
      <description>&lt;P&gt;If you try to call a C# object via ActiveX from Javascript, then you'll get a warning that I would suggest most users answer negatively too and will cause your ActiveX C# object to fail. In order to bypass this warning message you have to inherit the IObjectSafety interface. I found a perfect sample on the &lt;A href="http://blogs.msdn.com/infopath/archive/2005/04/15/408728.aspx"&gt;InfoPath Team blog&lt;/A&gt;. Worked!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/infopath/archive/2005/04/15/408728.aspx"&gt;http://blogs.msdn.com/infopath/archive/2005/04/15/408728.aspx&lt;/A&gt;&lt;/P&gt;</description>
      <link>http://www.kbcafe.com/csharp/?guid=20060523124431</link>
      <pubDate>Tue, 23 May 2006 19:44:31 GMT</pubDate>
      <guid>http://www.kbcafe.com/csharp/?guid=20060523124431</guid>
      <comments>http://www.kbcafe.com/csharp/?guid=20060523124431</comments>
      <trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.kbcafe.com/csharp/trackback.aspx?guid=20060523124431</trackback:ping>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/commentapi.aspx?guid=20060523124431</wfw:comment>
      <wfw:commentRSS xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/20060523124431.xml</wfw:commentRSS>
      <category>c#</category>
      <category>javascript</category>
    </item>
    <item>
      <title>W.A.S.T.E.</title>
      <description>We've all heard of LAMP (Linux Apache MySQL PHP) and Tim Bray invented &lt;A href="http://www.tbray.org/ongoing/When/200x/2006/05/03/MARS-T-Shirt"&gt;MARS&lt;/A&gt; (MySQL Apache Rails Solaris). Well how about WASTE (&lt;A href="http://www.microsoft.com/windows/"&gt;Windows&lt;/A&gt; &lt;A href="http://msdn.microsoft.com/asp.net/"&gt;ASP.NET&lt;/A&gt; &lt;A href="http://www.microsoft.com/sql/"&gt;SQLServer&lt;/A&gt;&amp;nbsp;&lt;A href="http://msdn.microsoft.com/vstudio/teamsystem/"&gt;TeamSystem&lt;/A&gt; &lt;A href="http://msdn.microsoft.com/vstudio/express/"&gt;ExpressEditions&lt;/A&gt;)? It's the architecture of the future.</description>
      <link>http://www.kbcafe.com/csharp/?guid=20060503164801</link>
      <pubDate>Wed, 03 May 2006 23:48:01 GMT</pubDate>
      <guid>http://www.kbcafe.com/csharp/?guid=20060503164801</guid>
      <comments>http://www.kbcafe.com/csharp/?guid=20060503164801</comments>
      <trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.kbcafe.com/csharp/trackback.aspx?guid=20060503164801</trackback:ping>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/commentapi.aspx?guid=20060503164801</wfw:comment>
      <wfw:commentRSS xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/20060503164801.xml</wfw:commentRSS>
      <category>waste</category>
      <category>lamp</category>
      <category>mars</category>
    </item>
    <item>
      <title>ActiveX component in Javascript</title>
      <description>&lt;P&gt;Sometimes, the simplest of sample codes communicate a tremendous amount of knowledge. &lt;A href="http://www.devhood.com/messages/message_view-2.aspx?thread_id=16569"&gt;Case in point&lt;/A&gt;.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;Here is a sample of how to create a very simple ActiveX component:&lt;BR&gt;&lt;BR&gt;// AxComp.cs&lt;BR&gt;using System;&lt;BR&gt;using System.Runtime.InteropServices;&lt;BR&gt;namespace AXComponent &lt;BR&gt;{&lt;BR&gt;&lt;BR&gt;public interface AXTest&lt;BR&gt;{&lt;BR&gt;string callMe();&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;[ClassInterface(ClassInterfaceType.AutoDual)]&lt;BR&gt;public class AxComp :AXTest&lt;BR&gt;{&lt;BR&gt;public string callMe()&lt;BR&gt;{&lt;BR&gt;return "My dog has no nose, how does it smell?";&lt;BR&gt;}&lt;BR&gt;}&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;Compile this using:&lt;BR&gt;csc /t:library AxComp.cs&lt;BR&gt;&lt;BR&gt;Register and generate Typelib with:&lt;BR&gt;regasm AxComp.dll /tlb:AxCompNet.dll /codebase&lt;BR&gt;&lt;BR&gt;Try the control: ( testControl.htm )&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;html&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;head&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;script &lt;/SPAN&gt;&lt;SPAN class=fieldname&gt;language&lt;/SPAN&gt;=&lt;SPAN class=fieldvalue&gt;"javascript"&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;var obNewAXComponent = new ActiveXObject("AXComponent.AXComp");&lt;BR&gt;alert(obNewAXComponent.callMe());&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;script&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;head&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;body&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;h1&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;Awful!&lt;SPAN class=bracket&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;h1&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;body&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=bracket&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN class=tagname&gt;html&lt;/SPAN&gt;&lt;SPAN class=bracket&gt;&amp;gt;&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;</description>
      <link>http://www.kbcafe.com/csharp/?guid=20060503084626</link>
      <pubDate>Wed, 03 May 2006 15:46:26 GMT</pubDate>
      <guid>http://www.kbcafe.com/csharp/?guid=20060503084626</guid>
      <comments>http://www.kbcafe.com/csharp/?guid=20060503084626</comments>
      <trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.kbcafe.com/csharp/trackback.aspx?guid=20060503084626</trackback:ping>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/commentapi.aspx?guid=20060503084626</wfw:comment>
      <wfw:commentRSS xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/20060503084626.xml</wfw:commentRSS>
      <category>activex</category>
      <category>javascript</category>
      <category>c#</category>
    </item>
    <item>
      <title>Oops I'm too lazy</title>
      <description>&lt;P&gt;At least once a year, I end up working with a developer who's so lazy that he causes more work than he does. You know who I'm talking about. The guy who always breaks the build when he checks his code in. The guy who doesn't merge changes before checking in his code, thus wiping out code checked-in by other developers. The guy who often shows up to work in the afternoon or leaves work immediately after lunch.&lt;/P&gt;
&lt;P&gt;Problem is, the lazy guy isn't the real problem. The real problem is that I've never been able to get these guys fired. The real problem is that somebody always stands between me and firing this guy.&lt;/P&gt;</description>
      <link>http://www.kbcafe.com/csharp/?guid=20060502070852</link>
      <pubDate>Tue, 02 May 2006 14:08:52 GMT</pubDate>
      <guid>http://www.kbcafe.com/csharp/?guid=20060502070852</guid>
      <comments>http://www.kbcafe.com/csharp/?guid=20060502070852</comments>
      <trackback:ping xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">http://www.kbcafe.com/csharp/trackback.aspx?guid=20060502070852</trackback:ping>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/commentapi.aspx?guid=20060502070852</wfw:comment>
      <wfw:commentRSS xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.kbcafe.com/csharp/20060502070852.xml</wfw:commentRSS>
    </item>
  </channel>
</rss>
