<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Staffan Malmgrens blogg &#187; .Net</title>
	<atom:link href="http://blog.tomtebo.org/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tomtebo.org</link>
	<description>Programmering, juridik, punkrock och andra trivialiteter</description>
	<lastBuildDate>Sun, 01 Jan 2012 14:51:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>State of alternative languages on the CLR?</title>
		<link>http://blog.tomtebo.org/2004/05/01/state_of_alternative_languages_on_the_clr/</link>
		<comments>http://blog.tomtebo.org/2004/05/01/state_of_alternative_languages_on_the_clr/#comments</comments>
		<pubDate>Fri, 30 Apr 2004 23:52:00 +0000</pubDate>
		<dc:creator>staffan</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[datavetenskap]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[smalltalk]]></category>

		<guid isPermaLink="false">http://newblog.tomtebo.org/programming/state_of_alternative_languages_on_the_clr.html</guid>
		<description><![CDATA[A big selling point in the initial marketing of the .Net platform was that it was supposed to enable code written in different language to interoperate smoothly. I always looked at that claim with a fair amount of suspicion, probably &#8230; <a href="http://blog.tomtebo.org/2004/05/01/state_of_alternative_languages_on_the_clr/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A big selling point in the initial marketing of the .Net platform was that it was supposed to enable code written in different language to interoperate smoothly. I always looked at that claim with a fair amount of suspicion, probably since I remember what it was like to develop classic ASP with Perl. If you remember, ASP was supposed to be usable with any language that supported Active Scripting, and ActiveState brought out a <a href="http://www.activestate.com/Products/ActivePerl/">Win32 version of Perl</a> that did. However, I never got it to run as smoothly as with VBScript (If I recall correctly, I had the most problems with getting ADO calls to work right), and since it was a &#8221;unsupported&#8221; language, I couldn&#8217;t find much help on the net.&nbsp;I was hoping that this time around, Microsoft would try harder to make programming in third-party languages a reality.</p>
<p>Now, while the CLR is designed to run IL code which is language-agnostic in theory, it&#8217;s seems obvious to me that the CTS was designed for imperative, object oriented language with strong(-ish) typing, and in&nbsp;particular the C# language.&nbsp;It do not lend itself readily to typeless,dynamic, functional and/or logical&nbsp;languages. Articles like <a href="http://www.infoworld.com/article/03/08/22/33OPstrategic_1.html">&#8221;<span class=artText></span><span class=artTitle>Dynamic languages and virtual machines</span>&#8221;</a> by <a href="http://weblog.infoworld.com/udell/">Jon Udell</a> and <a href="http://www.sdtimes.com/cols/winwatch_095.htm">&#8221;Ignoring the Scripts&#8221;</a> by <a href="http://www.thinkingin.net/">Larry O&#8217;Brien</a> state that noone is using dynamic languages on the .Net platform to any large degree.</p>
<p>However, while I was researching Smalltalk for the <a href="http://idg.se/ArticlePages/200404/28/20040428093934_IDG.se884/20040428093934_IDG.se884.dbp.asp">IDG.se column</a>, I stumbled across <a href="http://www.refactory.com/Software/SharpSmalltalk/">#Smalltalk</a> that seem to be a fairly useful Smalltalk implementation that compiles to IL code. Also of interest is <a href="http://www.smallscript.org/Downloads/SSharp_NET_Notes.asp">S#.Net</a>, a dialect of Smalltalk-98 that also runs on the CLR.</p>
<p>Some of the other languages that have been made to run on the CLR are:</p>
<ul>
<li>Python, in the form of <a href="http://ironpython.com/">IronPython</a>.</li>
<li>Standard ML, in the form of <a href="http://www.cl.cam.ac.uk/Research/TSG/SMLNET/">SML.NET</a>.</li>
<li>Mercury, a logical language in the tradition of Prolog, in the form of <a href="http://www.cs.mu.oz.au/research/mercury/dotnet.html">Mercury.NET</a>.</li>
<li>Lisp and Scheme, in the form of <a href="http://dotlisp.sourceforge.net/dotlisp.htm">dotlisp</a> and <a href="http://www.rivendell.ws/dot-scheme/">Dot-Scheme</a>.</li>
</ul>
<p>All these languages are pretty far from being strongly-typed imperative languages, so it seems that it is indeed possible to use more dynamic languages on the .Net platform. Indeed, <a href="http://hugunin.net/">Jim Hugunin</a>, the author of IronPython (and <a href="http://www.jython.org/">Jython</a>, the Python-on-JVM implementation)&nbsp;notes that while his initial intention was to write an article titled &#8221;<!--StartFragment -->Why .NET is a terrible platform for dynamic languages&#8221;, he ended up with the conclusion that the CLR is indeed a good platform for dynamic languages. My question is: Is anyone using these languages on the .Net platform in real projects? I&#8217;d be very interested to hear any success stories.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomtebo.org/2004/05/01/state_of_alternative_languages_on_the_clr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keith Brown on managed code security</title>
		<link>http://blog.tomtebo.org/2004/03/25/keith_brown_on_managed_code_security/</link>
		<comments>http://blog.tomtebo.org/2004/03/25/keith_brown_on_managed_code_security/#comments</comments>
		<pubDate>Thu, 25 Mar 2004 13:13:00 +0000</pubDate>
		<dc:creator>staffan</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[datorsäkerhet]]></category>

		<guid isPermaLink="false">http://newblog.tomtebo.org/programming/keith_brown_on_managed_code_security.html</guid>
		<description><![CDATA[This is an interesting article about code security in the CLR, and how little teeth the declarative security features in the CLR have when it&#8217;s running fully trusted code. I did know that some naughty things (like calling private methods) &#8230; <a href="http://blog.tomtebo.org/2004/03/25/keith_brown_on_managed_code_security/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p xmlns="http://www.w3.org/1999/xhtml">
          <a href="http://msdn.microsoft.com/msdnmag/issues/04/04/SecurityBriefs/">This</a> is<br />
        an interesting article about code security in the CLR, and how little teeth the declarative<br />
        security features in the CLR have when it&#8217;s running fully trusted code. I did know<br />
        that some naughty things (like calling private methods) was possible using reflection,<br />
        but I was under the assumption that <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemSecurityIStackWalkClassTopic.asp">IStackWalk</a>.<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemSecurityIStackWalkClassTopic.asp">Deny()</a> trumphed<br />
        most anything. In the article, Keith shows how to malicious code can get around that<br />
        and also AppDomain separation &#8212; if the assembly it&#8217;s in is marked as FullTrust.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
<blockquote xmlns="http://www.w3.org/1999/xhtml"><p>
          <i>Fully trusted code can get around all of the CLR&#8217;s built-in security<br />
    features. That&#8217;s why it&#8217;s called fully trusted &#8211; it must be trusted to do the<br />
    right thing. </i>
        </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomtebo.org/2004/03/25/keith_brown_on_managed_code_security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abstract UserControls and VS.Net designer wierdness</title>
		<link>http://blog.tomtebo.org/2004/03/17/abstract_usercontrols_and_vs_net_designer_wierdness/</link>
		<comments>http://blog.tomtebo.org/2004/03/17/abstract_usercontrols_and_vs_net_designer_wierdness/#comments</comments>
		<pubDate>Wed, 17 Mar 2004 12:32:00 +0000</pubDate>
		<dc:creator>staffan</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[programmering]]></category>

		<guid isPermaLink="false">http://newblog.tomtebo.org/programming/abstract_usercontrols_and_vs_net_designer_wierdness.html</guid>
		<description><![CDATA[I&#8217;m writing a bunch of user controls that each acts as a &#8221;page&#8221; in a wizard-style application. The setup, teardown and state management in each user control class are similar. I&#8217;d like to have an abstract base class (let&#8217;s call &#8230; <a href="http://blog.tomtebo.org/2004/03/17/abstract_usercontrols_and_vs_net_designer_wierdness/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p xmlns="http://www.w3.org/1999/xhtml">
        I&#8217;m writing a bunch of user controls that each acts as a &#8221;page&#8221; in a wizard-style<br />
        application. The setup, teardown and state management in each user control class are<br />
        similar. I&#8217;d like to have an abstract base class (let&#8217;s call it AbstractPageBase),<br />
        that inherits from System.Windows.Forms.UserControl and rovides a implementation<br />
        of the setup and teardown stuff, with calls to abstract methods (eg GetPageStateFromDatabase)<br />
        that the derived classes override to plug in their custom initialization code.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        And it works fine. The stuff compiles and works as expected. The problem is when I<br />
        want to look at a derived component (let&#8217;s call it MyDerivedPage) using the VS.Net<br />
        form designer. I get an error message stating that the designer must create an instance<br />
        of PageBase, but fails since it&#8217;s abstract.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        If I make PageBase non-abstract (changing all the abstract methods to virtual), the<br />
        designer can show derived controls. But that&#8217;s annoying, since I&#8217;m not guaranteed<br />
        to override all the methods I need to override. Furthermore, I cannot understand why<br />
        the designer needs to create an instance of the base class of the control I want to<br />
        edit. Why doesn&#8217;t it create an instance of the actual control instead?
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
          <strong>Update</strong>: Jacob Grass <a href="http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;oe=UTF-8&amp;selm=eTdNSs8bCHA.392%40tkmsftngp09&amp;rnum=1">explains</a> why<br />
        this is, and how to work around it.
    </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomtebo.org/2004/03/17/abstract_usercontrols_and_vs_net_designer_wierdness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today&#8217;s .Net framework lesson</title>
		<link>http://blog.tomtebo.org/2004/03/15/today__s__net_framework_lesson/</link>
		<comments>http://blog.tomtebo.org/2004/03/15/today__s__net_framework_lesson/#comments</comments>
		<pubDate>Mon, 15 Mar 2004 15:19:00 +0000</pubDate>
		<dc:creator>staffan</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[programmering]]></category>

		<guid isPermaLink="false">http://newblog.tomtebo.org/programming/today__s__net_framework_lesson.html</guid>
		<description><![CDATA[System.Enum.Parse (and it&#8217;s logical counterpart, System.Enum.Format) rocks. That&#8217;s all for today.]]></description>
			<content:encoded><![CDATA[<p><a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemEnumClassParseTopic.asp" xmlns="http://www.w3.org/1999/xhtml">System.Enum.Parse</a> (and<br />
    it&#8217;s logical counterpart, <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemEnumMethodsTopic.asp" xmlns="http://www.w3.org/1999/xhtml">System.Enum.Format</a>)<br />
    rocks. That&#8217;s all for today.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomtebo.org/2004/03/15/today__s__net_framework_lesson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Circles, Triangles and Rectangles</title>
		<link>http://blog.tomtebo.org/2004/01/21/circles__triangles_and_rectangles/</link>
		<comments>http://blog.tomtebo.org/2004/01/21/circles__triangles_and_rectangles/#comments</comments>
		<pubDate>Wed, 21 Jan 2004 22:28:00 +0000</pubDate>
		<dc:creator>staffan</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[Csharp]]></category>
		<category><![CDATA[datavetenskap]]></category>
		<category><![CDATA[programmering]]></category>

		<guid isPermaLink="false">http://newblog.tomtebo.org/programming/circles__triangles_and_rectangles.html</guid>
		<description><![CDATA[It seems that Microsoft is working with Cambridge university on a extension to C# called &#8221;Xen&#8221;, aimed at simplifying access to XML and RDBMS data by making advanced data access a first-class member of the language itself, rather than using &#8230; <a href="http://blog.tomtebo.org/2004/01/21/circles__triangles_and_rectangles/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p xmlns="http://www.w3.org/1999/xhtml">
        It seems that Microsoft is working with Cambridge university on a extension to C#<br />
        called &#8221;<a href="http://www.cl.cam.ac.uk/~gmb/Papers/vanilla-xml2003.html">Xen</a>&#8221;,<br />
        aimed at simplifying access to XML and RDBMS data by making advanced data access a<br />
        first-class member of the language itself, rather than using libraries, and going<br />
        way beyond simple extensions like <a href="http://www.informit.com/isapi/product_id~%7B46BDD2C1-0C2B-4BC0-B701-3AEF1FD50913%7D/content/index.asp">typed<br />
        datasets</a> and <a href="http://java.sun.com/xml/jaxb/">JAXB</a>.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        While I do like small, powerful languages like <a href="http://www.swiss.ai.mit.edu/projects/scheme/">scheme</a>,<br />
        I actually think that these ideas have their merits. I remember how differently I<br />
        would approach a problem in <a href="http://www.perl.org/">Perl</a>, due to its first-class<br />
        inclusion of <a href="http://www.perldoc.com/perl5.8.0/pod/perldata.html">associative<br />
        arrays</a>, <a href="http://www.perldoc.com/perl5.8.0/pod/perlrequick.html">regexps</a> and<br />
        data binding (the <a href="http://www.perldoc.com/perl5.8.0/pod/perltie.html">tie</a>()<br />
        system), and in <a href="http://www.extremetech.com/print_article/0,3998,a=116719,00.asp">this<br />
        article</a> from ExtremeTech, I get the feeling that I would be able to tackle more<br />
        complex relational data in totally new ways.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        I&#8217;d recommend reading the <a href="http://www.extremetech.com/print_article/0,3998,a=116719,00.asp">article</a> first,<br />
        then the <a href="http://www.cl.cam.ac.uk/~gmb/Papers/vanilla-xml2003.html">actual</a><a href="http://www.research.microsoft.com/~emeijer/Papers/XS.pdf">papers</a>. So far,<br />
        I&#8217;ve only skimmed the papers, but I think that if they get this right, it could<br />
        be pretty powerful. And innovative.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        Also, as pun-inviting as the name Xen may be, I am thankful that they dropped the<br />
        original name: X#&#8230;
    </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomtebo.org/2004/01/21/circles__triangles_and_rectangles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I actually do some programming every now and then</title>
		<link>http://blog.tomtebo.org/2004/01/16/i_actually_do_some_programming_every_now_and_then/</link>
		<comments>http://blog.tomtebo.org/2004/01/16/i_actually_do_some_programming_every_now_and_then/#comments</comments>
		<pubDate>Fri, 16 Jan 2004 01:35:00 +0000</pubDate>
		<dc:creator>staffan</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[metablogging]]></category>
		<category><![CDATA[programmering]]></category>

		<guid isPermaLink="false">http://newblog.tomtebo.org/programming/i_actually_do_some_programming_every_now_and_then.html</guid>
		<description><![CDATA[It seems that J2EE oriented developer site TheServerSide has opened up a sister site oriented around the .NET platform, naturally called TheServerSide.NET. Not being a J2EE developer, I haven&#8217;t read much from TheServerSide, but I do recall there being some &#8230; <a href="http://blog.tomtebo.org/2004/01/16/i_actually_do_some_programming_every_now_and_then/">Läs mer <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p xmlns="http://www.w3.org/1999/xhtml">
        It seems that J2EE oriented developer site <a href="http://www.theserverside.com/">TheServerSide</a> has<br />
        opened up a sister site oriented around the .NET platform, naturally called <a href="http://www.theserverside.net/news/index.aspx">TheServerSide.NET</a>.<br />
        Not being a J2EE developer, I haven&#8217;t read much from TheServerSide, but I do<br />
        recall there being some controversy about their involvement in a .NET adaption and<br />
        benchmarking of Suns &#8221;best practices&#8221; example &#8221;Pet Shop&#8221;. However, I do believe they<br />
        had fairly good reputation up till that point at least.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        The new site looks interesting, and has a RSS feed, so I&#8217;ll be keeping an eye on it.<br />
        Already I&#8217;ve found <a href="http://www.interact-sw.co.uk/iangblog/2004/01/12/shinyurl">this<br />
        interesting article</a> linked from it, about how to keep control over the design<br />
        of your URL&#8217;s in the ASP.NET framework. I like it when people care about how their<br />
        URLs look.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        Speaking of URLs, the ones provided by this blog look pretty ugly. The <a href="http://simplegeek.com/">BlogX</a> software<br />
        I&#8217;m running seem to have been superceded by <a href="http://www.dasblog.net/">dasBlog</a>,<br />
        and I was thinking about upgrading to that, but then I got to read Martin Fowlers <a href="http://www.martinfowler.com/bliki/WhatIsaBliki.html">WhatIsABliki</a>,<br />
        and decided that it would be so more much worthwile to think about what could be done<br />
        with a Wiki-style approach to publishing. Ideally, I would like to have something<br />
        that I post to like it was a blog, but where posts that deal with the same subject<br />
        gets aggregated into Wiki-style articles over time.
    </p>
<p xmlns="http://www.w3.org/1999/xhtml">
        In fact, that is what I wanted to do with The swedish punk/hardcore archive (SPHA)<br />
        (Now I&#8217;m gonna get soooooo many google hits from people looking for &#8221;swedish hardcore&#8221;),<br />
        like eight years ago, only neither blogs or wiki was established at that time. I am<br />
        such a visionary.
    </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tomtebo.org/2004/01/16/i_actually_do_some_programming_every_now_and_then/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

