<?xml version="1.0"?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://www.kernelplanet.org/">
	<title>Kernel Planet</title>
	<link>http://www.kernelplanet.org/</link>
	<description>Kernel Planet - http://www.kernelplanet.org/</description>

	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://james-morris.livejournal.com/32669.html" />
			<rdf:li rdf:resource="http://airlied.livejournal.com/61658.html" />
			<rdf:li rdf:resource="http://surriel.com/14 at http://surriel.com" />
			<rdf:li rdf:resource="http://laforge.gnumonks.org/weblog/2008/07/24#20080724-oscon-award" />
			<rdf:li rdf:resource="http://laforge.gnumonks.org/weblog/2008/07/24#20080724-via_opensource_liaison" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_23" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16880836.post-8935740142036253553" />
			<rdf:li rdf:resource="http://james-morris.livejournal.com/32381.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/fs/2008_07_22" />
			<rdf:li rdf:resource="http://valhenson.livejournal.com/20439.html" />
			<rdf:li rdf:resource="http://virtuousgeek.org/blog/28@http://virtuousgeek.org/blog/" />
			<rdf:li rdf:resource="http://ozlabs.org/~rusty/index.cgi/2008/07/22#2008-07-21" />
			<rdf:li rdf:resource="http://laforge.gnumonks.org/weblog/2008/07/22#20080722-ols" />
			<rdf:li rdf:resource="http://strdup.livejournal.com/34596.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//life/2008_07_21" />
			<rdf:li rdf:resource="http://mjg59.livejournal.com/94420.html" />
			<rdf:li rdf:resource="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/21#wikipedia" />
			<rdf:li rdf:resource="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/21#netconf2008" />
			<rdf:li rdf:resource="http://airlied.livejournal.com/61213.html" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16880836.post-2016519952255520468" />
			<rdf:li rdf:resource="http://ozlabs.org/~rusty/index.cgi/2008/07/20#2008-07-15" />
			<rdf:li rdf:resource="http://james-morris.livejournal.com/32158.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_20_1" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_20" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_19" />
			<rdf:li rdf:resource="http://strdup.livejournal.com/34359.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_18" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//life/2008_07_18" />
			<rdf:li rdf:resource="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/18#net_tx_merged" />
			<rdf:li rdf:resource="http://laforge.gnumonks.org/weblog/2008/07/18#20080718-nxp_has_list" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//other/2008_07_17" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//life/2008_07_17" />
			<rdf:li rdf:resource="http://www.zabbo.net/post/propose-a-talk-for-lpc-come-enjoy-portland/" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//other/2008_07_16" />
			<rdf:li rdf:resource="http://zaitcev.livejournal.com/171166.html" />
			<rdf:li rdf:resource="http://james-morris.livejournal.com/31766.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_15" />
			<rdf:li rdf:resource="http://james-morris.livejournal.com/31714.html" />
			<rdf:li rdf:resource="http://virtuousgeek.org/blog/27@http://virtuousgeek.org/blog/" />
			<rdf:li rdf:resource="http://mjg59.livejournal.com/94084.html" />
			<rdf:li rdf:resource="http://ozlabs.org/~rusty/index.cgi/2008/07/14#2008-07-14" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//life/2008_07_15" />
			<rdf:li rdf:resource="http://kernelslacker.livejournal.com/127218.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//life/2008_07_14" />
			<rdf:li rdf:resource="http://pavelmachek.livejournal.com/60664.html" />
			<rdf:li rdf:resource="http://mjg59.livejournal.com/93770.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/math/bezier/2008_07_13" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//life/2008_07_12" />
			<rdf:li rdf:resource="http://laforge.gnumonks.org/weblog/2008/07/12#20080712-nxp_sues_mifare_researchers" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/captcha/2008_07_11" />
			<rdf:li rdf:resource="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/10#net_tx_part_deux" />
			<rdf:li rdf:resource="http://virtuousgeek.org/blog/26@http://virtuousgeek.org/blog/" />
			<rdf:li rdf:resource="http://zaitcev.livejournal.com/170877.html" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/captcha/2008_07_09" />
			<rdf:li rdf:resource="http://james-morris.livejournal.com/31240.html" />
			<rdf:li rdf:resource="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/09#netdev_tx_peeling" />
			<rdf:li rdf:resource="http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_08" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-16880836.post-3174205484968509769" />
			<rdf:li rdf:resource="http://pavelmachek.livejournal.com/60237.html" />
			<rdf:li rdf:resource="http://valhenson.livejournal.com/20160.html" />
		</rdf:Seq>
	</items>
</channel>

<item rdf:about="http://james-morris.livejournal.com/32669.html">
	<title>James Morris: OLS Slides + Macbook fail</title>
	<link>http://james-morris.livejournal.com/32669.html</link>
	<content:encoded>&lt;a href=&quot;http://namei.org/presentations/ols-2008-selinux-talk.pdf&quot;&gt;Here are the slides&lt;/a&gt; from my OLS talk, although &lt;a href=&quot;http://namei.org/ols-2008-selinux-paper.pdf&quot;&gt;the paper&lt;/a&gt; is way more useful.&lt;br /&gt;&lt;br /&gt;For those who attended Dan Walsh's talk on confining the user, you can find the slides &lt;a href=&quot;http://selinuxproject.org/files/2008_selinux_developer_summit/ols/2008_ols_dwalsh_confining_the_user.pdf&quot;&gt;here&lt;/a&gt;.  Quite a few people expressed interest in them during the talk, and Dan sent them to me for some reason, so there you go.&lt;br /&gt;&lt;br /&gt;***&lt;br /&gt;&lt;br /&gt;Btw, my MacBook seems to never work with projectors (thanks to Paul Moore for lending me his laptop for the talk).  It's relatively recent and has the following graphics stuff:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)&lt;br /&gt;00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;Nothing seems to work: rebooting with the cable attached (VGA text mode works, but not X), exhaustive messing about with xrandr, hitting the laptop with a hammer etc.  Does anyone know something else I can try?</content:encoded>
	<dc:date>2008-07-25T09:59:24+00:00</dc:date>
</item>
<item rdf:about="http://airlied.livejournal.com/61658.html">
	<title>Dave Airlie: gdbing the X server with xkb ... finally..</title>
	<link>http://airlied.livejournal.com/61658.html</link>
	<content:encoded>So for a long time if you ran X inside gdb, gdb would die badly when X forked xkbcomp. X hackers have worked around this by either running -kb or attaching gdb after X is started for many years.&lt;br /&gt;&lt;br /&gt;I finally found it by accident this morning, I was working on some modesetting things, and had been gdb'ing the  X server fine, when suddenly it started doing the wierd hang, I realised I'd just enabled direct rendering code and initialised the lock.&lt;br /&gt;&lt;br /&gt;Now the kernel has this really really really really dirty hack for the DRM that I'm not 100% sure we really need anymore. The original drm designers decided that if a DRI client held the lock then if it died it might crash the GPU, so they got this special signal blocking code into the Linux kernel which we use to block certains signals across lock hold. When the lock drops, the process gets the signal. Of course one of these signals was one gdb was using to stop the X server and the X server always holds the lock when running so it got confused when an blockable signals somehow managed to block itself :)&lt;br /&gt;&lt;br /&gt;Now the fixes for this are &lt;br /&gt;&lt;br /&gt;a) kill the notifier stuff, I'm not sure it ever mattered, I at least could kill it for modesetting drivers as we have a lot more&lt;br /&gt;control over the GPU from the kernel.&lt;br /&gt;b) Have the X server drop the DRI lock around certain operations like xkb execing xkbcomp etc.. this seems worse.&lt;br /&gt;&lt;br /&gt;What I've done for now in drm git is just not set the notifier up for the &quot;master&quot; process, i.e. the X server. This will at least allow people to debug their X servers with xkb.</content:encoded>
	<dc:date>2008-07-25T03:42:33+00:00</dc:date>
</item>
<item rdf:about="http://surriel.com/14 at http://surriel.com">
	<title>Rik van Riel: Offshore drilling?  Alternative energy?  Why choose?</title>
	<link>http://surriel.com/node/14</link>
	<content:encoded>&lt;p&gt;Politics here in the US seems divided.  Some politicians want to allow offshore drilling, while other politicians want to invest taxpayer money in alternative energy research. Personally, I believe alternative energy could be a while off from being cost effective for everything and I sure don't trust politicians to spend the money well.&lt;/p&gt;
&lt;p&gt;On the other hand, offshore drilling will need to happen under some strict conditions to make sure the environment is well protected. Since conditions already need to be put in place, and considered by the oil companies when deciding whether or drilling for offshore oil is worth it, why not add in one more condition: for every barrel of oil recovered, invest $1 (or 1% of the price of a barrel of oil, whichever is less) in alternative energy research and production.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://surriel.com/node/14&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-24T21:59:17+00:00</dc:date>
</item>
<item rdf:about="http://laforge.gnumonks.org/weblog/2008/07/24#20080724-oscon-award">
	<title>Harald Welte: Receiving the 2008 Open Source Award</title>
	<link>http://laforge.gnumonks.org/weblog/2008/07/24#20080724-oscon-award</link>
	<content:encoded>&lt;p&gt;
According to reports &lt;a href=&quot;http://www.softwarefreedom.org/blog/2008/jul/22/welte-award/&quot;&gt;here&lt;/a&gt;
and &lt;a href=&quot;http://google-opensource.blogspot.com/2008/07/and-winners-of-2008-google-oreilly-open.html&quot;&gt;here&lt;/a&gt;
I had the honor of being the recipient of one of the the &lt;a href=&quot;http://code.google.com/opensource/osa-hall-of-fame.html&quot;&gt;2008 Google+O'Reilly Open Source Awards&lt;/a&gt; entitled &lt;i&gt;Defender of Rights&lt;/i&gt;&quot;, presented by Google and O'Reilly.
&lt;/p&gt;
&lt;p&gt;
I'm obviously very happy to see that my work has been recognized this way.
Following the FSF Award in March, this is definitely a big honor.  Did anyone
else receive both awards in the same year so far? ;)
&lt;/p&gt;
&lt;p&gt;
Thanks to the committee for the trust they put in my work.  I'd also like to
use this opportunity to thank again my lawyer Dr. Till Jaeger and his law firm
&lt;a href=&quot;http://www.jbb.de/&quot;&gt;JBB&lt;/a&gt;, as well as Armijn Hemel, who has been
running the day-to-day gpl-violations.org operations for quite some time now.
&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-24T02:00:00+00:00</dc:date>
</item>
<item rdf:about="http://laforge.gnumonks.org/weblog/2008/07/24#20080724-via_opensource_liaison">
	<title>Harald Welte: Becoming VIA Open Source Liaison</title>
	<link>http://laforge.gnumonks.org/weblog/2008/07/24#20080724-via_opensource_liaison</link>
	<content:encoded>&lt;p&gt;
Today, &lt;a href=&quot;http://www.via.com.tw/&quot;&gt;VIA&lt;/a&gt; made public what I've already
been doing behind the scenes for some time: &lt;a href=&quot;http://www.phoronix.com/forums/showthread.php?p=39996&quot;&gt;I've been contracted and
appointed to be VIA's Open Source Liaison.&lt;/a&gt;  As first part of the process,
they've released the Padlock programming guide and the CX700/VX700 integrated
north+southbridge manuals on &lt;a href=&quot;http://linux.via.com.tw/&quot;&gt;linux.via.com.tw&lt;/a&gt;.
&lt;p&gt;
&lt;/p&gt;
This basically means that I'll be helping VIA with improving their strategy
for Open Source support, such as Open Source driver support, merging those
drivers into the respective mainline projects as well as working on publicly
available reference documentation for their hardware.
&lt;/p&gt;
&lt;p&gt;
This is an incredible chance to contribute my part to help a major manufacturer
of CPU, Chipset, Ethernet, WiFi, Card Reader and PC Graphics components
understand what it takes to interact properly with the Free Software community.
This is a big learning experience for VIA, and a teaching experience on my
part, of course.  I feel very happy to be able to work in such a key position,
and to be able to put all my knowledge about Linux driver development, the
development process, the FOSS community values/ethics/practises as well as
licensing related knowledge at work. 
&lt;/p&gt;
&lt;p&gt;
VIA is truly interested to learn, and they're already doing a lot internally
which you might not have been aware about.  I am well aware of many of the
historic problems between VIA and the community, related to binary only
drivers, not cooperating with mainline development, suboptimal press
announcements with little action, etc.
&lt;/p&gt;
&lt;p&gt;
I'm very confident that together we can move beyond this and take a fresh start
for much better FOSS support of VIA products.  Of course the change will not
come overnight.  It's a process, and it involves many groups in a large
company, each group with their own management, R&amp;amp;D and so on.  So please bear
with us, and don't expect all drivers to be finished in mainline quality
tomorrow.
&lt;/p&gt;
&lt;p&gt;
If you are a Free Software developer and you have some comment/feedback/demand
to via, please feel free to contact me (preferably at &lt;a href=&quot;mailto:HaraldWelte@viatech.com&quot;&gt;HaraldWelte@viatech.com&lt;/a&gt;.  I will try
my best to follow-up with all those comments.  If you are missing some piece of
documentation for hardware or have some other issue, please let me know.  I do
care, and I will take up the issue with VIA's management.
&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-24T02:00:00+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_23">
	<title>Evgeniy Polyakov: Manager's thoughts: unused extensibility and used de-facto standards.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_23</link>
	<content:encoded>After some before-sleep-reading (this time DNS RFC specifications) I found,
that DNS protocol is so much extensible, that is can perfectly cover not only its area,
but also help in really lots of close problems. It already has (though completely
unused) many interesting RRs and types, which have nothing to deal with DNS
(like NULL RR, which allows to transmit binary data or TXT RR, which also is not
related to DNS area). And the most popular RRs are A, PTR, SOA CNAME and MX. That's all
from about 20 others. The same applies to (q)type and class (I first time read
about Hesiod class for example). And DNS allows to introduce own classes, types and resource
records.&lt;br /&gt;
It is just not used, but we could create distributed DNS system with new types.
It would be really simple (and actually it can be done even without new DNS extensions).&lt;br /&gt;
But it is not actually needed, since people are used to have DNS just like it is.&lt;br /&gt;&lt;br /&gt;

Another example is internet video. There is de-facto Adobe standard, no matter what W3C will
put into its new standard, everyone will continue to use existing one. Just because it works
ok. Not excellent or perfect or whatever, it just works how we used to know.&lt;br /&gt;&lt;br /&gt;

And there are lots and lots similar examples.&lt;br /&gt;&lt;br /&gt;

People are so much intert in this questions (although I think in most areas, just because
it is convenient not to do something better, when existing solution just works, even
if not perfectly and even if not good), that no one will ever bother to change something
dramatically, because it will not only require huge amount of money, but also changes in the
way people used to think about given area, which is likely even more complex (and money-hungry)
problem.&lt;br /&gt;&lt;br /&gt;

All this talk is about simple thing, I just opened for myself: when you created something
completely new, even if it is not the best solution for given problem, if you will start
pushing it to wide audience to be used, then you are able to get all 'the market'. That's why
when you have something new
on the market, where most of the users already used to work with one or another solution,
(and even if your project is potentially very good and definitely much better than existing solutions)
then there will not be any major gain, only single links to the completely new users.&lt;br /&gt;
This is probably told to the first year MBA students, but I was quite excited and dissapointed
by this issue: the first new idea, when properly presented even if not the best solution for given
problem, can get all the users, after which they will not switch to the new one just because they
used to have it this way.

Comments (1)</content:encoded>
	<dc:date>2008-07-23T21:00:20+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-16880836.post-8935740142036253553">
	<title>Jaya Kumar: Manmohan's Mischief</title>
	<link>http://highlycomposite2.blogspot.com/2008/07/manmohans-mischief.html</link>
	<content:encoded>Its sometimes quite sad to watch the comedy that is our politics. The following quip though, from the Prime Minister had me in stitches:&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&quot;he has made at least three attempts to topple our government. But on each occasion his astrologers have misled him. This pattern, I am sure, will be repeated today. At his ripe old age, I do not expect Shri Advani to change his thinking. But for his sake and India's sake, I urge him at least to change his astrologers so that he gets more accurate predictions of things to come&quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;via &lt;a href=&quot;http://newstrackindia.com/newsdetails/7911&quot;&gt;Newstrack&lt;/a&gt;.</content:encoded>
	<dc:date>2008-07-23T19:19:35+00:00</dc:date>
</item>
<item rdf:about="http://james-morris.livejournal.com/32381.html">
	<title>James Morris: Notes from the SELinux Developer Summit 2008</title>
	<link>http://james-morris.livejournal.com/32381.html</link>
	<content:encoded>The &lt;a href=&quot;http://selinuxproject.org/page/Developer_Summit_2008&quot;&gt;SELinux Developer Summit&lt;/a&gt; went pretty well yesterday.  It was a long day: 10 hours of talks and discussions with about forty developers attending.&lt;br /&gt;&lt;br /&gt;I've just uploaded slides from the talks, which may be found next to their respective entries in the &lt;a href=&quot;http://selinuxproject.org/page/Developer_Summit_2008/Schedule&quot;&gt;schedule&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Some of the talks I found particularly useful/interesting:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Josh Brindle on &lt;a href=&quot;http://selinuxproject.org/files/2008_selinux_developer_summit/2008_summit_brindle_ubuntu.pdf&quot;&gt;SELinux in Ubuntu&lt;/a&gt;.  They're making good progress, although the idea of SELinux is to introduce ubiquitous, generalized MAC security, so he is advocating they &lt;a href=&quot;https://wiki.ubuntu.com/SELinuxByDefault&quot;&gt;enable SELinux by default&lt;/a&gt; as is done in Fedora, and as you typically do with other OS security layers.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;John Weeks from Sun talking about &lt;a href=&quot;http://selinuxproject.org/files/2008_selinux_developer_summit/2008_summit_weeks.pdf&quot;&gt;OpenSolaris FMAC&lt;/a&gt; (introducing Flask/TE to their OS).  It was interesting to see a dtrace graph of the AVC operating&amp;mdash;a kernel mechanism for which I've developed an abstract mental model but never &quot;seen&quot;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dan Walsh Talking about his ongoing work in utilizing SELinux to create practical security features for everyday users.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href=&quot;http://www.flickr.com/photos/x_jamesmorris/2693917910/&quot; title=&quot;xspy by x_jamesmorris, on Flickr&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3258/2693917910_725081a4ed.jpg&quot; width=&quot;500&quot; height=&quot;133&quot; alt=&quot;xspy&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;The above is from a demonstration where nsplugin (the framework for Firefox plugins, i.e. where flash etc. is run) is being sandboxed by SELinux, so that a flawed or malicious plugin cannot be used to snoop your keystrokes.  In this case, a simulated (and trivial) exploit was blocked from capturing internet banking passwords by SELinux.&lt;br /&gt;&lt;br /&gt;Btw, Dan will be demonstrating this &lt;b&gt;today&lt;/b&gt; during his OLS talk on &lt;a href=&quot;http://www.linuxsymposium.org/2008/view_abstract.php?content_key=7&quot;&gt;Confining the User&lt;/a&gt;.  There's a lot of really cool stuff coming in this area &amp;amp; the talk should be well worth attending.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Karl MacMillan on &lt;a href=&quot;http://selinuxproject.org/files/2008_selinux_developer_summit/2008_summit_macmillan_policy.pdf&quot;&gt;alternatives to comprehensive least-privilege&lt;/a&gt;, where he described some ideas and plans for simplifying the way SELinux policy is deployed for general purpose use.  He has some really promising ideas on reducing the granularity of the policy while still maintaining strong security.  This can lead to simpler and smaller policy, which is important for all kinds of users.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Peter White talked about two higher-level languages being developed to express SELinux policy, &lt;a href=&quot;http://selinuxproject.org/files/2008_selinux_developer_summit/2008_summit_white.pdf&quot;&gt;Lobster and Shrimp&lt;/a&gt;, which will introduce features such as type checking and object orientation to the policy language area.  Peter is a Haskell guy, and it all looks very promising.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;***&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/x_jamesmorris/2693101526/&quot; title=&quot;Yuichi Nakamura by x_jamesmorris, on Flickr&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3172/2693101526_83144a3550.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; alt=&quot;Yuichi Nakamura&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;Yuichi Nakamura talking about embedded systems and SELinux.&lt;/small&gt;&lt;/center&gt;&lt;br /&gt;The format worked reasonably well&amp;mdash;a series of short talks and discussions&amp;mdash;although it would have been nicer to have a more relaxed schedule and more time for deep discussions on specific issues.  There's already been discussion of what to do next year, and we may move it to a two-day event.  Certainly, I think we'll want to have it again in conjunction with a major developer conference, which makes it a good environment for collaboration with the wider FOSS community.&lt;br /&gt;&lt;br /&gt;For those that couldn't make it this year, I believe notes were taken and will be sent out to the mailing list.  There are more photos &lt;a href=&quot;http://flickr.com/photos/x_jamesmorris/sets/72157606315074621/&quot;&gt;here&lt;/a&gt;.</content:encoded>
	<dc:date>2008-07-23T13:13:50+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/fs/2008_07_22">
	<title>Evgeniy Polyakov: POHMELFS distributed facilities design notes.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/fs/2008_07_22</link>
	<content:encoded>Since I'm quite busy with VISA/hotel/tickets and overall preparations
for Kernel Summit, there is no development progress, but it should be
completed very soon I think, and so I will write here some design notes
I have in mind about how POHMELFS server will be designed. It is not a
finished draft, but somewhat a rough direction paint.&lt;br /&gt;&lt;br /&gt;

POHMELFS will utilize distributed hash table approach, i.e. storage
will support ability to get an obect based on some key attached to it.
In a local filessytem we already work with hash table: directory
lookup is no more than lookup for inode object based on its name, i.e.
lookup for the value based on attached key. And although key in this
case is not created based on object itself (like hash of the content or
some other function), it still is a (turn on your imagination here) table lookup.&lt;br /&gt;&lt;br /&gt;

Cloud of POHMELFS servers will utilize similar approach. Consider a single
server in the system. When it joins the cloud (I ommit this proccess for now,
and will describe it below) first time, it is empty, so it gets some unique
id, either via administrator steps or randomly, or it just waits in the queue
to be filled with new data, so it will get id at that time, it does not matter
for now how it gets its id, but this id is propagated to some cloud of its
neighbours (or if it would be a bittorrent or napster to the main server).&lt;br /&gt;
There are two ideas on how to treat this ID: either as a part of the filename,
or as a nameless pointer in the abstract namespace, I will show below that actually
it does not matter.&lt;br /&gt;&lt;br /&gt;

Now, let's check what will happen when user wants to perform some IO on given file.&lt;br /&gt;
Every file access actually happen to inode, stored on disk. In our case it can be stored
somewhere we do not know yet where, so we need to perform a lookup to get address
of the node in cluster which contains our data. In existing schemas like bittorrent
or Lustre there is a server (or small cloud of servers) which contain mapping information
about where this or that object is placed in data cloud, so simple lookup to this server(s)
return needed info. This approach does not scale to really lots of nodes and is failure-prone.&lt;br /&gt;
Instead I consider completely distributed metadata storage. Let's check how system will lookup
the whole path in our case.&lt;br /&gt;&lt;br /&gt;

Each path starts from the root directory, which is '/', which in turn is a id in the global
namespace (or hash from this string or whatever else mapping), so we first need to lookup
a node, which is responsible to content of this directory. Each node contains routes only
to the very limited set neighbour nodes (in various designs this number varys, but idea
lays in the fact, that node, performing lookup, does not know which node contains needed info).
Gnutella system just broadcasted this lookup request to all of its neighbours, so each one
broadcasted it to its neighbours and so on until one of the system replied, that it contains
needed info. Amount of unneded broadcasts killed Gnutella next day after Napster was closed.&lt;br /&gt;
So, this approach does not scale, and instead we need to map needed directory into node address
in a more intelligent way. There are at least two the most appealing design choices: ring-based
structure implemted in CHORD and multidimensional torus implemented in CAN.&lt;br /&gt;
Right now it does not matter, let's assume that we found a node, which has information
about content of the needed directory. When we have that data, we can find next node (or this
info can be cached on 'parent' directory node) and so on until get node, which is resposible for
storing content of the needed object.&lt;br /&gt;&lt;br /&gt;

When new node joins the cloud it connects to one or another known node (provided either in public
service or by administrator) and sends there information about its available space, gets ID
and just waits until some client connects to it and start writing a data.&lt;br /&gt;
When node joins with some content, which was written to it by the system before, or written by
local users bypassing distributed mechanism, node has to tell this information to the node, which
holds parent directory. This information should be stored in each directory it exports, or it
can be provided by administrator, for example this node exports dir '/zbr' which is actually a subdir
of '/home', so node will lookup '/home' directory content owner and update its records, that now
it contains new dir. There is a problem here: what if there is already another node, which also
claims to have dir '/zbr' in '/home'? This can be handled via attached to each object extended attribute,
which will tell us the last modification date, so system can select either the last modified '/zbr'
dir or that node, which contains dir with the biggest number of the same replicas. It can be setup by
administrator.&lt;br /&gt;&lt;br /&gt;

Main advantage of this joining scheme is the fact, that we actually do not need to know content of any
object in the exported directory, we publish only high-level object, which may or may not contain some
inner file or dir. Thus we do not need to hash millions of files in the exported directory and publish
them one by one, we do not need to store information about each inner object,
no need attach full path to each object and so on.&lt;br /&gt;&lt;br /&gt;

When we will decide to split the same object between multiple node, we will need to introduce not only
name based lookup, but also extend it to the offset inside the object. This can be done by introducing
ssytem wide 'block size', so each file is actually set of blocks of given size, so when we found a node,
resposible for storing information about directory, where it is located, this node can also contain
information where each part of the object was stored.&lt;br /&gt;&lt;br /&gt;

Looks quite simple, but... Devil is in the details.&lt;br /&gt;
I obviously missed some bits in the design (and I created it in mind during talk being
under 'impression' of the greece spirit while talking with asm@, who suggested to look
at Kademlia project), like redundancy management of the nodes, splitting of the node content between
multiple nodes and other bits, but it is one of the first drafts, so things can be changed if needed.&lt;br /&gt;&lt;br /&gt;

Stay tuned, I will be very soon back to development process
(DST first :), since paper work for kernel summit travel
seems to reach its end.

Comments (0)</content:encoded>
	<dc:date>2008-07-22T22:00:22+00:00</dc:date>
</item>
<item rdf:about="http://valhenson.livejournal.com/20439.html">
	<title>Val Henson: Working for Red Hat</title>
	<link>http://valhenson.livejournal.com/20439.html</link>
	<content:encoded>As of August 18, I will be Red Hat's newest file systems developer!  I'm working part-time for Ric Wheeler (if you don't know Ric yet, you're missing out).  Possible projects, depending on what is most useful to Red Hat's customers:&lt;br /&gt;&lt;br /&gt;* Merge e2fsck parallelization work.  I wrote this on contract for Ric Wheeler when he was at EMC, but larger economic realities forced the end of this contract before it was quite done.  Ted T'so is the ultimate arbiter, of course, but I think it just needs a little touching-up before it's mergable as a non-default option.  The technique I use, which can be described as active buffer cache management, could replace DIO/AIO for several applications with a little OS support.&lt;br /&gt;&lt;br /&gt;* General ext4 work.  ext4 is very close to shipping, but I hope to be at Red Hat for the final frenzy of touch-ups before Red Hat puts it in a release.&lt;br /&gt;&lt;br /&gt;* Improve btrfs check and repair.  Btrfs already has a rudimentary file system checker, but I'd like to implement incremental online check and repair, my personal holy grail.&lt;br /&gt;&lt;br /&gt;Things I won't be working on:&lt;br /&gt;&lt;br /&gt;* Chunkfs.  Chunkfs is a particular instance of the general repair-driven file system design principles I've been advocating.  I wrote a prototype, both to convince myself that it would work and to give a concrete example for other file systems developers, but the experience convinced me that you really need to build these features in from the very beginning.  If btrfs wasn't on the horizon, the layered file system approach might be worth implementing.  I do need to write up a summary of what I learned working on chunkfs and in particular collect in one place the various measurements I made showing that the idea will work.&lt;br /&gt;&lt;br /&gt;* GFS2, cachefs, NFS, etc.  I'm just not that into network file systems.&lt;br /&gt;&lt;br /&gt;And I have to admit, for all that I thought I was a blas&amp;eacute; and worldly kernel developer, I am a little excited about the idea of working for Red Hat in and of itself.  Back when I was making 6 floppies' worth of drivers so I could install Red Hat, I would have laughed if you'd told me I would actually work for Red Hat someday.&lt;br /&gt;&lt;br /&gt;FAQ:&lt;br /&gt;&lt;br /&gt;Q: I thought you hated having a real job.  Why stop consulting?&lt;br /&gt;&lt;br /&gt;A: Honestly?  The number one reason is that health insurance is impossible to get in the U.S. if you're an independent consultant.  Europeans, Australians, and other residents of sane countries are permitted to feel smug at this point.&lt;br /&gt;&lt;br /&gt;Q: Why part-time?&lt;br /&gt;&lt;br /&gt;A: I want time to work on my writing - science writing, most likely.  Expect more regular articles in LWN.&lt;br /&gt;&lt;br /&gt;Q: But distro work sucks, you're going to hate it.  Packaging, bug fixes, support, etc...&lt;br /&gt;&lt;br /&gt;A: Actually, I was a one-woman distro back in 2001-2002, doing a Yellow Dog-derived distro for a small embedded company.  I liked it, and I did &lt;b&gt;everything&lt;/b&gt; - customer support, building RPMs, burning CDs, and fixing installer bugs, in addition to actually writing kernel code.  I only left because no one there knew more than me about operating systems (and I didn't know very much about operating systems).&lt;br /&gt;&lt;br /&gt;Q: So, would you recommend consulting?&lt;br /&gt;&lt;br /&gt;A: I'd recommend it for paranoid, ambitious, meticulous, compulsive people with a wide variety of interests and the ability to put with a lot of annoying extraneous crap.  It can be pretty awesome - I write this overlooking the ocean in Hawaii - but it's a hell of a lot of work, at least in the beginning.</content:encoded>
	<dc:date>2008-07-22T19:56:21+00:00</dc:date>
</item>
<item rdf:about="http://virtuousgeek.org/blog/28@http://virtuousgeek.org/blog/">
	<title>Jesse Barnes: Waiting for vblank...</title>
	<link>http://virtuousgeek.org/blog/index.php/2008/07/22/waiting_for_vblank</link>
	<content:encoded>&lt;p&gt;Will the vblank-rework branch ever be ready to merge upstream?  With some recent work by Michel and myself, I really hope so.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s a little distressing that such a simple thing could cause so much trouble.  The motivation for reworking vblank in the DRM branch was easy enough:  save CPU power by turning off interrupts when possible.  Not interrupting the CPU lets it sleep deeper and longer, potentially saving quite a bit of power.  Getting rid of the 60 or so vertical blank event interrupts per second when they weren&amp;#8217;t needed seemed like a logical first step, and so vblank-rework was born.&lt;/p&gt;

&lt;p&gt;Being a good citizen in Linux land often means improving whole subsystems rather than stuffing a bunch of fancy features into individual drivers.  Working that way can be harder, but it spreads the benefits wider, and improves Linux as a whole.  So my efforts in the vblank-rework branch targetting the generic DRM vblank code, improving the driver APIs and making sure that all drivers could benefit from the new infrastructure, allowing them to disable interrupts when not needed.  However, that&amp;#8217;s where the &amp;#8220;harder&amp;#8221; part comes in:  every driver needed an update.  At first I thought, &amp;#8220;Hey this is a neat, new set of APIs, surely everyone will want to use them, I&amp;#8217;ll just convert the i915 driver (after some initial work on a radeon based laptop).&quot;.  Unfortunately, the DRM drivers are in dire need of attention, so after several months of waiting I ended up converting all the drivers myself, though only a few like radeon and i915 actually implement the API fully enough to disable interrupts.&lt;/p&gt;

&lt;p&gt;So far, so good.  I figured everything was fine and the shiny new branch was ready, so I merged it into the master DRM branch in preparation for an upstream push.  Then tragedy struck:  Michel&amp;#8217;s sharp eyes and testing discovered a potentially fatal bug.  While many GPUs provide a frame count register we can use to keep the vblank count accurate (necessary since OpenGL extensions expose an absolute count to applications for some reason), they&amp;#8217;re typically only updated at the leading edge of vactive.  This means that your application may wakeup at vactive time instead of vblank time, causing ugly tearing; exactly what you&amp;#8217;d like to avoid!  After a bit of back and forth and a couple of false starts (trying to work around the problem with solutions that turned out to be racy), we decided to go back to using the atomic counter (which is only updated at interrupt time) for wakeups, rather than the hw register, using the latter for keeping the counter accurate across interrupt disable periods.&lt;/p&gt;

&lt;p&gt;Which brings us to last week.  I hacked up the scheme described above and started testing.  As I found and fixed bugs (well actually Michel probably found most of them), I discovered that the API could actually be simplified a bit, and some of the code to compensate for corner cases was no longer necessary, so both the wraparound compensation logic in the pre/post modeset ioctl and the funky accounting we tried to do there could be removed.  The result, I hope, is ready for upstream finally.&lt;/p&gt;

&lt;p&gt;So where does that leave us, API-wise?  Well, on the userland front we have a new ioctl, &lt;code&gt;DRM_IOCTL_MODESET_CTL&lt;/code&gt;, with &lt;code&gt;_DRM_PRE_MODESET&lt;/code&gt; and &lt;code&gt;_DRM_POST_MODESET&lt;/code&gt; arguments.  It should be called with _DRM_PRE_MODESET in userland drivers prior to any activity that resets the hw frame counter (typically mode setting).  When the mode set completes, it should be called again with &lt;code&gt;_DRM_POST_MODESET&lt;/code&gt;.  These calls tell the kernel to account for any lost events so that the vblank count exposed to applications can stay accurate.&lt;/p&gt;

&lt;p&gt;On the driver front, there are a few different calls and callbacks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;drm_vblank_get&lt;/code&gt; - increase the refcount on the vblank counter&lt;/p&gt;
&lt;p&gt;This call just tells the core code that the caller is actively using the vblank counter for something, e.g. scheduled buffer swaps or a blocking vblank wait call.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;drm_vblank_put&lt;/code&gt; - decrease the refcount&lt;/p&gt;
&lt;p&gt;Tell the core you&amp;#8217;re done with the vblank counter.  When the refcount reaches 0, the kernel knows it can disable the interrupt at some point in the future.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;drm_vblank_init&lt;/code&gt; - initialize the core vblank code&lt;/p&gt;
&lt;p&gt;Should be called at driver load time or IRQ init ioctl time to init the core.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;driver.get_vblank_counter&lt;/code&gt; - return the current hw frame count&lt;/p&gt;
&lt;p&gt;Used by the core code to keep the count accurate across interrupt enable/disable periods.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;driver.enable_vblank&lt;/code&gt; - enable vblank interrupts on a given CRTC&lt;/p&gt;
&lt;p&gt;Used by the core to enable interrupts when the refcount increases.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;driver.disable_vblank&lt;/code&gt; - disable vblank interrupts on a given CRTC&lt;/p&gt;
&lt;p&gt;Used by the core to disable interrupts after a timeout period if the refcount is 0.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With a few simple changes, a given DRM driver can support the new scheme to save power.  If you find bugs or have issues with the new APIs, let me know and/or file a bug at bugs.freedesktop.org.&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-22T19:29:11+00:00</dc:date>
</item>
<item rdf:about="http://ozlabs.org/~rusty/index.cgi/2008/07/22#2008-07-21">
	<title>Rusty Russell: WTF?  Wikipedia deletion gone mad...</title>
	<link>http://ozlabs.org/~rusty/index.cgi/2008/07/22#2008-07-21</link>
	<content:encoded>&lt;p&gt;
OK, so &lt;a href=&quot;http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/21#wikipedia&quot;&gt;Dave Miller's pending deletion&lt;/a&gt; I can understand; if you didn't know
how key he was, the article itself lacks references and is lacks detail (compare
it with &lt;a href=&quot;http://en.wikipedia.org/wiki/Andrew Tridgell&quot;&gt;Andrew Tridgell's
page&lt;/a&gt;.  (At least he noticed; when I was deleted last time I didn't know).
&lt;/p&gt;

&lt;p&gt; But then I find out that the article on OLS was deleted back in
February.  Huh?  This is the major Linux conference in the world.
Some would argue that it's a bit faded at the edged these days, but
none of the crop of contenders can genuinely claim that crown.  I know
&lt;a href=&quot;http://en.wikipedia.org/wiki/Linux.conf.au&quot;&gt;conferences don't
generally get pages as sexy&lt;/a&gt; as humans do, but still...  &lt;/p&gt;</content:encoded>
	<dc:date>2008-07-22T13:06:00+00:00</dc:date>
</item>
<item rdf:about="http://laforge.gnumonks.org/weblog/2008/07/22#20080722-ols">
	<title>Harald Welte: Arrived in Canada for OLS again</title>
	<link>http://laforge.gnumonks.org/weblog/2008/07/22#20080722-ols</link>
	<content:encoded>&lt;p&gt;
I've just arrived in Canada for &lt;a href=&quot;http://www.linuxsymposium.org/&quot;&gt;Ottawa
Linux Symposium 2008&lt;/a&gt;.  After my last visit to OLS in 2005, there were two
years of intensive work that prevented me from attending the event.  Last year
I actually had to cancel an already accepted paper submission :(
&lt;/p&gt;
&lt;p&gt;
In Year 01 post OpenMoko, I have time to visit OLS again.  Unfortunately no
company to pay for my travel expenses this time, but well, what can you do.
Due to scheduling issues with a family celebration, I didn't know until very
recently that I would be able to make it this year.  Thus I happily forwarded
the invitation to talk about OpenMoko to Werner.  I was surprised that it's now
actually one of the keynotes.  Looking forward to it :)
&lt;/p&gt;
&lt;p&gt;
There have been many rumors that OLS is not like what it used to be.  Maybe
I'm now in a good position to make up my mind about it, since I've missed two
years and will be able to directly compare my memories from before with the
current event.
&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-22T02:00:00+00:00</dc:date>
</item>
<item rdf:about="http://strdup.livejournal.com/34596.html">
	<title>Andy Grover: MinGW cross-compilation adventure.</title>
	<link>http://strdup.livejournal.com/34596.html</link>
	<content:encoded>I just finished porting a Windows driver (actually 3) to use the MinGW build environment.&lt;br /&gt;&lt;br /&gt;Due to the Windows Device Driver Kit (DDK) being under a somewhat opaque license, we could not get legal clearance to release binaries of our GPLed code compiled with the DDK. This was bad because I, being the open-source kinda guy I am, had based my work on a pretty substantial GPLed codebase. *Surely* the DDK license couldn't be so restrictive to prevent all binaries bsed on GPL source! Well maybe it is and maybe it isn't. When it's not clear, legal says no.&lt;br /&gt;&lt;br /&gt;Not good. It looked like we were going to have to somehow pull out the work I had done and rewrite the rest of the code from scratch to be GPL-free so we could release binaries legally following the DDK's EULA.&lt;br /&gt;&lt;br /&gt;It was in the process of estimating the work involved that I happened to talk to Jamey Sharp at a local Linux beering. We were each talking about our work and it turned out that he was in the same boat as me, a Linux dev who through some strange quirk was working on Windows drivers. But he wasn't using the DDK, he was using MinGW, which is a port of GCC to compile Windows binaries.&lt;br /&gt;&lt;br /&gt;Sometime later he was kind enough to come over and show me his setup and makefile, and sure enough it worked. So, we *could* use the GPLed code if we just distributed DDK-free binaries.&lt;br /&gt;&lt;br /&gt;Once on that path, it still did take me a while to get the driver building. One nice thing about trying to get a different build env going is that you have something that works (although you can't distribute it :)&lt;br /&gt;&lt;br /&gt;I got it compiling by modifying the driver to have function definitions etc. that MinGW lacked. But it wouldn't link. Sigh. I was using functions that were not in MinGW's import libraries, and could not get around this by fudging it in my driver; I had to fix MinGW. This is a big fear of mine every time I use a piece of open-source software -- if your code has a Foo dependency and Foo is broken, you pretty much have to be willing to start hacking Foo if you want it fixed. (Sure you can file a bug, but obviously nobody cares about your bug except you or it would be fixed, right?)&lt;br /&gt;&lt;br /&gt;Once I dived into MinGW (actually w32api) it was straightforward to fix. Many of my changes to get the driver compiling actually belonged in the MinGW header. There were also functions omitted from the import libraries. (Import libs tell the linker how to link to the actual shared libraries that will be present at runtime.) These were defined in .DEF files, and all it needed to know was for each function, how many bytes were its arguments? Easy, once I knew what to do. (Nothing hard, just if one doesn't do this thing regularly, you forget how it all fits together.)&lt;br /&gt;&lt;br /&gt;So for anyone who wants to write Windows kernel code without the DDK, it can be done. Some tips:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Debian/Ubuntu includes mingw cross-compiler&lt;/li&gt;&lt;li&gt;Don't use KMDF/WDF, MinGW doesn't support it&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sprinkle all callback functions with DDKAPI, so they use stdcall calling method (the compiler will complain, makes it easy.) including DriverEntry().&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Add -DDBG to enable KdPrint()s&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Inline asm will need to be rewritten&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Recent GCC doesn't have __FUNCTION__, and DDK doesn't have __func__, so plan on wrapping with your own macros for tracing and handling this difference based on #ifdef __MINGW32__. I'm a big fan of gcc's preprocessor, the variable-argument macros are pretty nice.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;WinDBG needs .pdb files to set breakpoints and step through code, MinGW doesn't generate these, so KdPrint() is your friend&lt;/li&gt;&lt;li&gt;You can't link with libc yet sometimes you need snprintf. I pulled in Linux's snprintf code to fill this gap, yay GPL!&lt;/li&gt;&lt;li&gt;MinGW is 32-bit only right now. For 64-bit binaries, plan on becoming a serious MinGW contributor for a while!&lt;/li&gt;&lt;li&gt;Here's how my makefile build cmd ended up: i586-mingw32msvc-gcc $(CFLAGS) -o $@ -shared -Wl,--entry,_DriverEntry@8 -nostartfiles -nostdlib $^ -lntoskrnl -lhal -lndis&lt;/li&gt;&lt;li&gt;For reference, see the &lt;a href=&quot;http://xenbits.xensource.com/ext/win-pvdrivers.hg&quot;&gt;Xen GPLPV repo&lt;/a&gt;. More help is always welcome.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Hopefully this blog post will contain enough keywords to be helpful to someone in the future :-)</content:encoded>
	<dc:date>2008-07-22T01:07:55+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//life/2008_07_21">
	<title>Evgeniy Polyakov: Foot, fingers, shins, knees, thigs, shoulder, back.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//life/2008_07_21</link>
	<content:encoded>No, it is not parts of the body I know (half of it I looked
in the dictionary), it is what is being aching right now.&lt;br /&gt;&lt;br /&gt;

Its called football.&lt;br /&gt;&lt;br /&gt;

Yes, sounds a bit scary, but that was hell the super game today.
We were much stronger, but I have to admit, that mostly because we get
a right transfer decision and selected right players at the beginning,
so our previous team was strengthenen. I managed to make a goal,
couple of nice saves and even make quite technical outplay sometimes,
which was quite surprisingly, since I did not play football for 5 years.&lt;br /&gt;
I would not say I'm getting into the shape, but have a progress.

Comments (0)</content:encoded>
	<dc:date>2008-07-21T22:00:19+00:00</dc:date>
</item>
<item rdf:about="http://mjg59.livejournal.com/94420.html">
	<title>Matthew Garrett: The fallacy of the completely inclusive community</title>
	<link>http://mjg59.livejournal.com/94420.html</link>
	<content:encoded>&lt;a href=&quot;http://www.emmajane.net&quot;&gt;Emma Jane Hogbin&lt;/a&gt; gave a presentation on the gender gap in free software at &lt;a href=&quot;http://www.lugradio.org/live/UK2008/&quot;&gt;Lugradio Live&lt;/a&gt; this weekend. One of the central messages was that a great deal of how to avoid putting women off computing can be distilled down to &quot;Don't be a dick&quot;. This ties in well with Mako's restatement of the Ubuntu code of conduct as &quot;Be excellent to each other&quot; (a wonderful phrasing which demonstrates that Bill and Ted's Excellent Adventure is the most philosophically worthwhile film that Keanu Reeves has ever appeared in, and certainly not The fucking Matrix) and led to my 5 minute rant on why I hate the Linux community slightly later in the day, but does leave a certain problem. What standards are used to define whether given behaviour is dickish or not? The comments &lt;a href=&quot;http://nicubunu.blogspot.com/2008/07/mixed-stuff-fonts-photos-games.html&quot;&gt;here&lt;/a&gt; show that there's disagreement even within a single sub-community of the larger free software world. &lt;a href=&quot;http://blogs.gnome.org/otte/2008/07/15/if-wed-do-power-management-like-that/&quot;&gt;Ben suggests&lt;/a&gt; that the reaction to perceived inappropriate behaviour is perhaps even more discouraging than the original behaviour, suggesting that bitching about things that offend you is dickish behaviour in and of itself. How do we decide whether someone is being a dick or helping the community? Is lack of tolerance a form of exclusionary behaviour?&lt;br /&gt;&lt;br /&gt;This topic is actually one of the issues discussed in the &lt;a href=&quot;http://www.plausiblydeniable.com/opinion/gsf.html&quot;&gt;Geek Social Fallacies&lt;/a&gt;, but here's a nice easy example. Would tolerating planet posts encouraging the eradication of the Jewish population be inclusive or exclusive? I suspect that most people would agree that it wouldn't be acceptable behaviour, which leads us to the next question. Why? There's two obvious arguments here. The first is that at a community level we have some form of rough moral consensus that advocating genocide is Just Wrong, and so &lt;a href=&quot;http://www.cafepress.com/mjg59.13063151&quot;&gt;criticising Nazis&lt;/a&gt; is obviously the right thing to do. The second argument is more pragmatic than philosophical - alienating millions of people in order to avoid alienating hate groups could be considered to reduce our potential contributor base in an unfortunate way.&lt;br /&gt;&lt;br /&gt;I'm a fan of the second argument. The example I gave is emotive and relatively recent history has resulted in people tending to be pretty uniform in considering genocide to be a bad thing, but many other cases aren't clear cut. What I consider to be objectification of women is seen by others as appreciation of natural beauty. What I think of as sexist jokes are perceived by others as acceptable humour. When I advocate intolerance of certain behaviour, people are going to see me not having enough tolerance. So we end up in a situation where people make the &quot;We should all just get along and be tolerant of each other&quot; argument, which sounds fine but is fundamentally flawed in one significant way.&lt;br /&gt;&lt;br /&gt;Advocating tolerance excludes the intolerant.&lt;br /&gt;&lt;br /&gt;The reason people fail to see this is that it doesn't sound like a flaw. If you ask people whether we need to support intolerance, the immediate answer is probably no. But by advocating exclusion of intolerance, you're excluding all those who have good reasons to be intolerant. You're excluding the women who don't want to feel that the community sees them as a pair of breasts attached to some legs. You're excluding the ethnic groups who would prefer to avoid racist slurs or &lt;a href=&quot;http://nicubunu.blogspot.com/2008/07/mixed-stuff-fonts-photos-games.html?showComment=1216616640000#c2572188173640038013&quot;&gt;ethnic stereotyping&lt;/a&gt;. Telling anti-fascism protestors that they're being intolerant isn't likely to endear you to them. Advocating tolerance is telling the intolerant that they're wrong and should just deal with whatever it is that makes them unhappy.&lt;br /&gt;&lt;br /&gt;So, ironically, tolerating certain types of intolerance is probably required in order to avoid alienating many potential contributors. That means some way of deciding what kinds of behaviour are acceptable and which are unacceptable. In the absence of either pre-existing community consensus or some philosophical breakthrough that allows unambiguous determination of the &quot;rightness&quot; of a given action, I'm going to suggest that we look at it from a pragmatic viewpoint. How many potential contributors do we discourage by criticising a certain type of behaviour? How many do we discourage by tolerating it?&lt;br /&gt;&lt;br /&gt;The fallacy of the completely inclusive community is the idea that it includes everyone. The reality is that a certain level of social exclusion is required in order to include a wider range of people. So don't criticise people purely for criticising someone else's behaviour - make an argument for why that behaviour benefits the community. And when you see behaviour that you think discourages others, call people on it. Even if nobody's behaviour changes as a result, you're sending a signal that not everyone in the community agrees. Sometimes all people want is to know that there'll be some people on their side.&lt;br /&gt;&lt;br /&gt;But, above all, try not to be a dick.</content:encoded>
	<dc:date>2008-07-21T12:35:30+00:00</dc:date>
</item>
<item rdf:about="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/21#wikipedia">
	<title>Dave Miller: Please help!</title>
	<link>http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/21#wikipedia</link>
	<content:encoded>&lt;p&gt;
Aparently there is a pending deletion tag on the wikipedia
article about me, which can be found
&lt;a href=&quot;http://en.wikipedia.org/wiki/David_S._Miller&quot;&gt;
right here&lt;/a&gt;
&lt;p&gt;
It states that they will delete it later today due to
lack of &quot;reliable secondary sources attesting to
notability.&quot;
&lt;p&gt;
So if you can help with this, I would appreciate it.
&lt;p&gt;
Thanks :-)&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-21T03:33:00+00:00</dc:date>
</item>
<item rdf:about="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/21#netconf2008">
	<title>Dave Miller: Netconf 2008</title>
	<link>http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/21#netconf2008</link>
	<content:encoded>&lt;p&gt;
YOSHIFUJI Hideaki visited to give a presentation on IPV6 happenings.
Stephen Hemminger came as well and after an excellent meal at
Ototo Sushi in Queen Anne, we listened to Hideaki-san's presentation
as well as one I gave on the TX multiqueue work I've been doing.
&lt;p&gt;
It went so well, that we decided to declare that this was
Netconf for 2008 :-)
&lt;p&gt;
My slides are &lt;a href=&quot;http://vger.kernel.org/~davem/davem_seattle08.pdf&quot;&gt;
here&lt;/a&gt;.
&lt;p&gt;
Enjoy.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-21T01:15:00+00:00</dc:date>
</item>
<item rdf:about="http://airlied.livejournal.com/61213.html">
	<title>Dave Airlie: technology fail weekender...</title>
	<link>http://airlied.livejournal.com/61213.html</link>
	<content:encoded>So this weekend was a total technology fail..&lt;br /&gt;&lt;br /&gt;so on Sat night Gia rented a DVD to watch on a laptop, I was all should be no problem with this, armed with my livna (and livna-development) repositories, I started off on laptop 1, Thinkpad T60P. totem pulled an immeditate choke with some useless error message. mplayer choked similiarly with a nice bonghits in the libdvdread error message. This I tracked down to the region not being set correctly, so I set the drive region to region 4, and then mplayer failed even harder in a tight loop with kill -9 the only way out. It looked like bad sectors or something in the kernel.&lt;br /&gt;&lt;br /&gt;So I went and tried it on laptop number 2, my Dell Insprion 6000, this machine is the oldest piece of kit I own and has been steadily on it way out the door (backlight flickers on/off due to dodgy connections internally). However it is also the only machine I have at home with a non-Linux OS on it, it has Windows XP. So I booted XP on it, stuck the disk in and it played fine, I then booted Linux on it and had the same problem as on the the other laptop. So I decided to let Gia use Windows XP to watch the DVD, I then unplugged the laptop before realising the battery was sitting on the bench (as it overheats a lot instead of charging nowadays.. and it isn't one of the goes on fire batteries either..). So it appears cutting the power wasn't such a good idea, as it appears the hard disk heads crashed or some such fail, as attempting to boot XP on the laptop after that gave a bad boot bluescreen and mounting the XP ntfs partition from Linux went into an ATA reset cycle.&lt;br /&gt;&lt;br /&gt;So I had to watch half the rugby (it wasn't a great game in the end), and then watch some movie with Matthew McConaughty in it, at least there was scuba diving in it, so it could have been worse.&lt;br /&gt;&lt;br /&gt;Then on Sunday on our way to the cinema, I drops my iphones on the grounds. Oh noes. My iphone volume buttons have been busted for a month or two in any case, but now the lock/power button decided to stop being useful. Of course my iphone is a US phone where I'm sure the warranty has been invalidated six ways from Tuesday at this point. So I'll probably have to go opens it ups and play with its insides. I've damaged a lot of phones in my life but the iphone has actually been the quickest to get broken, and considering I don't drink nearly as much as I used to this isn't a good showing for it.</content:encoded>
	<dc:date>2008-07-20T23:14:08+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-16880836.post-2016519952255520468">
	<title>Jaya Kumar: Cool Paper</title>
	<link>http://highlycomposite2.blogspot.com/2008/07/cool-paper.html</link>
	<content:encoded>Just got pointed to this &lt;a href=&quot;http://www.nytimes.com/2008/07/21/business/media/21esquire.html?ref=tech&quot;&gt;NY Times article&lt;/a&gt;, &lt;span&gt;&quot;The electronic cover will be used in only 100,000 copies that go to newsstands&quot;. &lt;/span&gt;I think I'd buy one just to get at the E-Ink device! Too bad they don't sell these magazines over here.</content:encoded>
	<dc:date>2008-07-20T23:39:57+00:00</dc:date>
</item>
<item rdf:about="http://ozlabs.org/~rusty/index.cgi/2008/07/20#2008-07-15">
	<title>Rusty Russell: The Joy of linux-next</title>
	<link>http://ozlabs.org/~rusty/index.cgi/2008/07/20#2008-07-15</link>
	<content:encoded>&lt;p&gt; Sure, &lt;a href=&quot;http://linux.f-seidel.de/linux-next/pmwiki/&quot;&gt;linux-next&lt;/a&gt; is a
useful way of early-detecting patch conflicts with random developers.
But the second order effect has been more useful to me: forcing me to
get my shit together.  Now I regularly publish my &lt;a href=&quot;http://ozlabs.org/~rusty/kernel&quot;&gt;patchqueue&lt;/a&gt; in a form which
applies and compiles, and has clear &quot;production&quot; vs &quot;alpha&quot;
demarcation.  &lt;/p&gt;

&lt;p&gt; Obviously, this is good for people trying to follow various
patches (and there are quite a few independent efforts at the moment,
including typesafe patches, virtio, lguest, module, tun/tap,
stop_machine, kmod-removal and down_trylock removal), but it also
makes the arrival of the merge window far less stressful.&lt;/p&gt;

&lt;p&gt; In theory, I could have been this organized before.  But just like
the concept of doing homework long before the deadline, it was never
going to happen.  So thanks Stephen!  &lt;/p&gt;</content:encoded>
	<dc:date>2008-07-20T19:03:00+00:00</dc:date>
</item>
<item rdf:about="http://james-morris.livejournal.com/32158.html">
	<title>James Morris: Have You Driven an SELinux Lately?</title>
	<link>http://james-morris.livejournal.com/32158.html</link>
	<content:encoded>My OLS paper,&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;i&gt;&lt;a href=&quot;http://namei.org/ols-2008-selinux-paper.pdf&quot;&gt;Have You Driven an SELinux Lately?&lt;/a&gt;&lt;/i&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;may now be downloaded as a &lt;a href=&quot;http://namei.org/ols-2008-selinux-paper.pdf&quot;&gt;single document&lt;/a&gt;, or as part of the conference &lt;a href=&quot;http://www.linuxsymposium.org/2008/archives.php&quot;&gt;proceedings&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The paper is a detailed update on the SELinux project, covering important changes to SELinux in the past few years.  After the initial upstream kernel merge&amp;mdash;which took three years and required LSM to be developed&amp;mdash;the project proceeded rapidly in terms of integration into mainstream Linux distributions, as well as having its internal infrastructure overhauled to allow major improvements to both function and usability.  A great deal has changed since many people first saw SELinux.&lt;br /&gt;&lt;br /&gt;I'd recommend reading the paper if you want to come up to speed on where things are at in the project, and where things are headed.&lt;br /&gt;&lt;br /&gt;I'll be giving a talk on the paper at OLS this Thursday.  It's certainly a challenge trying to keep the talk length below 45 minutes without leaving something significant out.  For some reason, my talks tend to self-adjust to about 90 minutes, and I always need to work to shorten them.&lt;br /&gt;&lt;br /&gt;As a reminder, the &lt;a href=&quot;http://selinuxproject.org/page/Developer_Summit_2008&quot;&gt;SELinux Developer Summit&lt;/a&gt; is on Tuesday, and it will be held at the Ottawa Novotel from 8:30am.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Btw, I noticed Linux being used at Sydney Airport on the way over:&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href=&quot;http://www.flickr.com/photos/x_jamesmorris/2682389838/&quot; title=&quot;Linux @ Sydney Airport by x_jamesmorris, on Flickr&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm4.static.flickr.com/3014/2682389838_615679e47f.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; alt=&quot;Linux @ Sydney Airport&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;Ubuntu &lt;s&gt;6.02, I believe&lt;/s&gt; 6.06.2.</content:encoded>
	<dc:date>2008-07-20T15:44:33+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_20_1">
	<title>Evgeniy Polyakov: Crazy security idea.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_20_1</link>
	<content:encoded>I've just thought, that I do not know a way to make
some (running) application to encrypt all its data,
which hits the disk (either via swap or usual way, like
editor writing the file and all its temporary files).&lt;br /&gt;
I actually consider this as a very useful feature for the
editors, browsers, instant messengers and mail clients,
downloading applications and musical players and
so on. This is especially valid for temporary files, when
one expects editor to be highly secure (or even working on
encrypted partition), while its temprary files are stored
somewhere in &lt;code&gt;/tmp&lt;/code&gt; which is not encrypted.&lt;br /&gt;&lt;br /&gt;

It could be started via some wrapper, which will tell the
kernel encryption algorithm, key, iv and all needed info,
it will attach a crypto processing callback to the process,
so when disk activity is started by given pid (swap or data writing
or reading), it is encrypted/decrypted in flight.&lt;br /&gt;
Kernel should check all file descriptors opened by the given
process and appropriately process them. There may be some problems
with communication with unprotected applications, which should
be thought out, but overall I like the idea...&lt;br /&gt;&lt;br /&gt;

Has put it into &lt;a href=&quot;http://tservice.net.ru/~s0mbre/old/?section=notes&amp;item=todo&quot;&gt;todo&lt;/a&gt;
list.

Comments (0)</content:encoded>
	<dc:date>2008-07-19T21:00:37+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_20">
	<title>Evgeniy Polyakov: Project presentation.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/other/2008_07_20</link>
	<content:encoded>I've just realized, that lots of my blog posts
are valid enough presentation abstracts, at least they contain
enough words describing the problem, possible solution
and overall interested for given area topics. But I
never presented such projects in english before, although quite frankly
I'm not that bad speaker in russian, at least I
am not afraid to talk and probably like a contact with interesting
auditory. After all there is this blog :) and even had number
of similar kind of presentations from 15 minutes to couple of hours
including question/answer part.&lt;br /&gt;
My english used in blog is rather ugly, but I rarely (if at all)
fix errors which I detect after subsequent reading of the text
in the browser (and I detect lots of them) as long as in mails
and other posts.&lt;br /&gt;
So probably eventually we will have interesting
talks about diferent areas, but expect to 'listen' a world-wide
language of the gestures :)

Comments (0)</content:encoded>
	<dc:date>2008-07-19T21:00:37+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_19">
	<title>Evgeniy Polyakov: Disributed storage is dead, long live the Distributed storage!</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_19</link>
	<content:encoded>As you may know, &lt;a href=&quot;http://tservice.net.ru/~s0mbre/old/?section=projects&amp;item=dst&quot;&gt;DST&lt;/a&gt;
project was an attempt to implement redundant, failover resistant, flexible block level storage
subsytem. Among other features it supported ability to map multiple remote nodes via linear
or mirroring algorithms to single node, reconnect to failed node, reading balancing and
parallel writing to multiple nodes (in case of mirroring) and
&lt;a href=&quot;http://tservice.net.ru/~s0mbre/old/?section=projects&amp;item=dst&quot;&gt;so on&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;

Now it has gone. There is no more distributed storage you knew before, instead there is
completely new project being developed, which main goal is to provide a transport layer for
the block requests only. Consider it as Network Block Device on huge steroids. Consider it
as iSCSI on huge steroids. Consider it as ATA-over-Ethernet on even more huge steroids.&lt;br /&gt;
It is just an example of what all those protocols should have. And only that.&lt;br /&gt;
An it does not sound very ambitious, previous DST versions already supported lots of features,
which never existed (and in some cases were impossible to be added) in another block level
network storages.&lt;br /&gt;
DST moves further.&lt;br /&gt;&lt;br /&gt;

There will be no mirroring and overall ability to map multiple devices into single one,
instead one should use Device Mapper for this goal, since its features were simply mirrored
(although I tried to optimize them sometimes) in DST, and amount of targets was noticebly smaller.&lt;br /&gt;&lt;br /&gt;

Now DST is just a simple block device which operates on top of network connection. With just a
single exception: its done right.&lt;br /&gt;&lt;br /&gt;

Features planned for the new Distributed Storage:&lt;ul&gt;
&lt;li&gt;kernelspace client and server&lt;/li&gt;
&lt;li&gt;initial autoconfiguration between client and server nodes&lt;/li&gt;
&lt;li&gt;automatic reconnect to failed target&lt;/li&gt;
&lt;li&gt;transaction model: resending, timeout error completion, full rollback of the failed transaction&lt;/li&gt;
&lt;li&gt;wire speed performance&lt;/li&gt;
&lt;li&gt;data channel encryption, strong checksumming&lt;/li&gt;
&lt;li&gt;cryptographical authentification&lt;/li&gt;
&lt;li&gt;ability to work on top of any network protocol&lt;/li&gt;
&lt;li&gt;barriers support (when, if any, Device Mapper will start support them, DST will not need to be changed)&lt;/li&gt;
&lt;li&gt;flexible protocol with simple ability to extend it to needed functionality&lt;/li&gt;
&lt;li&gt;trivial configuration&lt;/li&gt;&lt;/ul&gt;

Project is being written from scratch, but it is actually very simple,
and should be quite small, so expect its first release quite soon.&lt;br /&gt;
It will be pushed upstream when ready.

Comments (8)</content:encoded>
	<dc:date>2008-07-19T17:00:38+00:00</dc:date>
</item>
<item rdf:about="http://strdup.livejournal.com/34359.html">
	<title>Andy Grover: CFP deadline approaching</title>
	<link>http://strdup.livejournal.com/34359.html</link>
	<content:encoded>&lt;a href=&quot;http://linuxplumbersconf.org/cfp/&quot;&gt;Hey it's Friday! Chillin' at work? This afternoon might be a good time to write up that idea you had for a talk at the Linux Plumbers Conference. We do have a bunch of microconfs, but we're interested in all interesting talks.&lt;/a&gt;</content:encoded>
	<dc:date>2008-07-18T18:39:35+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_18">
	<title>Evgeniy Polyakov: Completed distributed storage redesign.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_18</link>
	<content:encoded>I also managed to play second octave F# and sometimes the whole chromatic scale
down to small (minor?) octave F on my trumpet, and I belive I started to understand
overall trumpet kung-fu, but expect it is not what you wanted to read under
&lt;a href=&quot;http://tservice.net.ru/~s0mbre/blog/devel/dst/index.html&quot;&gt;DST&lt;/a&gt; tag.&lt;br /&gt;&lt;br /&gt;

So, DST becomes smaller, cleaner and simpler. Notably, I decided to drop userspace
target completely for now.&lt;br /&gt;
Kernel part now operates on transaction entity, which holds a reference to the node,
where data should be sent/received. There can be at most two such nodes if block IO
request spans the boundary. In case of mirroring (which will be dropped for the first release)
list of nodes to mirror this data to will be maintained by the first node, so transaction
will not need to know about them.&lt;br /&gt;
In theory block request can be as much as BIO_MAX_PAGES pages,
which is 256 for now, but I decided to limit minimum node size to be not smaller than
above bio limit, so there will be always at most two nodes per request.&lt;br /&gt;
Each node has either block device behind it (so it will just call &lt;code&gt;generic_make_request()&lt;/code&gt;
with different block device for given bio), or network state machine.&lt;br /&gt;
Network state will have two threads: RX and TX. Receive one is used to get replies for the
read/write messages, search appropriate transaction and complete it.
In case of DST server it will also handle read/write requests and generate replies, but the whole
processing will be exactly the same, client node will have a switch to process read/write requests from
the network, but they should be only received by server.&lt;br /&gt;
Sending thread is tricky.
It is used as fallback for non-blocking sockets, which are used first at &lt;code&gt;generic_make_request()&lt;/code&gt;
time, i.e. when higher level user performed read or write, if block was not fully sent,
then it is queued to this thread and it will try to send the rest of the data when
polling allows. &lt;code&gt;-&gt;make_request_fn()&lt;/code&gt; function returns in this case and higher
layer can proceed with own operations.&lt;br /&gt;
Transaction is not freed until reply is received from the remote side or resending retry
count fires.&lt;br /&gt;
Transaction is always allocated (from the appropriate memory pool) and that is actually
all allocations in DST itself. In case it works with block devices, it is possible to clone a bio,
when it crosses the boundaries (or even always, I have to check it, but it is essentially
what device mapper with lots of own additional allocations), but it should be very rare condition.&lt;br /&gt;
Network stack will allocate data itself too.&lt;br /&gt;
&lt;br /&gt;

That was a theory. Practice tells me, that essentially 90% of the code should be rewritten
from scratch, so I recloned the tree and so far implemented generic bits of registering
block device, creating various sysfs files and directories and other similar trivial bits.
I still plan to finish it this weekend (without mirroring), but things may turn to me a different side though...

Comments (0)</content:encoded>
	<dc:date>2008-07-18T18:00:19+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//life/2008_07_18">
	<title>Evgeniy Polyakov: Have sent all documents for US visa.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//life/2008_07_18</link>
	<content:encoded>Checked my passports and decided that if other countries allowed to let me in
with that photos, then US custom officers should not frown too much upon
current ones.&lt;br /&gt;&lt;br /&gt;

So, waiting for the results. I almost sure that I will get visa and
will met with interesting people at kernel summit and Plumbers conference,
but anyway would like to draw the line.&lt;br /&gt;&lt;br /&gt;

For instance, &lt;a href=&quot;http://www.zabbo.net/&quot;&gt;Zach Brown&lt;/a&gt; will
&lt;a href=&quot;http://www.zabbo.net/post/propose-a-talk-for-lpc-come-enjoy-portland/&quot;&gt;talk&lt;/a&gt;
about &lt;a href=&quot;http://oss.oracle.com/projects/crfs/&quot;&gt;CRFS&lt;/a&gt; (as long as show
some chocolate and coctail bars around, imho the only good coctail is rum with cola
(smaller colla) and ice), so there will be something to listen.

Comments (0)</content:encoded>
	<dc:date>2008-07-18T10:00:32+00:00</dc:date>
</item>
<item rdf:about="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/18#net_tx_merged">
	<title>Dave Miller: TX multiqueue mostly done...</title>
	<link>http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/18#net_tx_merged</link>
	<content:encoded>&lt;p&gt;
Ok, it's in and commited to net-2.6 which will be pushed to
Linus likely on Sunday.  Relief is in sight.
&lt;br /&gt;
&lt;center&gt;
&lt;img src=&quot;http://vger.kernel.org/~davem/aurora_bridge.jpg&quot; /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Aurora_Bridge&quot;&gt;Aurora Bridge&lt;/a&gt;
in &quot;photographer's light&quot;
&lt;/center&gt;
&lt;p&gt;
It seems the approach finally taken is for the most part, sound.
&lt;p&gt;
There are some synchronization issues Patrick McHardy noted but
those all seem solvable at the moment.
&lt;p&gt;
What is really cool is that packet schedulers can be shared
amongst TX queues of a device.  So you can have things happen
now such as starting with an enqueue of a packet for queue 0
and then when you run the qdisc what pops out is a packet
for queue 4 :-)
&lt;p&gt;
This also means that non-default qdiscs can in fact change the
SKB queue mapping if they like, and it would just work.
&lt;p&gt;
The sun is starting to rise, so, it's time for bed...&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-18T08:13:00+00:00</dc:date>
</item>
<item rdf:about="http://laforge.gnumonks.org/weblog/2008/07/18#20080718-nxp_has_list">
	<title>Harald Welte: Judge determines NXP has no right to prevent researchers from publicizing about MIFARE insecurity</title>
	<link>http://laforge.gnumonks.org/weblog/2008/07/18#20080718-nxp_has_list</link>
	<content:encoded>&lt;p&gt;
As reported &lt;a href=&quot;http://webwereld.nl/articles/51953&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.nu.nl/news/1663389/50/Universiteit_mag_publiceren_over_gekraakte_ov-chip.html&quot;&gt;here&lt;/a&gt;, NXP has apparently not been able to convince a Judge that the
researchers at the University of Nijmegen should be restrained from publicizing about weaknesses in their
MIFARE RFID products.
&lt;/p&gt;
&lt;p&gt;
This is really good news.  And it came so quick!  Sometimes, I can still 
believe that there is some good left in this world.  Almost too good to be
true.
&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-18T02:00:00+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//other/2008_07_17">
	<title>Evgeniy Polyakov: "The Gun Seller" by Hugh Laurie.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//other/2008_07_17</link>
	<content:encoded>Just finished to read this excellent
detective novell (at &lt;a href=&quot;http://www.amazon.com/Gun-Seller-Hugh-Laurie/dp/067102082X&quot;&gt;Amazon&lt;/a&gt;,
electronic &lt;a href=&quot;http://www.fictionbook.ru/author/lori_hyu/torgovec_pushkami/&quot;&gt;version&lt;/a&gt; in russian).&lt;br /&gt;
People call it the best english humor novell for reason: it indeed is fun and interesting,
although I suspect lots of its witty satire was a bit lost in translation, but nevertheless 
I do recommend it for easy reading.&lt;br /&gt;&lt;br /&gt;

And of course if you like &lt;a href=&quot;http://www.imdb.com/title/tt0412142/&quot;&gt;House M.D.&lt;/a&gt;, you have
to read this novel, and you will not waste your time for sure.

Comments (0)</content:encoded>
	<dc:date>2008-07-17T18:00:39+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//life/2008_07_17">
	<title>Evgeniy Polyakov: Morning trumpet exercises.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//life/2008_07_17</link>
	<content:encoded>Today's morning I raped ears almost two hours,
and at the end managed to play a chromatic scale (glide?)
from second octave D (E trumpet) down to minor octave F (E trumpet),
at least that is what my Korg tuner showed. Much more frequently
I was able to play single first octave (only via descended direction
though, I did not yet try to rise tones).&lt;br /&gt;
Korg AW1 tuner does not show octaves, but I really do not think,
that it is possible to play one octave lower than what my the lowest
sound was, but pretty sure it is possible to have at least one octave higher
than my the highest tone, so I decided that I play several tones around first octave.&lt;br /&gt;&lt;br /&gt;

Ugh, it was supposed to move earlier to the office (before heat and traffic jams),
but instead I fucked my brain via ears (and probably neighbours were not happy
either, although I did not play on the full volume).

Comments (0)</content:encoded>
	<dc:date>2008-07-17T07:00:32+00:00</dc:date>
</item>
<item rdf:about="http://www.zabbo.net/post/propose-a-talk-for-lpc-come-enjoy-portland/">
	<title>Zach Brown: propose a talk for LPC, come enjoy Portland</title>
	<link>http://www.zabbo.net/post/propose-a-talk-for-lpc-come-enjoy-portland/</link>
	<content:encoded>&lt;p&gt;This weekend marks the deadline for &lt;a href=&quot;http://linuxplumbersconf.org/cfp/&quot;&gt;submitting speaker proposals&lt;/a&gt; for the Linux Plumbers Conf.  I figure that CRFS falls under the category of future Linux storage so I submitted a proposal to talk about it.&lt;/p&gt;
&lt;p&gt;If you have something that you&amp;#8217;d like to discuss with your peers, and which falls under their broad list of categories, you should send in a submission.&lt;/p&gt;
&lt;p&gt;If it&amp;#8217;s accepted then you&amp;#8217;ll get to come enjoy Portland with us!  I have a secret plan that will make this sound like a lot more fun than it seems like it should at first glance.  I want to try and provide some kind of list of the more interesting places to dine in Portland.  I don&amp;#8217;t know about you guys, but I&amp;#8217;m pretty tired of the beer-and-mediocre-pizza meal that our community so often gravitates to.  &lt;/p&gt;
&lt;p&gt;Doesn&amp;#8217;t that sound great?  I sure hope so.  Here, as a pair of teasers, are two places for after dinner treats: &lt;a href=&quot;http://www.portlandfoodanddrink.com/?p=805&quot;&gt;Cacao&lt;/a&gt; and &lt;a href=&quot;http://www.portlandfoodanddrink.com/?p=1014&quot;&gt;Teardrop&lt;/a&gt;.&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-16T21:49:29+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//other/2008_07_16">
	<title>Evgeniy Polyakov: New toys: Korg AW1 tuner.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//other/2008_07_16</link>
	<content:encoded>I believe I can produce enough sounds out of my trumpet,
so I need to have tuner, which will tell me how bad that sounds are.&lt;br /&gt;&lt;br /&gt;

&lt;img src=&quot;http://tservice.net.ru/~s0mbre/gallery/korg_aw1.jpg&quot; alt=&quot;Korg AW1&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

So, now I'm starting to seriously tune my sounds.&lt;br /&gt;
So far I &lt;s&gt;hope&lt;/s&gt; think that I can play at least two octaves, actually I mean not to play,
but to produce a sound, it is still not that simple and not always very clean. But since
I 'play' (or better say &lt;s&gt;rape ears&lt;/s&gt; study) my trumpet only couple of months and never played any instrument (not counting
couple guitar riffs in the university) before and do not play with a teacher, I think this tuner will
be very good addition.

Comments (4)</content:encoded>
	<dc:date>2008-07-16T17:00:37+00:00</dc:date>
</item>
<item rdf:about="http://zaitcev.livejournal.com/171166.html">
	<title>Pete Zaitcev: Livejournal spam</title>
	<link>http://zaitcev.livejournal.com/171166.html</link>
	<content:encoded>&lt;p&gt;There's so much LJ spam recently that I'm thinking about disabling comments. Comments are useless anyway. Anyone who has anything meaningful to tell me should be able to send an e-mail. Case in point, &lt;a href=&quot;http://ani-nouto.animeblogger.net/&quot;&gt;Ani-nouto&lt;/a&gt; never had comments, and it's doing great.&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-16T02:02:13+00:00</dc:date>
</item>
<item rdf:about="http://james-morris.livejournal.com/31766.html">
	<title>James Morris: FOSS Conference Observations</title>
	<link>http://james-morris.livejournal.com/31766.html</link>
	<content:encoded>Andrew Morton's slides from the LF Japan Symposium are now &lt;a href=&quot;http://www.linux-foundation.jp/uploads/seminar20080709/Andrew-symposium-2008.pdf&quot;&gt;here&lt;/a&gt; (PDF), along with the &lt;a href=&quot;http://www.linux-foundation.jp/modules/eguide/event.php?eid=10&quot;&gt;rest of the presentations&lt;/a&gt; (scroll down).  No video as yet, it seems.&lt;br /&gt;&lt;br /&gt;I microblogged this at the time, but it's worth mentioning here that &lt;a href=&quot;http://www.linux-foundation.org/weblogs/amanda/2008/07/15/linux-is-big-in-japan-our-symposium/&quot;&gt;15% of kernel contributions are now coming from Japan&lt;/a&gt;, as also noted at the LF blog.  (I'm not sure if the media has picked up on this yet, but it was also announced at the Symposium that the 2009 Kernel Summit will be held in Tokyo).&lt;br /&gt;&lt;br /&gt;Recently, Michael Chen from Red Hat was quoted in an interview that &lt;a href=&quot;http://www.efytimes.com/efytimes/26965/news.htm&quot;&gt;India is the third largest contributor to Fedora&lt;/a&gt;.  That's &quot;following North America and Europe&quot;, so I don't know what the per-country rankings are, but India may be doing even better in that respect.&lt;br /&gt;&lt;br /&gt;It's probably impossible to say precisely what's driving these increasing global levels of FOSS contributions, but my impressions are that in these cases, at least, that conferences such as FOSS.IN and the LF symposia are having very significant effects.&lt;br /&gt;&lt;br /&gt;It was also most likely similarly the case in Australia in 1999 with the introduction of CALU (which evolved into LCA), that local FOSS efforts were greatly stimulated by holding a technical conference which attracted a combination of leading international and local contributors.  It was certainly a major factor in my own subsequent involvement in kernel hacking (which was at the time very sporadic, but became vastly more focused after meeting &amp;amp; seeing the likes of Dave Miller, Rusty and Tridge).&lt;br /&gt;&lt;br /&gt;It's interesting to compare how this works differently in different regions.  India and Australia developed their own grassroots conferences, while Japan (and recently China) have developed conferences based around industry consortia.  Whether this is cultural or a sign of the times is unclear, but it seems the ultimate effect is basically the same.  More people contributing&amp;mdash;not just code&amp;mdash;to the community &lt;i&gt;process&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;A comment made by Toshiharu Harada during his genuinely entertaining &lt;a href=&quot;http://www.linux-foundation.jp/uploads/seminar20080709/LFJ-harada.pdf&quot;&gt;TOMOYO talk&lt;/a&gt; was particularly interesting:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Merging TOMOYO Linux started as our mission, but now they are our personal goals.&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;While FOSS has become increasingly mainstream, it seems that the underlying dynamics of the community also remain the same, in terms of people fulfilling personal goals (technical, social, economic), as well as those of their employers.</content:encoded>
	<dc:date>2008-07-16T01:17:42+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_15">
	<title>Evgeniy Polyakov: Distributed storage development roadmap.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/dst/2008_07_15</link>
	<content:encoded>Yes, &lt;a href=&quot;http://tservice.net.ru/~s0mbre/old/?section=projects&amp;item=dst&quot;&gt;DST&lt;/a&gt;
project is alive and will beat out the crap very soon, since I decided to change its
underlying architecture, and switch to transaction model just like
&lt;a href=&quot;http://tservice.net.ru/~s0mbre/old/?section=projects&amp;item=pohmelfs&quot;&gt;POHMELFS&lt;/a&gt;.
This basically means that as long as system has enough RAM writing operations will be
extremely fast, reading can be balanced between multiple nodes (in mirror), transactions
can be resent, failover mechanism becomes much simpler,
and system overall will be much more robust to failures.&lt;br /&gt;&lt;br /&gt;

Transaction model also means that system requires explicit acknowlege from remote side,
and there are two possibilities here: two handle implicit ack which comes with TCP ack
packets like I &lt;a href=&quot;http://tservice.net.ru/~s0mbre/blog/devel/networking/2008_04_01.html&quot;&gt;experimented&lt;/a&gt;
before, and send explicit ack from server for each client's request.&lt;br /&gt;\
The former approach although has smaller performance overhead, still suffers from
the fact, that pages sent via DST are always stateless, i.e. at this layer there is
no knowledge about who sends this page. We can determine inode page belongs to, can
even get a socket when page is about to be released when ack has been received,
but we can not know from exactly which PIPE it was submitted into given socket,
so when multiple threads send the same page via miltiple &lt;code&gt;sendfile()&lt;/code&gt;
calls we do not know when and how page will be released. We can put pipes this page belong
to into single-linked list (since page has only two unused at this point pointers: LRU
list head, and one of them is used to determine that this page belongs to &lt;code&gt;sendfile()&lt;/code&gt;/splice codepath),
and likely traversing this list will not hurt usual users, but malicios one can
create a local DoS with this approach. After some experiments with the splice code
today I decided to drop this idea implementation for now.&lt;br /&gt;
There is a strong argument in favour of explicit acks from the server: this allows to make asynchronous transaction
processing (with implicit acks we can not hook into processing path, since we do not know where exactly
skb with our pages is chained), and this does not hurt perfromance (which was proven by
POHMELFS benchmarks).&lt;br /&gt;&lt;br /&gt;

So, overall plan to develop DST is to switch to transaction model and perform async processing
of all events (there are only two actually: reading and writing of the given pages to given
locations).&lt;br /&gt;
This task is not that complex, so I expect some new results later this week. Stay tuned!

Comments (5)</content:encoded>
	<dc:date>2008-07-15T17:00:37+00:00</dc:date>
</item>
<item rdf:about="http://james-morris.livejournal.com/31714.html">
	<title>James Morris: SELinux and Security in the 2.6.26 Kernel</title>
	<link>http://james-morris.livejournal.com/31714.html</link>
	<content:encoded>What's new and exciting with SELinux and security in the new 2.6.26 kernel?  Expanding some of the items from the excellent Kernel Newbies &lt;a href=&quot;http://kernelnewbies.org/Linux_2_6_26#head-6c5a5943a0bde062d852610c81d62d4dacb8ec08&quot;&gt;2.6.26 page&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;security= boot parameter&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This patch by Ahmed Darwish allows a particular security module to be selected at kernel boot time, so that distributions can ship multiple security modules and allow the user to decide which one (if any) to enable.  For example: &lt;code&gt;security=selinux&lt;/code&gt; selects SELinux, while &lt;code&gt;security=smack&lt;/code&gt; selects SMACK. (In Fedora, you don't need to do anything: SELinux is the default).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;New SELinux open permission&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Until now, opening a file under SELinux invoked the same permission checks as the intended operation on the file, such as read, write, execute and append.  There was no separate &quot;open&quot; check: opening a file for write, for example, was considered by SELinux policy as equivalent to actually writing to the file.  Experience has shown that this approach is not ideal for handling cases such as IO redirection via the shell, because policy writers cannot usefully guess where users will send redirected output. This is a very common use-case for Linux, so a solution is most definitely necessary, while also preserving strong security.  Can it be done?  Yes!&lt;br /&gt;&lt;br /&gt;Implemented by Eric Paris, the new &lt;em&gt;open&lt;/em&gt; permission provides a way to address the issue by providing applications with liberal access to read/write/execute/append permissions but tightly locking down the ability to open a file.  In the case of redirecting output via the shell:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;bash# /sbin/do-stuff &amp;gt; /tmp/output&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;the shell forks and creates &lt;code&gt;/tmp/output&lt;/code&gt;, calls dup2(2) to replace stdin with the newly created file descriptor, then execs &lt;code&gt;do-stuff&lt;/code&gt;.  With the old permissions, &lt;code&gt;do-stuff&lt;/code&gt; would have required an SELinux write permission on the new file, which it very likely would not have had.  By providing &lt;code&gt;do-stuff&lt;/code&gt; with liberal file access permissions, but &lt;em&gt;not&lt;/em&gt; the new open permission, its output may now be redirected to the file without needing to give it the ability to directly open the file.  The invoking shell of course needs the open permission, which it effectively delegates to &lt;code&gt;do-stuff&lt;/code&gt; via the open file descriptor.&lt;br /&gt;&lt;br /&gt;Updated security policy which utilizes this technique should be available soon in rawhide, and integrated into Fedora 10, providing significant usability improvements for sysadmins and power users.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Permissive Types&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Also implemented by Eric, permissive types (aka permissive domains) allows permissive mode to be selected on the fly on a per-domain basis.  Permissive mode is where security policy is being checked and logged, but not actually enforced, and was previously only possible on a system-wide basis.  By making this per-domain, applications which are experiencing SELinux policy issues may be flipped into permissive mode, allowing them to do what they need until a proper fix is available, without disabling policy enforcement for the rest of the system.&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Network Port SID Cache&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Paul Moore implemented a cache to improve the performance of the SELinux networking code, so that network port labels are no longer looked up in the (typically large) kernel policy database on a per-packet basis, and is instead retrieved from an RCU-based cache.  This addresses a long standing network performance issue which has been observed with very high loads on network servers.&lt;br /&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;There's quite a lot happening in security for 2.6.27, some of which has already been merged into Linus' tree.  Due to the pervasive nature of some of the patches (including David Howells' credentials rework), I'm feeding all of the SELinux stuff via my &lt;a href=&quot;http://git.kernel.org/?p=linux/kernel/git/jmorris/security-testing-2.6.git&quot;&gt;security-testing&lt;/a&gt; tree.  The &quot;devel&quot; branch is where bleeding edge changes are initially stabilized before being applied to the &quot;next&quot; branch, which is in turn fed into to linux-next.</content:encoded>
	<dc:date>2008-07-15T11:39:35+00:00</dc:date>
</item>
<item rdf:about="http://virtuousgeek.org/blog/27@http://virtuousgeek.org/blog/">
	<title>Jesse Barnes: Prepping the PCI tree</title>
	<link>http://virtuousgeek.org/blog/index.php/2008/07/14/prepping_the_pci_tree</link>
	<content:encoded>&lt;p&gt;Figured I&amp;#8217;d give an overview of the latest PCI stuff for those of you that don&amp;#8217;t drink from the lkml firehose.&lt;/p&gt;

&lt;p&gt;The PCI linux-next branch was a bit more exciting than I expected it to be. We&amp;#8217;ve got lots of good changes queued up.  Some of the highlights:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;PCI slot detection driver (from Alex Chiang)&lt;br /&gt;
This driver exposes additional per-slot information that can help users identify where slots are physically located, making hotplug easier to deal with.&lt;/li&gt;
&lt;li&gt;ROM allocation avoidance (Gary Hade)&lt;br /&gt;
With the &amp;#8220;don&amp;#8217;t allocate space for ROMs&amp;#8221; patch reverted, lots of address space can be gobbled up by unnecessary expansion ROMs.  To prevent this on large systems, Gary added an option eschew ROM allocation, so that machines not needing access to the ROMs can use more of their address space for important MMIO and I/O regions instead.&lt;/li&gt;
&lt;li&gt;PCIe hotplug cleanups/fixes (Kenji Kaneshige)&lt;br /&gt;
Kenji spent a lot of time working on improving the PCIe and other hotplug drivers.  Things should be more reliable and the code should be easier to follow now thanks to his efforts.&lt;/li&gt;
&lt;li&gt;suspend/resume &amp;amp; wakeup enhancements (Rafael J. Wysocki)&lt;br /&gt;
Rafael coded up quite a few improvements to our suspend/resume infrastructure, and fixed up PCI/ACPI wakeup while he was at it.  The improved wakeup code should work on more platforms and in more situations than the old code, but we still expect additional platform specific quirks and workarounds will be necessary, so testing in this area is welcome.  But everyone&amp;#8217;s already setting their systems to go to sleep automatically though, for power savings &amp;amp; general &amp;#8220;green&amp;#8221; goodness, right?  These improvements should make things like wake-on-lan a bit more reliable, so if you&amp;#8217;re not already in the green camp, please give these bits a try.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There&amp;#8217;s also an assortment of fixes here; hopefully we haven&amp;#8217;t broken anything too badly&amp;#8230;&lt;/p&gt;

&lt;p&gt;The bottom line is this though:  if you&amp;#8217;ve been hesitant to try suspend/resume with Linux, or have had bad wake-on-lan or other wakeup event experiences, or you use PCI hotplug at all, this is a good release for you to try.  You can report bugs to &lt;a href=&quot;http://virtuousgeek.orgmailto:linux-kernel@vger.kernel.org&quot;&gt;linux-kernel@vger.kernel.org&lt;/a&gt;, &lt;a href=&quot;http://virtuousgeek.orgmailto:linux-pci@vger.kernel.org&quot;&gt;linux-pci@vger.kernel.org&lt;/a&gt; and/or &lt;a href=&quot;http://bugzilla.kernel.org&quot;&gt;http://bugzilla.kernel.org&lt;/a&gt; and we&amp;#8217;ll take a look!&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-15T02:03:30+00:00</dc:date>
</item>
<item rdf:about="http://mjg59.livejournal.com/94084.html">
	<title>Matthew Garrett</title>
	<link>http://mjg59.livejournal.com/94084.html</link>
	<content:encoded>Plans for the month:&lt;br /&gt;&lt;br /&gt;18th-20th: Wolverhampton for &lt;a href=&quot;http://www.lugradio.org/live/UK2008/&quot;&gt;Lugradio Live&lt;/a&gt; where I'll be doing some sort of presentation on some sort of power management stuff.&lt;br /&gt;22nd-27th: Portland for &lt;a href=&quot;http://www.conferences.oreilly.com/oscon/&quot;&gt;OSCON&lt;/a&gt; and the &lt;a href=&quot;http://www.oregonbrewfest.com/&quot;&gt;Oregon Brewers Festival&lt;/a&gt; (which I guess settles any arguments about how to spell &lt;a href=&quot;http://linuxplumbersconf.org/cfp/&quot;&gt;plumbers&lt;/a&gt;)&lt;br /&gt;28th-30th: San Francisco for a meeting that's been moved to the week before I'm there&lt;br /&gt;31st-4th: Boston in order to meet some of the people that I actually work with&lt;br /&gt;&lt;br /&gt;Things not planned for the month:&lt;br /&gt;&lt;br /&gt;Genocide&lt;br /&gt;Puritanism&lt;br /&gt;&lt;a href=&quot;http://nicubunu.blogspot.com/2008/07/mixed-stuff-fonts-photos-games.html&quot;&gt;upskirt photos&lt;/a&gt;&lt;br /&gt;Telling women who fail to cover their legs that &lt;a href=&quot;http://nicubunu.blogspot.com/2008/07/mixed-stuff-fonts-photos-games.html?showComment=1216075140000#c1305662472672380804&quot;&gt;they're asking for it&lt;/a&gt;</content:encoded>
	<dc:date>2008-07-15T01:15:57+00:00</dc:date>
</item>
<item rdf:about="http://ozlabs.org/~rusty/index.cgi/2008/07/14#2008-07-14">
	<title>Rusty Russell: UNSW CS: Employment @ IBM OzLabs Talk: 1pm Tuesday September 2nd</title>
	<link>http://ozlabs.org/~rusty/index.cgi/2008/07/14#2008-07-14</link>
	<content:encoded>&lt;p&gt; UNSW School of Computer Science and Engineering are having
&quot;Employer of the Week&quot; experiment: September 1st is IBM's week.  I'll
be spruking for OzLabs, so if you know anyone at UNSW who worth
talking to, drag them there (I don't know which room, I'm guessing the
signs in CS will be pretty clear).  &lt;/p&gt;

&lt;p&gt; I'm going to try to talk about the stuff people in the office are
hacking on, to give an idea what it's like being in what AFAICT is
Australia's largest bunch of Free and Open Source Software hackers.
&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-14T21:05:00+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//life/2008_07_15">
	<title>Evgeniy Polyakov: Football match has made the day!</title>
	<link>http://tservice.net.ru/~s0mbre/blog//life/2008_07_15</link>
	<content:encoded>That was exceptionally bloody cool evening!&lt;br /&gt;
We had three teams of 6 playerrs in each and played
on a small mini-football field about 2.5 hours, each match took
either 7 minutes or 2 goals into single gates. It sucked power
so much cool, that even exceptional tireness right now brings
kind of masochistic pleasure.&lt;br /&gt;
My breathing system really sucks, and actually it is not a surprise,
I did not play football more than 5 years already, but nevertheless
shoes and ball are in a good shape.&lt;br /&gt;&lt;br /&gt;

I managed to damage knees, shoulder and fingers on the leg in various
'contacts' during the game, but that's not a problem.&lt;br /&gt;
Our team was not the best one really, but we strongly hold second place,
and actually can fight for the first one, since all our players had long
enough pauses in own games, while first team players regulary train
in its own teams (including youth football champion).&lt;br /&gt;&lt;br /&gt;

That was the super time!

Comments (0)</content:encoded>
	<dc:date>2008-07-14T21:00:21+00:00</dc:date>
</item>
<item rdf:about="http://kernelslacker.livejournal.com/127218.html">
	<title>Dave Jones: Upstream participation. (or a failing thereof)</title>
	<link>http://kernelslacker.livejournal.com/127218.html</link>
	<content:encoded>&lt;tt&gt;&quot;Look for example at the fact that Ubuntu has usually better hardware support, if we all were on the same kernel the others could take the drivers we put in there and have hardware support that is just as good as Ubuntu.&quot;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Does no-one else see the hypocrisy in this statement ?  Here's how it reads to me... &quot;It would be great if everyone just shipped the Ubuntu kernel and debugged the random crap we merge that we don't have the resources to do ourselves&quot;.&lt;br /&gt;&lt;br /&gt;If only there were some kind of process of getting drivers merged upstream to kernel.org. Perhaps then we COULD be on the same kernel. Oh wait, there is a process. Ubuntu just chooses to ignore it.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://derstandard.at/?id=3413801&quot;&gt;This idea&lt;/a&gt; makes absolutely no sense whatsoever when a distro is patching the kernel to hell.&lt;br /&gt;&lt;br /&gt;Having distros ship the same version of major components is utterly pointless unless everyone is on the same page, and stops making moronic decisions like &quot;lets replace a major piece of security functionality with something else because the one upstream is complicated&quot;.</content:encoded>
	<dc:date>2008-07-14T15:17:30+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//life/2008_07_14">
	<title>Evgeniy Polyakov: ParaLLels concert.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//life/2008_07_14</link>
	<content:encoded>&lt;a href=&quot;http://tservice.net.ru/~s0mbre/gallery2/main.php?g2_itemId=3071&quot;&gt;
&lt;img width=&quot;300&quot; src=&quot;http://tservice.net.ru/~s0mbre/gallery2/main.php?g2_view=core.DownloadItem&amp;g2_itemId=3073&amp;g2_serialNumber=2&quot; alt=&quot;ParaLLels&quot; /&gt;
&lt;img width=&quot;300&quot; src=&quot;http://tservice.net.ru/~s0mbre/gallery2/main.php?g2_view=core.DownloadItem&amp;g2_itemId=3107&amp;g2_serialNumber=2&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;

Visited &lt;a href=&quot;http://www.parallels-band.narod.ru/&quot;&gt;ParaLLels&lt;/a&gt; concert this weekend...&lt;br /&gt;
Mixed feelings, but saw lots of old friends (musicians by a coincidence), which made the day.

Comments (0)</content:encoded>
	<dc:date>2008-07-14T11:00:15+00:00</dc:date>
</item>
<item rdf:about="http://pavelmachek.livejournal.com/60664.html">
	<title>Pavel Machek: 82kg</title>
	<link>http://pavelmachek.livejournal.com/60664.html</link>
	<content:encoded>&lt;p&gt;...that's me with all the stuff neccessary for 3 week trip into Altai mountains. 0.5kg of that are NiMH batteries.... So don't try to contact me in next 3 weeks, I'll be very unavailable.&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-14T08:23:46+00:00</dc:date>
</item>
<item rdf:about="http://mjg59.livejournal.com/93770.html">
	<title>Matthew Garrett: My trip to Istanbul by Matthew Garrett aged 28 and 4/365ths</title>
	<link>http://mjg59.livejournal.com/93770.html</link>
	<content:encoded>&lt;b&gt;Saturday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Arrive at Heathrow. &lt;a href=&quot;http://blogs.gnome.org/hughsie/&quot;&gt;Richard&lt;/a&gt; gets to be my special lounge buddy - we later discover &lt;a href=&quot;http://www.hadess.net/&quot;&gt;Bastien&lt;/a&gt; sitting outside looking like a lost puppy. Flight is delayed by a mere hour, so we get to the hotel with little trouble and check in. Dinner with &lt;a href=&quot;http://www.tieguy.org&quot;&gt;Luis&lt;/a&gt; and co on pillows on the street. This becomes a recurring theme. Drinking is involved. This also becomes a recurring theme. People complain about my shortcut finding skills.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sunday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Sultan_Ahmed_Mosque&quot;&gt;beautiful&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Hagia_Sophia&quot;&gt;things&lt;/a&gt;. Thankful to finally get to see buildings older than my &lt;a href=&quot;http://en.wikipedia.org/wiki/Jesus_College,_Cambridge&quot;&gt;old college&lt;/a&gt;. Dinner under &lt;a href=&quot;http://en.wikipedia.org/wiki/Galata_Bridge&quot;&gt;some bridge&lt;/a&gt; with Red Hat folks where we discover the joys of the &quot;special price&quot;. People once more complain about my shortcut finding skills. Suspect pillows are involved, but hazy recollections.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Monday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Arrive at the university by taxi. More to the point, arrive at the university by taxi without taking a &lt;a href=&quot;http://www.ecademy.com/module.php?mod=list&amp;lid=126940&quot;&gt;30km detour&lt;/a&gt;. Dinner with Canonical people, then a party in some &lt;a href=&quot;http://www.riddim.com.tr/&quot;&gt;overpriced bar&lt;/a&gt; on the top of a very big hill. Discover that taxi drivers in Istanbul either have no fucking clue where anything in the entire world is, or that driving tourists to bizarre locations is a national pastime. Avoid this fate and arrive home at something like 4AM.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Tuesday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Corporate whoring continues with dinner with Collabora people (delayed by two and a half hours because &lt;a href=&quot;http://blogs.gnome.org/uraeus/&quot;&gt;Christian&lt;/a&gt; values getting sweaty with other men over eating, or something), followed by more drinks on the pillows. Am vindicated when it turns out that my route back to the hotel would in fact be the shortest possible route back if people didn't keep insisting on making random left turns when we're almost there.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Wednesday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Fascinating (and increasingly drunken) discussion of the neurobiological aspects of colour spaces with &lt;a href=&quot;http://pippin.gimp.org/&quot;&gt;Pippin&lt;/a&gt; precedes drinks on the roof of the university. Narrowly prevent Luis' attempt to leave the foundation open to &lt;a href=&quot;http://www.unhappybirthday.com/&quot;&gt;flagrant copyright violation&lt;/a&gt; suits. More pillows.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Thursday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Wake up with a twisted ankle and a broken laptop. I had a good birthday, it seems. Collabora host a party on a boat. Miraculously, nobody falls off the boat. We head back to the pillows while others trudge up the hill to &lt;a href=&quot;http://en.wikipedia.org/wiki/Taksim_Square&quot;&gt;Taksim&lt;/a&gt;. &lt;a href=&quot;http://abock.org/&quot;&gt;Aaron&lt;/a&gt; wins the inaugural Aaron Bockover award for services to the GNOME community.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Friday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Dinner with Novell, demonstrating my even-handedness when it comes to accepting corporate favours. &lt;a href=&quot;http://tirania.org/blog/&quot;&gt;Miguel&lt;/a&gt; reveals his true nature as a Microsoft shill by admitting to owning an XBox. I advise him to raise his free software credentials by getting a &lt;a href=&quot;http://wiki.openmoko.org/wiki/Neo_FreeRunner&quot;&gt;Freerunner&lt;/a&gt; - as a bonus it'll crash whenever anyone tries to call him, preventing Microsoft from whispering more sweet nothings in his ear. A foolproof plan. Party paid for by Google. Ear bleedingly loud. Some drinking involved. Return to bizarro deviant pillows where we are treated to the spectacle of child labour. Spend some time wondering why Planet Fedora is discussing &lt;a href=&quot;http://nicubunu.blogspot.com/2008/07/mixed-stuff-fonts-photos-games.html&quot;&gt;upskirt photos&lt;/a&gt; and decide that hating the entire human race is probably the best option.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Saturday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Turns out that while the &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Grand_Bazaar,_Istanbul&quot;&gt;Grand Bazaar&lt;/a&gt; is effectively just a shopping centre, it's a fucking giant shopping centre that sells nothing I can find any excuse to want. Wander over to Asia for dinner. Conversation with &lt;a href=&quot;http://0pointer.de/blog&quot;&gt;Lennart&lt;/a&gt; about using cgroups as a mechanism for providing application latency requirements and how the current lack of standardisation of mountpoints and exposure of irritating implementation details makes it almost impossible to use them for &lt;em&gt;anything&lt;/em&gt;. Fascinating diversion into how to deal with getting a SIGBUS when your mmap()ed soundcard gets hotswapped, including deciding that the easiest way of getting a reliable indication of your current process maps is by, erm, parsing /proc/self/maps. Final pillows trip. Emotional farewells (by which I mean more drinking)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sunday&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Airport. Plane. Train. Home. Transfer hard drive into laptop with working screen. Discover that productivity not actually enhanced by having more than a 300x200 pixel area of functionality. Decide to write libelous article about previous week instead.</content:encoded>
	<dc:date>2008-07-13T23:06:46+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/math/bezier/2008_07_13">
	<title>Evgeniy Polyakov: Hermite interpolation.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/math/bezier/2008_07_13</link>
	<content:encoded>&lt;img src=&quot;http://tservice.net.ru/~s0mbre/gallery/hermite_interpolation.gif&quot; alt=&quot;Hermite interpolation examples&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

This interpolation uses cardinal splines approach, and namely
Catmull-Rom splines. Next task is to test how the Kochanek-Bartels splines (also called TCB-splines)
behave. The latter are used in all popular 3d modelling engines. Since math behind them
is very non-trivial, I will try just to use existing formulas for hermite tangents, which
are quite simple.&lt;br /&gt;&lt;br /&gt;

Now its time to think, how to use this knowledge and how to apply given approach
to detect and decode letters on the image...

Comments (0)</content:encoded>
	<dc:date>2008-07-13T21:00:26+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//life/2008_07_12">
	<title>Evgeniy Polyakov: Monday evening prognosis.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//life/2008_07_12</link>
	<content:encoded>It promises to be just bloody excellent!&lt;br /&gt;&lt;br /&gt;

&lt;img src=&quot;http://tservice.net.ru/~s0mbre/gallery/select_football.jpg&quot; alt=&quot;My old Select!&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

I did not play football several years already, but I've found people,
who do like it, so our games promse to be really fun and interesing!
There are already three commands (4+1 players in the team).
This will be my first game after about 5 years of football silence,
likely there is nothing in the legs which can help playing football,
well climbing likely does not correlate with it, as long as so my experience in other physical trainings,
but nevertheless I'm looking forward this &lt;s&gt;promised to be excelptionally cool&lt;/s&gt; game!

Comments (0)</content:encoded>
	<dc:date>2008-07-12T20:00:32+00:00</dc:date>
</item>
<item rdf:about="http://laforge.gnumonks.org/weblog/2008/07/12#20080712-nxp_sues_mifare_researchers">
	<title>Harald Welte: NXP sues security researchers studying Mifare classic</title>
	<link>http://laforge.gnumonks.org/weblog/2008/07/12#20080712-nxp_sues_mifare_researchers</link>
	<content:encoded>&lt;p&gt;
In the last couple of days &lt;a href=&quot;http://www.secureidnews.com/news/2008/07/10/nxp-sues-to-prevent-hackers-from-releasing-mifare-flaws/&quot;&gt;multiple&lt;/a&gt; &lt;a href=&quot;http://www.thetechherald.com/article.php/200828/1463/NXP-sues-academic-research-team-what-are-they-afraid-of&quot;&gt;reports&lt;/a&gt; stated that NXP has filed a lawsuit against security researchers from a Dutch university who were looking at security flaws of their proprietary MIFARE Classic products.
&lt;/p&gt;
&lt;p&gt;
This is so ridiculous.  I'm surprised that this still happens! We live in the
21st century, and IT security has become a well-established field within
computer science.  Furthermore, systems based on security by obscurity should
be long gone.
&lt;/p&gt;
&lt;p&gt;
So we have a company that in 1994 first ships a allegedly secure RFID
technology.  They developed a proprietary algorithm that did not receive public
peer review in the cryptographic community, and used weak random number
generation as well as made some mistakes in the protocol/system design.  They
ship this even back then questionable product without any fix/update for 14
years, irrespective the advances in technology and cryptographic research.
During all that time, NXP marketing material claimed the product was fit for
'high security applications'.  
&lt;/p&gt;
&lt;p&gt;
Any reasonably skilled person in IT security could determine that the public
statements &quot;proprietary cipher&quot; and &quot;48 bit key length&quot;  did certainly not
sound like high security at all.  Thus, it's not surprising that in the last
two years, some people, mostly friends of mine, started to look closer at what
MIFARE classic is and what it does.
&lt;/p&gt;
&lt;p&gt;
They should be honored and rewarded for their public service in demonstrating
the irresponsible behavior of mostly NXP's customers (system integrators) and
NXP itself.  And exactly those companies are the ones that should be sued for
continuing to milk a known-insecure cash cow for more than a decade.
&lt;/p&gt;
&lt;p&gt;
I'd be more than happy to see somebody actually standing on their feet and
demanding damages from those vendors.  Imagine a small system integrator for a
vertical market who wants to look for a secure/safe electronic wallet system
and believes in the vendor promises.  Now he gets defrauded because some
criminal energy - not the ethical researchers at universities - exploit some
weakness.
&lt;/p&gt;
&lt;p&gt;
The only reason why large technology companies rarely get sued over the massive
security problems they cause in their proprietary products is the fact that
almost nobody (even the system integrators and developers) really understand
that very technology enough.  I sincerely hope that this changes at some point,
and we see all those lame promises about alleged (but completely unverified)
security go away.
&lt;/p&gt;
&lt;p&gt;
If people would just use publicly disclosed, well-known, well-studied and
well-analyzed cryptographic algorithms and implementations thereof, this world
would be a much more secure place.
&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-12T02:00:00+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/captcha/2008_07_11">
	<title>Evgeniy Polyakov: Spline graphical interpolation fun.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/captcha/2008_07_11</link>
	<content:encoded>&lt;img src=&quot;http://tservice.net.ru/~s0mbre/gallery/bezier_hermite_interpolation_init.png&quot; alt=&quot;Bezier/Hermite interpolation interface&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

Playing with different spline interpolation methods. So far they seems to be quite simple
when written in matrix form, so I cooked up simple GTK application to test various methods.&lt;br /&gt;
There is no interpolation implementation yet, since I devoted last two days to read lots of
materials about Bezier and Hermite interpolation techniques (as long as lots of papers about
distributed hash tables, which I will use as a filesystem storage base for
&lt;a href=&quot;http://tservice.net.ru/~s0mbre/old/?section=projects&amp;item=pohmelfs&quot;&gt;POHMELFS&lt;/a&gt;).

Comments (6)</content:encoded>
	<dc:date>2008-07-11T19:00:24+00:00</dc:date>
</item>
<item rdf:about="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/10#net_tx_part_deux">
	<title>Dave Miller: TX multiqueue part two...</title>
	<link>http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/10#net_tx_part_deux</link>
	<content:encoded>&lt;p&gt;
Ok, progress.
&lt;p&gt;
I respun the remaining of the patches that aren't in net-next-2.6
yet and I even believe I sorted all of the wireless stack issues
out.
&lt;p&gt;
So what's left?
&lt;br /&gt;
&lt;center&gt;
&lt;img src=&quot;http://vger.kernel.org/~davem/smiles_per_hour.jpg&quot; /&gt;
&lt;br /&gt;
Downtown St. Kilda, in Melbourne, Victoria, Australia
&lt;/center&gt;
&lt;p&gt;
I have to finally sort out the qdisc configuration semantics.
And this requires partly that I learn a thing or two about
what was allowed in the uni-TX-queue state of affairs.
&lt;p&gt;
Right now one idea I have is to truly replicate.  This means
that each root qdisc on each TX queue is a perfect clone
of the one on queue zero. Same ID, same everything.
&lt;p&gt;
And the same thing will be done when people graft new qdisc trees and
classifiers onto the device.
&lt;p&gt;
I have a pretty solid idea how to implement this, but I am so
lazy that I do not want to tackle all of the error unwinding.
Specifically, doing an unwind when some queues perform the
config change just fine but a subsequent TX queue fails.  It
certainly won't be fun to make that work.
&lt;br /&gt;
&lt;center&gt;
&lt;img src=&quot;http://vger.kernel.org/~davem/luna_park.jpg&quot; /&gt;
&lt;br /&gt;
Luna Park, also in Melbourne
&lt;/center&gt;
&lt;p&gt;
Later on we can add a netlink attribute or similar to let the
user operate on a specific TX queue in a qdisc config change.
But I have a suspicion that we'll need to be careful about that.
&lt;p&gt;
It could get tricky if the user makes a specific TX queue
config change, and then later we get an &quot;anonymous&quot; one that
should be replicated.
&lt;p&gt;
I suppose the answer to that is that we merely follow the
user's orders even if it might not make sense, and the user
simply has to properly specify TX queues when appropriate.&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;</content:encoded>
	<dc:date>2008-07-10T07:21:00+00:00</dc:date>
</item>
<item rdf:about="http://virtuousgeek.org/blog/26@http://virtuousgeek.org/blog/">
	<title>Jesse Barnes: Fun in Folsom</title>
	<link>http://virtuousgeek.org/blog/index.php/2008/07/09/un_in_folsom</link>
	<content:encoded>&lt;p&gt;Just got back from a nice dinner &amp;amp; &amp;#8220;gelato&amp;#8221; (it was really ice cream) with Keith &amp;amp; Nanhai.  We went to the &lt;a href=&quot;http://www.cliffhouseoffolsom.com/&quot;&gt;Cliff House&lt;/a&gt; here in Folsom; we all ended up getting tasty steaks.&lt;/p&gt;

&lt;p&gt;But back to the matter at hand.  We&amp;#8217;re all here at GfxCon 2008, an Intel event that brings together graphics architects and developers from across the company.  There&amp;#8217;s a lot of fun stuff going on, with some good sessions today and interesting demos (though of course I can&amp;#8217;t talk about any of them, you&amp;#8217;ll just have to wait for the products!).&lt;/p&gt;

&lt;p&gt;The best part though has been the networking.  It&amp;#8217;s great to meet the developers I&amp;#8217;ve only worked with over email, and have discussions face to face.  Keith and I had some good brainstorming sessions about how to handle hardware contexts, and how we want to deal with vblank syncing in the GEM-enabled world.  Fortunately, our discussions ended up sounding very similar to the discussions I had with krh back at XDC about vblank syncing in DRI2.  Now I just have to code it up&amp;#8230;&lt;/p&gt;

&lt;p&gt;Hm, and let&amp;#8217;s see how I&amp;#8217;ve done keeping my promises from last week:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SSC detection/usage: still need review before pushing&lt;/li&gt;
&lt;li&gt;TV detection: still need review before pushing&lt;/li&gt;
&lt;li&gt;fbc fixes: pushed&lt;/li&gt;
&lt;li&gt;memory arbitration: test patch attached to &lt;a href=&quot;https://bugs.freedesktop.org/show_bug.cgi?id=16169&quot;&gt;16169&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;page flipping/buffer swap fixes: still working on these&lt;/li&gt;
&lt;li&gt;PCI &amp;#8220;what&amp;#8217;s next&amp;#8221; msg: still working on it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hopefully I&amp;#8217;ll be able to find time tomorrow with Nanhai or Keith to review and push some of the stuff above&amp;#8230;  Then on to hardware contexts.&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-10T04:44:20+00:00</dc:date>
</item>
<item rdf:about="http://zaitcev.livejournal.com/170877.html">
	<title>Pete Zaitcev: Follow focus nazi</title>
	<link>http://zaitcev.livejournal.com/170877.html</link>
	<content:encoded>&lt;p&gt;I have a laptop with Synaptics touchpad, and one of the biggest annoyances in its implementation is how the &quot;wheel&quot; strips act upon the GUI element where the mouse is pointing regardless of the current focus. It took years to beat focus-follow-mouse people into a marginal submission, yet they still find every crack to seep through, like kerosene. Naturally, this behaviour is not tunable.&lt;/p&gt;
&lt;p&gt;Another retardity in this area is the behaviour of the panel. Some genious came up with an awesome idea to flip windows if panel receives a wheel click. The problem with that is, a strip on the laptop is difficult to make to deliver just one click, so the function is useless to me. Also, it is too easy to hit the strip accidentially (which would not be a big deal if not for the enforced focus-follow). So, for one reason or the other, I would like to disable this behaviour. I don't even want to seek excuses for this wish. Just do it. But it's impossible.&lt;/p&gt;
&lt;p&gt;So far the only group that displayed a clue in this was, strangely enough, Mozilla. They fixed bugs I filed and in general had an understanding of various input and display technologies, despite only being browser people. You'd think desktop developers would know how a touchpad differs from a wheel mouse.&lt;/p&gt;
&lt;p&gt;UPDATE: &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/&quot;&gt;Chris&lt;/a&gt; pointed out in comments that a fundamental reason exists why wheel behaves this way: the extra button events are mouse buttons, and those go where pointer points. I knew it, but it didn't click. I still think that applications should be able to work around this, although perhaps at the cost of some extra events being delivered.&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-09T23:23:04+00:00</dc:date>
</item>
<item rdf:about="http://tservice.net.ru/~s0mbre/blog//devel/captcha/2008_07_09">
	<title>Evgeniy Polyakov: Captcha transformation algorithms.</title>
	<link>http://tservice.net.ru/~s0mbre/blog//devel/captcha/2008_07_09</link>
	<content:encoded>Couple of first ideas. Pretty trivial.&lt;br /&gt;&lt;br /&gt;

&lt;img width=&quot;600&quot; src=&quot;http://tservice.net.ru/~s0mbre/gallery/captcha_mailru_sliding_normalize.png&quot; alt=&quot;Average sliding and normalization algorithms&quot; /&gt;&lt;br /&gt;&lt;br /&gt;

Next step is to squize images, so that all bold lines moved to single-pixel ones.
In theory it should not be very complex (I have an algorithm in mind), but in practice
it will - starting to recall why in the hell I
&lt;a href=&quot;http://tservice.net.ru/~s0mbre/blog/devel/other/2008_06_18.html&quot;&gt;learnt&lt;/a&gt; LISP.&lt;br /&gt;
Basic idea is to transform above BW pictures into simple binary format, which will be read by LISP
application, since I do not know and do not want to devote much time to learn how to parse/process
various image formats, instead it is done by GTK application written in C. I belive LISP was
called the best language for artificial intellengence development for reason, so will try to
find why.&lt;br /&gt;&lt;br /&gt;

Slacking - rox :)

Comments (4)</content:encoded>
	<dc:date>2008-07-09T13:00:32+00:00</dc:date>
</item>
<item rdf:about="http://james-morris.livejournal.com/31240.html">
	<title>James Morris: Linux Foundation Japan Symposium Notes</title>
	<link>http://james-morris.livejournal.com/31240.html</link>
	<content:encoded>I presented on the SELinux project today at the &lt;a href=&quot;http://www.linux-foundation.jp/modules/eguide/&quot;&gt;Linux Foundation Japan Symposium&lt;/a&gt; in Tokyo.  The slides from my talk may be downloaded &lt;a href=&quot;http://namei.org/presentations/lf-japan-08-talk.pdf&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's been an interesting conference, with some smaller BoF sessions planned for tomorrow.  I live micro-blogged the conference via my &lt;a href=&quot;http://identi.ca/jamesm&quot;&gt;identi.ca account&lt;/a&gt;, which I guess turned out as a kind of public note-taking.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href=&quot;http://www.flickr.com/photos/x_jamesmorris/2651603864/&quot; title=&quot;Andrew Morton, Translator and Thomas Gleixner&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3225/2651603864_777efa47c0.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; alt=&quot;img_5474&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Andrew Morton covered quite a lot of interesting kernel process material, highlighting some areas which we need to address (such as whether we're ready at all to support solid state disks), and explaining his view of the linux-next tree, one unpublished purpose of which was to get kernel hackers to test each others code before upstream merge.  He also said that around 15% of kernel contributions are now coming from Japan.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href=&quot;http://www.flickr.com/photos/x_jamesmorris/2652248190/&quot; title=&quot;Fedora 9 DVDs and Live CDs&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://farm4.static.flickr.com/3002/2652248190_af9e8c92d0.jpg&quot; width=&quot;500&quot; height=&quot;375&quot; alt=&quot;Fedora 9 DVDs and Live CDs&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;a href=&quot;http://gregdek.livejournal.com/&quot;&gt;Greg DeKoenigsberg&lt;/a&gt; kindly shipped a pile of Fedora DVDs and Live CDs across to give to the attendees.  The CDs &amp;amp; DVDs proved very popular and were all distributed.&lt;br /&gt;&lt;br /&gt;More photos &lt;a href=&quot;http://www.flickr.com/photos/x_jamesmorris/sets/72157606062948055/&quot;&gt;here&lt;/a&gt;.</content:encoded>
	<dc:date>2008-07-09T12:39:32+00:00</dc:date>
</item>
<item rdf:about="http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/09#netdev_tx_peeling">
	<title>Dave Miller: Grinding away on TX multiqueue</title>
	<link>http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2008/07/09#netdev_tx_peeling</link>
	<content:encoded>&lt;p&gt;
The first batch of TX multiqueue patches went into net-next-2.6
today.  Nothing real interesting, just infrastructure pieces.
Part of the long road to the destination.
&lt;p&gt;
So then I turned towards the task of hardening up the remaining
patches and the sequencing isn't all that easy.
&lt;br /&gt;
&lt;center&gt;
&lt;img src=&quot;http://vger.kernel.org/~davem/northwestern.jpg&quot; /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.fvnorthwestern.com&quot;&gt;F/V Northwestern&lt;/a&gt;
from Discovery Channel's
&lt;a href=&quot;http://en.wikipedia.org/wiki/Deadliest_Catch&quot;&gt;
Deadliest Catch.&lt;/a&gt;
&lt;br /&gt;
It's home dock is down the street from my house.
&lt;/center&gt;
&lt;p&gt;
The existing multiqueue code I want to keep working until I
&quot;flip the switch&quot; into the new stuff.  But part of what the
existing code does is manage the queues in a two-stage manner.
&lt;p&gt;
There is a global queue that controls the flow control of
the entire device.  And underneath there are per-queue
controls.  Both have to be enabled in order to send
packets into a particular queue.
&lt;p&gt;
In the new stuff there is just one control per queue for better
parallelization and scaling.  The new per-queue datastructure holds
the flag bits that manage the per-queue flow control state.
&lt;p&gt;
First there is a patch I add that transitions over to allocating
multiple instances of the new datastructure, one for each TX
queue, instead of having just one.  But I left the existing
multiqueue flow control routines using the egress_subqueue[]
state bit array.
&lt;p&gt;
At that point the normal netif_stop_queue() et al. functions
operate on TX queue zero in the n