<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">

<channel>
	<title>Planet Free Software</title>
	<link>http://wikicompany.org/fs/planet/</link>
	<language>en</language>
	<description>Planet Free Software - http://wikicompany.org/fs/planet/</description>

<item>
	<title>PostgreSQL: Hubert Lubaczewski: Waiting for 8.5 – let’s start</title>
	<guid>http://www.depesz.com/index.php/2009/07/03/waiting-for-8-5-lets-start/</guid>
	<link>http://www.depesz.com/index.php/2009/07/03/waiting-for-8-5-lets-start/</link>
	<description>Everybody wrote that 8.4 was released, so it&amp;#8217;s not a news now.
But. Starting from yesterday, my own PostgreSQL reports it&amp;#8217;s version like this:
# select version();
                               [...]</description>
	<pubDate>Fri, 03 Jul 2009 20:08:15 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Firefox Support Blog: Measuring the success of the knowledge base</title>
	<guid>http://blog.mozilla.com/sumo/?p=679</guid>
	<link>http://blog.mozilla.com/sumo/2009/07/03/measuring-the-success-of-the-knowledge-base/</link>
	<description>&lt;p&gt;In March, I posted about &lt;a href=&quot;http://blog.mozilla.com/sumo/2009/03/19/making-use-of-article-feedback/&quot;&gt;using article feedback to improve knowledge  base articles&lt;/a&gt; and the importance of making knowledge base articles easy  to read; but those are specific areas that are part of a greater  knowledge base goal, which is to make the process of Firefox self-help  as easy as possible.&lt;/p&gt;
&lt;p&gt;There are few sources of information to we draw from:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://spreadsheets.google.com/ccc?key=piA-a-dXCL2p7vB5pTu0HKA&amp;amp;hl=en&quot;&gt;Top searches&lt;/a&gt;&lt;/strong&gt;: The most common search terms in the SUMO Weekly metrics  document.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://support.mozilla.com/en-US/kb/Weekly+common+issues&quot;&gt;Weekly common issues&lt;/a&gt;&lt;/strong&gt;: Our Weekly Common Issues page tracks the most  common support issues each week.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://support.mozilla.com/tiki-poll_results.php?locale=en-US&quot;&gt;Article polls&lt;/a&gt;&lt;/strong&gt;: At the bottom of each article, there are poll  questions: “&lt;em&gt;Did this article solve a problem you had with Firefox?&lt;/em&gt;“,  “&lt;em&gt;Was this article easy to understand?&lt;/em&gt;“, and “&lt;em&gt;Please rate your experience  with solving your problem on support.mozilla.com from 1 to 5&lt;/em&gt;” (For more  precise data there’s the &lt;a href=&quot;https://spreadsheets.google.com/ccc?key=pcFgq6gBGbHnQyMSMpZ6PYA&amp;amp;hl=en&quot;&gt;PageView Data&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;And of course, &lt;a href=&quot;http://blog.mozilla.com/sumo/2009/03/19/making-use-of-article-feedback/&quot;&gt;&lt;strong&gt;Article comments&lt;/strong&gt;&lt;/a&gt;: There is a text field on each article  for users to provide feedback about the article. When logged in as a  contributor, that feedback is displayed at the bottom of the article.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here’s how that data is utilized to measure the quality of the knowledge  base, and make it better:&lt;/p&gt;
&lt;p&gt;The top search terms are tested to find out if the first search results  contain the article the user is most likely searching for.&lt;br /&gt;
If they don’t:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The correct article may need to be renamed to match the search term.&lt;/li&gt;
&lt;li&gt;The top article in search results may be mistaken for a different  issue; so a link to the correct article is added in the intro of the  first search result. If users are being redirected to the correct  article, the poll data should improve.&lt;/li&gt;
&lt;li&gt;Keywords that match the search terms are added to the correct article.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For generic search terms the article comments for each result may  clarify what users are asking about.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://support.mozilla.com/en-US/kb/Weekly+common+issues&quot;&gt;weekly common issues page&lt;/a&gt; is checked for any items that need  documentation in the knowledge base. If enough information is available  to create documentation, the relevant articles are updated or a new  article is created.&lt;/p&gt;
&lt;p&gt;The comments in articles with the lowest understandability score are  checked to get details on what is not understandable in the article, so  we can assess what can be done to eliminate that confusion. Sometimes  that means rewording or reformatting the article. In some cases it is a  matter of &lt;a href=&quot;https://support.mozilla.com/en-US/kb/Adding+screenshots&quot;&gt;adding screenshots&lt;/a&gt;. In other cases, it’s a matter of  streamlining or purging the article to &lt;a href=&quot;http://blog.mozilla.com/sumo/2009/04/09/writing-concise-documents/&quot;&gt;simplify it for users&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the end, it’s about taking the data, analyzing why the data is what  it is, and what we can do to improve each issue. As a result, the  article poll scores should go up, and users will get answers to their  questions about using Firefox. We’ve outlined these tests in a  &lt;a href=&quot;https://support.mozilla.com/kb/Measuring+knowledge+base+success?bl=n&quot;&gt;contributor page&lt;/a&gt;, so everyone as a community can be most affective in  making the knowledge base better each week. You can post any suggestions  for improvement in the &lt;a href=&quot;https://support.mozilla.com/tiki-view_forum.php?forumId=3&quot;&gt;Contributors forum&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 20:06:40 +0000</pubDate>
</item>
<item>
	<title>OSFlash: Projects</title>
	<guid>http://osflash.org/projects</guid>
	<link>http://osflash.org/projects</link>
	<description>This aims to be a comprehensive list of links to Open Source Flash projects, both those hosted on OSFlash and elsewhere. 

Note: This list does not include tools that are not open source. See Closed-Source Flash Tools for a list of such tools where an open-source alternative does not exist. The primary focus of this site and community is open source, not free or commercial Flash tools and projects that are not open source. We only list free (and commercial) tools when an open-source alternative …</description>
	<pubDate>Fri, 03 Jul 2009 19:53:15 +0000</pubDate>
</item>
<item>
	<title>OSFlash: flvlib - created</title>
	<guid>http://osflash.org/flvlib</guid>
	<link>http://osflash.org/flvlib</link>
	<description>flvlib is a Python library for manipulating FLV files.

The library comes with a script that can identify the content of the file, including the codecs used to encode its content, the audio rate, keyframe density, etc. It also prints out the file’s metadata if present.</description>
	<pubDate>Fri, 03 Jul 2009 19:51:29 +0000</pubDate>
</item>
<item>
	<title>OpenBSD: New Ports of The Week (June 29)</title>
	<guid>http://undeadly.org/cgi?action=article&amp;sid=20090703194735</guid>
	<link>http://undeadly.org/cgi?action=article&amp;sid=20090703194735</link>
	<description>&lt;p&gt;There were 5 new ports for the week of June 22 to June 28:&lt;/p&gt;


&lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735&quot;&gt;&lt;img src=&quot;http://undeadly.org/cgi?action=rss&quot; width=&quot;300&quot; align=&quot;right&quot; border=&quot;0&quot; style=&quot;padding-left: 75px;&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;


&lt;ul&gt;
   &lt;li&gt;databases:
      &lt;ul&gt;
         &lt;li&gt;&lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735#pear-MDB2-mysqli&quot;&gt;pear-MDB2-mysqli&lt;/a&gt;&lt;/li&gt;
         &lt;li&gt;&lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735#pear-MDB2-sqlite&quot;&gt;pear-MDB2-sqlite&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
   &lt;/li&gt;
   &lt;li&gt;devel:
      &lt;ul&gt;
         &lt;li&gt;&lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735#p5-Devel-ebug&quot;&gt;p5-Devel-ebug&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
   &lt;/li&gt;
   &lt;li&gt;editors:
      &lt;ul&gt;
         &lt;li&gt;&lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735#texworks&quot;&gt;texworks&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
   &lt;/li&gt;
   &lt;li&gt;lang:
      &lt;ul&gt;
         &lt;li&gt;&lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735#llvm-gcc4&quot;&gt;llvm-gcc4&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
   &lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Some ports had &lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735#updatenotes&quot;&gt;updates&lt;/a&gt; that users should be aware of; no port was removed. Some patches were &lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735#backported&quot;&gt;backported&lt;/a&gt; to the &lt;a href=&quot;http://www.openbsd.org/faq/faq5.html#Flavors&quot;&gt;4.5-stable&lt;/a&gt; branch.&lt;/p&gt;
Read &lt;a href=&quot;http://undeadly.org/cgi?action=article&amp;amp;sid=20090703194735&quot;&gt;more&lt;/a&gt;...</description>
	<pubDate>Fri, 03 Jul 2009 19:48:15 +0000</pubDate>
</item>
<item>
	<title>OSFlash: Open Source Flash Projects</title>
	<guid>http://osflash.org/open_source_flash_projects</guid>
	<link>http://osflash.org/open_source_flash_projects</link>
	<description>This aims to be a comprehensive list of links to Open Source Flash projects, both those hosted on OSFlash and elsewhere. 

Note: This list does not include tools that are not open source. See Closed-Source Flash Tools for a list of such tools where an open-source alternative does not exist. The primary focus of this site and community is open source, not free or commercial Flash tools and projects that are not open source. We only list free (and commercial) tools when an open-source alternative …</description>
	<pubDate>Fri, 03 Jul 2009 19:38:20 +0000</pubDate>
</item>
<item>
	<title>Scheme: Joe Marshall: A little Scheme code</title>
	<guid>tag:blogger.com,1999:blog-8288194986820249216.post-6555147877197202694</guid>
	<link>http://funcall.blogspot.com/2009/07/little-scheme-code.html</link>
	<description>Patrick Stein commented on the way that I defined my DTFT function:
&lt;pre&gt;(define (dtft samples)
  (lambda (omega)
    (sum 0 (vector-length samples)
         (lambda (n)
           (* (vector-ref samples n)
              (make-polar 1 (* omega n)))))))
&lt;/pre&gt; 
Let me tweak it just a bit.  The idea is that we have our original
function which may or may not be continuous and we sample it at
regular intervals.
&lt;pre&gt;(define (dtft original sample-interval sample-count)
  (lambda (omega)
    (sum 0 sample-count
         (lambda (n)
           (* (original (* sample-interval n))
              (make-polar 1 (* omega n)))))))
&lt;/pre&gt;
Now we need to turn our vector of samples into a function.
&lt;pre&gt;;; Non robust.  Assumes N is a fixnum in the right range.
(define (vector-&amp;gt;function sample-vector)
  (lambda (n) (vector-ref sample-vector n)))
&lt;/pre&gt; 
I take the original function and return a new function with a
single parameter &lt;code&gt;omega&lt;/code&gt; which is the transformed version.
The original function only needs to be defined at the sample points in
the range from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;sample-count&lt;/code&gt;.  I'm treating my vector
of samples as a function from &lt;code&gt;integer-&amp;gt;real&lt;/code&gt; (the
samples are in fact integers, but they could be floats).&lt;br /&gt;&lt;br /&gt;
The function I return is a continuous function from
&lt;code&gt;real-&amp;gt;complex&lt;/code&gt;.  It is defined over all the reals, but
since &lt;code&gt;omega&lt;/code&gt; is an angle, the value computed is going to
be repeated every time omega sweeps out an entire circle, so we should
limit our interest to the range of 0 to 2π or
-π to π.&lt;br /&gt;&lt;br /&gt;
It turns out to be somewhat computationally expensive to evaluate the
transformed function.  It isn't &lt;em&gt;very&lt;/em&gt; expensive, but with
eight thousand samples, we several tens of thousands of floating point
operations.  If we memoize the function, we can save a huge amount of
time if we ever re-evaluate with the same omega.  (And we will.)
&lt;pre&gt;(define (memoize f)
  (let ((table (make-eqv-hash-table))) ;; eqv works on floats
    (lambda (arg)
      (or (hash-table/get table arg #f)
          (let ((value (f arg)))
            (hash-table/put! table arg value)
            value)))))

(define ym
  (memoize
   (dtft (vector-&amp;gt;function *data*) 1 8192)))
&lt;/pre&gt;
The inverse transform is fairly simple:
&lt;pre&gt;(define (inverse-dtft y domega)
  (lambda (n)
    (define (f omega)
      (* (y omega)
         (make-polar 1 (* omega (- n)))))

    (/ (real-part (integrate f (- *pi*) *pi* domega))
       (* *pi* 2))))
&lt;/pre&gt;
The integral should return a complex number where the real part
cancels out to zero, but since the integration is a numeric
approximation, I just lop off the imaginary part.&lt;br /&gt;&lt;br /&gt;

We need a definition of integrate.  I got this simple trapezoid
integration from Sussman and Abelson: &lt;pre&gt;(define (trapezoid f a b h)
  (let* ((n (/ 1 h)) 
         (dx (/ (- b a) n)))
    (define (iter j sum)
      (if (&amp;gt;= j n) 
          sum
          (let ((x (+ a (* j dx))))
            (iter (+ j 1) (+ sum (f x))))))
    (* dx (iter 1 (+ (/ (f a) 2) (/ (f b) 2))))))

(define integrate trapezoid)
&lt;/pre&gt;
It converges slowly.
&lt;pre&gt;(do ((i 1 (+ i 1))
     (d-omega 1.0 (/ d-omega 2)))
    ((&amp;gt;= i 13))
  (display i)
  (display &quot; &quot;)
  (display d-omega)
  (display &quot; &quot;)
  (display ((inverse-dtft ym d-omega) 250))
  (newline))

1 1. -161.
2 .5 32215.
3 .25 16091.999999999949
4 .125 8074.
5 .0625 4074.000000000024
6 .03125 2048.0000000000246
7 .015625 1050.0000000000236
8 .0078125 571.9999999999932
9 .00390625 336.9999999999946
10 .001953125 235.99999999999997
11 .0009765625 184.9999999999997
12 .00048828125 160.99999999999937
13 .000244140625 153.00000000000196
&lt;/pre&gt;
But once I have it computed for one value of x, the others come fast.
The actual value of the integral at this point is 150, but 153 is
close enough for me.&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/8288194986820249216-6555147877197202694?l=funcall.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 19:19:58 +0000</pubDate>
</item>
<item>
	<title>Smalltalk: More readable code with less typing</title>
	<guid>http://smalltalk.gnu.org/335 at http://smalltalk.gnu.org</guid>
	<link>http://smalltalk.gnu.org/blog/swsch/more-readable-code-less-typing</link>
	<description>&lt;p&gt;How do you get back into your code after a week of doing something else?&lt;br /&gt;
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Start reading and put comments to what you don't understand.&lt;/li&gt;&lt;li&gt;Add the categories you left out last week.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
Both tasks involve a lot of typing, but that can be alleviated by using&lt;br /&gt;
features of your favorite text editor, vim in my case.&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://smalltalk.gnu.org/blog/swsch/more-readable-code-less-typing&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 19:14:35 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Doug Schaefer: MinGW on Linux on Windows 7???</title>
	<guid>tag:blogger.com,1999:blog-16474715.post-3462048469932587511</guid>
	<link>http://cdtdoug.blogspot.com/2009/07/mingw-on-linux-on-windows-7.html</link>
	<description>My Windows/Linux world has gotten a whole lot more complicated in the last few days, but I'm really liking how it's set up now.&lt;br /&gt;&lt;br /&gt;As I mentioned in my blog entry on multi-target Makefiles, I am using Fedora 11's mingw cross compiler along with gcc's multilib support and am building the little C++ project I'm working on at work for both 32 and 64-bit Linux as well as Windows all in the same Makefile and all on every build of my CDT project. That is extremely handy and I've already fixed a problem early where there is a mismatch between the linux and mingw environments, no strndup on mingw, and was able to do so without switching machines.&lt;br /&gt;&lt;br /&gt;This is awesome and I'll be able to produce executables for all three of these platforms for testing all in one shot. Kudos to the Fedora folk for providing first class support for mingw cross compilation and not ignoring the fact that us developers still need to target Windows once in a while. That makes Fedora my favorite development environment by far.&lt;br /&gt;&lt;br /&gt;But, alas, Linux drivers suck for laptops. I have a Dell and a port replicator at work and at home. I have a 24&quot; monitor at work running at 1900 wide and a 22&quot; monitor at home at 1680 wide. I swap between the two every day, and often work undocked at home with no external monitor. I could never get Linux to recognize when I dock and to figure out which monitor was hooked up. That drove me nuts.&lt;br /&gt;&lt;br /&gt;A couple of things have also happened recently. I've been testing the Windows 7 RC on a separate partition and have started to really like it. As a lot of people have mentioned already, it's what Vista should have been. It doesn't quite have the flash of the Mac, but I find it's a great balance between flash and the stability of XP.&lt;br /&gt;&lt;br /&gt;The other thing that happened was that VirtualBox 3.0 has been released and it now has OpenGL support for both Windows and Linux guests. That was one of the reasons I moved to Linux, to experiment with OpenGL there. Now I can do that in a guest OS.&lt;br /&gt;&lt;br /&gt;So putting all that together, I've replaces OSes yet again (been doing that regularly for years it seems). I'm now running on 64-bit Windows 7 with two major VMs, one for my fabulous Fedora dev environment, and one for the corporate XP environment I used to have there for Outlook and Netmeeting. So far so good. I get the odd glitch once in a while but nothing I can't recover from and it is a release candidate. But now I have the best of all worlds. Except maybe MacOSX, and an iPhone dev environment. So close...&lt;img width=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/16474715-3462048469932587511?l=cdtdoug.blogspot.com&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 19:12:28 +0000</pubDate>
</item>
<item>
	<title>KDE: Carsten Niehaus (carsten): Progress in the predator prey simulation</title>
	<guid>http://cniehaus.livejournal.com/51532.html</guid>
	<link>http://cniehaus.livejournal.com/51532.html</link>
	<description>Since &lt;a href=&quot;http://cniehaus.livejournal.com/51231.html&quot;&gt;yesterday&lt;/a&gt; a lot things improved. &lt;br /&gt;&lt;br /&gt;In this example I killed all but one rabbit after 1200 rounds and all but one wolve after 7700 (of 10000) rounds:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://img23.imageshack.us/i/predatorprey4.png/&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://img23.imageshack.us/img23/8906/predatorprey4.th.png&quot; border=&quot;0&quot; alt=&quot;Free Image Hosting at www.ImageShack.us&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://img604.imageshack.us/content.php?page=blogpost&amp;amp;files=img23/8906/predatorprey4.png&quot; title=&quot;QuickPost&quot;&gt;&lt;img src=&quot;http://imageshack.us/img/butansn.png&quot; alt=&quot;QuickPost&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; Quickpost this image to Myspace, Digg, Facebook, and others!</description>
	<pubDate>Fri, 03 Jul 2009 19:12:09 +0000</pubDate>
</item>
<item>
	<title>OpenID: Kaliya Hamlin: Cultivating Community</title>
	<guid>http://www.identitywoman.net/the-practice-of-cultivating-community</guid>
	<link>http://www.identitywoman.net/the-practice-of-cultivating-community</link>
	<description>&lt;p&gt;Communities don’t usually “just happen” there is idea, or vision that attracts people, and there are community organizer(s) or catalysts that proactively seek out others who share a vision and help bring a community together.&lt;/p&gt;
&lt;p&gt;Growing community, cultivating community, nurturing community, weaving community, building community, creating community – all slightly different metaphors describing this process that happens when people make the effort to create space (an environment) for people to meet, inviting people into the space and encouraging conversations that help connections and foster relatedness.&lt;/p&gt;
&lt;p&gt;Community is what unfolds when people come together voluntarily, learn about one another, begin to care about one another, and start to do things together. In doing things together that are successful, trust develops and people begin to work and act together IN community, doing progressively more difficult things, becoming strong and more resilient.&lt;/p&gt;
&lt;p&gt;Thanks to Malcolm Gladwell’s &lt;em&gt;The Tipping Point&lt;/em&gt; we know about Connectors, Mavens, and Salespeople, social archetypes that play different roles, each with their own value in helping information flow, networks form and communities emerge.&lt;/p&gt;
&lt;p&gt;It was great to have him articulate this i finally had a label for my own activity/passion – I have become a maven of a few things throughout the years. user-centric digital identity was a subject I really got into in 2003-4. I read everything I could about the subject as I began to meet some of the people thinking about it. I became passionate about the topic and applied my connector skills and started meeting finding people who were interested in the subject. Those who didn’t know about the subject I sold them on the idea &lt;img alt=&quot;:)&quot; class=&quot;wp-smiley&quot; src=&quot;http://www.identitywoman.net/wp-includes/images/smilies/icon_smile.gif&quot; /&gt; . I am not by nature a sales person about “anything” but only those things I believe in.&lt;/p&gt;
&lt;p&gt;One can also see a community as the evolution and maturing of a network, that is the relationships between people. When beginning the links might be very weak, but in time as the potential community members get to know each other and take action together and the ties strengthen; they become a stronger and more resilient “real” community. A paper that was very influential in my understanding was &lt;em&gt;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=4&amp;amp;url=http%3A%2F%2Fwww.orgnet.com%2FBuildingNetworks.pdf&amp;amp;ei=LnU5SrGeA4SKswOhhZX-Bg&amp;amp;usg=AFQjCNFMMgQ3FXIZStzZJW2Wto7bjA4BOQ&amp;amp;sig2=bqh0dna94mu5sWhbaCVo-A&quot;&gt;Building Smart Communities through Network Weaving&lt;/a&gt; &lt;span style=&quot;font-style: normal;&quot;&gt;by Valdis Krebs and June Holley that I read in 2003 (along with every popular science book on network science out then: &lt;a href=&quot;http://www.amazon.com/Linked-Everything-Connected-Else-Means/dp/0452284392/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1245280278&amp;amp;sr=8-1&quot;&gt;Linked,&lt;/a&gt; &lt;a href=&quot;http://www.amazon.com/SYNC-Order-Emerges-Universe-Nature/dp/0786887214/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1245280365&amp;amp;sr=8-1&quot;&gt;Sync&lt;/a&gt;, &lt;a href=&quot;http://www.amazon.com/Six-Degrees-Science-Connected-Market/dp/0393325423/ref=pd_bxgy_b_img_c&quot;&gt;Six Degrees&lt;/a&gt;, &lt;a href=&quot;http://www.amazon.com/Emergence-Connected-Brains-Cities-Software/dp/0684868768/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1245280423&amp;amp;sr=1-1&quot;&gt;Emergence&lt;/a&gt;, &lt;a href=&quot;http://www.amazon.com/Nexus-Worlds-Groundbreaking-Theory-Networks/dp/0393324427/ref=pd_sim_b_2&quot;&gt;Nexus&lt;/a&gt;)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This paper investigates building sustainable communities through improving their connectivity – internally and externally – using network ties to create economic opportunities. Improved connectivity is created through an iterative process of&lt;/em&gt; &lt;strong&gt;&lt;em&gt;knowing the network&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;and&lt;/em&gt; &lt;strong&gt;&lt;em&gt;knitting the network&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Knowing the network and knitting the network have been foundational in my practice of community weaving. I regularly meet with people in the community and help them get connected to others who’s work is related to their goals. Two examples first RSA as often happens those new to the community “knock on my door” and ask to meet for lunch or coffee to share what they are doing and learn more about who they should connect to in the community. Mike wanted to meet with me he to share about his new company &lt;a href=&quot;http://www.gluu.org/home.seam&quot;&gt;Gluu&lt;/a&gt; that does inter-domain identity. It was great to learn what he was up to and also share papers/doc’s/projects relevant to his work and people he should meet. Yesterday I followed up with someone I invited to/and attended IIW. I spent 2.5 hours talking with Joe Johnston who attended about his efforts to bring interoperable identity (OpenID and other things) to &lt;a href=&quot;http://www.pachamama.org/content/view/2/12/&quot;&gt;Pachamama Alliance&lt;/a&gt; and other organizations with similar missions.&lt;/p&gt;
&lt;p&gt;In terms of knowing and knitting networks between different communities/standards bodies/consortia/projects I wrote a post about &lt;a href=&quot;http://www.identitywoman.net/community-to-community-diplomats-and-diplomacy&quot;&gt;Community Diplomats and Community Diplomacy&lt;/a&gt; last year thinking about different community-connecting roles and how if they are named they can be seen better and foster inter-group collaboration and communication.&lt;/p&gt;
&lt;p&gt;Another essential but often un-named aspect/milestone of community development is communities development is &lt;a href=&quot;http://www.eekim.com/blog/2006/06/09/developingsharedlanguage&quot;&gt;shared language&lt;/a&gt; and then shared understanding. Shared Language is a prerequisite to collaboration enabling what were different perspectives and world views to sync, and then out of that it is much easier to work together. Eugene articulates three elements needed to create shared language:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Share individual contexts&lt;/li&gt;
&lt;li&gt;Encourage namespace clash&lt;/li&gt;
&lt;li&gt;Leave enough time and space to work things out&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An example of shared language that was developed in the community was the &lt;a href=&quot;http://wiki.idcommons.net/Lexicon&quot;&gt;identity gang lexicon&lt;/a&gt; that Paul and others worked on in 2004-2005 so that when discussing different identity technologies there was at least a common language to talk about them.&lt;/p&gt;
&lt;p&gt;Another example of the evolution of the communities shared understanding grew out of Johannes original presentation at IIW2006 with the &lt;a href=&quot;http://netmesh.info/jernst/Digital_Identity/three-standards.html&quot;&gt;identity triangle with three pillars&lt;/a&gt; – user-controlled, company controlled and then microsoft controled. He did an updated it almost a year later e&lt;a href=&quot;http://netmesh.info/jernst/Digital_Identity/updating-three-standards.html&quot;&gt;xplaining of the community language and understanding had evolved&lt;/a&gt;. This starting point was moved forward by &lt;a href=&quot;http://www.xmlgrrl.com/blog/archives/2007/03/28/the-venn-of-identity/&quot;&gt;Eve Maler creating the Venn of Identity&lt;/a&gt; and became an &lt;a href=&quot;http://www.xmlgrrl.com/publications/IEEESecPriv-MarApr2008-MalerReed-Venn.pdf&quot;&gt;IEEE paper written by her and Drummond Reed.&lt;/a&gt; Johannes has continued to be a wholistic thinker about the landscape and in &lt;a href=&quot;http://netmesh.info/jernst/Digital_Identity/concentric-circles-2008.html&quot;&gt;2008 he articulated an onion to think about which identity technologies are applicable where&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Space and Spaciousness for community to form is a key part of what the &lt;a href=&quot;http://www.internetidentityworkshop.com&quot;&gt;Internet Identity Workshops&lt;/a&gt; have been about about. We have never “set the agenda” there but instead allow anyone attending to post a session idea. We encouraged dialogue with space rather then having an agenda.   &lt;/p&gt;
&lt;p&gt;We have an amazingly rich community fabric of working relationships that is both resilient and delicate.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 19:03:22 +0000</pubDate>
</item>
<item>
	<title>OpenID: Kaliya Hamlin: IIW &amp; Identity Community Bumps in the Road</title>
	<guid>http://www.identitywoman.net/iiw-identity-community-bumps-in-the-road</guid>
	<link>http://www.identitywoman.net/iiw-identity-community-bumps-in-the-road</link>
	<description>&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://www.internetidentityworkshop.com/iiw-identity-community-bumps-in-the-road/&quot;&gt;This is cross posted on the IIW blog&lt;/a&gt;&lt;/em&gt; .&lt;/p&gt;
&lt;p&gt;When we first started meeting (the early “seedling” meetings of &lt;a href=&quot;http://www.identitywoman.net/the-practice-of-cultivating-community&quot;&gt;community&lt;/a&gt;) at other people’s conferences, there were &lt;a href=&quot;http://www.microsoft.com&quot;&gt;Microsoft&lt;/a&gt; people, &lt;a href=&quot;http://www.projectliberty.org&quot;&gt;Liberty Alliance&lt;/a&gt;/&lt;a href=&quot;http://saml.xml.org/&quot;&gt;SAML&lt;/a&gt; people, &lt;a href=&quot;http://shibboleth.internet2.edu/&quot;&gt;Shibboleth&lt;/a&gt; implementers, user-centric folks (&lt;a href=&quot;http://web.archive.org/web/20050521013725/http://openid.net/&quot;&gt;OpenID&lt;/a&gt;, &lt;a href=&quot;http://lid.netmesh.org&quot;&gt;LID&lt;/a&gt;, &lt;a href=&quot;http://web.archive.org/web/20041014062427/http://www.sxip.com/index.html&quot;&gt;sxip&lt;/a&gt;, &lt;a href=&quot;http://www.inames.net&quot;&gt;i-names&lt;/a&gt;/&lt;a href=&quot;http://www.oasis-open.org/committees/xri/&quot;&gt;xri&lt;/a&gt;), big idea folks (&lt;a href=&quot;http://www.searls.org&quot;&gt;Doc Searls&lt;/a&gt;), etc. We met for a couple of hours at a time and knew there was common ground, but knew we needed more time to really understand each other: to have more of a &lt;a href=&quot;http://www.eekim.com/blog/2006/06/09/developingsharedlanguage&quot;&gt;shared language&lt;/a&gt; and develop enough strength in the relationships in the community to work together. We figured we needed to have more time to meet together, so we convened the &lt;a href=&quot;http://iiw.idcommons.net/&quot;&gt;Internet Identity Workshop&lt;/a&gt;. That first event was amazing and quite formative – kicking off the conversation that would lead to &lt;a href=&quot;http://www.openID.net&quot;&gt;OpenIDv2&lt;/a&gt; via &lt;a href=&quot;http://www.yadis.org&quot;&gt;Yadis&lt;/a&gt;. &lt;a href=&quot;http://www.identitybolg.com&quot;&gt;Kim Cameron&lt;/a&gt; presented his &lt;a href=&quot;http://www.identityblog.com/?p=354&quot;&gt;7 laws of identity&lt;/a&gt; that have become foundational to community thinking and introduced the idea of information cards and selectors; much work is now happening around this.&lt;/p&gt;
&lt;p&gt;Soon afterward Brett McDowell the ED at &lt;a href=&quot;http://www.projectliberty.org&quot;&gt;Liberty Alliance&lt;/a&gt; approached me and Phil about having an Internet Identity Workshop (IIW) next to (the days following and in the same location) an upcoming Liberty Alliance meeting. We thought this was a great idea to create more space for people to meet about user-centric identity technologies and issues. When Microsoft got wind of this, boy did I get an earful – they felt that the neutrality of IIW would be totally compromised if it came to be that closely associated with Liberty Alliance (remember Liberty Alliance was &lt;a href=&quot;http://www.informationweek.com/news/software/development/showArticle.jhtml?articleID=6502694&quot;&gt;originally formed by Sun&lt;/a&gt; and others in response to Microsoft Passport).&lt;/p&gt;
&lt;p&gt;IIW had provided a forum for anyone working on user-centric identity technologies to come together without anyone making an “agenda” for the meeting or creating a “technology road map.” Literally anyone who came could put a subject on the agenda on the day of the event. All parties did want to increase dialogue and cross-pollination among the groups, and we found a way through by jointly (IIW and Liberty Alliance) producing what we named the &lt;a href=&quot;http://iiw.idcommons.net/Main_Page#Previous_Identity_Open_Spaces&quot;&gt;Identity Open Space&lt;/a&gt; (we also said we would be open to co-producing with others who asked – we did two with Digital Identity World). It was in Vancouver Canada and Kim Cameron along with several Microsoft folks along with many in the user-centric community attended and because it was the two days after a Liberty Alliance meeting many Liberty people were also there, and it was a good event that moved the industry forward.&lt;/p&gt;
&lt;p&gt;Right in the middle of getting this worked out – I on a personal level had a very intense experience being caught in the middle – a giant trade association on one side and Microsoft on the other. We (me, Phil, Doc, Kim, Brett) managed to navigate this as a community and do the right thing and we became stronger as a community for having done so.&lt;/p&gt;
&lt;p&gt;We continued to have IIW’s every 6 months and in 2006 it was clear we were going beyond just IIW and needed a community home/container to connect community efforts and provide common services (blogs, wikis, bank account for doing common work like holding events). We held a series of conversations and decided to create a community organization, drawing on an existing one, &lt;a href=&quot;http://web.archive.org/web/20060113215351/http://idcommons.net/&quot;&gt;Identity Commons&lt;/a&gt; – the community liked the &lt;a href=&quot;http://web.archive.org/web/20060114081506/idcommons.net/principles.html&quot;&gt;purpose and principles&lt;/a&gt; approach for bringing people together. As a codition of brand transfer to a our nonprofit organization we worked on &lt;a href=&quot;http://wiki.idcommons.net/Purpose_And_Principles&quot;&gt;our version of purpose and principles&lt;/a&gt;. There were some delays in actually getting the organization legally formed and the brand transfered, but in 2007 we were an official organization: a network of organizations, initiatives, and projects all working on different aspects of a people-centric identity layer of the web. There are several places you can read about community &lt;a href=&quot;http://wiki.idcommons.net/History&quot;&gt;history&lt;/a&gt; and &lt;a href=&quot;http://wiki.idcommons.net/Background&quot;&gt;background&lt;/a&gt; around &lt;a href=&quot;http://wiki.idcommons.net&quot;&gt;Identity Commons&lt;/a&gt;. I wrote &lt;a href=&quot;http://www.identitywoman.net/what-the-heck-is-identity-commons&quot;&gt;“What the heck is Identity Commons?”&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Next fall we are hosting our 9th event. Many things have move forward significantly in the community – OpenIDv2, OAuth, &lt;a href=&quot;http://www.xmlgrrl.com/blog/archives/2007/03/28/the-venn-of-identity/&quot;&gt;Venn of Identity paper&lt;/a&gt;, OSIS Interop, Concordia use-cases, Information Card evolution including Augmented Browsing with Action Cards, Portable Contacts, Open Social, OpenID/OAuth hybrid, Activity Streams, Distributed Social Networking, Discovery particularly XRD. So what has made IIW work so well in fostering the kind of collaboration and innovation that has emerged from it?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;li&gt;We have kept the space free: no one has the ability to buy time at the conference.&lt;/li&gt;
&lt;li&gt;All ideas are welcome: there is no committee controlling the agenda, so politics about what is “on the agenda” or “not” just doesn’t happen.&lt;/li&gt;
&lt;li&gt;It is a working workshop to solve real problems, move technical projects forward and discuss interoperability among them.&lt;/li&gt;
&lt;li&gt;We put attention towards creating the space for relationships between people to form naturally over time and thus enabled trust to grow.&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Fri, 03 Jul 2009 19:03:15 +0000</pubDate>
</item>
<item>
	<title>OpenID: Kaliya Hamlin: Facebook Changing Privacy Settings</title>
	<guid>http://www.identitywoman.net/facebook-changing-privacy-settings</guid>
	<link>http://www.identitywoman.net/facebook-changing-privacy-settings</link>
	<description>&lt;p&gt;This past month has been interesting for Facebook – &lt;a href=&quot;http://www.washingtonpost.com/wp-dyn/content/article/2009/06/18/AR2009061804043.html&quot;&gt;they hired Timothy Sparapani as their lobbyist in Washington&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;As a prominent privacy advocate, Timothy Sparapani, former senior legislative counsel for the American Civil Liberties Union, argued that Internet companies have too much control over consumers’ data. The self-described “privacy zealot” didn’t join Facebook until seven months ago because he was uneasy about revealing personal information on the site.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;He joins 24-year-old Adam Coner for the last year who has had as his main job “educat[ing] members of Congress and Capitol Hill staffers about leveraging Facebook to reach constituents.”&lt;/p&gt;
&lt;p&gt;The current Chief Privacy officer Chris Kelly will be going on a leave of absence in September to focus on running for Attorney General of California.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://epic.org/privacy/facebook/&quot;&gt;EPIC has a very detailed page about Facebook Privacy.&lt;/a&gt; It is an impressive page that will give you pause. It outlines all the major features of the service it has concerns about. It has a list of all the EPIC Actions related to Facebook too.&lt;/p&gt;
&lt;p&gt;This week Facebook is taking some steps to improve privacy &lt;a href=&quot;http://blog.facebook.com/blog.php?post=101470352130&quot;&gt;from its website&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The power to share is the cornerstone of Facebook. Privacy and the tools for tailoring what information is shared with whom are at the heart of trust. Over the past five years, Facebook has learned that effective privacy is grounded in three basic principles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Control. When people can easily control the audience for their information and content, they share more and they’re able to better connect with the people who matter in their lives.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Simplicity. When tools are simple, people are more likely to use them and understand them.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Connection. With effective tools, people can successfully balance their desire to control access to information with their desire to connect – to discover and be discovered by those they care about.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That’s why in the coming days, we’ll be improving privacy on Facebook by launching a series of tests that guide people to new, simpler tools of control and connection.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I wrote about some of the issues I have with Facebook when I heard Dave Morin talk at SXSW &lt;a href=&quot;http://www.identitywoman.net/am-i-to-old-to-get-facebook-or-do-they-not-get-it&quot;&gt;“Am I to “old” to get Facebook – or do they not get it?”&lt;/a&gt;. I highlighted 3 different issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What Blane Cook describes as “being in a room with everyone you ever met all the time”: all my friends from different contexts of my life get all the same ’status’ updates and I don’t use them cause I feel like it is social spam to speak to them with the same voice and same frequency. I also don’t like that it broadcasts everything I “do” in the network to everyone.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;“Real Names” vs. handles online – their belief they have “everyone’s real name in facebook”&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;The difference that women experience in online space and how they manage and protect their identity and what information is online.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is what they are saying about how to address this issue:&lt;/p&gt;
&lt;p&gt;They are introducing a &lt;a href=&quot;http://blog.facebook.com/blog.php?post=98499677130&quot;&gt;Publisher Privacy Control&lt;/a&gt; so that on a per-post basis users can control who sees each post. Friends, Friends and Family etc. On the other end of the spectrum, you can also share with “everyone” now.&lt;/p&gt;
&lt;p&gt;They are simplifying their privacy settings. Hopefully this will make it more usable.&lt;/p&gt;
&lt;p&gt;They are figuring out how to gracefully help people transition between the old settings and the new way.&lt;/p&gt;
&lt;p&gt;They are asking everyone to revisit their settings…because:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;We think Facebook is most useful when people can find and connect with each other, which is why this tool will enable you to make available those parts of your profile that you feel comfortable sharing in order to facilitate better connection. You will have the choice of being as open or as limited in the sharing of this information as you want.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The byline on the post is cute:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Chris Kelly, Facebook’s chief privacy officer, is glad to be offering you more control.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.readwriteweb.com/archives/the_day_facebook_changed_messages_to_become_pulic.php&quot;&gt;Read Write Web goes into their understanding of the announcement and user experience&lt;/a&gt;. This is a long, good piece.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 19:03:04 +0000</pubDate>
</item>
<item>
	<title>OpenID: Kaliya Hamlin: OpenID goes mainstream – Sears and KMart are now relying parties</title>
	<guid>http://www.identitywoman.net/openid-goes-mainstream-sears-and-kmart-are-now-relying-parties</guid>
	<link>http://www.identitywoman.net/openid-goes-mainstream-sears-and-kmart-are-now-relying-parties</link>
	<description>&lt;p&gt;This is really exciting news for the identity community since getting mainstream adoption of OpenID has been a challenge for the community. They worked with JanRain on implementing the project. &lt;a href=&quot;http://www.readwriteweb.com/archives/openid_goes_shopping_kmart_and_sear_implement_openid.php&quot;&gt;Here is the RWW story&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I just went to &lt;a href=&quot;https://www.mykmart.com/register&quot;&gt;the KMart site to “join”&lt;/a&gt;, and at first I thought it wasn’t there. Turns out the option to sign up with OpenID is below the fold; you have to scroll down to find it. This is disappointing – it turns out that many web users don’t actually know how to scroll! Facebook, Yahoo!, Google, AOL, Twitter, and MySpace are on the first set of options; OpenID and Windows Live ID are on the second.&lt;/p&gt;
&lt;p&gt;I choose the OpenID option and entered my i-name (yes, I still use it) and it worked. I like the new “pop-up” method of supporting authentication – it does the redirection without taking you away from the website. I think the OpenID community is improving the UI by leaps and bounds.&lt;/p&gt;
&lt;p&gt;One thing I don’t like is having to “pick a screen name” I always get stuck I went with &lt;a href=&quot;http://www.mykmart.com/aboutme/Kaliya&quot;&gt;Kaliya figuring that this would be a profile&lt;/a&gt; I would almost never use. I may delete it.&lt;/p&gt;
&lt;p&gt;Congratulations!&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 19:02:33 +0000</pubDate>
</item>
<item>
	<title>SuSE: Marcus Meissner: Update</title>
	<guid>http://marcusmeissner.livejournal.com/26506.html</guid>
	<link>http://marcusmeissner.livejournal.com/26506.html</link>
	<description>Was at LinuxTag in Berlin last weekenend.&lt;br /&gt;&lt;br /&gt;Two main goals fulfilled:&lt;br /&gt;- Met and talked to the Redhat security folks, who I had never met before in RL. All the Opensource security guys cooperate and work together friendly, it was nice meeting them.&lt;br /&gt;- Hold another talk on Wine in front of a full hall again. Should have shown demos perhaps. Thanks for listening! &lt;a href=&quot;http://gallery.opensuse.org/linuxtag2009/img_2384_jpg/img_2470.jpeg.html&quot;&gt;me in front&lt;/a&gt; and &lt;a href=&quot;http://gallery.opensuse.org/linuxtag2009/img_2384_jpg/img_2471.jpeg.html&quot;&gt;the audience&lt;/a&gt;. Also &lt;a href=&quot;http://www.flickr.com/photos/jzb/3671706121/in/photostream/&quot;&gt;on Flickr (follow stream right)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Otherwise lots of work and business as usual, just more of it ... tiring.&lt;br /&gt;&lt;br /&gt;Also saw my newborn niece for the first time 2 weeks ago while visiting parents. And yummy strawberry pie.&lt;br /&gt;&lt;br /&gt;Otherwise I rewrote the libgphoto2 object handling on the trainride and committed it. It allows greater flexibility in dynamic loading of the objectinformation from the cameras, on-demand loading, and features binary search. Still not happy with some of the datastructures.</description>
	<pubDate>Fri, 03 Jul 2009 19:02:33 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: "Osfameron": Bids for YAPC::EU::2010 - Pisa and Kiev!</title>
	<guid>http://greenokapi.net/blog/?p=166</guid>
	<link>http://greenokapi.net/blog/2009/07/03/bids-for-yapceu2010-pisa-and-kiev/</link>
	<description>&lt;p&gt; Organizing a conference is hard, let's go shopping!  For the first time I'm
officially helping, not just for the Italian Perl Workshop this year, but
possibly for YAPC::EU::2010 too.  I've been  working with the &lt;a href=&quot;http://perl.it/&quot;&gt;perl.it&lt;/a&gt; guys on the proposal to host the European
Perl Conference 2010 in Pisa.

&lt;p&gt;
We submitted the bid on Monday, and it's
just been &lt;a href=&quot;http://www.yapceurope.org/news.html#20090703&quot;&gt;announced&lt;/a&gt;
that the teams competing are: Pisa (us) and Kiev in Ukraine.  Wow!  YEF have actually
published both our bids on that link, which is fantastic for transparency.

&lt;p&gt;
It also means that we can read their bid... and it's a good one!  Looks like
we've got some competition.  Of course our Pisa bid is excellent too - in
any case, the next couple of weeks till we find out who won are going to be a
nailbiting time!&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 18:56:33 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Alex Vincent: Scott Adams vs AdBlock Plus</title>
	<guid>http://weblogs.mozillazine.org/weirdal/archives/020113.html</guid>
	<link>http://weblogs.mozillazine.org/weirdal/archives/020113.html</link>
	<description>&lt;p&gt;Funny: &lt;a href=&quot;http://www.dilbert.com/animation/&quot;&gt;Ad blocking software like AdBlock Plus may cause animation to not play. Please disable.&lt;/a&gt;&lt;/p&gt;

You know you've made an impact when &lt;em&gt;Dilbert&lt;/em&gt; calls you out.  Nice.</description>
	<pubDate>Fri, 03 Jul 2009 18:39:12 +0000</pubDate>
</item>
<item>
	<title>RDF: We’re Hiring</title>
	<guid>http://clarkparsia.com/weblog/2009/07/03/were-hiring/</guid>
	<link>http://clarkparsia.com/weblog/2009/07/03/were-hiring/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://jobs.stackoverflow.com/default.asp?5008&quot;&gt;Job
posting&lt;/a&gt; at StackOverflow.com says it all. Ping me if you want
details, etc. (Job posting also debuts our new logo: rebranding
coming soon, blah blah, unified identity, blah, big money… :))&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 18:36:34 +0000</pubDate>
</item>
<item>
	<title>SuSE: Chenthill P: GUADEC!</title>
	<guid>http://chenthill.wordpress.com/?p=126</guid>
	<link>http://chenthill.wordpress.com/2009/07/03/guadec/</link>
	<description>&lt;br /&gt;&lt;p&gt;I had to opt out of GUADEC due to personal reasons. But there are three guys from evolution team Srini (board director &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;  ), Akhil and Bharath right now at Gran canaria . You can catch them for any evolution queries &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Akhil should love meeting Ara and Eitan and discuss ldtp stuffs!&lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/chenthill.wordpress.com/126/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/chenthill.wordpress.com/126/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/chenthill.wordpress.com/126/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/chenthill.wordpress.com/126/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/chenthill.wordpress.com/126/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/chenthill.wordpress.com/126/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/chenthill.wordpress.com/126/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/chenthill.wordpress.com/126/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/chenthill.wordpress.com/126/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/chenthill.wordpress.com/126/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=chenthill.wordpress.com&amp;amp;blog=365324&amp;amp;post=126&amp;amp;subd=chenthill&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 18:33:32 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Robert Konigsberg: Generic types are not required for covariance</title>
	<guid>tag:blogger.com,1999:blog-8055871.post-6336879163862475201</guid>
	<link>http://konigsberg.blogspot.com/2009/07/generic-types-are-not-required-for.html</link>
	<description>Java 5.0 introduced Generics. It also introduced covariant return types. Wikipedia does a fine job &lt;a href=&quot;http://en.wikipedia.org/wiki/Covariant_return_type&quot;&gt;describing covariant return types&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since they were released simultaneously, I consider them to be tightly coupled. For instance, here are  simplified versions of an interface and implementation I recently wrote:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note: I am having difficulty representing greater-than and less-than symbols in Blogger's editor, so you'll have to do with { and }.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Version 1: Java 5, Generics, Covariant return types&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;public interface Model{T extends Model{T}} {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;  T read(InputStream in);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;  T write(OutputStream out);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;public class MyModel implements Model{MyModel} {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;   public MyModel read(&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;InputStream in&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;) {&lt;br /&gt;    ...&lt;br /&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;   public MyModel write(&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;OutputStream out&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt; {&lt;br /&gt;    ...&lt;br /&gt;  }&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;  public MyModel setName(String name) {&lt;br /&gt;    ...&lt;br /&gt;    return this;&lt;br /&gt;  }&lt;br /&gt;  public String getName() { ... }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;Thanks to the covariance, I can write a method chain like this:&lt;br /&gt;&lt;blockquote&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;new MyModel()&lt;br /&gt;   .read(in)&lt;br /&gt;   .setName(&quot;foo&quot;)&lt;br /&gt;   .setStopAtMain(false)&lt;br /&gt;   ...&lt;br /&gt;   .write(out);&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;With Java 1.4, the code would have to look like this&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Version 2: Java 1.4&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span&gt;public interface &lt;b&gt;Model&lt;/b&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&lt;b&gt;Model&lt;/b&gt;&lt;/span&gt;&lt;span&gt; read(InputStream in);&lt;/span&gt;&lt;br /&gt;&lt;span&gt;   &lt;/span&gt;&lt;span&gt;&lt;b&gt;Model&lt;/b&gt;&lt;/span&gt;&lt;span&gt; write(OutputStream out);&lt;/span&gt;&lt;br /&gt;&lt;span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;class &lt;b&gt;MyModel implements Model&lt;/b&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span&gt;   public &lt;/span&gt;&lt;span&gt;&lt;b&gt;Model&lt;/b&gt;&lt;/span&gt;&lt;span&gt; read(InputStream in) {&lt;/span&gt;&lt;span&gt; ...  }&lt;/span&gt;&lt;br /&gt;&lt;span&gt;   public &lt;/span&gt;&lt;span&gt;&lt;b&gt;Model&lt;/b&gt;&lt;/span&gt;&lt;span&gt; write(OutputStream out) {&lt;/span&gt;&lt;span&gt; ... }&lt;/span&gt;&lt;span&gt;&lt;br /&gt;  &lt;/span&gt;  ...&lt;br /&gt;}&lt;/blockquote&gt;And the method chain would result in a syntax error:&lt;br /&gt;&lt;blockquote style=&quot;font-family: courier new;&quot;&gt;&lt;span&gt;public static void foo() {&lt;/span&gt;&lt;br /&gt;&lt;span&gt;  new MyModel()&lt;/span&gt;&lt;br /&gt;&lt;span&gt;           .read(in)&lt;/span&gt;&lt;br /&gt;&lt;span&gt;           .setName(&quot;foo&quot;)&lt;br /&gt;      &lt;/span&gt;      ^ The method setName(String) is undefined&lt;br /&gt;        for the type Model.&lt;br /&gt;&lt;span&gt;           .write(out);&lt;/span&gt;&lt;br /&gt;&lt;span&gt;}&lt;/span&gt;&lt;/blockquote&gt;Which you could hack around with an ugly cast:&lt;br /&gt;&lt;blockquote style=&quot;font-family: courier new;&quot;&gt;&lt;span&gt;public static void foo() {&lt;/span&gt;&lt;br /&gt;&lt;span&gt;  ((MyModel) new MyModel()&lt;/span&gt;&lt;br /&gt;&lt;span&gt;           .read(in))&lt;/span&gt;&lt;br /&gt;&lt;span&gt;           .setName(&quot;foo&quot;)&lt;br /&gt;      &lt;/span&gt;&lt;span&gt;      .write(out);&lt;/span&gt;&lt;br /&gt;&lt;span&gt; }&lt;/span&gt;&lt;/blockquote&gt;Back to the Java 5 example: My point is just this: covariant return types don't require generics. All that messy code in version 1 could look much simpler because covariant return types exist on their own without generics:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Version 3: Java 5, Covariant return types&lt;/b&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;public interface Model&lt;strike&gt;{T extends Model{T}}&lt;/strike&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;   &lt;strike&gt;T&lt;/strike&gt; Model read(InputStream in);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;   &lt;strike&gt;T&lt;/strike&gt; Model write(OutputStream out);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;public class MyModel implements Model&lt;strike&gt;{MyModel}&lt;/strike&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;   public MyModel read(&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;InputStream in&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;) {&lt;br /&gt;    ...&lt;br /&gt;  }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;   public MyModel write(&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;OutputStream out&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt; {&lt;br /&gt;    ...&lt;br /&gt;  }&lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;  public MyModel setName(String name) {&lt;br /&gt;    ...&lt;br /&gt;    return this;&lt;br /&gt;  }&lt;br /&gt;  public String getName() { ... }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: 'Courier New';&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;Lesson learned: I know generics fairly well, but there's a difference between knowing when it's useful and when it isn't. Said another way: &lt;b&gt;when you have a Generic hammer everything looks like a generic nail.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Thanks to David Plass for pointing this out.&lt;img width=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/8055871-6336879163862475201?l=konigsberg.blogspot.com&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 18:32:46 +0000</pubDate>
</item>
<item>
	<title>CouchDB: The P2P Web (part one)</title>
	<guid>http://jchrisa.net/drl/The-P2P-Web-part-one</guid>
	<link>http://jchrisa.net/drl/_design/sofa/_show/post/The-P2P-Web-part-one</link>
	<description>&lt;p&gt;(Part one because this is only just some of what I'd like to say on the topic.)&lt;/p&gt;

&lt;p&gt;The web was originally designed as a peer-to-peer medium. Tim Berners-Lee needed a way to share physics papers with his friends around the world. Since they were physicists, and the medium was simply published texts, the barriers to entry were low. All you had to do to become an independent publisher was run a copy of the NCSA web server, and point it to an HTML directory of your papers.&lt;/p&gt;

&lt;p&gt;To make a long story short, the idea caught on. In the 15 years since we've seen an explosion of uses for the web, alongside an steady increase in the complexity of web applications and deployments. Google's web index is a long way away from the humble list of all the university web servers of the early years. Even much smaller sites (like the ones you might be building right now) are more likely to consist of service-oriented architecture and complex caching protocols, than a directory index of static html files.&lt;/p&gt;

&lt;p&gt;This complexity comes for a reason, the web has gotten bigger and users have grown to expect sites to integrate data from all kinds of sources. Even if your site is simple enough to be hosted as plain old html, you're still subject to the traffic spikes that millions of active users can bring without warning.&lt;/p&gt;

&lt;p&gt;More importantly, all these changes have made it that much harder for the average user to run their own web sites. At the same time, companies have stepped into the gap to make it easy to publish a blog or connect with your friends (as long as you host your writing or your friendships on the company server.) Most users have never considered controlling their own platforms, instead we see frustration about control manifest itself in ways that many of us geeks find amusing: clamboring to grap &quot;your&quot; Facebook URL before someone else does, pushing the limits of how ugly one can style a Myspace page, anger at site operators for not implementing your favorite imaginary features. These are all reactions to the very real power site operators have over thier users.&lt;/p&gt;

&lt;p&gt;There are also more-geeky reactions: the OpenID and Data-Portability movements, for instance. While these geek movements have their heart in the right place, I was never able to get excited about them. For as much as they see the value of giving control to users, they're still steeped in the idea of a web owned by vendors, where users can at best &quot;go on strike&quot; to demand more respect. The data-portability movement may have had user's interests at heart, but the ability to send your photos from Flickr to Picasa isn't a huge step up.&lt;/p&gt;

&lt;p&gt;I suppose if there's a similar term to describe the p2p web, it'd be &quot;application portability.&quot; When an application is designed to run against a client-based CouchDB node, not only can it (and the data it touches) be replicated from (say) Flickr to Picasa, it can also be replicated from Alice to Bob, or even modified by Alice and then replicated for publishing by any generic CouchDB hosting provider.&lt;/p&gt;

&lt;p&gt;I tend to dig into the technical details of how this is accomplished, but I'll skip that part for today. Instead I'll just say it's easy. Once you've got a group of people with CouchDB on their laptops, it only takes a few minutes before they are actively sharing and aggregating data in an ad-hoc way. Since applications are just another form of data, they are replicated along with other changes. The big picture here seems to be a little bit harder for experienced developers to grasp, than for new developers and end users.&lt;/p&gt;

&lt;p&gt;If you've never jumped through the mental hoops required to build a modern web application cluster, if you've never struggled with defining indexes on a relational database or configuring an HTTP proxy, than you have less invested in the centralized model of application development. I've found that people who haven't yet learned how &quot;to do it right&quot; are quite comfortable with the relaxed model CouchDB provides. &quot;You mean I just save this document and then load it again when I need it?&quot; &quot;I can get this same data onto your computer by clicking that button?&quot; &lt;/p&gt;

&lt;p&gt;What is simple for a user requires a lot of relearning on the part of experienced developers. The physics of the web are changing, and a lot of the hard work we had to do to make the centralized model function just doesn't apply to the p2p web. So far I've said more about the centralized web than the peer-to-peer web. I should at least mention that I don't see the centralized web going anywhere anytime soon. There will always be room for online shopping carts and even centralized message routers. But as a general rule of thumb technology has followed the path of least resistance. &lt;/p&gt;

&lt;p&gt;When users have the data they care about locally, they can afford to burn much more CPU time pulling interesting patterns from it than (say) Google can use to categorize a particular web page. This in turn frees the centralized services to provide what they do best: message routing and peer discovery. It's nice that Facebook can help me find photos of my friends, but it's frustrating that each time I visit an album I have to wait for image files to cross the wire. Social graph services of the future will be built on the assumption that users have data they may want to share with their friends but not the service provider. It's up to them to figure out how to meet that need.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 18:10:48 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Aakash Desai: What’s Next for Testdays?</title>
	<guid>http://ahdesai.wordpress.com/?p=237</guid>
	<link>http://ahdesai.wordpress.com/2009/07/03/whats-next-for-testdays/</link>
	<description>&lt;br /&gt;&lt;p&gt;What we’ve done so far over the past 3 months:&lt;br /&gt;
- 2,636 manual test cases run via &lt;a href=&quot;http://litmus.mozilla.org/&quot;&gt;litmus&lt;/a&gt;&lt;br /&gt;
- 150 Bugs created spanning multiple Mozilla related projects&lt;br /&gt;
- 8 MozMill Testscripts created&lt;br /&gt;
- 15 Website Test Reports collected&lt;br /&gt;
- An average of 39.3 Testday participants on IRC partaking in the day’s activities&lt;/p&gt;
&lt;p&gt;I’m pretty proud of the work that’s been done so far by the Mozilla QA Community since we re-started Testdays on a bi-monthly basis. That’s a lot of results over a time when we were still trying to figure out how to use Testdays in the best way possible and squeeze the amount of participation with what we had at the time. &lt;/p&gt;
&lt;p&gt;Of course, it’s still in its infancy as a lot of infrastructure is still in need of being built up ( i.e. standard test guides, indexing participants and their contributions over individual as well as multiple Testdays, QMO work, creating a persistent Testday personality, etc. ) as well as finding a way to spread the word to people who really do &lt;i&gt;need&lt;/i&gt; these events to hone their skills and/or learn new ones  ( i.e. currently discouraged workers, students [high school and college], those who are just interested in web QA work, those interested in the advocation of the quality of the internet’s content, etc. ). A lot of it is already in the process of being done, so expect us to get a lot better and a lot more efficient in the coming months as we continue to drive this to wherever it may go. &lt;/p&gt;
&lt;p&gt;With all of that said, what would you like to see out of Testdays that you haven’t seen already? I’d love to hear anything, especially comments and concerns, about what the Mozilla Community has seen so far and would like/like not to see again!&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/ahdesai.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/ahdesai.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/ahdesai.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/ahdesai.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/ahdesai.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/ahdesai.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/ahdesai.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/ahdesai.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/ahdesai.wordpress.com/237/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/ahdesai.wordpress.com/237/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=ahdesai.wordpress.com&amp;amp;blog=7023349&amp;amp;post=237&amp;amp;subd=ahdesai&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 18:05:06 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Robert Accettura: Optimizing @font-face For Performance</title>
	<guid>http://robert.accettura.com/?p=2834</guid>
	<link>http://robert.accettura.com/blog/2009/07/03/optimizing-font-face-for-performance/</link>
	<description>&lt;p&gt;You want to use &lt;code&gt;@font-face&lt;/code&gt;, then you realize it’s got some downsides.  First of all, it’s another &lt;acronym title=&quot;HyperText Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; request, and we know that the golden rule of web performance is to keep &lt;acronym title=&quot;HyperText Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; requests to a minimum.  Secondly fonts aren’t even small files, they can be 50k+ in size.  Lastly the lag of fonts loading last means you page seems to morph into it’s final form.&lt;/p&gt;
&lt;p&gt;Here’s a cool little optimization.  By using a &lt;a href=&quot;http://www.ietf.org/rfc/rfc2397.txt&quot;&gt;data: &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;&lt;/a&gt; you can use the font inline by encoding in base64.  For example:&lt;/p&gt;
&lt;pre lang=&quot;css&quot;&gt;    @font-face {
      font-family: &quot;My Font&quot;;
      src: &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;(&quot;data:font/opentype;base64,[base-encoded font here]&quot;);
    }

    body { font-family: &quot;My Font&quot;, serif }
&lt;/pre&gt;
&lt;p&gt;You can see this in action &lt;a href=&quot;http://robert.accettura.com/wp-content/uploads/2009/07/embedded-font-face.html&quot;&gt;here&lt;/a&gt;.  This seems to work fine in Firefox 3.5, and Safari 4 (presumably any modern WebKit based browser).  Other browsers will simply act as if they don’t support &lt;code&gt;@font-face&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In practice I’d recommend putting it in a separate stylesheet rather than inline &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; so that your pages are smaller and &lt;acronym title=&quot;Cascading Style Sheets&quot;&gt;CSS&lt;/acronym&gt; can be cached for subsequent pageviews.&lt;/p&gt;
&lt;p&gt;Data &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;’s are part of Acid2, which most modern browsers either pass or plan to pass.  If you use an Open Type font you’d get pretty decent compatibility (&lt;acronym title=&quot;Internet Explorer&quot;&gt;IE&lt;/acronym&gt; only supports Open Type).  Using True Type you’d still get pretty good compatibility sans &lt;acronym title=&quot;Internet Explorer&quot;&gt;IE&lt;/acronym&gt;.  Check the &lt;a href=&quot;https://developer.mozilla.org/en/CSS/@font-face&quot;&gt;@font-face page on MDC&lt;/a&gt; for more details.  Unlike images, browsers that support &lt;code&gt;@font-face&lt;/code&gt; are likely to support data: &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;’s as well, making this a pretty good solution.&lt;/p&gt;
&lt;p&gt;Special thanks to &lt;a href=&quot;http://openfontlibrary.fontly.org/&quot;&gt;Open Font Library&lt;/a&gt; for having some nice free fonts with awesome licensing.  This post was partially in response to a &lt;a href=&quot;http://robert.accettura.com/blog/2009/06/29/font-face-hacks/#comment-765381&quot;&gt;comment&lt;/a&gt; left the other day on my &lt;a href=&quot;http://robert.accettura.com/blog/2009/06/29/font-face-hacks/&quot;&gt;@font-face hacks&lt;/a&gt; blog post.
&lt;/p&gt;&lt;a href=&quot;http://robert.accettura.com/?p=2834#comments&quot;&gt;&lt;img src=&quot;http://robert.accettura.com/wp-content/commentCount/9f9e5e56933eb1091d76bd783566a97f.gif&quot; alt=&quot;Comment Count&quot; style=&quot;border: 0;&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Fri, 03 Jul 2009 18:00:52 +0000</pubDate>
</item>
<item>
	<title>OpenOffice: Hubert Figuiere: A real paper cut</title>
	<guid>http://www.figuiere.net/hub/blog/?2009/07/03/675-a-real-paper-cut</guid>
	<link>http://www.figuiere.net/hub/blog/?2009/07/03/675-a-real-paper-cut</link>
	<description>&lt;p&gt;AbiWord had a long lasting usability issue: pressing the &lt;em&gt;insert&lt;/em&gt; key caused to toggle the overwrite mode on and off. When doing so we provided two different feedback to the user:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a display in the status that switch from &quot;INS&quot; to &quot;OVR&quot;&lt;/li&gt;
&lt;li&gt;the caret (insert point) switch to red.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This lead to different kind of complaints:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;When I type, the text to the right is replaced&quot;&lt;/li&gt;
&lt;li&gt;&quot;Why is the insert point red? What did I do?&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See &lt;a href=&quot;http://bugzilla.abisource.com/show_bug.cgi?id=3641&quot;&gt;bug 3641&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;This reveal two problems. The first one is that the user didn't realise something happened. I hit a random key (ie he didn't realise which one) and something happened. The second the user noticed the caret changed colour, but still didn't know why.&lt;/p&gt;


&lt;p&gt;I had a few ideas in mind.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Change the feedback, and there are a few options for that: change the caret shape (colour is never enough), change the status bar message, any other kind of notification&lt;/li&gt;
&lt;li&gt;Do something for the key binding: &lt;del&gt;popup a dialog, use clippy, play a music&lt;/del&gt; just make it disabled by default.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How I did implement it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For now I changed the status bar message to be more readable. INS and OVR are just confusing obscure and an anachronism inherited from the AbiWord first step over 11 years ago mostly in trying to clone MS-Word with some of its atrocities. Now it is in plain $LANG (English here, but it is / will be localised, I hope).&lt;/li&gt;
&lt;li&gt;I added a UI to enable the toggle. We had that option already in place, it was just on by default, not bound to any UI. I'm not a big fan of adding options, but that's just the best way to do it for now.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What can be done in the future?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Change the caret shape when in overwrite mode. I didn't want to do it that late in the release cycle has it seems to have been source of problems. Also it need to be well thought too as we also deal with bi-directional writing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But that was a real paper cut for AbiWord. Not the only one, just one of them, and it was not that hard to fix. For the sake of it, I did it watching the BSG mini-series for the 3rd time.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 17:55:24 +0000</pubDate>
</item>
<item>
	<title>OSFlash: desuade motion package</title>
	<guid>http://osflash.org/projects/desuade_motion_package</guid>
	<link>http://osflash.org/projects/desuade_motion_package</link>
	<description>project, desuade, motion, package

Summary

	*  Homepage : 
	*  License : MIT

 The Desuade Motion Package (DMP) is a free OS Flash AS3 motion library developed for Partigen 2.

It introduces revolutionary keyframe-sequencing in the form of a MotionController, that acts like a pragmatic Flash CS4’s motion editor - it also features tweening, simple physics, advanced sequencing capabilities.</description>
	<pubDate>Fri, 03 Jul 2009 17:55:00 +0000</pubDate>
</item>
<item>
	<title>Gentoo: Alex Legler: LinuxTag: Booth Review</title>
	<guid>http://a3li.info/?p=53</guid>
	<link>http://a3li.info/2009/07/linuxtag-booth-review/</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/9cfc4242c98dceba61b5210022fe0bfe.jpg?s=100&amp;amp;r=pg&amp;amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Ftux.png&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot; /&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Today: &lt;strong&gt;CentOS&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://a3li.info/wp-content/uploads/centosbooth.jpg&quot;&gt;&lt;img src=&quot;http://a3li.info/wp-content/uploads/centosbooth-300x225.jpg&quot; title=&quot;centosbooth&quot; height=&quot;225&quot; width=&quot;300&quot; alt=&quot;centosbooth&quot; class=&quot;aligncenter size-medium wp-image-52&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;strong&gt;I like it though, except the poster at the back on the ground :-/&lt;br /&gt;
Gravity always prevails…&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;(from &lt;a href=&quot;http://lists.centos.org/pipermail/centos-promo/2009-July/000529.html&quot;&gt;http://lists.centos.org/pipermail/centos-promo/2009-July/000529.html&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Greetings to our booth neighbours &lt;img src=&quot;http://a3li.info/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 17:52:46 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Juanje Ojeda: Last advices for the GCDS</title>
	<guid>http://blogs.gnome.org/juanje/?p=158</guid>
	<link>http://blogs.gnome.org/juanje/2009/07/03/last-advices-for-gcds/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/juanje.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;I know it&amp;#8217;s a bit late, but I hope this helps.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m from &lt;strong&gt;Gran Canaria&lt;/strong&gt;, the place where the event is going to be, so I like to give you some advices and recommendations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sun protection&lt;/strong&gt;. Here the sun can burn you if you don&amp;#8217;t take some protections. Some times seems like it&amp;#8217;s not so sunny, but it could be dangerous if you are from a &lt;span class=&quot;clickable&quot;&gt;northern area.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;clickable&quot;&gt;&lt;strong&gt;Don&amp;#8217;t drink top water&lt;/strong&gt;. The top water here is supposed to be good enough for &lt;/span&gt;&lt;span class=&quot;clickable&quot;&gt;human consumption, but the true is that nobody here drink it. We always drink mineral water. And also here was a incident a few month ago about top water&amp;#8217;s high levels of &lt;a href=&quot;http://en.wikipedia.org/wiki/Boron&quot; target=&quot;_blank&quot;&gt;boron&lt;/a&gt;. That now is normal, but you know&amp;#8230;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;clickable&quot;&gt;Here there is not so many place with vegetarian food but we try to find all kind places for eat nearby the event. You&amp;#8217;ll find that info (which will be updated) &lt;a href=&quot;http://wiki.grancanariadesktopsummit.org/mediawiki/index.php/Restaurants&quot; target=&quot;_blank&quot;&gt;at the wiki&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;clickable&quot;&gt;The important phone numbers are also &lt;a href=&quot;http://wiki.grancanariadesktopsummit.org/mediawiki/index.php/Phone_numbers&quot; target=&quot;_blank&quot;&gt;at the wiki&lt;/a&gt;. &lt;/span&gt;Remember the international code for &lt;strong&gt;&lt;em&gt;Spain&lt;/em&gt;&lt;/strong&gt; is &lt;strong&gt;+34&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;In Gran Canaria (Spain), &lt;strong&gt;electricity&lt;/strong&gt; is provided normally at a voltage of &lt;em&gt;&lt;strong&gt;220 V&lt;/strong&gt;&lt;/em&gt; and 50 Hz. But you&amp;#8217;ll probably find adapters at the mall (&lt;em&gt;Centro comercial Las Arenas&lt;/em&gt;) just in front the event&amp;#8217;s place.&lt;/li&gt;
&lt;li&gt;Here in Gran Canaria we talk &lt;strong&gt;Spanish&lt;/strong&gt;, so you can find useful the list of common words and expressions we have &lt;a href=&quot;http://wiki.grancanariadesktopsummit.org/mediawiki/index.php/Usefull_Spanish_Phrases&quot; target=&quot;_blank&quot;&gt;at the wiki&lt;/a&gt;. If you already know Spanish, you need have in mind that here we have some different words (eg. Autobus = Guagua).&lt;/li&gt;
&lt;li&gt;The most useful lines of &lt;em&gt;guaguas&lt;/em&gt; (buses) for going from or at the auditorium are the lines &lt;a href=&quot;http://www.guaguas.com/index.php?option=com_groute&amp;amp;lid=47&amp;amp;lang=es&quot;&gt;47&lt;/a&gt; and &lt;a href=&quot;http://www.guaguas.com/index.php?option=com_groute&amp;amp;lid=17&amp;amp;lang=es&quot; target=&quot;_blank&quot;&gt;17&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Taxi is also a good option. Probably you&amp;#8217;ll pay 4 € for a normal ride (from the Auditorium to the farthest hotels.&lt;/li&gt;
&lt;li&gt;There will be a &lt;strong&gt;infodesk&lt;/strong&gt; where you&amp;#8217;ll find people who can bring you some help. The contact person will be &lt;strong&gt;Fabio&lt;/strong&gt;, but there will be more people there.&lt;/li&gt;
&lt;li&gt;I will be also around there during the weekend, I can&amp;#8217;t be sure about the rest of the week. Anyways, if you need touristic/local information or just any info of Canarias or Gran Canaria, find me (Juanje Ojeda) and ask me &lt;img src=&quot;http://blogs.gnome.org/juanje/wp-content/mu-plugins/tango-smilies/tango/face-wink.png&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt; &lt;/li&gt;
&lt;li&gt;If you have a group of people who want place for lunch of dinner, ask for me at the infodesk, I&amp;#8217;ve been talking with some places to try to arrange this king of things.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I just like to add that Gran Canaria is much more than beaches and sun. So try to get into the countryside or to different part of the island. They are so different between them hat people usually get surprised.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll highly recommend to visit Teror, Tejeda, Agaete, Artenara (and the Tamadaba pine forest), Mogán, Agüimes, Santa Lucía and, of course Maspalomas. There are more interesting places, but with those you&amp;#8217;ll get the idea &lt;img src=&quot;http://blogs.gnome.org/juanje/wp-content/mu-plugins/tango-smilies/tango/face-wink.png&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Well, we&amp;#8217;ll meet you at the Gran Canaria Desktop Summit &lt;img src=&quot;http://blogs.gnome.org/juanje/wp-content/mu-plugins/tango-smilies/tango/face-smile.png&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; width=&quot;16&quot; height=&quot;16&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 17:45:26 +0000</pubDate>
</item>
<item>
	<title>SuSE: Roger Whittaker: EuroPython 2009</title>
	<guid>http://disruptive.org.uk/2009/07/03/europython_2009.html</guid>
	<link>http://disruptive.org.uk/2009/07/03/europython_2009.html</link>
	<description>&lt;a href=&quot;http://disruptive.org.uk&quot;&gt;&lt;img align=&quot;right&quot; border=&quot;0&quot; src=&quot;http://planet.opensu.se/roger.png&quot; alt=&quot;Roger Whittaker&quot; /&gt;&lt;/a&gt;&lt;p&gt;
EuroPython 2009 was excellent. 

&lt;/p&gt;
&lt;p&gt;
Among the highlights for me were: 
&lt;/p&gt;
&lt;ul&gt; 
&lt;li&gt;&lt;a href=&quot;http://www.europython.eu/talks/talk_abstracts/index.html#talk46&quot; target=&quot;_blank&quot;&gt;the FluidDB talk by Terry Jones&lt;/a&gt;&lt;/li&gt; 
&lt;li&gt;&lt;a href=&quot;http://www.europython.eu/talks/talk_abstracts/index.html#talk24&quot; target=&quot;_blank&quot;&gt;&quot;Mashing up the Guardian&quot; by Michael Brunton-Spall&lt;/a&gt;&lt;/li&gt; 
&lt;li&gt;Cory Doctorow's keynote&lt;/li&gt; 
&lt;li&gt;The Bletchley Park presentation&lt;/li&gt; 
&lt;li&gt;&lt;a href=&quot;http://www.europython.eu/talks/talk_abstracts/index.html#talk96&quot; target=&quot;_blank&quot;&gt;&quot;Flikr for Formulas&quot; by Jonathan Fine&lt;/a&gt;&lt;/li&gt; 
&lt;/ul&gt;


&lt;p&gt;
&lt;a href=&quot;http://disruptive.org.uk/20090702.europython/&quot; target=&quot;_blank&quot;&gt;Photos&lt;/a&gt;. 

&lt;/p&gt;
&lt;p&gt;
Spot the &lt;a href=&quot;http://disruptive.org.uk/20090702.europython/photos/12.html&quot; target=&quot;_blank&quot;&gt;Enigma machine&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 17:01:27 +0000</pubDate>
</item>
<item>
	<title>SuSE: Roger Whittaker: Recent photos</title>
	<guid>http://disruptive.org.uk/2009/07/03/recent_photos.html</guid>
	<link>http://disruptive.org.uk/2009/07/03/recent_photos.html</link>
	<description>&lt;a href=&quot;http://disruptive.org.uk&quot;&gt;&lt;img align=&quot;right&quot; border=&quot;0&quot; src=&quot;http://planet.opensu.se/roger.png&quot; alt=&quot;Roger Whittaker&quot; /&gt;&lt;/a&gt;&lt;p&gt;
Some recent photos:&lt;br /&gt; 
&lt;a href=&quot;http://disruptive.org.uk/20090616.london/&quot; target=&quot;_blank&quot;&gt;June 16th, London&lt;/a&gt;&lt;br /&gt; 
&lt;a href=&quot;http://disruptive.org.uk/20090624.cacti/&quot; target=&quot;_blank&quot;&gt;Cacti&lt;/a&gt;&lt;br /&gt; 
&lt;a href=&quot;http://disruptive.org.uk/20090701.home/&quot; target=&quot;_blank&quot;&gt;At home in the garden&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 17:01:27 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Vincent Untz: GNOME Foundation Board Meeting at GUADEC</title>
	<guid>urn:md5:f3aa7a6e6752bf94d7bdb04ae1290588</guid>
	<link>http://www.vuntz.net/journal/post/2009/07/03/GNOME-Foundation-Board-Meeting-at-GUADEC</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/vuntz.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;GUADEC is starting tomorrow, but the GNOME Foundation was busy today with a all-day board meeting. With the &lt;a href=&quot;http://mail.gnome.org/archives/foundation-list/2009-July/msg00002.html&quot;&gt;election results&lt;/a&gt; now being official, we were able to welcome Germán and Srini.&lt;/p&gt;


&lt;p&gt;Still, the meeting wasn't easy for everybody.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.vuntz.net/photoblog/20090703_unhappy-lucas.jpg&quot; alt=&quot;Lucas doesn&amp;#039;t enjoy the meeting&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.vuntz.net/photoblog/20090703_sleepy-j5.jpg&quot; alt=&quot;John is having a hard time&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.vuntz.net/photoblog/20090703_tired-german.jpg&quot; alt=&quot;Germán discovers a board meeting&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.vuntz.net/photoblog/20090703_sleepy-behdad.jpg&quot; alt=&quot;Behdad simply gave up&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Still, you can be sure that the board is working hard for the Foundation to make sure that the GNOME project will succeed!&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.vuntz.net/photoblog/20090703_whole-board.jpg&quot; alt=&quot;This is your board!&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 16:58:00 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Mirco Müller: Hit Las Palmas</title>
	<guid>http://macslow.net/?p=346</guid>
	<link>http://macslow.net/?p=346</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/macslow.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;Arrived at the hotel/summit. Going to head to the venue with a couple of folks soon.&lt;/p&gt;
&lt;p&gt;And a small screencast for the day. Testing out the new blur-cache meant for notify-osd:&lt;br /&gt;
&lt;center&gt;&lt;br /&gt;
&lt;a href=&quot;http://macslow.net/clips/blur-cache-test.ogg&quot;&gt;&lt;img src=&quot;http://macslow.net/images/small_blur-cache-test_ogg.png&quot; alt=&quot;small_blur-cache-test_ogg.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;(click to play back, ogg/theora, ~1.5 MBytes)&lt;br /&gt;
&lt;/center&gt;&lt;br /&gt;
It&amp;#8217;s easy on CPU. So light actually, that I was able to record this very screencast with recordmydesktop on a Dell Mini 9. This is finally also using the subtle text drop-shadow the design folks asked for. Color, font, size and all are just randomly picked by me, as this is a test-program to exercise the small interal APIs I created for implementing the blur-cache.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 16:51:08 +0000</pubDate>
</item>
<item>
	<title>KernelPlanet: Valerie Aurora: Soft updates explained</title>
	<guid>http://valhenson.livejournal.com/43080.html</guid>
	<link>http://valhenson.livejournal.com/43080.html</link>
	<description>My latest article for LWN explains (!) soft updates.  The &quot;(!)&quot; is because soft updates are notoriously difficult to understand.  If you go to a file systems conference and get people drunk, they will eventually confide to you that they don't really understand soft updates either.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://lwn.net/SubscriberLink/339337/58715d759a3abac5/&quot;&gt;Soft updates, hard problems&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a free link; if you like the article, please consider subscribing to LWN.  You'll still need an account if you want to make snide comments on the article. :)</description>
	<pubDate>Fri, 03 Jul 2009 16:34:53 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Gervase Markham: Gerv Status 2009-07-03</title>
	<guid>http://weblogs.mozillazine.org/gerv/archives/2009/07/gerv_status_20090703.html</guid>
	<link>http://weblogs.mozillazine.org/gerv/archives/2009/07/gerv_status_20090703.html</link>
	<description>&lt;p&gt;&lt;a name=&quot;This%20Week&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;This Week&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;a name=&quot;Governance&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;h5&gt;Governance&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://groups.google.com/group/mozilla.dev.amo/msg/aaa808d1f8e77755&quot;&gt;Careful comments&lt;/a&gt; on fligtar's proposal for changing the AMO sandbox model&lt;/li&gt;
&lt;li&gt;Started looking at the issue of whether we have private mailing lists which shouldn't be private&lt;/li&gt;
&lt;li&gt;Worked with harvey on streamlining procedure for e-signing Committer's Agreements&lt;/li&gt;
&lt;li&gt;Mitchell resolved weekly update meeting move discussion; will now be 11am Monday&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a name=&quot;Bugzilla&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;h5&gt;Bugzilla&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Summarised where we are so far&lt;/li&gt;
&lt;li&gt;Call with justdave about b.m.o. update procedure, technical feasibility of various plans&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a name=&quot;Other&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;h5&gt;Other&lt;/h5&gt;&lt;p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Watched Firefox 3.5 release process with admiration&lt;/li&gt;
&lt;li&gt;Updated &lt;a href=&quot;http://www.gerv.net/hacking/l10n-stats/&quot;&gt;Firefox Language coverage data&lt;/a&gt; for 3.5 and &lt;a href=&quot;http://weblogs.mozillazine.org/gerv/archives/2009/06/firefox_35_language_coverage.html&quot;&gt;reblogged it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Finished OpenTech presentation (nearly)&lt;/li&gt;
&lt;li&gt;Mentored SoC students:&lt;ul&gt;
&lt;li&gt;Pedro has written a plan which looks very good, and will start implementation this weekend&lt;/li&gt;
&lt;li&gt;Am working with Seulki to redefine the scope, as the original idea is looking difficult&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a name=&quot;Next%20Week&quot;&gt;&lt;/a&gt;&lt;/p&gt;&lt;h3&gt;Next Week&lt;/h3&gt;&lt;p&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.ukuug.org/events/opentech2009/&quot;&gt;OpenTech 2009&lt;/a&gt; presentation on the Open Internet (Saturday)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://upcoming.yahoo.com/event/3013300/&quot;&gt;Firefox Launch Party, London&lt;/a&gt; (Monday)&lt;/li&gt;
&lt;li&gt;Make sure sweepstake winners get their prizes&lt;/li&gt;
&lt;li&gt;Wednesday off to prepare summer Bible studies&lt;/li&gt;
&lt;li&gt;Try and unblock some issues now people are not swamped with Firefox 3.5&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Fri, 03 Jul 2009 16:25:46 +0000</pubDate>
</item>
<item>
	<title>PostgreSQL: Peter Eisentraut: Do you have a good idea for PostgreSQL?</title>
	<guid>http://petereisentraut.blogspot.com/2009/07/do-you-have-good-idea-for-postgresql.html</guid>
	<link>http://petereisentraut.blogspot.com/2009/07/do-you-have-good-idea-for-postgresql.html</link>
	<description>&lt;a href=&quot;http://2.bp.blogspot.com/_dgdplFJMdoQ/Sk0A-193_9I/AAAAAAAAACc/3AWbaDHflVA/s1600-h/3228761389_d6c07f5ae6.jpg&quot;&gt;&lt;img src=&quot;http://2.bp.blogspot.com/_dgdplFJMdoQ/Sk0A-193_9I/AAAAAAAAACc/3AWbaDHflVA/s400/3228761389_d6c07f5ae6.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5353936611651878866&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Do you have a feature request or a good idea for how to improve PostgreSQL? Subscribing to a mailing list is too cumbersome? Or you did subscribe to a mailing list and presented your idea there, and now it's rotting in the archives or on the todo list? Let's try something different.&lt;br /&gt;&lt;br /&gt;I have set up a feedback forum over at &lt;a href=&quot;http://www.uservoice.com/&quot;&gt;UserVoice&lt;/a&gt;. There you can enter your ideas, comment and vote on other suggestions, and see what the top requests are, without the overhead of tracking a mailing list every day.  Let's consider this an experiment.  It is not going to replace the existing project communication channels, and you shouldn't send bug reports or engage in coding discussions there.  But the more people raise their &quot;user voice&quot; there and provide useful suggestions and comments, the more useful it might become.&lt;br /&gt;&lt;br /&gt;To try it, go to: &lt;a href=&quot;http://postgresql.uservoice.com/&quot;&gt;http://postgresql.uservoice.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The floodgates are open for development on PostgreSQL 8.5, so now is the time to make yourself heard.&lt;br /&gt;&lt;br /&gt;(Disclaimer: UserVoice is a commercial company. I am not associated with them. This is just an attempt to find better interfaces for user feedback.)&lt;br /&gt;&lt;br /&gt;&lt;span&gt;(&lt;a href=&quot;http://www.flickr.com/photos/nonoq8/3228761389/&quot;&gt;picture&lt;/a&gt; by NoNo^Q8 &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/2.0/deed.en&quot;&gt;CC-BY&lt;/a&gt;)&lt;/span&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5541296000399974369-4213056299935963101?l=petereisentraut.blogspot.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 16:15:05 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Martin Owens: Why do you Like Microsoft?</title>
	<guid>http://doctormo.wordpress.com/?p=790</guid>
	<link>http://doctormo.wordpress.com/2009/07/03/why-do-you-like-microsoft/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/doctormo.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;p&gt;In a recent blog post about &lt;a href=&quot;http://nocturn.vsbnet.be/node/159&quot;&gt;Idealism&lt;/a&gt; by &lt;a href=&quot;http://nocturn.vsbnet.be&quot;&gt;Guy Van Sanden&lt;/a&gt; there was an interesting comment by Matt:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;IMHO an idealist in this situation would say that perhaps MS can be trusted enough that partnerships (the likes Miguel has been forging with those within MS) are of more benefit and vastly more productive than repeated fearmongering. Maybe MS and FOSS can learn to better work together, and realise that there is potential for cooperation of mutual benefit.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I have no interest in dealing with Microsoft, no partnerships, no trust, no respect, their name is dirt to me and socially they are a pariah. Not because of some fundamentalism or because I have an unwarranted grudge; But because they &lt;a href=&quot;http://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/&quot;&gt;do harm to my communities&lt;/a&gt;, they &lt;a href=&quot;http://www.ecis.eu/documents/Finalversion_Consumerchoicepaper.pdf&quot;&gt;harm my industry&lt;/a&gt; and do it wilfully and purposefully and I won&amp;#8217;t condone or forgive them while they continue&lt;sup&gt;1&lt;/sup&gt;. In fact I&amp;#8217;d have to see reparation for them to recover their name, I don&amp;#8217;t think it&amp;#8217;s possible.&lt;/p&gt;
&lt;p&gt;Matt&amp;#8217;s idealist example shows that it&amp;#8217;s a jolly old world where it&amp;#8217;s nice to be friends with everyone. It&amp;#8217;s true, we don&amp;#8217;t want conflict, but this is where the idealism in the nature of people&amp;#8217;s behaviour is tested and societies have been going on for a long time and we haven&amp;#8217;t yet got to the point where people are nice, pleasant and trustworthy especially when they&amp;#8217;ve been absolute bastards in the past. &lt;/p&gt;
&lt;p&gt;I believe it&amp;#8217;s naive, bordering on the cartoon plot line of trust. I can&amp;#8217;t decide if it&amp;#8217;s admiration for a bully, fear or just plain ignorance of the past that has given people such an optimistic opinion of Microsoft and they seem to be able to wipe away their slate every day.&lt;/p&gt;
&lt;p&gt;Fortunately for me, Microsoft is as good as dead anyway, the economics and the technical effects are going to roll right over them. Nothing to do with my idealism or my social concern, but a happy coincidence for me. A Microsoft without a monopoly might well change it&amp;#8217;s tune, but are people really trying to convince me that I &amp;#8216;ort to trust them right now?&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; Some might say it&amp;#8217;s &lt;a href=&quot;http://www.newscientist.com/article/mg20227081.400-are-humans-cruel-to-be-kind.html?full=true&quot;&gt;worth being spiteful&lt;/a&gt;, if we had a big enough stick to beat them with. We don&amp;#8217;t have to go that far though.&lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/doctormo.wordpress.com/790/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/doctormo.wordpress.com/790/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/doctormo.wordpress.com/790/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/doctormo.wordpress.com/790/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/doctormo.wordpress.com/790/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/doctormo.wordpress.com/790/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/doctormo.wordpress.com/790/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/doctormo.wordpress.com/790/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/doctormo.wordpress.com/790/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/doctormo.wordpress.com/790/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=doctormo.wordpress.com&amp;amp;blog=6486156&amp;amp;post=790&amp;amp;subd=doctormo&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 15:54:07 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Neil Deakin: What’s Next for Focus</title>
	<guid>http://enndeakin.wordpress.com/?p=9</guid>
	<link>http://enndeakin.wordpress.com/2009/07/03/whats-next-for-focus/</link>
	<description>&lt;br /&gt;&lt;p&gt;Now that the focus work has been completed, I’ve been looking at some follow up focus work to finish up. There have been a number of regressions and crashes found but they were all fixed very easily. I think the new focus code is much easier to work with, enough such that each regression was easily fixed in under an hour or so or work, except for one which took a few hours. That’s much better than the two weeks it took before to investigate a bug, try to fix it and then fail at it.&lt;/p&gt;
&lt;p&gt;There’s still some issues surrounding &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=498143&quot;&gt;plugins on Linux&lt;/a&gt; but Karl knows quite a bit about how focus should work on GTK so I’m confident we’re going to have something working there.&lt;/p&gt;
&lt;p&gt;There’s a push to get bug &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=418521&quot;&gt;418521&lt;/a&gt; fixed which affects which elements should be focused on mouse clicks and when they should draw focus rings. The idea here is that focus rings shouldn’t be drawn in some cases. In others, such as Mac, elements shouldn’t even be focused when clicking them.&lt;/p&gt;
&lt;p&gt;The -moz-user-focus property is currently used in XUL to identify if an element may be focused or not. &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=474440&quot;&gt;This doesn’t belong as a style property&lt;/a&gt;. The logical choice is to use an attribute instead. That can be used, but I’m currently leaning towards a feature added to XBL which lets one set default focusability behaviour for an element. This would possibly be combined with some ideas I have about how to combine accessibility with XBL. I’ll revisit this when the XBL2 implementation is further along. This may also help with some issues where certain elements have special-cased focus behaviour, for instance, those that need to &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=498352&quot;&gt;retarget focus&lt;/a&gt; when clicked, or when an accesskey is pressed.&lt;/p&gt;
&lt;p&gt;There’s still some modules which are caching focus, &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=495624&quot;&gt;accessibility&lt;/a&gt; and I think the IME code might be but haven’t investigated it too closely. Focus shouldn’t be cached anywhere but the focus system.&lt;/p&gt;
&lt;p&gt;Also, I want to get rid of &lt;a href=&quot;http://mxr.mozilla.org/mozilla-central/source/dom/base/nsFocusController.cpp&quot;&gt;nsFocusController.cpp&lt;/a&gt;, which doesn’t do much focus related anymore. I tried to do that before the focus work was completed but ended up needing to create a chain of other patches to fix various other issues. I need to go back and finish that up.&lt;/p&gt;
&lt;p&gt;I think my goal for the next little while is to just finish up all the patches and partially completed work I have had sitting around for a while. I’ll write more about those things later.&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/enndeakin.wordpress.com/9/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/enndeakin.wordpress.com/9/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/enndeakin.wordpress.com/9/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/enndeakin.wordpress.com/9/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/enndeakin.wordpress.com/9/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/enndeakin.wordpress.com/9/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/enndeakin.wordpress.com/9/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/enndeakin.wordpress.com/9/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/enndeakin.wordpress.com/9/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/enndeakin.wordpress.com/9/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=enndeakin.wordpress.com&amp;amp;blog=6982180&amp;amp;post=9&amp;amp;subd=enndeakin&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 15:52:10 +0000</pubDate>
</item>
<item>
	<title>GNOME: Behdad Esfahbod: GUADEC Day 0</title>
	<guid>tag:blogger.com,1999:blog-5400308.post-6632255645676441183</guid>
	<link>http://mces.blogspot.com/2009/07/guadec-day-0.html</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/behdad.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; Had an excellent afternoon in Amsterdam with my old buddy Mehrdad.  Well, the first officer at the Amsterdam border didn't want to let me although I had a Schengen visa, the second one was happy to do so.&lt;br /&gt;&lt;br /&gt;Anyway, got to Gran Canaria last night just before midnight, but my luggage decided to spend a night in Barcelona...&lt;br /&gt;&lt;br /&gt;Was in board meeting all day today.  Vincent is working on sending out the minutes right away.&lt;br /&gt;&lt;br /&gt;Looking forward to meeting everyone at the opening party tonight at 9.&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/5400308-6632255645676441183?l=mces.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 15:51:00 +0000</pubDate>
</item>
<item>
	<title>OpenOffice: IssueZilla: New issues: Fri Jul  3 15:43:00 UTC 2009</title>
	<guid>http://www.openoffice.org/issues/buglist.cgi?issue_id=103303+103304+103305+103306+103307+103308+103309+103310+103311+103312+103313+103314+103315+103316+103317+103318+103319</guid>
	<link>http://www.openoffice.org/issues/buglist.cgi?issue_id=103303+103304+103305+103306+103307+103308+103309+103310+103311+103312+103313+103314+103315+103316+103317+103318+103319</link>
	<description>&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103309&quot;&gt;#i103309#&lt;/a&gt; - api: PDF conversion fails after 220 times&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103310&quot;&gt;#i103310#&lt;/a&gt; - framework: Assertions from binfilter::SvtLinguConfigItem::LoadOptions&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103306&quot;&gt;#i103306#&lt;/a&gt; - framework: Automation bridge: access of COM properties with additional parameters does not work.&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103313&quot;&gt;#i103313#&lt;/a&gt; - framework: Page size defaults to Letter istead of A4&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103319&quot;&gt;#i103319#&lt;/a&gt; - gsl: vcl: do we have to beep on disabled elements and scrollbars ?&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103314&quot;&gt;#i103314#&lt;/a&gt; - sc: Cell format isn't updated on PC1, after shared file saved on PC2&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103317&quot;&gt;#i103317#&lt;/a&gt; - sc: References to external documents stored as relative URIs are not adjusted during open.&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103318&quot;&gt;#i103318#&lt;/a&gt; - sc: Support for alternative namespace semantics&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103315&quot;&gt;#i103315#&lt;/a&gt; - sc: Support of external references in msoxl: formulas in ODF&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103308&quot;&gt;#i103308#&lt;/a&gt; - sw: HTML import mangles non-BMP unicodes&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103307&quot;&gt;#i103307#&lt;/a&gt; - sw: Incorrect list formatting with right indent&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103312&quot;&gt;#i103312#&lt;/a&gt; - sw: WW8: Wrong default bullet size after saving and re-loading as doc&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103305&quot;&gt;#i103305#&lt;/a&gt; - sw: sw: X &amp;amp; Y | Z, did ve really mean to say that&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103304&quot;&gt;#i103304#&lt;/a&gt; - sw: sw: condition always true&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103303&quot;&gt;#i103303#&lt;/a&gt; - sw: unit 2 assignment for nuclear plant&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103316&quot;&gt;#i103316#&lt;/a&gt; - tools: fade out some SO environment habbits...&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103311&quot;&gt;#i103311#&lt;/a&gt; - udk: support of SunStudio compiler 12u1 (5.10)&lt;br /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 15:43:47 +0000</pubDate>
</item>
<item>
	<title>Debian: David Welton: ruby-oci8 and libaio</title>
	<guid>tag:journal.dedasys.com,2005:Article/2158</guid>
	<link>http://journal.dedasys.com/2009/07/03/ruby-oci8-and-libaio</link>
	<description>&lt;p&gt;Not of concern to most people reading this via a feed, but it's one of those things I think is nice to write up as a public service, should anyone else encounter the same error.  I'm stuck doing some Rails work with Oracle, and so I needed to get ruby-oci8 working:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://ruby-oci8.rubyforge.org/en/InstallForInstantClient.html&quot;&gt;http://ruby-oci8.rubyforge.org/en/InstallForInstantClient.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These instructions are pretty good.  I followed them, the gem said it had been installed correctly.... and yet:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ERROR: ActiveRecord oracle_enhanced adapter could not load ruby-oci8 library. Please install ruby-oci8 library or gem.
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:76:in
`establish_connection':RuntimeError: Please install the oracle_enhanced adapter:
`gem install activerecord-oracle_enhanced-adapter` (LoadError)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Argh!  After some straceing, I finally figured out what was missing: the libaio1 package.  You need to have it or things will fail like this.  It's very odd that the installation doesn't complain about it.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 15:24:00 +0000</pubDate>
</item>
<item>
	<title>GStreamer: Felipe Contreras: libmtag-0.3.0: moved to git</title>
	<guid>http://felipec.wordpress.com/?p=341</guid>
	<link></link>
	<description>I finally managed some time to make another libmtag release. This is mostly tiding up the code, cleanups, new codestyle, building improvements and moved to github  
Also some handy features:

strip tag: now you can remove say id3v1 tags while keeping id3v2 intact
get specific tag: similarly, you can retrieve only id3v2 information
get all: this function [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=felipec.wordpress.com&amp;amp;blog=62686&amp;amp;post=341&amp;amp;subd=felipec&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 15:23:37 +0000</pubDate>
</item>
<item>
	<title>Smalltalk: Smalltalk Daily 7/3/09: Code Visibility in Web Velocity</title>
	<guid>http://www.cincomsmalltalk.com/blog/3424072876</guid>
	<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;printTitle=Smalltalk_Daily_7/3/09:_Code_Visibility_in_Web_Velocity&amp;entry=3424072876</link>
	<description>A look at changing the level of code visibility while editing your own source in Web Velocity</description>
	<pubDate>Fri, 03 Jul 2009 15:21:16 +0000</pubDate>
</item>
<item>
	<title>KDE: Stefan Majewsky: Kolf: Creating a terrain texture, and the 4.3 release</title>
	<guid>http://majewsky.wordpress.com/?p=220</guid>
	<link>http://majewsky.wordpress.com/2009/07/03/kolf-creating-a-terrain-texture-and-the-4-3-release/</link>
	<description>&lt;br /&gt;&lt;p&gt;A long time, I haven&amp;#8217;t written about Kolf. I&amp;#8217;m not having any time for coding lately, but Zeng Huan, our GSoC student, has made progress on the automatic generation of terrain textures. The code for that is not in Kolf at the moment, we have decided on him working on it in a separate test bed, the kolf-textureblender:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://majewsky.files.wordpress.com/2009/07/kolf-textureblender1.png?w=470&amp;#038;h=383&quot; alt=&quot;kolf-textureblender1&quot; title=&quot;kolf-textureblender1&quot; width=&quot;470&quot; height=&quot;383&quot; class=&quot;aligncenter size-full wp-image-221&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In other news (which might be more interesting for most readers at the moment), Kolf in KDE 4.3 is broken. The first hole of every course loads fine, but on the following holes, only one object will be displayed (which is definitely too less). Mauricio Piacentini looked into the code, but didn&amp;#8217;t find anything. He meant it looks like Kolf is trying to re-use objects from previous holes, but some changes in Qt 4.5 seem to interfere with this technique very badly. If no one finds the bug quickly (which will likely not happen, as the code of Kolf 1 is a total mess), it is quite realistic that we will have to remove Kolf from KDE 4.3.&lt;/p&gt;
&lt;p&gt;If this bothers you and you want to help Kolf return in KDE 4.4 as Kolf 2, please join our team! Write to the kde-games-devel mailing list for more information.&lt;/p&gt;
Posted in Kolf  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/majewsky.wordpress.com/220/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/majewsky.wordpress.com/220/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/majewsky.wordpress.com/220/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/majewsky.wordpress.com/220/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/majewsky.wordpress.com/220/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/majewsky.wordpress.com/220/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/majewsky.wordpress.com/220/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/majewsky.wordpress.com/220/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/majewsky.wordpress.com/220/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/majewsky.wordpress.com/220/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=majewsky.wordpress.com&amp;amp;blog=3158478&amp;amp;post=220&amp;amp;subd=majewsky&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 15:15:46 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Siegfried Gevatter: Zeitgeist since UDS</title>
	<guid>http://bloc.eurion.net/?p=324</guid>
	<link>http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/rainct.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;Quite some stuff has been going on in Zeitgeist since &lt;a href=&quot;http://bloc.eurion.net/archives/2009/uds-2009/&quot;&gt;UDS&lt;/a&gt;, including the addition of two new developers to our team: &lt;a href=&quot;https://edge.launchpad.net/~kamstrup&quot;&gt;Mikkel Kamstrup&lt;/a&gt; and &lt;a href=&quot;https://launchpad.net/~thekorn&quot;&gt;Markus Korn&lt;/a&gt;, who both have been doing awesome work!&lt;/p&gt;
&lt;p&gt;As planned, we split the project into the engine (&lt;a href=&quot;https://launchpad.net/zeitgeist&quot;&gt;Zeitgeist&lt;/a&gt;) and the default graphical user interface (&lt;a href=&quot;https://launchpad.net/gnome-zeitgeist&quot;&gt;GNOME Activity Journal&lt;/a&gt;), but during this time we also dropped our old database to start with a completely &lt;a href=&quot;http://live.gnome.org/GnomeZeitgeist/DatabaseDesign&quot;&gt;new structure&lt;/a&gt; which is way more flexible and uses less disk space than our previous one.&lt;/p&gt;
&lt;p&gt;Not so positively, some team members wanted to try out an ORM (&lt;a href=&quot;https://storm.canonical.com/&quot;&gt;Storm&lt;/a&gt;), which from the start one I thought was a bad idea (it&amp;#8217;s not that I can&amp;#8217;t see the convenience for using one in certain projects, but for Zeitgeist, an engine mainly constituted by a little set of rather complex queries, I don&amp;#8217;t really see how it can help us). Doing this -at the same time as the switch the the new database model- ended up as a pretty demotivating experience, and while we got it working at the end the result was an engine which worked slow (even with caching) and used lots of resources, so we&amp;#8217;ve decided to go back to plain SQL.&lt;/p&gt;
&lt;p&gt;Right now we still have a mix (we&amp;#8217;ll probably finish quicking out the remaining Storm parts within the next weeks), but I already changed the main information request methods to SQL, thus reducing common operations from requiring up to thousands of queries to doing only a single one, doubling the speed while reducing memory usage. I hope to get further performance improvements while converting the remaining parts (for example, inserting data currently takes way more time than I&amp;#8217;d like).&lt;/p&gt;
&lt;p&gt;We also cleaned up the D-Bus API (it was pretty much of a mess before, just enough for the GUI to work) and added more functionality to it. However, it may still undergo substantial changes in future versions once we start making more use of the added flexibility the new database gives us (for example, for the 0.2 release we&amp;#8217;ll probably split up tags into &amp;#8220;user defined tags&amp;#8221; and &amp;#8220;automatically assigned tags&amp;#8221;). Unrelated to this, Markus has started working at making it possible to configure and enable/disable loggers, so there&amp;#8217;s also some cool stuff coming from this front (but nothing visible yet).&lt;/p&gt;
&lt;p&gt;Just some random notes&amp;#8230; You can read more about Zeitgeist at Seif&amp;#8217;s blog, in his recent blog post &amp;#8220;&lt;a href=&quot;http://seilo.geekyogre.com/2009/07/some-zeitgeist-news/&quot;&gt;Some Zeitgeist news&lt;/a&gt;&amp;#8220;, and if you have any comment you can come find us in #gnome-zeitgeist on GIMPnet . I&amp;#8217;m now going back to work: after all, today we&amp;#8217;re going to release &lt;strong&gt;Zeitgeist 0.1 (development preview)&lt;/strong&gt;!&lt;/p&gt;


&lt;p&gt;Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href=&quot;http://bloc.eurion.net/archives/2009/im-in-google-summer-of-code/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: I&amp;#8217;m in Google Summer of Code!&quot;&gt;I&amp;#8217;m in Google Summer of Code!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://bloc.eurion.net/archives/2009/uds-2009/&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link: UDS 2009&quot;&gt;UDS 2009&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/p&gt;&lt;hr /&gt;
&lt;p&gt;&lt;small&gt;© Siegfried-Angel Gevatter Pujals, 2009. |
&lt;a href=&quot;http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://creativecommons.org/licenses/by-nc-sa/3.0/&quot;&gt;License&lt;/a&gt; |
&lt;a href=&quot;http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/#comments&quot;&gt;No comments&lt;/a&gt; |
Add to &lt;a href=&quot;http://del.icio.us/post?url=http://bloc.eurion.net/archives/2009/zeitgeist-since-uds/&amp;amp;title=Zeitgeist since UDS&quot;&gt;del.icio.us&lt;/a&gt; |
Post tags: &lt;a href=&quot;http://bloc.eurion.net/archives/tag/gnome/&quot; rel=&quot;tag&quot;&gt;gnome&lt;/a&gt;, &lt;a href=&quot;http://bloc.eurion.net/archives/tag/gsoc2009/&quot; rel=&quot;tag&quot;&gt;gsoc2009&lt;/a&gt;, &lt;a href=&quot;http://bloc.eurion.net/archives/tag/programari-lliure/&quot; rel=&quot;tag&quot;&gt;Programari lliure&lt;/a&gt;, &lt;a href=&quot;http://bloc.eurion.net/archives/tag/ubuntu/&quot; rel=&quot;tag&quot;&gt;Ubuntu&lt;/a&gt;, &lt;a href=&quot;http://bloc.eurion.net/archives/tag/zeitgeist/&quot; rel=&quot;tag&quot;&gt;zeitgeist&lt;/a&gt;&lt;br /&gt;
&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 14:45:47 +0000</pubDate>
</item>
<item>
	<title>Python: Isotoma: Black Box BlackBerry</title>
	<guid>http://blog.isotoma.com/2009/07/black_box_blackberry.html</guid>
	<link>http://blog.isotoma.com/2009/07/black_box_blackberry.html</link>
	<pubDate>Fri, 03 Jul 2009 14:42:54 +0000</pubDate>
</item>
<item>
	<title>XMLhack: Junepix 3: Global Roses</title>
	<guid>http://www.tbray.org/ongoing/When/200x/2009/07/03/Junepix-World-Rose-Festival</guid>
	<link>http://www.tbray.org/ongoing/When/200x/2009/07/03/Junepix-World-Rose-Festival</link>
	<description>&lt;p&gt;Specifically, the &lt;a href=&quot;http://www.worldrosefestival.com/&quot;&gt;World Rose Festival&lt;/a&gt;; a
large not-very-well-lit room in the bowels of Vancouver’s très chic
new &lt;a href=&quot;http://www.vancouverconventioncentre.com/&quot;&gt;Convention
Centre&lt;/a&gt; full of flowers, arrangements, and paraphernalia. Alex
Waterhouse-Hayward, who’s a serious rose geek, wrote about it in
&lt;a href=&quot;http://alexwaterhousehayward.com/blog/2009/06/rose-expert.html&quot;&gt;The
Rose Expert&lt;/a&gt;.&lt;/p&gt;
&lt;img src=&quot;http://www.tbray.org/ongoing/When/200x/2009/07/03/PS084700.png&quot; alt=&quot;Massed roses at the World Rose Festival&quot; /&gt; &lt;img src=&quot;http://www.tbray.org/ongoing/When/200x/2009/07/03/PS084706.png&quot; alt=&quot;Two mostly-yellow rose blossoms at the World Rose Festival&quot; /&gt;
&lt;p&gt;Rose people have their own vocabulary and highly-specialized
sensibilities. I entirely failed to see the essential difference in
quality between the “Best rose in show” (which was indeed very
pretty) and a hundred others of roughly the same shape and tint. I
thought a few of my own inexpertly-husbanded flowers would compare
well with the show’s red-and-blue beribboned blossoms; silly
me.&lt;/p&gt;
&lt;p&gt;My favorite bit was a white sort-of hallway made of hanging
sheer fabric filled end-to-end with big ambitious arrangements; the
first photo is a close-up of one. The second photo is of a
prize-winner, but I entirely forget the category and the color of
the ribbon.&lt;/p&gt;
&lt;p&gt;Knowing the light would be poor, I took the &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2007/11/15/Sigma-30mm-F1-4&quot;&gt;
Sigma 30mm F1.4&lt;/a&gt;. It’s a lovely lens, but its laughable (by
design) depth-of-field makes it devilishly difficult to work with.
I consider my relationship with it as an ongoing project.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 14:39:15 +0000</pubDate>
</item>
<item>
	<title>OpenOffice: Gullfoss: Hanging out with Open Solaris Guys</title>
	<guid>http://blogs.sun.com/GullFOSS/entry/hanging_out_with_open_solaris</guid>
	<link>http://blogs.sun.com/GullFOSS/entry/hanging_out_with_open_solaris</link>
	<description>&lt;p&gt;Hi Everybody,&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;I've just had this wonderful experience at an Open Solaris User's Group that I have to share with you.&lt;/p&gt;
  &lt;p&gt;You may not know it, but I am in Connecticut, USA, right now, although I'm usually in Hamburg. Since this is a rare opportunity, Ken Baer from Sun asked me to speak on &amp;quot;OOo in the Enterprise&amp;quot; on July 1 at the meeting of the OSUG he organized here in Hartford. I said &amp;quot;sure I will!&amp;quot; without hesitation because, as anyone who has ever been in the same room or on the phone with me will agree, I love to talk ;-) and I love OpenOffice.org!&lt;/p&gt;
  &lt;p&gt;Well I am glad I went, because not only were most of the people there really interesting and interested, but the venue was one of a kind: The Hartford Club. (Since it is so spiffy, I even wore high-heels! Now I shocked you, huh. :-) ) Unfortunately my photos all came out poorly because it was rather dark, but suffice it to say that I felt perfect in high-heels and &amp;quot;kleine Schwarze&amp;quot; (little black dress) as they say in German. Some guys commented that my dress added class to the event, seeing as they were in &amp;quot;business casual&amp;quot;. But honestly, I had so many important things to communicate about OOo, who was looking at my dress?&lt;/p&gt;
  &lt;p&gt;There were 25 people attending. Only 5 of them had ever used OOo. (Can you believe it!?) I told them all about OpenOffice.org and StarOffice as compared to MSO (as much as can be done in 15 minutes) and talked about the open source community, open source in general, open standards. I had very few slides, really. I just had a conversation with the guys. They asked me questions and I asked them questions. It was fun and after my short, candid, informative, mildly humorous and enthusiastic talk (if I might say so myself :-) ) people came up to me to ask for additional handouts to take to their bosses, ask for more info on what other products can be used to create an open source stack to replace MS products (Of course I said Thunderbird, Firefox and co.), my experience with different platforms and version, etc.&lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Speaking of different platforms, a big WOW errupted in the room when, at the very end of my presentation, I pointed out that I had started preparing my presentation on StarOffice 9 on my Solaris Sun Ray, then finished it on a Windows Vista using OpenOffice.org 3.1, then took it on a USB stick to the venue and asked the friendly Sun guy, Dave Donmoyer, who was presenting ahead of me to let me present on his Mac using NeoOffice (sorry I forgot which version). I used the odp file with absolutely no glitches. Not once did I convert it to a different file format. I'm telling you, the whole audience was VERY impressed. My last comment was &amp;quot;Try doing that with MSOffice&amp;quot; in a tongue in cheek sort of way.Oh that felt good. &lt;br /&gt;&lt;/p&gt;
  &lt;p&gt;Then we adjourned to the lounge and billiard room. (!) Since my pics didn't come out very well, please see the &lt;a href=&quot;http://blogs.sun.com/observatory/entry/welcome_connecticut&quot;&gt;Observatory &lt;/a&gt;blog where Brian Leonard, who I met at the OSUG, posted about a previous event.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 14:32:49 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Pedro Villavicencio: En Gran Canaria!</title>
	<guid>http://blogs.gnome.org/pvillavi/?p=87</guid>
	<link>http://blogs.gnome.org/pvillavi/2009/07/03/en-gran-canaria/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/pedro.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;I&amp;#8217;ve arrived yesterday to Gran Canaria for the Desktop Summit, awesome weather, specially for someone like me who is coming from a pretty cold winter at Santiago de Chile. I&amp;#8217;m pretty happy to see a few of my good Gnome friends here and I&amp;#8217;m really looking forward for the conference to start.
&lt;/p&gt;
&lt;p&gt;&lt;center&gt;&lt;br /&gt;
&lt;img class=&quot;aligncenter&quot; title=&quot;Desktop Summit&quot; src=&quot;http://www.grancanariadesktopsummit.org/sites/default/themes/grancanaria/images/logo.png&quot; alt=&quot;&quot; width=&quot;236&quot; height=&quot;137&quot; /&gt;&lt;br /&gt;
&lt;/center&gt;&lt;/p&gt;
&lt;p&gt;Also remember to put your info at &lt;a href=&quot;http://live.gnome.org/GUADEC/2009/Rooms&quot;&gt;http://live.gnome.org/GUADEC/2009/Rooms&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 14:29:29 +0000</pubDate>
</item>
<item>
	<title>KernelPlanet: Evgeniy Polyakov: Say NO to SQL database storages?</title>
	<guid>http://www.ioremap.net/309 at http://www.ioremap.net</guid>
	<link>http://www.ioremap.net/node/309</link>
	<description>&lt;blockquote&gt;&lt;p&gt;The &lt;a href=&quot;http://blog.oskarsson.nu/2009/06/nosql-debrief.html&quot;&gt;inaugural get-together of the burgeoning NoSQL community&lt;/a&gt; crammed 150 attendees into a meeting room at CBS Interactive.&lt;/p&gt;
&lt;p&gt;Like the Patriots, who rebelled against Britain's heavy taxes, NoSQLers came to share how they had overthrown the tyranny of slow, expensive relational databases in favor of more efficient and cheaper ways of managing data.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;New data storages getting more and more attention especially from new projects which manage huge amounts of data. Conventional projects still use SQL and RDBMS though, and while it requires fair amount of overhead, it does not force rethinking and redesigning of the common data storage approach, since it is rather simple to work with.&lt;/p&gt;
&lt;p&gt;But things are changing.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;amp;articleId=9135086&quot;&gt;Article&lt;/a&gt; is available on ComputerWorld.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 14:14:22 +0000</pubDate>
</item>
<item>
	<title>GNOME: Dan Williams: Die HAL Die</title>
	<guid>http://blogs.gnome.org/dcbw/?p=227</guid>
	<link>http://blogs.gnome.org/dcbw/2009/07/03/die-hal-die/</link>
	<description>&lt;a href=&quot;http://blogs.gnome.org/dcbw/files/2009/06/nohal.png&quot;&gt;&lt;img src=&quot;http://blogs.gnome.org/dcbw/files/2009/06/nohal.png&quot; title=&quot;nohal&quot; height=&quot;227&quot; width=&quot;237&quot; alt=&quot;Time for a Stalinist purge&quot; class=&quot;size-full wp-image-164&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;The purge is complete&lt;/p&gt;
&lt;p&gt;As of a week ago or so, HAL is no longer required by either NetworkManager or ModemManager.  This helps streamline the hardware detection process and cleans up that code &lt;em&gt;a lot&lt;/em&gt;.  It was a fun ride and a lot of other great stuff came along with the udev port, because rewriting everything to use udev pretty much required cleaning up a bunch of other stuff.  The udev parts were a lot easier than I thought they would be; what was complex was rewriting a ton of ModemManager to be more flexible and work better with multi-port modems on the one hand, and really stupid quirky hardware on the other.&lt;/p&gt;
&lt;p&gt;For everyone in the US, have wonderful 4th of July.  To everyone who’s not, have fun at the Desktop Summit.  Had prior plans meaning I couldn’t attend, but I’m sure the Red Hat team will honor my absence by spreading the love and drinking all the liquor.  Rock on, GNOME.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 14:12:33 +0000</pubDate>
</item>
<item>
	<title>Python: Tarek Ziade: Distutils nighlty builds</title>
	<guid></guid>
	<link></link>
	<pubDate>Fri, 03 Jul 2009 13:57:20 +0000</pubDate>
</item>
<item>
	<title>Eclipse: David Green: Android versus iPhone Development: A Comparison</title>
	<guid>tag:blogger.com,1999:blog-1482979278030787271.post-5669151997714898459</guid>
	<link>http://greensopinion.blogspot.com/2009/07/android-versus-iphone-development.html</link>
	<description>&lt;p&gt;A few months ago I ventured into the world of Mobile development and created an application (&lt;a href=&quot;http://greensopinion.blogspot.com/2009/05/hudson-helper-hudson-on-your-iphone.html&quot;&gt;Hudson Helper&lt;/a&gt;) for both iPhone and Android.  This article is about my experiences, comparing Android and iPhone development with a focus on tools, platform and the developer experience.&lt;/p&gt;&lt;p&gt;Before going much further I should note that my comparison is with considerable bias.  I’ve spent the past 12+ years in Java development, having spent much of my career building developer tools.  Since January of 2004 I’ve been building plug-ins for &lt;a href=&quot;http://www.eclipse.org/&quot;&gt;Eclipse&lt;/a&gt;, and before that plug-ins for &lt;a href=&quot;http://www.netbeans.org/&quot;&gt;NetBeans&lt;/a&gt;.  This bias is somewhat tempered with several years of C and C++ development.  With this background I find that I’m very critical of developer tools.  Developer productivity is key — anything that takes away from the flow of a developer in the zone is a real problem.&lt;/p&gt;&lt;h4 id=&quot;LanguageProgrammingModelandPlatform&quot;&gt;Language, Programming Model and Platform&lt;/h4&gt;&lt;h5 id=&quot;Language&quot;&gt;Language&lt;/h5&gt;&lt;p&gt;The language of choice for iPhone development is &lt;a href=&quot;http://en.wikipedia.org/wiki/Objective-C&quot;&gt;Objective-C&lt;/a&gt;.  Objective-C is a language based on C with extensions for object-oriented concepts, such as classes, inheritance, interfaces, messages, dynamic typing, etc.  The Java language is used when developing for Android (though it doesn’t actually get compiled to bytecode).  &lt;/p&gt;&lt;p&gt;Java is a no-brainer.  I have to say that it’s nice not to have to learn a new language to target mobile.  Existing skillsets don’t come easy — so reuse of expertise is worth a lot.&lt;/p&gt;&lt;p&gt;It took a little while to wrap my head around some of the language features available with Objective-C.  I soon discovered that I really loved certain language features, such as message passing (instead of calling methods), categories and named arguments.   I did find however that the syntax of Objective-C is cumbersome.  I’m still not used to ‘+’ and ‘-’ for static and member methods, too many parentheses are required, and in general I just felt like I had to type way to much to express a simple concept.  The IDE didn’t help much with this either (more on that later).&lt;/p&gt;&lt;p&gt;One thing that really became clear to me is that Objective-C, though it may have been visionary for its time, is really a language of the '80s.  Certain issues such as split header and implementation files and violation of &lt;a href=&quot;http://en.wikipedia.org/wiki/DRY&quot;&gt;DRY&lt;/a&gt; are really time-wasters, and not small ones at that.  I found myself constantly switching back and forth between files, which not only has a cost in navigation (which file to open?) but with every file opened your sense of context must be recreated (where’s the caret, what’s selected, where am I in the file, how is this file organized).  &lt;/p&gt;&lt;p&gt;As far as DRY, must I really do 5 things to declare a property?? (declare in the class definition, again to declare getter/settter, initialize in the init method, @synthesize in the implementation, release in dealloc).  Here’s what I mean:&lt;/p&gt;&lt;p&gt;&lt;b&gt;Server.h&lt;/b&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;@interface Server : Updatable {&lt;br /&gt;NSString *name;  &amp;lt;-- declare the property &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@property (nonatomic,retain) NSString *name; &amp;lt;--- declare the property again&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;b&gt;Server.m&lt;/b&gt;&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;@synthesize name;  &amp;lt;-- implement getter/setter&lt;br /&gt;&lt;br /&gt;-(void) dealloc {&lt;br /&gt;[name release];  &amp;lt;-- release memory&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you ask me, everything in Server.m should go away.  Another gotcha here is the positional relevance of @synthesize.&lt;/p&gt;&lt;p&gt;Java has a similar problem with properties, though not quite so bad — and the IDE helps you write your getter/setter.       &lt;/p&gt;&lt;p&gt;Pointers in Objective-C, though powerful, are also another time-waster.  This is where Java really shines with its garbage collection.  I found that I was constantly considering whether allocated objects were freed appropriately.  Code flow is poor since application logic is littered with memory management.  I only have so many brain cycles available — why do I have to think about this other cruft that’s not really a core concern of the application domain?  Of course this gets even worse when trying to figure out where things went wrong if you make a mistake.  Zombies help, but still don’t make it obvious if you’ve accessed something that was deallocated.   Other issues include deallocating something twice, autoreleasing something twice.  I also found it non-intuitive when to retain return values from methods.&lt;/p&gt;&lt;p&gt;Another annoyance of Objective-C is the patterns that must be followed: implementing correct init and dealloc methods is non-trivial.   @synthesized getters and setters for properties with retain should not be called in these methods.  So many conventions and rules to remember!&lt;/p&gt;&lt;p&gt;Though I understand why there’s a separation of alloc and init, it’s still overly wordy to specify &lt;code&gt;[[aloc Foo] initWithArg: arg]&lt;/code&gt;.  Why not just &lt;code&gt;[new Foo arg]&lt;/code&gt;?  Or how about &lt;code&gt;new Foo(arg)&lt;/code&gt; -- oh, wait, that’s just like Java!&lt;/p&gt;&lt;p&gt;Objective-C’s imports and forward-declarations (@class) are a pain.  Though these issues exist with Java development, Eclipse’s JDT is so good that I’ve almost forgotten what it’s like to write an import.  All you have to do is Ctrl+Space to auto-complete a class name or Ctrl+Shift+O to organize imports and voila!&lt;/p&gt;&lt;p&gt;Of course Java is not perfect either, however this fact is hidden from me due to the fact that I’ve been living in Java for a very long time.  Sometimes I wish that Java were more &lt;a href=&quot;http://en.wikipedia.org/wiki/Groovy_(programming_language)&quot;&gt;Groovy&lt;/a&gt;-like, however I’m used to it and the tooling is so good.&lt;/p&gt;&lt;h5 id=&quot;Platform&quot;&gt;Platform&lt;/h5&gt;&lt;p&gt;On Android I found that I could readily use the Java runtime classes.  Some, but not all, of the standard Java RT classes are available on Android.  I didn’t find this a problem, since most of the standard Java IO, network and regex libraries are available.  Android RT classes appear to be based on &lt;a href=&quot;http://harmony.apache.org/&quot;&gt;Harmony&lt;/a&gt;, which has been around long enough to be stable. &lt;/p&gt;&lt;p&gt;With iPhone on the other hand, finding the functionality that I needed was painful.  Classes and methods are poorly organized.  When to look for a static method versus a class with members was not clear to me.  Also depending on the framework used, naming conventions and code organization would differ.  I suppose this is the legacy of an older platform.  Areas where functionality was lacking that I found painful were regular expressions, string handling and XML parsing.  I ended up using the excellent &lt;a href=&quot;http://regexkit.sourceforge.net/&quot;&gt;Regex Kit Lite&lt;/a&gt; for regular expressions. For XML parsing I implemented a parser abstraction over &lt;a href=&quot;http://xmlsoft.org/&quot;&gt;libxml&lt;/a&gt;, only to discover later that I may have had an easier time with &lt;code&gt;NSXMLParser&lt;/code&gt; which is a lot more like SAX. &lt;/p&gt;&lt;p&gt;On the iPhone when things didn’t work as expected I had to resort to Google and hope that others had encountered the same problem.  This technique was hampered by Apple’s earlier NDA policy, which meant that iPhone content is pretty thin on the net.  In some cases I would resort to guesswork and experimentation to find a solution.  &lt;/p&gt;&lt;p&gt;Android has the benefit of being open source.  Within minutes I had the full Android platform source code on my system, and had re-built the SDK from sources to ensure that the source I had matched the runtime classes in the emulator.  So not only could I see how things were implemented in the Android platform and learn by example, I could step through the platform code in the emulator and discover why my code wasn’t producing the desired results.   &lt;/p&gt;&lt;p&gt;In general I found the layout, organization, and naming conventions of Android platform classes was consistent and predictable.  This made it much easier to learn.&lt;/p&gt;&lt;h5 id=&quot;ProgrammingModel&quot;&gt;Programming Model&lt;/h5&gt;&lt;p&gt;The iPhone platform does a great job of encouraging an &lt;a href=&quot;http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller&quot;&gt;MVC&lt;/a&gt; design pattern.  With this design pattern built in to the platform, building the UI was simple and I didn’t have to figure out how to organize the UI component design myself.  It also means that when looking at sample code, it’s all organized in the same way.&lt;/p&gt;&lt;p&gt;Android also does a good job with design patterns, though their concepts varied significantly from the iPhone.  With Android’s support for multiple processes and component reuse, the platform itself provides support for Intents and Activities (an Intent is just a variant of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Command_pattern&quot;&gt;command&lt;/a&gt;).  The design results in a better user experience, however it does introduce some complexity for the developer:  when starting one Activity from another, an Intent is used to communicate any parameters.  These parameters cannot be passed by reference — only by value.  Where on the iPhone it’s simple to have screens sharing the same data structures, on Android this requires some forethought.  Apparently Android applications can manage the back button and have everything occur inside a single Activity, however this is not the norm. &lt;/p&gt;&lt;p&gt;Both Android and iPhone provide a way of declaring user preferences in XML.  Both platforms provide a default UI for editing those preferences, which is great.  Android’s XML format is extensible allowing custom UI components to be integrated, which makes user preferences a breeze.  iPhone developers that wish to customize preferences will have to implement a UI from scratch, which is a lot more work.&lt;/p&gt;&lt;h5 id=&quot;TestingandContinuousIntegration&quot;&gt;Testing and Continuous Integration&lt;/h5&gt;&lt;p&gt;I’m of the opinion that every development effort should include unit tests.  Teams of size greater than one should also include &lt;a href=&quot;http://en.wikipedia.org/wiki/Continuous_integration&quot;&gt;Continuous Integration&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Android developers will be happy to know that they can write JUnit tests.  I could even launch these from the Eclipse UI after some classpath fiddling.  Though I didn’t try it, I assume that it’s trivial to run these from Ant and your favorite CI server such as &lt;a href=&quot;https://hudson.dev.java.net/&quot;&gt;Hudson&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I did see some iPhone unit test documentation with the iPhone SDK but didn’t take the time to explore it — so I can’t comment there.  &lt;/p&gt;&lt;h4 id=&quot;Resources&quot;&gt;Resources&lt;/h4&gt;&lt;p&gt;Apple does an excellent job of providing lots of resources for developers.  Important concepts are explained in videos, which makes grasping concepts easy — however I did find that videos progressed slowly and I was watching for what seemed like hours to find information that should have taken minutes.  Luckily Apple also provides lots of sample applications and code to demonstrate API usage.&lt;/p&gt;&lt;p&gt;Android developers also have access to loads of resources.  The guide and API reference are installed with the SDK, so everything is available when offline (which for me is important since I do a lot of my work in transit).  I found the Android development resources better organized and spent less time looking and more time finding.  In particular the ApiDemos sample app provides a great starting point.  I also downloaded many open source Android projects for ideas on architecture and API usage.  This is an area where Android has the advantage, with Apple’s previous NDA policy there isn’t much out there in terms of open source for iPhone.&lt;/p&gt;&lt;h4 id=&quot;Tooling&quot;&gt;Tooling&lt;/h4&gt;&lt;p&gt;For me tooling was a real shocker.  These are the categories of tooling that I’ll cover: IDE, UI builder, debugger, profiler.  Almost everything else is related to provisioning, and in that area I didn’t notice much in the way of differences between Android and iPhone.&lt;/p&gt;&lt;h5 id=&quot;IDE&quot;&gt;IDE  &lt;/h5&gt;&lt;p&gt;Android development leverages the excellent &lt;a href=&quot;http://www.eclipse.org/jdt&quot;&gt;JDT&lt;/a&gt; tools, which are pretty much stock and standard with every Eclipse installation.  I’ve used these tools now for many years and they’re excellent.  Everything Java is indexed, the IDE has a rich model of the source code, and refactoring is so seamless that it has changed the way that I work.  &lt;/p&gt;&lt;p&gt;Perhaps the best feature of JDT is its &lt;a href=&quot;http://en.wikipedia.org/wiki/Incremental_compiler&quot;&gt;incremental compiler&lt;/a&gt;, which provides immediate feedback with errors and warnings as you type.  This eliminates the code-compile-wait-for-feedback cycle that was so common in the '80s and '90s.  Errors and warnings are updated in the Java editor as I type, giving me instant feedback.  I didn’t realize just how valuable this feature is until I was coding Objective-C in XCode — when I became acutely aware at how waiting for compiler feedback can break the flow of programming.   &lt;/p&gt;&lt;p&gt;Other key features that make Eclipse so amazing to work with are:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;content assist&lt;/li&gt;&lt;li&gt;quick-fixes&lt;/li&gt;&lt;li&gt;organize imports&lt;/li&gt;&lt;li&gt;open type (CTRL+Shift+T)&lt;/li&gt;&lt;li&gt;refactorings&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Integrated javadoc and content assist is quite possibly the best way to learn an unfamiliar API.  In Ecipse not only are all classes and methods immediately available in the context in which you’re writing code, their documentation is presented alongside.&lt;/p&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_vw9l2nnub6c/Sk2e-j6p2NI/AAAAAAAAAHU/KzoZ58wkpVY/s1600-h/content-assist-javadoc.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_vw9l2nnub6c/Sk2e-j6p2NI/AAAAAAAAAHU/KzoZ58wkpVY/s400/content-assist-javadoc.png&quot; alt=&quot;&quot; style=&quot;text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 58px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5354110329643718866&quot; /&gt;&lt;/a&gt;&lt;p&gt;&lt;b&gt;Content Assist with Integrated Javadoc&lt;/b&gt;&lt;/p&gt;&lt;p&gt;XCode is so shockingly bad that I almost don’t know where to start.  Here’s a &lt;em&gt;minimum&lt;/em&gt; list of things that I think need fixing in order for XCode to become a viable IDE:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Content assist that actually works.  Content assist provided by XCode is often wrong, and almost always suggests a small subset of what’s actually available.&lt;/li&gt;&lt;li&gt;A decent window/editor management system.  XCode and it’s associated tools (debugger) like to open lots of windows.  Want to open a file?  How about a new window for you!  Very quickly I found myself in open-window-hell.  The operating system’s window management is designed for managing multiple applications, not multiple editors within an IDE.  It’s simply not capable of providing management of editors in an environment as sophisticated as an IDE.&lt;/li&gt;&lt;li&gt;A project tree view that sorts files alphabetically.  Really!&lt;/li&gt;&lt;li&gt;Integrated API documentation.  I found that I was constantly switching out of the IDE and searching for API documentation using &lt;a href=&quot;http://homepage.mac.com/aglee/downloads/&quot;&gt;Appkido&lt;/a&gt;.   This may seem trivial, but it really breaks the flow.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;One area of Eclipse that simply can’t be matched is &lt;a href=&quot;http://www.eclipse.org/mylyn&quot;&gt;Mylyn&lt;/a&gt;.  Integrated task management and a focused interface introduce huge efficiencies into any project, small or large.  If you haven’t yet tried out Mylyn, it’s definitely worth your time to take a look.  A good place to start is Mylyn’s &lt;a href=&quot;http://www.eclipse.org/mylyn/start/&quot;&gt;Getting Started&lt;/a&gt; page.&lt;/p&gt;&lt;h5 id=&quot;UIBuilder&quot;&gt;UI Builder&lt;/h5&gt;&lt;p&gt;iPhone app developers are given a pretty good UI builder.  It does a great job of showing the UI as it will actually appear.  It’s flexible and can model some pretty sophisticated UIs, so I was impressed.   I found that using it was a little tricky — I had to read the documentation two or three times before I could really figure out how to use it properly.&lt;/p&gt;&lt;p&gt;The Android UI builder I found pretty useless: it can’t display UIs how they’ll actually appear, and it’s UI is way too inefficient.  I found that I coded all of the UIs directly in the XML source view of the UI builder.  There the content assist and validation were pretty good, making it the easiest way for me to build a UI.&lt;/p&gt;&lt;h5 id=&quot;Debugger&quot;&gt;Debugger&lt;/h5&gt;&lt;p&gt;Having used to the Java debugger in Eclipse I was shocked at the state of the debugger in XCode.  With Eclipse I can see and modify variable values.  Not so in XCode.  Maybe this is simply the state of affairs when debugging native code, but it sure affects the usefulness of the debugger.  XCode often seemed confused as to the type of an object and presented me with a pointer value and no detail.  This is a sharp contrast to Eclipse, where I can drill down through an object graph with ease.&lt;/p&gt;&lt;p&gt;I found the XCode debugger UI extremely difficult to use.  Clicking on the stack to show code in an editor caused new windows to open, eventually resulting in dozens of windows open.  In addition I found that watch expressions rarely worked for me. &lt;/p&gt;&lt;h5 id=&quot;ProfilerandHeapAnalysis&quot;&gt;Profiler and Heap Analysis&lt;/h5&gt;&lt;p&gt;An area where Apple development tools excel is in profiling and heap analysis.  These tools seemed mature and easy to use.  With no prior experience with these specific tools I was able to gain a better understanding of my app within minutes, find and fix several memory leaks and improve performance.&lt;/p&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_vw9l2nnub6c/Sk2fRWSUpAI/AAAAAAAAAHc/CEptOHGaX48/s1600-h/memory-analysis.png&quot;&gt;&lt;img src=&quot;http://1.bp.blogspot.com/_vw9l2nnub6c/Sk2fRWSUpAI/AAAAAAAAAHc/CEptOHGaX48/s400/memory-analysis.png&quot; alt=&quot;&quot; style=&quot;text-align: center; cursor: pointer; cursor: hand; width: 400px; height: 225px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5354110652402410498&quot; /&gt;&lt;/a&gt;&lt;p&gt;&lt;b&gt;XCode Memory Leak Detection&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Android developers must use Android’s traceview application, which I found worked well but required significantly more effort to configure and operate.  I was surprised to find that the source code must be changed in order to get the trace files required for analysis.&lt;/p&gt;&lt;p&gt;I’m not sure if Android can provide heap dumps in hprof format.  If it can then the awesome &lt;a href=&quot;http://www.eclipse.org/mat/&quot;&gt;MAT&lt;/a&gt; tool could be used to analyze heap usage.  According to &lt;a href=&quot;http://discuz-android.blogspot.com/2009/06/android-memory-usage-with-hprof.html&quot;&gt;this article&lt;/a&gt; Android &lt;em&gt;can&lt;/em&gt; produce hprof heap data, though I haven’t tried it.&lt;/p&gt;&lt;h4 id=&quot;AppStore&quot;&gt;App Store&lt;/h4&gt;&lt;p&gt;It goes without saying that the iPhone app store is excellent in that you can sell into many countries worldwide with a single setup.  I was able to provide my Canadian bank account number, sign a few legal agreements and I was up and running.  &lt;/p&gt;&lt;p&gt;Getting an app into the store however is frustrating to say the least.  Apple must approve every app before it is accepted into the store.  Mine got rejected multiple times.  Each time it was rejected I was given &lt;em&gt;almost&lt;/em&gt; no information about why.  When I emailed them to clarify the problem, I received what looked like a canned response indicating that I should refer to previous correspondence.  If it weren’t so frustrating I would have found it funny.  I highly recommend reading Brian Stormont’s &lt;a href=&quot;http://www.mobileorchard.com/avoiding-iphone-app-rejection-from-apple/&quot;&gt;Avoiding iPhone App Rejection from Apple&lt;/a&gt; and Dan Grigsby’s &lt;a href=&quot;http://www.mobileorchard.com/avoiding-iphone-app-rejection-part-2/&quot;&gt;Part 2&lt;/a&gt; follow-up. &lt;/p&gt;&lt;p&gt;Of course once I started selling Hudson Helper I realized that Apple won’t send me any money unless the payout is greater than $250.  This is true not only of the first payout, but every payout.  Google market on the other hand requires a minimum of $1 for each payout.  Both the iPhone app store and Google market take about %30 of your app selling price.  $0.99 applications have to have high volume, or they’re simply not worth your time. &lt;/p&gt;&lt;p&gt;The Google market by comparison to the Apple app store is terrible in that you can only sell into a &lt;a href=&quot;http://market.android.com/support/bin/answer.py?hl=en&amp;amp;answer=138294&quot;&gt;handful of countries&lt;/a&gt;.  You also can’t see or install apps that cost money on a developer phone.  Actually you can, but not if the app has copy protection — which is almost every non-free app.  On the other hand when you upload your app to the app store it’s available within minutes, so you don’t have to worry about an approval process.&lt;/p&gt;&lt;p&gt;To set up a merchant account with Google market, I had to provide a US address and bank account number, since Google doesn’t support Canada.  For me this was a pain, but not too bad since I live within a few kilometers of the US border.  I rode my bike down to the US and opened an account with Horizon bank.  The bank required a passport and driver’s license, so no problem there.  Why Google doesn’t support more countries I don’t know.  At the very least Google market should accept alternate payment methods for countries that are not supported by Google checkout.&lt;/p&gt;&lt;h4 id=&quot;Summary&quot;&gt;Summary&lt;/h4&gt;&lt;p&gt;Android’s platform and developer tools are excellent.  Leveraging Java and the Eclipse IDE are major winning factors for Android.  Apple’s developer tools are shockingly bad by comparison.  The Objective-C language and platform APIs are cumbersome and poorly organized.  Overall when developing for the iPhone I felt like I was back in 1993.  These factors combined in my estimation make application development about three times more expensive when developing for iPhone.  The only area where Apple’s developer tools excelled was in profiling and heap analysis.&lt;/p&gt;&lt;p&gt;Apple’s app store from a user’s standpoint and from a worldwide coverage standpoint are excellent.  In this area Google market for Android is weak.&lt;/p&gt;&lt;p&gt;Development for iPhone may improve as tools such as &lt;a href=&quot;http://code.google.com/p/iphonical/&quot;&gt;iphonical&lt;/a&gt; (MDD for iPhone) and &lt;a href=&quot;http://code.google.com/p/objectiveclipse/&quot;&gt;objectiveclipse&lt;/a&gt; (Eclipse plug-in for Objective-C) emerge.&lt;/p&gt;&lt;p&gt;We may see a shake-up in the mobile market, with at least 18 new Android handsets being released this year.  Until that happens, iPhone will remain a market leader and developers will have to put up with XCode and Objective-C.&lt;/p&gt;&lt;p&gt;For me, my love is with Android.  Sure, the iPhone is great — but can you install a new Linux kernel?&lt;/p&gt;&lt;img width=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/1482979278030787271-5669151997714898459?l=greensopinion.blogspot.com&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 13:50:00 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: Sebastian Fischer: FP Overview</title>
	<guid>http://www-ps.informatik.uni-kiel.de/~sebf/?p=177</guid>
	<link>http://www-ps.informatik.uni-kiel.de/~sebf/haskell/fp-overview.html</link>
	<description>&lt;p&gt;I have finished a first draft of a &lt;a href=&quot;http://www-ps.informatik.uni-kiel.de/~sebf/haskell/fp-overview.pdf&quot;&gt;brief overview on functional programming&lt;/a&gt; featuring type polymorphism, higher-order functions, lazy evaluation, class-based overloading, and equational reasoning.&lt;/p&gt;

&lt;p&gt;comments appreciated!&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 13:40:30 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Robert Kaiser: Changes to SeaMonkey nightlies and tinderbox waterfalls</title>
	<guid>http://home.kairo.at/blog/2009-07/changes_to_seamonkey_nightlies_and_tinde</guid>
	<link>http://home.kairo.at/blog/2009-07/changes_to_seamonkey_nightlies_and_tinde</link>
	<description>As discussed and decided in the &lt;a href=&quot;https://wiki.mozilla.org/SeaMonkey:StatusMeetings:2009-06-30#Any_other_business.3F&quot;&gt;last SeaMonkey Status Meeting&lt;/a&gt;, I've started to &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=485821&quot;&gt;move SeaMonkey to the new buildbot configurations&lt;/a&gt; that have been in the testing phase &lt;a href=&quot;http://home.kairo.at/blog/2009-05/seamonkey_has_new_build_machines&quot;&gt;for a while now&lt;/a&gt; and will open the possibilities for doing builds based on mozilla-central soon.&lt;br /&gt;
&lt;br /&gt;
The following changes are made that you should be aware of:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Phase I&lt;/span&gt; (done yesterday, first nightlies from today):&lt;/span&gt;&lt;ul&gt;&lt;li&gt;The nightlies in &lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/seamonkey/nightly/latest-comm-1.9.1/&quot;&gt;latest-comm-1.9.1&lt;/a&gt; are the official ones now.&lt;/li&gt;&lt;li&gt;FTP has latest-comm-central and latest-trunk symlinked to latest-comm-1.9.1 for the first part of the transition.&lt;/li&gt;&lt;li&gt;Those are static builds with reduced build size and hopefully better performance.&lt;/li&gt;&lt;li&gt;Dependent builds (&quot;build&quot; columns, &quot;hourlies&quot;) continue to be shared builds.&lt;/li&gt;&lt;li&gt;Linux has a &quot;leak test build&quot; column that runs debug builds.&lt;/li&gt;&lt;li&gt;Nightlies and dependent builds are being run on x86_64 Linux, even though this should still not be considered a tier-1 platform and has no L10n builds.&lt;/li&gt;&lt;li&gt;Localized nightlies are in &lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/seamonkey/nightly/latest-comm-1.9.1-l10n/&quot;&gt;latest-comm-1.9.1-l10n&lt;/a&gt; and built with the &quot;L10n merge&quot; tooling that injects en-US for missing strings, eliminating most cases of the &quot;yellow screen of death&quot;.&lt;/li&gt;&lt;li&gt;The &lt;a href=&quot;http://tinderbox.mozilla.org/SeaMonkey/&quot;&gt;SeaMonkey&lt;/a&gt; tinderbox waterfall page has those buildbots reporting as columns containing &quot;comm-1.9.1&quot; in their names.&lt;/li&gt;&lt;li&gt;Due to ongoing slight &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=494671&quot;&gt;instabilities&lt;/a&gt; in the 10.5 VMs, the old &quot;comm-central&quot; 10.4 unit test machine stays up there as well.&lt;/li&gt;&lt;li&gt;All other comm-central builds disappear from the scene.&lt;/li&gt;&lt;li&gt;For localizers, the comm-1.9.1 builds on their Mozilla-l10n-* waterfall pages are the relevant reference.&lt;/li&gt;&lt;li&gt;All VMs on the same platform run in generic pools, so that any of the machines can do any dependent build, nightly, L10n repackaging or unit test run, the buildbot master hands those jobs on a &quot;first come, first serve&quot; basis to the available slaves.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Phase II&lt;/span&gt; (once &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=502031&quot;&gt;bugs 502031&lt;/a&gt; &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=502033&quot;&gt;and 502033&lt;/a&gt; are solved):&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Builds with mozilla-central are set up in addition, uploading nightlies to a &lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/seamonkey/nightly/latest-comm-central-trunk/&quot;&gt;latest-comm-central-trunk&lt;/a&gt; directory.&lt;/li&gt;&lt;li&gt;A version number of &quot;2.1a1pre&quot; is used there for now, there's no definitive decision on what version the next SeaMonkey will be yet though, this is the lowest possible version to use atm.&lt;/li&gt;&lt;li&gt;FTP symlinks for latest-comm-central and latest-trunk are removed.&lt;/li&gt;&lt;li&gt;The comm-1.9.1 builds are switched to report to a new &lt;a href=&quot;http://tinderbox.mozilla.org/SeaMonkey2.0/&quot;&gt;SeaMonkey2.0&lt;/a&gt; tinderbox waterfall page (as well as the 10.4 tests).&lt;/li&gt;&lt;li&gt;The comm-central-trunk builds report to the &lt;a href=&quot;http://tinderbox.mozilla.org/SeaMonkey/&quot;&gt;SeaMonkey&lt;/a&gt; page.&lt;/li&gt;&lt;li&gt;No unit test builds will be activated for comm-central-trunk while we don't have all the machines we need in the pools (due to &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=493321&quot;&gt;Parallels network problems&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://ftp.mozilla.org/pub/mozilla.org/seamonkey/nightly/latest-comm-central-trunk-l10n/&quot;&gt;L10n builds&lt;/a&gt; for comm-central-trunk use l10n-central work and also report to the Mozilla-l10n-* tinderbox waterfalls, dashboard for this might only come up some time later.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Phase III&lt;/span&gt; (once &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=493321&quot;&gt;bug 493321&lt;/a&gt; is solved):&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Unit tests for comm-central-trunk are turned on.&lt;/li&gt;&lt;li&gt;A few other incremental improvements can be thought of when Phase II is completed, such as running packaged tests, AUS for L10n, etc. but all those can be done individually, step by step, then.&lt;/li&gt;&lt;li&gt;Once 10.5 Mac VMs are completely stable and not &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=494671&quot;&gt;intermittently crashing&lt;/a&gt; because of Parallels issues, we'll turn off the 10.4 unit test machine and hand it back to Mozilla IT.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
I hope this whole transition works well for everybody. It was a bumpy ride and a good amount of work to get this all up, but it largely reduced the amount of maintenance needed and makes us share more buildbot code with Firefox and Thunderbird already now and even more once this all is completed.</description>
	<pubDate>Fri, 03 Jul 2009 13:32:36 +0000</pubDate>
</item>
<item>
	<title>RDF: First Public Working Draft of SPARQL New Features and
Rationale</title>
	<guid>http://apassant.net/blog/2009/07/03/first-public-working-draft-sparql-new-features-and-rationale</guid>
	<link>http://apassant.net/blog/2009/07/03/first-public-working-draft-sparql-new-features-and-rationale</link>
	<description>&lt;p&gt;I'm pleased to announce that the &lt;a href=&quot;http://www.w3.org/2009/sparql/wiki/Main_Page&quot;&gt;W3C SPARQL Working
Group&lt;/a&gt; has just published the &lt;a href=&quot;http://www.w3.org/TR/2009/WD-sparql-features-20090702/&quot;&gt;First
Public Working Draft of SPARQL New Features and Rationale&lt;/a&gt;, i.e.
description and motivations of the new features to be included in
the next version of SPARQL.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;&lt;br /&gt;
The W3C SPARQL Working Group has published the First Public Working
Draft of SPARQL New Features and Rationale. This document provides
an overview of the main new features of SPARQL and their rationale.
This is an update to SPARQL adding several new features that have
been agreed by the SPARQL WG. These language features were
determined based on real applications and user and tool-developer
experience. (Via &lt;a href=&quot;http://www.w3.org/blog/SW/2009/07/03/first_draft_of_sparql_new_features_and_r&quot;&gt;
W3C Semantic Web Activity News&lt;/a&gt;)&lt;br /&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;If you're implementing SPARQL engines, please note that the
current syntaxes for each features are example syntax, and then
should not be considered as final in any way. Any comments
regarding this draft are welcomed by e-mail to &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/&quot;&gt;public-rdf-dawg-comments@w3.org&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 13:28:59 +0000</pubDate>
</item>
<item>
	<title>Smalltalk: [Smalltalk Tidbits, Industry Rants] Eating our own Dogfood</title>
	<guid>http://www.cincomsmalltalk.com/blog/3424066040</guid>
	<link>http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;printTitle=Eating_our_own_Dogfood&amp;entry=3424066040</link>
	<description>&lt;p&gt;As Michael mentions on this weekend's podcast (out on Sunday), the &lt;a href=&quot;http://www.web-velocity.com&quot;&gt;Web Velocity site&lt;/a&gt; needs some work on the presentation side - but at least we're now eating our own dogfood. The site is running Web Velocity now.&lt;/p&gt;
&lt;p style=&quot;text-align: right; font-size: 10px;&quot;&gt;Technorati Tags: 
&lt;a href=&quot;http://www.technorati.com/tag/seaside&quot; rel=&quot;tag&quot;&gt;seaside&lt;/a&gt;, &lt;a href=&quot;http://www.technorati.com/tag/web velocity&quot; rel=&quot;tag&quot;&gt;web velocity&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 13:27:20 +0000</pubDate>
</item>
<item>
	<title>GNOME: Richard Hughes: HALectomy of gnome-power-manager complete</title>
	<guid>http://blogs.gnome.org/hughsie/?p=373</guid>
	<link>http://blogs.gnome.org/hughsie/2009/07/03/halectomy-of-gnome-power-manager-complete/</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/hughsie.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; &lt;p&gt;This morning I committed a rather largish (23 files changed, 28 insertions, 1551 deletions) patch:&lt;/p&gt;
&lt;pre&gt;commit f884a1ae954d14928a6a7055d4d4b182fbb2a3bc
Author: Richard Hughes &amp;lt;richard_at_hughsie.com&amp;gt;
Date:   Fri Jul 3 13:49:05 2009 +0100
    HAL is no longer a dependency of gnome-power-manager&lt;/pre&gt;
&lt;p&gt;This means that gnome power manager in git master no longer needs HAL to compile or run. This is a quite a significant moment, as now it relies just on the thriving DeviceKit* stack, rather than the old lumbering HAL.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Just a word of warning&lt;/strong&gt;: You’ll need DeviceKit-power 009 (released in a few days time) if you want to use g-p-m in git master without loosing your ability to change your backlight, or to set the lid action preferences. It’ll still compile with 008, but 009 is very much recommended.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 13:19:55 +0000</pubDate>
</item>
<item>
	<title>Debian: Luca Favatella: kFreeBSD progress report week 6</title>
	<guid>tag:blogger.com,1999:blog-6508024354536288508.post-2210875366763281663</guid>
	<link>http://slackydeb.blogspot.com/2009/07/kfreebsd-progress-report-week-6.html</link>
	<description>&lt;img src=&quot;http://planet.debian.org/heads/slackydeb.png&quot; width=&quot;64&quot; height=&quot;64&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot; /&gt;  Read the &lt;a href=&quot;http://lists.alioth.debian.org/pipermail/soc-coordination/2009-July/000612.html&quot;&gt;progress report of week 6 of the project &quot;d-i support for GNU/kFreeBSD&quot;&lt;/a&gt;.&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/6508024354536288508-2210875366763281663?l=slackydeb.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 13:14:17 +0000</pubDate>
</item>
<item>
	<title>Symfony: Symfony Components : The Event Dispatcher</title>
	<guid>http://www.symfony-project.org/blog/2009/07/03/symfony-components-the-event-dispatcher</guid>
	<link>http://feedproxy.google.com/~r/symfony/blog/~3/-6y-m6BX2mI/symfony-components-the-event-dispatcher</link>
	<description>&lt;img src=&quot;http://feeds.feedburner.com/uploads/assets/event-dispatcher-animal.jpg&quot; alt=&quot;The Symfony Event Dispatcher animal&quot; /&gt;


&lt;p&gt;After the YAML and the Dependency Injection, it's time for the
Symfony Event Dispatcher component to join the crowd of the Symfony
components. This component is not new. It has been introduced in
symfony 1.1 and is heavily used in the symfony core to make symfony
more decoupled and more flexible.&lt;/p&gt;

&lt;p&gt;The Symfony Event Dispatcher component is represented by an Octopus.&lt;/p&gt;

&lt;p&gt;Of course, you can start using it right away in your non-symfony
projects by reading the dedicated
&lt;a href=&quot;http://components.symfony-project.org/event_dispatcher/documentation&quot;&gt;book&lt;/a&gt;:&lt;/p&gt;


  &lt;img src=&quot;http://components.symfony-project.org/images/components/event_dispatcher/book.png&quot; alt=&quot;Book&quot; /&gt;


&lt;p&gt;Like other published
&lt;a href=&quot;http://components.symfony-project.org/&quot;&gt;components&lt;/a&gt;, the component
comes with a test suite that covers 100% of the code, and it is
continuously
&lt;a href=&quot;http://ci.symfony-project.org/project/symfony-event-dispatcher&quot;&gt;built&lt;/a&gt;
by the Sensio Labs continuous integration server, Sismo.&lt;/p&gt;


  &lt;img src=&quot;http://feeds.feedburner.com/uploads/assets/di/sismo-event-dispatcher.jpg&quot; alt=&quot;Continuous Integration Server - Sismo&quot; /&gt;

          &lt;hr /&gt;
          
          Be trained by symfony experts
                       - &lt;a href=&quot;http://www.sensiolabs.com/en/training/detail/SYMFONY-DOCTRINE-PARIS-JULY-2009&quot;&gt;Jul 22&lt;/a&gt; Paris                       - &lt;a href=&quot;http://www.solutionset.com/register?training-id=1&quot;&gt;Aug 19&lt;/a&gt; San Francisco                       - &lt;a href=&quot;http://www.sensiolabs.com/en/training/detail/SYMFONY-DOCTRINE-PARIS-SEPTEMBER-2009&quot;&gt;Sep 23&lt;/a&gt; Paris                       - &lt;a href=&quot;http://www.sensiolabs.com/en/training/detail/SYMFONY-DOCTRINE-NANTES-OCTOBER-2009&quot;&gt;Oct 21&lt;/a&gt; Nantes                       - &lt;a href=&quot;http://www.sensiolabs.com/en/training/detail/SYMFONY-DOCTRINE-PARIS-NOVEMBER-2009&quot;&gt;Nov 18&lt;/a&gt; Paris                    &lt;img src=&quot;http://feeds.feedburner.com/~r/symfony/blog/~4/-6y-m6BX2mI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 13:12:00 +0000</pubDate>
</item>
<item>
	<title>Python: Python African Tour: We’re in Senegal next week</title>
	<guid>http://www.coactivate.org/projects/python-african-tour/blog/2009/07/03/were-in-senegal-next-week/</guid>
	<link>http://www.coactivate.org/projects/python-african-tour/blog/2009/07/03/were-in-senegal-next-week/</link>
	<pubDate>Fri, 03 Jul 2009 12:38:09 +0000</pubDate>
</item>
<item>
	<title>PHP: DPC 2009 Day 1 - Ibuildings Blog</title>
	<guid>http://www.ibuildings.com/blog/archives/1560-DPC-2009-Day-1.html</guid>
	<link>http://www.ibuildings.com/blog/archives/1560-DPC-2009-Day-1.html</link>
	<description>After my colleague Cal &lt;a href=&quot;http://www.ibuildings.com/blog/archives/1558-DPC-2009-Day-0-Stefan-Essers-Security-Crash-Course.html&quot;&gt;reviewed DPC's tutorial day&lt;/a&gt;, it's now my turn to look back at the first real conference day of 2009's Dutch PHP Conference.&lt;br /&gt;
&lt;br /&gt;
The day started with a nice movie made by Almer and Norman after which Cal officially opened the Dutch PHP Conference and introduced Andrei Zmievski to do the opening keynote. Andrei gave an outline of developments in PHP including the changes we are going to see in future versions. Closures, namespaces, better garbage collection and a few more things are coming to PHP5.3, but I think this isn't new to most people. I haven't really read a lot on PHP6 yet other than Unicode, so the addition of traits, C# style getters and setters and scalar/return value type hinting were new to me. I think this was a nice talk to be the opening keynote, because other than just being infomrative the talk also had the right amount of humor with some examples of frustrated people reporting &quot;bugs&quot; and a setting for y2k compliance. I wasn't active in PHP 10 years ago, but it made me laugh when I heard that the y2k_compliance setting basically did nothing other than stop people asking about it.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://www.ibuildings.com/blog/archives/1560-DPC-2009-Day-1.html#extended&quot;&gt;Continue reading &quot;DPC 2009 Day 1&quot;&lt;/a&gt;</description>
	<pubDate>Fri, 03 Jul 2009 12:18:00 +0000</pubDate>
</item>
<item>
	<title>Python: Python Software Foundation: Python 3.0 is an ex-release! Long live Python 3.1!</title>
	<guid>http://pyfound.blogspot.com/2009/07/python-30-is-ex-release-long-live.html</guid>
	<link>http://pyfound.blogspot.com/2009/07/python-30-is-ex-release-long-live.html</link>
	<pubDate>Fri, 03 Jul 2009 12:04:53 +0000</pubDate>
</item>
<item>
	<title>GNOME: Lucas Rocha: GCDS #1</title>
	<guid>http://blogs.gnome.org/lucasr/?p=295</guid>
	<link>http://blogs.gnome.org/lucasr/2009/07/03/gcds-1/</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/lucasr.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; &lt;ul&gt;
&lt;li&gt;Arrived last night at Las Palmas, Gran Canaria. This city looks a lot like Salvador, my home city!&lt;/li&gt;
&lt;li&gt;Dinner with Stormy, Jonathan, Zana, and Vincent at a nice Spanish (duh!) restaurant. I ate so much that I’m still feeling stuffed today!&lt;/li&gt;
&lt;li&gt;Foundation Board meeting during the whole day today.&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Fri, 03 Jul 2009 12:01:46 +0000</pubDate>
</item>
<item>
	<title>Gentoo: Diego E. Pettenò: In the land of smartcards</title>
	<guid>tag:blog.flameeyes.eu,2005:Article/4813</guid>
	<link>http://blog.flameeyes.eu/2009/07/03/in-the-land-of-smartcards</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;amp;r=pg&amp;amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Fflameeyes.png&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot; /&gt;
&lt;p&gt;Even though I did post that &lt;a href=&quot;http://blog.flameeyes.eu/2009/05/12/hardware-signatures&quot;&gt;I wanted to get onto hardware signatures&lt;/a&gt; I ended up getting an &lt;span class=&quot;caps&quot;&gt;USB&lt;/span&gt; smartcard reader for a job that requires me to deal with some kind of smartcards; I cannot go much further on the matter right now though, so I’ll skip over most of the notes here.&lt;/p&gt;
&lt;p&gt;Now, since I got the reader, but not yet most of the specifics I need to actually go on with the job, I’ve been playing with actually getting the reader to work with my system. Interestingly enough, as usual, the first problem is very Gentoo-specific: the init script does not work properly, and I’m now working on fixing that up.&lt;/p&gt;
&lt;p&gt;But then the problem is to actually find a smart card to test with; in my haste I forgot about getting at least one or two smartcards to play with when I ordered the device, and now it’d be stupidly expensive to order them. Of course I’ll go around this time and get myself the Italian electronic ID card (&lt;span class=&quot;caps&quot;&gt;CIE&lt;/span&gt;), but even that does not come cheap (€25, and a full morning wasted), and I cannot just do that right now.&lt;/p&gt;
&lt;p&gt;So I went around to see what I had at home with a smartcard chip, after discarding my old, expired MasterCard (even though I &lt;a href=&quot;http://blog.flameeyes.eu/2008/07/21/dualhead-16-10-and-xrandr&quot;&gt;thought about it&lt;/a&gt; before, I was warned against trying that), I decided to try with a &lt;span class=&quot;caps&quot;&gt;GSM&lt;/span&gt; &lt;span class=&quot;caps&quot;&gt;SIM&lt;/span&gt; card, which I had laying around (I had to get a new one to switch my current phone plan to a business subscriber plan; before I was using a consumer pre-paid plan).&lt;/p&gt;
&lt;p&gt;Now, although I was able to test that the reader detects and initialises the card correctly (although it is not in the pcsc-tools database!), I wanted to see if it was actually possible to access it fully; luckily &lt;a href=&quot;http://rolandeckert.com/notes/smartcard&quot;&gt;the page of a Gentoo user&lt;/a&gt; sent me to some software, written by an Italian programmer, that should do just that: &lt;a href=&quot;http://www.integrazioneweb.com/monosim/&quot;&gt;monosim&lt;/a&gt; which, as you’d expect, is written in C# and Mono, which is good given I’m currently doing the same for another customer of mine.&lt;/p&gt;
&lt;p&gt;Unfortunately, it seems like &lt;a href=&quot;http://blog.flameeyes.eu/2009/03/29/the-mono-problem&quot;&gt;the mono problem&lt;/a&gt; comes up again: upstream never considered the fact that the libpcsclite.so &lt;span class=&quot;caps&quot;&gt;ABI&lt;/span&gt; changes between different architectures, even on the same operating system. Not that I find that a good idea in general, since I always try to stick with properly-sized parameters (thanks &lt;code&gt;stdint.h&lt;/code&gt;), but it happens, and we should get ready to actually resolve the problems when they appear.&lt;/p&gt;
&lt;p&gt;Now, I really don’t even want to get started with all the mess that &lt;span class=&quot;caps&quot;&gt;RMS&lt;/span&gt; have uncovered lately; just like I did a few years back, I replace the idealistic problems from Stallman with technical limitations, see for instance my post about &lt;a href=&quot;http://blogs.gentoo.org/flameeyes/2005/08/13/rant_the_java_t_crap&quot;&gt;“the java crap”&lt;/a&gt; (which – by the way – hasn’t finished being a problem, outlasting the idealistic problems).&lt;/p&gt;
&lt;p&gt;And I’m still waiting for Berkeley DB to finish its testsuite, after more than twelve (12!) hours, on an eight core system, with parallel processes (I get five &lt;span class=&quot;caps&quot;&gt;TCL&lt;/span&gt; processes to hog up the same amount of cores at almost any time). I don’t even want to think how long it would take on a single-core system. Once that’s done, I can turn the system down for some extraordinary maintenance.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 11:49:26 +0000</pubDate>
</item>
<item>
	<title>Eclipse: BioClipse: Bioclipse 2.0 Release Candidate 5</title>
	<guid>tag:blogger.com,1999:blog-19419978.post-2150537204436310600</guid>
	<link>http://bioclipse.blogspot.com/2009/07/bioclipse-20-release-candidate-5.html</link>
	<description>&lt;a href=&quot;http://1.bp.blogspot.com/_h6tAVZXYvfs/SkzOKiZsOJI/AAAAAAAAAD0/_7cXzQoP0VE/s1600-h/bioclipse-banner_300w.png&quot;&gt;&lt;img src=&quot;http://1.bp.blogspot.com/_h6tAVZXYvfs/SkzOKiZsOJI/AAAAAAAAAD0/_7cXzQoP0VE/s320/bioclipse-banner_300w.png&quot; alt=&quot;&quot; style=&quot;text-align: center; cursor: pointer; width: 300px; height: 90px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5353880737465251986&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Today, Bioclipse 2.0 Release Candidate 5 (versioned 2.0.0.RC5) was released with primarily a fix in the atom typing done when editing chemical structures, and a less stricter handling of SDFiles. The &lt;a href=&quot;http://pele.farmbio.uu.se/bioclipse/help/2.0beta5/index.jsp&quot;&gt;Bioclipse help&lt;/a&gt; is also available as standalone. The release requires a fresh download from &lt;a href=&quot;http://sourceforge.net/projects/bioclipse&quot;&gt;Sourceforge&lt;/a&gt;, and we kindly ask beta-testers for bug reports on the &lt;a href=&quot;http://bugs.bioclipse.net/&quot;&gt;bugs.bioclipse.net&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;img width=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/19419978-2150537204436310600?l=bioclipse.blogspot.com&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 11:30:40 +0000</pubDate>
</item>
<item>
	<title>PHP: PHP with Oracle RAC - John Lim (PHP Everywhere - By John Lim)</title>
	<guid>http://phplens.com/phpeverywhere/?q=node/view/265</guid>
	<link>http://phplens.com/phpeverywhere/?q=node/view/265</link>
	<description>&lt;p&gt;My article on &lt;a href=&quot;http://www.oracle.com/technology/pub/articles/lim-php-rac.html&quot;&gt;High Performance and Availability with Oracle RAC and PHP&lt;/a&gt; is out on the Oracle web site. Enjoy.
&lt;p&gt;
&lt;img src=&quot;http://phplens.com/phpeverywhere/icons/alfred.gif&quot; /&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 11:13:23 +0000</pubDate>
</item>
<item>
	<title>KDE: Kushal Das: lekhonee v0.6 released</title>
	<guid>http://kushaldas.in/2009/07/03/lekhonee-v0-6-released/</guid>
	<link>http://kushaldas.in/2009/07/03/lekhonee-v0-6-released/</link>
	<description>&lt;p&gt;I just released &lt;a href=&quot;https://fedorahosted.org/lekhonee/&quot;&gt;lekhonee&lt;/a&gt; v0.6 .  Download the &lt;a href=&quot;https://fedorahosted.org/releases/l/e/lekhonee/lekhonee-0.6.tar.gz&quot;&gt;source&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For RPM(s) , download from &lt;a href=&quot;http://koji.fedoraproject.org/koji/taskinfo?taskID=1452370&quot;&gt;koji&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;New features and fixes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preview option fixed in the KDE based frontend, old menu based options removed&lt;/li&gt;
&lt;li&gt;Editing option for the last 10 blog posts. Users please tell me if you need to get more&lt;/li&gt;
&lt;li&gt;Insert Link error in the gnome frontend is fixed&lt;/li&gt;
&lt;li&gt;Add categories is also working under gnome frontend (forgot to write code in the last release)&lt;/li&gt;
&lt;li&gt;&amp;#8220;Save Draft&amp;#8221; option on the gnome frontend is also working (Again forgot to write the code)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to go back from the &amp;#8220;Old Posts&amp;#8221; list in the gnome frontend , just select anything the list and press &amp;#8220;Escape&amp;#8221;, in KDE one, there is a button on top to handle this. &lt;/p&gt;
&lt;p&gt;To edit the entries you have to double click on the post title.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/kushaldas/3684397782/&quot; title=&quot;lekhonee-kde by Kushal Das, on Flickr&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3653/3684397782_0cae11496c.jpg&quot; width=&quot;500&quot; height=&quot;259&quot; alt=&quot;lekhonee-kde&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The post is brought to you by &lt;a href=&quot;http://fedorahosted.org/lekhonee&quot;&gt;lekhonee&lt;/a&gt; v0.6&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 11:05:46 +0000</pubDate>
</item>
<item>
	<title>SuSE: James Ogley: M3U support in the Cowon S9</title>
	<guid>http://jamesthevicar.com/blog/?post=20090703_m3u_cowon_s9</guid>
	<link>http://jamesthevicar.com/blog/?post=20090703_m3u_cowon_s9</link>
	<description>&lt;a href=&quot;http://jamesthevicar.com&quot;&gt;&lt;img align=&quot;right&quot; border=&quot;0&quot; src=&quot;http://planet.opensu.se/james12.png&quot; alt=&quot;James Ogley&quot; /&gt;&lt;/a&gt;I've been having a long discussion with &lt;a href=&quot;http://www.cowonglobal.com&quot;&gt;Cowon&lt;/a&gt; about the M3U support they've added to the S9.  Here's the content of it so far.  My comments are in normal text, theirs in &lt;i&gt;italics&lt;/i&gt;:
&lt;p&gt;
Great news to see M3U support added in firmware 2.31b.  Naturally I upgraded having requested this feature when I bought the wonderful S9.
&lt;p&gt;
The problem is that the S9 doesn't seem to be able to read the M3U files.  They are shown under Playlists in the browser but when I select one, it just says &quot;No File&quot;.
&lt;p&gt;
They are extended M3U as the firmware information says they ought to be and they look correct to me.
&lt;p&gt;
I'm attaching an M3U taken from the S9.
&lt;p&gt;
Hope this helps.
&lt;hr /&gt;
&lt;i&gt;
Please remind that M3U is just a text file. You have to have music files in your device as same name you put on the M3U list.
&lt;/i&gt;
&lt;hr /&gt;
I was advised that the music files need to exist as well as the M3U.  I know this and I can confirm that all the files referenced in the M3U file do exist in the place stated.
&lt;hr /&gt;
&lt;i&gt;
Please make m3u files as below.&lt;br /&gt;
1&gt; Copy music files, which you wish put in the list, into the music folder in COWON S9.&lt;br /&gt;
2&gt; Start winamp and drag files that you want to put into m3u files from COWON S9.&lt;br /&gt;
3&gt; Save playlist as m3u.&lt;br /&gt;
4&gt; Copy m3u files in the root folder of COWON S9.
&lt;p&gt;
When you open m3u files with notepad. It should look like below.
&lt;p&gt;
&lt;pre&gt;
#EXTM3U
#EXTINF:224,Mario Vazquez - 4 The 1
F:\Music\RnB\2000s\4 The 1 - Mario Vazquez.mp3
#EXTINF:232,Kylie Minogue ft. Mims - All I See
F:\Music\RnB\2000s\All I See - Kylie Minogue Ft. Mims.mp3
#EXTINF:184,Kylie Minogue - All I See
F:\Music\RnB\2000s\All I See - Kylie Minogue.mp3
&lt;/pre&gt;
&lt;/p&gt;&lt;/p&gt;&lt;/i&gt;
&lt;hr /&gt;
I can't use winamp - I'm using Linux and the M3U files are generated by Banshee when I synchronise my music library with the S9.
&lt;p&gt;
Are you saying any of the following (based on the differences between what you pasted in and what I have):
&lt;p&gt;
1) The S9 will only support M3U files for MP3 tracks, not Ogg?&lt;br /&gt;
2) The S9 requires the paths referenced in the M3U to include a dummy Windows drive letter at the front?&lt;br /&gt;
3) The S9 requires the paths to be \ delimited (Windows style) and that / (Linux) won't work?
&lt;p&gt;
I'm pretty sure it's not 3 as I replaced all instances of / with \ in an M3U and the S9 still behaved the same way.
&lt;p&gt;
Any of these would represent major breakage really - surely the S9 can understand paths that are relative to itself and there ought to be no problem with either using / or using Ogg files.
&lt;hr /&gt;
&lt;i&gt;
1) COWON S9 support m3u files for any music format that COWON S9 supports.&lt;br /&gt;
2) It is not a dummy Windows drive. It is the drive of COWON S9. The path has to be same as the music located in COWON S9.&lt;br /&gt;
3) It has to be \.
&lt;p&gt;
ex&gt;
&lt;pre&gt;
#EXTM3U
#EXTINF:294,Motherless Children
E:\Music\01-Motherless Children.Flac
#EXTINF:247,Better Make It Through Today
E:\Music\02-Better Make It Through Today.Flac
&lt;/pre&gt;
&lt;p&gt;
As you see above. The music files are located in the music folder of COWON S9. If the path is correct then it will work. 
&lt;/p&gt;&lt;/p&gt;&lt;/i&gt;
&lt;hr /&gt;
1) Excellent :)
&lt;p&gt;
2) But surely the software just skips over it as it could be different on any occasion.
&lt;p&gt;
Windows has its main HDD as C: and lets say a DVD drive at D:.  Attaching the S9 will mount it as E:.  But the next time you attach it, if there's already a USB drive attached, the S9 will mount as F:.
&lt;p&gt;
So, surely it would be trivial to be able to be able to cope with paths that don't begin with a drive letter - adding support for the two major OSs (Linux/MacOS) that you support that don't use that style of drive nomenclature.
&lt;p&gt;
3) A similar point to 2) really here.  Allowing the lines to be parsed by / as well as \ would open up support for non-Windows OSs.
&lt;p&gt;
When reading the line in, all that would be needed would be something like (in pseudo perl code:)
&lt;p&gt;
&lt;pre&gt;
if ($line =~ m/^\//) {  # Check if the line begins with just a /
                        # indicating a UNIX OS being used (escaping of course)
  $line =~ s/\//\\/g;   # Replace / with \ with appropriate escaping of characters
}
&lt;/pre&gt;
&lt;p&gt;
This avoids - of course - a situation where a Windows user has a file with '/' in the filename that gets renamed incorrectly.
&lt;p&gt;
These trivial changes would mean that the M3U support would mean that the only functionality not available to Linux/MacOS users through mass storage would be album art (not a huge loss) and I could get the S9 supported in HAL for Linux (not sure how it works with MacOS I'm afraid) so that music players would be able to automatically sync with it - and write playlists.
&lt;p&gt;
It would also mean that those of us with a voice in the Open Source community could trumpet the S9 as the music player of choice - its quality already invites that and these relatively trivial fixes would seal it.
&lt;p&gt;
Please understand too that I'm genuinely trying to help - not just to be awkward, I love the S9 and I think more people should use it and those with whom I have influence are generally Open Source users.
&lt;hr /&gt;
Still awaiting a response to the last one (posted this morning), their responses normally come overnight so tomorrow hopefully.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 10:56:06 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Benjamin Muskalla: Eclipse Galileo and the Rich Ajax Platform (RAP)</title>
	<guid>http://eclipsesource.com/blogs/?p=2092</guid>
	<link>http://eclipsesource.com/blogs/2009/07/03/galileo-and-the-rap-runtime/</link>
	<description>&lt;p&gt;As Galileo is out in the wild and we are all already working on Helios… I thought it would be handy to give a quick overview of the &lt;a href=&quot;http://eclipse.org/rap/noteworthy/news_12.php&quot;&gt;New and Noteworthy&lt;/a&gt; features the RAP team worked on for Galileo. Besides many, many bug fixes… we still found time to provide several new features. On top of the new features, we focused on making single sourcing even easier to do.&lt;/p&gt;
&lt;h4&gt;New Look and Feel&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/06/rap_addressbook_business.png&quot;&gt;&lt;img src=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/06/rap_addressbook_business-300x258.png&quot; title=&quot;rap_addressbook_business&quot; height=&quot;258&quot; width=&quot;300&quot; alt=&quot;rap_addressbook_business&quot; class=&quot;alignnone size-medium wp-image-1686&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is one of the biggest features of RAP released as part of the train. As &lt;a href=&quot;http://eclipsesource.com/blogs/2009/06/17/eclipse-galileo-feature-top-10-list-number-8/&quot;&gt;Ian&lt;/a&gt; already pointed out correctly:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;span style=&quot;font-family: arial, helvetica, sans-serif; line-height: normal; font-size: 12px;&quot;&gt;One of the common complaints about RAP was that it doesn’t look like a &lt;strong&gt;web application&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;While this was true in the past, we worked really hard to provide the community a clean and easy way &lt;a href=&quot;http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.rap.help/help/html/advanced/look-and-feel.html&quot;&gt;how to&lt;/a&gt; customize the whole workbench styling.&lt;/p&gt;
&lt;h4&gt;Cell Editors&lt;/h4&gt;
&lt;p&gt;It’s finally done – RAP supports cell editors in the Table. As this was a really long-standing issue we’re more than happy to have it in 1.2.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/celleditors.png&quot;&gt;&lt;img src=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/celleditors-300x199.png&quot; title=&quot;Celleditors in RAP&quot; height=&quot;199&quot; width=&quot;300&quot; alt=&quot;Celleditors in RAP&quot; class=&quot;alignnone size-medium wp-image-2114&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ed, now it’s time to give the whole “&lt;a href=&quot;http://ed-merks.blogspot.com/2008/01/emf-and-rap-go-great-together-too.html&quot;&gt;generated EMF editor on RAP&lt;/a&gt;” idea a new spin! For anybody interested in this story, please CC yourself on &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=213988&quot;&gt;this bug&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Performance &amp;amp; Memory&lt;/h4&gt;
&lt;p&gt;The RAP team really had a great time for this release – we just sat there and waited for the browsers to become even faster…as this was a really silly task we decided to do something:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Improvement of Session Startup Performance&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First the creating of the startup page is less CPU intensive. Second the javascript library content is not embedded in the startup page anymore and will be delivered separately. As the library content doesn’t change after server start it can be zipped once and buffered. This reduces CPU usage significantly. The library is stored in the browser’s cache and need not to be reloaded on subsequent application visits.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Client-side memory improvements&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Included is also a new version of the Javascript library &lt;a style=&quot;font-size: inherit; text-align: left; font-weight: bold; text-decoration: none; padding: 0px; margin: 0px;&quot; href=&quot;http://qooxdoo.org&quot;&gt;qooxdoo&lt;/a&gt;. Thanks to the great support by the RAP community, most notably from Stefan Hansel who tracked down a number of significant memory leaks in qooxdoo and provided patches to the qooxdoo developers, this version now brings a major improvement in client memory consumption. With this qooxdoo version, the long-standing memory leakage problems of RAP especially in Internet Explorer are resolved. &lt;span style=&quot;line-height: 16px; font-size: 12px;&quot;&gt;Thanks to everyone who helped making this possible!&lt;/span&gt;&lt;/p&gt;
&lt;h4&gt;New API &amp;amp; Widgets&lt;/h4&gt;
&lt;p&gt;With the idea of &lt;a href=&quot;http://eclipse.org/rap/introduction.php&quot;&gt;single sourcing&lt;/a&gt; in mind we concentrated on adding new API to allow even more reuse of existing SWT/RCP code. Besides many small things like Display#timerExec() we also tried to complete the set of widgets. With 8 (yes, eight) new widgets in this release, these two are my personal favorites and often requested by the community.&lt;/p&gt;
&lt;h4&gt;DateTime&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/RAPDateTime.png&quot;&gt;&lt;img src=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/RAPDateTime.png&quot; title=&quot;RAPDateTime&quot; height=&quot;210&quot; width=&quot;212&quot; alt=&quot;RAPDateTime&quot; class=&quot;size-full wp-image-2127 alignnone&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;FormText (Forms)&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/RAPFormText.png&quot;&gt;&lt;img src=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/RAPFormText-300x148.png&quot; title=&quot;RAPFormText&quot; height=&quot;148&quot; width=&quot;300&quot; alt=&quot;RAPFormText&quot; class=&quot;alignnone size-medium wp-image-2133&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4 style=&quot;font-size: 1.17em;&quot;&gt;Cursor Support&lt;/h4&gt;
&lt;p&gt;&lt;a href=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/RAPCustomCursor.png&quot;&gt;&lt;img src=&quot;http://eclipsesource.com/blogs/wp-content/uploads/2009/07/RAPCustomCursor.png&quot; title=&quot;RAPCustomCursor&quot; height=&quot;40&quot; width=&quot;220&quot; alt=&quot;RAPCustomCursor&quot; class=&quot;alignnone size-full wp-image-2134&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Summary&lt;/h4&gt;
&lt;p&gt;In case you’re not yet sure how “single sourcing” works – Ralf and Rüdiger would be happy to explain it to you step-by-step in their upcoming &lt;a href=&quot;http://live.eclipse.org/node/718&quot;&gt;webinar&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In summary, we’re quite happy with the current 1.2 release but are already looking forward to the Helios release train.&lt;/p&gt;
&lt;p&gt;If you have anything you want to see in 1.3, don’t hesitate and drop us a &lt;a href=&quot;http://eclipse.org/rap/support.php&quot;&gt;note&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 10:54:00 +0000</pubDate>
</item>
<item>
	<title>KDE: Gilles Caulier: Kipi-plugins 0.4.0 for KDE4 released</title>
	<guid>http://www.digikam.org/463 at http://www.digikam.org/drupal</guid>
	<link>http://www.digikam.org/drupal/node/463</link>
	<description>&lt;p&gt;Dear all digiKam fans and users!&lt;/p&gt;

&lt;p&gt;Kipi-plugins 0.4.0 maintenance release for KDE4 is out.&lt;/p&gt;

&lt;a href=&quot;http://www.flickr.com/photos/dig&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/digikam/3684299388/&quot; title=&quot;kipi-plugins0.4.0 by cauliergilles, on Flickr&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2587/3684299388_28a9c58e66.jpg&quot; width=&quot;500&quot; height=&quot;400&quot; alt=&quot;kipi-plugins0.4.0&quot; /&gt;&lt;/a&gt;

&lt;p&gt;kipi-plugins 0.4.0 tarball can be downloaded from SourceForge &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=149779&amp;amp;package_id=165761&quot;&gt;at this url&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kipi-plugins will be also available for Windows. Precompiled packages can be donwloaded with KDE-Windows installer. See &lt;a href=&quot;http://windows.kde.org&quot;&gt;KDE-Windows project&lt;/a&gt; for details.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.digikam.org/drupal/node/463&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;</description>
	<pubDate>Fri, 03 Jul 2009 10:49:48 +0000</pubDate>
</item>
<item>
	<title>Python: Tennessee Leeuwenburg: HELP: How do you do Test Driven Design and Prototyping?</title>
	<guid>http://myownhat.blogspot.com/2009/07/help-how-do-you-do-test-driven-design.html</guid>
	<link>http://myownhat.blogspot.com/2009/07/help-how-do-you-do-test-driven-design.html</link>
	<pubDate>Fri, 03 Jul 2009 10:42:56 +0000</pubDate>
</item>
<item>
	<title>OpenJDK: Roman Kennke: Back in Ubuntu land</title>
	<guid>http://kennke.org/blog/?p=237</guid>
	<link>http://kennke.org/blog/2009/07/03/back-in-ubuntu-land/</link>
	<description>After some weeks of having to deal with Windows, I finally upgraded my laptop to Ubuntu. What a relief! Here’s a (not so) short list of immediate advantages that I missed badly on Windows:

Virtual desktops. Really, can’t live without this. Desktop becomes utterly cluttered when more than 3 windows are open. And I usually have [...]</description>
	<pubDate>Fri, 03 Jul 2009 10:13:28 +0000</pubDate>
</item>
<item>
	<title>KDE: Alessandro Sivieri (Siv): SVN vs. GIT: well, maybe…</title>
	<guid>http://www.chimera-bellerofonte.eu/?p=588</guid>
	<link>http://www.chimera-bellerofonte.eu/2009/07/svn-vs-git-well-maybe/</link>
	<description>&lt;p&gt;&lt;em&gt;Disclaimer: as said below, I never used GIT for development, so the characteristics that I attribute to it are based on what I have heard about it from other developers&amp;#8230;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I personally have been and still am a supporter of SVN, and of the fact that (as some friends noticed) it&amp;#8217;s not so cool having to download, with GIT, the whole project history just for trying some new features in trunk/ (but maybe there is an option to avoid it, I don&amp;#8217;t remember exactly&amp;#8230;); as of today, I have only used SVN for my projects (GIT and CVS only for downloading some bleeding edge software), and I also have a local repository with that VCS.&lt;/p&gt;
&lt;p&gt;But, in the last weekend I started to rethink this fact: developing my GSoC project, I often had the necessity to create a local branch on the fly, sometimes because, in the middle of the development of a new feature, I or someone else found some serious bug, which should be solved asap and its new code uploaded in the remote repository, sometimes because there were more than one way for solving some problems, and it would be nice to try them in parallel, sometimes because you just want to revert only a part of the last modifications, but the revert option erases everything&amp;#8230;&lt;/p&gt;
&lt;p&gt;I admit that having a good IDE, with a good history of last modifications, may help in this way (and Eclipse, my usual IDE, does help), but it looks like that, in the end, a distributed VCS does make the difference, so I may start to try GIT for real, and then I&amp;#8217;ll tell you if it is worth develop with it&amp;#8230;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:50:08 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: Magnus Therning: Making a choice from a list in Haskell, Vty (part 1)</title>
	<guid>http://therning.org/magnus/?p=685</guid>
	<link>http://therning.org/magnus/archives/685</link>
	<description>&lt;p&gt;After posting the &lt;a href=&quot;http://therning.org/magnus/archives/664&quot;&gt;zeroth part&lt;/a&gt; of this series I realised I hadn&amp;#8217;t said
anything about the final goal of this exercise.  The first post contained code
for choosing one one-line string (&lt;code&gt;String&lt;/code&gt;) out of a list of one-line strings
(&lt;code&gt;[String]&lt;/code&gt;).  What I really want is the ability to choose one item out of a
list of items, where each may render to be multiple lines.  It would also be
really cool if an item could be collapsed and expanded in the rendering.
This is the first step in my journey towards these loosely specified
requriements.&lt;/p&gt;

&lt;p&gt;Rendering items into strings sounds like pretty-printing to me, so I played
around a little with a few pretty-printing libraries.  Finally I settled on
the &lt;a href=&quot;http://hackage.haskell.org/package/wl-pprint&quot;&gt;Wadler/Leijen Pretty Printer&lt;/a&gt; (&lt;code&gt;Text.PrettyPrint.Leijen&lt;/code&gt;).  I didn&amp;#8217;t
really have any strong reason for choosing it, beyond that it comes with its
own type class whereas the pretty-printing library that ships with GHC
(&lt;code&gt;Text.PrettyPrint.HughesPJ&lt;/code&gt;) doesn&amp;#8217;t (though there is a &lt;a href=&quot;http://hackage.haskell.org/package/prettyclass&quot;&gt;package on
HackageDB&lt;/a&gt; with a class for it).&lt;/p&gt;

&lt;p&gt;I did the smallest change I could think of to add pretty-printing.  First the
module needs to be imported of course:&lt;/p&gt;


&lt;pre class=&quot;haskell&quot;&gt;&lt;span&gt;import&lt;/span&gt; Text&lt;span&gt;.&lt;/span&gt;PrettyPrint&lt;span&gt;.&lt;/span&gt;Leijen&lt;/pre&gt;


&lt;p&gt;Then I added a function to turn a list of items into a document (&lt;code&gt;Doc&lt;/code&gt;) where
each item is pretty-printed on its own line:&lt;/p&gt;


&lt;pre class=&quot;haskell&quot;&gt;myPrettyList &lt;span&gt;::&lt;/span&gt; Pretty a &lt;span&gt;=&amp;gt;&lt;/span&gt; &lt;span&gt;&amp;#91;&lt;/span&gt;a&lt;span&gt;&amp;#93;&lt;/span&gt; &lt;span&gt;-&amp;gt;&lt;/span&gt; Doc
myPrettyList &lt;span&gt;=&lt;/span&gt; vcat &lt;span&gt;.&lt;/span&gt; &lt;span&gt;map&lt;/span&gt; pretty&lt;/pre&gt;


&lt;p&gt;I then decided that &lt;code&gt;_getChoice&lt;/code&gt; should be left unchanged and instead modified
&lt;code&gt;getChoice&lt;/code&gt; to turn the list of items into a list of strings:&lt;/p&gt;


&lt;pre class=&quot;haskell&quot;&gt;getChoice vt opts &lt;span&gt;=&lt;/span&gt; &lt;span&gt;let&lt;/span&gt;
        &lt;span&gt;_&lt;/span&gt;converted&lt;span&gt;_&lt;/span&gt;opts &lt;span&gt;=&lt;/span&gt; myPrettyList opts
    &lt;span&gt;in&lt;/span&gt; &lt;span&gt;do&lt;/span&gt;
        &lt;span&gt;&amp;#40;&lt;/span&gt;sx&lt;span&gt;,&lt;/span&gt; sy&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;lt;-&lt;/span&gt; getSize vt
        &lt;span&gt;_&lt;/span&gt;getChoice vt &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;lines&lt;/span&gt; &lt;span&gt;$&lt;/span&gt; &lt;span&gt;show&lt;/span&gt; &lt;span&gt;_&lt;/span&gt;converted&lt;span&gt;_&lt;/span&gt;opts&lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;0&lt;/span&gt; sx sy&lt;/pre&gt;


&lt;p&gt;That&amp;#8217;s it.  The first step, albeit a small one.&lt;/p&gt;
&lt;a name=&quot;bookmarkify&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://digg.com/submit?phase=2&amp;amp;url=http://therning.org/magnus/archives/685&amp;amp;title=Making a choice from a list in Haskell, Vty (part 1)&quot; title=&quot;Digg It!&quot;&gt;&lt;img src=&quot;http://therning.org/magnus/wp-content/plugins/bookmarkify/digg.png&quot; alt=&quot;[Digg] &quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://reddit.com/submit?url=http://therning.org/magnus/archives/685&amp;amp;title=Making a choice from a list in Haskell, Vty (part 1)&quot; title=&quot;Reddit&quot;&gt;&lt;img src=&quot;http://therning.org/magnus/wp-content/plugins/bookmarkify/reddit.png&quot; alt=&quot;[Reddit] &quot; /&gt;&lt;/a&gt;  &lt;a title=&quot;See more bookmark and sharing options...&quot; href=&quot;http://therning.org/magnus/archives/685#bookmarkify&quot; rel=&quot;nofollow&quot;&gt;&lt;small&gt;More&amp;nbsp;&amp;raquo;&lt;/small&gt;&lt;/a&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:46:07 +0000</pubDate>
</item>
<item>
	<title>GNOME: Behdad Esfahbod: GUADEC: Where are you staying?</title>
	<guid>tag:blogger.com,1999:blog-5400308.post-2550429987729648988</guid>
	<link>http://mces.blogspot.com/2009/07/guadec-where-are-you-staying.html</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/behdad.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; Fill it in: &lt;a href=&quot;http://live.gnome.org/GUADEC/2009/Rooms&quot;&gt;l.g.o/GUADEC/2009/Rooms&lt;/a&gt;.&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/5400308-2550429987729648988?l=mces.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:44:00 +0000</pubDate>
</item>
<item>
	<title>OpenJDK: Christian Thalinger: Turning off format=flowed in Thunderbird</title>
	<guid>http://blogs.sun.com/twisti/entry/turn_off_format_flowed_in</guid>
	<link>http://blogs.sun.com/twisti/entry/turn_off_format_flowed_in</link>
	<description>&lt;p&gt;I just noticed that I'm sending emails with format=flowed in Thunderbird, which is not intentional.  A quick search revealed that both sending and displaying emails in flowed format can be turned off.  Just change the following preferences to:&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:38:16 +0000</pubDate>
</item>
<item>
	<title>KDE: Adriaan de Groot (adridg): Canary tweets</title>
	<guid>http://blogs.fsfe.org/adridg/?p=165</guid>
	<link>http://blogs.fsfe.org/adridg/?p=165</link>
	<description>&lt;p&gt;Claudia tells me I should use microblogging. I don&amp;#8217;t know. Maybe I can write 140-character paragraphs instead. Is that ok?&lt;br /&gt;
The Canary islands are beautiful and rugged. I will leave it to Jos to wax lyrical about them. I have been hiding out in the ops room, compiling.&lt;br /&gt;
There will be Solaris Nevada b.115 packages for KDE4 out in a few hours. Then I can demonstrate the same on Sun Ray &amp;#8212; and how ugly it is.&lt;br /&gt;
No one has exploded from stress *yet*. But then, the first real event of the day is about 25 minutes away.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:36:32 +0000</pubDate>
</item>
<item>
	<title>SuSE: openSUSE Spotlight: openSUSE Board Meeting Minutes, June 3 2009</title>
	<guid>http://zonker.opensuse.org/?p=404</guid>
	<link>http://zonker.opensuse.org/2009/07/03/opensuse-board-meeting-minutes-june-3-2009/</link>
	<description>&lt;p&gt;Please see below the Meeting Minutes of the openSUSE Board. We welcome any feedback and recommend to use the opensuse-project mailing list so more people can participate. As always the openSUSE Board is reachable through board@openSUSE.org&lt;/p&gt;
&lt;p&gt;June 3, 7-9:15pm UTC&lt;br /&gt;
Participants:&lt;br /&gt;
Stephen Shaw, (decriptor)&lt;br /&gt;
Federico Mena Quintero, (federico1)&lt;br /&gt;
Hendrik Vogelsang, (henne)&lt;br /&gt;
Michael Löffler, (michl)&lt;br /&gt;
Bryen Yunashko, (suseROCKs)&lt;br /&gt;
Pascal Bleser, (yaloki)&lt;br /&gt;
Joe Brockmeier, (zonker)&lt;/p&gt;
&lt;p&gt;List of topics:&lt;br /&gt;
* Ambassador program&lt;br /&gt;
&lt;a href=&quot;http://news.opensuse.org/2009/05/27/announcing-the-opensuse-ambassadors-program/&quot;&gt;Announced&lt;/a&gt; and already pretty many people signed in for it. &lt;/p&gt;
&lt;p&gt;* Foundation&lt;br /&gt;
Zonker and michl will meeting with a Novell expert on such stuff on Monday June 9 to evaluate which possibilities we have and which way openSUSE should take. &lt;/p&gt;
&lt;p&gt; * Membership requests&lt;br /&gt;
We are too lame, 15 requests out of the last round are waiting for more than 4 weeks for final approval now. Just another 70 requests were imported into the tool today.&lt;/p&gt;
&lt;p&gt; * open openSUSE Factory for contribution&lt;br /&gt;
Henne drove this project inside Novell for a while now and we had at the Board several discussions around it. Meanwhile it is &lt;a href=&quot;http://lists.opensuse.org/opensuse-factory/2009-06/msg00036.html&quot;&gt;announced&lt;/a&gt; and is an important step to bring the whole project ahead. &lt;/p&gt;
&lt;p&gt;* openSUSE Board presence at the openSUSE conference&lt;br /&gt;
There need to be a strong Board presence but in a very interactive way so no big presentation but rather round table conversations about the status of the project and its future.&lt;/p&gt;
&lt;p&gt;* read and write access to news.openSUSE.org?&lt;br /&gt;
The Board suggest to extend the group of people with read and write access for news.opensuse.org. Anyone interested please send a mail to board@opensuse.org and as for write access or even suggest another person to get it.  Approval body will be the openSUSE Board.&lt;/p&gt;
&lt;p&gt;* Federico resigned due to work over load, Stephen Shaw (decriptor) is the uprunner and &lt;a href=&quot;http://zonker.opensuse.org/2009/06/11/stephen-shawn-has-been-appointed-as-opensuse-board-member/&quot;&gt;takes over his seat&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:30:40 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Robert O'Callahan: Faces Of The Web Video Revolution</title>
	<guid>http://weblogs.mozillazine.org/roc/archives/2009/07/faces_of_the_we.html</guid>
	<link>http://weblogs.mozillazine.org/roc/archives/2009/07/faces_of_the_we.html</link>
	<description>&lt;p&gt;There's a lot of press these days about the HTML5 &amp;lt;video&amp;gt; tag and the struggle for universal unencumbered video and audio codecs --- much of it associated with the Firefox 3.5 launch. I wonder how many people know that the Firefox video implementation is almost entirely due to just a few people in the Mozilla office in Newmarket --- Chris Double, Matthew Gregan, Chris Pearce, and to a lesser extent, me. (Justin Dolske did the controls UI, but I'm not sure where he lives!) I'm proud that we managed to get considerably more done for the 3.5 release than I expected.
&lt;/p&gt;&lt;p&gt;It's a great privilege to have the opportunity to really shake up the world for the better, with a very small team, in a relatively small amount of time, and do it right here in Auckland. I'm very thankful.&lt;/p&gt;
&lt;img src=&quot;http://weblogs.mozillazine.org/roc/images/VideoCrew.jpg&quot; alt=&quot;Chris Pearce, Chris Double and Matthew Gregan&quot; height=&quot;600&quot; width=&quot;800&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:21:01 +0000</pubDate>
</item>
<item>
	<title>RepRap: No-lathe extruder interior</title>
	<guid>tag:blogger.com,1999:blog-12223283.post-8057843493645453919</guid>
	<link>http://blog.reprap.org/2009/07/no-lathe-extruder-interior.html</link>
	<description>&lt;a href=&quot;http://4.bp.blogspot.com/_w0pYYVNavoE/Sk05SqiC6HI/AAAAAAAAAzk/w1pGn9J1flg/s1600-h/dsc04782.jpg&quot;&gt;&lt;img style=&quot;float: right; margin: 0 0 10px 10px; cursor: pointer; cursor: hand; width: 320px; height: 240px;&quot; src=&quot;http://4.bp.blogspot.com/_w0pYYVNavoE/Sk05SqiC6HI/AAAAAAAAAzk/w1pGn9J1flg/s320/dsc04782.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5353998524830902386&quot; /&gt;&lt;/a&gt;Some were a little puzzled as to how the interior of the no-lathe extruder works. As I'm putting a few together, I took a photo showing how it combines the ideas of a simple locknut thrust bearing and a chopped-up drilled nut being used as the bearing behind the filament contact point. Files now online at &lt;a href=&quot;http://www.thingiverse.com/thing:765&quot;&gt;http://www.thingiverse.com/thing:765&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Vik :v)&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/12223283-8057843493645453919?l=blog.reprap.org&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 10:16:42 +0000</pubDate>
</item>
<item>
	<title>KDE: Daniel Molkentin (danimo): Gran Canaria, here I come!</title>
	<guid>http://daniel.molkentin.de/blog/archives/140-guid.html</guid>
	<link>http://daniel.molkentin.de/blog/archives/140-Gran-Canaria,-here-I-come!.html</link>
	<description>Wow! The last few days have been eventful. Only four Days after &lt;a href=&quot;http://www.linuxtag.org/2009&quot;&gt;LinuxTag&lt;/a&gt; and the &lt;a href=&quot;http://blog.cornelius-schumacher.de/2009/06/kde-wiki-meeting-report.html&quot;&gt;KDE Wiki Meeting&lt;/a&gt; I am sitting in the check-in area of the Berlin-Tegel Airport heading for Madrid. If everything works out as expected, I will then transfer to a flight to Las Palmas. I swore myself not to blog before I have checked in successfully, so the time for this entry is now, and to make it even more obvious:&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://daniel.molkentin.de/images/going_gcds.png&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
The weather is awesome in Berlin already so I am looking forward how Gran Canaria will beat this (probably less thunderstorms in the evening, although they are really refreshing).&lt;br /&gt;
&lt;br /&gt;
At &lt;a href=&quot;http://www.grancanariadesktopsummit.org&quot;&gt;GDCS&lt;/a&gt;, I will &lt;a href=&quot;http://www.grancanariadesktopsummit.org/node/127&quot;&gt;present Qt Creator&lt;/a&gt;, the scalable C++ IDE from Qt Software (I even brought the &lt;a href=&quot;http://3.bp.blogspot.com/_Oijhf1ZPv-4/Sk05xtCB3RI/AAAAAAAABIQ/ukcChqZQ55E/s1600-h/booth.jpg&quot;&gt;leaflets&lt;/a&gt; I printed LinuxTag, my bag I short of over baggage). I am looking forward to meet everyone again tonight at the welcome party!&lt;br /&gt;
&lt;br /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:16:31 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Martin Pitt: gvfs: Buh-bye, hal!</title>
	<guid>http://martinpitt.wordpress.com/?p=91</guid>
	<link>http://martinpitt.wordpress.com/2009/07/03/gvfs-buh-bye-hal/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/pitti.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;p&gt;In the merciless vendetta for purging hal we now reached another major milestone: gvfs, GNOME&amp;#8217;s file system layer which handles USB storage as well as virtual file systems for libgphoto2 cameras, Bluetooth devices, audio CDs, or ftp/sftp/cifs mounts, is now fully ported to  libgudev and doesn&amp;#8217;t need hal at all any more. These long nights of porting weren&amp;#8217;t in vain, after all \o/.&lt;/p&gt;
&lt;p&gt;Now I just need to hassle David Zeuthen to apply the patches soon. Of course I couldn&amp;#8217;t wait and already uploaded them to Karmic, so please test the hell out of it and let me know about problems.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://wiki.ubuntu.com/Halsectomy&quot;&gt;https://wiki.ubuntu.com/Halsectomy&lt;/a&gt; is a little greener once again. &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/martinpitt.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/martinpitt.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/martinpitt.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/martinpitt.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/martinpitt.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/martinpitt.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/martinpitt.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/martinpitt.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/martinpitt.wordpress.com/91/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/martinpitt.wordpress.com/91/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=martinpitt.wordpress.com&amp;amp;blog=3360208&amp;amp;post=91&amp;amp;subd=martinpitt&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:10:33 +0000</pubDate>
</item>
<item>
	<title>GNOME: Claudio Saavedra: Fri 2009/Jul/03</title>
	<guid>http://www.gnome.org/~csaavedra/news-2009-07.html#D03</guid>
	<link>http://www.gnome.org/~csaavedra/news-2009-07.html#D03</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/claudio.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; &lt;ul&gt;
	  &lt;li&gt;
	    &lt;p&gt;
		As all the other cool kids in town, I'm flying to &lt;a href=&quot;http://en.wikipedia.org/wiki/Las_Palmas_de_Gran_Canaria&quot;&gt;Las
		Palmas de Gran Canaria&lt;/a&gt;, to attend the &lt;a href=&quot;http://www.grancanariadesktopsummit.org/&quot;&gt;Gran
		Canaria Desktop Summit&lt;/a&gt;. In practical terms, this
		means GUADEC, GUADEC
		Hispana, Akademy, and, eventually, other
		conferences/activities that might be arranged during
		the big event.
	    &lt;/p&gt;

	      &lt;p&gt;
		Partly because of laziness, partly because of having really busy
		weeks lately (both work and life-wise), I won't be presenting
		anything during GUADEC Hispana, although I would have liked to.
		However, Berto and I will be giving a
		&lt;a href=&quot;http://www.grancanariadesktopsummit.org/node/213&quot;&gt;talk&lt;/a&gt;
		on the new &lt;a href=&quot;https://garage.maemo.org/projects/hildon&quot;&gt;Hildon
		toolkit&lt;/a&gt; for Maemo 5, during the &lt;a href=&quot;http://www.grancanariadesktopsummit.org/node/271&quot;&gt;Mobile
		Day&lt;/a&gt;. Besides introducing the new widgets and UI style for
		Fremantle, we will also talk about the difficulties we have
		been facing during this major revamp of the toolkit, which will
		hopefully serve to clarify some of the doubts spread
		around lately.
	      &lt;/p&gt;
	  &lt;/li&gt;
	&lt;/ul&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:07:58 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Greg Wilkins: Roadmap for Jetty-6, Jetty-7 and Jetty-8</title>
	<guid>http://blogs.webtide.com/gregw/entry/jetty_6_jetty_7_and</guid>
	<link>http://blogs.webtide.com/gregw/entry/jetty_6_jetty_7_and</link>
	<description>&lt;p align=&quot;justify&quot;&gt;This blog updates the roadmap for jetty-6, jetty-7 and jetty-8 with the
latest plans resulting from the move to the Eclipse Foundation and the
delay in the servlet-3.0 specification. Previously it was intended that jetty-7 was going to be servlet-3.0, but with the move to eclipse and with the delay of JSR-315, it was decided to delay servlet 3.0 to Jetty-8 later in this year.  Thus the current active branches of jetty are:&lt;/p&gt;&lt;h1 align=&quot;justify&quot;&gt;&lt;a href=&quot;http://jetty.mortbay.org&quot;&gt;Jetty-6 @ codehaus &amp;amp; mortbay&lt;/a&gt;&lt;/h1&gt;&lt;p align=&quot;justify&quot;&gt;The current stable branch is &lt;a href=&quot;https://svn.codehaus.org/jetty/jetty/branches/jetty-6.1&quot;&gt;jetty-6&lt;/a&gt; for servlet-2.5 and java-1.4 (some modules are 1.5).  It is in the &lt;font&gt;org.mortbay.*&lt;/font&gt; package space and is licensed under the apache 2.0 license.   However, it is now mostly in maintenance mode and new features will not be added to jetty-6 unless there is compelling reasons to do so.  It includes support for both HTTP server and client and comes bundled with a cometd server.&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;Jetty-6 is the release for established, production-ready projects. &lt;br /&gt;&lt;/p&gt;&lt;h1 align=&quot;justify&quot;&gt;&lt;a href=&quot;http://eclipse.org/jetty/&quot;&gt; Jetty-7 @ eclipse&lt;/a&gt;&lt;/h1&gt;&lt;p align=&quot;justify&quot;&gt;The current development branch is &lt;a href=&quot;http://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk&quot;&gt;jetty-7&lt;/a&gt; for servlet-2.5 and java-1.5.  It is in the &lt;font&gt;org.eclipse.jetty.*&lt;/font&gt; package space and is licensed under both the apache 2.0 and eclipse 1.0 licenses and may be distributed under the terms of either license.  Jetty-7 represents a moderate refactor of the jetty code base:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Moved to the org.eclipse.jetty packages&lt;/li&gt;&lt;li&gt;Remodularized so that dependencies for client, server and servlet container are more separable&lt;/li&gt;&lt;li&gt;Updated architecture to anticipate the needs of servlet-3.0&lt;/li&gt;&lt;li&gt;Support for some servlet-3.0 features, including&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;asynchronous servlets (updated continuations)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;web-fragment.xml&lt;/li&gt;&lt;li&gt;META-INF/resource static content in jars&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Improved OSGi integration and availability of OSGi bundles as well as maven artefacts &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align=&quot;justify&quot;&gt;The intent of jetty-7 is to allow users to transition to the updated architecture and to access some servlet-3.0 features, within a servlet 2.5 container and without the need to update java 1.6 or to wait for the final specification later this year.  There are milestone builds of jetty-7 available already and we hope to have an official eclipse release in the next month or two.  &lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;The cometd client and server are now in the &lt;a href=&quot;http://cometd.org&quot;&gt;cometd.org&lt;/a&gt; project and are built against jetty-7. Some jetty integrations (eg jetty-maven-plugin, terracotta,
wadi, etc) and distributions (eg. deb, rpm, hightide) will remain at
codehaus and are now built from &lt;a href=&quot;https://svn.codehaus.org/jetty/jetty/trunk&quot;&gt;codehaus trunk&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;Jetty-7 is the release for projects starting development now.&lt;br /&gt;&lt;/p&gt;&lt;h1 align=&quot;justify&quot;&gt;&lt;a href=&quot;http://eclipse.org/jetty/&quot;&gt;Jetty-8 @ eclipse&lt;/a&gt;&lt;/h1&gt;&lt;p align=&quot;justify&quot;&gt;The current experimental branch is jetty-8 for servlet-3.0 and java-1.6. It is in the &lt;font&gt;org.eclipse.jetty.* &lt;/font&gt;package space and  is licensed under both the apache 2.0 and eclipse 1.0 licenses and may be distributed under the terms of either license. Jetty-8 is being kept in lock-step with jetty-7 as much as possible, so that it represents essentially the same server, but rebuilt with java-1.6 and using the standard servlet-3.0 to access the features already available in jetty-7.&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt; Jetty-8 is the branch for people who wish to experiment with the emerging APIs now.&lt;/p&gt;&lt;h1 align=&quot;justify&quot;&gt;&lt;a href=&quot;http://webtide.com&quot;&gt;Webtide @ JavaOne&lt;/a&gt;&lt;br /&gt;&lt;/h1&gt;&lt;p align=&quot;justify&quot;&gt;If you want more information about what exactly are these jetty and servlet-3.0 features, why not come to JavaOne 2009?! &lt;a href=&quot;http://webtide.com&quot;&gt;Webtide&lt;/a&gt; will be have a small booth in the expo (where you will mostly find me) and Sun have invited me to participate in their technical
session on Servlet 3.0 at JavaOne, together with Rajiv Mordani and Jan
Leuhe.  I'll be presenting a section on the Asynchronous Servlets API
and giving a demonstration that uses some ease-of-deployment features
to deploy a webapp on glassfish using the Jetty asynchronous HTTP
client  in a 3.0 asynchronous servlet. The session is &lt;img width=&quot;2&quot; src=&quot;http://www28.cplan.com/cc230/images/hp_spacer.gif&quot; height=&quot;1&quot; /&gt;&lt;a href=&quot;http://www28.cplan.com/cc230/session_details.jsp?isid=303790&amp;amp;ilocation_id=230-1&amp;amp;ilanguage=english&quot;&gt;TS-3790&lt;/a&gt;  &quot;&lt;img width=&quot;2&quot; src=&quot;http://www28.cplan.com/cc230/images/hp_spacer.gif&quot; height=&quot;1&quot; /&gt;Java™
Servlet 3.0: Empowering Your Web Applications With Async, Extensibility
and More&quot; and is scheduled for Tuesday June 02 12:10 PM - 1:10 PM in
E134&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:05:04 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Greg Wilkins: Google Wave - A new paradigm?</title>
	<guid>http://blogs.webtide.com/gregw/entry/google_wave_a_new_paradigm</guid>
	<link>http://blogs.webtide.com/gregw/entry/google_wave_a_new_paradigm</link>
	<description>&lt;p align=&quot;justify&quot;&gt;The announcement of &lt;a href=&quot;http://wave.google.com&quot;&gt;Google Wave&lt;/a&gt; is a bold declaration of where Google sees the future of the web. Google, unsurprisingly enough, sees the future of the web as a server side paradigm, with dynamic updates being used to drive the thin client model to capture even more of tasks that where once done client side.  Google are extending the server side model of webmail to apply to applications that have been fundamentally client side, such as document authoring, IM and chat.&lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;Some have said that Wave's use of &lt;a href=&quot;http://www.elasticvapor.com/2009/05/http-is-dead-long-live-realtime-cloud.html&quot;&gt;XMPP represents the death of HTTP&lt;/a&gt;, but I think they've got the wrong end of the banana! Wave is using XMPP to federate servers together, not clients.  When it comes to client/server communications, Wave is using GWT over good old HTTP, with some push extensions so that a client can get a dynamic view onto a Wave document, which is a fundamentally server side entity.  If anything, Wave has declared that HTTP is king and a near immortal one at that.&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;Google's use of XMPP is roughly equivalent to the existing use of SMTP between mail servers. Instead of passing mail documents between servers using a store and forward model, Wave has the servers dynamically collaborating to maintain a live Wave document that contains content, style, history, permissions and private content. The protocols that Wave might put on the endangered species list are SMTP, POP and IMAP (but have any protocols gone extinct? Has a gopher been sighted in the wild recently or only in captivity?).&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;If Wave is successful (and it certainly looks pretty compelling), then more traditionally client side state is going to be captured on the server side.  This is a great model for google, as it lets them use their massive serverside databases to power their serverside robots like spelly and rosey, which access the vast databases of Google to do contextual spell checking and translation. You will never get such robots running client side and it is services like these that makes Google confident that they can offer better wave servers than anybody else - hence they do not fear opening up their Wave servers to competition.   So Googles' webmail competitors had better start thinking of compelling reasons that people will want to host their waves on non-Google servers.&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;Of course for &lt;a href=&quot;http://eclipse.org/jetty/&quot;&gt;Jetty&lt;/a&gt;, Google Wave is just a brilliant story.  To implement a Wave server, you will need a flexible, performant web server that can well support dynamic push content and will affordably scale into your wave clouds (should they be called oceans rather than clouds now?)  Jetty is the ideal Wave server!  In fact because Wave uses GWT, Google AppEngine and links to shindig, it is already based on and/or using the Google services that are based on or use Jetty.  &lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;For our other key project, &lt;a href=&quot;http://cometd.org&quot;&gt;cometd.org&lt;/a&gt;, the picture is a little less clear.  Google Wave does it's own comet implementation based on long polling using GWT RPC. But Wave reinforces that &lt;a href=&quot;http://en.wikipedia.org/wiki/Comet_(programming)&quot;&gt;comet&lt;/a&gt; is now a core web paradigm. Any alternative implementations of Wave that do not use the google GWT code base, would do well to look to cometd.org as a core technology.&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:04:31 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Greg Wilkins: Bidirectional Web Transfer Protocol - BWTP</title>
	<guid>http://blogs.webtide.com/gregw/entry/bidirectional_web_transfer_protocol_bwtp</guid>
	<link>http://blogs.webtide.com/gregw/entry/bidirectional_web_transfer_protocol_bwtp</link>
	<description>&lt;p align=&quot;justify&quot;&gt;I really like the idea behind the &lt;a href=&quot;http://dev.w3.org/html5/websockets/&quot;&gt;HTML5 Websocket API&lt;/a&gt; - namely that a datagram model should be used for web application communication rather than a request/response paradigm (this is also the idea behind cometd).  But unfortunately, the proposed protocol to carry websocket traffic is neither a good protocol nor is it well specified.&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;After failing in an attempt to get the WebSocket protocol improved, I decided to try to define a better solution.  I had intended to work privately on this for a while, but the twittersphere has pointed out an early draft, so I've put the work-in-progress on &lt;a href=&quot;http://bwtp.wikidot.com&quot;&gt;http://bwtp.wikidot.com&lt;/a&gt; and I invite review, feedback and collaborators.&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;So what's so bad about the &lt;a href=&quot;http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-16&quot;&gt;Websocket protocol proposal&lt;/a&gt;? The main things I dislike are that the document is impenetrable, the protocol inflexible and it is entirely different from other IETF application protocols for no good reason. But rather than throw (more)mud, I'd rather sing the praises of the approach that I have taken:&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The BTWP protocol is very much an IETF style application protocol.  In fact it is just RFC2616 with anything non bidirectional ripped out. It is not trying to be a revolution in web protocols, but simply to solve the problems at hand, without discarding decades of protocol experience.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The protocol document is written very much in IETF style. In fact it is just RFC2616 with anything non bidirectional ripped out.   BNF is used to specify the protocol and unlike the WebSocket proposal there are no binary blobs or algorithmic specifications.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The principal of &quot;be strict in what you generate and forgiving in what your parse&quot; is adhered to.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Because of it's similarity to HTTP, it is intended that existing HTTP clients, servers and intermediaries will be able to be minimally updated to support this protocol. This will not require entirely new protocol libraries to be developed.  &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Existing development and analysis tools will also be able to be easily updated, plus the protocol is mostly human readable.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It supports full mime encapsulated payloads, so non text payload and/or compressed payloads can be sent without the need for clent and server to make assumptions with regards to content.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;It has a default meta data mechanism, so that it can have detail per message meta data, but not at the expense of the redundent inforamation sent in normal HTTP.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The minimal overhead per message is 11 bytes, which is a little more than the websocket proposal, but is hardly significant.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There is no formal channel mechanism like BEEP has, but each message may be to/from a different URI if need be.  This makes multiplexing easy to support.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;There is no formal segmentation mechanism, but Content-Ranges are supported so that large content can be sent in smaller bits if desired.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The protocol recognizes that intermediaries (proxies) may wish to be an active party on a bi direction connection. For example, this proposal allows an intermediary to initiate and orderly lossless close of the connection. I'm sure innovative proxy applications will be developed over time, just as they have been for HTTP.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;BWTP well supports the current HTML WebSocket API but is also flexible and extensible so that non browser clients may use it and future APIs will not need protocol changes.&lt;/li&gt;&lt;/ul&gt;&lt;p align=&quot;justify&quot;&gt;If you are interested, I encourage you to join the &lt;a href=&quot;https://www.ietf.org/mailman/listinfo/hybi&quot;&gt;IETF Hybi mailing list&lt;/a&gt; and to join the discussion ragarding the bidirectional web.&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:03:45 +0000</pubDate>
</item>
<item>
	<title>Scheme: Programming Praxis: The Playfair Cipher</title>
	<guid>http://programmingpraxis.com/?p=902</guid>
	<link>http://programmingpraxis.com/2009/07/03/the-playfair-cipher/</link>
	<description>&lt;br /&gt;&lt;p&gt;One of the most famous of the classical ciphers was the Playfair cipher, invented by Sir Charles Wheatstone in 1854 but popularized by Lord Lyon Playfair.  The cipher was used by the British during the Boer War and World War I, and was still in use as a field-grade cipher as late as World War II, probably because it is simple to teach, fast to use, requires no special equipment, and was reasonably secure by the standards of the day; by the time enemy cryptanalysts could break the message, its contents were useless to them.&lt;/p&gt;
&lt;p&gt;Playfair uses a 5-square block containing the pass-phrase; the letter J is mapped to I to make the 26-letter alphabet fit the 5-square block.  The pass-phrase is first filled in to the 5-square block, then the remaining letters of the alphabet complete the 5-square block, with duplicates removed.  For instance, the pass-phrase PLAYFAIR leads to this 5-square block:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;P L A Y F&lt;br /&gt;
I R B C D&lt;br /&gt;
E G H K M&lt;br /&gt;
N O Q S T&lt;br /&gt;
U V W X Z&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Some variants of Playfair omit Q instead of J, or start the key from the bottom-right corner and work backwards; we’ll stick with the standard method.&lt;/p&gt;
&lt;p&gt;The message to be encrypted is split into digrams, with J mapped to I.  In addition, no digram may use the same letter twice, so an X is inserted if needed (some Playfair variants use Z or Q instead of X).  Likewise, if the last digram has only a single letter, an X is added to the end of the message.  For instance, the plain-text PROGRAMMING PRAXIS is split as:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;PR OG RA MX MI NG PR AX IS&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Then each digram is enciphered separately according to the following rules:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If the two letters of the digram are in the same row, they are replaced pairwise by the letters to their immediate right, wrapping around to the left of the row if needed.&lt;/li&gt;
&lt;li&gt;If the two letters of the digram are in the same column, they are replaced pairwise by the letters immediately below, wrapping around to the top of the column if needed.&lt;/li&gt;
&lt;li&gt;Otherwise, the first letter of the digram is replaced by the letter in the same row as the first letter of the digram and the same column as the second letter of the digram, and the second letter of the digram is replaced by the letter in the same row as the second letter of the digram and the same column as the first letter of the digram.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For instance, the PR digram is enciphered as LI, because P and R are in different rows and columns, and the OG digram is enciphered as VO, since O and G are in the same column.  The complete encipherment is shown below:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;PR OG RA MX MI NG PR AX IS&lt;br /&gt;
LI VO BL KZ ED OE LI YW CN&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The coded message is thus LIVOBLKZEDOELIYWCN.  Decryption is simply the inverse of encryption.&lt;/p&gt;
&lt;p&gt;Playfair is rather more secure than simpler substitution ciphers because it works with digrams rather than single letters, rendering simple frequency analysis moot.  Frequency analysis on digrams is possible, but requires considerably more cipher-text than frequency analysis on single letters because Playfair admits 600 digrams whereas simple substitution admits only 26 letters.  Manual cryptanalysis looks at commonly-reversed digrams such as REceivER and DEcodED; if some plain-text is known (such as a standard message header), it is easy to recover at least a partial key.&lt;/p&gt;
&lt;p&gt;The most famous use of the Playfair cipher came in 1943.  David Kahn writes in &lt;em&gt;The Codebreakers&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Perhaps the most famous cipher of 1943 involved the future president of the U.S., J. F. Kennedy, Jr. On 2 August 1943, Australian Coastwatcher Lieutenant Arthur Reginald Evans of the Royal Australian Naval Volunteer Reserve saw a pinpoint of flame on the dark waters of Blackett Strait from his jungle ridge on Kolombangara Island, one of the Solomons. He did not know that the Japanese destroyer Amagiri had rammed and sliced in half an American patrol boat PT-109, under the command of Lieutenant John F. Kennedy, United States Naval Reserve. Evans received the following message at 0930 on the morning of the 2 of August 1943:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;KXJEY  UREBE  ZWEHE  WRYTU  HEYFS&lt;br /&gt;
KREHE  GOYFI  WTTTU  OLKSY  CAJPO&lt;br /&gt;
BOTEI  ZONTX  BYBWT  GONEY  CUZWR&lt;br /&gt;
GDSON  SXBOU  YWRHE  BAAHY  USEDQ&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The translation:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;PT BOAT ONE OWE NINE LOST IN ACTION IN BLACKETT&lt;br /&gt;
STRAIT TWO MILES SW MERESU COVE X CREW OF TWELVE&lt;br /&gt;
X REQUEST ANY INFORMATION.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The coastwatchers regularly used the Playfair system. Evans deciphered it with the key ROYAL NEW ZEALAND NAVY and learned of Kennedy’s fate. [...] About ten hours later, at 10:00 p.m. Kennedy and his crew was rescued.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Your task is to write functions that encipher and decipher messages using the Playfair cipher.  When you are finished, you are welcome to &lt;a href=&quot;http://programmingpraxis.com/2009/07/03/the-playfair-cipher/2/&quot;&gt;read&lt;/a&gt; or &lt;a href=&quot;http://programmingpraxis.codepad.org/1lKnWAtU&quot;&gt;run&lt;/a&gt; a suggested solution, or to post your own solution or discuss the exercise in the comments below.&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/programmingpraxis.wordpress.com/902/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/programmingpraxis.wordpress.com/902/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/programmingpraxis.wordpress.com/902/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/programmingpraxis.wordpress.com/902/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/programmingpraxis.wordpress.com/902/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/programmingpraxis.wordpress.com/902/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/programmingpraxis.wordpress.com/902/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/programmingpraxis.wordpress.com/902/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/programmingpraxis.wordpress.com/902/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/programmingpraxis.wordpress.com/902/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=programmingpraxis.com&amp;amp;blog=6649073&amp;amp;post=902&amp;amp;subd=programmingpraxis&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 09:00:21 +0000</pubDate>
</item>
<item>
	<title>SuSE: Pavol Rusnak: Game Store</title>
	<guid>http://stick.gk2.sk/?p=535</guid>
	<link>http://stick.gk2.sk/blog/2009/07/gamestore/</link>
	<description>&lt;a href=&quot;http://stick.gk2.sk&quot;&gt;&lt;img align=&quot;right&quot; border=&quot;0&quot; src=&quot;http://stick.gk2.sk/head.png&quot; alt=&quot;Pavol Rusnak&quot; /&gt;&lt;/a&gt;&lt;p&gt;I was adding some new packages to our &lt;a href=&quot;http://download.opensuse.org/repositories/games/&quot;&gt;games&lt;/a&gt; repository in openSUSE Build Service, when I realized that we have over 150 games at this one centralized place! Wouldn&amp;#8217;t it be great if there was an application which would allow users to browse through games, filter them by genres or names, view the screenshots and read the information about the games? Players usings Windows can already use  &amp;#8220;Games for Windows&amp;#8221; or &amp;#8220;Steam&amp;#8221; from Valve, but they also have to pay for the majority of the games. All games in our repository are free and just one click away! I started to hack an application with pretty concrete idea in my mind. You can look at the result of my efforts below (left Games for Windows, right Game Store):
&lt;p&gt;&lt;a href=&quot;http://stick.gk2.sk/blog/wp-content/uploads/2009/07/games_for_windows.jpg&quot; rel=&quot;lightbox[535]&quot;&gt;&lt;img class=&quot;size-thumbnail wp-image-536&quot; title=&quot;Games for Windows&quot; src=&quot;http://stick.gk2.sk/blog/wp-content/uploads/2009/07/games_for_windows-150x150.jpg&quot; alt=&quot;Games for Windows&quot; width=&quot;150&quot; height=&quot;150&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://stick.gk2.sk/blog/wp-content/uploads/2009/07/gamestore.jpg&quot; rel=&quot;lightbox[535]&quot;&gt;&lt;img src=&quot;http://stick.gk2.sk/blog/wp-content/uploads/2009/07/gamestore-150x150.jpg&quot; alt=&quot;Game Store&quot; title=&quot;Game Store&quot; width=&quot;150&quot; height=&quot;150&quot; class=&quot;size-thumbnail wp-image-538&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As you can see, Game Store is at the moment quite immature Qt application (actually it is my first Qt app, so my Qt skills suck pretty much right now &lt;img src=&quot;http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt;  ), but it is already able to load locally stored XML together with game icons, screenshots and descriptions. User can install new games (using our great One Click Install feature) and launch the installed ones. Later I want to add the ability to synchronize your games settings (configuration + saved games) with Game Store server, so you can have these on any computer and the server could create a hi-score charts for every supported game. There is a long way ahead to go, but I wanted to approach you very early, so you could be involved too. Even if you don&amp;#8217;t speak C++ or Qt, you can help us with filling the missing descriptions, gathering game icons and screenshots. Just read the &lt;a href=&quot;http://en.opensuse.org/GameStore&quot;&gt;GameStore&lt;/a&gt; wiki page to get the idea what needs to be done or clone the &lt;a href=&quot;http://github.com/stickac/gamestore/tree/master&quot;&gt;git repo&lt;/a&gt; and start hacking right away! &lt;img src=&quot;http://stick.gk2.sk/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Thank you and I hope that GameStore will be a great addition to other openSUSE applications and tools we already have!&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 08:58:54 +0000</pubDate>
</item>
<item>
	<title>Python: Adam Pletcher: Calling Python from MaxScript</title>
	<guid>http://techarttiki.blogspot.com/2008/03/calling-python-from-maxscript.html</guid>
	<link>http://techarttiki.blogspot.com/2008/03/calling-python-from-maxscript.html</link>
	<pubDate>Fri, 03 Jul 2009 08:54:15 +0000</pubDate>
</item>
<item>
	<title>OpenOffice: Gullfoss: New: OOo-DEV 3.x Developer Snapshot (build DEV300_m51) available</title>
	<guid>http://blogs.sun.com/GullFOSS/entry/new_ooo_dev_3_x5</guid>
	<link>http://blogs.sun.com/GullFOSS/entry/new_ooo_dev_3_x5</link>
	<description>&lt;p&gt;&lt;b&gt;Developer Snapshot build OOo-Dev &lt;/b&gt;&lt;b&gt;DEV300_m51&lt;/b&gt; which installs as OOo-DEV 3.x has
been uploaded to the mirror network.&lt;br /&gt;&lt;br /&gt;If
you find severe issues within this build please file them to
OpenOffice.org's bug tracking system IssueTracker.&lt;br /&gt; &lt;/p&gt; 
  &lt;p&gt;Please use the following link&lt;br /&gt;&lt;a title=&quot;Download page&quot; class=&quot;moz-txt-link-freetext&quot; href=&quot;http://download.openoffice.org/next&quot;&gt;http://download.openoffice.org/next&lt;/a&gt; &lt;/p&gt; 
  &lt;p&gt;Packages are also available from &lt;b&gt;extended&lt;/b&gt; mirror sites ( &lt;b&gt;listed with an [E]&lt;/b&gt; ) from the &amp;quot;.../extended/developer/DEV300_m51&amp;quot; directory:&lt;br /&gt;&lt;a href=&quot;http://distribution.openoffice.org/mirrors#extmirrors&quot;&gt;http://distribution.openoffice.org/mirrors/#extmirrors&lt;/a&gt; &lt;/p&gt; 
  &lt;p&gt;MD5 checksums:&lt;br /&gt;&lt;a href=&quot;http://download.openoffice.org/next/md5sums/index.html&quot; class=&quot;moz-txt-link-freetext&quot; title=&quot;Page containing MD5 checksums&quot;&gt;http://download.openoffice.org/next/md5sums/index.html&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 08:46:12 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Guy Van Sanden: What's wrong with having ideals?</title>
	<guid>http://nocturn.vsbnet.be/159 at http://nocturn.vsbnet.be</guid>
	<link>http://nocturn.vsbnet.be/node/159</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/gvs.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;When blogging or replying in forums, I increasingly get replies like I got on my previous blogpost about the FSF's statement in the mono debate:&lt;/p&gt;
&lt;p class=&quot;rteindent1&quot;&gt;&amp;quot;Unfortunately, the FSF has crossed the line between towards religious fundamentalism way too long ago&amp;quot;&lt;/p&gt;
&lt;p&gt;Besides not providing anything factual in the debate, these responses always puzzle me.&amp;nbsp; Free Software (which is the original movement) has always been about ideals.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;The GPL licenses, the AGPL, documenation licenses and anything else have never been anything more that protecting the ideal of Free Software.&amp;nbsp; If you reject the ideals, you are left with nothing but commercial software with practical benefits like source code.&lt;/p&gt;
&lt;p&gt;I will proudly admit this:&amp;nbsp; I'm an idealist, not in Free Software alone, it's my way of life and I would rather not live at all than live without my ideals.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 08:41:31 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: David Amos: Conjugacy classes, part 1</title>
	<guid>tag:blogger.com,1999:blog-5195188167565410449.post-3016527389892647955</guid>
	<link>http://haskellformaths.blogspot.com/2009/06/conjugacy-classes-part-1.html</link>
	<description>(New release: HaskellForMaths 0.1.5 is available &lt;a href=&quot;http://hackage.haskell.org/package/HaskellForMaths-0.1.5&quot;&gt;here&lt;/a&gt;, or &lt;a href=&quot;http://www.polyomino.f2s.com/haskellformathsv2/HaskellForMathsv2.html&quot;&gt;here&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;Over the last few weeks, we've been looking at the HaskellForMaths code for specifying graphs, and then finding generators for their automorphism groups. However, in our hurry, we haven't really stopped to take a good look at those automorphisms (symmetries) themselves.&lt;br /&gt;&lt;br /&gt;For example, consider our old favourite, the pentagon c 5.&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_XQ7FznWBAYE/SkklceTtH_I/AAAAAAAAACk/hMPE2MDnubE/s1600-h/c5.GIF&quot;&gt;&lt;img src=&quot;http://2.bp.blogspot.com/_XQ7FznWBAYE/SkklceTtH_I/AAAAAAAAACk/hMPE2MDnubE/s320/c5.GIF&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5352850803208822770&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;code&gt;&gt; :load Math.Combinatorics.GraphAuts&lt;br /&gt;&gt; mapM_ print $ elts $ graphAuts2 $ c 5&lt;br /&gt;[]&lt;br /&gt;[[1,2],[3,5]]&lt;br /&gt;[[1,2,3,4,5]]&lt;br /&gt;[[1,3,5,2,4]]&lt;br /&gt;[[1,3],[4,5]]&lt;br /&gt;[[1,4],[2,3]]&lt;br /&gt;[[1,4,2,5,3]]&lt;br /&gt;[[1,5,4,3,2]]&lt;br /&gt;[[1,5],[2,4]]&lt;br /&gt;[[2,5],[3,4]]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;We can divide the symmetries of c 5 into four different classes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The identity permutation, [] or 1, which leaves c 5 as it is&lt;/li&gt;&lt;li&gt;Five reflections, which reflect everything in the axis joining a vertex and the midpoint of the opposite edge. For example, [[2,5],[3,4]] is the reflection in the vertical axis.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Two 1/5 rotations [[1,2,3,4,5]] and [[1,5,4,3,2]]&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Two 2/5 rotations [[1,3,5,2,4]] and [[1,4,2,5,3]]&lt;/li&gt;&lt;/ul&gt;Within each of these four classes, the symmetries are in some sense the same symmetry, just viewed from a different angle. What I see as the reflection in the vertical axis looks just like the reflection in one of the diagonal axes to someone sitting at a different chair around the table. What I see as the clockwise 1/5 rotation looks like an anti-clockwise 1/5 rotation to someone looking from behind the glass.&lt;br /&gt;&lt;br /&gt;So the intuition we're trying to capture is that among the symmetries of a given graph, there are several different classes, but within each class, the symmetries are somehow the same, just viewed from a different angle. In group theory, these are called conjugacy classes, and that's what I want to explore this week.&lt;br /&gt;&lt;br /&gt;Let's look at an example in more detail. What does it mean to say that the reflection [[2,5],[3,4]] in the vertical axis, and the reflection [[1,2],[3,5]] in the 36 degree axis are somehow the same. Well I think of it like this.&lt;br /&gt;&lt;br /&gt;Suppose that I'm sitting at the bottom of the table (between the 3 and the 4), with a camera, and I take a short movie of the [[2,5],[3,4]] reflection as it takes place. Now, suppose that instead, I go and sit between the 1 and the 2, and then take a movie of the [[1,2],[3,5]] reflection. The two movies are both going to look like reflection in the vertical axis - because from the camera viewpoint, that's what they both were.&lt;br /&gt;&lt;br /&gt;Next, suppose that instead of me moving to another chair to get my view, we move the table back round to me. So I rotate the table (and the graph) by a 2/5 clockwise turn, so that the 1 and 2 are either side of me. Then I perform the [[2,5],[3,4]] reflection in the vertical axis, and take my movie of it. Then I move the table back by a 2/5 anti-clockwise turn. So I still get a movie of a reflection in the vertical axis. But the overall effect on the graph is actually the [[1,2],[3,5]] reflection.&lt;br /&gt;&lt;br /&gt;Now, the key point is that when I moved the table at the beginning, I was doing a graph symmetry (2/5 clockwise turn). And when I moved the table back again at the end, I was just undoing the symmetry.&lt;br /&gt;&lt;br /&gt;We will say that symmetries g1 and g2 are somehow the same if there is a symmetry h such that:&lt;br /&gt;doing h, then doing g1, then undoing h is the same as doing g2.&lt;br /&gt;In our example:&lt;br /&gt;doing [[1,3,5,2,4]], then [[2,5],[3,4]], then undoing [[1,3,5,2,4]] is the same as doing [[1,2],[3,5]].&lt;br /&gt;&lt;br /&gt;Or, in the language of group theory, we will say that g1 and g2 are &lt;span&gt;conjugate&lt;/span&gt; if there is an h such that:&lt;br /&gt;h * g1 * h^-1 = g2&lt;br /&gt;In our example:&lt;br /&gt;&lt;code&gt;&gt; p [[1,3,5,2,4]] * p [[2,5],[3,4]] * p [[1,3,5,2,4]] ^-1 == p [[1,2],[3,5]]&lt;br /&gt;True&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;In HaskellForMaths, the conjugate of g by h is defined as follows:&lt;br /&gt;&lt;code&gt;g ~^ h = h^-1 * g * h&lt;br /&gt;&lt;/code&gt;(Note that we now put the h^-1 in front and the h behind the g, as is customary in the literature. Clearly this makes no real difference to what's going on.)&lt;br /&gt;&lt;br /&gt;Conjugacy is an equivalence relation. That is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;It is reflexive - g is conjugate to itself (taking h = 1)&lt;/li&gt;&lt;li&gt;It is symmetric - if g1 is conjugate to g2 then g2 is conjugate to g1 (replacing h by h^-1)&lt;/li&gt;&lt;li&gt;It is transitive - if g1 is conjugate to g2 (by h), and g2 is conjugate to g3 (by k), then g1 is conjugate to g3 (by h*k)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Perhaps at this point, it's worth mentioning the mnemonic for some of these symbolic operators we've seen. Suppose that we have a vertex v, and edge e, and permutations g and h. Then:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;v .^ g means the image of the vertex v when acted on by g. The dot is meant to represent a vertex.&lt;/li&gt;&lt;li&gt;e -^ g means the image of the edge e when acted on by g. The dash is meant to represent an edge.&lt;/li&gt;&lt;li&gt;g ~^ h means the conjugate of g by h. The tilde is meant to remind you of conjugacy because tilde is the customary symbol for an equivalence relation.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Next, we would like to be able to find the conjugacy classes of a group. To do this, we first introduce a very useful auxiliary function:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;import qualified Data.Set as S&lt;br /&gt;&lt;br /&gt;closure xs fs = closure' S.empty (S.fromList xs) where&lt;br /&gt;    closure' interior boundary&lt;br /&gt;        | S.null boundary = S.toList interior&lt;br /&gt;        | otherwise =&lt;br /&gt;            let interior' = S.union interior boundary&lt;br /&gt;                boundary' = S.fromList [f x | x - S.toList boundary, f - fs] S.\\ interior'&lt;br /&gt;            in closure' interior' boundary' &lt;/code&gt;&lt;/pre&gt;What closure is doing is, starting with a set xs, it is repeatedly growing the set by adding new elements f x, by applying the functions fs - until we get to the point where the set is closed, meaning that for every x in the set, f x is also already in the set.&lt;br /&gt;&lt;br /&gt;We've already been using this. The &quot;elts&quot; function that we've been using to list all elements of the group generated by gs, can be defined as follows:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;elts gs = closure [1] [ *g | g - gs] &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;It is now straightforward to calculate the conjugacy class of an element h in the group generated by gs:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;conjClass gs h = closure [h] [ ~^ g | g - gs] &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt; conjClass (graphAuts2 $ c 5) (p [[1,2,3,4,5]])&lt;br /&gt;[[[1,2,3,4,5]],[[1,5,4,3,2]]]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Now, given a group of graph automorphisms, what we would like to do is find all the conjugacy classes, so that we can understand the different types of symmetry that the graph has. However, we don't really need to list all the elements of each conjugacy class - it will be sufficient to have a single representative of each class, and perhaps also to know how many elements are in that class.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;conjClassReps gs = conjClassReps' (elts gs) where&lt;br /&gt;    conjClassReps' (h:hs) =&lt;br /&gt;        let cc = conjClass gs h in (h, length cc) : conjClassReps' (hs \\ cc)&lt;br /&gt;    conjClassReps' [] = []&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;Okay, so let's test it out.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt; mapM_ print $ conjClassReps $ graphAuts2 $ c 5&lt;br /&gt;([],1)&lt;br /&gt;([[1,2],[3,5]],5)&lt;br /&gt;([[1,2,3,4,5]],2)&lt;br /&gt;([[1,3,5,2,4]],2)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;These are the four classes that we identified at the beginning.&lt;br /&gt;&lt;br /&gt;To summarise, conjugacy classes give us a way to investigate the different types of symmetries that a graph has. (Later on, we'll use groups and conjugacy classes to study the symmetries of other objects besides graphs.)&lt;br /&gt;&lt;br /&gt;That's it for now. Next time, we'll look at a few more examples.&lt;br /&gt;&lt;br /&gt;Exercise: Investigate the conjugacy classes of symmetries of the cube, q 3. Describe the different classes.&lt;br /&gt;Hint: Start by typing:&lt;br /&gt;&lt;code&gt;&gt; mapM_ print $ conjClassReps $ graphAuts2 $ q 3&lt;br /&gt;&lt;/code&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5195188167565410449-3016527389892647955?l=haskellformaths.blogspot.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 08:30:12 +0000</pubDate>
</item>
<item>
	<title>Debian: Kartik Mistry: Some updates</title>
	<guid>http://ftbfs.wordpress.com/?p=624</guid>
	<link>http://ftbfs.wordpress.com/2009/07/03/some-updates-2/</link>
	<description>&lt;img src=&quot;http://planet.debian.org/heads/kartik.png&quot; width=&quot;75&quot; height=&quot;90&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot; /&gt;  &lt;br /&gt;&lt;p&gt;* While chatting, &lt;a href=&quot;http://samay.info/&quot;&gt;Samay&lt;/a&gt; told me that he has started his company. I was so excited to hear this. A just passedout student in Ahmedabad can do this? I visited their place and its real Garage kind of startup. They are still setting up things but I loved their energy and ideas. Thanks Samay, Tanmay and Puja (or Pooja). However, their company’s name is ‘Entourage Solution’ and I just warned Samay that Entourage is also name of Microsoft’s product &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;* Updated many pending packages, specially for debian-in repository. &lt;a href=&quot;http://savannah.nongnu.org/projects/fontypython&quot;&gt;Fontypython&lt;/a&gt; is waiting for some testing from user side and will upload 0.4 soon after that..&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/ftbfs.wordpress.com/624/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/ftbfs.wordpress.com/624/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/ftbfs.wordpress.com/624/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/ftbfs.wordpress.com/624/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/ftbfs.wordpress.com/624/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/ftbfs.wordpress.com/624/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/ftbfs.wordpress.com/624/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/ftbfs.wordpress.com/624/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/ftbfs.wordpress.com/624/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/ftbfs.wordpress.com/624/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=ftbfs.wordpress.com&amp;amp;blog=2766354&amp;amp;post=624&amp;amp;subd=ftbfs&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 08:24:14 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: Magnus Therning: Setting up Epiphany to play with Seed extensions</title>
	<guid>http://therning.org/magnus/?p=674</guid>
	<link>http://therning.org/magnus/archives/674</link>
	<description>&lt;p&gt;Since the Python extensions to Epiphany have been removed from the repository I thought it was high time to start playing with what seems to be the replacement to Python extensions: &lt;a href=&quot;http://live.gnome.org/Seed/&quot;&gt;Seed&lt;/a&gt; extensions.  The first step is of course to get a version of Epiphany that supports Seed extensions.  After a few emails on the mailing list I&amp;#8217;ve come to a recipe (I&amp;#8217;ve done this twice now on different machines to I&amp;#8217;m fairly confident it works).  I should probably preface this by saying that I run an up-to-date &lt;a href=&quot;http://www.archlinux.org/&quot;&gt;Arch&lt;/a&gt; system, if you run something else you might need to do a bit more, or less if you&amp;#8217;re lucky &lt;img src=&quot;http://therning.org/magnus/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make sure the following packages are installed&lt;sup&gt;i&lt;/sup&gt;: &lt;code&gt;libsoup&lt;/code&gt;, &lt;code&gt;libwebkit&lt;/code&gt;, &lt;code&gt;gnome-common&lt;/code&gt;, &lt;code&gt;intltool&lt;/code&gt;, &lt;code&gt;libffi&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Clone the following Git repositories from &lt;a href=&quot;http://git.gnome.org/&quot;&gt;git.gnome.org&lt;/a&gt;: &lt;code&gt;epiphany-extensions&lt;/code&gt;, &lt;code&gt;epiphany&lt;/code&gt;, &lt;code&gt;seed&lt;/code&gt;, &lt;code&gt;gobject-inspection&lt;/code&gt;, &lt;code&gt;gnome-js-common&lt;/code&gt;, &lt;code&gt;gir-repository&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Decide on a &lt;code&gt;$prefix&lt;/code&gt;, i.e. where you want it all installed (I use &lt;code&gt;~/opt/gnome-trunk&lt;/code&gt;).  Then export the following environment variables:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;export PATH=$prefix/bin:$PATH
export PKG_CONFIG_PATH=$prefix/lib/pkgconfig
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Then configure, build and install everything.  Use the &lt;code&gt;autogen.sh&lt;/code&gt; script to create the configuration, and make sure to pass it &lt;code&gt;prefix=$prefix&lt;/code&gt; each time.  Some of the modules need extra arguments as well.  This is the order and extra arguments I used:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;gnome-js-common&lt;/code&gt; (&lt;code&gt;--disable-seed --disable-gjs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;seed&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gnome-js-common&lt;/code&gt; (&lt;code&gt;--disable-gjs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gobject-introspection&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gir-repository&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;epiphany&lt;/code&gt; (&lt;code&gt;--enable-introspection --enable-seed&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;epiphany-extensions&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After that you can put your extensions in &lt;code&gt;~/.gnome2/epiphany/extensions/&lt;/code&gt;.  I have two instances of Epiphany installed, a stable from my distro, and the dev version I built myself.  I haven&amp;#8217;t managed to run them both side by side, but beyond that there seems to be no bad interaction between them.&lt;/p&gt;
&lt;a name=&quot;bookmarkify&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://digg.com/submit?phase=2&amp;amp;url=http://therning.org/magnus/archives/674&amp;amp;title=Setting up Epiphany to play with Seed extensions&quot; title=&quot;Digg It!&quot;&gt;&lt;img src=&quot;http://therning.org/magnus/wp-content/plugins/bookmarkify/digg.png&quot; alt=&quot;[Digg] &quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://reddit.com/submit?url=http://therning.org/magnus/archives/674&amp;amp;title=Setting up Epiphany to play with Seed extensions&quot; title=&quot;Reddit&quot;&gt;&lt;img src=&quot;http://therning.org/magnus/wp-content/plugins/bookmarkify/reddit.png&quot; alt=&quot;[Reddit] &quot; /&gt;&lt;/a&gt;  &lt;a title=&quot;See more bookmark and sharing options...&quot; href=&quot;http://therning.org/magnus/archives/674#bookmarkify&quot; rel=&quot;nofollow&quot;&gt;&lt;small&gt;More&amp;nbsp;&amp;raquo;&lt;/small&gt;&lt;/a&gt;&lt;ol class=&quot;footnotes&quot;&gt;&lt;li id=&quot;footnote_0_674&quot; class=&quot;footnote&quot;&gt;You might need a few more packages depending on what desktop environment you use.  Those were the packages I needed to add to my machine where I run Gnome and do regular non-Gnome development&lt;/li&gt;&lt;/ol&gt;</description>
	<pubDate>Fri, 03 Jul 2009 08:22:05 +0000</pubDate>
</item>
<item>
	<title>Free Software Magazine: A second order virtual machine with Falcon</title>
	<guid>http://www.freesoftwaremagazine.com/3164 at http://www.freesoftwaremagazine.com</guid>
	<link>http://www.freesoftwaremagazine.com/columns/second_order_virtual_machine_falcon</link>
	<description>&lt;!--paging_filter--&gt;&lt;p&gt;Lately, the &lt;a href=&quot;http://www.falconpl.org&quot;&gt;Falcon Programming Language&lt;/a&gt; has attracted growing interest and excited a deal of curiosity.&lt;/p&gt;

&lt;p&gt;In this article I&amp;#8217;ll document some unique features of Falcon that allow users to build easily what I define as a &amp;#8220;second order virtual machine&amp;#8221;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.freesoftwaremagazine.com/columns/second_order_virtual_machine_falcon&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 08:21:56 +0000</pubDate>
</item>
<item>
	<title>OpenJDK: Amy Fowler: Layout Primer for JavaFX1.0</title>
	<guid>tag:weblogs.java.net,2009:/blog/aim/48.10925</guid>
	<link>http://weblogs.java.net/blog/aim/archive/2009/01/layout_primer_f.html</link>
	<description>Since preaching the virtues of GridBagLayout at the first JavaOne in 96, perhaps its my just desserts that I find myself toiling over layout for the JavaFX platform.   If you're curious to understand more (in somewhat gory detail) about how layout is handled in an FX scene graph, read on...</description>
	<pubDate>Fri, 03 Jul 2009 08:15:28 +0000</pubDate>
</item>
<item>
	<title>Python: Evan Fosmark: A simple event-driven plugin system in Python</title>
	<guid>http://www.evanfosmark.com/2009/07/simple-event-driven-plugin-system-in-python/</guid>
	<link>http://www.evanfosmark.com/2009/07/simple-event-driven-plugin-system-in-python/</link>
	<pubDate>Fri, 03 Jul 2009 08:08:39 +0000</pubDate>
</item>
<item>
	<title>Jabber: Remko Tronçon: Migrating from Openfire to Prosody</title>
	<guid>http://el-tramo.be/?p=426</guid>
	<link>http://el-tramo.be/blog/openfire-to-prosody-migration</link>
	<description>&lt;p&gt;Because &lt;a href=&quot;http://www.igniterealtime.org/projects/openfire/index.jsp&quot;&gt;Openfire&lt;/a&gt; has been hogging too much of my limited &lt;a href=&quot;http://el-tramo.be&quot;&gt;el-tramo.be&lt;/a&gt; server resources lately, and because I don’t need a beast of an XMPP server for only 2 users, I decided to replace it by the lightweight &lt;a href=&quot;http://prosody.im/&quot;&gt;Prosody&lt;/a&gt;. The migration went flawless, with the help of two tools: &lt;a href=&quot;http://www.kismith.co.uk/wordpress/index.php/2008/11/30/sleek-migrate/&quot;&gt;Sleek Migrate&lt;/a&gt;, and a &lt;a href=&quot;http://git.el-tramo.be/browse/xep227-to-prosody.git/&quot;&gt;Prosody XEP-0227 Importer&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span id=&quot;more-426&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;First of all, I used Sleek Migrate to retrieve the roster (and other) data from the server, and store it in the standard &lt;a href=&quot;http://xmpp.org/extensions/xep-0227.html&quot;&gt;XEP-0227&lt;/a&gt; format. I extended the tool a bit such that it supports Openfire’s User Import/Export format, a format generated by an &lt;a href=&quot;http://www.igniterealtime.org/projects/openfire/plugins/userimportexport/readme.html&quot;&gt;Openfire plugin&lt;/a&gt; that is distributed with the server software by default. Using this format as input for Sleek Migrate avoids the need to create a user file manually. The changes I made to Sleek Migrate are currently available from &lt;a href=&quot;http://git.el-tramo.be/browse/sleekmigrate.git/&quot;&gt;my Git repository&lt;/a&gt;, awaiting to be pushed to the main repository.&lt;/p&gt;
&lt;p&gt;I then wrote a short script that populates the Prosody data dir with the server data from the XEP-0227 XML file. Currently, the script only generates roster and account data, but adding &lt;a href=&quot;http://xmpp.org/extensions/xep-0054.html&quot;&gt;vCard&lt;/a&gt; and &lt;a href=&quot;http://xmpp.org/extensions/xep-0049.html&quot;&gt;Private XML Storage&lt;/a&gt; (used amongst others to store &lt;a href=&quot;http://xmpp.org/extensions/attic/xep-0048-1.0.html&quot;&gt;MUC bookmarks&lt;/a&gt;) should not be very hard. Until Prosody creates a native XEP-0227 importer, you can get the script from &lt;a href=&quot;http://git.el-tramo.be/browse/xep227-to-prosody.git/&quot;&gt;my Git repository&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 07:56:25 +0000</pubDate>
</item>
<item>
	<title>RDF: First Draft of SPARQL New Features and Rationale</title>
	<guid>http://www.w3.org/blog/SW/2009/07/03/first_draft_of_sparql_new_features_and_r</guid>
	<link>http://www.w3.org/blog/SW/2009/07/03/first_draft_of_sparql_new_features_and_r</link>
	<description>The &lt;a href=&quot;http://www.w3.org/2001/sw/DataAccess/&quot;&gt;W3C SPARQL
Working Group&lt;/a&gt; has published the First Public Working Draft of
&lt;a href=&quot;http://www.w3.org/TR/2009/WD-sparql-features-20090702/&quot;&gt;SPARQL New
Features and Rationale&lt;/a&gt;. This document provides an overview of
the main new features of SPARQL and their rationale. This is an
update to SPARQL adding several new features that have been agreed
by the SPARQL WG. These language features were determined based on
real applications and user and tool-developer experience.</description>
	<pubDate>Fri, 03 Jul 2009 07:52:59 +0000</pubDate>
</item>
<item>
	<title>Trolltech Labs: Win9x/ME no more..</title>
	<guid>http://labs.trolltech.com/blogs/2009/07/03/win9xme-no-more/</guid>
	<link>http://labs.trolltech.com/blogs/2009/07/03/win9xme-no-more/</link>
	<description>So, the time has come to say goodbye to the good&amp;#8217;ol non-unicode Windows systems.
Qt has for a very long time had the QT_WA/QT_WA_INLINE(uni, ansi) macros to provide support for both Windows ANSI systems and their Unicode equivalents, and thus supported running Qt applications on old Windows systems without the MSLU (Microsoft Layer for Unicode) installed. [...]</description>
	<pubDate>Fri, 03 Jul 2009 07:46:02 +0000</pubDate>
</item>
<item>
	<title>Debian: MJ Ray: Small is beautiful or big is better? (#coop09 sw audio download)</title>
	<guid>http://www.news.software.coop/small-is-beautiful-or-big-is-better-coop09-sw-audio-download/691/</guid>
	<link>http://www.news.software.coop/small-is-beautiful-or-big-is-better-coop09-sw-audio-download/691/</link>
	<description>&lt;img src=&quot;http://planet.debian.org/heads/mjray2.png&quot; width=&quot;65&quot; height=&quot;94&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot; /&gt;  &lt;p&gt;There were several interesting conferences last week. An honourable mention to the &lt;a href=&quot;http://www.events.uk.coop/node/460&quot;&gt;Worker Co-operative Forum&lt;/a&gt;, but the most interesting for me was the &lt;a href=&quot;http://www.news.software.coop/categories/cooperatives-sw/&quot; title=&quot;Cooperatives-SW&quot;&gt;Cooperatives-SW&lt;/a&gt; annual conference in Plymouth on Tuesday 23 June 2009.&lt;/p&gt;
&lt;p&gt;This free event was split into three parts: the formal business (reports, accounts and so on), an interesting direction-finding session facilitated by Marc from the &lt;a href=&quot;http://www.zebra.coop/&quot;&gt;Zebra Collective&lt;/a&gt; and a debate on the question “small is beautiful or big is better”?  At the moment, there are a few massive UK co-ops emerging, particularly in retail, but also a thriving range of small independents.  Must co-ops grow to survive?  Are large co-ops as democratic?&lt;/p&gt;
&lt;p&gt;The question was debated by Alan Bonner, chief exec of &lt;a href=&quot;http://www.radstock-co-op.com/&quot;&gt;Radstock Cooperative Society&lt;/a&gt;, Chris Herries, board member of &lt;a href=&quot;http://www.co-operative.coop/&quot;&gt;the Cooperative Group&lt;/a&gt;, Alex Lawrie, of &lt;a href=&quot;http://www.somerset.coop/&quot;&gt;Somerset Cooperative Services&lt;/a&gt; and Steve Guy of (I think) &lt;a href=&quot;http://www.cpcu.co.uk/&quot;&gt;City of Plymouth Credit Union&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.software.coop/media/audio/coop09swdebate.ogg&quot;&gt;Download it in Ogg Vorbis format&lt;/a&gt;&lt;/strong&gt; (5.3Mb, about 49 minutes, &lt;a href=&quot;http://www.playogg.org/&quot;&gt;instructions on how to play&lt;/a&gt;, hosted by &lt;a href=&quot;http://www.software.coop/&quot; title=&quot;TTLLP&quot;&gt;TTLLP&lt;/a&gt;).  The recording was taken on an &lt;a href=&quot;http://www.s1mp3.org/&quot;&gt;s1mp3&lt;/a&gt; player I quickly threw on the table, but it performed remarkably well.  There should be a video too, but it needs some codecs I don’t have.&lt;/p&gt;
&lt;p&gt;So who do you agree with?  Is it the old software question: do you merge, collaborate or fork to survive?&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 07:45:27 +0000</pubDate>
</item>
<item>
	<title>PHP: PHPNW: Site, Tickets and CfP - Lorna Mitchell</title>
	<guid>http://www.lornajane.net/posts/2009/PHPNW-Site,-Tickets-and-CfP</guid>
	<link>http://www.lornajane.net/posts/2009/PHPNW-Site,-Tickets-and-CfP</link>
	<description>The date for PHPNW was announced a few weeks ago as Saturday 10th October 2009, and now we've got all the official bits and bobs to go with it!  In outline:&lt;br /&gt;
&lt;br /&gt;
The website: &lt;a href=&quot;http://conference.phpnw.org.uk&quot;&gt;http://conference.phpnw.org.uk&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Tickets: &lt;a href=&quot;http://conference.phpnw.org.uk/register&quot;&gt;http://conference.phpnw.org.uk/register&lt;/a&gt;.  Early bird pricing until September 11th, student tickets available - look on the website for instructions on getting student tickets.&lt;br /&gt;
&lt;br /&gt;
Call for Papers: &lt;a href=&quot;http://conference.phpnw.org.uk/callforpapers&quot;&gt;http://conference.phpnw.org.uk/callforpapers&lt;/a&gt;.  Speakers wanted!  If you have something to share and you think you can do that coherently - then submit to us please, we're always looking for new people, new talks, as well as the talks and speakers you'd expect to see at the bigger PHP conferences.  If you're not sure if something fits, feel free to contact us.&lt;br /&gt;
&lt;br /&gt;
This is officially a one-day Saturday event, with a full day with two tracks of talks and an attendance of 200+ people.  In reality its a whole weekend of geeking out in Manchester - with a pre-conference social on Friday night, the main event on Saturday, a conference social running on Saturday night and an informal set of sessions on Sunday morning for anyone with the energy to keep on going before everyone makes tracks to their homes.&lt;br /&gt;
&lt;br /&gt;
If you're going, thinking of going, went last year, or wishing you could be there - add a comment!  I'm looking forward to meeting many of you at the event :)</description>
	<pubDate>Fri, 03 Jul 2009 07:23:12 +0000</pubDate>
</item>
<item>
	<title>KDE: Gilles Caulier: digiKam 0.9.6 release for KDE3</title>
	<guid>http://www.digikam.org/462 at http://www.digikam.org/drupal</guid>
	<link>http://www.digikam.org/drupal/node/462</link>
	<description>&lt;p&gt;Dear all digiKam fans and users!&lt;/p&gt;

&lt;p&gt;Utimate digiKam 0.9.6 release for KDE3 is out. It's a bug fix and translations updates.&lt;/p&gt;

&lt;a href=&quot;http://www.flickr.com/photos/digikam/3684042676/&quot; title=&quot;digiKam0.9.6 by cauliergilles, on Flickr&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3650/3684042676_17ed34136b.jpg&quot; width=&quot;500&quot; height=&quot;400&quot; alt=&quot;digiKam0.9.6&quot; /&gt;&lt;/a&gt;

&lt;p&gt;digiKam 0.9.6 tarball can be downloaded from SourceForge &lt;a href=&quot;http://sourceforge.net/project/showfiles.php?group_id=42641&amp;amp;package_id=34800&quot;&gt;at this url&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No more KDE3 release is planed in the future...&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 07:20:14 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Eddie Martinez: Watch me get jealous</title>
	<guid>http://posingaspopular.wordpress.com/?p=147</guid>
	<link></link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/eddiemartinez.png&quot; alt=&quot;&quot; /&gt;
My friend redDEAD from the Chicago Loco and  Ubuntu Mini  sent me the following Ubuntu skateboard. WICKED!

Design by Stephen Slaby at   Three Media  for those interested.
LEGAL STUFF: This board was a one time design, with no commercial intent and cleared Ubuntu Trademarks through Michelle Surtees-Myers at Canonical UK Ltd.
  [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=posingaspopular.wordpress.com&amp;amp;blog=779080&amp;amp;post=147&amp;amp;subd=posingaspopular&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 07:05:41 +0000</pubDate>
</item>
<item>
	<title>FreeDesktop: Julien Danjou: awesome: larger open-source team than LXCDE one of the largest open-source teams in the world</title>
	<guid>urn:md5:f4aa0971038b59c155eb85ef65cd57fd</guid>
	<link>http://julien.danjou.info/blog/index.php/post/2009/07/03/awesome%3A-larger-open-source-team-than-LXCDE-one-of-the-largest-open-source-teams-in-the-world</link>
	<description>&lt;p&gt;I just found this &lt;a href=&quot;http://blog.lxde.org/?p=400&quot;&gt;blog post on LXDE blog&lt;/a&gt; while reading &lt;a href=&quot;http://lwn.net&quot;&gt;LWN.net&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;It made me smile because that's what Ohloh says for &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt;:&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Over the past twelve months, 70 developers contributed new code to awesome.
This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh.
For this measurement, Ohloh considered only recent changes to the code. Over the entire history of the project, 99 developers have contributed.&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;So &lt;em&gt;awesome&lt;/em&gt; project is roughly twice bigger than LXDE. Impressive! &lt;img src=&quot;http://julien.danjou.info/blog//themes/geeek.org/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 07:05:00 +0000</pubDate>
</item>
<item>
	<title>PJSIP: Version 1.3 is released with support for ICE regular nomination</title>
	<guid>http://blog.pjsip.org/?p=248</guid>
	<link></link>
	<description>Version 1.3 is out (finally!). No major feature was planned for this release, however there are few useful enhancements such as support for ICE regular nomination, SIP transport automatically switch to TCP when request is too large, and periodic 1 minute retransmission of provisional responses to prevent dialog from being destroyed by proxies, as well [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=blog.pjsip.org&amp;amp;blog=576455&amp;amp;post=248&amp;amp;subd=pjsip&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 06:53:38 +0000</pubDate>
</item>
<item>
	<title>PHP: nested trees in mysql - handy stored procedures. - Alan Knowles</title>
	<guid>http://www.akbkhome.com/blog.php/View/179/nested_trees_in_mysql__handy_stored_procedures.html</guid>
	<link>http://www.akbkhome.com/blog.php/View/179/nested_trees_in_mysql__handy_stored_procedures.html</link>
	<description>Storing tree data in Mysql databases, is relatively common, however, all the existing documentation about doing this, makes the whole process rather complex.&lt;br /&gt;&lt;br /&gt;If you google it, you will probably find the quite definitive answer at mysql.com, describing the classic  parent_id method, and the left/right numbering process. Both of these methods involve rather complex SQL to fetch and update the tree. &lt;br /&gt;&lt;br /&gt;In seeking a better solutions for a tree that was infrequently updated, but frequently queried, I thought I'd try seeing if I could write a few stored procedures to simplify the process.&lt;br /&gt;&lt;br /&gt;Our basic database structure looks like this:&lt;br /&gt;&lt;pre&gt;CREATE TABLE _TREE_ (&lt;br /&gt;    id int(11) NOT NULL auto_increment,&lt;br /&gt;    parent_id   int(11)  NOT NULL DEFAULT 0,&lt;br /&gt;    seqid int(11)  NOT NULL DEFAULT 0,&lt;br /&gt;    depth int(11)  NOT NULL DEFAULT 0,&lt;br /&gt;    leaf int(1)  NOT NULL DEFAULT 0,&lt;br /&gt;    name varchar(128) default '',&lt;br /&gt;    fullpath TEXT default '',&lt;br /&gt;    PRIMARY KEY  (`id`),&lt;br /&gt;    INDEX qlookup( parent_id , seqid , depth)&lt;br /&gt;);&lt;br /&gt;&lt;/pre&gt;our key components are&lt;br /&gt;&lt;ul&gt;&lt;li&gt;id (the nodes id)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;parent_id (the nodes parent - pretty clasic)&lt;/li&gt;&lt;li&gt;name (the textual name of the node)&lt;/li&gt;&lt;li&gt;seqid - the generated order item for the whole tree&lt;/li&gt;&lt;li&gt;depth - how deep the node is (usefull for indenting)&lt;/li&gt;&lt;li&gt;leaf - is it a leaf node (eg. has no children) - usefull for icons&lt;/li&gt;&lt;/ul&gt;The trick of the stored procedures is to correctly generate the seqid, this consists of two parts, the top level wrapper and the recursive prodedure to update the table.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DROP PROCEDURE IF EXISTS _TREE__resequence;&lt;br /&gt;&lt;br /&gt;DELIMITER $$&lt;br /&gt;CREATE PROCEDURE _TREE__resequence(i_sep VARCHAR(4))   DETERMINISTIC&lt;br /&gt;  BEGIN&lt;br /&gt;        DECLARE v_p, v_d, v_s INT(11);&lt;br /&gt;        DECLARE v_fp TEXT;&lt;br /&gt;        SET v_fp = '';&lt;br /&gt;        SET v_p =0;&lt;br /&gt;        SET v_d =0;&lt;br /&gt;        SET v_s =0;&lt;br /&gt;        SET max_sp_recursion_depth=255;&lt;br /&gt;        CALL _TREE__resequence_sub(v_p, v_d, v_fp, i_sep, v_s);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    END $$&lt;br /&gt;DELIMITER ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;DROP PROCEDURE IF EXISTS _TREE__resequence_sub;&lt;br /&gt;&lt;br /&gt;DELIMITER $$&lt;br /&gt;CREATE PROCEDURE _TREE__resequence_sub(&lt;br /&gt;    i_parent INT(11),&lt;br /&gt;    i_depth INT(11),&lt;br /&gt;    i_fullpath TEXT,&lt;br /&gt;    i_sep VARCHAR(4),&lt;br /&gt;    INOUT i_seqid INT(11)&lt;br /&gt;    )   DETERMINISTIC&lt;br /&gt;    BEGIN&lt;br /&gt;        DECLARE v_nid, v_ex_seqid  INT(11);&lt;br /&gt;        DECLARE v_name VARCHAR(128);&lt;br /&gt;        DECLARE v_leaf INT(1);&lt;br /&gt;        DECLARE v_fullpath TEXT;&lt;br /&gt;        DECLARE done INT DEFAULT 0;&lt;br /&gt;&lt;br /&gt;        DECLARE qry CURSOR FOR SELECT id, seqid, name  FROM _TREE_ &lt;br /&gt;              WHERE parent_id = i_parent ORDER BY seqid;&lt;br /&gt;        DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;&lt;br /&gt;        OPEN qry;&lt;br /&gt;&lt;br /&gt;        REPEAT&lt;br /&gt;            FETCH qry INTO v_nid, v_ex_seqid, v_name;&lt;br /&gt;&lt;br /&gt;            IF NOT done THEN&lt;br /&gt;                IF v_ex_seqid != i_seqid THEN &lt;br /&gt;                    UPDATE _TREE_ SET seqid = i_seqid, depth=i_depth WHERE id=v_nid;&lt;br /&gt;                END IF;&lt;br /&gt;                IF i_depth &gt; 0 THEN &lt;br /&gt;                    SET v_fullpath = CONCAT(i_fullpath, i_sep, v_name);&lt;br /&gt;                ELSE &lt;br /&gt;                    SET v_fullpath = v_name;&lt;br /&gt;                END IF;&lt;br /&gt;                SET v_leaf =0;&lt;br /&gt;                SELECT COUNT(id) INTO v_leaf FROM _TREE_ where parent_id = v_nid;&lt;br /&gt;&lt;br /&gt;                UPDATE _TREE_ SET &lt;br /&gt;                    fullpath = v_fullpath,&lt;br /&gt;                    leaf = IF (v_leaf &gt; 0, 0 , 1)&lt;br /&gt;                    WHERE id=v_nid;&lt;br /&gt;&lt;br /&gt;                SET i_seqid = i_seqid +1;&lt;br /&gt;                #// do the children..&lt;br /&gt;                CALL _TREE__resequence_sub(v_nid, i_depth+1, v_fullpath, i_sep, i_seqid);&lt;br /&gt;            END IF;&lt;br /&gt;        UNTIL done END REPEAT;&lt;br /&gt;&lt;br /&gt;        CLOSE qry;&lt;br /&gt;&lt;br /&gt;    END $$&lt;br /&gt;DELIMITER ;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;This does the hard work of iterating through the tree, and updating the sequence number, depth, leaf field and filling in the fullpath field&lt;br /&gt;&lt;br /&gt;Now our simple add node code just adds the node in the correct place, bumps the seqid along, so that you can then regenerate the tree.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;DROP FUNCTION IF EXISTS _TREE__add_node;&lt;br /&gt;&lt;br /&gt;DELIMITER $$&lt;br /&gt;CREATE FUNCTION _TREE__add_node(&lt;br /&gt;    i_parent INT(11),&lt;br /&gt;    i_after INT(11),&lt;br /&gt;    i_name VARCHAR(128)&lt;br /&gt;    ) RETURNS INT(11) DETERMINISTIC&lt;br /&gt;    BEGIN&lt;br /&gt;&lt;br /&gt;        DECLARE v_depth INT(11);&lt;br /&gt;        DECLARE v_seqid INT(11);&lt;br /&gt;        DECLARE v_ret INT(11);&lt;br /&gt;        DECLARE v_tmp INT(11);&lt;br /&gt;&lt;br /&gt;        SET v_depth = 0;&lt;br /&gt;        SET v_seqid = 0;&lt;br /&gt;        SET&lt;/pre&gt;&lt;p&gt;&lt;i&gt;Truncated by Planet PHP, read more at &lt;a href=&quot;http://www.akbkhome.com/blog.php/View/179/nested_trees_in_mysql__handy_stored_procedures.html&quot;&gt;the original&lt;/a&gt; (another 3410 bytes)&lt;/i&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 06:52:00 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: Well-Typed.Com: GHC and Windows DLLs</title>
	<guid>http://blog.well-typed.com/?p=77</guid>
	<link>http://blog.well-typed.com/2009/07/ghcdlls/</link>
	<description>&lt;p&gt;Following on from Duncan&amp;#8217;s work on &lt;a href=&quot;http://blog.well-typed.com/2009/05/buildings-plugins-as-haskell-shared-libs/&quot;&gt;Building plugins as Haskell shared libs&lt;/a&gt;, I&amp;#8217;ve been working on supporting the same functionality on Windows. The end goal is to have a &lt;code&gt;rts.dll&lt;/code&gt;, &lt;code&gt;libHsBase.dll&lt;/code&gt; and &lt;code&gt;myPlugin.dll&lt;/code&gt; and be able to write things like Excel plugins in Haskell without needing to statically link the whole runtime system and set of libraries into each one.&lt;/p&gt;
&lt;p&gt;Windows uses the Portable Executable (PE) Format, so the hoops that must be jumped through are different than those for Linux and Mac OS X. Linux uses ELF for its object format, and Mac OS X uses Mach-O. Tool chain programs such as linkers and object file views are also different.&lt;/p&gt;
&lt;p&gt;One of immediate issues is to deal with mutually recursive imports between Haskell libraries and the GHC Run Time System (RTS). Clearly, the code for a Haskell library will call the RTS to perform tasks such as allocating memory, throwing exceptions, forking threads and so on. However, the runtime system also calls back on the base library. For example, here is a function from the RTS which helps to create parallel threads:&lt;/p&gt;
&lt;pre&gt;
void createSparkThread (Capability *cap) {
    StgTSO *tso;
    tso = createIOThread (cap, RtsFlags.GcFlags.initialStkSize,
                                  &amp;amp;base_GHCziConc_runSparks_closure);
    postEvent(cap, EVENT_CREATE_SPARK_THREAD, 0, tso-&amp;gt;id);
    appendToRunQueue(cap,tso);
}
&lt;/pre&gt;
&lt;p&gt;The variable &lt;code&gt;base_GHCziConc_runSparks_closure&lt;/code&gt; is the name of a function closure in the GHC.Conc&lt;/p&gt; library which we won&amp;#8217;t have code for when we&amp;#8217;re linking the RTS. 
&lt;p&gt;One of the quirks of Windows is the need to generate so called &amp;#8220;import libraries&amp;#8221;. These contain stub code that is used to call a function in a DLL. For example, if code in module &lt;code&gt;main.o&lt;/code&gt; wants to call a function &lt;code&gt;fun&lt;/code&gt; in a library &lt;code&gt;base.dll&lt;/code&gt;, the picture looks something like this:&lt;/p&gt;
&lt;pre&gt;
## in main.o ##################### (linked into main.exe)
main:
    call fun
    ....
    call dword ptr [__imp_fun]
    &amp;#8230;. 

## in base.lib ###################### (linked into main.exe)
fun:
    jmp dword ptr [__imp_fun]

__imp_fun:
.data
    .dword fun

## in base.dll ######################
fun:
    .. actual code for fun   
&lt;/pre&gt;
&lt;p&gt;In Windows, all calls to a function in a DLL go via the Imported function Address Table (IAT). This is a table of pointers, and in the example above there is one entry named &lt;code&gt;__imp_fun&lt;/code&gt;. There are two ways to use this table. The first way is illustrated by the first call to &lt;code&gt;fun&lt;/code&gt; in &lt;code&gt;main.o&lt;/code&gt;. This call targets stub code that looks up the pointer from the table and then jumps to it. The second way is to lookup the pointer and jump to it directly, but to do this we need to know that the function is in an external DLL at code generation time. A &lt;code&gt;call fun&lt;/code&gt; instruction uses a PC relative offset, and is physically shorter than a &lt;code&gt;call dword ptr []&lt;/code&gt; instruction, so it&amp;#8217;s not practical to change one to the other at link time.&lt;/p&gt;
&lt;p&gt;The file &lt;code&gt;base.lib&lt;/code&gt; is the &amp;#8220;import library&amp;#8221;, which contains the call stub and the IAT. Import libraries need to be generated independently from the main compiling and linking process, using Windows specific tools. The import library for a particular dll is then linked into every executable (or other dll) that uses it.&lt;/p&gt;
&lt;p&gt;Anyway, I&amp;#8217;ve spent the last few days wading through MSDN and the GHC build system, and I think I&amp;#8217;ve cataloged at least all the major hoops. I&amp;#8217;ll let you know how the jumping goes next post.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 06:50:43 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Ekkehard Gentz: [galileo] Cool Views to control Plug-ins (IDE)</title>
	<guid>http://ekkescorner.wordpress.com/?p=364</guid>
	<link>http://ekkescorner.wordpress.com/2009/07/03/galileo-cool-views-to-control-plug-ins-ide/</link>
	<description>&lt;br /&gt;&lt;p&gt;Part 7 of my Galileo Reviews around Target Platforms. An Overview of this blog series can be found &lt;a href=&quot;http://ekkescorner.wordpress.com/blog-series/pde-and-targetplatform/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you look at the Views available under “&lt;strong&gt;Plug-in Development&lt;/strong&gt;” you should see this:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/pde_views.png?w=272&amp;amp;h=201&quot; title=&quot;Show View Plug-in Development&quot; height=&quot;201&quot; width=&quot;272&quot; alt=&quot;pde_views&quot; class=&quot;alignnone size-full wp-image-372&quot; /&gt;&lt;/p&gt;
&lt;p&gt;If there’s no “&lt;strong&gt;Graph Plug-in Dependencies&lt;/strong&gt;” View, then you should install it from&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://download.eclipse.org/eclipse/pde/incubator/visualization/site&quot; target=&quot;_blank&quot;&gt;http://download.eclipse.org/eclipse/pde/incubator/visualization/site&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There’s another Bundle available: &lt;a href=&quot;http://neilbartlett.name/blog/bundle-monitor/&quot; target=&quot;_blank&quot;&gt;Neil’s Bundle Monitor&lt;/a&gt;. You can install the &lt;strong&gt;Bundle Monitor&lt;/strong&gt; from&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://neilbartlett.name/downloads/bundlemonitor/site.xml&quot;&gt;http://neilbartlett.name/downloads/bundlemonitor/site.xml&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If Neil’s Bundle Monitor is installed, then you have some more Views available:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/neils-views.png?w=198&amp;amp;h=185&quot; title=&quot;Views from Neil Bartletts Bundle Monitor&quot; height=&quot;185&quot; width=&quot;198&quot; alt=&quot;Views from Neil Bartletts Bundle Monitor&quot; class=&quot;alignnone size-full wp-image-384&quot; /&gt;&lt;/p&gt;
&lt;p&gt;in this Blog we’ll use the &lt;strong&gt;Bundles&lt;/strong&gt; View and the &lt;strong&gt;Services&lt;/strong&gt; View from Bundle Monitor. (HowTo use the &lt;strong&gt;Configuration&lt;/strong&gt; View is another story and will be covered in a blog of my &lt;a href=&quot;http://ekkescorner.wordpress.com/blog-series/osgi-apps/&quot; target=&quot;_blank&quot;&gt;osgi – applications – blogseries&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Additional to these Views you can get informations of Plug-ins from your running IDE from the “&lt;strong&gt;&lt;em&gt;About &amp;gt; Installation Details&lt;/em&gt;&lt;/strong&gt;” Page.&lt;/p&gt;
&lt;h3&gt;Two different kind of Views&lt;/h3&gt;
&lt;p&gt;Please remember, that there are Plug-ins installed into the IDE and also Plug-ins installed into your Target Platform, so you need two different kind of Views !&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/crete-026.png?w=308&amp;amp;h=332&quot; title=&quot;ekke in crete playing backgammon&quot; height=&quot;332&quot; width=&quot;308&quot; alt=&quot;ekke in crete&quot; class=&quot;size-full wp-image-373   alignnone&quot; /&gt;&lt;/p&gt;
&lt;p&gt;If your IDE is also the active  running Target Platform – then in this case all Views are pointing to the same set of Plug-ins.&lt;/p&gt;
&lt;p&gt;Lets structure the Views now depending on the source where the Plug-ins are from:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;1. View @ Plug-ins defining your IDE&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;1.1. Plug-in registry&lt;/li&gt;
&lt;li&gt;1.2. About &amp;gt; Installation Details &amp;gt; Plug-ins&lt;/li&gt;
&lt;li&gt;1.3. About &amp;gt; Installation Details &amp;gt; Configuration&lt;/li&gt;
&lt;li&gt;1.4 Bundle Monitor &amp;gt; Bundles View&lt;/li&gt;
&lt;li&gt;1.5 Bundle Monitor &amp;gt; Services View&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;2. View @ Plug-ins defining a Target Platform&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;2.1. Plug-ins&lt;/li&gt;
&lt;li&gt;2.2. Target Platform State&lt;/li&gt;
&lt;li&gt;2.3. Plug-in Dependencies&lt;/li&gt;
&lt;li&gt;2.4. Graph Plug-in Dependencies&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this blog entry we’ll look in detail @ Plug-ins defining your IDE (1.1 … 1.5). The next blog entry will cover the Target Platform (2.1 … 2.4)&lt;/p&gt;
&lt;h3&gt;1. View @ Plug-ins defining your IDE&lt;/h3&gt;
&lt;p&gt;All these Views are using your Plug-ins (Bundles) installed at the running IDE.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.1. Plug-in Registry View&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Plug-in Registry View got many enhancements compared with Eclipse 3.4. Lets look at some different kind of bundles and see what kind of informations now are available.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Run-time Libraries:&lt;/strong&gt; if a Bundle defines Run-time Libraries, they are listet. (example from plug-in &lt;em&gt;com.brosinski.eclipse.regex&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-3rdparty-with-rt-library1.png?w=161&amp;amp;h=38&quot; title=&quot;plugin-registry 3rdparty with rt library&quot; height=&quot;38&quot; width=&quot;161&quot; alt=&quot;plugin-registry 3rdparty with rt library&quot; class=&quot;alignnone size-full wp-image-411&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Extension Points&lt;/strong&gt;: If Plug-ins are defining Extension Points, you can inspect them.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-e-core-rt-w-extension-points1.png?w=398&amp;amp;h=191&quot; title=&quot;Plug-in defining Extension Points (org.eclipse.core.runtime)&quot; height=&quot;191&quot; width=&quot;398&quot; alt=&quot;plugin-registry e core rt w extension points&quot; class=&quot;alignnone size-full wp-image-399&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Required Bundles&lt;/strong&gt;: The required Bundles are listed under “&lt;strong&gt;Prerequisites&lt;/strong&gt;“.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;@ Location&lt;/strong&gt;: You also see that there’s always an information about @ Location where you can easy control where the bundle comes from: per ex. &lt;em&gt;eclipse/plugins&lt;/em&gt; installation or  &lt;em&gt;dropins&lt;/em&gt; directory&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;398&quot; alt=&quot;plugin-registry e core rt w required bundles&quot; src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-e-core-rt-w-required-bundles1.png?w=398&amp;amp;h=191&quot; title=&quot;plugin-registry e core rt w required bundles&quot; height=&quot;191&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Registered Services&lt;/strong&gt;: Informations about Services in Plug-in Registry View are new in Eclipse 3.5 and are shown with informations about &lt;em&gt;Service ID&lt;/em&gt;, &lt;em&gt;Interface&lt;/em&gt;, &lt;em&gt;Properties&lt;/em&gt; and (very useful) which bundles are using the Service at the moment.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-e-core-rt-w-registered-services1.png?w=398&amp;amp;h=220&quot; title=&quot;Registered Services form Plug-in registry View&quot; height=&quot;220&quot; width=&quot;398&quot; alt=&quot;plugin-registry e core rt w registered services&quot; class=&quot;alignnone size-full wp-image-400&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Used Services&lt;/strong&gt;: gives you informations which OSGI Services are used by this Plug-in. BTW: It doesn’t matter if a Service is a classic OSGI Service or a Declarative Service (DS) – all are displayed in the Plug-in registry View.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-e-core-rt-w-used-services1.png?w=398&amp;amp;h=345&quot; title=&quot;Used OSGI Services&quot; height=&quot;345&quot; width=&quot;398&quot; alt=&quot;plugin-registry e core rt w used services&quot; class=&quot;alignnone size-full wp-image-402&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fragment Bundles&lt;/strong&gt;: Fragments are easy recognized – they have an own icon. The Host is displayed right beside the Version.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-fragment.png?w=497&amp;amp;h=73&quot; title=&quot;plugin-registry fragment&quot; height=&quot;73&quot; width=&quot;497&quot; alt=&quot;plugin-registry fragment&quot; class=&quot;alignnone size-full wp-image-391&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Imported and Exported Packages&lt;/strong&gt;: also new in Eclipse 3.5 you get detailed informations which Packages are imported and which ones exported. Great for me as I’m a fan of using Imported and Exported Packages where possible.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;398&quot; alt=&quot;plugin-registry imported exported packages&quot; src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-imported-exported-packages1.png?w=398&amp;amp;h=274&quot; title=&quot;plugin-registry imported and exported packages&quot; height=&quot;274&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Options&lt;/strong&gt;: Right-clicking on a Plug-in there are some options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Refresh (refreshes informations from running IDE)&lt;/li&gt;
&lt;li&gt;Copy (copies the symbolic name into clipboard)&lt;/li&gt;
&lt;li&gt;Go Home / Back / Into (some navigation)&lt;/li&gt;
&lt;li&gt;Show Active Plug-ins only (Filters the View only displaying Active Plug-ins)&lt;/li&gt;
&lt;li&gt;Show Disabled Plug-ins only (Filters the View only displaying Disabled Plug-ins)&lt;/li&gt;
&lt;li&gt;Show Advanced Operations (a toggle to display advanced operations -see below)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img width=&quot;215&quot; alt=&quot;plugin-registry options&quot; src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-options1.png?w=215&amp;amp;h=135&quot; title=&quot;plugin-registry options&quot; height=&quot;135&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Options with Advanced Operations&lt;/strong&gt;: if advanced operations are ON, there will be some more commands available bringing functionality of OSGI Console into Plug-in registry View):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Start (Starts the bundle if not already running. BTW: Did you notice the small arrow indicating if a Plug-in is running or not ?)&lt;/li&gt;
&lt;li&gt;Stop (Stops a running bundle)&lt;/li&gt;
&lt;li&gt;Diagnose (same as “diag” from OSGI console)&lt;/li&gt;
&lt;li&gt;Disable (disables a Plug-in)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img width=&quot;215&quot; alt=&quot;plugin-registry options w advanced operations&quot; src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-options-w-advanced-operations1.png?w=215&amp;amp;h=175&quot; title=&quot;plugin-registry options w advanced operations&quot; height=&quot;175&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Group By&lt;/strong&gt;: By default the Plug-in Registry View is groupd by &lt;strong&gt;Plug-in&lt;/strong&gt;, but you can also group by &lt;strong&gt;Extension Point&lt;/strong&gt; and &lt;strong&gt;Service&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;232&quot; alt=&quot;plugin-registry group by selections&quot; src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-group-by-selections1.png?w=232&amp;amp;h=68&quot; title=&quot;plugin-registry group by selections&quot; height=&quot;68&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Group By Extension Point&lt;/strong&gt;: you can easy find the Extension Points avalable and control who’s contributing an extension and what variables are set.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-group-by-extension-point1.png?w=309&amp;amp;h=130&quot; title=&quot;plugin-registry group by extension point&quot; height=&quot;130&quot; width=&quot;309&quot; alt=&quot;plugin-registry group by extension point&quot; class=&quot;alignnone size-full wp-image-404&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Group By Services&lt;/strong&gt;: The Interface, who registered the Service, what Properties are set&lt;/p&gt;
&lt;p&gt;&lt;img width=&quot;309&quot; alt=&quot;plugin-registry group by services&quot; src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-group-by-services1.png?w=309&amp;amp;h=130&quot; title=&quot;plugin-registry group by services&quot; height=&quot;130&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Group By Services (DS)&lt;/strong&gt;: In this case its a &lt;strong&gt;Declarative Service&lt;/strong&gt; and you also get Informations about the &lt;strong&gt;Component&lt;/strong&gt;. Also you see that this Service is used by a Bundle, the other Service above was registered, but not used yet.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/plugin-registry-group-by-services-ds-example1.png?w=386&amp;amp;h=215&quot; title=&quot;plugin-registry group by services DS example&quot; height=&quot;215&quot; width=&quot;386&quot; alt=&quot;plugin-registry group by services DS example&quot; class=&quot;alignnone size-full wp-image-406&quot; /&gt;&lt;/p&gt;
&lt;p&gt;From my POV the Plug-in Registry is very helpful to analyse your running IDE and I dont want miss it. Thx to the PDE Team that DS are very well integrated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.2. About &amp;gt; Installation Details &amp;gt; Plug-ins&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As seen in &lt;a href=&quot;http://ekkescorner.wordpress.com/2009/06/27/galileo-install-plug-ins-into-eclipse-ide/&quot; target=&quot;_blank&quot;&gt;previous&lt;/a&gt; blog there’s also a list of all Plug-ins from running IDE.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.3. About &amp;gt; Installation Details -&amp;gt; Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Installation Details offer informations about your Configuration. You should open this and explore the content. Here are only some parts:&lt;/p&gt;
&lt;p&gt;The installed &lt;strong&gt;Features&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/configuration-features.png?w=388&amp;amp;h=175&quot; title=&quot;configuration - features&quot; height=&quot;175&quot; width=&quot;388&quot; alt=&quot;configuration - features&quot; class=&quot;alignnone size-full wp-image-416&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The installed &lt;strong&gt;Plug-in&lt;/strong&gt;s: with exact informations from bundle-lifecycle – you see if a bundle is [ACTIVE] [STARTING] [RESOLVED] etc.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/configuration-plug-ins.png?w=622&amp;amp;h=137&quot; title=&quot;configuration - plug-ins&quot; height=&quot;137&quot; width=&quot;622&quot; alt=&quot;configuration - plug-ins&quot; class=&quot;alignnone size-full wp-image-417&quot; /&gt;&lt;/p&gt;
&lt;p&gt;… and much more.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.4. Bundle Monitor &amp;gt; Bundles View&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you have installed Neil Bartletts &lt;strong&gt;Bundle Monitor&lt;/strong&gt;, the View &lt;strong&gt;&lt;em&gt;OSGI Runtime &amp;gt; Bundles&lt;/em&gt;&lt;/strong&gt; looks like the OSGI Console and gives you an information about the state of your bundles from running IDE. (You can include this view also into your RCP application to display the infos from your Runtime then)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/bundle-monitor-bundles.png?w=622&amp;amp;h=237&quot; title=&quot;bundle monitor bundles&quot; height=&quot;237&quot; width=&quot;622&quot; alt=&quot;bundle monitor bundles&quot; class=&quot;alignnone size-full wp-image-418&quot; /&gt;&lt;/p&gt;
&lt;p&gt;From this View you can also&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/bundle-monitor-bundles-options.png?w=158&amp;amp;h=49&quot; title=&quot;bundle monitor bundles options&quot; height=&quot;49&quot; width=&quot;158&quot; alt=&quot;bundle monitor bundles options&quot; class=&quot;alignnone size-full wp-image-419&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Filter the Bundles&lt;/li&gt;
&lt;li&gt;Install new Bundle from File&lt;/li&gt;
&lt;li&gt;Install new Bundle from URL&lt;/li&gt;
&lt;li&gt;Try to resolve all Bundles&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Attention if Installing Bundles ! (see below)&lt;/p&gt;
&lt;p&gt;Right-clicking on a Bundle gives you:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/bundle-monitor-bundles-right-click.png?w=195&amp;amp;h=127&quot; title=&quot;bundle monitor bundles right click&quot; height=&quot;127&quot; width=&quot;195&quot; alt=&quot;bundle monitor bundles right click&quot; class=&quot;alignnone size-full wp-image-420&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Properties…&lt;/li&gt;
&lt;li&gt;Resolve the bundle&lt;/li&gt;
&lt;li&gt;Start the bundle&lt;/li&gt;
&lt;li&gt;Stop the bundle&lt;/li&gt;
&lt;li&gt;Uninstall the bundle&lt;/li&gt;
&lt;li&gt;Diagnose the bundle&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;strong&gt;Properties&lt;/strong&gt; are displaying informations from the MANIFEST. From your IDE you can easy open the MANIFEST directly, but if inside an RCP app its a good option to explore things.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/bundle-monitor-bundles-properties.png?w=304&amp;amp;h=294&quot; title=&quot;bundle monitor bundles properties&quot; height=&quot;294&quot; width=&quot;304&quot; alt=&quot;bundle monitor bundles properties&quot; class=&quot;alignnone size-full wp-image-421&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ATTENTION&lt;/strong&gt;: If you &lt;strong&gt;Install a bundle from Bundle Monitor&lt;/strong&gt; then&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the Bundle is correctly installed&lt;/li&gt;
&lt;li&gt;has State [INSTALLED]&lt;/li&gt;
&lt;li&gt;will be displayed in Plug-in registry View&lt;/li&gt;
&lt;li&gt;is &lt;strong&gt;NOT&lt;/strong&gt; visible under About &amp;gt; Installation Details Plug-ins&lt;/li&gt;
&lt;li&gt;you can &lt;strong&gt;NOT&lt;/strong&gt; Uninstall it from About &amp;gt; Installation Details &amp;gt; Installed Software&lt;/li&gt;
&lt;li&gt;after Restart the Bundle is “gone” – nothing in Plug-in Registry&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why  are some nice features from Eclipse 3.5 not available ? If you look into &lt;strong&gt;Installation Details &amp;gt; Configuration&lt;/strong&gt; you see the Bundle is recognized as “Bundle in System”, from “Plug-in registry”, but not as “P2 IU – Installable Unit”. The missing P2 is the key: “&lt;strong&gt;Bundle Monitor&lt;/strong&gt;” doesn’t support P2 at the moment.&lt;/p&gt;
&lt;p&gt;The nice thing: you can easy test some bundles in your running IDE without persisting the installation – only do a restart and they are gone ! if all works as expected then you can install them after restart the usual P2-aware way.&lt;/p&gt;
&lt;p&gt;I like Neil’s Bundles View: its great to see the State of all Bundles – and sometimes its good to have a way to install a bundle without letting P2 knowing about &lt;img src=&quot;http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.5. Bundle Monitor &amp;gt; Services View&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Services View from Bundle Monitor gives you a List of all Services:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://ekkescorner.files.wordpress.com/2009/07/bundle-monitor-services.png?w=502&amp;amp;h=96&quot; title=&quot;bundle monitor services&quot; height=&quot;96&quot; width=&quot;502&quot; alt=&quot;bundle monitor services&quot; class=&quot;alignnone size-full wp-image-422&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In this case I would prefer to use the Plug-ins registry View grouped by Services. But installed into a RCP app this View can be used to display all Services. (or use it in Eclipse 3.4 Installations without Services listed under Plug-ins Registry View)&lt;/p&gt;
&lt;p&gt;The next blog entry of my Galileo reviews will look in detail @ Plug-ins defining a Target Platform.&lt;/p&gt;
Posted in Eclipse, Equinox, Galileo, OSGI, P2, PDE  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/ekkescorner.wordpress.com/364/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/ekkescorner.wordpress.com/364/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/ekkescorner.wordpress.com/364/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/ekkescorner.wordpress.com/364/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/ekkescorner.wordpress.com/364/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/ekkescorner.wordpress.com/364/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/ekkescorner.wordpress.com/364/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/ekkescorner.wordpress.com/364/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/ekkescorner.wordpress.com/364/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/ekkescorner.wordpress.com/364/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=ekkescorner.wordpress.com&amp;amp;blog=7691743&amp;amp;post=364&amp;amp;subd=ekkescorner&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 06:42:00 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Mary Colvig: Celebrating the launch!</title>
	<guid>http://chickswhoclick.wordpress.com/?p=233</guid>
	<link>http://chickswhoclick.wordpress.com/2009/07/03/celebrating-the-launch/</link>
	<description>&lt;br /&gt;&lt;p&gt;I want to take a moment to thank the amazing community marketing team for making this such a great launch!  It was pretty incredible to see tweets and Facebook updates spilling in from all over the world via &lt;a href=&quot;http://www.spreadfirefox.com/shiretokoshock&quot;&gt;Shiretoko Shock.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We’d love to do a wrap up of all the great activities that took place on launch day.  Please take a moment to help us collect and share the following on our &lt;a href=&quot;http://moz.fxtracker.sgizmo.com&quot;&gt;activity tracker&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Blog posts you created or found on Firefox 3.5&lt;/li&gt;
&lt;li&gt;Mentions of Firefox 3.5 on Twitter, Facebook or Digg&lt;/li&gt;
&lt;li&gt;Articles about Firefox 3.5 on news sites&lt;/li&gt;
&lt;li&gt;Videos or photos related to Firefox 3.5&lt;/li&gt;
&lt;li&gt;Details about Firefox 3.5 launch parties&lt;/li&gt;
&lt;li&gt;More!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We’ll share all the results at the next community marketing call on July 15th.  We’ll also be sending some very cool Firefox goodies for those that have helped make this launch great so be sure to submit  your activities!  And, don’t forget to have some fun by finding a &lt;a href=&quot;http://www.spreadfirefox.com/event/2009/06/19/month/all/1044&quot;&gt;Firefox party near you&lt;/a&gt;!&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/chickswhoclick.wordpress.com/233/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/chickswhoclick.wordpress.com/233/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/chickswhoclick.wordpress.com/233/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/chickswhoclick.wordpress.com/233/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/chickswhoclick.wordpress.com/233/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/chickswhoclick.wordpress.com/233/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/chickswhoclick.wordpress.com/233/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/chickswhoclick.wordpress.com/233/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/chickswhoclick.wordpress.com/233/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/chickswhoclick.wordpress.com/233/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=chickswhoclick.wordpress.com&amp;amp;blog=67108&amp;amp;post=233&amp;amp;subd=chickswhoclick&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 06:08:16 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Robert Sayre: mmm, fud</title>
	<guid>http://blog.mozilla.com/rob-sayre/?p=355</guid>
	<link>http://blog.mozilla.com/rob-sayre/2009/07/02/mmm-fud/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2009Jul/0093.html&quot;&gt;Maciej Stachowiak, Apple&lt;/a&gt;: &lt;i&gt;“I’m surprised at the level of confidence expressed in Theora not infringing unknown patents…”&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;That’s right folks, it’s working group amateur hour. Step right up, try your hand.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 05:37:56 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Dave Carver: XText for RelaxNG Update</title>
	<guid>tag:blogger.com,1999:blog-1585332946379204379.post-1162027538436426825</guid>
	<link>http://intellectualcramps.blogspot.com/2009/07/xtext-for-relaxng-update.html</link>
	<description>&lt;a href=&quot;http://www.peterfriese.de/&quot;&gt;Peter Friese&lt;/a&gt; spent some time with me this afternoon to help work around some of the issues I had with the EBNF grammar and Xtext.   The results are very encouraging.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2RTKgxoYI/AAAAAAAAAI0/t6Te5Eg2rKo/s1600-h/rngcompacteditor.png&quot;&gt;&lt;img src=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2RTKgxoYI/AAAAAAAAAI0/t6Te5Eg2rKo/s400/rngcompacteditor.png&quot; alt=&quot;&quot; style=&quot;text-align: center; cursor: pointer; width: 400px; height: 144px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5354095290438754690&quot; /&gt;&lt;/a&gt;The above is the editor, and outline view that is generated from the XText grammar.   We even have some very basic content assistance that comes with it.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2Ru8jiidI/AAAAAAAAAI8/yV-NT7RnuDw/s1600-h/contentassist10.png&quot;&gt;&lt;img src=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2Ru8jiidI/AAAAAAAAAI8/yV-NT7RnuDw/s400/contentassist10.png&quot; alt=&quot;&quot; style=&quot;text-align: center; cursor: pointer; width: 400px; height: 235px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5354095767728589266&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The hope is to p0lish this up over the next week or so, and contribute the source to the &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=281529&quot;&gt;RelaxNG Editor and Validator enhacement&lt;/a&gt; in WTP.   A code contribution has already been attached to the bug that provides Grammar aware content assistance and validation for XML files backed by a RelaxNG grammar.   Hopefully we can get this project quickly into the WTP Incubator so that RelaxNG support can be added by Helios in some form.&lt;br /&gt;&lt;br /&gt;Thanks again for the help Peter.&lt;img width=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/1585332946379204379-1162027538436426825?l=intellectualcramps.blogspot.com&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 05:13:32 +0000</pubDate>
</item>
<item>
	<title>XMLhack: XText for RelaxNG Update</title>
	<guid>http://intellectualcramps.blogspot.com/2009/07/xtext-for-relaxng-update.html</guid>
	<link>http://intellectualcramps.blogspot.com/2009/07/xtext-for-relaxng-update.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.peterfriese.de/&quot;&gt;Peter Friese&lt;/a&gt; spent some
time with me this afternoon to help work around some of the issues
I had with the EBNF grammar and Xtext. The results are very
encouraging.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2RTKgxoYI/AAAAAAAAAI0/t6Te5Eg2rKo/s1600-h/rngcompacteditor.png&quot;&gt;
&lt;img src=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2RTKgxoYI/AAAAAAAAAI0/t6Te5Eg2rKo/s400/rngcompacteditor.png&quot; alt=&quot;&quot; border=&quot;0&quot; name=&quot;BLOGGER_PHOTO_ID_5354095290438754690&quot; id=&quot;BLOGGER_PHOTO_ID_5354095290438754690&quot; /&gt;&lt;/a&gt;The above is the
editor, and outline view that is generated from the XText grammar.
We even have some very basic content assistance that comes with
it.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2Ru8jiidI/AAAAAAAAAI8/yV-NT7RnuDw/s1600-h/contentassist10.png&quot;&gt;
&lt;img src=&quot;http://1.bp.blogspot.com/_KrN73FFeGok/Sk2Ru8jiidI/AAAAAAAAAI8/yV-NT7RnuDw/s400/contentassist10.png&quot; alt=&quot;&quot; border=&quot;0&quot; name=&quot;BLOGGER_PHOTO_ID_5354095767728589266&quot; id=&quot;BLOGGER_PHOTO_ID_5354095767728589266&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
The hope is to p0lish this up over the next week or so, and
contribute the source to the &lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=281529&quot;&gt;RelaxNG
Editor and Validator enhacement&lt;/a&gt; in WTP. A code contribution has
already been attached to the bug that provides Grammar aware
content assistance and validation for XML files backed by a RelaxNG
grammar. Hopefully we can get this project quickly into the WTP
Incubator so that RelaxNG support can be added by Helios in some
form.&lt;br /&gt;
&lt;br /&gt;
Thanks again for the help Peter.&lt;/p&gt;
&lt;img width=&quot;1&quot; alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/1585332946379204379-1162027538436426825?l=intellectualcramps.blogspot.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 05:13:32 +0000</pubDate>
</item>
<item>
	<title>GNOME: Sankarshan Mukhopadhyay: Have fun at GUADEC !</title>
	<guid>http://sankarshan.randomink.org/blog/2009/07/03/have-fun-at-guadec/</guid>
	<link>http://sankarshan.randomink.org/blog/2009/07/03/have-fun-at-guadec/</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/sankarshan.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; &lt;p&gt;I had submitted a talk for the &lt;a href=&quot;http://www.grancanariadesktopsummit.org/&quot;&gt;GUADEC&lt;/a&gt; which was accepted. However, in light of &lt;a href=&quot;http://blogs.gnome.org/gpoo/2009/05/03/status-of-guadecs-sponsorship-requests/&quot;&gt;this blog entry&lt;/a&gt;, my decidedly infrequent contributions to &lt;a href=&quot;http://www.gnome.org&quot;&gt;GNOME&lt;/a&gt; and, an inability to travel using my own finances, I decided that there was no glory in asking for travel+lodging assistance. So, once again, I am not going to be at GUADEC ! Some day I will make it though.&lt;/p&gt;
&lt;p&gt;One of the reasons that GCDS was interesting for me was the chance to talk about localization in terms of improving the context of the localization-ready content.  During translations, one often encounters sentence construction which does not have context and, providing a means to overcome the issue in a gradual manner would make for much nicer localized UIs. Additionally, learning about improvements to the &lt;a href=&quot;http://l10n.gnome.org&quot;&gt;GNOME L10n infrastructure&lt;/a&gt; was a secondary goal. The ulterior motive was also to know about the project’s plans to outreach to groups of students beyond the obvious GSoC and, how to use the project’s knowledge to teach open source.&lt;/p&gt;
&lt;p&gt;Meanwhile, let me go back to doing some more translations. They seem to be improving my vocabulary by leaps and bounds. Although, my reviewer says that my spelling is atrocious &lt;img src=&quot;http://sankarshan.randomink.org/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;The post is brought to you by &lt;a href=&quot;http://fedorahosted.org/lekhonee&quot;&gt;lekhonee&lt;/a&gt; v0.5&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 04:52:59 +0000</pubDate>
</item>
<item>
	<title>OpenJDK: Naoto Sato: JavaFX 1.2とインプット・メソッド</title>
	<guid>http://blogs.sun.com/naotoj/entry/javafx_1_2_and_input1</guid>
	<link>http://blogs.sun.com/naotoj/entry/javafx_1_2_and_input1</link>
	<description>&lt;p&gt;&lt;a shape=&quot;rect&quot; href=&quot;http://javafx.com/docs/articles/javafx1-2.jsp&quot;&gt;JavaFX 1.2の機能と拡張（英語）&lt;/a&gt;の一つとして、インプットメソッドを扱うAPIが加わりました。JavaFX 1.2以前のリリースでは、シーングラフ中の&lt;code&gt;Node&lt;/code&gt;はインプットメソッドで確定された文字列のみを一連の&lt;code&gt;KeyEvent&lt;/code&gt;として受け取る事しかできませんでしたが、JavaFX 1.2で新しく加わったAPIを使う事により&lt;code&gt;Node&lt;/code&gt;はインプットメソッドの変換途中の文字列の情報も受け取れるようになり、アプリケーションが自由に変換途中の状態を表示できるようになります。&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 04:52:19 +0000</pubDate>
</item>
<item>
	<title>Ubuntu Lite: Phase I of Site maintenance complete</title>
	<guid>http://www.u-lite.org/325 at http://www.u-lite.org</guid>
	<link>http://www.u-lite.org/content/phase-i-site-maintenance-complete</link>
	<description>&lt;p&gt;The first phase of site maintenance is complete.  The majority of the site being down should be behind us now.  As everyone can see, this phase was not only under the hood updates to Drupal and Modules, but also features a new theme to try out.  Let me know if anyone experiences any problems with it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.u-lite.org/content/phase-i-site-maintenance-complete&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 04:50:50 +0000</pubDate>
</item>
<item>
	<title>OpenJDK: Landon Fuller: PLBlocks: Blocks for iPhoneOS 3.0 and Mac OS X 10.5</title>
	<guid>http://landonf.bikemonkey.org/2009/07/02#Blocks_For_iPhone.20090703</guid>
	<link>http://landonf.bikemonkey.org/2009/07/02#Blocks_For_iPhone.20090703</link>
	<description>&lt;p&gt;Over the weekend (and for some of the week) I've been working on
back-porting block support from the &lt;a shape=&quot;rect&quot; href=&quot;http://www.apple.com/macosx/&quot;&gt;Snow Leopard&lt;/a&gt;
toolchain, with the goal of leveraging blocks for our iPhone and Mac OS X 10.5
development at Plausible Labs.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 04:50:00 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Nagappan: Mago – Gran Canaria Desktop Summit</title>
	<guid>tag:blogger.com,1999:blog-5172440053446312608.post-3895898081746282097</guid>
	<link>http://ldtp-soc.blogspot.com/2009/07/mago-gran-canaria-desktop-summit.html</link>
	<description>&lt;a href=&quot;http://ubuntutesting.wordpress.com/&quot;&gt;Ara Pulido&lt;/a&gt; will be presenting &lt;a href=&quot;http://www.grancanariadesktopsummit.org/node/220&quot;&gt;Mago&lt;/a&gt; in &lt;a href=&quot;http://www.grancanariadesktopsummit.org/&quot;&gt;Gran Canaria Desktop&lt;/a&gt; summit. &lt;a href=&quot;http://monotonous.org/&quot;&gt;Eitan Isaacson&lt;/a&gt; will also be attending the conference.&lt;br /&gt;&lt;br /&gt;Eitan has done all the base ground work for &lt;a href=&quot;http://cgit.freedesktop.org/ldtp/ldtp2/tree&quot;&gt;LDTPv2&lt;/a&gt;. Eitan also did the ground work with Javier and Ara on &lt;a href=&quot;http://launchpad.net/mago&quot;&gt;Mago&lt;/a&gt; too :) alrounder !!!&lt;br /&gt;&lt;br /&gt;Any one interested in GNOME / KDE automated testing, I recommend you to attend the session by Ara.&lt;br /&gt;&lt;br /&gt;Happy hacking Ara, Eitan.&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/5172440053446312608-3895898081746282097?l=ldtp-soc.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 04:37:04 +0000</pubDate>
</item>
<item>
	<title>PHP: Ready for PHP &amp; MySQL Week at SitePoint? - SitePoint » PHP</title>
	<guid>http://www.pheedcontent.com/click.phdo?i=b48cdc312193194cf77b65da31406cff</guid>
	<link>http://www.pheedcontent.com/click.phdo?i=b48cdc312193194cf77b65da31406cff</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.sitepoint.com/books/phpmysql4/&quot;&gt;&lt;img class=&quot;imgright alignright&quot; title=&quot;Build Your Own Database Driven Web Site Using PHP &amp;amp; MySQL, 4th Edition&quot; src=&quot;http://www.sitepoint.com/images/books/phpmysql4/blocks.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;To celebrate the release of the new edition of well-loved SitePoint book &lt;em&gt;&lt;a href=&quot;http://www.sitepoint.com/books/phpmysql4/&quot;&gt;Build Your Own Database Driven Web Site Using PHP &amp;amp; MySQL, 4th Edition&lt;/a&gt;&lt;/em&gt; — by Kevin Yank, we’re publishing a chapter a day next week, beginning Tuesday the 7th of July.&lt;/p&gt;
&lt;p&gt;Today, we’ve published the beginning of the series: &lt;a href=&quot;http://www.sitepoint.com/article/php-mysql-tutorial/&quot;&gt;the Introduction&lt;/a&gt; and directly from the book, &lt;a href=&quot;http://www.sitepoint.com/article/php-amp-mysql-1-installation/&quot;&gt;Chapter 1: Installation&lt;/a&gt;. Over the weekend you can read chapter 1 and make sure your newly installed software is working properly, in readiness for next week’s chapters. At the end of the week you’ll have &lt;strong&gt;4 complete chapters from the book and one bonus article&lt;/strong&gt;, comprising another book excerpt.&lt;/p&gt;
&lt;p&gt;Here’s what you’ll be receiving:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 2: Introducing MySQL&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An introduction to databases in general, and the MySQL relational database management system in particular. If you’ve never worked with a relational database before, you’ll find this enlightening, whetting your appetite for what’s to come! In the process, you’ll build up a simple database to be used in later chapters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 3: Introducing PHP&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Here’s where the fun really starts. In this chapter, Kevin will introduce you to the PHP scripting language, which you can use to build dynamic web pages that present up-to-the-moment information to your visitors.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapter 4: Publishing MySQL Data on the Web&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In this chapter you’ll bring together PHP and MySQL to create some of your first database driven web pages. You’ll explore the basic techniques of using PHP to retrieve information from a database and display it on the Web in real time. Kevin will also show you how to use PHP to create web-based forms for adding new entries to, and modifying existing information in, a MySQL database on the fly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bonus: How to Handle File Uploads with PHP&lt;/strong&gt;&lt;br /&gt;
In this bonus excerpt from Chapter 12, you’ll learn how to accept file uploads from your web site visitors securely and store them.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://www.sitepoint.com/books/phpmysql4/&quot;&gt;Build Your Own Database Driven Web Site Using PHP &amp;amp; MySQL, 4th Edition&lt;/a&gt;&lt;/em&gt; is one of the most popular PHP books for beginners, and SitePoint’s first ever book. This shiny new 4th edition has been completely updated using only best-practice PHP. It’s essential reading for all budding PHP &amp;amp; MySQL developers. For more information, see the &lt;a href=&quot;http://www.sitepoint.com/books/phpmysql4/&quot;&gt;book page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you prefer to read the Adobe Acrobat PDF version of these first four chapters, you can &lt;a href=&quot;http://www.sitepoint.com/books/phpmysql4/samplechapters.php&quot;&gt;download the first four chapters FREE&lt;/a&gt;.&lt;/p&gt;
&amp;lt;script src=&quot;http://ads.aws.sitepoint.com/adjs.php?region=136&amp;amp;did=adz&amp;amp;adtype=vertical&quot; type=&quot;text/javascript&quot;&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot; /&gt;&lt;br clear=&quot;both&quot; style=&quot;clear: both;&quot; /&gt;&lt;a href=&quot;http://ads.pheedo.com/click.phdo?s=b48cdc312193194cf77b65da31406cff&amp;amp;p=1&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;border: 0;&quot; border=&quot;0&quot; src=&quot;http://ads.pheedo.com/img.phdo?s=b48cdc312193194cf77b65da31406cff&amp;amp;p=1&quot; /&gt;&lt;/a&gt;</description>
	<pubDate>Fri, 03 Jul 2009 04:35:02 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: Manuel M T Chakravarty: Converting typed term representations: from HOAS to de Bruijn.</title>
	<guid>http://justtesting.org/post/134566537</guid>
	<link>http://justtesting.org/post/134566537</link>
	<description>&lt;a href=&quot;http://www.cse.unsw.edu.au/~chak/haskell/term-conv/&quot;&gt;Converting typed term representations: from HOAS to de Bruijn.&lt;/a&gt;: Given a GADT representation of a typed higher-order term language using higher-order abstract syntax (HOAS), it is more difficult to convert to an alternative GADT representation using de Bruijn indices for bound variables than I at first expected.  Here is a solution using explicit type representations (with Data.Typeable).</description>
	<pubDate>Fri, 03 Jul 2009 04:24:25 +0000</pubDate>
</item>
<item>
	<title>Python: Christian Heimes: Python 3.0 is dead, long lives Python 3.0</title>
	<guid>http://lipyrary.blogspot.com/2009/07/python-30-is-dead-long-lives-python-30.html</guid>
	<link>http://lipyrary.blogspot.com/2009/07/python-30-is-dead-long-lives-python-30.html</link>
	<pubDate>Fri, 03 Jul 2009 04:23:54 +0000</pubDate>
</item>
<item>
	<title>OSFlash: Red5 Showcase</title>
	<guid>http://osflash.org/red5/showcase</guid>
	<link>http://osflash.org/red5/showcase</link>
	<description>Red5 Showcase

 Below is a list of applications that use Red5. Feel free to add your own! 

	*   - Online video journal for those who don’t have time to get out a journal and jot it down on paper.
	*   - Flash Video Recorder and Video Chat applications that run with RED5 
	*   - Video chat conferencing software with embedded per-minute billing and protected membership zones. Video/audio strea…</description>
	<pubDate>Fri, 03 Jul 2009 04:11:22 +0000</pubDate>
</item>
<item>
	<title>GNOME: Davyd Madeley: Off to GUADEC</title>
	<guid>http://davyd.livejournal.com/277981.html</guid>
	<link>http://davyd.livejournal.com/277981.html</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/riff.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; Heading to the airport shortly to fly to GUADEC/GCDS.&lt;br /&gt;&lt;br /&gt;Doing a bit of an airport tour: Perth, Singapore, Paris, Madrid, Las Palmas; then Las Palmas, Madrid, Gatwick; then Heathrow, Paris, Singapore, Perth. It's like the days of yore, when you had to stop all the time to refuel.&lt;br /&gt;&lt;br /&gt;When I get home, there's a week left in Perth before our stuff is uplifted for the move to Melbourne. Have spent the morning packing books into boxes. Steph is going to finish most of the packing while I'm away.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href=&quot;http://www.flickr.com/photos/penguincakes/3455097528/&quot; title=&quot;sevastopol is taken!! by penguincakes, on Flickr&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3554/3455097528_df31b36bf2.jpg&quot; alt=&quot;sevastopol is taken!!&quot; height=&quot;333&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/center&gt;</description>
	<pubDate>Fri, 03 Jul 2009 04:06:57 +0000</pubDate>
</item>
<item>
	<title>XMLhack: UntypedAtomic and YearMonthDuration Casting Question</title>
	<guid>http://intellectualcramps.blogspot.com/2009/07/untypedatomic-and-yearmonthduration.html</guid>
	<link>http://intellectualcramps.blogspot.com/2009/07/untypedatomic-and-yearmonthduration.html</link>
	<description>&lt;p&gt;While working on the PsychoPath XPath 2.0 processor in the
eclipse WTP project, I ran across the following situation.
According the the W3C XPath 2.0 test suite test case CastableAs030
the following test should fail:&lt;br /&gt;
&lt;br /&gt;&lt;/p&gt;
&lt;pre class=&quot;xml&quot;&gt;
&lt;br /&gt;xs:untypedAtomic(&quot;-P1Y1M1DT1H1M1.123S&quot;) castable as xs:yearMonthDuration&lt;br /&gt;
&lt;/pre&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
The result should be &lt;span&gt;false&lt;/span&gt;, however, we are returning
&lt;span&gt;true&lt;/span&gt;. As far as my understanding of the specification,
the xs:untypedAtomic value should be treated as a string value, and
when casting to xs:yearMonthDuration only the form of &quot;-P1Y1M1&quot; is
processed ignoring the rest. It also appears that this is a
validation duration describing:&lt;br /&gt;
a negative 1 year, 1 month, 1 day, 1 hour, 1 minute, and 1.123
seconds&lt;br /&gt;
&lt;br /&gt;
At least that is my interpretation of section 17.1.4 of &lt;a href=&quot;http://www.w3.org/TR/xpath-functions/#casting-from-primitive-to-primitive&quot;&gt;
Casting from primitive types to primitive types&lt;/a&gt;. Am I missing
something or is this a known bug in the &lt;a href=&quot;http://www.w3.org/XML/Query/test-suite/&quot;&gt;W3C Test Suite&lt;/a&gt;?&lt;/p&gt;
&lt;img width=&quot;1&quot; alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/1585332946379204379-4218578802325424950?l=intellectualcramps.blogspot.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 03:48:13 +0000</pubDate>
</item>
<item>
	<title>OpenOffice: IssueZilla: New issues: Fri Jul  3 03:43:00 UTC 2009</title>
	<guid>http://www.openoffice.org/issues/buglist.cgi?issue_id=103283+103284+103285+103286+103287+103288+103289+103290+103291+103292+103293+103294+103295+103296+103297+103298+103299+103300+103301+103302</guid>
	<link>http://www.openoffice.org/issues/buglist.cgi?issue_id=103283+103284+103285+103286+103287+103288+103289+103290+103291+103292+103293+103294+103295+103296+103297+103298+103299+103300+103301+103302</link>
	<description>&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103287&quot;&gt;#i103287#&lt;/a&gt; - Chart: some lines vanish on import of some old files&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103296&quot;&gt;#i103296#&lt;/a&gt; - Database access: Mail merge wizard: Save document leaves wrong document open&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103293&quot;&gt;#i103293#&lt;/a&gt; - Database access: ZoomText's magnifier doesn't follow the focus in the property browser&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103289&quot;&gt;#i103289#&lt;/a&gt; - Installation: KDE 4 integration: changes in scp2&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103298&quot;&gt;#i103298#&lt;/a&gt; - Presentation: Impress: Arrows with two heads displayed wrongly&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103299&quot;&gt;#i103299#&lt;/a&gt; - Presentation: Impress: red spell checking lines dont' switch on/off properly&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103297&quot;&gt;#i103297#&lt;/a&gt; - framework: Mail Merge Wizard: Crash in attempt to overwrite an open document&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103294&quot;&gt;#i103294#&lt;/a&gt; - framework: oo access to network share truncates last character of share-name&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103283&quot;&gt;#i103283#&lt;/a&gt; - gsl: KDE 4 integration&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103286&quot;&gt;#i103286#&lt;/a&gt; - gsl: KDE 4 integration: configuration backend&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103290&quot;&gt;#i103290#&lt;/a&gt; - gsl: KDE 4 integration: file picker&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103284&quot;&gt;#i103284#&lt;/a&gt; - gsl: KDE4 integration: vcl plugin&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103288&quot;&gt;#i103288#&lt;/a&gt; - porting: KDE 4 integration: changes to configure&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103302&quot;&gt;#i103302#&lt;/a&gt; - sc: Absolute references to other sheets are updated as if relative on referenced cell move&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103295&quot;&gt;#i103295#&lt;/a&gt; - sc: Date conversion Error while pasting dates in MM/DD/YYYY format&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103291&quot;&gt;#i103291#&lt;/a&gt; - sc: MATCH and VLOOKUP in unordered mode fails with large numbers&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103292&quot;&gt;#i103292#&lt;/a&gt; - sw: OpenOffice hangs when I try to open a MS word file&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103285&quot;&gt;#i103285#&lt;/a&gt; - sw: Strikethrough //// changed to ---- when saving in &quot;WordXP&quot; format&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103301&quot;&gt;#i103301#&lt;/a&gt; - sw: can not download any Mac OS X PPC version of open office&lt;br /&gt;
&lt;a href=&quot;http://www.openoffice.org/issues/show_bug.cgi?id=103300&quot;&gt;#i103300#&lt;/a&gt; - sw: writerfilter: docx document ends up empty&lt;br /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 03:43:56 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Mozilla Web Development: Improving Accessibility Through ARIA</title>
	<guid>http://blog.mozilla.com/webdev/?p=496</guid>
	<link>http://blog.mozilla.com/webdev/2009/07/02/improving-accessibility-through-aria/</link>
	<description>&lt;p&gt;Accessibility is a pretty hairy issue in web development. When attempting to determine if your site is accessible, there are so many standards and recommendations to follow. 508, WCAG, WCAG 2.0, WAI Priority 1, 2 &amp;amp; 3. &lt;/p&gt;
&lt;p&gt;Well, now there is a new standard from the W3C called &lt;a href=&quot;http://www.w3.org/TR/wai-aria/&quot;&gt;WAI-ARIA&lt;/a&gt; (Web Accessibility Initiative - Accessible Rich Internet Applications)&lt;/p&gt;
&lt;p&gt;The simplest definition of ARIA is adding UI semantics via HTML element attributes. Simply, you add things like ‘&lt;code&gt;&amp;lt;div role=&quot;nav&quot;&amp;gt;&lt;/code&gt;‘ or ‘&lt;code&gt;&amp;lt;form role=&quot;search&quot;&amp;gt;&lt;/code&gt;‘ to specific HTML elements to give screen readers a better understanding of your content.&lt;/p&gt;
&lt;p&gt;The ARIA spec is huge (160 pages), so I won’t go over every part of it in detail. The four areas I will focus on are landmarks, required, invalid and live regions.&lt;/p&gt;
&lt;h3&gt;ARIA Landmarks&lt;/h3&gt;
&lt;p&gt;Today, when a blind user encounters a website, navigation between elements of the page can be difficult because there is no established method of marking areas of the page as navigation, content, footer, etc. Luckily with ARIA, we can.&lt;/p&gt;
&lt;p&gt;Here’s some example markup of a typical webpage:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;div id=&quot;header&quot;&amp;gt;
    &amp;lt;h1&amp;gt;My Awesome Website&amp;lt;/h1&amp;gt;
    &amp;lt;form&amp;gt; &amp;lt;/form&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id=&quot;content&quot;&amp;gt;
    &amp;lt;ul id=&quot;nav&quot;&amp;gt;&amp;lt;/ul&amp;gt;
    My website rocks!
&amp;lt;/div&amp;gt;
&amp;lt;div id=&quot;footer&quot;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;And here’s what it looks like with ARIA Landmarks:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;div id=&quot;header&quot; role=&quot;banner&quot;&amp;gt;
    &amp;lt;h1&amp;gt;My Awesome Website&amp;lt;/h1&amp;gt;
    &amp;lt;form role=&quot;search&quot;&amp;gt; &amp;lt;/form&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div id=&quot;content&quot; role=&quot;main&quot;&amp;gt;
    &amp;lt;ul id=&quot;nav&quot; role=&quot;navigation&quot;&amp;gt;&amp;lt;/ul&amp;gt;
    My website rocks!
&amp;lt;/div&amp;gt;
&amp;lt;div id=&quot;footer&quot;&amp;gt;&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;What I’ve done is add ARIA roles to certain parts of the page (header, nav, search form, primary content). Because the roles are a defined spec, screen readers can parse the page for roles and allow a user to jump to each part without having to navigate through all the content. &lt;/p&gt;
&lt;h3&gt;ARIA Required &amp;amp; Invalid&lt;/h3&gt;
&lt;p&gt;Another part of the ARIA spec is the attribute ‘aria-required’ and ‘aria-invalid’. These attributes are for communicating to screen readers that a particular form field is required and/or invalid without requiring the user to look for asterisks or other text near the field. The screen reader would alert the user to this information. Here’s an example:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;form id=&quot;searchform&quot; role=&quot;search&quot;&amp;gt;
      &amp;lt;p class=&quot;error&quot;&amp;gt;You did not enter a search term&amp;lt;/p&amp;gt;
      &amp;lt;input name=&quot;query&quot; value=&quot;&quot; aria-required=&quot;true&quot; aria-invalid=&quot;true&quot; /&amp;gt;
&amp;lt;/form&amp;gt;
 &lt;/pre&gt;
&lt;p&gt;The above code has the ‘aria-required’ and ‘aria-invalid’ attributes set to true. When a screen reader encounters this code, it will read aloud ‘required’ and ‘invalid’. This is a &lt;strong&gt;lot&lt;/strong&gt; simpler for a user than attempting to find error messages and/or asterisks in the page.&lt;/p&gt;
&lt;h3&gt;ARIA Live&lt;/h3&gt;
&lt;p&gt;A particularly difficult area of accessibility is dealing with AJAX. How can you communicate to a screen reader that content is loading or has changed? Thankfully, with ARAI Live Regions, it is quite simple. Here’s an example:&lt;/p&gt;
&lt;pre&gt;    &amp;lt;div id=&quot;sidecontent&quot; aria-live=&quot;polite&quot;&amp;gt; AJAX content goes here... &amp;lt;div&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Adding the ‘aria-live’ attribute to an element alerts a screen reader that content will change in this region and to read it aloud when it does. The aria-live attribute has ‘politeness’ levels, which allow you to specify how polite the updates should be. The four levels are &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;off&lt;/strong&gt; - updates are not communicated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;polite&lt;/strong&gt; - notify of changes only when the user is not doing anything&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;assertive&lt;/strong&gt; - announce as soon as possible, but not interrupting the user&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;rude&lt;/strong&gt; - which will be read aloud immediately&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The various levels of politeness allow for different situations where users would need to be notified immediately of important information or for content that is not as important.&lt;/p&gt;
&lt;h3&gt;Summary&lt;/h3&gt;
&lt;p&gt;This is just a quick overview of ARIA and its uses, but I’m really excited about the possibilities it creates. We can communicate the intent of our content much more explicitly. There’s also a lot of other aspects to ARIA including widgets (slider, checkbox), application structure (alerts, log, progressbar) and document structure (article, grid, definition) that are exciting.&lt;/p&gt;
&lt;h3&gt;Further Reading&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://dev.opera.com/articles/view/introduction-to-wai-aria/&quot;&gt;Longer ARIA overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3.org/TR/wai-aria/&quot;&gt;ARIA Spec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://yuiblog.com/blog/2008/12/30/configuring-screen-readers/&quot;&gt;Setting up a screen reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://video.yahoo.com/watch/4073211/10996186&quot;&gt;Accessible widgets with ARIA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Fri, 03 Jul 2009 03:43:41 +0000</pubDate>
</item>
<item>
	<title>Python: Chris McDonough: Random Things I've Learned While Writing Tech Docs</title>
	<guid>http://plope.com/Members/chrism/random_tech_writing_things</guid>
	<link>http://plope.com/Members/chrism/random_tech_writing_things</link>
	<pubDate>Fri, 03 Jul 2009 03:33:12 +0000</pubDate>
</item>
<item>
	<title>SuSE: Ben Kevan: 7 Banks Fail – FDIC Receiver of All of them</title>
	<guid>http://www.benkevan.com/blog/?p=634</guid>
	<link>http://www.benkevan.com/blog/7-banks-fail-fdic-receiver-of-all-of-them/</link>
	<description>&lt;p&gt;This week we had 7 bank closures, you heard that right, 7 bank closures. To make matters worse ALL 7 bank failures named the FDIC as the receiver. Here&amp;#8217;s a list of all the banks: &lt;/p&gt;
&lt;p&gt;Founders Bank, Worth, IL&lt;br /&gt;
Millennium State Bank of Texas, Dallas, TX&lt;br /&gt;
The First National Bank of Danville, Danville, IL&lt;br /&gt;
The Elizabeth State Bank, Elizabeth, IL&lt;br /&gt;
Rock River Bank, Oregon, IL&lt;br /&gt;
The First State Bank of Winchester, Winchester, IL&lt;br /&gt;
The John Warner Bank, Clinton, IL&lt;/p&gt;
&lt;p&gt;The above 7 bank failures brings our 2009 Total to 52, which is more then DOUBLE the 25 we had in all of 2008. The total cost to the FDIC of the 7 closures is $314.3 Million, and I can guarantee that the FDIC doesn&amp;#8217;t have much money left hence announcing today they are mulling over changing the sales rules. &lt;/p&gt;
&lt;p&gt;Things are looking bleak, and people have already called the recession &amp;#8220;over&amp;#8221;. Obviously again these continued closures show that MANY U.S. Banks are insolvent. &lt;/p&gt;
&lt;p&gt;Good thing it&amp;#8217;s a 3 day weekend and people will likely forget about the news come monday. This is a good sign for Mortgage Rates though (a collapse in the market would bring down Mortgage rates pretty good)&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 03:32:38 +0000</pubDate>
</item>
<item>
	<title>PostgreSQL: Josh Tolley: Nigeria PostgreSQL Training: Day 1</title>
	<guid>http://blog.endpoint.com/2009/07/nigeria-postgresql-training-day-1.html</guid>
	<link>http://blog.endpoint.com/2009/07/nigeria-postgresql-training-day-1.html</link>
	<description>&lt;a href=&quot;http://2.bp.blogspot.com/_lsIXJbnz6n8/Sk2hxvAUlPI/AAAAAAAAACI/sXqWEP6Tco4/s1600-h/IMG_0625.jpg&quot;&gt;&lt;img src=&quot;http://2.bp.blogspot.com/_lsIXJbnz6n8/Sk2hxvAUlPI/AAAAAAAAACI/sXqWEP6Tco4/s320/IMG_0625.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5354113407816865010&quot; /&gt;&lt;/a&gt;

&lt;p&gt;
I am in Lagos, Nigeria this morning, preparing for a half-day car ride to Akure in Ondo State. I'll be spending the next seven days with programmers
from Ondo state, who are six months or so away from deploying a system to provide government-provided services using a centralized card system. They
are designing their database using PostgreSQL!
&lt;/p&gt;
&lt;p&gt;
Ondo state has a little over 3 million people, and plans to integrate a half-dozen government services under the centralized data system. They conducted
a census in 2006, and will be using their new system to gather data yearly going forward.
&lt;/p&gt;
&lt;p&gt;
Their plan is extremely ambitious, given obstacles like lack of power in most of the rural areas, and social issues like people not wanting to give
accurate information about themselves to the government. Some biometric information, like finger prints, will be gathered electronically using 
special machines that they will primarily lease (instead of buying - significant cost savings), and these machines require power. They have been specially
outfitted with dry-cell batteries, that operate for about 8 hours before needing to be recharged.
&lt;/p&gt;
&lt;p&gt;
For the social problems around data collection, a marketing campaign to explain exactly what benefits those who provide accurate information are
entitled to. After I mentioned to my host the American aversion to centralized government identification cards, he explained that in Nigeria they 
had the same issue. In addition to the marketing on TV, radio, newspapers and even leaflets, data collection volunteers will be trained on exactly
how to collect accurate information.  I am looking forward to having a look at the surveys and data collection strategy.
&lt;/p&gt;
&lt;p&gt;
Otherwise, I've had a lot of fun talking with people. My car trip from the airport and remaining evening was mostly spent with me making funny vocabulary errors (tshirt == vest - who knew?), and explaining that Americans were mourning and in shock just like Nigerians because of Michael Jackson's death. I made an offhand comment about the number of people walking around outside at dusk because a friend had said a similar thing about Portland, OR's nightlife, and my escort commented on how peaceful and free people are in Lagos.
&lt;/p&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/7997313029981170997-8789664973753244287?l=blog.endpoint.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 03:19:58 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Mirco Müller: Off to DesktopSummit/GUADEC</title>
	<guid>http://macslow.net/?p=344</guid>
	<link>http://macslow.net/?p=344</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/macslow.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;It&amp;#8217;s that time of the year again &lt;img src=&quot;http://macslow.net/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; I&amp;#8217;m about to start my trip to the &lt;a href=&quot;http://www.grancanariadesktopsummit.org&quot;&gt;summit&lt;/a&gt;. Uff&amp;#8230; 5:00 in the morning and a trip of roughly 14 hours before me. But can&amp;#8217;t wait to see all you GNOME-heads again face to face!&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 03:06:35 +0000</pubDate>
</item>
<item>
	<title>CouchDB: Don't Program RSS by Coincidence</title>
	<guid>tag:blogger.com,1999:blog-581197352358126527.post-1626830025612307671</guid>
	<link>http://japhr.blogspot.com/2009/07/dont-program-rss-by-coincidence.html</link>
	<description>&lt;a href=&quot;http://japhr.blogspot.com/2009/07/rss-feeds-by-coincidence.html&quot;&gt;‹prev&lt;/a&gt; | &lt;a href=&quot;http://japhr.blogspot.com/2009/03/my-chain.html&quot;&gt;My Chain&lt;/a&gt; | &lt;span style=&quot;color: #ccc;&quot;&gt;next›&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Up tonight is the RSS recipes feed.  For the most part, the inside, &lt;a href=&quot;http://rspec.info/&quot;&gt;RSpec&lt;/a&gt; driven work is the same as that for meals RSS feed.&lt;br /&gt;&lt;br /&gt;I do need to create a new, recipes by-date &lt;a href=&quot;http://couchdb.apache.org/&quot;&gt;CouchDB&lt;/a&gt; view:&lt;pre class=&quot;prettyprint&quot;&gt;  recipes_view = &amp;lt;&amp;lt;_JS&lt;br /&gt;{&lt;br /&gt;  &quot;views&quot;: {&lt;br /&gt;    &quot;by_date&quot;: {&lt;br /&gt;      &quot;map&quot;: &quot;function (doc) {&lt;br /&gt;        if (typeof(doc['preparations']) != 'undefined') {&lt;br /&gt;          emit(doc['date'], [doc['_id'], doc['title']]);&lt;br /&gt;        }&lt;br /&gt;      }&quot;&lt;br /&gt;    },&lt;br /&gt;  },&lt;br /&gt;  &quot;language&quot;: &quot;javascript&quot;&lt;br /&gt;}&lt;br /&gt;_JS&lt;br /&gt;&lt;br /&gt;  RestClient.put &quot;#{@@db}/_design/recipes&quot;,&lt;br /&gt;    recipes_view,&lt;br /&gt;    :content_type =&amp;gt; 'application/json'&lt;/pre&gt;That gets consumed by the &lt;a href=&quot;http://www.sinatrarb.com/&quot;&gt;Sinatra&lt;/a&gt; application:&lt;pre class=&quot;prettyprint&quot;&gt;  url = &quot;#{@@db}/_design/recipes/_view/by_date?limit=10&amp;amp;descending=true&quot;&lt;br /&gt;  data = RestClient.get url&lt;br /&gt;  @recipe_view = JSON.parse(data)['rows']&lt;/pre&gt;As with the meals RSS feed, I use the results of the CouchDB view to build the recipes RSS feed with &lt;code&gt;RSS::Maker&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;With the inside work complete, I can move back out to the &lt;a href=&quot;http://cukes.info/&quot;&gt;Cucumber&lt;/a&gt; scenario:&lt;pre class=&quot;prettyprint&quot;&gt;Feature: RSS&lt;br /&gt;&lt;br /&gt;  So that I tell my user when there are updates to this great cooking site&lt;br /&gt;  As an RSS bot&lt;br /&gt;  I want to be able to consume your RSS&lt;br /&gt;&lt;br /&gt;  Scenario: Recipe RSS&lt;br /&gt;&lt;br /&gt;    Given 20 delicious, easy to prepare recipes&lt;br /&gt;    When I access the recipe RSS feed&lt;br /&gt;    Then I should see the 10 most recent recipes&lt;br /&gt;    And I should see the summary of each recipe&lt;/pre&gt;The first step is a re-used, earlier defined step.  I can define the next two steps with:&lt;pre class=&quot;prettyprint&quot;&gt;When /^I access the recipe RSS feed$/ do&lt;br /&gt;  visit('/recipes.rss')&lt;br /&gt;  response.should be_ok&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;Then /^I should see the 10 most recent recipes$/ do&lt;br /&gt;  response.&lt;br /&gt;    should have_selector(&quot;channel &amp;gt; item &amp;gt; title&quot;,&lt;br /&gt;                         :count =&amp;gt; 10)&lt;br /&gt;  response.&lt;br /&gt;    should have_selector(&quot;channel &amp;gt; item &amp;gt; title&quot;,&lt;br /&gt;                         :content =&amp;gt; &quot;delicious, easy to prepare&quot;)&lt;br /&gt;end&lt;/pre&gt;When I get to the last step, I realize that I will have to either choose a different first step or define a new one.  The last step calls for recipes summaries, but the &quot;Given 20 delicious, easy to prepare recipes&quot; step does not define them.&lt;br /&gt;&lt;br /&gt;I will determine what to do with that first step tomorrow.  I may also want to refactor a little.&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/581197352358126527-1626830025612307671?l=japhr.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 02:54:13 +0000</pubDate>
</item>
<item>
	<title>OpenJDK: Naoto Sato: JavaFX 1.2 and input methods</title>
	<guid>http://blogs.sun.com/naotoj/entry/javafx_1_2_and_input</guid>
	<link>http://blogs.sun.com/naotoj/entry/javafx_1_2_and_input</link>
	<description>&lt;p&gt;
One of the &lt;a shape=&quot;rect&quot; href=&quot;http://javafx.com/docs/articles/javafx1-2.jsp&quot;&gt;Features and Enhancements in JavaFX 1.2&lt;/a&gt; is the API for dealing with input methods.  Prior to the JavaFX 1.2 release, Nodes in a scene graph can only receive the result of the input method composition as a series of &lt;code&gt;KeyEvent&lt;/code&gt;s.  With the new API introduced in JavaFX 1.2, &lt;code&gt;Node&lt;/code&gt;s can directly receive the input method composition information and do ...&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 02:37:14 +0000</pubDate>
</item>
<item>
	<title>OpenOffice: Tzvetelina Tzeneva: Comparing paragraphs (lines)</title>
	<guid>tag:blogger.com,1999:blog-3903433059866526563.post-2111712427552033156</guid>
	<link>http://gsoc-tzvetelina.blogspot.com/2009/07/comparing-paragraphs-lines.html</link>
	<description>Introducing the longest common subsequence in the ChangesInLine() method (which compares chars to find similarities between two paragraphs) was certainly an improvement to the document comparison function but there is still the question about comparing lines(paragraphs). The current implementation is pretty good at finding the lines that are identical in the two documents (the unchanged lines). However, it's not so good at matching the rest of the lines (the changed lines) which includes finding which lines were entirely inserted or deleted, and which were changed only a bit (then they are compared by char with ChangesInLine()). This's where the rsid is very helpful.&lt;br /&gt;&lt;br /&gt;The idea is to use some comparison algorithm, such as lcs, on the paragraph rsids of two arrays of lines(paragraphs) that are inserted/deleted/changed. The ones that fall in the lcs will then be changed and we call ChangesInLine(). The rest are simply inserted or deleted. This happes in the CheckForChangesInLine() method. Currently, this method calls ChangesInLine() for the first lines in each array, then for the second lines and so on, and stops when two lines are completely different. Thus, if someone makes the following list of names:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Theresa&lt;br /&gt;Bernice&lt;br /&gt;Kristin&lt;br /&gt;Elsie&lt;br /&gt;Lois&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;and then someone adds three more names as well as family names:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Theresa Maldonado&lt;br /&gt;Bernice Cervantes&lt;br /&gt;Michelle Rosario&lt;br /&gt;Kristin Wiley&lt;br /&gt;Elsie Howell&lt;br /&gt;Amber Weiss&lt;br /&gt;Laura Dickerson&lt;br /&gt;Lois Burnett&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;the result of comparing the new document with the old is:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Theresa &lt;u&gt;Maldonado&lt;/u&gt;&lt;br /&gt;Bernice &lt;u&gt;Cervantes&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Michelle Rosario&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Kristin Wiley&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Elsie Howell&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Amber Weiss&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Laura Dickerson&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Lois Burnett&lt;/u&gt;&lt;br /&gt;&lt;s&gt;Kristin&lt;/s&gt;&lt;br /&gt;&lt;s&gt;Elsie&lt;/s&gt;&lt;br /&gt;&lt;s&gt;Lois&lt;/s&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;On the other hand, the improved lcs&amp;amp;rsid comparison gives:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Theresa &lt;u&gt;Maldonado&lt;/u&gt;&lt;br /&gt;Bernice &lt;u&gt;Cervantes&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Michelle Rosario&lt;/u&gt;&lt;br /&gt;Kristin &lt;u&gt;Wiley&lt;/u&gt;&lt;br /&gt;Elsie &lt;u&gt;Howell&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Amber Weiss&lt;/u&gt;&lt;br /&gt;&lt;u&gt;Laura Dickerson&lt;/u&gt;&lt;br /&gt;Lois &lt;u&gt;Burnett&lt;/u&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/3903433059866526563-2111712427552033156?l=gsoc-tzvetelina.blogspot.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 02:25:00 +0000</pubDate>
</item>
<item>
	<title>PHP: Let me fire up the DeLorean - Adam Harvey</title>
	<guid>http://xn--9bi.net/2009/07/03/let-me-fire-up-the-delorean/</guid>
	<link>http://xn--9bi.net/2009/07/03/let-me-fire-up-the-delorean/</link>
	<description>&lt;p&gt;Found and reported a couple of PHP 5.3 bugs yesterday. That isn’t such a surprise; it’s a new release, after all, and we’re currently in the midst of developing code for the first time against 5.3 here at work. &lt;a href=&quot;http://bugs.php.net/bug.php?id=48768&quot;&gt;One of them&lt;/a&gt; is a crasher, but an obscure one reliant on the new-in-5.3 &lt;code&gt;INI_SCANNER_RAW&lt;/code&gt; mode in &lt;a href=&quot;http://au2.php.net/parse_ini_file&quot;&gt;parse_ini_file&lt;/a&gt; and a rather odd configuration file, so as these things go, it’s pretty minor, and scottmac has jumped on it very promptly indeed (thanks!). The response from Jani was interesting, though:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Thanks for not reporting this before release..&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Now, Jani does a tremendous amount of work triaging PHP bugs and I — and every other PHP developer (particularly those of us who does this for a living) — owe him a huge debt for that. But frankly, I resent the implication that I’ve somehow sat on a crasher since before 5.3.0 was released and only submitted it now as some sort of weird vendetta against the PHP internals team. Funnily enough, I only found it while I was reducing the &lt;a href=&quot;http://bugs.php.net/bug.php?id=48769&quot;&gt;other, more trivial bug&lt;/a&gt; down to a minimal test case.&lt;/p&gt;
&lt;p&gt;I get far worse things implied in my direction when I’m out on a Saturday night in Northbridge, so really, I’m not &lt;em&gt;that&lt;/em&gt; fussed. (I’m obviously a bit fussed, though, since I’m writing this.) I do wonder how somebody new to the PHP community would feel, though — my guess is that you could forget about future bug reports in some cases, and that just isn’t a win for anyone.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 02:10:10 +0000</pubDate>
</item>
<item>
	<title>KernelPlanet: Harald Welte: Wireshark packet dissector for GSM 12.21 (A-bis OML)</title>
	<guid>http://laforge.gnumonks.org/weblog/2009/07/03#20090703-wireshark_abis_oml</guid>
	<link>http://laforge.gnumonks.org/weblog/2009/07/03#20090703-wireshark_abis_oml</link>
	<description>&lt;p&gt;
During the last weeks I've been spending some time to start a wireshark
dissector plugin for GSM 12.21, which is the Organization and Maintenance
protocol between BSC and BTS.  Using this protocol, many aspects of a BTS
are configured by the BSC.
&lt;/p&gt;
&lt;p&gt;
I have already implemented the BSC side of 12.21 inside OpenBSC, and OpenBSC
contains parsing code and debug logs about what is happening on this protocol.
However, I think it is much better to remove most of that debug printing code
from OpenBSC and move it into wireshark.  Whoever needs per-message debugging,
can start wireshark and look at the output - with the advantage of extensive
filtering capabilities.
&lt;/p&gt;
&lt;p&gt;
The protocol is quite complex and has many different messages with each their
own set of attributes.  So the current work is far from being complete, but
it's already at a point where it is really useful.
&lt;/p&gt;
&lt;p&gt;
I've put a specific focus on implementing the vendor-specific bits for
ip.access, since those are hard to figure out and much more difficult to
implement for anyone who hasn't spent as many weeks looking at hexdumps from
their Abis-IP protocol as me.  Parsing standard 12.21 messages is easy, just
read the publicly-available spec and add wireshark code for it.
&lt;/p&gt;
&lt;p&gt;
In case you're interested, the plugin is available from &lt;a href=&quot;http://bs11-abis.gnumonks.org/trac/browser/wireshark/abis_oml.patch&quot;&gt;this path in the OpenBSC git tree&lt;/a&gt;
&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 02:00:00 +0000</pubDate>
</item>
<item>
	<title>XMLhack: And then there were one…</title>
	<guid>http://dubinko.info/blog/2009/07/02/and-then-there-were-one/</guid>
	<link>http://dubinko.info/blog/2009/07/02/and-then-there-were-one/</link>
	<description>&lt;p&gt;On May 8 I &lt;a href=&quot;http://dubinko.info/blog/2009/05/08/html-the-markup-language-marks-a-new-beginning/&quot;&gt;
wrote&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;it’s time for the W3C to show some tough love and force the two
(X)HTML Working Groups together.&lt;/p&gt;
&lt;p&gt;On July 2, the W3C &lt;a href=&quot;http://www.w3.org/News/2009#item119&quot;&gt;wrote&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Today the Director announces that when the &lt;a href=&quot;http://www.w3.org/2007/03/XHTML2-WG-charter&quot;&gt;XHTML 2 Working Group
charter&lt;/a&gt; expires as scheduled at the end of 2009, the charter
will not be renewed. By doing so, and by increasing resources in
the &lt;a href=&quot;http://www.w3.org/html/wg/&quot;&gt;Working Group&lt;/a&gt;, W3C
hopes to accelerate the progress of &lt;a href=&quot;http://www.w3.org/TR/html5&quot;&gt;HTML 5&lt;/a&gt; and clarify W3C’s position
regarding the future of HTML.&lt;/p&gt;
&lt;p&gt;The real test is whether the single HTML Working Group can be
held to the standard of other Working Groups, and be able to
recruit some much-needed editorial help from some of the displaced
XHTML 2 gang.  -m&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 01:57:29 +0000</pubDate>
</item>
<item>
	<title>KDE: Ariya Hidayat: who would have thought it would end up like this?</title>
	<guid>tag:blogger.com,1999:blog-17722541.post-2322852613100000365</guid>
	<link>http://ariya.blogspot.com/2009/07/who-would-have-thought-it-would-end-up.html</link>
	<description>&lt;p&gt;Coming back to Oslo (from &lt;a href=&quot;http://www.linuxtag.org/2009/&quot;&gt;LinuxTag&lt;/a&gt; in Berlin), apparently the heat wave which hits Europe was its peak, at least here in Oslo. To add insult to the injury, it does not really help if the ventilation system acts strangely, which it usually does right when you need it. We sort of enjoy the rare moment when Oslo is warmer than most other places.&lt;/p&gt;

&lt;p&gt;In any case, &lt;a href=&quot;http://ariya.blogspot.com/2009/06/and-only-chance-we-have-of-moving-on.html&quot;&gt;Berlin was fantastic&lt;/a&gt;. There were already few blog posts (e.g. from &lt;a href=&quot;http://blog.lydiapintscher.de/2009/07/02/berlin-well-meet-again/&quot;&gt;Lydia&lt;/a&gt;, &lt;a href=&quot;http://chani.wordpress.com/2009/06/30/berlin-and-oslo/&quot;&gt;Chani&lt;/a&gt;, &lt;a href=&quot;http://vizzzion.org/?blogentry=916&quot;&gt;Sebas&lt;/a&gt;, &lt;a href=&quot;http://blogs.fsfe.org/gladhorn/2009/07/02/3x-linux-tag-and-gcds/&quot;&gt;Frederik&lt;/a&gt;) about LinuxTag so I won't write too much about it. I was very content with &lt;a href=&quot;http://www.linuxtag.org/2009/en/program/freies-vortragsprogramm/all-speakers/details.html?talkid=746&quot;&gt;my talk&lt;/a&gt; since the room was quite filled when I was doing my presentation. The Qt booth was fun as well, I managed to have short chats here and there with the fellow Berlin trolls, KDAB guys, KDE people, and some other new contacts.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_Oijhf1ZPv-4/Sk05xtCB3RI/AAAAAAAABIQ/ukcChqZQ55E/s1600-h/booth.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer; cursor: hand; width: 300px; height: 400px;&quot; src=&quot;http://3.bp.blogspot.com/_Oijhf1ZPv-4/Sk05xtCB3RI/AAAAAAAABIQ/ukcChqZQ55E/s400/booth.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5353999058077867282&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://4.bp.blogspot.com/_Oijhf1ZPv-4/Sk05uqtKikI/AAAAAAAABII/LNG35qkGLuY/s1600-h/relax.jpg&quot;&gt;&lt;img style=&quot;cursor: pointer; cursor: hand; width: 301px; height: 400px;&quot; src=&quot;http://4.bp.blogspot.com/_Oijhf1ZPv-4/Sk05uqtKikI/AAAAAAAABII/LNG35qkGLuY/s400/relax.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5353999005913877058&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As it was &lt;a href=&quot;http://ariya.blogspot.com/2009/06/wait-im-wrong-should-have-done-better.html&quot;&gt;nicely planned&lt;/a&gt; long time ago (except a little glitch with some kind of a desktop suite program :-), we did manage a cuisine-exchange program (and it was not about pizza). Hmm, I still need to find those pictures...&lt;/p&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/17722541-2322852613100000365?l=ariya.blogspot.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 01:52:28 +0000</pubDate>
</item>
<item>
	<title>PostgreSQL: Andrew Dunstan: Parallel pg_restore for PostgreSQL 8.4</title>
	<guid>http://people.planetpostgresql.org/andrew/index.php?/archives/27-Parallel-pg_restore-for-PostgreSQL-8.4.html</guid>
	<link>http://people.planetpostgresql.org/andrew/index.php?/archives/27-Parallel-pg_restore-for-PostgreSQL-8.4.html</link>
	<description>I try to complete at least one significant feature item per PostgreSQL release. This time the feature is making pg_restore run in parallel. This is quite important for many users, particularly some large enterprise users.&lt;br /&gt;
&lt;br /&gt;
It's important that people understand what this will do and what it won't do. pg_restores runs a number of steps. In conventional mode it simply runs them all in a single connection to the database, one after the other. In parallel mode it first runs all the quick and easy steps, essentially those that don't involve any data access, such as table and function creation, in a single connection, just like conventional mode. Then it runs the remaining steps each in its own connection. The steps are the same, and there is no parallelism within a given step. For example, a single COPY to a table is not parallelised. Rather, we run it in parallel with other data intensive steps. &lt;br /&gt;
&lt;br /&gt;
The maximum amount of parellelism is controlled by the user. This will involve some experimentation to get to the sweet spot for your setup. A good place to start is the number of physical processors you have available. The idea here is to improve the situation where the CPU is the limiting factor, and allow you to drive the restoration rate up to where IO is in fact the limiting factor. With very high end hardware we believe that you can drive the parallelism quite high. &lt;br /&gt;
&lt;br /&gt;
Like many performance features, this one might well require several releases to tweak it for optimal performance gain. The program works by keeping a pool of slots to be used for the steps that are run in parallel. One possible area for improvement is in the algorithm that selects the item to be used for a slot as it it becomes available. Currently we keep a queue of items that have no remaining unrestored dependencies. An item gets put on the queue as soon as all the items it depends on have been restored. This is likely to be a fairly good approximation of an optimal algorithm, but there might well be a way of tweaking it. Another possible area of optimsation would be to take some notice of the tablespace that each item affects, and try to balance these, so we use as many IO channels as possible.&lt;br /&gt;
&lt;br /&gt;
What is important is that we have now got the basic framework of parallel restore, so that some researchers can easily experiment with various tweaks to improve the performance.&lt;br /&gt;
&lt;br /&gt;
pg_restore is going to be with us for quite a long time. Even if we manage to get pg_upgrade working pretty well, that will take quite a bit of time, and there is currently no guarantee that it will for for every release. So I expect pg_restore to be the most common method of upgrading for quite some time, making it run as fast as possible is thus still a significant requirement.&lt;br /&gt;
&lt;br /&gt;
I'm proud to have been able to contribute this feature to Postgres, and look forward to other people improving it further as time goes by.</description>
	<pubDate>Fri, 03 Jul 2009 01:18:00 +0000</pubDate>
</item>
<item>
	<title>GStreamer: Stuart Langridge: Not blocking the UI in tight JavaScript loops</title>
	<guid>http://www.kryogenix.org/days/?p=1771</guid>
	<link>http://www.kryogenix.org/days/2009/07/03/not-blocking-the-ui-in-tight-javascript-loops</link>
	<description>&lt;p&gt;Everyone&amp;#8217;s written a JavaScript loop that just loops over all the {LIs, links, divs} on a page&lt;span title=&quot;well, everyone who's a JavaScript hacker, and everyone who isn't is clearly unimportant and wrong and not as well-endowed and handsome as us&quot;&gt;*&lt;/span&gt;, and it&amp;#8217;s pretty standard. Something like&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var lis = document.getElementsByTagName(&quot;li&quot;);
for (var i=0; i&amp;lt;lis.length; i++) { // yes this could be more efficient, don't care
  // do something here to lis[i]
};&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;or, if you&amp;#8217;re using jQuery:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$(&quot;li&quot;).each(function() {
  // do something here to this
});&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is problematic if there are, say, 2000 LI elements on the page, and what you&amp;#8217;re doing in the loop is semi-intensive (imagine you&amp;#8217;re creating a couple of extra elements to append to each of those LIs, or something like that). The reason this is a problem is that JavaScript is single-threaded. A tight loop like this hangs the browser until it&amp;#8217;s finished, you get the &amp;#8220;this script has been running for a long time&amp;#8221; dialog, and the user interface doesn&amp;#8217;t update while you&amp;#8217;re in this kind of loop. You might think: aha, this will take a long time, so I&amp;#8217;ll have some sort of a progress monitor thing:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var lis = document.getElementsByTagName(&quot;li&quot;);
for (var i=0; i&amp;lt;lis.length; i++) { // yes this could be more efficient, don't care
  // do something here to lis[i]
  progressMonitor.innerHTML = &quot;processing list item &quot; + i; // fail
};&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;but that doesn&amp;#8217;t work. What happens is that the browser freezes until the loop finishes. Annoying, but there it is.&lt;/p&gt;
&lt;p&gt;One approach to getting around this is with timeouts rather than a &lt;code&gt;for&lt;/code&gt; loop.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var lis = document.getElementsByTagName(&quot;li&quot;);
var counter = 0;
function doWork() {
  // do something here to lis[i]
  counter += 1;
  progressMonitor.innerHTML = &quot;processing list item &quot; + counter;
  if (counter &amp;lt; lis.length) {
    setTimeout(doWork, 1);
  }
};
setTimeout(doWork, 1);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;so you move the bit of work you need to do into a function, and that function re-schedules itself repeatedly, using &lt;code&gt;setTimeout&lt;/code&gt;. This time, your user interface will indeed update, and your progress monitor will show where you&amp;#8217;re up to. There are a couple of caveats with this: it&amp;#8217;ll take a bit longer, and you&amp;#8217;re no longer guaranteed to have things processed in the order you expect, but they&amp;#8217;re minor issues.&lt;/p&gt;
&lt;p&gt;For doing this in jQuery, a tiny plugin:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;jQuery.eachCallback = function(arr, process, callback) {
    var cnt = 0;
    function work() {
        var item = arr[cnt];
        process.apply(item);
        callback.apply(item, [cnt]);
        cnt += 1;
        if (cnt &amp;lt; arr.length) {
            setTimeout(work, 1);
        }
    }
    setTimeout(work, 1);
};
jQuery.fn.eachCallback = function(process, callback) {
    var cnt = 0;
    var jq = this;
    function work() {
        var item = jq.get(cnt);
        process.apply(item);
        callback.apply(item, [cnt]);
        cnt += 1;
        if (cnt &amp;lt; jq.length) {
            setTimeout(work, 1);
        }
    }
    setTimeout(work, 1);
};&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and now you can do &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;$.eachCallback(someArray, function() {
  // &quot;this&quot; is the array item, just like $.each
}, function(loopcount) {
  // here you get to do some UI updating
  // loopcount is how far into the loop you are
});

$(&quot;li&quot;).eachCallback(function() {
  // do something to this
}, function(loopcount) {
  // update the UI
});&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Not always a useful technique, but when you need it, you need it.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 00:55:54 +0000</pubDate>
</item>
<item>
	<title>SuSE: Andrew Jorgensen: Mono Appliance for VirtualPC</title>
	<guid>http://andrew.jorgensenfamily.us/?p=503</guid>
	<link>http://andrew.jorgensenfamily.us/2009/07/mono-appliance-for-virtualpc/</link>
	<description>&lt;a href=&quot;http://andrew.jorgensenfamily.us&quot;&gt;&lt;img align=&quot;right&quot; border=&quot;0&quot; src=&quot;http://www.planetsuse.org/ajorg.png&quot; alt=&quot;Andrew Jorgensen&quot; /&gt;&lt;/a&gt;&lt;p&gt;With the release of Mono 2.4.2 we are introducing an appliance image for Virtual PC.  This makes a lot of sense for Mono as one of our favorite target user groups is .NET developers looking to get an application running on Linux. Many of these developers use Virtual PC.&lt;/p&gt;
&lt;p&gt;All three of our appliance images (LiveCD, VMware, and now VirtualPC) contain exactly the same packages, etc.  In fact our &lt;code&gt;.vhd&lt;/code&gt; is actually just the &lt;code&gt;.vmdk&lt;/code&gt; from the VMware appliance built in &lt;a href=&quot;http://susestudio.com/&quot;&gt;SUSE Studio&lt;/a&gt; and converted using &lt;code&gt;qemu-img&lt;/code&gt; (requires a recent version, possibly unreleased).  And actually the &lt;code&gt;.vmdk&lt;/code&gt; we provide boots just fine under other VMs such as &lt;a href=&quot;http://www.qemu.org/&quot;&gt;QEMU&lt;/a&gt; and &lt;a href=&quot;http://www.virtualbox.org/&quot;&gt;VirtualBox&lt;/a&gt;.  Linux can be nice that way.&lt;/p&gt;
&lt;p&gt;We hope this will make Mono even easier for .NET developers to use but you may want to use VMware anyway.  The VirtualPC appliance has some problems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There are no &amp;#8220;VM Additions&amp;#8221;.  They exist but they are not open source and IIRC the ones that exist don&amp;#8217;t work on a recent Linux.  So no handy stuff like drag-and-drop or mouse-in-mouse-out.&lt;/li&gt;
&lt;li&gt;Things can be a bit slow / choppy at times.  This clears up after a while or maybe after a reboot.  Not sure what&amp;#8217;s going on there.&lt;/li&gt;
&lt;li&gt;We added some kernel parameters to make things run a little better: &lt;code&gt;noreplace-paravirt i8042.noloop clock=pit&lt;/code&gt;.  &lt;a href=&quot;http://beyondfocus.com/&quot;&gt;Joseph Hill&lt;/a&gt; dug these up on the Internet somewhere.&lt;/li&gt;
&lt;li&gt;On the new &lt;em&gt;Windows Virtual PC&lt;/em&gt; (the one for Windows 7) you don&amp;#8217;t get a network device by default.  As far as I can tell we&amp;#8217;re the only project shipping a &lt;code&gt;.vmc&lt;/code&gt; configuration file with our &lt;code&gt;.vhd&lt;/code&gt; anyway so the expectation seems to be that you will configure your own VM.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Find this and other fine Mono products at &lt;a href=&quot;http://go-mono.com/mono-downloads/&quot;&gt;http://go-mono.com/mono-downloads/&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 00:48:26 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Clint Talbert: Testing Graphics Hardware Acceleration</title>
	<guid>http://cmtalbert.wordpress.com/?p=100</guid>
	<link>http://cmtalbert.wordpress.com/2009/07/02/testing-graphics-hardware-acceleration/</link>
	<description>&lt;br /&gt;&lt;p&gt;Why does changing a car’s oil in take an hour in California?  In Texas, this is a 15 minute process, in and out.  I’ve never been a fan of wasting time, so while waiting on my car this morning, I started researching one of the most exciting test opportunities we have in the upcoming Gecko 1.9.2 platform: &lt;a href=&quot;https://wiki.mozilla.org/Platform/GFX/HardwareAcceleration&quot;&gt;Graphics Hardware Acceleration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Most computers that people use today have some amount of GPU acceleration under the hood.  So, this should result in improved rendering performance, which we will need as the web becomes &lt;a href=&quot;http://code.google.com/apis/o3d/&quot;&gt;more&lt;/a&gt; &lt;a href=&quot;http://www.0xdeadbeef.com/weblog/?p=977&quot;&gt;graphically&lt;/a&gt; &lt;a href=&quot;http://blog.vlad1.com/canvas-3d/&quot;&gt;interesting&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Our current test suites do not have any notion of hardware accelerated versus software rendering.  In fact, on Linux we run our test suites in an X virtual frame buffer, which never touches &lt;strong&gt;any&lt;/strong&gt; graphics hardware.  And the graphics hardware on our boxes is pretty bottom of the barrel.  I’d bet that the chip rendering this text for you is more advanced.  &lt;/p&gt;
&lt;p&gt;So…how on earth are we going to test this?  I’m mostly concerned about functional testing, but I recognize that whatever solution we come up with here might also be needed to aid the graphics team with their unit tests.  My thoughts and research are just beginning on this effort, so this isn’t a complete plan, this is a preview to my plan and a sincere request for help.&lt;/p&gt;
&lt;h3&gt;First Steps&lt;/h3&gt;
&lt;p&gt;We need to determine what the top video cards/drivers are for each of our top three platforms: Windows, Linux, and Mac.  We can then grab a small handful of machines that have those configurations.  I’m thinking maybe just 3-6 machines here, nothing extravagant.  I think we would still want to target middle-of-the-road hardware, not top of the line gaming systems.  We want to test what the average web user will be running.    &lt;/p&gt;
&lt;p&gt;At the same time, we need to figure out what graphics benchmarks exist and whether or not these can be leveraged or re-implemented into a graphics benchmark for the web.  Since I’m not interested in how we perform writing instructions into the XPCOM components that make up the underbelly of the graphics support, I’m thinking we should create these benchmarks/tests in JavaScript and canvas.  We ought to use this new graphics support the way that real developers will be using it once it is released.&lt;/p&gt;
&lt;h3&gt;Further Thoughts&lt;/h3&gt;
&lt;p&gt;What we might use here would be a &lt;a href=&quot;https://developer.mozilla.org/en/Creating_reftest-based_unit_tests&quot;&gt;reftest-like&lt;/a&gt; framework that would be augmented to compare the test that is hardware accelerated with a reference image that is software rendered.  I imagine there are pitfalls this way–with hardware support, the test image may be more detailed than the reference, and we would need a mechanism to detect this condition to flag it as a “pass” rather than a “failure”.  I definitely need to think about this some more.&lt;/p&gt;
&lt;h3&gt;Vision&lt;/h3&gt;
&lt;p&gt;There are two basic parts here.  First, we need a simple test infrastructure that can test our rendering in both accelerated and software modes.  We need a set of representative machines to run these tests on and we need those machines automated into our normal build and test reporting structure.&lt;/p&gt;
&lt;p&gt;However, our tiny sample of machines will not give us the coverage we really need.  So, the other reason this test infrastructure must be simple is that I want to invite all interested users to run it for us.  It must be something that the users can download and run on their nightly builds.  Once the test finishes, the users should be able to send us the results data from that run with a click of a button.  The anonymized results will help us understand how well our code is handling device/driver/OS combinations.&lt;/p&gt;
&lt;p&gt;I wanted to start a conversation here, and throw a line out into the wide world of the net to see who might be interested in helping us figure it out.  Thoughts and ideas are most welcome.  I’ll keep y’all up to date as my plans progress.&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/cmtalbert.wordpress.com/100/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/cmtalbert.wordpress.com/100/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/cmtalbert.wordpress.com/100/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/cmtalbert.wordpress.com/100/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/cmtalbert.wordpress.com/100/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/cmtalbert.wordpress.com/100/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/cmtalbert.wordpress.com/100/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/cmtalbert.wordpress.com/100/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/cmtalbert.wordpress.com/100/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/cmtalbert.wordpress.com/100/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=cmtalbert.wordpress.com&amp;amp;blog=1886978&amp;amp;post=100&amp;amp;subd=cmtalbert&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 00:44:55 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Mackenzie Morgan: Ohio Linuxfest Call for Presentations is Open</title>
	<guid>tag:blogger.com,1999:blog-6523277464962917938.post-673455725118949883</guid>
	<link>http://ubuntulinuxtipstricks.blogspot.com/2009/07/ohio-linuxfest-call-for-presentations.html</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/maco.m.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;Ohio Linuxfest is now in its 7th year, but that's nothing compared to the 40 years that UNIX has been around.  The theme this year is the Past, Present, and Future of UNIX &amp;amp; Linux.&lt;/p&gt;
&lt;p&gt;Doug McIlroy will be keynoting.  If you haven't heard of him yet, he was Kernighan, Thomson, &amp;amp; Richie's boss back at AT&amp;amp;T Bell Labs when they were creating UNIX and C.  He's credited with creating the UNIX pipe (&quot;|&quot;) as well.  Peter Salus, known for his books &quot;A Quarter Century of UNIX&quot; and &quot;The Daemon, the Gnu and the Penguin&quot; will be keynoting as well.  And finally, Shawn Powers of Linux Journal fame will be giving a keynote on &quot;Fixing the Economy with Linux.&quot;&lt;/p&gt;
&lt;p&gt;As with last year, Bdale and his daughter Elizabeth Garbee are expected to speak.  &lt;a href=&quot;http://jonobacon.org&quot;&gt;Jono&lt;/a&gt; has also agreed to speak.&lt;/p&gt;
&lt;p&gt;But these six people can't be it.  If you've got something to say, why not &lt;a href=&quot;http://www.ohiolinux.org/cfp.html&quot;&gt;submit a proposal&lt;/a&gt;?  The call for presentations is only open a few more days&amp;mdash;it closes on the 8th.  Get your proposal in!&lt;/p&gt;
&lt;p&gt;If you're not that interested in speaking in front of a large crowd, &lt;a href=&quot;https://www.ohiolinux.org/register.html&quot;&gt;registration&lt;/a&gt; is open too.  There's free admission, or for $65 you can support the fest, get a T-shirt, and have lunch.   There's also a professional package that includes a day of training in addition to what's in the supporter package.  That one is $350.  There's more to that, but the details aren't fixed yet, so I won't post them yet.  There are going to be &lt;acronym title=&quot;birds of a feather&quot;&gt;BoFs&lt;/acronym&gt; and parties of course.  &lt;a href=&quot;http://lpi.org&quot;&gt;LPI certification level 1 testing&lt;/a&gt; is expected to be available again as well.&lt;/p&gt;
&lt;p&gt;And as I've mentioned before, there is going to be a &lt;a href=&quot;http://www.ohiolinux.org/dios&quot;&gt;Diversity in Open Source&lt;/a&gt; workshop day.  Proposals are being accepted for that as well.  Details on the linked page.&lt;/p&gt;
&lt;p&gt;Finally, Ohio Linuxfest is now on &lt;a href=&quot;http://identi.ca/ohiolinux&quot;&gt;Identi.ca&lt;/a&gt; and has a &lt;a href=&quot;http://identi.ca/group/olf&quot;&gt;group&lt;/a&gt; there as well.  This is in addition to the &lt;a href=&quot;http://twitter.com/ohiolinux&quot;&gt;Twitter&lt;/a&gt; account that already existed.&lt;/p&gt;From http://ubuntulinuxtipstricks.blogspot.com&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6523277464962917938-673455725118949883?l=ubuntulinuxtipstricks.blogspot.com&quot; /&gt;</description>
	<pubDate>Fri, 03 Jul 2009 00:35:23 +0000</pubDate>
</item>
<item>
	<title>XMLhack: Last Call for Six Rule Interchange Format (RIF)
Drafts</title>
	<guid>http://www.w3.org/News/2009#item123</guid>
	<link>http://www.w3.org/News/2009#item123</link>
	<description>&lt;p&gt;2009-07-03: The Rule Interchange Format (RIF) Working Group has
published six Last Call Working Drafts. Together, they allow
systems using a variety of rule languages and rule-based
technologies to interoperate with each other and with other
Semantic Web technologies. Three of the drafts define XML formats
with formal semantics for storing and transmitting rules:&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 00:00:00 +0000</pubDate>
</item>
<item>
	<title>XMLhack: W3C Launches Device APIs and Policy Working Group</title>
	<guid>http://www.w3.org/News/2009#item122</guid>
	<link>http://www.w3.org/News/2009#item122</link>
	<description>&lt;p&gt;2009-07-03: W3C launched a new Device APIs and Policy Working
Group, co-Chaired by Robin Berjon (Vodafone) and Frederick Hirsch
(Nokia). The group's mission is to create client-side APIs that
enable the development of Web Applications and Web Widgets that
interact with devices services such as Calendar, Contacts, and
Camera. Additionally, the group will produce a framework for the
expression of security policies that govern access to
security-critical APIs (such as the APIs listed previously). Per
its charter, this group will conduct its work in public. Learn more
about the Device APIs and Policy Working Group. (Permalink)&lt;/p&gt;</description>
	<pubDate>Fri, 03 Jul 2009 00:00:00 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Planet Mozilla Interns: Adrian Kalla: Koala - Release Schedule</title>
	<guid>http://adrianer.jogger.pl/2009/07/02/koala-release-schedule/</guid>
	<link>http://adrianer.jogger.pl/2009/07/02/koala-release-schedule/</link>
	<description>&lt;p&gt;It has been a while since we announced the &lt;a href=&quot;http://koala.mozdev.org/&quot;&gt;Koala - Komodo Advanced Localization Assistant - Project&lt;/a&gt;. While we work on the project on a nearly daily basis, we are just three students that need to do other work (like preparing for the upcoming examinations...), and because of that, the progress isn't as fast as it could be, if Koala would be our only project, but: we have a target for the final release: August, 23rd - September, 15th - and we plan not to miss it.&lt;/p&gt;
&lt;p&gt;Our &lt;a href=&quot;http://hg.mozdev.org/koala/file/default/docs/other/Koala-Schedule.pdf&quot;&gt;project schedule&lt;/a&gt; is of course more detailed - it consists of four big stages: preparation, implementation, integration and stabilization. That's the process of software development we did learn at our university, and our goal is to develop Koala that way.&lt;/p&gt;
&lt;p&gt;During the first project stage, preparation, we've investigated as much as possible how Koala should work and look like, and as a result, we have written the &lt;a href=&quot;http://hg.mozdev.org/koala/file/default/docs/requirements_specifications/Koala-SRS.pdf&quot;&gt;Software Requirements Specification&lt;/a&gt; and &lt;a href=&quot;http://hg.mozdev.org/koala/file/default/docs/software_architecture/Koala-Software_Architecture.pdf&quot;&gt;Software Architecture&lt;/a&gt; documents.&lt;/p&gt;
&lt;p&gt;In the Software Requirements Specification, we've listed the must-have features and have split them into modules with similar or dependent functionalities. In the now ongoing implementation stage, we are working on that modules separately. What does this mean? We code e.g. the &quot;compare-locales&quot; access module, make a few tests to be able to test it if it works as expected - and leave it there. So it's a single module, not (yet) connected with other modules.&lt;br /&gt;
As a result of this software development model, it's not possible to have something you &quot;could touch&quot; now - there won't be anything really usable until the next phase of development.&lt;/p&gt;
&lt;p&gt;During the integration stage, we will make an working extension out of the many standalone modules. We will connect the modules through the, in the preparation stage specified, API's, one by one. It may look easier than it'll be, because this stage never comes as expected.&lt;br /&gt;
That will be also the time where we will start releasing pre-release versions of Koala: alpha and beta releases. They are to be expected late July.&lt;/p&gt;
&lt;p&gt;After getting rid of the biggest blockers, we will enter the stabilization phase, where we will just fix known bugs and look for yet undiscovered bugs, by: testing, testing and testing. Because of that, in the middle of August you can expect an release candidate (hopefully just one).&lt;/p&gt;
&lt;p&gt;The final release target is August, 23rd with a margin up to September, 15th.&lt;/p&gt;
&lt;p&gt;If you'd like to help us in any way with this project, please drop a line in the comments.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Short update: between writing this posting and publishing it, we already entered the integration stage - but because of our examination session, the integration will start at full speed not earlier than in about three weeks.&lt;/i&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 23:45:58 +0000</pubDate>
</item>
<item>
	<title>GNOME: Ruben Vermeersch: Graduation &amp; GCDS</title>
	<guid>http://weblog.savanne.be/174-graduation-gcds</guid>
	<link>http://weblog.savanne.be/174-graduation-gcds</link>
	<description>&lt;img src=&quot;http://planet.gnome.org/heads/rubenv.png&quot; alt=&quot;&quot; align=&quot;right&quot; /&gt; &lt;b&gt;Officially a computer scientist&lt;/b&gt;&lt;br /&gt;
As of today, I have graduated and I am now officially a master of computer science, with a specialization in software engineering. Awesome! I graduated magna cum laude (with an average of 81.52%) and scored 18.5/20 on my masters thesis. Needless to say, I'm very pleased with this.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://weblog.savanne.be/thesis.jpg&quot; /&gt;&lt;br /&gt;
&lt;em&gt;The master thesis: 85 pages of fun&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
What's next? After much indecision as to whether I'd like to find a job in the open-source (GNOME) world or do something else, I've accepted a PhD offer at the &lt;a href=&quot;http://distrinet.cs.kuleuven.be/&quot;&gt;Distrinet Research Group&lt;/a&gt; of K.U.Leuven. GNOME hacking will stay a spare-time activity for now, though I might change that decision in a few years. Exciting times ahead!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Gran Canaria Desktop Summit&lt;/b&gt;&lt;br /&gt;
Tomorrow I'll be flying out to the &lt;a href=&quot;http://www.grancanariadesktopsummit.org/&quot;&gt;Gran Canaria Desktop Summit&lt;/a&gt;. I'll be spending 11 days in Gran Canaria. I will be arriving in the late afternoon, so that shouldn't stop me from dropping by at the Canonical hosted opening party. Really looking forward to another GUADEC, Istanbul 2008 was really great. Many thanks to the GNOME Foundation for sponsoring part of this trip, without them, this would not have been possible.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://weblog.savanne.be/gcds-sponsored.png&quot; /&gt;&lt;br /&gt;
&lt;em&gt;Gran Canaria Desktop Summit (GUADEC)&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
I won't be giving a talk, but if anyone wants to have a chat about F-Spot (or any other subject), come and find me!</description>
	<pubDate>Thu, 02 Jul 2009 23:45:47 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Alan Pope: UDS Karmic Videos and HTML5 Goodness</title>
	<guid>http://popey.com/blog/?p=203</guid>
	<link>http://popey.com/blog/2009/07/03/uds-karmic-videos-and-html5-goodness/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/alanpope.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;I noticed that the videos from the most recent Ubuntu Developer Summit are now &lt;a href=&quot;http://video.ubuntu.com/uds/karmic/&quot;&gt;online&lt;/a&gt;, and thought I&amp;#8217;d have a play with the new embedded HTML5 video stuff in Firefox 3.5.&lt;/p&gt;
&lt;p&gt;Rather than view all the videos by downloading them individually I thought I&amp;#8217;d make a page where I can view them all sequentially. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://popey.com/~alan/uds_videos.html&quot;&gt;Here&lt;/a&gt; is the html I threw together. Guess it will look rubbish in anything but Firefox 3.5. Of course that&amp;#8217;s no guarantee it will look any &lt;em&gt;good&lt;/em&gt; in Firefox 3.5. Just, y&amp;#8217;know, you&amp;#8217;ll see the videos &lt;img src=&quot;http://popey.com/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 23:25:31 +0000</pubDate>
</item>
<item>
	<title>XMLhack: Junepix 2: Purple on Purple</title>
	<guid>http://www.tbray.org/ongoing/When/200x/2009/07/02/Junepix-Purple-on-Purple</guid>
	<link>http://www.tbray.org/ongoing/When/200x/2009/07/02/Junepix-Purple-on-Purple</link>
	<description>&lt;p&gt;The title about says it; both kinds of purple are flowers.&lt;/p&gt;
&lt;img src=&quot;http://www.tbray.org/ongoing/When/200x/2009/07/02/R0011210.png&quot; alt=&quot;Medium purple blossoms against small purple blossoms&quot; /&gt;
&lt;p&gt;The little ones are a ground-cover recommended by a professional
gardener for our front yard; since the kids play out back, we don’t
want to be defending a grass lawn from moss and creeping buttercup
and dandelions and all the other enemies. This stuff just spreads
out and covers up and you can walk on it a bit while you’re
gardening. Don’t know what it’s called.&lt;/p&gt;
&lt;p&gt;Don’t know what the larger purple flowers are either.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 23:13:33 +0000</pubDate>
</item>
<item>
	<title>Sage: mvngu</title>
	<guid>http://mvngu.wordpress.com/?p=789</guid>
	<link>http://mvngu.wordpress.com/2009/07/02/getting-started-with-developing-sage/</link>
	<description>At Sage Days 16, Martin Albrecht gave a talk on how to start with developing Sage. Like any free open source software project, there are numerous ways in which you could help out with developing Sage. Not only am I talking to folks out there who already know how to program, but I&amp;#8217;m also appealing [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=mvngu.wordpress.com&amp;amp;blog=4385998&amp;amp;post=789&amp;amp;subd=mvngu&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 23:03:09 +0000</pubDate>
</item>
<item>
	<title>XMLhack: Slow REST</title>
	<guid>http://www.tbray.org/ongoing/When/200x/2009/07/02/Slow-REST</guid>
	<link>http://www.tbray.org/ongoing/When/200x/2009/07/02/Slow-REST</link>
	<description>&lt;p&gt;We’re working on a fairly substantial revision of the &lt;a href=&quot;http://kenai.com/projects/suncloudapis&quot;&gt;Sun Cloud API&lt;/a&gt;,
motivated by this problem: In a RESTful context, how do you handle
state-changing operations (POST, PUT, DELETE) which have
substantial and unpredictable latency?&lt;/p&gt;
&lt;p&gt;What we’ve learned, from work with our own back-end based on the
Q-layer technology and with some other back-ends, is that Cloud
operations are by and large not very fast; and that the latencies
show up in weird places. Here’s an example: in our own
implementation, creating a Virtual Machine from a template or by
copying another VM instance is very snappy. But weirdly, connecting
a network (public or private) to a VM can sometimes be extremely
slow. Go check out other implementations like EC2 and you see a
similar unpredictable-latency narrative.&lt;/p&gt;
&lt;p&gt;The idiom we’d been using so far was along these lines:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;As with both AtomPub and Rails, when you want to create
something new you POST it to a collection of some sort and the
server comes back with “201 Created” and the URI of the new
object.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;When you POST to some controller (for example “boot a machine”)
or do a DELETE, the server comes back with
“204 No content” to signal success.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is all very well and good; but what happens when some of
these operations take a handful of milliseconds and others (e.g.
“boot all the VMs in this cluster”) could easily go away for
several minutes.&lt;/p&gt;
&lt;p&gt;The current thinking is evolving in the Project Kenai forums,
and was started up by Craig McLanahan in &lt;a href=&quot;http://kenai.com/projects/suncloudapis/forums/forum/topics/911-PROPOSAL-Handling-Asynchronous-Operation-Requests&quot;&gt;
PROPOSAL: Handling Asynchronous Operation Requests&lt;/a&gt;. Check it
out, and put your oar in if you have something better in mind.&lt;/p&gt;
&lt;p&gt;To summarize: For any and all PUT/POST/DELETE operations, we
return “202 In progress” and a new “Status” resource,
which contains a 0-to-100 &lt;code&gt;progress&lt;/code&gt; indicator, a
&lt;code&gt;target_uri&lt;/code&gt; for whatever’s being operated on, an
&lt;code&gt;op&lt;/code&gt; to identify the operation, and, when
&lt;code&gt;progress&lt;/code&gt; reaches 100, &lt;code&gt;status&lt;/code&gt; and
&lt;code&gt;message&lt;/code&gt; fields to tell how the operation came out. The
idea is that this is designed to give a hook that implementors can
make cheap to poll.&lt;/p&gt;
&lt;p&gt;We also thought about a Comet style implementation where we keep
the HTTP channel open, and that can be made clean but support for
it in popular libraries is less than ubiquitous. My personal
favorite idea was to use “Web hooks”, i.e. the client sends a URI
along with the request and the server POSTs back to it when the
operation is complete. But every time I started talking about it I
ran into a brick wall because it probably doesn’t work for a client
behind a firewall, which is where most of them will be. Sigh.&lt;/p&gt;
&lt;p&gt;There are a few points that are still troubling me, listed here
in no particular order:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;When an operation is finished and you want to provide a Status
code, we’re re-using HTTP status codes. Which on the one hand seems
a bit outside their design space, but on the other hand maybe it’s
a wheel we don’t have to re-invent.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Instead of having the “op” field, we could have a different
media-type for each imaginable kind of Status resource. That might
be a bit more RESTful but seems a less convenient to use for client
implementors.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This whole notion of the &lt;code&gt;target_uri&lt;/code&gt; makes me wonder
if we’re missing a generalization. The most obvious role is when
the Status is that of a create operation, for example Create New
VM; then the &lt;code&gt;target_uri&lt;/code&gt; is the new resource’s URI,
what would come back in the Location HTTP header in a synchronous
world.&lt;/p&gt;
&lt;p&gt;And in a few cases you might want more than one target, for
example when you’re attaching an IP address to a VM.&lt;/p&gt;
&lt;p&gt;Hmmm.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Speaking of generalization, I wonder if this whole “Slow REST”
thingie is a pattern that’s going to pop up again often enough in
the future that we should be thinking of a standardized recipe for
approaching it; the kind of thing that has arisen for CRUD
operations in the context of AtomPub and Rails.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What do you think?&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:58:55 +0000</pubDate>
</item>
<item>
	<title>PHP: URL Shorteners - Florian Anderiasch</title>
	<guid>http://codeschmie.de/archives/301-URL-Shorteners.html</guid>
	<link>http://codeschmie.de/archives/301-URL-Shorteners.html</link>
	<description>Yes, it's the new hype - URL shorteners (mostly for use in Twitter).&lt;br /&gt;
Some use the classic &lt;a href=&quot;http://tinyurl.com&quot;&gt;tinyurl&lt;/a&gt;, then there's &lt;a href=&quot;http://is.gd&quot;&gt;is.gd&lt;/a&gt; and &lt;a href=&quot;http://bit.ly&quot;&gt;bit.ly&lt;/a&gt; and a fair bunch of others.&lt;br /&gt;
&lt;br /&gt;
As some people already wrote, and I feel no different here, broken links are baaad, mkay?&lt;br /&gt;
So the easiest way would be to get a short domain for yourself and run your own url shortener.&lt;br /&gt;
I am happy enough to have secured myself a not yet publicly announced 3-char .de domain which 
I'm planning to use for that. This and being bored for 2h led me to roll out my own shortening service.&lt;br /&gt;
&lt;br /&gt;
Enter Shortcore - 259 lines of php code, working already. &lt;br /&gt;
It needs PHP 5.2.0+ (I think :P) and sqlite and I've put it up on &lt;a href=&quot;http://github.com/winks/shortcore/tree&quot;&gt;github&lt;/a&gt; - it's BSD licenced and comments and patches are very much appreciated.&lt;br /&gt;
&lt;br /&gt;
How to use it when it's installed:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;http://example.org/_[uniqueid] redirects to what you saved.&lt;/li&gt;
&lt;li&gt;http://example.org/_[uniqueid]_ shows a preview&lt;/li&gt;
&lt;li&gt;So I have &quot;xxx.de/_ab&quot; - as low as 10 chars for an url (excluding http://), that's not less than a bit.ly url (currently at 5+ chars after the /) and I can still put normal content (not starting with a  &quot;_&quot;) on the domain - fair deal I think&lt;/li&gt;
&lt;li&gt;there's a bookmarklet for easy saving, either provide the [uniqueid] or let it be generated automatically&lt;/li&gt;
&lt;li&gt;it's not meant as a public shortening service, so probably some basic auth has to be added&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:57:19 +0000</pubDate>
</item>
<item>
	<title>Planet Haskell: Greg Bacon: My little budding star</title>
	<guid>tag:blogger.com,1999:blog-16846333.post-7849497028449432743</guid>
	<link>http://feedproxy.google.com/~r/gbacon/~3/PVWEDi7pUuk/my-little-budding-star.html</link>
	<description>&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/16846333-7849497028449432743?l=gbacon.blogspot.com&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/gbacon/~4/PVWEDi7pUuk&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:56:50 +0000</pubDate>
</item>
<item>
	<title>Debian: Russell Coker: DomainKeys and OpenSSL have Defeated Me</title>
	<guid>http://etbe.coker.com.au/?p=1228</guid>
	<link>http://etbe.coker.com.au/2009/07/03/domainkeys-and-openssl-have-defeated-me/</link>
	<description>&lt;p&gt;I have previously written about &lt;a href=&quot;http://etbe.coker.com.au/2009/06/22/valgrindhelgrind-and-stl-string/&quot;&gt;an error that valgrind reported in the STL when some string operations were performed by the DKIM library [1]&lt;/a&gt;.  This turned out to be a bug, Jonathan Wakely filed GCC bug report &lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518&quot;&gt;#40518 [2]&lt;/a&gt; about it, Jonathan is one of many very skillful people who commented on that post.&lt;/p&gt;
&lt;p&gt;deb http://www.coker.com.au lenny gcc&lt;/p&gt;
&lt;p&gt;I’m still not sure whether that bug could actually harm my program, Nathan Myers strongly suggested that it would not impact the correct functionality of the program but mentioned a possible performance issue (which will hurt me as the target platform is 8 or 12 core systems).  Jaymz Julian seems to believe that the STL code in question can lead to incorrect operation and suggested &lt;b&gt;stlport&lt;/b&gt; as an alternative.  As I’m not taking any chances I built GCC with a patch from Jonathan’s bug report for my development machines and then built libdkim with that GCC.  I created the above APT repository for my patched GCC packages.  I also included version 3.4.1 of Valgrind (back-ported from Debian/Unstable) in that repository.&lt;/p&gt;
&lt;p&gt;Nathan Myers also wrote: “&lt;b&gt;Any program that calls strtok() even once may be flagged as buggy regardless of any thread safety issues. Use of strtok() (or strtok_r()) is a marker not unlike gets() of ill thought out coding.&lt;/b&gt;”  I agree, &lt;a href=&quot;http://etbe.coker.com.au/2009/06/14/finding-thread-unsafe-code/&quot;&gt;I wrote a program to find such code and have eliminated all such code where it is called from my program [3]&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I think it’s unfortunate that I have to rebuild all of GCC for a simple STL patch.  &lt;a href=&quot;http://etbe.coker.com.au/2009/06/24/unreasonably-large-source-packages/&quot;&gt;My blog post about the issue of the size and time required to rebuild those packages [4]&lt;/a&gt; received some interesting comments, probably the most immediately useful one was to use &lt;b&gt;--disable-bootstrap&lt;/b&gt; to get a faster GCC build, that was from Jonathan Wakely.  Joe Buck noted that the source is available in smaller packages upstream, this is interesting, but unless the Debian developers package it in the same way I will have to work with the large Debian source packages.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://etbe.coker.com.au/2009/06/28/valgrind-and-openssl/&quot;&gt;I have filed many bug reports against the OpenSSL packages in Debian based on the errors reported by Valgrind [5]&lt;/a&gt;.  I didn’t report all the issues related to error handling as there were too many.  Now my program is often crashing when DomainKeys code is calling those error functions, so one of the many Valgrind/Helgrind issues I didn’t report may be the cause of my problems.  But I can’t report too many bugs at once, I need to give people time to work on the current bug list first.&lt;/p&gt;
&lt;p&gt;Another problem I have is that sometimes the libdkim code will trigger a libc assertion on malloc() or free() if DomainKeys code has been previously called.  So it seems that the DomainKeys code (or maybe the OpenSSL code it calls) is corrupting the heap.&lt;/p&gt;
&lt;p&gt;So I have given up on the idea of getting DomainKeys code working in a threaded environment.  Whenever I need to validate a DomainKeys message my program will now fork a child process to do that.  If it corrupts the heap while doing so it’s no big deal as the child process calls exit(0) after it has returned the result over a pipe.  This causes a performance loss, but it appears that it’s less than 3 times slower which isn’t too bad.  From a programming perspective this was fairly easy to implement because a thread of the main program prepares all the data and then the child process can operate on it – it would be a lot harder to implement such things on an OS which doesn’t have fork().&lt;/p&gt;
&lt;p&gt;DomainKeys has been obsoleted by DKIM for some time, so all new deployments of signed email should be based on DKIM and systems that currently use DomainKeys should be migrating soon.  So the performance loss on what is essentially a legacy feature shouldn’t impact the utility of my program.&lt;/p&gt;
&lt;p&gt;I am considering uploading my libdomainkeys package to Debian.  I’m not sure how useful it would be as DomainKeys is hopefully going away.  But as I’ve done a lot of work on it already I’m happy to share if people are interested.&lt;/p&gt;
&lt;p&gt;Thanks again for all the people who wrote great comments on my posts.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;br /&gt;
&lt;li&gt;[1]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/22/valgrindhelgrind-and-stl-string/&quot;&gt; http://etbe.coker.com.au/2009/06/22/valgrindhelgrind-and-stl-string/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;[2]&lt;a href=&quot;http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518&quot;&gt; http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40518&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;[3]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/14/finding-thread-unsafe-code/&quot;&gt; http://etbe.coker.com.au/2009/06/14/finding-thread-unsafe-code/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;[4]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/24/unreasonably-large-source-packages/&quot;&gt; http://etbe.coker.com.au/2009/06/24/unreasonably-large-source-packages/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;[5]&lt;a href=&quot;http://etbe.coker.com.au/2009/06/28/valgrind-and-openssl/&quot;&gt; http://etbe.coker.com.au/2009/06/28/valgrind-and-openssl/&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;
&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:54:53 +0000</pubDate>
</item>
<item>
	<title>Gentoo: Diego E. Pettenò: How _not_ to fix GCC 4.4 bugs</title>
	<guid>tag:blog.flameeyes.eu,2005:Article/4812</guid>
	<link>http://blog.flameeyes.eu/2009/07/02/how-_not_-to-fix-gcc-4-4-bugs</link>
	<description>&lt;img src=&quot;http://www.gravatar.com/avatar/8c8fcfa0151cc947e01702ac90922c9b.jpg?s=100&amp;amp;r=pg&amp;amp;d=http%3A%2F%2Fplanet.gentoo.org%2Fimages%2Fflameeyes.png&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot; /&gt;
&lt;p&gt;So with &lt;span class=&quot;caps&quot;&gt;GCC&lt;/span&gt; 4.4 and glibc 2.10, C++ support went, once again, stricter. Now, leaving aside all my possible comments on a language for which there is still an absolute vacuum of actual implementations years after publishing, let just look at what the problem is this time around.&lt;/p&gt;
&lt;p&gt;The main issue, in which glibc 2.10 is also related, is that the C-style string functions now return pointers with the same constant modifier as they are given; so if you look for a characters in a constant string, it’ll return a constant string pointer, and vice-versa if you give it a variable string, it’ll return you a variable string pointer (more &lt;a href=&quot;http://blog.flameeyes.eu/2009/05/24/c-libraries-galore&quot;&gt;here&lt;/a&gt; if you’re bored).&lt;/p&gt;
&lt;p&gt;This means that the following code will build fine with either &lt;span class=&quot;caps&quot;&gt;GCC&lt;/span&gt; 4.3 or glibc 2.10 but will fail when both of those (or more recent) versions are used:&lt;/p&gt;
&lt;pre&gt;&lt;span class=&quot;CodeRay&quot;&gt;#include &amp;lt;cstring&amp;gt;

int main() {
  char *foo = strchr(&quot;ciao&quot;, 'a');
}&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;% g++-4.3.3 test-const.cc -o test-const    
% g++-4.4.0 test-const.cc -o test-const 
test-const.cc: In function ‘int main()’:
test-const.cc:4: error: invalid conversion from ‘const char*’ to ‘char*’&lt;/pre&gt;
&lt;p&gt;The error from the compiler is quite real: you’re mixing up different type of variables, although in this particular instance you’re not doing anything wrong with it, but for instance take the following code rather than the one shown earlier:&lt;/p&gt;
&lt;pre&gt;&lt;span class=&quot;CodeRay&quot;&gt;#include &amp;lt;cstring&amp;gt;

int main() {
  char *foo = strchr(&quot;ciao&quot;, 'a');
  *foo = 'e';
}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;This code is trying to change something that it shouldn’t; in particular, given the pointer is now pointing inside a literal, which is then inside the &lt;strong&gt;.rodata&lt;/strong&gt; section of the &lt;span class=&quot;caps&quot;&gt;ELF&lt;/span&gt; and in a shared, non-writeable area of memory, when executed this will cause a segmentation fault (a crash, for those not used to this terminology). But it can get less obvious and more sneaky, since instead of a literal, you could have a parameter, declared constant.&lt;/p&gt;
&lt;p&gt;Of course, whenever you have a variable or a parameter that is declared constant, but is not actually residing in read-only memory areas (like &lt;strong&gt;.rodata&lt;/strong&gt;), you’re just a cast away from having it non-constant. But then you’d be seeing the cast, and that would be like a yellow light sign. On the other hand, with the old method of just having the function cast away the constant modifier, it was less obvious at first sight.&lt;/p&gt;
&lt;p&gt;Okay so we know what the problem is, why the error was introduced, let’s go down to business with what the problem is. I have seen more than a few patches out there that, to make software build on &lt;span class=&quot;caps&quot;&gt;GCC&lt;/span&gt; 4.4/glibc 2.10 simply cast away the constant modifier, C-style:&lt;/p&gt;
&lt;pre&gt;&lt;span class=&quot;CodeRay&quot;&gt;#include &amp;lt;cstring&amp;gt;

int main() {
  char *foo = (char*)strchr(&quot;ciao&quot;, 'a');
}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;This is &lt;em&gt;wrong&lt;/em&gt;. You should &lt;strong&gt;not&lt;/strong&gt; do that. Why? Because you’re hiding a problem; in more than half the cases, the solution is simply to change the declaration of the variable:&lt;/p&gt;
&lt;pre&gt;&lt;span class=&quot;CodeRay&quot;&gt;#include &amp;lt;cstring&amp;gt;

int main() {
  const char *foo = strchr(&quot;ciao&quot;, 'a');
}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Of course, this does not cover all the cases; there are a few when the pointer is actually used to change memory areas. In those cases, since fixing the issue &lt;em&gt;might&lt;/em&gt; be overkill, I’d highly suggest a different syntax:&lt;/p&gt;
&lt;pre&gt;&lt;span class=&quot;CodeRay&quot;&gt;#include &amp;lt;cstring&amp;gt;

int main() {
  char *foo = const_cast&amp;lt;char*&amp;gt;(strchr(&quot;ciao&quot;, 'a'));
  *foo = 'e';
}&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;This uses the explicit &lt;code&gt;const_cast&lt;/code&gt; keyword from C++, and the very fact that it’s an eyesore in the code should be enough to scream “Workaround!”, which is what it is in truth.&lt;/p&gt;
&lt;p&gt;So please, don’t just cast it away C-style, give it a bit more thoughts, please!&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:53:16 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Daniel Glazman: R.I.P. XHTML2</title>
	<guid>urn:md5:ded98d50191e03d1ab833cb1eaf1d115</guid>
	<link>http://www.glazman.org/weblog/dotclear/index.php?post/2009/07/03/RIP-XHTML2</link>
	<description>&lt;p&gt;More than 7 years ago, I wrote that XHTML2 was a major strategic mistake that had to be stopped immediately. In fact, I started saying so even earlier than that. Today, XHTML2 is no more. It takes with it into the grave CURIE, HLink and XFrames. Specs that nobody ever seriously considered as part of the future of the web, nobody outside of the XHTML2 WG of course.&lt;/p&gt;
&lt;p&gt;Anyway. It's a good move but a move that comes too late. That decision should have been taken YEARS AGO. What a waste of time, money and energy. What a bad sign to the community. Many people thought the following : &quot;it's good these specs are in the xhtml2 wg, we don't want them elsewhere&quot;.&lt;/p&gt;
&lt;p&gt;R.I.P.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:52:00 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Tom Schindl: E4 – A new area for RCP/RIA-Applications</title>
	<guid>http://tomsondev.bestsolution.at/?p=446</guid>
	<link>http://tomsondev.bestsolution.at/2009/07/02/e4-a-new-area-for-rcpria-applications/</link>
	<description>&lt;br /&gt;&lt;p&gt;I’m on the road to prepare my example for the E4 talk I’m delivering on the &lt;a href=&quot;http://wiki.eclipse.org/EclipseApplicationDeveloperDayKarlsruhe&quot;&gt;Eclipse-Developers-Day in Karlsruhe&lt;/a&gt; and I have to say that in my eyes E4 is going to open up a new world for Eclipse-RCP-Developers.&lt;/p&gt;
&lt;p&gt;Though RCP-Applications written in 3.x might not look too bad no one can deny that the UI-Design is coming from an IDE background and compared to modern Web-UIs it looks boring (which is not a bad thing per se for business applications). The problem in 3.x is that it is very hard to impossible to change the L&amp;amp;F of your application.&lt;/p&gt;
&lt;p&gt;E4 provides different multiple solutions to fix the L&amp;amp;F:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Declarative-Styleing through CSS&lt;/li&gt;
&lt;li&gt;The possibility to define your own renderes to exchange Widget A through Widget B if CSS is not enough to theme your application&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To demostrate what you can achieve when you combine the 1st and 2nd possibility I create a small screencast &lt;/p&gt;
&lt;ins style=&quot;text-decoration: none;&quot;&gt;

 &lt;/ins&gt;
&lt;p&gt;where you see the famous E4-Photo-Application revamped&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://tomsondev.files.wordpress.com/2009/07/screen3.png?w=510&amp;amp;h=302&quot; title=&quot;E4 Photo Demo&quot; height=&quot;302&quot; width=&quot;510&quot; alt=&quot;E4 Photo Demo&quot; class=&quot;aligncenter size-full wp-image-456&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A second example application is our E4-Contacts-Demo created and maintained by &lt;a href=&quot;http://www.toedter.com/blog/&quot;&gt;Kai Tödter&lt;/a&gt; which shows advanced css-styles like radial gradients.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://tomsondev.files.wordpress.com/2009/07/screen2.png?w=510&amp;amp;h=285&quot; title=&quot;Contacts Demo&quot; height=&quot;285&quot; width=&quot;510&quot; alt=&quot;Contacts Demo&quot; class=&quot;aligncenter size-full wp-image-454&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I use this application to show you another nice thing you can do with E4’s declarative styling support. You can adjust the styling of your application while it is running so that you can experiment with various font and color settings &lt;strong&gt;WITHOUT&lt;/strong&gt; shutting down your application.&lt;/p&gt;
&lt;ins style=&quot;text-decoration: none;&quot;&gt;

 &lt;/ins&gt;
&lt;p&gt;If all this would not be enough you can run the &lt;strong&gt;unmodified code&lt;/strong&gt; (please take this literally) from the example application above in your browser using the RAP-Framework.&lt;/p&gt;
&lt;ins style=&quot;text-decoration: none;&quot;&gt;

 &lt;/ins&gt;
&lt;p&gt;&lt;img src=&quot;http://tomsondev.files.wordpress.com/2009/07/screen1.png?w=510&amp;amp;h=300&quot; title=&quot;E4-Rap-Screenshot&quot; height=&quot;300&quot; width=&quot;510&quot; alt=&quot;E4-Rap-Screenshot&quot; class=&quot;aligncenter size-full wp-image-450&quot; /&gt;&lt;/p&gt;
&lt;p&gt;If you are interested in E4 and what’s going on behind the scenes of the next major Eclipse-Release I hope to see you in Karlsruhe on Tuesday July 7th.&lt;/p&gt;
&lt;br /&gt;&lt;a href=&quot;http://tomsondev.bestsolution.at/2009/07/02/e4-a-new-area-for-rcpria-applications/&quot;&gt;&lt;img width=&quot;160&quot; src=&quot;http://cdn.videos.wordpress.com/M6XU68xj/finderschnappschuss001.thumbnail.jpg&quot; height=&quot;120&quot; /&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://tomsondev.bestsolution.at/2009/07/02/e4-a-new-area-for-rcpria-applications/&quot;&gt;&lt;img width=&quot;160&quot; src=&quot;http://cdn.videos.wordpress.com/cWHd8LW8/eclipseschnappschuss001.thumbnail.jpg&quot; height=&quot;120&quot; /&gt; &lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://tomsondev.bestsolution.at/2009/07/02/e4-a-new-area-for-rcpria-applications/&quot;&gt;&lt;img width=&quot;160&quot; src=&quot;http://cdn.videos.wordpress.com/Doq8dIct/firefoxschnappschuss001.thumbnail.jpg&quot; height=&quot;120&quot; /&gt; &lt;/a&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/tomsondev.wordpress.com/446/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/tomsondev.wordpress.com/446/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/tomsondev.wordpress.com/446/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/tomsondev.wordpress.com/446/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/tomsondev.wordpress.com/446/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/tomsondev.wordpress.com/446/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/tomsondev.wordpress.com/446/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/tomsondev.wordpress.com/446/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/tomsondev.wordpress.com/446/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/tomsondev.wordpress.com/446/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=tomsondev.bestsolution.at&amp;amp;blog=7995503&amp;amp;post=446&amp;amp;subd=tomsondev&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:38:36 +0000</pubDate>
</item>
<item>
	<title>FreeDesktop: Nagappan Alagappan: Mago – Gran Canaria Desktop Summit</title>
	<guid>tag:blogger.com,1999:blog-9589202.post-1445583743224743590</guid>
	<link>http://nagappanal.blogspot.com/2009/07/mago-gran-canaria-desktop-summit.html</link>
	<description>&lt;a href=&quot;http://ubuntutesting.wordpress.com/&quot;&gt;Ara Pulido&lt;/a&gt; will be presenting &lt;a href=&quot;http://www.grancanariadesktopsummit.org/node/220&quot;&gt;Mago&lt;/a&gt; in &lt;a href=&quot;http://www.grancanariadesktopsummit.org/&quot;&gt;Gran Canaria Desktop&lt;/a&gt; summit. &lt;a href=&quot;http://monotonous.org/&quot;&gt;Eitan Isaacson&lt;/a&gt; will also be attending the conference.&lt;br /&gt;&lt;br /&gt; Eitan has done all the base ground work for &lt;a href=&quot;http://cgit.freedesktop.org/ldtp/ldtp2/tree&quot;&gt;LDTPv2&lt;/a&gt;. Eitan also did the ground work with Javier and Ara on &lt;a href=&quot;http://launchpad.net/mago&quot;&gt;Mago&lt;/a&gt; too :) alrounder !!!&lt;br /&gt;&lt;br /&gt; Any one interested in GNOME / KDE automated testing, I recommend you to attend the session by Ara.&lt;br /&gt;&lt;br /&gt;Happy hacking Ara, Eitan.&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/9589202-1445583743224743590?l=nagappanal.blogspot.com&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:36:30 +0000</pubDate>
</item>
<item>
	<title>Ubuntu Lite: Site maintenance planned July 2-5, 2009</title>
	<guid>http://www.u-lite.org/324 at http://www.u-lite.org</guid>
	<link>http://www.u-lite.org/content/site-maintenance-planned-july-2-5-2009</link>
	<description>&lt;p&gt;Some major site maintenance is planned for July 2-5, 2009.  The site may be down for small and/or significant ammounts of time durring this process.  Any major delays will be announced on twitter at &lt;a href=&quot;http://twitter.com/ulite&quot; title=&quot;http://twitter.com/ulite&quot;&gt;http://twitter.com/ulite&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Planned changes:&lt;br /&gt;
Drupal Update&lt;br /&gt;
Drupal Modules Updates&lt;br /&gt;
Theme work&lt;br /&gt;
Improved Spam Prevention&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:27:26 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Nick Ali: UDS Karmic Plenary Videos</title>
	<guid>http://boredandblogging.com/?p=1183</guid>
	<link>http://feedproxy.google.com/~r/boredandblogging/planetubuntu/~3/pJ7nVXf-VQU/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/boredandblogging.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;Just in case you missed it, the plenary videos from UDS are now up: &lt;a href=&quot;http://video.ubuntu.com/uds/karmic/&quot;&gt;http://video.ubuntu.com/uds/karmic/&lt;/a&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/boredandblogging/planetubuntu/~4/pJ7nVXf-VQU&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:25:36 +0000</pubDate>
</item>
<item>
	<title>SuSE: Pavel Machek: According to yr.no, world is going to end tommorow</title>
	<guid>http://pavelmachek.livejournal.com/81401.html</guid>
	<link>http://pavelmachek.livejournal.com/81401.html</link>
	<description>...at 14:00 Prague time.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;img src=&quot;http://atrey.karlin.mff.cuni.cz/~pavel/picture/meteogram_no_tommorow.png&quot; /&gt;. &lt;br /&gt;&lt;br /&gt;&lt;p&gt;([Un]fortunately, prediction was already updated).&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Oh and BTW... weather predictions seem to be quite a way off in the last few days. Always predicting rain... and then there's a sunny day with storm in a distance. (Ok, yesterday we got storm very close, and we did not make it to the stables fast enough -- could not gallop with all the children -- so we were totally wet, but....) I guess storms are hard to predict?&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:23:09 +0000</pubDate>
</item>
<item>
	<title>CUPS: CUPS 1.3.11</title>
	<guid>http://www.cups.org/articles.php?L586</guid>
	<link>http://www.cups.org/articles.php?L586</link>
	<description>CUPS 1.3.11 fixes some scheduler and web interface issues and improves PDF printing.</description>
	<pubDate>Thu, 02 Jul 2009 22:18:06 +0000</pubDate>
</item>
<item>
	<title>Maemo: Going to GUADEC</title>
	<guid>http://maemo.org/midcom-permalink-ceafbe18675911deb3ba0365e42de580e580</guid>
	<link>http://www.joaquimrocha.com/2009/07/02/going-to-guadec/</link>
	<description>&lt;p&gt;I mean &lt;a href=&quot;ttp://www.grancanariadesktopsummit.org&quot; title=&quot;Gran Canaria Desktop Summit&quot; target=&quot;_blank&quot;&gt;Gran Canaria Desktop Summit&lt;/a&gt;, an event joining &lt;a href=&quot;http://en.wikipedia.org/wiki/Guadec&quot; title=&quot;GUADEC&quot; target=&quot;_blank&quot;&gt;GUADEC&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Akademy&quot; title=&quot;aKademy&quot; target=&quot;_blank&quot;&gt;aKademy&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Tomorrow I&amp;#8217;ll fly to &lt;a href=&quot;http://en.wikipedia.org/wiki/Gran_Canaria&quot; title=&quot;Gran Canaria&quot; target=&quot;_blank&quot;&gt;Gran Canaria&lt;/a&gt; to attend this great event and I got lots of good expectations since it&amp;#8217;s gonna be my first GUADEC.&lt;br /&gt;
I hope to attend many conferences and hang out with fellow Igalians and friends.&lt;/p&gt;
&lt;p&gt;A lot of important names in our world of Open Source and particularly, Open Desktop will be there so it can only be great!&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll give two talks in there. A lightning talk about my OCR project &amp;#8212; &lt;a href=&quot;http://live.gnome.org/OCRFeeder&quot; title=&quot;OCRFeeder&quot; target=&quot;_blank&quot;&gt;OCRFeeder&lt;/a&gt; &amp;#8212; and another one that gives a practical view on the new Hildon (or &amp;#8220;The Fremantle Way&amp;#8221;).&lt;br /&gt;
By the way, I used &lt;a href=&quot;http://en.wikipedia.org/wiki/ReStructured_Text&quot; title=&quot;ReStructured Text&quot; target=&quot;_blank&quot;&gt;ReStructured Text&lt;/a&gt; to do my presentation (using the rst2odp script) and save time from using Open Office. You should try it too.&lt;/p&gt;
&lt;p&gt;So, thanks to my dear girlfriend everything is packed already (I always think my socks time-traveled to Narnia), the camera battery is charged, presentations are finished and I&amp;#8217;m ready to go &amp;#8212; I don&amp;#8217;t mention my laptop because we&amp;#8217;re &amp;#8220;symbiotically&amp;#8221; connected and where I go &amp;#8220;he&amp;#8221; goes.&lt;/p&gt;
&lt;p&gt;Hope to see you there!&lt;/p&gt;
&lt;span class=&quot;net_nemein_favourites&quot;&gt;2 &lt;a href=&quot;http://maemo.org/news/?net_nemein_favourites_execute=fav&amp;amp;net_nemein_favourites_execute_for=ceafbe18675911deb3ba0365e42de580e580&amp;amp;net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ceafbe18675911deb3ba0365e42de580e580/&quot; class=&quot;net_nemein_favourites_create&quot;&gt;&lt;img src=&quot;http://static.maemo.org/net.nemein.favourites/not-favorite.png&quot; style=&quot;border: none;&quot; alt=&quot;Add to favourites&quot; title=&quot;Add to favourites&quot; /&gt;&lt;/a&gt;2 &lt;a href=&quot;http://maemo.org/news/?net_nemein_favourites_execute=bury&amp;amp;net_nemein_favourites_execute_for=ceafbe18675911deb3ba0365e42de580e580&amp;amp;net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ceafbe18675911deb3ba0365e42de580e580/&quot; class=&quot;net_nemein_favourites_create&quot;&gt;&lt;img src=&quot;http://static.maemo.org/net.nemein.favourites/not-buried.png&quot; style=&quot;border: none;&quot; alt=&quot;Bury&quot; title=&quot;Bury&quot; /&gt;&lt;/a&gt;&lt;/span&gt;</description>
	<pubDate>Thu, 02 Jul 2009 22:11:28 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Mozilla IT: Mozilla Scheduled Downtime - 07/02/2009, 7pm PDT (0200 - 0600 07/03/2009 UTC)</title>
	<guid>http://blog.mozilla.com/it/?p=479</guid>
	<link>http://blog.mozilla.com/it/2009/07/02/mozilla-scheduled-downtime-07022009-7pm-pdt-0200-0600-07032009-utc/</link>
	<description>&lt;p&gt;We will have a scheduled maintenance window tonight from 7:00pm to 11:00pm PDT. The following changes will take place:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;7:00pm PDT (0200 UTC) &lt;tt&gt;&lt;a href=&quot;http://graphs.mozilla.org/&quot;&gt;graphs.mozilla.org&lt;/a&gt;&lt;/tt&gt; update.  We’ll be updating &lt;a href=&quot;http://graphs.mozilla.org/&quot;&gt;&lt;code&gt;graphs.mozilla.org&lt;/code&gt;&lt;/a&gt; to pick up code updates (bugs &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=501432&quot;&gt;501432&lt;/a&gt; and &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=498802&quot;&gt;498802&lt;/a&gt;). &lt;em&gt;Duration 4 hours.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;8:00pm PDT (0300 UTC) DHCP infrastructure changes. We’ll be implementing an active/standby DHCP server setup which requires some reconfiguration on the current DHCP server. &lt;em&gt;No downtime expected.&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;10:00pm PDT (0500) UTC hg repo maintenance.  We’ll be resetting the &lt;code&gt;hg&lt;/code&gt; repo (bug &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=500246&quot;&gt;500246&lt;/a&gt;).  &lt;em&gt;Duration 30 minutes&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please let me know if you have any reason why we should not proceed with this planned maintenance. As always, we aim to keep downtime to as little as possible, but unexpected complications can arise causing longer downtime periods than expected. All systems should be operational by the end of the maintenance window.&lt;/p&gt;
&lt;p&gt;Feel free to comment directly in those bugs if you see issues past the planned downtime.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 21:47:40 +0000</pubDate>
</item>
<item>
	<title>GStreamer: Sebastian Pölsterl: GNOME DVB Daemon and GSoC '09</title>
	<guid>http://www.k-d-w.org/68 at http://www.k-d-w.org</guid>
	<link>http://www.k-d-w.org/node/68</link>
	<description>&lt;p&gt;So far I neglected writing about this year's Google Summer of Code. This ends with this post. As last year, I'm working on &lt;a href=&quot;http://live.gnome.org/DVBDaemon&quot;&gt;GNOME DVB Daemon&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the last couple of weeks I concentrated on the user experience, thus making setting up devices as easy as possible. I made a short screencast that shows the new assistant started by the Totem plugin.&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.gnome.org/~sebp/dvb-daemon/dvb-daemon-setup.ogv&quot;&gt;&lt;img src=&quot;http://www.k-d-w.org/uploads/images/dvb-daemon-setup_thumb.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If there's only one unconfigured device it's selected automatically. If you have multiple devices it's checked if there's already a device group of the same type and adds the device to the group, if possible. In addition, you don't have to care about channels.conf at all anymore. In expert mode, though, you still can create only a channels.conf file without actually setting up the devices.&lt;/p&gt;
&lt;p&gt;The Totem plugin was improved, too. As you can see in the next screencast:&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
&lt;a href=&quot;http://www.gnome.org/~sebp/dvb-daemon/dvb-daemon-totem.ogv&quot;&gt;&lt;img src=&quot;http://www.k-d-w.org/uploads/images/dvb-daemon-totem_thumb.png&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Everything that's available in gnome-dvb-control can be accessed from within Totem. You can browse EPG, manage recordings, schedule recordings and configure devices. The next step is to remove the existing DVB code from Totem and make the dvb-daemon plugin built-in.&lt;/p&gt;
&lt;p&gt;Furthermore, I finally took care that live TV doesn't interfere with recordings. If a recording is coming up and you're watching a channel on a different transport stream, streaming is stopped so the recordings can start properly. That means you can still watch a different channel on the same transport stream (TS) or record multiple channels on the same TS simultaneously.&lt;/p&gt;
&lt;p&gt;This are all unreleased features I'm talking about, but hopefully I can make a proper tarball release soon.&lt;/p&gt;
&lt;p&gt;Now there are basically two items left on my GSoC todo list. Writing a ring buffer to provide a way to do time shifting, pause/rewind/fast-forward live TV and a plugin system for EPG aggregators.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 21:42:35 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Mackenzie Morgan: Shedding some light on a recent trend</title>
	<guid>tag:blogger.com,1999:blog-6523277464962917938.post-2958507685805311640</guid>
	<link>http://ubuntulinuxtipstricks.blogspot.com/2009/06/shedding-some-light-on-recent-trend.html</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/maco.m.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;I learned that apparently the recent cases of adult images in conference talks hasn't received as much attention as I thought it had.  Given that I heard about &lt;a href=&quot;http://geekfeminism.wikia.com/wiki/CouchDB_talk&quot;&gt;Matt Aimonetti's CouchDB talk&lt;/a&gt; at the Golden Gate Ruby Con in April from an old coworker, &lt;a href=&quot;http://www.sarahmei.com/blog/2009/04/25/why-rails-is-still-a-ghetto/&quot; title=&quot;Why Rails is still a Ghetto&quot;&gt;Sarah Mei&lt;/a&gt; of &lt;a href=&quot;http://devchix.org&quot;&gt;DevChix&lt;/a&gt;, and hypa7ia on #ubuntu-women all in the span of one day, I was under the impression it was something anyone who reads blogs or tweets or dents and is interested in software development had heard about it.  My boyfriend is sitting here going &quot;um, wasn't that horse beaten to death?&quot;  Apparently not.  It seems not to have penetrated the open source blogosphere.  Check out links from that Geek Feminism Wiki article on Aimonetti's talk for blog reactions to it, or just Google for &quot;CouchDB&quot;, &quot;Aimonetti&quot;, and &quot;GuGaRuCo&quot; (some combination thereof should work).  And by the way, a thong doesn't make a woman's rear any less naked.  Really.  It doesn't exactly cover anything.&lt;/p&gt;
&lt;p&gt;Noting that I said &quot;cases,&quot; I should point out the one that happened just a couple weeks ago at FlashBelt.  This one was even more &lt;acronym title=&quot;not safe for work&quot;&gt;NSFW&lt;/acronym&gt;.  If you want the full account, check out &lt;a href=&quot;http://www.geekgirlsguide.com/blog/2009/06/11/98/prude_or_professional_by_courtney_remes&quot;&gt;the email the Geek Girls Guide received describing it&lt;/a&gt;.  It's mind-boggling.&lt;/p&gt;
&lt;p&gt;I really thought these events needed to be brought to the attention of those who had not yet heard about them.  Hopefully, more repeats can be avoided if conference organizers are aware of the need to watch for such things.  I've already suggested having a look through slides at &lt;acronym title=&quot;Ohio Linuxfest&quot;&gt;OLF&lt;/acronym&gt; to Bethlynn.&lt;/p&gt;From http://ubuntulinuxtipstricks.blogspot.com&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6523277464962917938-2958507685805311640?l=ubuntulinuxtipstricks.blogspot.com&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 21:36:47 +0000</pubDate>
</item>
<item>
	<title>PostgreSQL: Peter Eisentraut: Where have all the translations gone?</title>
	<guid>http://petereisentraut.blogspot.com/2009/07/where-have-all-translations-gone.html</guid>
	<link>http://petereisentraut.blogspot.com/2009/07/where-have-all-translations-gone.html</link>
	<description>&lt;a href=&quot;http://1.bp.blogspot.com/_dgdplFJMdoQ/SkrgqGL0WGI/AAAAAAAAABs/1NC8XNN2I0c/s1600-h/kbabel-256.png&quot;&gt;&lt;img src=&quot;http://1.bp.blogspot.com/_dgdplFJMdoQ/SkrgqGL0WGI/AAAAAAAAABs/1NC8XNN2I0c/s400/kbabel-256.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5353338120902563938&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;If you have downloaded PostgreSQL 8.4.0 and are wondering where so many of the translations have gone: The translation team has &lt;a href=&quot;http://lists.pgfoundry.org/pipermail/pgtranslation-translators/2009-March/000146.html&quot;&gt;decided&lt;/a&gt; not to ship translations anymore that are not translated at least about 80%. (See the &lt;a href=&quot;http://archives.postgresql.org/pgsql-committers/2009-06/msg00360.php&quot;&gt;commit message&lt;/a&gt; for the list of victims.) This is so that incidental users of stale translations are not presented with a confusing and distracting mix of translated and untranslated messages all the time. So right now we are only shipping a full or almost full set of translations into German, Spanish, French, Japanese, Portuguese, and Turkish.&lt;br /&gt;&lt;br /&gt;To get the translations into other languages back into the release, go to &lt;a href=&quot;http://babel.postgresql.org/&quot;&gt;http://babel.postgresql.org/&lt;/a&gt; and start submitting updates.  Updates may be included as early as release 8.4.1 in a few months.&lt;br /&gt;&lt;br /&gt;I hope in particular that we might get the Chinese, Italian, and Russian translations back into shape.&lt;br /&gt;&lt;br /&gt;By the way, if you want to start (or continue) translating, I suggest that you approximately follow this priority order: libpq, psql, pgscripts, pg_dump, initdb, postgres. This or a similar order will make the translations useful to the most users with the least amount of work.&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/5541296000399974369-1452563363527277379?l=petereisentraut.blogspot.com&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 21:27:09 +0000</pubDate>
</item>
<item>
	<title>KDE: Ariya Hidayat: 2009 developer days</title>
	<guid>tag:blogger.com,1999:blog-17722541.post-1514023074483556649</guid>
	<link>http://ariya.blogspot.com/2009/07/2009-developer-days.html</link>
	<description>&lt;p&gt;&lt;img src=&quot;http://www.qtsoftware.com/promotion-banner/++atfield++image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Just like &lt;a href=&quot;http://ariya.blogspot.com/2008/10/bye-munich-see-you-in-us.html&quot;&gt;last year&lt;/a&gt;, this fall we will have another &lt;a href=&quot;http://www.qtsoftware.com/qtdevdays2009&quot;&gt;Qt Developer Days&lt;/a&gt;. Europeans might want to visit &lt;a href=&quot;http://www.qtsoftware.com/about/events/qt-developer-days-munich&quot;&gt;Munich&lt;/a&gt;, Americans are better served with &lt;a href=&quot;http://www.qtsoftware.com/about/events/qt-developer-days-2009-u.s&quot;&gt;San Francisco&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Will I go there? Well, unless there is something wrong, yes I will. Note that a little information about the sessions is &lt;a href=&quot;http://www.qtsoftware.com/qtdevdays2009/qt-technical-sessions&quot;&gt;already available&lt;/a&gt;. I leave it as an exercise to the reader, which talks in the &lt;a href=&quot;http://www.qtsoftware.com/qtdevdays2009/qt-technical-sessions#innovate&quot;&gt;Innovate track&lt;/a&gt; I will hold :)&lt;/p&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/17722541-1514023074483556649?l=ariya.blogspot.com&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 21:12:02 +0000</pubDate>
</item>
<item>
	<title>KDE: Ariya Hidayat: save me from being confused, show me what I'm looking for</title>
	<guid>tag:blogger.com,1999:blog-17722541.post-2509376446812460041</guid>
	<link>http://ariya.blogspot.com/2009/07/save-me-from-being-confused-show-me.html</link>
	<description>&lt;p&gt;Since three &lt;a href=&quot;http://ariya.blogspot.com/2007/11/three-is-magic-number.html&quot;&gt;brings the luck&lt;/a&gt; and it is the first
&lt;a href=&quot;http://ariya.blogspot.com/2007/02/modulus-with-mersenne-prime.html&quot;&gt;Mersenne prime&lt;/a&gt;, I am glad to list three QWebView tricks for your pleasure:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://labs.trolltech.com/blogs/2009/06/09/night-mode-in-qwebview/&quot;&gt;Night-mode&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/ncexhkwISuVYeYY3wtU8dg?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_Oijhf1ZPv-4/Siwd2kFnN5I/AAAAAAAABCI/cGIewu0-Aic/s400/webnightmode.png&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://labs.trolltech.com/blogs/2009/06/06/qwebview-snap-scrolling/&quot;&gt;Snap scrolling&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/Y1Wv2aHv_veZ4RSJ6zVPHg?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_Oijhf1ZPv-4/SikT0q7GEEI/AAAAAAAABBE/BDXm0J_z5LA/s400/snapscroll.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://labs.trolltech.com/blogs/2009/06/30/transparent-qwebview-or-qwebpage/&quot;&gt;Transparency&lt;/a&gt;, something you have also &lt;a href=&quot;http://ariya.blogspot.com/2009/04/transparent-qwebview-and-qwebpage.html&quot;&gt;seen before&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/CrUv9s8Lpu4QGAtuuhLvLQ?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_Oijhf1ZPv-4/SivccHwuKMI/AAAAAAAABBo/thRKJ9kpqYA/s400/transparentweb.png&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/17722541-2509376446812460041?l=ariya.blogspot.com&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 21:00:31 +0000</pubDate>
</item>
<item>
	<title>SuSE: Kevin Dupuy: Bearing Arms</title>
	<guid>http://kevinsword.com/?p=376</guid>
	<link>http://kevinsword.com/2009/07/bearing-arms/</link>
	<description>&lt;address&gt;In recent weeks, I&amp;#8217;ve been reposting articles and essays sent to me about different subjects. I&amp;#8217;m the &lt;a href=&quot;http://www.campaignforliberty.com&quot;&gt;Campaign for Liberty&lt;/a&gt; Local Coordinator for West Baton Rouge Parish in Louisiana, this was posted to me by our State Coordinator, on the subject of the Second Amendment of the United States Constitution.&lt;/address&gt;
&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Iranians Have Two Options: Obey or Die&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;by Jacob G. Hornberger&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Many Europeans love to look down their noses at Americans over the issue of gun rights. They just cannot understand how Americans can be so uncivilized as to leave people free to own guns.&lt;/p&gt;
&lt;p&gt;Whenever I discuss the gun-rights issue with Europeans, I point out one fundamental fact, one with which they can never disagree. The fact is this: When European citizens become the victims of a tyrannical political regime within their own country, they have no effective choice but to submit to its dictates and obey its commands.&lt;/p&gt;
&lt;p&gt;Americans, on the other hand, would have at least one last option if a tyrannical regime were ever to assume power in the United States. That last option is violent resistance against the forces of government.&lt;/p&gt;
&lt;p&gt;Consider Nazi Germany. The Nazis were able to take power in Germany through democratic means (a point that democracy lovers often forget). After assuming power, they used two threats to assume tyrannical power: terrorism and communism. The threat of terrorism was rooted in the terrorist attack on the Reichstag. The communist threat was rooted in the Soviet Union.&lt;/p&gt;
&lt;p&gt;Using those two threats, Hitler induced the German parliament to grant him emergency powers by which civil liberties were suspended. Even though the suspension was supposed to be temporary &amp;#8211; that is, until the crises over terrorism and communism were over &amp;#8211; as a practical matter it became permanent.&lt;/p&gt;
&lt;p&gt;The Nazis used the period to consolidate their power over the citizenry and impose their tyrannical regime onto the German people. As a result of gun control, violent resistance to Nazi tyranny by the German people was not an option. As a result, most Germans became submissive, loyal, and obedient.&lt;/p&gt;
&lt;p&gt;This same phenomenon is now playing itself out in Iran. At first, the post-election demonstrations challenging the validity of the election results were drawing hundreds of thousands of people. Today, the protests are drawing only a few thousand.&lt;/p&gt;
&lt;p&gt;The reason? The tyrants in Iran are killing protestors and promising to execute many more after kangaroo tribunals find them guilty of acts that threaten national security. Everyone in Iran knows that there are now only two options: obey and meekly submit to the orders of the tyrants or die. Owing to gun control, shooting back at the tyrants&amp;#8217; police and military, who are faithfully and loyally following the orders of their superiors, is not an option.&lt;/p&gt;
&lt;p&gt;Ironically, the right to keep and bear arms actually serves as an inhibitor to would-be tyrants. When they know that hundreds of thousands of protestors have the ability to shoot back at the police and troops, they inevitably factor that into their decision-making when deciding what steps to take against the citizenry.&lt;/p&gt;
&lt;p&gt;Could the United States ever end up with a tyrannical regime? Of course. And make no mistake about it: Such a regime could easily count on many members of the police and the military to faithfully and loyally follow orders to kill, torture, and incarcerate the citizenry. All the regime would have to do is tell the police and the troops that they&amp;#8217;re targeting communists, terrorists, and other serious threats to national security.&lt;/p&gt;
&lt;p&gt;In the recent case of &lt;em&gt;D.C. v. Heller, &lt;/em&gt; the Supreme Court pointed out that the primary purpose of the Second Amendment was to ensure that Americans were not deprived of the means to resist tyranny by force. What the Court was referring to, of course, was not the tyranny of some foreign government but rather the U.S. government. Federal appellate Judge Alex Kozinski expressed the matter well in the 2003 case of &lt;em&gt;Silveira vs. Lockyer: &lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;The prospect of tyranny may not grab the headlines the way vivid stories of gun crime routinely do. But few saw the Third Reich coming until it was too late. The Second Amendment is a doomsday provision, one designed for those exceptionally rare circumstances where all other rights have failed &amp;#8211; where the government refuses to stand for reelection and silences those who protest; where courts have lost the courage to oppose, or can find no one to enforce their decrees. However improbable these contingencies may seem today, facing them unprepared is a mistake a free people get to make only once.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;em&gt;Jacob Hornberger is founder and president of &lt;a href=&quot;http://www.fff.org/blog/index.asp&quot;&gt;The Future of Freedom Foundation&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Editors note: I don&amp;#8217;t know too much about the Future of Freedom Foundation, and neither I nor the Campaign for Liberty endorse them or their message necessarily. I just read this article and wanted to share it.&lt;br /&gt;
&lt;/em&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 20:47:27 +0000</pubDate>
</item>
<item>
	<title>Smalltalk: SOB lays an egg – what will emerge?</title>
	<guid>http://news.squeak.org/?p=649</guid>
	<link>http://news.squeak.org/2009/07/02/sob-lays-an-egg-what-will-emerge/</link>
	<description>&lt;br /&gt;&lt;p&gt;&lt;img src=&quot;http://weeklysqueak.files.wordpress.com/2009/07/phoenix.jpg?w=373&amp;amp;h=411&quot; title=&quot;phoenix&quot; height=&quot;411&quot; width=&quot;373&quot; alt=&quot;phoenix&quot; class=&quot;alignnone size-full wp-image-650&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Those of you who read the &lt;a href=&quot;http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev&quot;&gt;squeak-dev mailing list&lt;/a&gt; will know that the list is currently going through the annual frenzy of discussion about the nature and direction of &lt;a href=&quot;http://www.squeak.org/&quot;&gt;Squeak&lt;/a&gt;, including much to-and-fro over such topics as: the original vision of the founders of Squeak; the tangled relationship between &lt;a href=&quot;http://www.squeakland.org/&quot;&gt;eToys&lt;/a&gt; and the rest of the Squeak environment and community; the reasons behind the &lt;a href=&quot;http://www.pharo-project.org/home&quot;&gt;Pharo&lt;/a&gt; project and how much its goals really differ from those of Squeak; whether children should be locked in the nursery or allowed to roam freely into every room of the house; and much more. If you have time (and some light body armour), it’s well worth reading through the hundreds of emails that have been written which explore and interpret much of the history and philosophy of Squeak.&lt;/p&gt;
&lt;p&gt;This discussion has motivated the &lt;a href=&quot;http://board.squeak.org/our-mission/&quot;&gt;Squeak Oversight Board&lt;/a&gt; to look at one topic that caused much debate: how to manage the development of Squeak. Driven by a concern that there are many hurdles that discourage wide-spread participation in the contribution process, the Board have put forward &lt;a href=&quot;http://squeakboard.wordpress.com/2009/07/02/a-new-community-development-model/&quot;&gt;a new community development model&lt;/a&gt; that they hope will “enable the community at large to improve Squeak, the core of the system and its supporting libraries”.&lt;/p&gt;
&lt;p&gt;Based on processes that have been shown to work in commercial settings, the Board’s model includes the use of &lt;a href=&quot;http://www.wiresong.ca/Monticello/&quot;&gt;Monticello&lt;/a&gt; as the primary source code management system, free access for the developers to the &lt;a href=&quot;http://source.squeak.org/&quot;&gt;main repositories&lt;/a&gt; (&lt;a href=&quot;http://source.squeak.org/trunk&quot;&gt;trunk&lt;/a&gt;, &lt;a href=&quot;http://source.squeak.org/tests&quot;&gt;tests&lt;/a&gt;, and &lt;a href=&quot;http://source.squeak.org/inbox&quot;&gt;inbox&lt;/a&gt;) and an incremental update process for both developers and users of Squeak.&lt;/p&gt;
&lt;p&gt;Obviously, such a change has sparked off its own debate, and important questions are being hammered out on the squeak dev mailing list. If you care about the health of the Squeak environment, its future direction, and the future support for your own favourite applications, this is a key moment for you to understand and contribute to the discussion which is continuing on the &lt;a href=&quot;http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev&quot;&gt;squeak-dev mailing list&lt;/a&gt; (&lt;a href=&quot;http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-July/136944.html&quot;&gt;see archives&lt;/a&gt;), on &lt;a href=&quot;http://people.squeak.org/irc/&quot;&gt;irc&lt;/a&gt;, and on the &lt;a href=&quot;http://board.squeak.org/&quot;&gt;Board’s blog&lt;/a&gt;.&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/weeklysqueak.wordpress.com/649/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/weeklysqueak.wordpress.com/649/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/weeklysqueak.wordpress.com/649/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/weeklysqueak.wordpress.com/649/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/weeklysqueak.wordpress.com/649/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/weeklysqueak.wordpress.com/649/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/weeklysqueak.wordpress.com/649/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/weeklysqueak.wordpress.com/649/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/weeklysqueak.wordpress.com/649/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/weeklysqueak.wordpress.com/649/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=news.squeak.org&amp;amp;blog=394922&amp;amp;post=649&amp;amp;subd=weeklysqueak&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 20:39:36 +0000</pubDate>
</item>
<item>
	<title>Miro: Will's blog: Miro 2.5 schedule, translations, and Launchpad griping</title>
	<guid>http://bluesock.org/~willg/blog/tag/miro/launchpad_translations</guid>
	<link>http://bluesock.org/~willg/blog/miro/launchpad_translations.html</link>
	<description>&lt;p&gt;
  Miro is nearing a 2.5 release candidate.  There are only a couple of things
  we're waiting on now like a VLC 1.0 release.  I'm hoping for a release candidate
  as late as next week and a final a week or two after that depending on how
  well the release candidate works for people. 
&lt;/p&gt;
&lt;p&gt;
  If you're a Miro translator, the strings are frozen and we sure could use your
  help getting up-to-date accurate translations for Miro 2.5.
  If you know someone who's done Miro translations in the past, let them know
  that we're rapidly approaching the 2.5 release.
&lt;/p&gt;
&lt;p&gt;
  As a reminder, Miro 2.5 is the &quot;trunk series&quot; on Launchpad.  Don't translate
  the Miro 2.0 series--changes there won't be carried over to trunk unless you
  do it yourself.  The Miro trunk series translations page is 
  &lt;a href=&quot;https://translations.launchpad.net/democracy/trunk/+translations&quot;&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
  Now for the gripe.  In the last week, Launchpad did an update which changes 
  the translations pages and they no longer tell you the last updated date 
  for individual translations.  That's a real drag.  I used that field to 
  figure out whether or not to export translations from Launchpad and import 
  them into Miro and to watch translation activity.  Grumble grumble grumble.
&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 20:23:00 +0000</pubDate>
</item>
<item>
	<title>Python: Ed Taekema: Jython 2.5 and a book!</title>
	<guid>http://feedproxy.google.com/~r/RoadWarriorCollaborationPython/~3/mVN4maijMv4/</guid>
	<link>http://feedproxy.google.com/~r/RoadWarriorCollaborationPython/~3/mVN4maijMv4/</link>
	<pubDate>Thu, 02 Jul 2009 20:17:45 +0000</pubDate>
</item>
<item>
	<title>Scheme: Joe Marshall: Too much information</title>
	<guid>tag:blogger.com,1999:blog-8288194986820249216.post-3798530859188621874</guid>
	<link>http://funcall.blogspot.com/2009/07/too-much-information.html</link>
	<description>I won't keep you in suspense. Here is my time series after removing the hair:
&lt;br /&gt;
&lt;a href=&quot;http://3.bp.blogspot.com/_0hfeSxONUSM/SkzPeZunzxI/AAAAAAAAA4E/88rHK4qf3l8/s1600-h/smooth(0).png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_0hfeSxONUSM/SkzPeZunzxI/AAAAAAAAA4E/88rHK4qf3l8/s320/smooth(0).png&quot; alt=&quot;&quot; style=&quot;cursor: pointer; cursor: hand; width: 320px; height: 240px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5353882178246135570&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
I sliced up the curve into approximate 15 ms segments. I offset the segments so that the spike would be about in the middle, then I simply averaged each segment independently and pasted the result back together. This does remove details smaller than about 15 ms, but I don't need that level of detail.&lt;br /&gt;&lt;br /&gt;
Actually the whole point of what I'm doing is to remove detail. The original time series had &lt;em&gt;way&lt;/em&gt; too much. I want to remove as much detail as possible, but keep just enough so I can easily characterize this data set and compare it with others. At one end of the detail scale I have the original data set of 8192 values. The other end of the scale has no data whatsoever (trivial, but very parsimonious). A number at least allows &lt;em&gt;some&lt;/em&gt; basis of comparison. But which number? If I told you that the average value was about 1572 ms, would that be useful? Well, that depends. You might be mislead to expect that if you were to try the experiment right now that it would take around 1572 ms, more or less. You'd be wrong. More than 65% — almost two thirds — of the samples are below the average. The average is the total amount of time to gather all the samples divided by the number of samples gathered. This tells you a lot about the rate at which you can expect to gather samples in bulk, but not very much about the time value of an individual sample.&lt;br /&gt;&lt;br /&gt;
We need a parameterized &lt;em&gt;model&lt;/em&gt; for our data set. The model will tell us qualitatively what the data set is like, the parameters will give us the quantitative information we need to compare a particular data set against others. If you don't know what the model is, the numbers are &lt;em&gt;meaningless&lt;/em&gt;!  This is no exaggeration.  In this chart, there are two distributions.  Both distributions have the same average.&lt;br /&gt;
&lt;a href=&quot;http://2.bp.blogspot.com/_0hfeSxONUSM/Skz94nkVXbI/AAAAAAAAA4M/zwBfpZoI3g4/s1600-h/two-distributions(0).png&quot;&gt;&lt;img src=&quot;http://2.bp.blogspot.com/_0hfeSxONUSM/Skz94nkVXbI/AAAAAAAAA4M/zwBfpZoI3g4/s320/two-distributions(0).png&quot; alt=&quot;&quot; style=&quot;cursor: pointer; cursor: hand; width: 320px; height: 240px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5353933206172556722&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Whenever I see a measure of “average latency” a little alarm bell goes off in my head.  It's a good indication that the stated value is a meaningless number and that the person who measured it doesn't know what he is measuring.  A louder alarm bell goes off when I see a measure of “standard deviation”.  Informally, the standard deviation is a measure of how widely the data is distributed.  But the way you calculate the standard deviation depends on the model.  (The &lt;em&gt;relevance&lt;/em&gt; of the standard deviation also depends on the model.  If your model is logarithmic, as most time-based models are, you would be better off computing the ‘geometric standard deviation’.)  If the model is not specified, it is likely that the reported ‘standard deviation’ was simply calculated with a gaussian model.  Some models don't even &lt;em&gt;have&lt;/em&gt; a standard deviation — it's simply not defined.&lt;br /&gt;&lt;br /&gt;
When I see a measure of standard deviation, it's a good indication that the person who measured it not only doesn't know what he is measuring, but also that he is using a tool that he doesn't understand.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
In order to figure out how to characterize my data set, I need to find a good model for it.  This can be really hard.  There are hundreds of models.  Some of them have enough tuning parameters that you can make them fit anything.  What I'm looking for is a model that is simple, has as few parameters as possible, and fits the data reasonably well.  (The reason I shaved the hair off the data is so I could visually compare the fit of a few different models.)  There are a number of ways to search for models, but it often comes down to trial and error.  There are a couple of tricks, though.&lt;br /&gt;&lt;br /&gt;
The first trick is see how the data looks in log space.  It is frequently the case that you are working with some ‘scale-free’ quantity.  You don't care about the absolute time, you care about the relative improvement.  When you discuss data in terms of ‘percent’ or ‘factor of two’ and such, you are likely to want to work in log space.  Here's a plot of my shaved data set in log space:
&lt;a href=&quot;http://2.bp.blogspot.com/_0hfeSxONUSM/Sk0MTYUdlSI/AAAAAAAAA4U/NBm8jO-is0M/s1600-h/log-smooth(0).png&quot;&gt;&lt;img src=&quot;http://2.bp.blogspot.com/_0hfeSxONUSM/Sk0MTYUdlSI/AAAAAAAAA4U/NBm8jO-is0M/s320/log-smooth(0).png&quot; alt=&quot;&quot; style=&quot;cursor: pointer; cursor: hand; width: 320px; height: 240px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5353949059098711330&quot; /&gt;&lt;/a&gt;
Now &lt;em&gt;that&lt;/em&gt; is starting to look like a bell-shaped curve.  This suggests that a log-normal distribution might be a good model:&lt;br /&gt;
&lt;a href=&quot;http://1.bp.blogspot.com/_0hfeSxONUSM/Sk0OmD1VneI/AAAAAAAAA4c/CXm6zEKv2F8/s1600-h/lognormal-fit(0).png&quot;&gt;&lt;img src=&quot;http://1.bp.blogspot.com/_0hfeSxONUSM/Sk0OmD1VneI/AAAAAAAAA4c/CXm6zEKv2F8/s320/lognormal-fit(0).png&quot; alt=&quot;&quot; style=&quot;cursor: pointer; cursor: hand; width: 320px; height: 240px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5353951579040226786&quot; /&gt;&lt;/a&gt;
And now I can state quantitatively that under a log-normal model, my data set has a value of μ= 6.97 and σ=.90  With just these two numbers, you can approximate the mean (the true average is 1572, the average of the model is 1593), the mode (472), and any other quantity of the curve (for example, the geometric standard deviation, which is 2.46).&lt;br /&gt;&lt;br /&gt;
But the log-normal curve doesn't quite fit.  It's close, but it overestimates near the mean and underestimates the long tail.  I've been looking for a better model.&lt;br /&gt;&lt;br /&gt;
Next time.... trying different models.&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/8288194986820249216-3798530859188621874?l=funcall.blogspot.com&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 20:03:36 +0000</pubDate>
</item>
<item>
	<title>RDF: Release of structWSF, conStruct and the Community Web
Site</title>
	<guid>http://fgiasson.com/blog/index.php/2009/07/02/release-of-structwsf-construct-and-the-community-web-site/</guid>
	<link>http://fgiasson.com/blog/index.php/2009/07/02/release-of-structwsf-construct-and-the-community-web-site/</link>
	<description>&lt;p&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;The last few months have been challenging in
term of amount of work to get done, in focusing on deliverables and
in getting ready for the release of &lt;a href=&quot;http://constructscs.com&quot;&gt;conStruct&lt;/a&gt; and &lt;a href=&quot;http://openstructs.org/structwsf&quot;&gt;structWSF&lt;/a&gt; sources codes,
documentations, tutorials, web sites and demos.&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;I am now really happy to be able to finally
announce the release of both software code sources along with a new
&lt;a id=&quot;OLE_LINK2&quot; name=&quot;OLE_LINK2&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://community.openstructs.org/&quot;&gt;&lt;span&gt;development community
website&lt;/span&gt;&lt;/a&gt; &lt;span&gt;where users and developers can exchange
ideas about these two news projects.&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;The biggest milestone of the last months is
now behind us. However, this is just the beginning of
everything!&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;I think that many things have been written
about these two projects already. I don�t want to write any
tutorial at this point. So the only thing I will do right now is to
point you the more relevant documentation, web sites, blog posts
and demos about each project. The next step will be to write about
specific use cases, features, etc.&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;
&lt;h3&gt;Community Web Site&lt;/h3&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;The &lt;a href=&quot;http://community.openstructs.org&quot;&gt;community Web site&lt;/a&gt; is a
place where developers and users of structWSF and conStruct can
meet to talk about both projects, to report bugs and issues, to
submit new enhancements, to find tips and tricks, etc.&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;I would suggest you to &lt;a href=&quot;http://community.openstructs.org/user/register&quot;&gt;create a new user
profile on the community Web site&lt;/a&gt; if you are interested in
communicating with other members.&lt;/p&gt;
&lt;ul type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://community.openstructs.org/&quot;&gt;Community Web site&lt;/a&gt;
&lt;ul type=&quot;circle&quot;&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://community.openstructs.org/forum&quot;&gt;Discussion Forum&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://wiki.openstructs.org/wiki/Welcome&quot;&gt;Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://community.openstructs.org/issues&quot;&gt;Issues tracker&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://community.openstructs.org/source-code/code-repository&quot;&gt;Core
source repositories&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://community.openstructs.org/source-code/documentation&quot;&gt;Code
documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;structWSF&lt;/h3&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://openstructs.org/structwsf&quot;&gt;structWSF&lt;/a&gt; is a
platform-independent Web services framework for accessing and
exposing structured RDF data. Its central organizing perspective is
that of the dataset. These datasets contain instance records, with
the structural relationships amongst the data and their attributes
and concepts defined via ontologies (schema with accompanying
vocabularies).&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;The structWSF middleware framework is fully
RESTful in design and is based on HTTP and Web protocols and open
standards. The initial structWSF framework comes packaged with a
baseline set of about a dozen Web services in CRUD, browse, search
and export and import. All Web services are exposed via APIs and
SPARQL endpoints. Each request to an individual Web service returns
an HTTP status and optionally a document of resultsets. Each
results document can be serialized in many ways, and may be
expressed as either RDF or pure XML.&lt;/p&gt;
&lt;ul type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a id=&quot;OLE_LINK7&quot; name=&quot;OLE_LINK7&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://openstructs.org/structwsf&quot;&gt;&lt;span&gt;Main Web site&lt;/span&gt;&lt;/a&gt;
&lt;ul type=&quot;circle&quot;&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://openstructs.org/downloads&quot;&gt;&lt;span&gt;Download&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://openstructs.org/structwsf/architecture&quot;&gt;&lt;span&gt;Architecture&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://openstructs.org/structwsf/individual-ws-documentation&quot;&gt;&lt;span&gt;
RESTful endpoints documentation&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://openstructs.org/doc/code/structwsf/index.html&quot;&gt;&lt;span&gt;Source
code documentation&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;span&gt;&lt;a id=&quot;OLE_LINK1&quot; name=&quot;OLE_LINK1&quot;&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href=&quot;http://wiki.openstructs.org/wiki/Blog_Posts&quot;&gt;&lt;span&gt;&lt;span&gt;Interesting
blog posts&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://wiki.openstructs.org/wiki/StructWSF_Installation&quot;&gt;&lt;span&gt;Installation
manual (early draft)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;
&lt;h3&gt;conStruct&lt;/h3&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com&quot;&gt;conStruct&lt;/a&gt; is a distro of the Drupal
framework that aims to set a new standard in data integration and
as a structured content system (SCS). With conStruct, you can let
your data and its structure drive your applications. You can easily
interoperate your diverse internal information with public content
on the Web. And you can leverage a platform designed from the
ground up for knowledge management and collaboration.&lt;/p&gt;
&lt;ul type=&quot;disc&quot;&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a id=&quot;OLE_LINK3&quot; name=&quot;OLE_LINK3&quot;&gt;&lt;/a&gt;&lt;a id=&quot;OLE_LINK4&quot; name=&quot;OLE_LINK4&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://constructscs.com/&quot;&gt;&lt;span&gt;&lt;span&gt;Main Web
site&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;
&lt;ul type=&quot;circle&quot;&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com/downloads&quot;&gt;&lt;span&gt;&lt;span&gt;Download&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com/features/design-overview&quot;&gt;&lt;span&gt;&lt;span&gt;Design
overview&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com/doc/code/construct/index.html&quot;&gt;&lt;span&gt;&lt;span&gt;
Source code documentation&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com/features&quot;&gt;&lt;span&gt;&lt;span&gt;Current
features&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com/demos&quot;&gt;&lt;span&gt;&lt;span&gt;Online
demos&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com/documentation/instructions&quot;&gt;&lt;span&gt;&lt;span&gt;Tools
instructions manuals&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://wiki.openstructs.org/wiki/Blog_Posts&quot;&gt;&lt;span&gt;&lt;span&gt;Interesting
blog posts&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://constructscs.com/doc/code/construct/index.html&quot;&gt;&lt;span&gt;&lt;span&gt;
Installation manual (early draft)&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 19:59:47 +0000</pubDate>
</item>
<item>
	<title>Debian: Joey Hess: DebConf9</title>
	<guid>http://kitenet.net/~joey/blog/entry/DebConf9/</guid>
	<link>http://kitenet.net/~joey/blog/entry/DebConf9/</link>
	<description>&lt;img src=&quot;http://planet.debian.org/heads/joeyh2.png&quot; width=&quot;84&quot; height=&quot;75&quot; alt=&quot;&quot; align=&quot;right&quot; style=&quot;float: right;&quot; /&gt;  &lt;p&gt;&lt;img src=&quot;http://media.debconf.org/dc9/images/debconf9-going-to.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I'm going to DebConf, and will be giving what I think is the first talk
I've ever done about &lt;a href=&quot;http://kitenet.net/~joey/blog/../code/debhelper/&quot;&gt;debhelper&lt;/a&gt; there. Incidentially, debhelper in
experimental has some nice new features.&lt;/p&gt;

&lt;p&gt;I have no idea how I'm getting from the Madrid airport to Cáceres, 
and would rather spend time working on my talk than trying to book
tickets internationally, so I hope buying train tickets at the station
is not a foolish plan..&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 19:46:46 +0000</pubDate>
</item>
<item>
	<title>OpenOffice: Eric Bachard: Education Project at LSM / RMLL2009 (Nantes, France)</title>
	<guid>tag:blogger.com,1999:blog-9667281.post-1786387599020272618</guid>
	<link>http://eric.bachard.free.fr/news/2009/07/education-project-at-lsm-rmll2009.html</link>
	<description>I'm proud to announce that &lt;a href=&quot;http://education.openoffice.org/&quot;&gt;OpenOffice.org Education Project&lt;/a&gt; will be represented at &lt;a href=&quot;http://2009.rmll.info/?lang=en&quot;&gt;LSM / RMLL 2009&lt;/a&gt; from the &lt;b&gt;7th to the 11th of July&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;More precisely, &lt;b&gt;Mathieu Lalanne&lt;/b&gt;, &lt;b&gt;Pierre Pasteau&lt;/b&gt;, (to be confirmed) &lt;b&gt;Nicolas Jeudy&lt;/b&gt;, and myself will welcome you, and try to answer your questions about everything.&lt;br /&gt;&lt;br /&gt;Means answer &lt;u&gt;all actions, including &lt;a href=&quot;http://wiki.ooo4kids.org/&quot;&gt; OOo4Kids Project&lt;/a&gt; we do to create a strong bridge between Educational world and the OpenOffice.org Project&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mathieu Lalanne&lt;/b&gt;(who will replace &lt;b&gt;Remi Boulle&lt;/b&gt;, unavailable), will present the Education Project and &lt;a href=&quot;http://www.educoo.org/&quot;&gt;EducOOo&lt;/a&gt;, the non profit association in the dedicated day of the french &quot;pôle de compétences logiciels libres&quot; of the SCEREN.&lt;br /&gt;&lt;br /&gt;Link 1 : &lt;a href=&quot;http://2009.rmll.info/Le-Projet-OpenOffice-org-Education.html&quot;&gt; The OpenOffice.org Education Project&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From my side, I'll participate to 3 presentations. The two first, will be with people from  &lt;a href=&quot;http://www.ec-nantes.fr/&quot;&gt; Ecole Centrale Nantes&lt;/a&gt; [4], aka &lt;b&gt;ECN&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Also, thursday 9th July:&lt;br /&gt;&lt;br /&gt;Link 2, presentation with &lt;b&gt;Olivier Girardot&lt;/b&gt;, ECN student: &lt;a href=&quot;http://2009.rmll.info/Contribution-to-OpenOffice-org-in.html?lang=en&quot;&gt;Students contributions to OpenOffice.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Link 3, presentation with &lt;b&gt;Morgan Magnin&lt;/b&gt;, teaching at ECN : &lt;a href=&quot;http://2009.rmll.info/Challenges-and-recommendations-for.html?lang=en&quot;&gt; Challenges and recommandations&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The last one, will be the 10th July, and will belong to the Development topic, and will be about OOo4Kids ( http://wiki.ooo4kids.org )&lt;br /&gt;&lt;br /&gt;Link 4, about  : &lt;a href=&quot;http://2009.rmll.info/Creating-adaptations-of-OpenOffice.html&quot;&gt; present the the OOo4Kids project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;See you !!&lt;/b&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/9667281-1786387599020272618?l=eric.bachard.free.fr%2Fnews%2Findex.html&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 19:15:53 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Jonh Wendell: GNOME Rocked at FISL</title>
	<guid>http://www.bani.com.br/?p=315</guid>
	<link>http://www.bani.com.br/lang/en/2009/07/gnome-rocked-at-fislgnome-no-fisl</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/wendell.png&quot; alt=&quot;&quot; /&gt;
&lt;p&gt;&lt;span lang=&quot;en&quot;&gt;Hello, folks.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang=&quot;en&quot;&gt;This is a quick post (written in the airport, while waiting my flight to Gran Canaria) just to tell you that GNOME Brazil one more time rocked at FISL &amp;#8211; International Free Software Forum, which took place (again, as every year) in Porto Alegre, south of Brazil.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang=&quot;en&quot;&gt;Thanks to GNOME Foundation, I was able to attend the event, and represent GNOME there, along with many Brazilian GNOMErs. We had a booth and a communitarian event, where I, Vinicius Depizzol, Gustavo (kov) Noronha and Julio talked about the past and the future of the GNOME Desktop, as well about how to contribute with the project.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span lang=&quot;en&quot;&gt;Some pictures (click for larger size and for the description):&lt;/span&gt;&lt;/p&gt;




&lt;table border=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/brjbKnWUWmfJRqoEjR-TzQ?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_r9pJm0drAuE/Sk0CBbvHELI/AAAAAAAAAVQ/Yivk1ZIH5S8/s144/3662054179_9f82686d14_o.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De &lt;a href=&quot;http://picasaweb.google.com/jonh.wendell/Fisl2009?feat=embedwebsite&quot;&gt;fisl 2009&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/FcEQkSPu_XbfV47_Ync-bA?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh4.ggpht.com/_r9pJm0drAuE/Sk0CF87ba9I/AAAAAAAAAVY/lZaOX30eD6Q/s144/3662857422_a3158a4497_o.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De &lt;a href=&quot;http://picasaweb.google.com/jonh.wendell/Fisl2009?feat=embedwebsite&quot;&gt;fisl 2009&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/YEagqzEbLpoX1h_OcIn56Q?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_r9pJm0drAuE/Sk0CItzyvOI/AAAAAAAAAVg/ScjG5Qs4VQI/s144/DSC03763.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De &lt;a href=&quot;http://picasaweb.google.com/jonh.wendell/Fisl2009?feat=embedwebsite&quot;&gt;fisl 2009&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/RlKKjjgzUA4f7i9UyM_Ygw?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh5.ggpht.com/_r9pJm0drAuE/Sk0CLWEaljI/AAAAAAAAAVo/fHTWnU1V7vg/s144/3678424504_487bd324cc_o.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De &lt;a href=&quot;http://picasaweb.google.com/jonh.wendell/Fisl2009?feat=embedwebsite&quot;&gt;fisl 2009&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/DoGouz0laiVNzadIF_wkoA?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh3.ggpht.com/_r9pJm0drAuE/Sk0COjUzXHI/AAAAAAAAAVw/kpygezuECGI/s144/3678424518_a47442c2f9_o.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De &lt;a href=&quot;http://picasaweb.google.com/jonh.wendell/Fisl2009?feat=embedwebsite&quot;&gt;fisl 2009&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/qpikLzAFB7YPTAfU-J1bRw?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh6.ggpht.com/_r9pJm0drAuE/Sk0CRlKG9xI/AAAAAAAAAV4/JXFQoX8wopc/s144/3678441232_11797e2222_o.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De &lt;a href=&quot;http://picasaweb.google.com/jonh.wendell/Fisl2009?feat=embedwebsite&quot;&gt;fisl 2009&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;table border=&quot;0&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;a href=&quot;http://picasaweb.google.com/lh/photo/54Tzl1EKLYP8YMfG50diAQ?feat=embedwebsite&quot;&gt;&lt;img src=&quot;http://lh5.ggpht.com/_r9pJm0drAuE/Sk0CUIi3YII/AAAAAAAAAWA/8hQLnTmUywI/s144/DSC03768.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;De &lt;a href=&quot;http://picasaweb.google.com/jonh.wendell/Fisl2009?feat=embedwebsite&quot;&gt;fisl 2009&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;span lang=&quot;en&quot;&gt;Ah, also thanks to the GNOME Foundation I&amp;#8217;m right now boarding to Gran Canaria, to GUADEC! This edition is special because it gets together GUADEC and Akademy (KDE) into a single conference. Looking forward to beat KDE guys in the Freefa soccer tournement!&lt;/span&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 19:15:14 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Trent Mick: ActiveState Code: lauched!</title>
	<guid>http://trentm.com/blog/archives/2008/07/24/activestate-code-lauched/</guid>
	<link>http://trentm.com/blog/archives/2008/07/24/activestate-code-lauched/</link>
	<description>&lt;p&gt;We launched &lt;a href=&quot;http://code.activestate.com/&quot;&gt;ActiveState Code&lt;/a&gt; today, &lt;a href=&quot;http://www.urbandictionary.com/define.php?term=And+There+was+Much+Rejoicing&quot; title=&quot;You have seen Monty Python's Holy Grail, right?&quot;&gt;and there was much rejoicing.&lt;/a&gt;  Yaaaah!&lt;/p&gt;

&lt;p&gt;ActiveState Code is a site for sharing code recipes. It is the replacement for the popular ASPN Cookbooks (especially the Python Cookbook, which was a collaboration with O’Reilly and Associates that resulted in two print cookbooks using recipes from the site). The new site adds things like &lt;a href=&quot;http://code.activestate.com/recipes/tags/&quot;&gt;tagging&lt;/a&gt;, the ability to &lt;a href=&quot;http://code.activestate.com/recipes/add/&quot;&gt;add recipes&lt;/a&gt; in a number of other &lt;a href=&quot;http://code.activestate.com/recipes/langs/&quot;&gt;languages&lt;/a&gt;, and a fresher and hopefully more usable site. &lt;/p&gt;

&lt;p&gt;Migration should be easy. All recipes from the Python, Tcl and PHP Cookbooks have been carried over. Redirects maintain all old aspn.activestate.com/ASPN/Cookbooks links. Recipe id and author ids have been maintained. The ASPN Cookbook categories have been translated into tags in the new system — &lt;a href=&quot;http://code.activestate.com/aspnredir/categories/&quot;&gt;full details here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I welcome any &lt;a href=&quot;http://code.activestate.com/help/feedback/&quot;&gt;feedback&lt;/a&gt; on the site.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 19:09:50 +0000</pubDate>
</item>
<item>
	<title>XMLhack: Late-breaking sessions added to Balisage 2009
Program</title>
	<guid>http://www.concretesyntax.com/late_breaking_sessions_added_to_balisage_2009_program</guid>
	<link>http://www.concretesyntax.com/late_breaking_sessions_added_to_balisage_2009_program</link>
	<description>&lt;p&gt;The complete program for &quot;Balisage: The Markup Conference 2009&quot;,
including late-breaking news, has just been posted. See:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.balisage.net/2009/Program.html&quot;&gt;Detailed
program&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.balisage.net/2009/At-A-Glance.html&quot;&gt;Schedule at a
Glance&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Balisage 2009 is the place to come to think about XML, and about
markup. The Balisage program varies from the practical to the
theoretical, with a little heresy mixed in:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.concretesyntax.com/late_breaking_sessions_added_to_balisage_2009_program&quot;&gt;
read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 18:57:10 +0000</pubDate>
</item>
<item>
	<title>Drupal: JVIS – A global website for an auto-parts maker</title>
	<guid>http://drupal.org/442712 at http://drupal.org</guid>
	<link>http://drupal.org/node/442712</link>
	<description>&lt;p&gt;&lt;img width=&quot;400&quot; height=&quot;249&quot; align=&quot;right&quot; alt=&quot;JVIS&quot; src=&quot;http://drupal.org/files/home-en.jpg&quot; hspace=&quot;5&quot; vspace=&quot;5&quot; /&gt;&lt;a href=&quot;http://www.jvisusallc.com/&quot;&gt;JVIS USA LLC&lt;/a&gt; is an international supplier for automotive components and tooling with facilities in 6 countries and customers all over the world. Their website helps them introduce their products to auto makers.&lt;/p&gt;
&lt;h3&gt;Going multilingual&lt;/h3&gt;
&lt;p&gt;When JVIS commissioned their website, they requested just a few static pages. It was built as a simple static HTML site (no CMS) and in English. Very soon after launching their new site JVIS decided to localize to Japanese, Chinese, Korean, Russian and Spanish. These are the languages spoken by their larger clients.&lt;/p&gt;
&lt;p&gt;At that point Jason Marshall contacted &lt;a href=&quot;http://www.icanlocalize.com&quot;&gt;us&lt;/a&gt; about translating JVIS' website. It was already built (as a collection of 23 HTML files), ready to be translated. Our translation service would have produced another 92 static HTML files which JVIS would have uploaded to their server. It was clear that JVIS was going to be adding new content on a regular basis and maintaining it all in several languages without using a content management system would have been a very unwelcome task.&lt;/p&gt;
&lt;p&gt;The likely possibility of turning a client from being happy to frustrated, due to this manual content management, concerned us very much.&lt;/p&gt;
&lt;p&gt;We suggested to &lt;a href=&quot;http://www.jasonmarshall.net/&quot;&gt;Jason Marshall&lt;/a&gt;, the web designer who built JVIS website, to first migrate it all to a CMS and only then begin the translation process. The first choice was &lt;b&gt;Drupal&lt;/b&gt;, given its powerful multilingual capabilities. &lt;b&gt;Maintaining a multilingual Drupal site would be much simpler&lt;/b&gt;, not just for us, but mostly for the client. From the client's point of view, only English texts would need to be managed. Drupal would automatically handle everything else.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://drupal.org/node/442712&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 18:56:11 +0000</pubDate>
</item>
<item>
	<title>Mozilla: Mozilla Standards: (R)evolution Number 5</title>
	<guid>http://blog.mozilla.com/standards/?p=21</guid>
	<link>http://blog.mozilla.com/standards/2009/07/02/revolution-number-5/</link>
	<description>&lt;p&gt;Cross-posted from &lt;a href=&quot;http://hacks.mozilla.org/2009/07/revolution-number-5/&quot;&gt;hacks.mozilla.org&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We’ve just launched &lt;a href=&quot;http://www.mozilla.com/en-US/&quot;&gt;Firefox 3.5&lt;/a&gt;, and &lt;a href=&quot;http://www.flickr.com/photos/gen/3677579248/&quot;&gt; we’re&lt;/a&gt; &lt;a href=&quot;http://www.flickr.com/photos/nitot/3675934390/&quot;&gt;incredibly&lt;/a&gt; &lt;a href=&quot;http://www.flickr.com/photos/29142435@N08/3674981992/&quot;&gt;proud&lt;/a&gt;.  Naturally, we have engaged in plentiful Mozilla advocacy — this site is, amongst other things, a vehicle for showcasing the latest browser’s new capabilities.  We like to think about this release as an upgrade for the &lt;em&gt;whole World Wide Web&lt;/em&gt;, because of the new developer-facing features that have just been introduced into the web platform.  When talking about some of the next generation standards, the appearance of the number “5″ is almost uncanny — consider &lt;a href=&quot;http://dev.w3.org/html5/spec/Overview.html&quot;&gt;HTML5&lt;/a&gt; and &lt;a href=&quot;http://www.ecma-international.org/publications/files/drafts/tc39-2009-025.pdf&quot;&gt;ECMAScript 5 (PDF)&lt;/a&gt;.   The recent (and very welcome) hype around HTML5 in the press is what motivates this article.  Let’s take a step back, and consider some of Mozilla’s web advocacy in the context of events leading up to the release of Firefox 3.5.&lt;/p&gt;
&lt;p&gt;Standardization of many of these features often came after much spirited discussion, and we’re pleased to see the prominent placement of HTML5 as a &lt;a href=&quot;http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html&quot;&gt;key strategic initiative&lt;/a&gt; by major web development companies.  Indeed, &lt;a href=&quot;http://news.cnet.com/8301-17939_109-10252252-2.html&quot;&gt;exciting new web applications&lt;/a&gt; hold a great deal of promise, and really showcase what the future of the web platform holds in store for aspiring developers.  Many herald the triumphant arrival of the &lt;a href=&quot;http://news.cnet.com/8301-17939_109-10250196-2.html&quot;&gt;browser as the computer&lt;/a&gt;, an old theme that &lt;a href=&quot;http://developer.palm.com/webos_book/book1.html&quot;&gt;gets bolstered&lt;/a&gt; with the arrival of &lt;a href=&quot;http://htmlfive.appspot.com/&quot;&gt;attractive HTML5 platform features&lt;/a&gt; that are implemented across &lt;a href=&quot;http://www.apple.com/safari/&quot;&gt;Safari&lt;/a&gt;, &lt;a href=&quot;http://www.google.com/chrome/intl/en/features.html&quot;&gt;Chrome&lt;/a&gt;, &lt;a href=&quot;http://www.opera.com/&quot;&gt;Opera&lt;/a&gt;, and of course, &lt;a href=&quot;http://www.getfirefox.com/&quot;&gt;Firefox&lt;/a&gt; (with &lt;a href=&quot;http://www.microsoft.com/windows/internet-explorer/default.aspx&quot;&gt;IE8&lt;/a&gt; getting an honorable mention for having both some HTML5 features and some ECMAScript, 5th Edition features).&lt;/p&gt;
&lt;p&gt;Call it what you will — Web 5.0, Open Web 5th Generation (wince!), or, (R)evolution # 5, the future is now.  But lest anyone forget, HTML5 is not a completed standard yet, as the &lt;a href=&quot;http://www.w3.org/QA/2009/05/_watching_the_google_io.html&quot;&gt;W3C was quick to point out&lt;/a&gt;.  The editor doesn’t anticipate completion till 2010.  The path taken from the start of what is now called HTML5 to the present-day era of (very welcome) hype has been a long one, and Mozilla has been part of the journey from the very beginning.&lt;/p&gt;
&lt;p&gt;For one thing, we were there to &lt;a href=&quot;http://weblogs.mozillazine.org/roadmap/archives/2004/06/the_nonworld_no_1.html&quot;&gt;point out, in no uncertain terms&lt;/a&gt;, that the &lt;a href=&quot;http://www.w3.org/&quot;&gt;W3C&lt;/a&gt; had perhaps &lt;a href=&quot;http://dbaron.org/log/2004-06#e20040609a&quot;&gt;lost its way&lt;/a&gt;.  Exactly 5 summers ago (again, with that magic number!), it became evident that the W3C was no longer able to serve as sole custodian of the standards governing the open web of browser-based applications, so Mozilla, along with Opera, started the &lt;a href=&quot;http://www.whatwg.org/&quot;&gt;WHATWG&lt;/a&gt;.  Of course, back then, we didn’t call it HTML5, and while Firefox itself made a splash in 2004, the steps taken towards standardization were &lt;a href=&quot;http://ln.hixie.ch/?start=1088526392&amp;amp;count=1&quot;&gt;definitive but tentative&lt;/a&gt;.  Soon, other browser vendors joined us, and by the time &lt;a href=&quot;http://dig.csail.mit.edu/breadcrumbs/node/166&quot;&gt;the reconciliation with W3C&lt;/a&gt; occurred two years later, the innovations introduced into the web platform via the movement initiated by Mozilla had gained substantial momentum.  &lt;/p&gt;
&lt;p&gt;The net result is a specification that is not yet complete called “HTML5″ which is implemented piecemeal by most modern browsers.  The features we choose to implement as an industry are in response to developers, and our &lt;em&gt;modus operandi&lt;/em&gt; is (for the most part) &lt;a href=&quot;http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/&quot;&gt;in&lt;/a&gt; the &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/&quot;&gt;open&lt;/a&gt;.  Mozilla funds the &lt;a href=&quot;http://validator.nu/&quot;&gt;HTML5 Validator&lt;/a&gt;, producing the first real HTML5 parser, which now drives &lt;a href=&quot;http://validator.w3.org/&quot;&gt;W3C’s markup validation&lt;/a&gt; for HTML5.  That parser has made its way back into Firefox.  It’s important to note that capabilities that are of greatest interest (many of which are showcased on this blog) are not only developed within the HTML5 specification, but also as part of the &lt;a href=&quot;http://www.w3.org/2008/geolocation/&quot;&gt;W3C Geolocation WG&lt;/a&gt;, the &lt;a href=&quot;http://www.w3.org/2008/webapps/&quot;&gt;Web Apps WG&lt;/a&gt;, and the &lt;a href=&quot;http://www.w3.org/Style/CSS/current-work&quot;&gt;CSS WG&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The release of Firefox 3.5, along with updates to other modern browsers, seems to declare that HTML5 has arrived.  But with the foresight that comes with having been around this for a while, we also know that we have a lot of work ahead of us.  For one thing, we’ve got to finish HTML5, or at least publish a subset of it that we all agree is ready for implementation, &lt;strong&gt;soon&lt;/strong&gt;.  We’ve also got to ensure that &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2009Jun/0661.html&quot;&gt;accessibility serves as an important design principle&lt;/a&gt; in the emerging web platform, and resolve sticky differences here.  Also, an open standard &lt;em&gt;does not&lt;/em&gt; an open platform make, as debates about &lt;a href=&quot;http://cwilso.com/2008/07/23/fonts-embedding-vs-linking/&quot;&gt;web&lt;/a&gt; &lt;a href=&quot;http://dbaron.org/log/20090317-fonts&quot;&gt;fonts&lt;/a&gt; and &lt;a href=&quot;http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-June/020363.html&quot;&gt;audio/video&lt;/a&gt; &lt;a href=&quot;http://lists.w3.org/Archives/Public/public-html/2009Jun/0825.html&quot;&gt;codecs&lt;/a&gt; show.  We’ve got a lot of work ahead of us, but for now, 5 years after the summer we started the ball rolling, we’re enjoying the hype around (R)evolution Number 5.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 18:55:57 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Martin Lippert: Slides from Talk at Java-Forum-Stuttgart 2009</title>
	<guid>tag:blogger.com,1999:blog-18490491.post-6419816440265791623</guid>
	<link>http://martinlippert.blogspot.com/2009/07/slides-from-talk-at-java-forum.html</link>
	<description>Today I gave a talk on building dynamic applications with OSGi at the &lt;a href=&quot;http://www.java-forum-stuttgart.de/&quot;&gt;Java-Forum-Stuttgart 2009&lt;/a&gt;. This was mostly the talk I gave (and prepared) together with Kai Tödter and Gerd Wütherich for previous conferences. Here are the slides:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.martinlippert.org/events/JFS-2009-DynamicOSGiApps.pdf&quot;&gt;Patterns and Best Practices for Dynamic OSGi Applications (pdf)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;The talk were in the main hall of the conference center and it was fun standing on that huge stage... :-) And of course I got completely confused during the talk while switching between the demo application and a slide showing a screenshot of that demo app - picking up every possible embarrassment... ;-)&lt;img width=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/18490491-6419816440265791623?l=martinlippert.blogspot.com&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 18:33:15 +0000</pubDate>
</item>
<item>
	<title>Debian: Debian Sysadmin Team: Martin Zobel-Helas: Howto mess up the Debian Project homepage</title>
	<guid>http://dsa.debian.org//dsablog/2009/07/Howto_mess_up_the_Debian_Project_homepage/</guid>
	<link>http://dsa.debian.org//dsablog/2009/07/Howto_mess_up_the_Debian_Project_homepage/</link>
	<description>&lt;p&gt;I &lt;a href=&quot;http://dsa.debian.org/dsablog/2009/06/Setting_up_GeoDNS_for_security.debian.org/&quot;&gt;recently&lt;/a&gt;
blogged about the GeoDNS setup we plan for
&lt;a href=&quot;http://security.debian.org&quot;&gt;security.debian.org&lt;/a&gt;.  Even though all DSA
team members agree that the GeoDNS setup for security.debian.org should
come alive as soon as possible, we still fear to break an important
service like security.d.o.&lt;/p&gt;

&lt;p&gt;Yesterday I decided without further ado to float a trial balloon and
converted DNS entries for &lt;a href=&quot;http://www.debian.org&quot;&gt;the Debian Project homepage&lt;/a&gt;
to our GeoDNS setup. While doing so, we found out that some part of our
automatic deployment scripts still need to be adjusted to serve more
than one subdomain of the project.&lt;/p&gt;

&lt;p&gt;That setup is live for about eighteen hours now, and the project
homepage now resolves it IPs via GeoDNS. For now, we are using senfl.d.o for
Northern America, www.de.debian.org and www.debian.at for Europe and
klecker.d.o for the rest of the world. From what I can see from GeoDNS
logs, it seems to work fine, and the load stays reasonably low, so
after a short test period we might add additional services like
security.debian.org to GeoDNS.&lt;/p&gt;</description>
	<pubDate>Thu, 02 Jul 2009 18:28:30 +0000</pubDate>
</item>
<item>
	<title>FreeDesktop: John Bridgman: 3D support for ATI 6xx/7xx update</title>
	<guid>urn:lj:livejournal.com:atom1:jbridgman:945</guid>
	<link>http://jbridgman.livejournal.com/945.html</link>
	<description>The 6xx/7xx 3D driver is starting to do useful things again after moving over to the radeon-rewrite mesa code base. As of last night, it seems to be behaving properly on 14 of the 63&amp;nbsp;tests in progs/redbook, drawing incorrectly on 24, and either not drawing or crashing on the remaining 25. Cooper found that the following tests rendered correctly :&amp;nbsp; &lt;br /&gt;&lt;br /&gt;hello, plane, torus, list, aargb, smooth, tess, varray, tesswind, model, anti, bezcurve, picksquare, and cube. &lt;br /&gt;&lt;br /&gt;The driver currently segfaults after running ~10 frames of glxgears - Richard is looking into that. Alex is hooking up the texture code to the new bufmgr code, and Cooper is going through the redbook tests and picking off problems as he finds them. Development and testing are primarily being done on discrete graphics cards; not sure of the current status on 760/780/790 IGP parts. &lt;br /&gt;&lt;br /&gt;The r6xx-rewrite branch was synced up with mesa master recently, so merging it into master should be fairly straightforward. A bigger question is&amp;nbsp;how and when we decide that the API to the drm is not likely to require further changes, ie when it makes sense to ask to merge the new drm ioctl support into the main kernel tree. The changes are relatively small and the chance of breaking any *other* support is extremely low, so maybe there's a chance of making 2.6.31 but we haven't had that discussion yet AFAIK. &lt;br /&gt;&lt;br /&gt;If you want to try the latest code (with the caveat that it is *not*&amp;nbsp;ready for general use), you want the r6xx-rewrite of mesa/mesa, and the r6xx-r7xx-3d branch of ~agd5f/drm. The drm code works with 2.6.28 and earlier, but has problems with 2.6.29 and higher.</description>
	<pubDate>Thu, 02 Jul 2009 18:22:23 +0000</pubDate>
</item>
<item>
	<title>Eclipse: Bryan Hunt: Running Rational Team Concert (Jazz) on Eclipse 3.5 / Mac OS X</title>
	<guid>http://bryanhunt.wordpress.com/?p=125</guid>
	<link>http://bryanhunt.wordpress.com/2009/07/02/running-rational-team-concert-jazz-on-eclipse-3-5-mac-os-x/</link>
	<description>&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://jazz.net&quot; target=&quot;_blank&quot;&gt;Rational Team Concert&lt;/a&gt; 2.0 has been released. With a little work, you can get the client running on Eclipse 3.5 and the server running on Mac OS X.&lt;/p&gt;
&lt;h2&gt;Server&lt;/h2&gt;
&lt;p&gt;&lt;span style=&quot;font-weight: normal; font-size: 13px;&quot;&gt;The Jazz team does not officially support running the server on OS X, and a download that runs on OS X out-of-the-box is not available.  With a couple of minor modifications, the Linux server download will run on OS X just fine.&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download the &lt;a href=&quot;https://jazz.net/downloads/rational-team-concert/releases/2.0/RTC-ExpressC-Server-2.0-Linux32.zip&quot; target=&quot;_blank&quot;&gt;Express C Server for Linux&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Unzip the download&lt;/li&gt;
&lt;li&gt;Launch the Terminal&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;cd jazz/server&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;rm -rf jre&lt;/strong&gt; (the Linux JRE is obviously not needed on OS X)&lt;/li&gt;
&lt;li&gt;Edit &lt;strong&gt;tomcat/conf/server.xml&lt;/strong&gt;.  You need to modify the Connector specification for port 9443.  Search for &lt;strong&gt;SSL_TLS&lt;/strong&gt; and change it to &lt;strong&gt;TLS&lt;/strong&gt;.  Also change the next line from &lt;strong&gt;IbmX509&lt;/strong&gt; to &lt;strong&gt;SunX509&lt;/strong&gt;.  The resulting Connector specification should look like:&lt;/li&gt;
&lt;pre class=&quot;xml&quot; name=&quot;code&quot;&gt;
&amp;lt;Connector port=&quot;9443&quot;
               connectionTimeout=&quot;20000&quot;
               maxHttpHeaderSize=&quot;8192&quot;
               maxThreads=&quot;150&quot;
               minSpareThreads=&quot;25&quot;
               maxSpareThreads=&quot;75&quot;
               enableLookups=&quot;false&quot;
               disableUploadTimeout=&quot;true&quot;
               acceptCount=&quot;100&quot;
               scheme=&quot;https&quot;
               secure=&quot;true&quot;
               clientAuth=&quot;false&quot;
               keystoreFile=&quot;ibm-team-ssl.keystore&quot;
               keystorePass=&quot;ibm-team&quot;
               sslProtocol=&quot;TLS&quot;
			   algorithm=&quot;SunX509&quot;
			   URIEncoding=&quot;UTF-8&quot; /&amp;gt;
&lt;/pre&gt;
&lt;li&gt;Edit &lt;strong&gt;server.startup&lt;/strong&gt; and &lt;strong&gt;server.shutdown&lt;/strong&gt; changing JRE_HOME from &lt;strong&gt;`pwd`/jre&lt;/strong&gt; to &lt;strong&gt;/System/Library/Frameworks/JavaVM.framework/Home&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;While editing &lt;strong&gt;server.startup&lt;/strong&gt; add &lt;strong&gt;-XX:MaxPermSize=256m&lt;/strong&gt; to &lt;strong&gt;JAVA_OPTS&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Launch the server &lt;strong&gt;./server.startup&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you want to make sure the server started correctly, you can &lt;strong&gt;tail -f tomcat/logs/catalina.out&lt;/strong&gt; and watch the server startup.  If you see any exceptions thrown, something went wrong.  If all goes well, the last message you see in the log should be:&lt;/p&gt;
&lt;p&gt;INFO: Server startup in xxxxx ms&lt;/p&gt;
&lt;p&gt;To get started right away, launch Safari and point it to &lt;a href=&quot;https://localhost:9443/jazz&quot; target=&quot;_blank&quot;&gt;https://localhost:9443/jazz&lt;/a&gt; login with User: &lt;strong&gt;ADMIN&lt;/strong&gt; and Password: &lt;strong&gt;ADMIN&lt;/strong&gt;.  You can use this admin account to create a personalized account.  Don’t forget to give yourself a Developer license.&lt;/p&gt;
&lt;h2&gt;Client&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;These instructions are not specific to Mac OS X – they should work for any OS.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;The Jazz team does support a &lt;a href=&quot;https://jazz.net/downloads/rational-team-concert/releases/2.0/RTC-Client-2.0-Mac.zip&quot; target=&quot;_blank&quot;&gt;Mac OS X Client&lt;/a&gt; as an incubator project, but the client is based on Eclipse 3.4.  You can download the client and get the jazz bundles to work in an Eclipse 3.5 environment.   The Jazz client has dependencies on the following features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/emf&quot; target=&quot;_blank&quot;&gt;EMF, XSD, SDO&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/gef&quot; target=&quot;_blank&quot;&gt;GEF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.eclipse.org/datatools&quot; target=&quot;_blank&quot;&gt;DTP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With the exception of SDO, all of the features can be installed from the Galileo update site.  To get SDO, add the &lt;a href=&quot;http://download.eclipse.org/modeling/emf/updates/releases/&quot; target=&quot;_blank&quot;&gt;EMF releases update site&lt;/a&gt; and install the SDO runtime from the EMF 2.4.2 release.&lt;/p&gt;
&lt;p&gt;From the downloaded client, move all of the sub-folders in &lt;strong&gt;jazz/client/eclipse/jazz&lt;/strong&gt; to your Eclipse 3.5 &lt;strong&gt;dropins&lt;/strong&gt; folder.  You could use P2 to install the contents of those sub-folders; however, you must manually check every bundle to be installed.  I’d rather spend 10 seconds doing a drag-and-drop rather than 15 minutes checking checkboxes.&lt;/p&gt;
&lt;p&gt;After you launch the client, you should be able to open the Team Artifacts view and create a connection to the repository at &lt;a href=&quot;https://localhost:9443/jazz&quot; target=&quot;_blank&quot;&gt;https://localhost:9443/jazz&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Next Steps&lt;/h2&gt;
&lt;p&gt;See the &lt;a href=&quot;http://jazz.net&quot; target=&quot;_blank&quot;&gt;Jazz&lt;/a&gt; web site for tutorials on getting started.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Added -XX:MaxPermSize=256m to the server instructions&lt;/p&gt;
  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/bryanhunt.wordpress.com/125/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/bryanhunt.wordpress.com/125/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/bryanhunt.wordpress.com/125/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/bryanhunt.wordpress.com/125/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/bryanhunt.wordpress.com/125/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/bryanhunt.wordpress.com/125/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/bryanhunt.wordpress.com/125/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/bryanhunt.wordpress.com/125/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/bryanhunt.wordpress.com/125/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/bryanhunt.wordpress.com/125/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=bryanhunt.wordpress.com&amp;amp;blog=7500940&amp;amp;post=125&amp;amp;subd=bryanhunt&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 18:22:16 +0000</pubDate>
</item>
<item>
	<title>OpenID: David Recordon: Sign in to Sears and Kmart with OpenID!</title>
	<guid>urn:lj:livejournal.com:atom1:daveman692:348099</guid>
	<link>http://daveman692.livejournal.com/348099.html</link>
	<description>A lot of the major adoption successes for OpenID have been in the tech industry, though as of yesterday you can sign in to &lt;a href=&quot;http://www.mysears.com/&quot;&gt;MySears.com&lt;/a&gt; and &lt;a href=&quot;http://www.mykmart.com/&quot;&gt;MyKmart.com&lt;/a&gt; using an OpenID.  Beyond Interscope Records offering OpenID sign in on artist sites like Snoop Dogg's, Sears is really the first major retailer adopting OpenID. &lt;a href=&quot;http://openid.net/2009/07/02/sears-and-kmart-adopt-openid-signin/&quot;&gt;More on the OpenID blog&lt;/a&gt; and congrats to the team at JanRain that helped make this happen:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;“We’re constantly looking for ways to stay innovative in our online initiatives by identifying and implementing technologies that help our users navigate our communities with ease,” says Rob Harles, Sears’ vice president of community. “Our adoption of the OpenID technology helps simplify our customers’ online experience and ultimately helps us meet our goal of ensuring our customers have the most efficient shopping experience possible.”&lt;/blockquote&gt;</description>
	<pubDate>Thu, 02 Jul 2009 18:12:39 +0000</pubDate>
</item>
<item>
	<title>Ubuntu: Martin Owens: Question: File System Indexing</title>
	<guid>http://doctormo.wordpress.com/?p=784</guid>
	<link>http://doctormo.wordpress.com/2009/07/02/question-file-system-indexing/</link>
	<description>&lt;img class=&quot;face&quot; src=&quot;http://planet.ubuntu.com/heads/doctormo.png&quot; alt=&quot;&quot; /&gt;
&lt;br /&gt;&lt;p&gt;A feature I would really like on my computer is reasonable file content and meta data indexing, not such full text indexing for doing searched but field indexing for doing date/time boundaries, size indexing and other useful components that would make meta file io much faster.&lt;/p&gt;
&lt;p&gt;But so far I&amp;#8217;ve not been able to find a file system that has the reliability of modern ext systems with all the extra goodies that we really could do with to support our new breed of apps and data access that I&amp;#8217;m so looking forward to.&lt;/p&gt;
&lt;p&gt;So today&amp;#8217;s blog post is a question for the community, what file systems have you tried? and how many of these features can you find?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reliability&lt;/li&gt;
&lt;li&gt;Speed&lt;/li&gt;
&lt;li&gt;Open Specification&lt;/li&gt;
&lt;li&gt;Full Text Index for text content&lt;/li&gt;
&lt;li&gt;Field Indexed for all Meta Data&lt;/li&gt;
&lt;li&gt;Tree Expandable Meta Data&lt;/li&gt;
&lt;li&gt;Context Indexing (take content, make fields)&lt;/li&gt;
&lt;li&gt;Progressive and/or Selective Indexing so as not to slow normal system file io&lt;/li&gt;
&lt;li&gt;Time Based Differences for reverting to previous states&lt;/li&gt;
&lt;li&gt;Access Logging&lt;/li&gt;
&lt;li&gt;Obviously anything already in ext3&lt;/li&gt;
&lt;/ul&gt;
  &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/doctormo.wordpress.com/784/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/doctormo.wordpress.com/784/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/doctormo.wordpress.com/784/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/doctormo.wordpress.com/784/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/doctormo.wordpress.com/784/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/doctormo.wordpress.com/784/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/doctormo.wordpress.com/784/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/doctormo.wordpress.com/784/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/doctormo.wordpress.com/784/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/doctormo.wordpress.com/784/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=doctormo.wordpress.com&amp;amp;blog=6486156&amp;amp;post=784&amp;amp;subd=doctormo&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;</description>
	<pubDate>Thu, 02 Jul 2009 17:58:48 +0000</pubDate>
</item>
<item>
	<title>SuSE: Novell OpenPR Blog: Technology TLC</title>
	