<?xml version="1.0" encoding="ISO-8859-1"?>

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
>

  <channel rdf:about="http://lwn.net/headlines/Comments">
    <title>LWN.net comments</title>
    <link>http://lwn.net/Comments/</link>
    <description>
	LWN.net is a comprehensive source of news and opinions from
        and about the Linux community.
    </description>

    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>2</syn:updateFrequency>
    <items>
      <rdf:Seq>
	<rdf:li resource="http://lwn.net/Articles/340005/rss" />
	<rdf:li resource="http://lwn.net/Articles/340003/rss" />
	<rdf:li resource="http://lwn.net/Articles/340000/rss" />
	<rdf:li resource="http://lwn.net/Articles/339999/rss" />
	<rdf:li resource="http://lwn.net/Articles/339998/rss" />
	<rdf:li resource="http://lwn.net/Articles/339997/rss" />
	<rdf:li resource="http://lwn.net/Articles/339995/rss" />
	<rdf:li resource="http://lwn.net/Articles/339994/rss" />
	<rdf:li resource="http://lwn.net/Articles/339993/rss" />
	<rdf:li resource="http://lwn.net/Articles/339991/rss" />
	<rdf:li resource="http://lwn.net/Articles/339992/rss" />
	<rdf:li resource="http://lwn.net/Articles/339989/rss" />
	<rdf:li resource="http://lwn.net/Articles/339988/rss" />
	<rdf:li resource="http://lwn.net/Articles/339987/rss" />
	<rdf:li resource="http://lwn.net/Articles/339986/rss" />
	<rdf:li resource="http://lwn.net/Articles/339985/rss" />
	<rdf:li resource="http://lwn.net/Articles/339984/rss" />
	<rdf:li resource="http://lwn.net/Articles/339983/rss" />
	<rdf:li resource="http://lwn.net/Articles/339982/rss" />
	<rdf:li resource="http://lwn.net/Articles/339981/rss" />
	<rdf:li resource="http://lwn.net/Articles/339980/rss" />
	<rdf:li resource="http://lwn.net/Articles/339979/rss" />
	<rdf:li resource="http://lwn.net/Articles/339978/rss" />
	<rdf:li resource="http://lwn.net/Articles/339975/rss" />
	<rdf:li resource="http://lwn.net/Articles/339973/rss" />
	<rdf:li resource="http://lwn.net/Articles/339972/rss" />
	<rdf:li resource="http://lwn.net/Articles/339971/rss" />
	<rdf:li resource="http://lwn.net/Articles/339970/rss" />
	<rdf:li resource="http://lwn.net/Articles/339968/rss" />
	<rdf:li resource="http://lwn.net/Articles/339967/rss" />
	<rdf:li resource="http://lwn.net/Articles/339965/rss" />
	<rdf:li resource="http://lwn.net/Articles/339966/rss" />
	<rdf:li resource="http://lwn.net/Articles/339961/rss" />
	<rdf:li resource="http://lwn.net/Articles/339957/rss" />
	<rdf:li resource="http://lwn.net/Articles/339956/rss" />
	<rdf:li resource="http://lwn.net/Articles/339955/rss" />
	<rdf:li resource="http://lwn.net/Articles/339954/rss" />
	<rdf:li resource="http://lwn.net/Articles/339953/rss" />
	<rdf:li resource="http://lwn.net/Articles/339952/rss" />
	<rdf:li resource="http://lwn.net/Articles/339951/rss" />
	<rdf:li resource="http://lwn.net/Articles/339950/rss" />
	<rdf:li resource="http://lwn.net/Articles/339949/rss" />
	<rdf:li resource="http://lwn.net/Articles/339948/rss" />
	<rdf:li resource="http://lwn.net/Articles/339947/rss" />
	<rdf:li resource="http://lwn.net/Articles/339945/rss" />
	<rdf:li resource="http://lwn.net/Articles/339946/rss" />
	<rdf:li resource="http://lwn.net/Articles/339942/rss" />
	<rdf:li resource="http://lwn.net/Articles/339943/rss" />
	<rdf:li resource="http://lwn.net/Articles/339941/rss" />
	<rdf:li resource="http://lwn.net/Articles/339940/rss" />
      
      </rdf:Seq>
    </items>

  </channel>
    <item rdf:about="http://lwn.net/Articles/340005/rss">
      <title>VA API slowly -- but surely -- making progress</title>
      <link>http://lwn.net/Articles/340005/rss</link>
      <dc:date>2009-07-05T04:58:20+00:00</dc:date>
      <dc:creator>pflugstad</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Also, w.r.t. patented algorithms, any commercial chip that implements the encoding/decoding that is patented would already have paid the patent licensing fees.  So this actually seems like a way to work around that particular problem by offloading the patent encumbered process from legally questionable software (in the US anyway) that may be patent infringing to hardware that has already paid the licensing feed. &lt;br&gt;
&lt;p&gt;
Or maybe I don't understand this very well.&lt;br&gt;
&lt;p&gt;
Note: I'm not advocating software/math patents at all (which is what any patent on an encoding/decoding algorithm inevitably is), but simply providing another P.O.V. that a commercial entity might be interested in. &lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340003/rss">
      <title>NixOS: purely functional system configuration management</title>
      <link>http://lwn.net/Articles/340003/rss</link>
      <dc:date>2009-07-05T03:33:53+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
That could mean two things: either there's a tool to check that whenever you depend on the existence of a symbol _FOO, there is indeed a symbol _FOO. Or, whenever you used to depend on the existence of a symbol _FOO, not only does _FOO still exist but that it refers to the &quot;same thing&quot;. (E.g., if it points to a function, that that function's assembly is unmodified. And all the functions that it calls are, in turn, unmodified.)&lt;br&gt;
&lt;p&gt;
I assume you mean the former. Such functionality is handy, but it's exactly what I'm referring to by &quot;assumed&quot; compatibility -- hey, the names are right, it must work! If the library author and the application author did their jobs perfectly then of course this is true, and often it works out well enough in practice, but... the value you see in something like NixOS will depend on how willing you are to assume that's the case.&lt;br&gt;
&lt;p&gt;
Personally, I consider our present approach to be a lamentable imperfection imposed by a world of constant security updates, limited bandwidth, and awful QA capabilities. I'm not sure when or if I'll be able to switch to a NixOS-style system, but I'm glad someone is reminding us of this fact.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/340000/rss">
      <title>You misunderstand...</title>
      <link>http://lwn.net/Articles/340000/rss</link>
      <dc:date>2009-07-05T02:03:53+00:00</dc:date>
      <dc:creator>johill</dc:creator>
      <description>
      Actually, are you sure? The actual text of the FCPA seems to imply that the &quot;gift&quot; needs to go to a &lt;i&gt;foreign official, a foreign political party or party official, or any candidate for foreign political office&lt;/i&gt; (&lt;a href=&quot;http://www.usdoj.gov/criminal/fraud/docs/dojdocb.html&quot;&gt;from the lay-person's guide&lt;/a&gt;, &lt;a href=&quot;http://www.usdoj.gov/criminal/fraud/docs/statute.html&quot;&gt;cf. §78dd-2(a)(1,2,3)&lt;/a&gt;) which would not seem to conver &quot;gifts&quot; to the entire country's schooling system or whatever.

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339999/rss">
      <title>You misunderstand...</title>
      <link>http://lwn.net/Articles/339999/rss</link>
      <dc:date>2009-07-05T01:15:28+00:00</dc:date>
      <dc:creator>rahvin</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Maybe you misunderstand. The FCPA makes providing &quot;gifts&quot; to foreign governments for the purpose of securing sales illegal. It also makes putting conditions on gifts illegal if those conditions require the purchase or use of US products. The FCPA was passed to stop the commercial interference in foreign governments that caused endless problems for US foreign policy and harmed people.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339998/rss">
      <title>The first KDE 4.3.0 release candidate</title>
      <link>http://lwn.net/Articles/339998/rss</link>
      <dc:date>2009-07-05T00:37:29+00:00</dc:date>
      <dc:creator>mikov</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
You have got to be kidding me. I am 100% KDE fan, though to this day continue using KDE 3 because it is in Debian Stable.&lt;br&gt;
&lt;p&gt;
However it would never even for a second occurred to be that KDE 4.3 - a supposedly mature mainstream desktop environment - does not have something so fundamental and simple Even/Odd printing. This is ridiculous. I don't happen to own a double-sided printer, and I use Linux+KDE 100% of the time, so how the hell am I going to print???&lt;br&gt;
&lt;p&gt;
Don't get me wrong, I love KDE, but if this is really the case, then KDE 4 can still only be regarded as an Alpha version. Not only that, but the entire development process seems broken. Before worrying about utter nonsense like widgets on the desktop, the fundamental functionality like printing should work first! The guy on the linked blog seems to really be trying, but people this is 4.3 already!!!! How can you have a desktop environment without printing. Plus, printing happened to work great in the previous version of KDE. &lt;br&gt;
&lt;p&gt;
Man, I was really considering upgrading to KDE 4 sooner or later, but now I really don't know. The only problem is that I find Gnome ugly and inconvenient, so I don't really have much of an alternative.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339997/rss">
      <title>The first KDE 4.3.0 release candidate</title>
      <link>http://lwn.net/Articles/339997/rss</link>
      <dc:date>2009-07-05T00:09:02+00:00</dc:date>
      <dc:creator>aseigo</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
konsole dbus seems to be there :)&lt;br&gt;
&lt;p&gt;
aseigo@independence:~&amp;gt; qdbus org.kde.konsole /Konsole&lt;br&gt;
method int org.kde.konsole.Konsole.currentSession()&lt;br&gt;
method void org.kde.konsole.Konsole.moveSessionLeft()&lt;br&gt;
method void org.kde.konsole.Konsole.moveSessionRight()&lt;br&gt;
method int org.kde.konsole.Konsole.newSession()&lt;br&gt;
method int org.kde.konsole.Konsole.newSession(QString profile, QString directory)&lt;br&gt;
method void org.kde.konsole.Konsole.nextSession()&lt;br&gt;
method void org.kde.konsole.Konsole.prevSession()&lt;br&gt;
method QStringList org.kde.konsole.Konsole.profileList()&lt;br&gt;
method int org.kde.konsole.Konsole.sessionCount()&lt;br&gt;
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)&lt;br&gt;
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)&lt;br&gt;
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)&lt;br&gt;
method QString org.freedesktop.DBus.Introspectable.Introspect()&lt;br&gt;
&lt;p&gt;
aseigo@independence:~&amp;gt; qdbus org.kde.konsole /Sessions/1&lt;br&gt;
method void org.kde.konsole.Session.close()&lt;br&gt;
method QByteArray org.kde.konsole.Session.codec()&lt;br&gt;
method QStringList org.kde.konsole.Session.environment()&lt;br&gt;
method bool org.kde.konsole.Session.flowControlEnabled()&lt;br&gt;
method int org.kde.konsole.Session.foregroundProcessId()&lt;br&gt;
method bool org.kde.konsole.Session.isMonitorActivity()&lt;br&gt;
method bool org.kde.konsole.Session.isMonitorSilence()&lt;br&gt;
method int org.kde.konsole.Session.processId()&lt;br&gt;
method void org.kde.konsole.Session.sendMouseEvent(int buttons, int column, int line, int eventType)&lt;br&gt;
method void org.kde.konsole.Session.sendText(QString text)&lt;br&gt;
method bool org.kde.konsole.Session.setCodec(QByteArray codec)&lt;br&gt;
method void org.kde.konsole.Session.setEnvironment(QStringList environment)&lt;br&gt;
method void org.kde.konsole.Session.setFlowControlEnabled(bool enabled)&lt;br&gt;
method void org.kde.konsole.Session.setMonitorActivity(bool)&lt;br&gt;
method void org.kde.konsole.Session.setMonitorSilence(bool)&lt;br&gt;
method void org.kde.konsole.Session.setMonitorSilenceSeconds(int seconds)&lt;br&gt;
method void org.kde.konsole.Session.setTitle(int role, QString title)&lt;br&gt;
method QString org.kde.konsole.Session.title(int role)&lt;br&gt;
&lt;p&gt;
there's even more there than that, but you can probably see them for yourself with qdbusviewer :)&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339995/rss">
      <title>Tiemann: Open Source Incentives</title>
      <link>http://lwn.net/Articles/339995/rss</link>
      <dc:date>2009-07-04T22:20:11+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Oh, I agree about the moral aspect. I'm just uncomfortable saying that if X is morally questionable, then a large organization must not be doing X. Hopefully the B&amp;amp;MGF does keeps itself removed from Microsoft's concerns, and my impression has been that the B&amp;amp;MGF is not just(?) a tool for publicity by other means. But I'd rather see the accusations raised here addressed with evidence than panglossian optimism.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339994/rss">
      <title>GRUB 2 becomes the default bootloader in Ubuntu 9.10</title>
      <link>http://lwn.net/Articles/339994/rss</link>
      <dc:date>2009-07-04T20:54:47+00:00</dc:date>
      <dc:creator>muwlgr</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
LILO works well for me, boots my systems from md/raid1 array.&lt;br&gt;
Don't know why throw it away and replace with GRUB2.&lt;br&gt;
The only warts for LILO I noticed for the years are: lack of LVM/LVM2 support (especially if your LVM PVs are created on md arrays themselves), and that it searches for MBRs only on hard disks with BIOS number 0x80 and higher, so fails on BIOSes that assign removable drive numbers for your USB flash (0x2..0x7f).&lt;br&gt;
For me, GRUB1 lacks a feature that I often used and liked in LILO: to create a filesystem on the entire unpartitioned volume&lt;br&gt;
(like, mkfs.ext3 /dev/sdb) and then to install a bootloader into its boot sector, i.e. the case when you don't have partition table at all. Don't know if GRUB2 could do that. Anyone knows ?&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339993/rss">
      <title>tar, ext4, root</title>
      <link>http://lwn.net/Articles/339993/rss</link>
      <dc:date>2009-07-04T18:25:08+00:00</dc:date>
      <dc:creator>ChrisDolan</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
While we're at it, can we remove file permissions from the tar file format?  When I untar a file with -r--r--r-- permissions, that violates my freedom.&lt;br&gt;
&lt;p&gt;
And that ext4 filesystem, man!  It always says &quot;Permission denied&quot; when I try to &quot;rm -r /&quot;.  We gotta rip that antifeature out of Linux.&lt;br&gt;
&lt;p&gt;
And the root account?  What's up with that?  All accounts should be created equal!  Root is the Man.  Debian should eliminate the root account, or at least disable the limitations of all other accounts by default.  Why do they make &quot;sudo chmod -R 777 /&quot; so obscure?&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339991/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339991/rss</link>
      <dc:date>2009-07-04T18:12:43+00:00</dc:date>
      <dc:creator>giraffedata</dc:creator>
      <description>
      &lt;blockquote&gt;
&lt;blockquote&gt;
Sure, but popularity is irrelevant to the point I'm making.
&lt;/blockquote&gt;
Language is supposed to serve people, not the other way. What people use and understand defines language, not the dictionary. 
&lt;/blockquote&gt;
&lt;p&gt;
I agree, but I don't know why you bring it up.  While I made the statement above about popularity, I didn't say anything about dictionaries except to say that the dictionary &lt;em&gt;doesn't&lt;/em&gt; support my usage of &quot;function.&quot;
&lt;blockquote&gt;
Popularity is all that matters
&lt;/blockquote&gt;
&lt;p&gt;Language serves people best by being logical, consistent, precise, and easily expressive.  Those are not implied by popularity -- the number of people using a particular phrasing.  When one chooses between two phrasings to write, the relative number of times one has heard one or the other should be a fairly minor factor.

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339992/rss">
      <title>You misunderstand...</title>
      <link>http://lwn.net/Articles/339992/rss</link>
      <dc:date>2009-07-04T18:09:56+00:00</dc:date>
      <dc:creator>khim</dc:creator>
      <description>
      &lt;p&gt;You certainly can not give any &lt;b&gt;official&lt;/b&gt; money. But you &lt;b&gt;can&lt;/b&gt; 
add stipulations to your gift if you are charity! And if these stipulations 
help your company... why it's a big deal? Bill &amp;amp; Melinda Gates Foundation 
always worked this way - I don't see anything surprising there...&lt;/p&gt;

&lt;p&gt;Basically consider this &quot;charity&quot; part of PR department of Microsoft and 
all will be good.&lt;/p&gt;
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339989/rss">
      <title>nginx vs slowloris</title>
      <link>http://lwn.net/Articles/339989/rss</link>
      <dc:date>2009-07-04T17:18:30+00:00</dc:date>
      <dc:creator>gvy</dc:creator>
      <description>
      Vitya, linux.kiev.ua is running nginx + apache-1.3 and it's rather depressed by slowloris in my tests.  Could you please elaborate on how to cook things up so as to protect dynamic paths?  I could only come up with proxying stuff for at least some fixed minimal timeout (which is not an option for lots of pages) and googling 'nginx slowloris' doesn't yield anything particularly useful to me.

&lt;p&gt;PS: &lt;a rel=&quot;nofollow&quot; href=&quot;http://nginx.org/&quot;&gt;nginx&lt;/a&gt; is really an excellent static httpd/reverse proxy, anyone running moderately busy site should consider looking into it.  Could drop apache instance numbers an order of magnitude, together with RAM occupied by those.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339988/rss">
      <title>*sigh*</title>
      <link>http://lwn.net/Articles/339988/rss</link>
      <dc:date>2009-07-04T16:50:15+00:00</dc:date>
      <dc:creator>gvy</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
&lt;font class=&quot;QuotedText&quot;&gt;&amp;gt; It is a system, an ideal.&lt;/font&gt;&lt;br&gt;
Nope.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339987/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339987/rss</link>
      <dc:date>2009-07-04T16:29:29+00:00</dc:date>
      <dc:creator>ajf</dc:creator>
      <description>
      Quite right, I should have compared it to the &lt;a href=&quot;http://www.google.com/search?q=definantly&quot;&gt;definantly&lt;/a&gt; count and concluded definately was &quot;more likely to be correct&quot; - which an utterly worthless conclusion, because both are still wrong. And that's exactly where your comparison leaves us.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339986/rss">
      <title>Foreign Corrupt Practices Act (FCPA)</title>
      <link>http://lwn.net/Articles/339986/rss</link>
      <dc:date>2009-07-04T15:52:16+00:00</dc:date>
      <dc:creator>dwheeler</dc:creator>
      <description>
      I hope that this story about the B&amp;amp;MG Foundation is untrue; certainly people should track down the claim.  I suspect the claimed actions would be illegal under the the &lt;a href=&quot;http://en.wikipedia.org/wiki/Foreign_Corrupt_Practices_Act&quot;&gt;Foreign Corrupt Practices Act (FCPA)&lt;/a&gt;.  According to Wikipedia,the FCPA makes it unlawful for a U.S. person &quot;to make a payment to a foreign official for the purpose of obtaining or retaining business for or with, or directing business to, any person... The meaning of foreign official is broad... Doctors at government-owned or managed hospitals are also considered to be foreign officials under the FCPA, as is anyone working for a government-owned or managed institution or enterprise... The government focuses on the intent of the bribery rather than on the amount.&quot;



      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339985/rss">
      <title>NixOS: purely functional system configuration management</title>
      <link>http://lwn.net/Articles/339985/rss</link>
      <dc:date>2009-07-04T15:48:33+00:00</dc:date>
      <dc:creator>astrashe</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
This strikes me as being really useful, especially for clouds or large server farms.  There's a lot of value in having a server be in a known state.&lt;br&gt;
&lt;p&gt;
It also seems to me that it fits in to some other changes that seem to be taking place.  We used to think of computers as things, physical objects.  But to a certain extent, &quot;a computer&quot; is becoming a blob of data that exists in some sort of container (ie., hardware).&lt;br&gt;
&lt;p&gt;
My main desktop, for example, is a blob of data that lives at a VPS hosting company.  Some people carry around their systems on USB sticks, and boot them wherever they happen to be.  Etc.&lt;br&gt;
&lt;p&gt;
If a computer is a blob of data, then having better tools with which we can  describe and build these blobs is a really good thing.&lt;br&gt;
&lt;p&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339984/rss">
      <title>Tiemann: Open Source Incentives</title>
      <link>http://lwn.net/Articles/339984/rss</link>
      <dc:date>2009-07-04T15:09:05+00:00</dc:date>
      <dc:creator>stijn</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
There is the moral aspect as well as the legal aspect. A charitable foundation that tries to prop up a &lt;br&gt;
business is morally bankrupt. Perhaps the foundation is not legally a charity if 'charity' happens to &lt;br&gt;
be another legal concept, but that is not the point. I assumed that the text I quoted was a little &lt;br&gt;
more than a legal statement.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339983/rss">
      <title>NixOS: purely functional system configuration management</title>
      <link>http://lwn.net/Articles/339983/rss</link>
      <dc:date>2009-07-04T12:40:00+00:00</dc:date>
      <dc:creator>oak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
&lt;font class=&quot;QuotedText&quot;&gt;&amp;gt; By not storing components such as libraries, header files or programs in &lt;/font&gt;&lt;br&gt;
global locations, all packages are forced at build time to use a specific &lt;br&gt;
version of their dependencies, located in the Nix store. To make this &lt;br&gt;
happen, the developers have patched Glibc, GCC and the dynamic linker ld &lt;br&gt;
to not search files in any default locations.&lt;br&gt;
&lt;p&gt;
Something similar can be done also with scratchbox2 without a need to &lt;br&gt;
patch Glibc, GCC &amp;amp; ld: &lt;a rel=&quot;nofollow&quot; href=&quot;http://packages.debian.org/squeeze/scratchbox2&quot;&gt;http://packages.debian.org/squeeze/scratchbox2&lt;/a&gt;&lt;br&gt;
&lt;p&gt;
(As it uses LD_PRELOAD, it works only for dynamically linked binaries or &lt;br&gt;
scripts having dynamically linked interpreters.)&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339982/rss">
      <title>NixOS: purely functional system configuration management</title>
      <link>http://lwn.net/Articles/339982/rss</link>
      <dc:date>2009-07-04T12:36:08+00:00</dc:date>
      <dc:creator>oak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
&lt;font class=&quot;QuotedText&quot;&gt;&amp;gt; Of course, that only works in the first place if you assume that the new &lt;/font&gt;&lt;br&gt;
library *really is* compatible with your old binaries, which is often &lt;br&gt;
assumed but rarely guaranteed.&lt;br&gt;
&lt;p&gt;
Nowadays Debian provides some support for this.  You can easily check &lt;br&gt;
whether any of the symbols changes at build time and build will fail if &lt;br&gt;
they changed, but the library version didn't.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339981/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339981/rss</link>
      <dc:date>2009-07-04T12:26:39+00:00</dc:date>
      <dc:creator>im14u2c</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
...many of which are people complaining that it's to be spelled &quot;definitely,&quot; which incidentally gets nearly 10x as many hits (over 128M).&lt;br&gt;
&lt;p&gt;
How exactly have you invalidated the notion that the relative hit count between two directly comparable alternatives suggests which one is more likely to be correct?  I'd be worried if &quot;definitely&quot; got 100k hits but &quot;definately&quot; got 14M.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339980/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339980/rss</link>
      <dc:date>2009-07-04T12:12:23+00:00</dc:date>
      <dc:creator>ajf</dc:creator>
      <description>
      &lt;blockquote&gt;At the very least, &quot;piece of functionality&quot; has nearly 100k hits on Google&lt;/blockquote&gt;

... and &lt;a href=&quot;http://www.google.com/search?q=definately&quot;&gt;definately&lt;/a&gt; has nearly 14 million.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339979/rss">
      <title>Soft updates, hard problems</title>
      <link>http://lwn.net/Articles/339979/rss</link>
      <dc:date>2009-07-04T12:06:40+00:00</dc:date>
      <dc:creator>nix</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Seconded. This looks really nice...&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339978/rss">
      <title>Avoiding a read-only filesystem on errors</title>
      <link>http://lwn.net/Articles/339978/rss</link>
      <dc:date>2009-07-04T11:21:50+00:00</dc:date>
      <dc:creator>oak</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
&lt;font class=&quot;QuotedText&quot;&gt;&amp;gt; For example, a read failure may result in printing multiple read errors &lt;/font&gt;&lt;br&gt;
in dmesg for each block it is not able to read. An event generated for &lt;br&gt;
each block may be too much for udev to handle.&lt;br&gt;
&lt;p&gt;
I don't think user-space is interested about individual errors like on &lt;br&gt;
which block there's an error but that:&lt;br&gt;
- there's a file system error&lt;br&gt;
- which file system has the error&lt;br&gt;
- maybe the types/classes of errors on that file system&lt;br&gt;
&lt;p&gt;
I.e. at most the first error of certain type on certain file system should &lt;br&gt;
be reported.&lt;br&gt;
&lt;p&gt;
Btw. Regarding corrupted FAT file system, background file system indexing &lt;br&gt;
daemons sometimes behave in interesting ways when they encounter e.g. &lt;br&gt;
infinite list of directory entries or infinitely deep directory &lt;br&gt;
hierarchies on just mounted FAT file systems...    Kernel re-mounting &lt;br&gt;
buggy FS read-only doesn't help in these cases at all. (Such programs are &lt;br&gt;
of course buggy and should be fixed, but it's not always easy to find &amp;amp; &lt;br&gt;
correct such errors in programs beforehand.)&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339975/rss">
      <title>GRUB 2 becomes the default bootloader in Ubuntu 9.10</title>
      <link>http://lwn.net/Articles/339975/rss</link>
      <dc:date>2009-07-04T09:58:05+00:00</dc:date>
      <dc:creator>abpsoft</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Calling it solved is a bit bold - that xfs_freeze hack has the tendency of freezing - indeed - the whole box solid, provided that system has / (including /boot) on XFS and an unsuspecting admin tries to run grub-install. That hack might work when run from d-i, but in a live system (let's say, after upgrading from etch to lenny and pondering whether it may be time to finally replace LILO) it's a disaster. It should at least print a big fat warning before actually freezing a live FS that might have plenty of write activity.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339973/rss">
      <title>The fanotify API - corrections</title>
      <link>http://lwn.net/Articles/339973/rss</link>
      <dc:date>2009-07-04T09:43:17+00:00</dc:date>
      <dc:creator>jlokier</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
The global mode does work if you want to monitor everything, system-wide, but it is too broad-scope if you just want to monitor, say, $HOME.  Or /var/www/databases.  Etc., you get the idea.  There are many good reasons to monitor everything below a particular directory.  Especially on multi-user systems.  An off the wall example: Recursively monitoring changes below $PWD would be useful for speeding up programs like Make and Git between invocations.  Recursively monitoring $HOME is appropriate for personal indexers on multi-user systems.&lt;br&gt;
&lt;p&gt;
So the obvious thing to do is improve inotify to provide recursive notifications, instead of Yet Another API to a slightly different mix of the same features.  IN_RECURSIVE: &quot;notify this directory of events occuring on any path below the directory, not just immediately below the directory&quot;.  There you go.  Making it efficient is left as an exercise :-) (hint: lazily propagate flags up and down the dentry tree)&lt;br&gt;
&lt;p&gt;
That's notifications.  The other part is blocking operations on files - the filtering part.  We already have a mechanism for that, too: leases.  The F_SETLEASE API is clearly not suitable, but the underlying lease mechanism is close.  Suggestion: return a leased file descriptor alongside an inotify event if IN_LEASE_* flags are set.  Use F_SETLEASE or something like it to release a lease, granting or denying permission.&lt;br&gt;
&lt;p&gt;
In it's present form it is sure to be rejected due to the very strange and unnecessary API, and it  which looks like it was written by people who did not read the history of inotify's inclusion into the kernel.  inotify has it's own system calls because the original version was rejected on l-k, and told to use system calls because it's not a device or socket.&lt;br&gt;
&lt;p&gt;
As a small incremental change to inotify, it's much more likely to be accepted, and it's also much more likely to be useful for applications you haven't thought of.&lt;br&gt;
&lt;p&gt;
There might still be a reason to add a netlink socket API as well (though I can't think of one), but if so it should be a general addition to inotify, not a complete replacement which happens to be like inotify in some ways and different in others.&lt;br&gt;
&lt;p&gt;
We already have F_NOTIFY, inotify and F_SETLEASE.  We don't need yet another slightly different but nearly the same thing, which happens to be useful for a tiny set of applications but still very limited in arbitrary ways, when a little incremental improvement to inotify would be both cleaner and useful for a lot more applications.&lt;br&gt;
&lt;p&gt;
Don't get me wrong, inotify has flaws, but together with leases, it's not far off what the fanotify-using applications need.  I strongly advocate fixing them, rather than starting again.&lt;br&gt;
&lt;p&gt;
This discussion should be on linux-fsdevel...&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339972/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339972/rss</link>
      <dc:date>2009-07-04T09:18:56+00:00</dc:date>
      <dc:creator>SiB</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
&lt;font class=&quot;QuotedText&quot;&gt;&amp;gt; Sure, but popularity is irrelevant to the point I'm making.&lt;/font&gt;&lt;br&gt;
&lt;p&gt;
Language is supposed to serve people, not the other way.  What people use and understand defines language, not the dictionary.  The dictionary is supposed to record how people use language.  Language evolves.  Dictionaries need to follow that change. Popularity is all that matters.  (I'm not a native English speaker, but what I said should apply to all languages in use.)&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339971/rss">
      <title>Mozilla's Content Security Policy</title>
      <link>http://lwn.net/Articles/339971/rss</link>
      <dc:date>2009-07-04T09:08:29+00:00</dc:date>
      <dc:creator>NAR</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Why would a bank let HTML input into any forms?&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339970/rss">
      <title>Milepost GCC released</title>
      <link>http://lwn.net/Articles/339970/rss</link>
      <dc:date>2009-07-04T09:03:01+00:00</dc:date>
      <dc:creator>tao</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Slashdot misrepresenting an article?  Now that has never happened before...  :P&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339968/rss">
      <title>Tiemann: Open Source Incentives</title>
      <link>http://lwn.net/Articles/339968/rss</link>
      <dc:date>2009-07-04T07:46:30+00:00</dc:date>
      <dc:creator>fdr</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Ah, okay.  The position is more nuanced than I first thought, I thought it was some sort of garble because the sound-(text?)bite version didn't seem to flow together very well.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339967/rss">
      <title>Resource hogs</title>
      <link>http://lwn.net/Articles/339967/rss</link>
      <dc:date>2009-07-04T07:43:11+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Err, Redmondites. WTF, brain. I guess they're nearby.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339965/rss">
      <title>Resource hogs</title>
      <link>http://lwn.net/Articles/339965/rss</link>
      <dc:date>2009-07-04T07:41:14+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      I'm not sure what &quot;cache-efficient&quot; ends up meaning for a garbage collector (e.g., which is better -- mark-sweep with its big reads, or reference counting with its scattered writes?), but AFAICT pretty much all the rest of those are common in the Java world at this point. Many, many person-years have gone GC's in recent years. For instance, here's a paper on the latest (still beta?) Sun GC called &lt;a href=&quot;http://research.sun.com/jtech/pubs/04-g1-paper-ismm.pdf&quot;&gt;G1&lt;/a&gt;.
&lt;p&gt;
That said, I agree it's annoying how popular the idea is that deferred GC is the *only* memory management technique one would ever need or want. Also, determinism is awesome. But OTOH, a lot of the programs being written in GC environments are ones where the authors would never get the memory management right anyway.
&lt;p&gt;
None of which has anything to do with Seattleites bearing gifts.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339966/rss">
      <title>Tiemann: Open Source Incentives</title>
      <link>http://lwn.net/Articles/339966/rss</link>
      <dc:date>2009-07-04T07:25:11+00:00</dc:date>
      <dc:creator>tzafrir</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Now read the article and find where this is actually written. Hint: look for the word &quot;competing&quot;).&lt;br&gt;
&lt;p&gt;
The Malaysian government's behavior there is mentioned as a good example. The &quot;competing solutions&quot; are about some pointless development done by the Bush administration.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339961/rss">
      <title>Stallman warns about C# and Mono dependence</title>
      <link>http://lwn.net/Articles/339961/rss</link>
      <dc:date>2009-07-04T06:48:41+00:00</dc:date>
      <dc:creator>malor</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
I don't give a flying f*ck about the Mono project.  If it dies tomorrow, I won't cry.  If it lives until Doomsday, I won't particularly care either.  &lt;br&gt;
&lt;p&gt;
But I DO care about the Mono developers, because they're trying, in essence, to do me an indirect favor.  I'm hoping not to accept it, but I know they mean well.  &lt;br&gt;
&lt;p&gt;
Simply being AWARE of a patent puts you on the hook for triple damages in patent infringement suits, so if I actually did do the research and specifically stated the patents in question, I'd be tripling whatever risk they're running.  And I'm sure that's the thought process behind what you guys term as 'FUD'.  They're trying to protect you against the broken patent system, not shining flashlights under their faces and making scary noises.&lt;br&gt;
&lt;p&gt;
As far as whether or not Microsoft will choose to exercise their patent weapons against any particular program, nobody can tell you.  However, I can be pretty darn sure that joining yourself at the hip with Microsoft, copying an existing project, is much more likely to fall afoul of patents, and it will be harder for developers to argue ignorance.  This may also be true of Samba, since it's also a reimplementation of a fully Microsoft-owned specification.  &lt;br&gt;
&lt;p&gt;
Of all the open source projects that exist, it strikes me that those are two of the most likely to run afoul of patent problems from Microsoft.  &lt;br&gt;
&lt;p&gt;
There's a difference between swimming in the open ocean, hoping you don't accidentally drink any sewage, and swimming downriver from a treatment plant.&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339957/rss">
      <title>NetworkManager and ConnMan (Dan Williams' Blog)</title>
      <link>http://lwn.net/Articles/339957/rss</link>
      <dc:date>2009-07-04T05:55:28+00:00</dc:date>
      <dc:creator>jmm82</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
You created a throw away program that fits the needs of ONE Linux user, targeted at ONE specific piece of hardware.  Now take that program you wrote and make it fulfill the needs of every single Linux user, with every possible piece of hardware, and wanting to do everything possible inside the Linux kernel with their network, using one application and then maybe you have done something noteworthy.&lt;br&gt;
&lt;p&gt;
Currently, this application does not exist and it probably never completely will.&lt;br&gt;
&lt;p&gt;
My point being NM may not work right out of the box on every computer, but it works on most computers rather well, which is somewhat of an accomplishment in itself.  Dan William's does an outstanding job of fixing bugs that are reported to him and if you joined the network manager mailing list and took the time to post your debug logs, I am sure you would find that either a. your bug has already been fixed upstream or b. someone on the list would help to fix it.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339956/rss">
      <title>Stallman warns about C# and Mono dependence</title>
      <link>http://lwn.net/Articles/339956/rss</link>
      <dc:date>2009-07-04T05:30:34+00:00</dc:date>
      <dc:creator>ncm</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Bzzt, false.  Independent invention is no defense against patent infringement.  Reading the patent and then continuing to distribute infringing code counts as willful violation, and threat of treble damages.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339955/rss">
      <title>Featherstich</title>
      <link>http://lwn.net/Articles/339955/rss</link>
      <dc:date>2009-07-04T05:16:04+00:00</dc:date>
      <dc:creator>ewen</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Yes, I'd be keen to see an article on Featherstich.  The article on soft updates was good to see here too; I'd read the original paper on soft updates and admired the approach taken even though it seemed to have a &quot;Level of Difficulty == Superhuman&quot;.  But there are many problems in computer science like that (write a modern operating system in assembly language, anyone?), for which the computer science answer is another layer of abstraction (and tools to translate back to the lower levels).  It feels like that's what we need here too: a way to express the dependency graph of all the operations such that both the code to do it, and the code to track the order in which things hit disk, is auto-generated.&lt;br&gt;
&lt;p&gt;
Ewen&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339954/rss">
      <title>Resource hogs</title>
      <link>http://lwn.net/Articles/339954/rss</link>
      <dc:date>2009-07-04T05:14:20+00:00</dc:date>
      <dc:creator>ncm</dc:creator>
      <description>
      People have been talking about stuff like this for going on &lt;i&gt;fifty years&lt;/i&gt;.  If it worked, it would be everywhere by now.  Various such tricks have been implemented here and there. The code washes away, every time, and takes the tricks with it.  Nobody has ever implemented many of the tricks in one place.  You never get real-time, incremental, compacting, generational, thread-safe, multi-CPU cache-efficient GC all in one place in a runtime you actually get to use.  Many potentially helpful techniques are incompatible with calling essential C libraries, so they'll never show up in a JVM or CLI.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339953/rss">
      <title>Stable kernels 2.6.30.1, 2.6.29.6, and 2.6.27.26</title>
      <link>http://lwn.net/Articles/339953/rss</link>
      <dc:date>2009-07-04T04:35:09+00:00</dc:date>
      <dc:creator>PlaguedByPenguins</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
&lt;font class=&quot;QuotedText&quot;&gt;&amp;gt;Something don't sound quite right. The -stable team once set out to provide stable issues for *two* releases. That would be 2.6.29 and 2.6.30 at the moment. And now, they are stopping the 2.6.29 one already? Hummm!&lt;/font&gt;&lt;br&gt;
&lt;p&gt;
looks to me like latest and 2.6.27 are the two they are supporting.&lt;br&gt;
presumably 2.6.27 is important because it's the basis for RHEL6 &amp;amp; SLES11.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339952/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339952/rss</link>
      <dc:date>2009-07-04T03:30:09+00:00</dc:date>
      <dc:creator>giraffedata</dc:creator>
      <description>
      Sure, but popularity is irrelevant to the point I'm making.  In fact, I mentioned in my first post that &quot;functionality&quot; is widely used this way - it's why I thought it was worth mentioning.  &quot;Dependency&quot; is quite a bit more popular than &quot;dependence&quot; in computer science discussions, but still wrong.  Other phrasings that are in majority use but wrong: IDE to mean ATA, DB-9 to mean DE-9, RJ45 to mean the 8 position modular connector we use with Ethernet.  &quot;Could care less&quot; to mean couldn't care less, gridlock to mean slow traffic, exponential growth to mean fast growth, steep learning curve to mean shallow learning curve.

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339951/rss">
      <title>Tiemann: Open Source Incentives</title>
      <link>http://lwn.net/Articles/339951/rss</link>
      <dc:date>2009-07-04T02:53:01+00:00</dc:date>
      <dc:creator>jreiser</dc:creator>
      <description>
      The mere existence of the U.S. &lt;a href=&quot;
http://en.wikipedia.org/wiki/Foreign_Corrupt_Practices_Act&quot;&gt;Foreign Corrupt Practices Act&lt;/a&gt; is a clue that different rules may apply.  The &lt;a href=&quot;http://www.usdoj.gov/criminal/fraud/fcpa/&quot;&gt;statute&lt;/a&gt; itself does not contain the string &quot;lobby&quot;.
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339950/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339950/rss</link>
      <dc:date>2009-07-04T02:48:52+00:00</dc:date>
      <dc:creator>im14u2c</dc:creator>
      <description>
      &lt;P&gt;At the very least, &lt;A HREF=&quot;http://www.google.com/search?q=%22piece+of+functionality%22&quot;&gt;&quot;piece of functionality&quot;&lt;/A&gt; has nearly 100k hits on Google, generally referring individual features of a product or device.  In contrast, &lt;A HREF=&quot;http://www.google.com/search?q=%22piece+of+function%22&quot;&gt;&quot;piece of function&quot;&lt;/A&gt; only gets 14,500, and most of those that I looked at are phrases where &quot;function&quot; modifies something else--ie. &quot;piece of function &lt;I&gt;noun&lt;/I&gt;&quot;.&lt;/P&gt;
&lt;P&gt;*shrug*&lt;/P&gt;
      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339949/rss">
      <title>Soft updates, hard problems</title>
      <link>http://lwn.net/Articles/339949/rss</link>
      <dc:date>2009-07-04T02:39:57+00:00</dc:date>
      <dc:creator>dlang</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
definantly yes.&lt;br&gt;
&lt;p&gt;
it would either doucment a tool that could be used by kernel developers, or give us answers for the (now inevitable) swarm of questions about why don't the kernel devs just use featherstitch and implement soft updates ;-)&lt;br&gt;
&lt;p&gt;
is there a filesystem simple enough to show examples of it's analysis? (I'm thinking either ext2 of ext4 without journling as possibilities)&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339948/rss">
      <title>dependencies</title>
      <link>http://lwn.net/Articles/339948/rss</link>
      <dc:date>2009-07-04T02:33:15+00:00</dc:date>
      <dc:creator>giraffedata</dc:creator>
      <description>
      Hmm.  &quot;Too much function&quot; sounds perfectly fine to me, but maybe it's just something I made up.  I see the dictionary doesn't mention anything close to that meaning.  It also doesn't cover other uses I'm sure I've heard around the engineering world, like &quot;we're testing function this week and performance next week,&quot; or &quot;is the patch just for maintainability, or does it affect function?&quot;
&lt;p&gt;
And with &quot;form follows function,&quot; I don't see how an implied &quot;its&quot; fits in there.  I think an architect might well say, &quot;I used to think just about form, but now I spend most of my time worrying about function.&quot;
&lt;p&gt;
But even if a certain feature of a device can't be considered a &quot;piece of function,&quot; I can't see how it could be considered a &quot;piece of functionality&quot; either.

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339947/rss">
      <title>Resource hogs</title>
      <link>http://lwn.net/Articles/339947/rss</link>
      <dc:date>2009-07-04T01:32:09+00:00</dc:date>
      <dc:creator>alankila</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Perhaps the GC is not explained well enough, if it leads to people assuming that they can just forget about disposing resources in a timely fashion.&lt;br&gt;
&lt;p&gt;
I have actually seen this antipattern in my old working place: a web application that didn't quite work and they had to restart the program whenever customers reported that it was stuck again. The application was ported from Perl with people assuming similar semantics (predictable destructor calls at end of block), and none of the database handles were closed properly, leaving read locks behind.&lt;br&gt;
&lt;p&gt;
The locality issue is harder to tackle in any meaningful way. In principle the GC could be informed about desired locality patterns by some kind of sampling algorithm that records recently used objects, and then moves them as close to each other as possible during the next major GC cycle. I don't think anyone does this in practice, though.&lt;br&gt;
&lt;p&gt;
Still, VM people are fond to argue that having a VM abstraction allows doing just this kind of weird optimizing like moving objects around in memory in response to runtime demands. Perhaps JVM could beat C one day if all imaginable tricks were pulled...&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339945/rss">
      <title>Tiemann: Open Source Incentives</title>
      <link>http://lwn.net/Articles/339945/rss</link>
      <dc:date>2009-07-04T01:17:17+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
First, I'm not sure whether the US government gives a fig about a 501(c) trying to lobby *other* governments. Second, &quot;lobbying&quot; refers (as per that glossary) specifically to influencing legislation, and much of what happens in schools etc. is not specifically determined by legislation.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339946/rss">
      <title>Stable kernels 2.6.30.1, 2.6.29.6, and 2.6.27.26</title>
      <link>http://lwn.net/Articles/339946/rss</link>
      <dc:date>2009-07-04T01:16:18+00:00</dc:date>
      <dc:creator>jengelh</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Something don't sound quite right. The -stable team once set out to provide stable issues for *two* releases. That would be 2.6.29 and 2.6.30 at the moment. And now, they are stopping the 2.6.29 one already? Hummm!&lt;br&gt;
&lt;p&gt;
It's fine with me, I do not mind going back to -stabling just one release — after all, it's a free service. But other users may be going to harrumph harder.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339942/rss">
      <title>I'm calling you on &quot;Caller Locks&quot;</title>
      <link>http://lwn.net/Articles/339942/rss</link>
      <dc:date>2009-07-04T00:51:20+00:00</dc:date>
      <dc:creator>neilbrown</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
OK - I concede.  My bluff is called and I don't have a rabbit to pull out of a hat to back up my hasty statements.&lt;br&gt;
&lt;p&gt;
I do have a vague memory of a well known kernel developer - with 4 initials - saying something about a preference for caller-locks, but I cannot find it and so am left without the protection of &quot;proof by authority&quot;.&lt;br&gt;
&lt;p&gt;
I would still maintain that in the context of generic data structures provided by a library, the evidence within the kernel is in favour of caller-locking rather than callee locking, but is an unjustifiable step to claim that it is, therefore, preferred.&lt;br&gt;
&lt;p&gt;
In a different context, there is plenty of evidence that callee locking is preferred.  There has recently been more work towards removing the BKL, and some of this has involved pushing the locking down from caller to callee, and actually changing a locking style seems to suggest a strong preference.&lt;br&gt;
&lt;p&gt;
This is quite a different context though.  The callee is not a distinct library routine that will be called from a number of places (each with different SMP-safety requirements), but is one of a number of per-device implementations of a common interface (e.g. ioctl).  So instead of one function called from lots of places, you have lots of functions called from one place.  Having callee locking in this case is good as it provides the callee with more control of locking, including the choice not to lock at all.&lt;br&gt;
&lt;p&gt;
I think your example concerning multi-core devices lines up with the second scenario, and they both fit under the &quot;midlayer mistake&quot; pattern to some extent.&lt;br&gt;
&lt;p&gt;
Under that pattern, the subsystem should be given as much control as possible, not having anything imposed on it by any midlayer - and in particular not having any locking imposed on it.&lt;br&gt;
&lt;p&gt;
So maybe what I really wanted to say is that for a library interface it is usually best to choose caller-locking, while for a subsystem interface, it is usually best to choose callee-locking.  At least, that is what 10 minutes of thought leads me to.  I wonder if it is possible to come up with a strong definition of the difference between a &quot;library&quot; interface and a &quot;subsystem&quot; interface...&lt;br&gt;
&lt;p&gt;
Thanks for your challenge, I really appreciate it!&lt;br&gt;
&lt;p&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339943/rss">
      <title>Soft updates, hard problems</title>
      <link>http://lwn.net/Articles/339943/rss</link>
      <dc:date>2009-07-04T00:41:20+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
They got a bunch of the important stuff right, too... the &quot;patchgroup&quot; handles are basically fd's, they correctly prevent circular dependencies, they do the Right Thing for all different modes of fs operation (soft-updates: barriers use soft-update magic, full journaling: barriers optimize out, metadata journaling: barriers magically upgrade only those operations with dependencies to use full journaling), and check out this example from the paper:&lt;br&gt;
&lt;p&gt;
&lt;font class=&quot;QuotedText&quot;&gt;&amp;gt; The following command line would ensure that 'in' is not removed until all changes in the preceding sort have committed to disk: $ depend 'sort &amp;lt; in &amp;gt; out' 'rm in'&lt;/font&gt;&lt;br&gt;
&lt;p&gt;
(Of course, really you want shell support, so you can just say 'sort &amp;lt;in &amp;gt;out &amp;amp;&amp;amp;! rm in' or whatever.)&lt;br&gt;
&lt;p&gt;
Aw, man, now I'm all excited about a research project from 2007 that will never go anywhere in real life :-(.&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339941/rss">
      <title>Soft updates, hard problems</title>
      <link>http://lwn.net/Articles/339941/rss</link>
      <dc:date>2009-07-04T00:20:51+00:00</dc:date>
      <dc:creator>njs</dc:creator>
      <description>
      &lt;div class=&quot;FormattedComment&quot;&gt;
Huh, and what's *really* cool about it is that they apparently export a userspace API for expressing IO write barriers. So with the featherstitch patch, you really can say things like &quot;write these bytes to that file, and then rename it, but don't let the rename hit the disk until after the write has completed&quot;, except with arbitrarily complex dependency structures (!).&lt;br&gt;
&lt;p&gt;
I don't really care whether I'm using soft-updates or journalling, just so long as my disk is safe and things are reasonably fast, but real write barriers could totally change the performance profile of higher level apps. (Except for ACID databases, of course; I guess that's why historically no-one has cared about write barriers, because the only important high-level storage service was ACID databases.)&lt;br&gt;
&lt;/div&gt;

      
      </description>
    </item>
    <item rdf:about="http://lwn.net/Articles/339940/rss">
      <title>Stable kernels 2.6.30.1, 2.6.29.6, and 2.6.27.26</title>
      <link>http://lwn.net/Articles/339940/rss</link>
      <dc:date>2009-07-04T00:06:45+00:00</dc:date>
      <dc:creator>pr1268</dc:creator>
      <description>
      &lt;p style=&quot;border-style: none none none solid;
   border-color: rgb(51, 51, 255);
   border-width: 2px;
   padding: 0.2em 1em;
   color: darkred;
   max-width: 60em;
   margin-top: 1em;
   margin-left: 0.5em;&quot;&gt;This is the last release of the 2.6.29 kernel series&lt;/p&gt;

&lt;p&gt;You mean, no more &lt;a title=&quot;Kernel gets a new logo&quot; href=&quot;http://lwn.net/Articles/323966/&quot;&gt;Tuz&lt;/a&gt;?  Awww, darn.&lt;/p&gt;
      
      </description>
    </item>
</rdf:RDF>
