<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for mjw</title>
    <link>http://www.advogato.org/person/mjw/</link>
    <description>Advogato blog for mjw</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Mon, 22 Mar 2010 05:41:47 GMT</pubDate>
    <item>
      <pubDate>Fri, 22 Jan 2010 00:08:56 GMT</pubDate>
      <title>Fosdem SystemTap Interview</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=187</link>
      <guid>http://gnu.wildebeest.org/diary/2010/01/22/fosdem-systemtap-interview/</guid>
      <description>&lt;p&gt;Did an &lt;a href="http://fosdem.org/2010/interview/mark-wielaard" &gt;interview for FOSDEM about SystemTap&lt;/a&gt;. It discusses a wide range of topics. About when I got involved with Free Software, working for Red Hat, how FOSDEM helped the libre Java community, getting Fedora more observable by adding static markers into programs, the history of observation tools (tracers, profilers, debuggers) on GNU/Linux, comparisons to other tools like DTrace, GUI frontends, Eclipse integration, the future of SystemTap and of course why you should come to FOSDEM.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Sun, 3 Jan 2010 21:08:01 GMT</pubDate>
      <title>Fosdem talk &#x2013; Full System Observability with SystemTap</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=186</link>
      <guid>http://gnu.wildebeest.org/diary/2010/01/03/fosdem-talk-full-system-observability-with-systemtap/</guid>
      <description>&lt;p&gt;&lt;a href="http://www.fosdem.org" &gt;&lt;img class="alignright" style="border: 0pt none;" src="http://www.fosdem.org/promo/going-to" border="0" alt="I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting" width="150" height="89" /&gt;&lt;/a&gt;Really looking forward to &lt;a href="http://fosdem.org/" &gt;Fosdem&lt;/a&gt; next month. This year I will be giving a talk &lt;a href="http://fosdem.org/2010/schedule/events/systemtap" &gt;What is my system doing &amp;#8211; Full System Observability with SystemTap&lt;/a&gt; during one of the main tracks. There will be some demos of the new systemtap java and python tracing support that I blogged about earlier.&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="http://www.fosdem.org" &gt;&lt;img class="aligncenter" style="margin-left: 8px; margin-right: 8px;" src="http://www.fosdem.org/promo/fosdem/static" border="0" alt="FOSDEM, the Free and Open Source Software Developers' European Meeting" width="447" height="59" /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Tue, 22 Dec 2009 22:13:01 GMT</pubDate>
      <title>Michael Meeks on Copyright Assignment</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=185</link>
      <guid>http://gnu.wildebeest.org/diary/2009/12/22/michael-meeks-on-copyright-assignment/</guid>
      <description>&lt;p&gt;&lt;a href="http://www.gnome.org/~michael/" &gt;Michael Meeks&lt;/a&gt; published a though provoking essay called &lt;a href="http://www.gnome.org/~michael/blog/copyright-assignment.html" &gt;Some thoughts on Copyright Assignment&lt;/a&gt;. It is a must read when working with Free Software projects that request legal assignment of contributions to a corporation.&lt;/p&gt;
&lt;p&gt;It contains sane &lt;a href="http://www.gnome.org/~michael/blog/copyright-assignment.html#recommendations" &gt;recommendations&lt;/a&gt; both for individual contributors, project leaders and corporations seeking assignments.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Mon, 14 Dec 2009 23:08:56 GMT</pubDate>
      <title>Next step &#x2013; SystemTap java hotspot jstack() support</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=184</link>
      <guid>http://gnu.wildebeest.org/diary/2009/12/15/next-step-systemtap-java-hotspot-jstack-support/</guid>
      <description>&lt;p&gt;Just &lt;a href="http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2009-December/007812.html" &gt;checked in&lt;/a&gt; support for getting java backtraces from hotspot through systemtap. This is the next step in making not just the kernel and native programs observable, but also runtime based languages with SystemTap. And it is pretty powerful. It allows you to answer the question &amp;#8220;How did I get here?&amp;#8221; in combination with any of the SystemTap tapsets for &lt;a href="http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2009-April/005445.html" &gt;VM level tracing&lt;/a&gt;, &lt;a href="http://gnu.wildebeest.org/diary/2009/08/06/i-love-it-when-a-plan-comes-together-systemtap-meets-java/" &gt;Java method entry/exit tracing&lt;/a&gt;, &lt;a href="http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2009-October/007384.html" &gt;Native methods (JNI) tracing&lt;/a&gt;, or any other basic SystemTap function, statement or process probe that points into your java process. Just add one of the &lt;code&gt;print_jstack()&lt;/code&gt; variants to your code (possibly including native frame and method signatures) and suddenly it is really easy to see what triggered a particular code path:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$ stap -e 'probe hotspot.jni.CallObjectMethod { log (probestr); print_jstack() }' -c 'java ModalTest'&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
CallObjectMethod(env=0x7f9d1000a1b8,obj=0x7f9d73efcaf8,methodid=0x7f9de4088b70)&lt;br /&gt;
sun/font/FontManager.getFont2D&lt;br /&gt;
sun/java2d/SunGraphics2D.checkFontInfo&lt;br /&gt;
sun/java2d/SunGraphics2D.getFontInfo&lt;br /&gt;
sun/java2d/pipe/GlyphListPipe.drawString&lt;br /&gt;
sun/java2d/SunGraphics2D.drawString&lt;br /&gt;
sun/swing/SwingUtilities2.drawString&lt;br /&gt;
sun/swing/SwingUtilities2.drawStringUnderlineCharAt&lt;br /&gt;
javax/swing/plaf/basic/BasicGraphicsUtils.drawStringUnderlineCharAt&lt;br /&gt;
sun/awt/X11/XButtonPeer.paintText&lt;br /&gt;
sun/awt/X11/XButtonPeer.paint&lt;br /&gt;
sun/awt/X11/XButtonPeer.paint&lt;br /&gt;
sun/awt/X11/XRepaintArea.paintComponent&lt;br /&gt;
sun/awt/RepaintArea.paint&lt;br /&gt;
sun/awt/X11/XComponentPeer.handleEvent&lt;br /&gt;
java/awt/Component.dispatchEventImpl&lt;br /&gt;
java/awt/Component.dispatchEvent&lt;br /&gt;
java/awt/EventQueue.dispatchEvent&lt;br /&gt;
java/awt/EventDispatchThread.pumpOneEventForFilters&lt;br /&gt;
java/awt/EventDispatchThread.pumpEventsForFilter&lt;br /&gt;
java/awt/EventDispatchThread.pumpEventsForFilter&lt;br /&gt;
java/awt/Dialog$1.run&lt;br /&gt;
java/awt/event/InvocationEvent.dispatch&lt;br /&gt;
java/awt/EventQueue.dispatchEvent&lt;br /&gt;
java/awt/EventDispatchThread.pumpOneEventForFilters&lt;br /&gt;
java/awt/EventDispatchThread.pumpEventsForFilter&lt;br /&gt;
java/awt/EventDispatchThread.pumpEventsForHierarchy&lt;br /&gt;
java/awt/EventDispatchThread.pumpEvents&lt;br /&gt;
java/awt/EventDispatchThread.pumpEvents&lt;br /&gt;
java/awt/EventDispatchThread.run&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
You currently need both IcedTea6 from mercurial and Systemtap from git to play with it. But both projects are planning new releases soon.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Mon, 7 Dec 2009 07:09:25 GMT</pubDate>
      <title>FudCon Success &#x2013; Systemtap meets Python</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=183</link>
      <guid>http://gnu.wildebeest.org/diary/2009/12/07/fudcon-success-systemtap-meets-python/</guid>
      <description>&lt;p&gt;At FudCon, David Malcolm, Jon VanAlten, Will Cohen and I sat down, had some fun and made tracing python methods through systemtap possible:&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
0 python(20122): =&amp;gt; search_function in Lib/encodings/__init__.py:71&lt;br /&gt;
15 python(20122):&amp;nbsp; =&amp;gt; normalize_encoding in Lib/encodings/__init__.py:49&lt;br /&gt;
37 python(20122):&amp;nbsp; &amp;lt;= normalize_encoding&lt;br /&gt;
170 python(20122):&amp;nbsp; =&amp;gt; &amp;lt;module&amp;gt; in Lib/encodings/utf_8.py:8&lt;br /&gt;
193 python(20122):&amp;nbsp;&amp;nbsp; =&amp;gt; IncrementalEncoder in Lib/encodings/utf_8.py:18&lt;br /&gt;
206 python(20122):&amp;nbsp;&amp;nbsp; &amp;lt;= IncrementalEncoder&lt;br /&gt;
251 python(20122):&amp;nbsp;&amp;nbsp; =&amp;gt; IncrementalDecoder in Lib/encodings/utf_8.py:22&lt;br /&gt;
264 python(20122):&amp;nbsp;&amp;nbsp; &amp;lt;= IncrementalDecoder&lt;br /&gt;
310 python(20122):&amp;nbsp;&amp;nbsp; =&amp;gt; StreamWriter in Lib/encodings/utf_8.py:25&lt;br /&gt;
323 python(20122):&amp;nbsp;&amp;nbsp; &amp;lt;= StreamWriter&lt;br /&gt;
340 python(20122):&amp;nbsp;&amp;nbsp; =&amp;gt; StreamReader in Lib/encodings/utf_8.py:28&lt;br /&gt;
353 python(20122):&amp;nbsp;&amp;nbsp; &amp;lt;= StreamReader&lt;br /&gt;
367 python(20122):&amp;nbsp; &amp;lt;= &amp;lt;module&amp;gt;&lt;br /&gt;
391 python(20122):&amp;nbsp; =&amp;gt; getregentry in Lib/encodings/utf_8.py:33&lt;br /&gt;
410 python(20122):&amp;nbsp;&amp;nbsp; =&amp;gt; __new__ in Lib/codecs.py:77&lt;br /&gt;
429 python(20122):&amp;nbsp;&amp;nbsp; &amp;lt;= __new__&lt;br /&gt;
440 python(20122):&amp;nbsp; &amp;lt;= getregentry&lt;br /&gt;
462 python(20122): &amp;lt;= search_function&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The coolest part is that it works through the existing patch to python for adding dtrace support. Some small tweaks to the autoconf detection was needed, but the rest was used as is.&lt;/p&gt;
&lt;p&gt;If you want to learn how to add static user space probes to your program/package please see Will&amp;#8217;s excellent guide. &lt;a href="http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps" mce _href="http://sourceware.org/systemtap/wiki/AddingUserSpaceProbingToApps"&gt;Adding User Space Probing to an Application&lt;/a&gt;: A simple example adding markers to a user-space application with SystemTap.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 2 Dec 2009 20:12:04 GMT</pubDate>
      <title>Going to FudCon</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=182</link>
      <guid>http://gnu.wildebeest.org/diary/2009/12/02/going-to-fudcon/</guid>
      <description>&lt;p&gt;Currently stuck at heathrow airport&amp;#8230; But I will make it to Canada somehow for FudCon. Hopefully with some nice systemtap jstack java hotspot backtrace examples.&lt;/p&gt;
&lt;p&gt;They finally actually &lt;a href="http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2009-November/007703.html" &gt;started to work&lt;/a&gt;. Weeee!&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 19 Nov 2009 22:13:46 GMT</pubDate>
      <title>GPLed JDK 7 M5 + Jigsaw binary packages</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=181</link>
      <guid>http://gnu.wildebeest.org/diary/2009/11/19/gpled-jdk-7-m5-jigsaw-binary-packages/</guid>
      <description>&lt;p&gt;After my somewhat &lt;a href="http://gnu.wildebeest.org/diary/2009/11/14/trusting-companies-with-your-code/" &gt;cranky post&lt;/a&gt; about the JDK 7 M5 binaries being distributed under not very free and social terms. I was really happy to see Mark Reinhold&amp;#8217;s announcement of the &lt;a href="http://mail.openjdk.java.net/pipermail/jigsaw-dev/2009-November/000393.html" &gt;JDK 7 M5 + Jigsaw binary packages&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;These binaries are licensed under the GPL (v2) with the Classpath Exception, plus the Assembly Exception.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Thank you Mark! Thank you Sun! You did make my day.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Sun, 15 Nov 2009 12:20:09 GMT</pubDate>
      <title>Trusting companies with your code&#x2026;</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=180</link>
      <guid>http://gnu.wildebeest.org/diary/2009/11/15/trusting-companies-with-your-code/</guid>
      <description>&lt;p&gt;Mark Reinhold announced &lt;a href="http://blogs.sun.com/mr/entry/jdk7_m5" &gt;JDK 7 Milestone 5&lt;/a&gt; which is derived from OpenJDK7. Lots of people contributed to that. But sadly Sun decided they weren&amp;#8217;t going to release this as Free Software. I wanted to research this JDK7 M5 and compare it to the work we did on OpenJDK and IcedTea, but apparently I am not allowed to&amp;#8230;&lt;/p&gt;
&lt;p&gt;Sun might have the right to do this given they only use contributions granted to them under their &lt;a href="http://openjdk.java.net/legal/" &gt;SCA terms&lt;/a&gt;. But the following clauses from the JDK7 license seem somewhat unfair given that we all contributed parts to OpenJDK.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#8220;Licensed Software is &amp;#8220;Confidential Information&amp;#8221;.  Licensee may not disclose or use Confidential Information&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;Licensee may not modify or create derivative works of the Licensed Software, or reverse engineer, disassemble or decompile binary portions of the Licensed Software, or otherwise attempt to derive the source code from such portions.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;Licensee shall have no right to use the Licensed Software for productive or commercial use.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;LICENSEE DUTIES Licensee agrees to evaluate and test the Software for use in Licensee&amp;#8217;s software environment and provide feedback to Sun in a manner reasonably requested by Sun. Any and all test results, error data, reports or other information, feedback or materials made or provided by Licensee relating to Software (collectively, &amp;#8220;Feedback&amp;#8221;) are the exclusive property of Sun and Licensee here by assigns all Feedback to Sun at no cost to Sun.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;This Agreement will commence on the date on which Licensee receives Licensed Software (the &amp;#8220;Effective Date&amp;#8221;) and will expire ninety (90) days from the Effective Date, unless terminated earlier as provided herein.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;Upon termination or expiration of this Agreement, Licensee will immediately cease use of and destroy Licensed Software, any copies thereof.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;It is understood and agreed that, notwithstanding any other provision of this Agreement, Licensee&amp;#8217;s breach of this Agreement will cause Sun irreparable damage for which recovery of money damages would be inadequate&amp;#8230;&amp;#8221;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There is no reason for Sun to act in this anti-social way. There are free replacements for the previously encumbered binary blobs (thanks IcedTea!). So anybody that wants to can distribute a completely free version. And redistributing other peoples contributions under such draconian one-sided terms is totally unnecessary (and rude!). If someone wants to add the previously proprietary binary blobs one can do that under the terms of the OpenJDK &lt;a href="http://openjdk.java.net/legal/assembly-exception.html" &gt;Assembly Exception&lt;/a&gt; to the GPL that was specially drafted to allow this. So there is no need to not to redistribute the free parts under the GPL as everybody else is doing.&lt;/p&gt;
&lt;p&gt;Come on Sun, tear down this proprietary legal wall that divides users from the developers that contributed all this code to be free and open.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Sat, 14 Nov 2009 12:20:31 GMT</pubDate>
      <title>Trusting companies with your code&#x2026;</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=179</link>
      <guid>http://gnu.wildebeest.org/diary/2009/11/14/trusting-companies-with-your-code/</guid>
      <description>&lt;p&gt;Mark Reinhold announced &lt;a href="http://blogs.sun.com/mr/entry/jdk7_m5" &gt;JDK 7 Milestone 5&lt;/a&gt; which is derived from OpenJDK7. Lots of people contributed to that. But sadly Sun decided they weren&amp;#8217;t going to release this as Free Software. I wanted to research this JDK7 M5 and compare it to the work we did on OpenJDK and IcedTea, but apparently I am not allowed to&amp;#8230;&lt;/p&gt;
&lt;p&gt;Sun might have the right to do this given they only use contributions granted to them under their &lt;a href="http://openjdk.java.net/legal/" &gt;SCA terms&lt;/a&gt;. But the following clauses from the JDK7 license seem somewhat unfair given that we all contributed parts to OpenJDK.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;#8220;Licensed Software is &amp;#8220;Confidential Information&amp;#8221;.  Licensee may not disclose or use Confidential Information&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;Licensee may not modify or create derivative works of the Licensed Software, or reverse engineer, disassemble or decompile binary portions of the Licensed Software, or otherwise attempt to derive the source code from such portions.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;Licensee shall have no right to use the Licensed Software for productive or commercial use.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;LICENSEE DUTIES Licensee agrees to evaluate and test the Software for use in Licensee&amp;#8217;s software environment and provide feedback to Sun in a manner reasonably requested by Sun. Any and all test results, error data, reports or other information, feedback or materials made or provided by Licensee relating to Software (collectively, &amp;#8220;Feedback&amp;#8221;) are the exclusive property of Sun and Licensee here by assigns all Feedback to Sun at no cost to Sun.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;This Agreement will commence on the date on which Licensee receives Licensed Software (the &amp;#8220;Effective Date&amp;#8221;) and will expire ninety (90) days from the Effective Date, unless terminated earlier as provided herein.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;Upon termination or expiration of this Agreement, Licensee will immediately cease use of and destroy Licensed Software, any copies thereof.&amp;#8221;&lt;/li&gt;
&lt;li&gt;&amp;#8220;It is understood and agreed that, notwithstanding any other provision of this Agreement, Licensee&amp;#8217;s breach of this Agreement will cause Sun irreparable damage for which recovery of money damages would be inadequate&amp;#8230;&amp;#8221;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <pubDate>Mon, 12 Oct 2009 17:07:58 GMT</pubDate>
      <title>IcedTea and OpenJDK backups</title>
      <link>http://www.advogato.org/person/mjw/diary.html?start=178</link>
      <guid>http://gnu.wildebeest.org/diary/2009/10/12/icedtea-and-openjdk-backups/</guid>
      <description>&lt;p&gt;Since the various OpenJDK servers are seeing major ongoing outages the last couple of days it might be good to point out that at least the source code from the master jdk6 and jdk7 mercurial forests do have backups: &lt;a href="http://classpath.wildebeest.org/hg/" &gt;http://classpath.wildebeest.org/hg/&lt;/a&gt;. These are read-only of course. You will also find backups of the various IcedTea mercurial repos there. The IcedTea builds can currently fail if you don&amp;#8217;t have openjdk.tar.gz and/or hotspot.tar.gz around in some configurations. You can also get those from the IcedTea autobuilder/tester (and then use &lt;code&gt;configure&lt;/code&gt; &lt;code&gt;--with-openjdk-src-zip&lt;/code&gt; and/or &lt;code&gt;--with-hotspot-src-zip&lt;/code&gt;). Besides creating binaries and test reports, the autobuilder also keeps copies of all the sources used to create the latest successful build run around: &lt;a href="http://icedtea.classpath.org/builds/" &gt;http://icedtea.classpath.org/builds/&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
