<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Michał Cierniak</title><link>http://blogs.msdn.com/michaljc/default.aspx</link><description>Rotor, Semiworks and other interesting topics</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>CGO 2007 and PPPJ 2006</title><link>http://blogs.msdn.com/michaljc/archive/2006/04/05/569185.aspx</link><pubDate>Wed, 05 Apr 2006 21:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:569185</guid><dc:creator>michaljc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/569185.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=569185</wfw:commentRss><description>For those of you who have not updated your feeds to my &lt;a href="http://blog.cierniak.org"&gt;new blog&lt;/a&gt;, I wanted to mention two conferences I am involved in.&amp;nbsp; You can read more about them in these two posts:&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://blog.cierniak.org/2006/02/pppj-06.html"&gt;2006 International Conference on Principles and Practices of Programming in Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.cierniak.org/2006/04/cgo-2007.html"&gt;2007 International Symposium on Code Generation and Optimization&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=569185" width="1" height="1"&gt;</description></item><item><title>Moving to a new blog</title><link>http://blogs.msdn.com/michaljc/archive/2005/04/14/408043.aspx</link><pubDate>Thu, 14 Apr 2005 11:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:408043</guid><dc:creator>michaljc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/408043.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=408043</wfw:commentRss><description>&lt;p&gt;I am moving my blog to &lt;a href="http://blog.cierniak.org"&gt;my own site&lt;/a&gt;.&amp;nbsp; In&amp;nbsp;my personal blog I will not be writing much about computer technology (at least not for a while), so if you are looking for posts related to computers, virtual machines, Rotor or CLR, you will probably not find my new blog interesting.&amp;nbsp; If anyone really wants to replace the old RSS feed with a new one, you can use my &lt;a href="http://del.icio.us"&gt;del.icio.us&lt;/a&gt; blog feeds: &lt;a href="http://del.icio.us/rss/michal/research+myblog"&gt;research&lt;/a&gt; and &lt;a href="http://del.icio.us/rss/michal/computers+myblog"&gt;computers&lt;/a&gt;.&lt;/p&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=408043" width="1" height="1"&gt;</description></item><item><title>Other LIL languages</title><link>http://blogs.msdn.com/michaljc/archive/2005/03/17/397536.aspx</link><pubDate>Thu, 17 Mar 2005 18:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:397536</guid><dc:creator>michaljc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/397536.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=397536</wfw:commentRss><description>&lt;p&gt;My &lt;a href="/michaljc/archive/2005/02/23/379329.aspx"&gt;most recent post&lt;/a&gt; was about LIL (Low-level Intermediate Language).&amp;nbsp; I realized recently that this is an obvious acronym to use in the context of a lightweight computer language&amp;nbsp;and just for fun I searched the web for "LIL" in the context of terms related to computer science, languages, virtual machines etc.&amp;nbsp; I probably didn't find all of the related instances&amp;nbsp;but I created &lt;a href="http://blog.cierniak.org/2005/03/other-lils.html"&gt;this short list&lt;/a&gt; of other projects also called LIL.&lt;/p&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=397536" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/Other/default.aspx">Other</category></item><item><title>Execution Engine-independent JIT compilers</title><link>http://blogs.msdn.com/michaljc/archive/2005/02/23/379329.aspx</link><pubDate>Thu, 24 Feb 2005 03:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:379329</guid><dc:creator>michaljc</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/379329.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=379329</wfw:commentRss><description>&lt;p&gt;I have recently put together a set of slides about LIL (Low-level Intermediate Language) and gave a talk at Microsoft.&amp;nbsp; This work was done before I joined Microsoft: LIL was developed by the ORP (&lt;a href="http://www.intel.com/technology/itj/2003/volume07issue01/art01_orp/p01_abstract.htm"&gt;Open Runtime Platform&lt;/a&gt;) team at Intel.&amp;nbsp; LIL was addressing multiple issues in the ORP design (papers referenced below can give you an idea) but the focus of this presentation was more narrow: how to improve the interface between the JIT (Just-In-Time compiler) and the rest of the VM.&amp;nbsp; I'd like to point out that I use the terms VM (Virtual Machine) and EE (Execution Engine) interchangeably&amp;nbsp;(see &lt;a href="/brada/archive/2005/01/12/351958.aspx"&gt;this post&lt;/a&gt;&amp;nbsp;for a discussion of this terminology).&amp;nbsp; Others have come up independently with somewhat similar ideas and I found quite a lot of interest in the LIL approach in conversations both inside and outside of Microsoft.&amp;nbsp; For my&amp;nbsp;current presentation&amp;nbsp;I took some of the old LIL slides that I used in a talk I gave at &lt;a href="http://www.inf.ethz.ch"&gt;ETH Zürich&lt;/a&gt; in 2003 and modified them to focus on the JIT/EE interface.&amp;nbsp; This version of slides benefited from my conversations with many people in the last year, after the original LIL papers were published.&amp;nbsp; I think that I owe most to my conversations with George Bosworth and to comments by &lt;a href="http://www.ps.uni-sb.de/%7Ebruni"&gt;Thorsten Brunklaus&lt;/a&gt;&amp;nbsp;who worked on the SEAM VM (see below) and now is in the CLR team.&lt;/p&gt; &lt;p&gt;LIL is described at length in the &lt;a href="http://www.usenix.org/events/vm04/tech/glew.html"&gt;VM'04 paper&lt;/a&gt;.&amp;nbsp; The MPOOL'03 paper (&lt;a href="http://www.cierniak.org/research/publications/orp-mpool-2003-final.pdf"&gt;pdf&lt;/a&gt;) presents some thoughts on how LIL could be used to abstract away the object model from the JIT.&amp;nbsp; Full references to these two papers are available on &lt;a href="http://www.cierniak.org/research/publications"&gt;my publications page&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;The talk I just gave had the title "&lt;em&gt;Execution Engine-independent JIT compilers&lt;/em&gt;" and the basic idea is that LIL enables a much better abstraction of the EE from a JIT's point of view then what is used in all known to me implementations of virtual machines for JVM and CLR/CLI.&amp;nbsp; I made the full presentation available as a &lt;a href="http://www.cierniak.org/research/publications/lil-msr-talk-2005.pdf"&gt;pdf file&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Here are references to the related work mentioned in the slides:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Bartok is a compiler developed by the &lt;a href="http://research.microsoft.com/act"&gt;Advanced Compiler Technology&lt;/a&gt; group at &lt;a href="http://research.microsoft.com"&gt;MSR&lt;/a&gt;&lt;/li&gt; &lt;li&gt;JikesRVM: &lt;a href="http://www.ibm.com/developerworks/oss/jikesrvm"&gt;http://www.ibm.com/developerworks/oss/jikesrvm&lt;/a&gt;&lt;/li&gt; &lt;li&gt;LLVM: &lt;a href="http://llvm.cs.uiuc.edu"&gt;http://llvm.cs.uiuc.edu&lt;/a&gt;&lt;/li&gt; &lt;li&gt;C--: &lt;a href="http://www.cminusminus.org"&gt;http://www.cminusminus.org&lt;/a&gt;&lt;/li&gt; &lt;li&gt;SEAM: &lt;a href="http://www.ps.uni-sb.de/seam"&gt;http://www.ps.uni-sb.de/seam&lt;/a&gt; (also, &lt;a href="http://lambda-the-ultimate.org/node/view/440"&gt;this discussion&lt;/a&gt;&amp;nbsp;is an entertaining read if you want to see varied opinions on the subject)&lt;/li&gt; &lt;li&gt;PCR: &lt;a href="http://portal.acm.org/citation.cfm?id=74862"&gt;http://portal.acm.org/citation.cfm?id=74862&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Alan Kay's quote is from the &lt;a href="http://acmqueue.com/modules.php?name=Content&amp;amp;pa=showpage&amp;amp;pid=273"&gt;ACM Queue article&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=379329" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/CLR/default.aspx">CLR</category></item><item><title>Secure CRT</title><link>http://blogs.msdn.com/michaljc/archive/2005/01/02/345558.aspx</link><pubDate>Mon, 03 Jan 2005 04:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:345558</guid><dc:creator>michaljc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/345558.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=345558</wfw:commentRss><description>&lt;p&gt;One of the cool new things we are doing in the security push is the conversion of all uses of potentially unsafe CRT (C Runtime) functions to their new, safe counterparts.&amp;nbsp; When we think of unsafe CRT functions, we usually think of string manipulation functions and these functions are probably indeed responsible for most of the security bugs &lt;br&gt;(For a few examples of what can go wrong with the traditional string manipulation functions, read &lt;a href="/michael_howard/archive/2004/12/10/279639.aspx"&gt;this post&lt;/a&gt;) but there are other improvements in the CRT libraries.&amp;nbsp; As &lt;a href="http://whidbey.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vccrt/html/d9568b08-9514-49cd-b3dc-2454ded195a3.asp"&gt;mentioned on MSDN&lt;/a&gt; the main categories of improvement in CRT are: &lt;a href="http://whidbey.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vccrt/html/019dd5f0-dc61-4d2e-b4e9-b66409ddf1f2.asp"&gt;parameter validation&lt;/a&gt;, sized buffers, null termination, enhanced error reporting, file system security, Windows security, and format string syntax checking.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;br&gt;For a great introduction to Secure CRT, read &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncode/html/secure03102004.asp"&gt;this article&lt;/a&gt; by Michael Howard.&amp;nbsp; A list of secure CRT functions with short descriptions and links to longer articles is &lt;a href="http://whidbey.msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vccrt/html/f87e5a01-4cb2-4379-9e8f-d4693828c55a.asp"&gt;available&lt;/a&gt; in the Whidbey section of MSDN.&amp;nbsp; Secure CRT is also &lt;a href="/shawnfa/archive/2004/04/08/110097.aspx"&gt;mentioned&lt;/a&gt; by another blogger.&amp;nbsp; A clever way of using templates to avoid typing the extra parameter when the compiler can deduce it itself is described &lt;a href="/greggm/archive/2004/09/17/231076.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Rotor&lt;/strong&gt;&lt;br&gt;Secure CRT functions are being discussed in the context of the ISO/IEC standard for C (in &lt;a href="http://www.open-std.org/jtc1/sc22/wg14"&gt;JTC1/SC22/WG14&lt;/a&gt;).&amp;nbsp; You can read the &lt;a href="http://std.dkuug.dk/jtc1/sc22/wg14/www/docs/n1031.pdf"&gt;submission&lt;/a&gt; and the &lt;a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1059.htm"&gt;Security TR Editor's Report&lt;/a&gt; online.&amp;nbsp; However, since these functions have not been added to the C standard yet and we want to compile Rotor Whidbey on non-Windows platforms, we will include implementations of some of the secure CRT functions in the Rotor distribution.&amp;nbsp; Our current plan is to include only as much as we need for Rotor, so this will not be a complete implementation.&lt;/p&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=345558" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/Rotor+-+all/default.aspx">Rotor - all</category><category domain="http://blogs.msdn.com/michaljc/archive/tags/Rotor+-+general/default.aspx">Rotor - general</category><category domain="http://blogs.msdn.com/michaljc/archive/tags/CLR/default.aspx">CLR</category></item><item><title>CLR Security Push</title><link>http://blogs.msdn.com/michaljc/archive/2005/01/02/345533.aspx</link><pubDate>Mon, 03 Jan 2005 03:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:345533</guid><dc:creator>michaljc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/345533.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=345533</wfw:commentRss><description>&lt;p&gt;I have been recently coordinating much of the efforts on the CLR dev team related to the security push.&amp;nbsp; The security push is a period of a few weeks &lt;a HREF="/somasegar/archive/2004/08/13/214321.aspx"&gt;for all groups involved in Whidbey&lt;/a&gt; to let us focus on making Whidbey more secure.&amp;nbsp; There was recently a &lt;a href="http://weblogs.asp.net/MikhailArkhipov/archive/2004/12/13/284230.aspx"&gt;very good post&lt;/a&gt; by Mikhail Arkhipov outlining many of the efforts we are focusing on.&lt;/p&gt; &lt;p&gt;There are many people in the CLR team who are very experienced in security and they have all been working on guiding the effort but the involvement has not been restricted to them - most of the team was doing some work.&amp;nbsp; The involvement of the whole team is what makes this effort a "push".&lt;/p&gt; &lt;p&gt;My work was mostly to know what issues we have to pay attention to; to know how to use new tools and new libraries or languages extensions; and to make general recommendations on some issues.&amp;nbsp; I started to look into all these issues well before the push started and I was really glad that I did since during the security push I have been getting a lot of specific questions from various people and my earlier investigations meant that I either knew the answer or at least knew where to look or who to ask.&amp;nbsp; As you can imagine, I also wrote a few documents for our team focusing on various issues, I set up a web page for the CLR devs with pointers to useful documents and with an FAQ section.&amp;nbsp; I also gave a few presentations introducing new tools available to us.&amp;nbsp; The presentations and documents written by me were mostly based on information already available from various sources.&amp;nbsp; After all many people have been working on security at Microsoft for a while and there is a lot of knowledge to be mined within our company.&lt;/p&gt; &lt;p&gt;I will write later about some of the specific things that I have been looking at during the security push.&lt;/p&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=345533" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/CLR/default.aspx">CLR</category></item><item><title>Pointers to my publications</title><link>http://blogs.msdn.com/michaljc/archive/2004/12/17/323839.aspx</link><pubDate>Sat, 18 Dec 2004 03:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:323839</guid><dc:creator>michaljc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/323839.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=323839</wfw:commentRss><description>Often when I talk to people I mention something I did in the past and I want to refer them to a paper I published.&amp;nbsp; Since I no longer had a research web page, whenever this happened last year, I had to look for the paper on my computer and send a pointer by email.&amp;nbsp; I got finally tired of this and I created a &lt;a href="http://cierniak.org/research/publications"&gt;web page which lists my most interesting publications&lt;/a&gt;.&amp;nbsp; Now I will be able to simply say: look it up on my web page!&amp;nbsp; I have also created a &lt;a href="http://cierniak.org/research"&gt;stub of a page describing my research interests&lt;/a&gt; but I've had no time yet to put any content there.
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=323839" width="1" height="1"&gt;</description></item><item><title>Singularity</title><link>http://blogs.msdn.com/michaljc/archive/2004/12/17/323832.aspx</link><pubDate>Sat, 18 Dec 2004 02:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:323832</guid><dc:creator>michaljc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/323832.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=323832</wfw:commentRss><description>A very interesting Microsoft Research project called Singularity has recently acquired a &lt;a href="http://research.microsoft.com/os/singularity/"&gt;public web page&lt;/a&gt;.&amp;nbsp; This project is interesting for many reasons but the fact that it is written in MSIL is most relevant to what I usually write about in my blog.
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=323832" width="1" height="1"&gt;</description></item><item><title>MSN Spaces</title><link>http://blogs.msdn.com/michaljc/archive/2004/12/02/274130.aspx</link><pubDate>Fri, 03 Dec 2004 07:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:274130</guid><dc:creator>michaljc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/274130.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=274130</wfw:commentRss><description>I have decided to try out the new blogging infastructure at MSN Spaces.&amp;nbsp; I'm unlikely to maintain a personal blog but I set up &lt;a href="http://spaces.msn.com/members/michal"&gt;a blog&lt;/a&gt; yesterday to try it out.&amp;nbsp; It is a pretty nice site.&amp;nbsp; I like the editing of your space that doesn't require writing any code.
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=274130" width="1" height="1"&gt;</description></item><item><title>Conference on Virtual Execution Environments (VEE'05)</title><link>http://blogs.msdn.com/michaljc/archive/2004/12/01/273276.aspx</link><pubDate>Thu, 02 Dec 2004 00:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:273276</guid><dc:creator>michaljc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/273276.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=273276</wfw:commentRss><description>&lt;p&gt;VEE is a new conference on execution environments (aka virtual machines).&amp;nbsp; The conference is the result of merging the USENIX VM Symposium and the ACM SIGPLAN IVME Workshop.&amp;nbsp; You can read more about it at the &lt;a href="http://www.veeconference.org"&gt;conference web site&lt;/a&gt;.&amp;nbsp; Both the VM Symposium and the IVME Workshop were very interesting to me and I'm looking forward to the new conference that will take place in June 2005.&lt;/p&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=273276" width="1" height="1"&gt;</description></item><item><title>Open Source Courses for .NET</title><link>http://blogs.msdn.com/michaljc/archive/2004/10/23/246750.aspx</link><pubDate>Sun, 24 Oct 2004 02:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:246750</guid><dc:creator>michaljc</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/246750.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=246750</wfw:commentRss><description>&lt;p&gt;Open source courses based on&amp;nbsp;.NET are a great resource both for creating courses at other universities and for people who simply want to use the materials to learn something on their own about either .NET in general or Rotor.&amp;nbsp; I know of two such courses available today from the University of Linz in Austria (&lt;a href="http://www.jku.at"&gt;Johannes Kepler Universität Linz&lt;/a&gt;):&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://dotnet.jku.at/courses/dotnet"&gt;Application Development with C# and .NET&lt;/a&gt;.&amp;nbsp; I am posting this before I had time to fully explore the web site but apparently there are 700 slides worth of presentations (equivalent to 30 45-minute lectures, in German and English), 200 exercises with sample solutions, a larger case study and references to books that have been written for the course (books are also both in German and English).&lt;/li&gt; &lt;li&gt;&lt;a href="http://dotnet.jku.at/courses/CC"&gt;Compiler Construction&lt;/a&gt;.&amp;nbsp; Again, I haven’t actually read any of this yet but this seems to be a very cool compiler class with over 300 slides and a case study of a complete compiler for Z# (I’ve never heard of Z# and I assume that it must be a language of the level of complexity appropriate for a compiler class).&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Other .NET-related&amp;nbsp;materials &lt;a href="http://dotnet.jku.at/courses"&gt;are available&lt;/a&gt; on a companion web site.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=246750" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/Rotor+-+all/default.aspx">Rotor - all</category><category domain="http://blogs.msdn.com/michaljc/archive/tags/Rotor+-+general/default.aspx">Rotor - general</category></item><item><title>CLR and JVM performance compared</title><link>http://blogs.msdn.com/michaljc/archive/2004/10/19/244831.aspx</link><pubDate>Wed, 20 Oct 2004 03:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:244831</guid><dc:creator>michaljc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/244831.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=244831</wfw:commentRss><description>I &lt;a HREF="/michaljc/archive/2004/07/19/188007.aspx"&gt;wrote recently&lt;/a&gt; about &lt;a href="http://research.microsoft.com/%7Ezorn/benchmarks/default.htm"&gt;Ben Zorn’s benchmarks&lt;/a&gt;.&amp;nbsp; And now I’ve just found out about a web page with performance comparisons of JVM and CLR implementations:&amp;nbsp; Kazuyuki Shudo who has been posting for many years performance comparisons of various JVMs has now added CLR and Mono for two of the benchmarks that have versions in both C# and Java.&amp;nbsp; The complete set of benchmark results is at &lt;a href="http://www.shudo.net/jit/perf"&gt;http://www.shudo.net/jit/perf&lt;/a&gt; but most benchmarks are Java only.&amp;nbsp; If you’re interested in the CLR or Mono, look at &lt;a href="http://www.shudo.net/jit/perf/#linpack"&gt;Linpack&lt;/a&gt; and &lt;a href="http://www.shudo.net/jit/perf/#sieve"&gt;Eratosthenes Sieve&lt;/a&gt;.&amp;nbsp; These results are for the existing version of the CLR (1.1) and hopefully our new version (2.0) will have an even better performance.
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=244831" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/Other/default.aspx">Other</category></item><item><title>Workshop on the Future of Virtual Execution Environments</title><link>http://blogs.msdn.com/michaljc/archive/2004/09/29/235938.aspx</link><pubDate>Thu, 30 Sep 2004 00:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:235938</guid><dc:creator>michaljc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/235938.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=235938</wfw:commentRss><description>&lt;p&gt;I've been looking this week at presentation from the Workshop on the Future of Virtual Execution Environments hosted by IBM Research two weeks ago.&amp;nbsp; Most of the presentations are &lt;a href="http://www.research.ibm.com/vee04"&gt;online&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Reading through the slides you can get a good idea of what different people in the industry, academia and the open source community view as important issues in implementing virtual machines.&amp;nbsp; The goals and the means of achieving them vary from one implementer to another.&amp;nbsp; Most of the talks did not have much detail but they are a good starting point.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.sidhe.org/~dan/blog"&gt;Dan Sugalski&lt;/a&gt;&amp;nbsp;wrote a &lt;a href="http://www.sidhe.org/~dan/blog/?lu=0202:19"&gt;summary of the workshop&lt;/a&gt; and that was a good read too.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=235938" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/Other/default.aspx">Other</category></item><item><title>CGO 2005 and MRE 2005</title><link>http://blogs.msdn.com/michaljc/archive/2004/08/27/221840.aspx</link><pubDate>Fri, 27 Aug 2004 23:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:221840</guid><dc:creator>michaljc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/221840.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=221840</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.cgo.org"&gt;CGO&lt;/a&gt; stands for a rather long "&lt;em&gt;2005 International Symposium on Code Generation and Optimization with special emphasis on feedback-directed and runtime optimization&lt;/em&gt;".&amp;nbsp; The deadline for submitting papers is September 13, 2004.&lt;/p&gt; &lt;p&gt;As usually, CGO is co-located with the &lt;a href="http://researchweb.watson.ibm.com/mre05/"&gt;Managed Runtime Environments workshop&lt;/a&gt;.&amp;nbsp; The deadline for submitting papers to MRE is January 7, 2005.&lt;/p&gt; &lt;p&gt;CGO and MRE will take place in March 2005 in San Jose, California.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=221840" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/Other/default.aspx">Other</category></item><item><title>Rotor benchmarks</title><link>http://blogs.msdn.com/michaljc/archive/2004/07/19/188007.aspx</link><pubDate>Tue, 20 Jul 2004 04:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:188007</guid><dc:creator>michaljc</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/michaljc/comments/188007.aspx</comments><wfw:commentRss>http://blogs.msdn.com/michaljc/commentrss.aspx?PostID=188007</wfw:commentRss><description>&lt;p&gt;To date there has been no standard set of benchmarks that do something meaningful, run on Rotor and execute long enough to enable performance measurements.&amp;nbsp; Standard benchmarks are very important for publishing research results because they make easier to understand what applications are being presented in a given paper.&amp;nbsp; &lt;a href="http://research.microsoft.com/%7Ezorn/"&gt;Ben Zorn&lt;/a&gt; from MSR has just published &lt;a href="http://research.microsoft.com/%7Ezorn/benchmarks/default.htm"&gt;two benchmarks&lt;/a&gt;.&amp;nbsp; Hopefully, this is just a start and either Ben or others will put together more applications, so that we have a benchmark suite of 5-10 applications that can be used by all researchers looking into .NET.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;The two benchmarks available today are lcsbench and ahcbench.&amp;nbsp; Lcsbench is a front end of C# compiler written in C#.&amp;nbsp; Ahcbench is an implementation of Adaptive Huffman Compression.&amp;nbsp; Both benchmarks include three inputs of various sizes that achieve different execution times.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Do you know of other nicely packaged benchmarks for .NET?&amp;nbsp; Do they run on Rotor?&amp;nbsp; Let me know!&lt;br&gt;&lt;/p&gt;
&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
_uacct = "UA-238213-3";
urchinTracker();
&lt;/script&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=188007" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/michaljc/archive/tags/Rotor+-+all/default.aspx">Rotor - all</category><category domain="http://blogs.msdn.com/michaljc/archive/tags/Rotor+-+general/default.aspx">Rotor - general</category></item></channel></rss>