<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Multi-Language Planet Sysadmin</title>
	<link rel="self" href="http://www.sysadminblogs.com/iplanet/atom.xml"/>
	<link href="http://www.sysadminblogs.com/iplanet/"/>
	<id>http://www.sysadminblogs.com/iplanet/atom.xml</id>
	<updated>2008-09-08T07:44:42+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/1.0 +http://www.planetplanet.org</generator>

	<entry xml:lang="en">
		<title type="html">DIY photography speed strap</title>
		<link href="http://www.hackszine.com/blog/archive/2008/09/diy_photography_speed_strap.html?CMP=OTC-7G2N43923558"/>
		<id>http://www.hackszine.com/blog/archive/2008/09/diy_photography_speed_strap.html?CMP=OTC-7G2N43923558</id>
		<updated>2008-09-08T03:34:33+00:00</updated>
		<content type="html">&lt;p&gt;&lt;span class=&quot;mt-enclosure mt-enclosure-image&quot;&gt;&lt;img alt=&quot;speedstrap_20080907.jpg&quot; src=&quot;http://www.hackszine.com/speedstrap_20080907.jpg&quot; width=&quot;600&quot; height=&quot;400&quot; class=&quot;mt-image-none&quot; /&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;To obtain certain lighting effects, you sometimes need to attach things to your flash head, such as gel filters or bounce cards. Normally, this involves fussing around trying to strap things down with a rubber band or opting to gum up your equipment with sticky-backed velcro or tape. Instead you can create a cheap speed strap that's both easily removable and simple to attach things to.&lt;/p&gt;

&lt;p&gt;There are commercial solutions for this that can be a bit pricey, but Jake O'Connell found a way to make one on the cheap for about $3. Velcro came out with something called a &quot;Design Strap&quot;, which is basically a zip-tie with Velcro on one side. Put a rubber band around your flash and then wrap a couple Design Straps over that and you have an attachment system that stays put, comes off easy, and is simple to attach things to. Just add velcro to your gels, bounce cards or whatever and you can quickly affix them to the flash however you like.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jakeoconnell.blogspot.com/2008/08/diy-3-dollar-10-second-speed-strap.html&quot;&gt;DIY 3 Dollar 10 Second Speed Strap&lt;/a&gt; &lt;/p&gt;</content>
		<author>
			<name>Hackszine</name>
			<uri>http://www.hackszine.com/</uri>
		</author>
		<source>
			<title type="html">Hackszine.com</title>
			<subtitle type="html">Clever solutions to interesting problems.</subtitle>
			<link rel="self" href="http://hackszine.com/index.xml"/>
			<id>http://hackszine.com/index.xml</id>
			<updated>2008-09-08T03:43:40+00:00</updated>
			<rights>Copyright 2008</rights>
		</source>
	</entry>

	<entry>
		<title type="html">More Examples of Windows Multimedia Redirection</title>
		<link href="http://blogs.sun.com/ThinGuy/entry/more_examples_mulitmedia_redirection"/>
		<id>http://blogs.sun.com/ThinGuy/entry/more_examples_mulitmedia_redirection</id>
		<updated>2008-09-08T03:28:23+00:00</updated>
		<content type="html">&lt;p&gt;In my &lt;a href=&quot;http://blogs.sun.com/ThinGuy/entry/upcoming_sun_ray_features_multimedia&quot;&gt;last entry&lt;/a&gt;, &lt;a href=&quot;http://blogs.sun.com/ThinGuy/entry/upcoming_sun_ray_features_multimedia#comment-1220434027000&quot;&gt;&amp;quot;CL&amp;quot; posted a comment&lt;/a&gt; wanting more to see more examples of Windows media redirection.&amp;nbsp; Here's another video showing a variety of clips.&amp;nbsp; Talking heads, animation,&amp;nbsp; a couple of VC-1 live streams.&amp;nbsp; Enjoy.&amp;nbsp; Still have the dog barking at the tripod problem, so I apologize for some of the shaky parts.&amp;nbsp; Take a Dramamine if you get queasy.&amp;nbsp; If you want to watch this in a bit better quality, &lt;a href=&quot;http://tinyurl.com/5bolme&quot;&gt;follow this link&lt;/a&gt; and click on the &amp;quot;watch in high quality&amp;quot; link once you get into YouTube (right under the &amp;quot;Views&amp;quot; number).&lt;br /&gt;&lt;/p&gt; 
  &lt;p&gt; &lt;/p&gt;</content>
		<author>
			<name>ThinGuy</name>
			<uri>http://blogs.sun.com/ThinGuy/</uri>
		</author>
		<source>
			<title type="html">The S Word Blog</title>
			<subtitle type="html">A mostly 100% sort-of-semi-technical blog by Thin Guy. Mostly.</subtitle>
			<link rel="self" href="http://blogs.sun.com/ThinGuy/feed/entries/atom"/>
			<id>http://blogs.sun.com/ThinGuy/feed/entries/atom</id>
			<updated>2008-09-08T03:44:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Fanning the Winds of Change in Storage</title>
		<link href="http://blogs.sun.com/jonathan/entry/focusing_on_storage"/>
		<id>http://blogs.sun.com/jonathan/entry/focusing_on_storage</id>
		<updated>2008-09-08T03:20:32+00:00</updated>
		<content type="html">It's been over a month (and three hurricanes in America) since I've posted a blog. More than a few of you've noticed - thanks for the prodding...
&lt;p&gt;

&lt;a&gt; &lt;img src=&quot;http://blogs.sun.com/jonathan/feed/entries/
http://www.comparestoreprices.co.uk/images/al/alaskan-30cm-brushed-nickel-fan.jpg
&quot; /&gt;&lt;/a&gt; &lt;/p&gt; 

&lt;p&gt;
It's been a busy summer, on nearly every front. Customer activity hasn't slowed down, and the good news surrounding the (otherwise unfortunate) economic crisis embroiling many customers (especially those in the financial services industry, a heavy concentration for Sun) is that it's whipping up the winds of change. Customers facing spending pressure, or tiring of vendor price increases have new options, and there's a new appetite to explore those options (nothing like mandates from the CEO to reduce spending by 50%).
&lt;p&gt;
One of my more interesting recent meetings wasn't with a customer, though, it was with an equity analyst from a global financial institution. Equity analysts publish research that feeds the investment community - their (free) research and financial analysis accompanies buy/hold/sell recommendations to investors (who hopefully generate trading fees for the analyst's employers).
&lt;p&gt;
This one analyst hadn't historically followed Sun, and was in the process of developing his first rating. He wanted to focus on our storage plans - more and more of the customers whom he interviewed were focused on storage, and many were talking up a specific open source software technology: &lt;a href=&quot;http://www.opensolaris.org/os/community/zfs/whatis/&quot;&gt;ZFS&lt;/a&gt;. (Before meeting with me, he'd talked to colleagues in his own IT shop, and was impressed to find some who admitted to running ZFS at home - nothing like touching your customers where they live... if you'd like to have ZFS sent to you, &lt;a href=&quot;https://www2.sun.de/dct/forms/reg_us_2307_228_0.jsp&quot;&gt;click here&lt;/a&gt; or on the LiveCD shown at right.)
&lt;p&gt;
  &lt;p&gt; &lt;a href=&quot;https://www2.sun.de/dct/forms/reg_us_2307_228_0.jsp&quot;&gt;&lt;img src=&quot;http://blogs.sun.com/jonathan/resource/OpenSolaris_CDimage.jpg&quot; /&gt; &lt;/a&gt; &lt;/p&gt; 
&lt;p&gt;
Granted, you can see an increasing focus on storage at Sun - the acquisition of MySQL is as much a storage acquisition, as an enhancement to Sun's developer offerings. Discussions of flash memory, the economics of archiving, the Lustre parallel file system, all point to an increasing focus on what Sun sees as an exceptional opportunity for customers (and thus, investors). Storage and computing are converging - and we're about to bring the trends that transformed the server industry a few years ago (mass engagement in open development communities, and scale achieved via clusters of commodity parts vs. proprietary technologies) to the historically closed and proprietary storage industry. 
&lt;p&gt;
Now, the notion of &quot;engaging customers in open development communities&quot; doesn't sit well among some traditional storage analysts (or our competition) who believe &quot;Storage is too mission critical to tolerate open source software.&quot; Although I appreciate that wisdom and experience, I think the market's more nuanced than that - mission critical environments don't tolerate unsupported software, true, which is why we offer 24x7 commercial support for ZFS (on Sun hardware, and &lt;a href=&quot;http://www.dell.com/solaris&quot;&gt;Dell&lt;/a&gt;, even). But broad global adoption of key open source projects will continue to drive change deep into the world's datacenters. Gartner's prediction that 90% of world's companies will run open source software didn't specify where they'd be running it - &quot;everywhere&quot; is the safest bet.
&lt;p&gt;
But back to the equity analyst - he patiently asked, &quot;Great theory, but when will you see revenue results?&quot; 
&lt;p&gt;
&quot;Last year,&quot; I responded. &quot;You're seeing it accelerate.&quot;
&lt;p&gt;

&lt;a&gt;&lt;img src=&quot;http://blogs.sun.com/jonathan/resource/X4500_lowres.1024x768.jpg&quot; /&gt;&lt;/a&gt; &lt;/p&gt; 

&lt;p&gt;
As many folks know, we shipped our first ZFS based storage systems in 2007 - known as &lt;a href=&quot;http://www.sun.com/servers/x64/x4540/&quot;&gt;Thumpers&lt;/a&gt;. Thumpers finished up this last year generating around $100m in billings, up 80% year over year. From a capacity perspective, we delivered roughly 90 petabytes of Thumper storage in FY2008, to some of the most demanding storage installations on earth (up ~200% y/y). What's fueling the growth? Adoption of ZFS is a clear driver (&lt;a href=&quot;http://sysnet.sunwarp.net/maps/?lat=27.371767300523047&amp;amp;lng=-15.8203125&amp;amp;zoom=2&amp;amp;mtype=Blank&quot;&gt;this chart&lt;/a&gt; gives you a sense of where we're seeing adoption - thus revenue opportunity). But ultimately, customers are recognizing they can save money, space and power. &lt;b&gt;Thumpers are roughly twice the capacity in half the space at half the cost of the competition - $1.20/Gigabyte.&lt;/b&gt; (They also run Windows and Linux with the same hardware economics).

&lt;p&gt;
Now, our view is &quot;OpenStorage&quot; (systems built from commodity parts and open source software) will grow far faster than the proprietary storage market. We plan on driving that growth, and over the next few months, you'll see a tremendous amount of storage innovation targeting the growing breadth of customers wanting better/faster/cheaper/smaller options. Expect to see flash, zfs, dtrace, and good old fashioned systems engineering play a very prominent role in an aggressive push into the storage market.
&lt;p&gt;
And in case you missed &lt;a href=&quot;http://www.sun.com/aboutsun/pr/2008-09/sunflash.20080905.1.xml&quot;&gt;our announcement&lt;/a&gt; last week, our progress was validated by industry analysis - IDC said customers are growing their disk storage business with Sun far faster than with any of our proprietary competition. And at three times the rate of the overall market's growth. A great place to start.
&lt;p&gt;
&lt;a href=&quot;http://www.sun-sentinel.com/news/weather/hurricane/sfl-rebpalmtrees29jan29,0,4799509.story&quot;&gt;&lt;img src=&quot;http://www.sun-sentinel.com/media/photo/2006-01/21618526.jpg&quot; /&gt;&lt;/a&gt; &lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt; 
&lt;p&gt;

If you'd like to know more, and might be interested in taking a Thumper system for a free trial run, just &lt;a href=&quot;http://www.sun.com/tryandbuy/applyonline.jsp?puuid=391d17f4-e2fe-11db-8c3c-080020a9ed93&quot;&gt;click here&lt;/a&gt; and pick the country in which you're located. We supply most systems at Sun for free trials across the globe (yes, we even cover shipping to you). If you like the system, please buy it. If not, we'll take care of getting it returned to Sun, you owe us nothing. (That's the closest we can get to free hardware downloads...)
&lt;p&gt;
As I said to the analyst, you need only look to the results we're already delivering to see the linkage between open innovation and revenue growth. ZFS won't transform demand for our legacy products, but it'll certainly transform the opportunity and industry unfolding before us. But don't just get our opinion, the best folks to validate our approach aren't at Sun, they're among the storage buyers finally feeling the winds of change - at their backs.
&lt;p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content>
		<author>
			<name>Jonathan Schwartz</name>
			<uri>http://blogs.sun.com/jonathan/</uri>
		</author>
		<source>
			<title type="html">Jonathan Schwartz's Blog</title>
			<subtitle type="html">Jonathan Schwartz's Blog</subtitle>
			<link rel="self" href="http://blogs.sun.com/jonathan/feed/entries/atom"/>
			<id>http://blogs.sun.com/jonathan/feed/entries/atom</id>
			<updated>2008-09-08T07:44:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">LVM on AIX: Extending a Filesystem</title>
		<link href="http://blog.irwan.name/?p=559"/>
		<id>http://blog.irwan.name/?p=559</id>
		<updated>2008-09-07T23:16:05+00:00</updated>
		<content type="html">[Prologue]
SysAdmin received this email, looks like the request has been escalated to my boss.
L1/L2,
Could you please assist Matt ASAP! This is pertaining to UNIX acct so we need to iron out.
The SC is 14270227.
Make this high priority please.
Thanks
Issue
root filesystem (/) is currently 100% full. Quick Response Team require free disk space to perform some activities [...]</content>
		<author>
			<name>SysAdmin's Diary</name>
			<uri>http://blog.irwan.name</uri>
		</author>
		<source>
			<title type="html">SysAdmin's Diary</title>
			<subtitle type="html">Through passion, I gain strength. Through strength, I gain power. Through power, I gain victory.</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/irwan/CKSS"/>
			<id>http://feeds.feedburner.com/irwan/CKSS</id>
			<updated>2008-09-08T00:43:47+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Install google chrome with wine in Ubuntu</title>
		<link href="http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html"/>
		<id>http://www.ubuntugeek.com/?p=624</id>
		<updated>2008-09-07T23:03:46+00:00</updated>
		<content type="html">&lt;p&gt;&lt;div&gt;
&lt;!--
google_ad_client = &quot;pub-3561711309083119&quot;;
//Ubuntu Rectangle
google_ad_slot = &quot;1464388544&quot;;
google_ad_width = 300;
google_ad_height = 250;
//--&gt;

&lt;/div&gt;Google Chrome is an open source web browser developed by Google. The name is derived from the graphical user interface frame, or &amp;#8220;chrome&amp;#8221;, of web browsers.Chromium is the name of the open source project behind Google Chrome,released under the BSD license.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
	&lt;p&gt;(...)&lt;br /&gt;Read the rest of &lt;a href=&quot;http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html&quot;&gt;Install google chrome with wine in Ubuntu&lt;/a&gt; (329 words)&lt;/p&gt;
	&lt;hr noshade=&quot;noshade&quot; /&gt;
	&lt;small&gt;&lt;p&gt;&amp;copy; admin for &lt;a href=&quot;http://www.ubuntugeek.com&quot;&gt;Ubuntu Geek&lt;/a&gt;, 2008. |
	&lt;a href=&quot;http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html&quot;&gt;Permalink&lt;/a&gt; |
	&lt;a href=&quot;http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html#comments&quot;&gt;No comment&lt;/a&gt; |
	Add to
	&lt;a href=&quot;http://del.icio.us/post?url=http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html&amp;amp;title=Install google chrome with wine in Ubuntu&quot;&gt;&lt;img src=&quot;http://yoursite.com/images/icons/delicious.gif&quot; border=&quot;0&quot; /&gt; del.icio.us&lt;/a&gt;
	&lt;a href=&quot;http://www.digg.com/submit&quot;&gt;&lt;img src=&quot;http://yoursite.com/images/digg.gif&quot; border=&quot;0&quot; /&gt; digg&lt;/a&gt;&lt;br /&gt;
	Who's linking ?
	&lt;a href=&quot;http://www.technorati.com/search/http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html&quot; title=&quot;Search on Technorati&quot;&gt;&lt;img src=&quot;http://yoursite.com/images/icons/technorati.gif&quot; border=&quot;0&quot; /&gt;Technorati&lt;/a&gt;
	&lt;a href=&quot;http://www.blogpulse.com/search?query=http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html&quot; title=&quot;Search on Blogpulse&quot;&gt;&lt;img src=&quot;http://yoursite.com/images/icons/blogpulse.gif&quot; border=&quot;0&quot; /&gt;BlogPulse&lt;/a&gt;
	&lt;a href=&quot;http://google.com/blogsearch?q=http://www.ubuntugeek.com/install-google-chrome-with-wine-in-ubuntu.html&quot; title=&quot;Search on Google Blog Search&quot;&gt;&lt;img src=&quot;http://yoursite.com/images/icons/google.gif&quot; border=&quot;0&quot; /&gt;Google&lt;/a&gt;&lt;br /&gt;
	Want more on these topics ? Browse the archive of posts filed under &lt;a href=&quot;http://www.ubuntugeek.com/category/general&quot; title=&quot;View all posts in General&quot; rel=&quot;category tag&quot;&gt;General&lt;/a&gt;.&lt;/p&gt;&lt;/small&gt;
	&lt;h4&gt;Related Articles&lt;/h4&gt;
	&lt;ul class=&quot;st-related-posts&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/webmin-installation-and-configuration-in-ubuntu-linux.html&quot; title=&quot;Webmin Installation and Configuration in Ubuntu Linux (December 22, 2006)&quot;&gt;Webmin Installation and Configuration in Ubuntu Linux&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/webalizer-apache-web-server-log-file-analysis-tool.html&quot; title=&quot;Webalizer - Apache web server log file analysis Tool (June 10, 2008)&quot;&gt;Webalizer - Apache web server log file analysis Tool&lt;/a&gt; (3)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/upgrade-ubuntu-server-610-edgy-eft-to-704-feisty-fawn.html&quot; title=&quot;Upgrade Ubuntu Server 6.10 (Edgy Eft) to 7.04 (Feisty Fawn) (April 25, 2007)&quot;&gt;Upgrade Ubuntu Server 6.10 (Edgy Eft) to 7.04 (Feisty Fawn)&lt;/a&gt; (3)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/update-ip-addresses-at-dynamic-dns-services-using-ddclient.html&quot; title=&quot;Update IP addresses at dynamic DNS services Using ddclient (May 28, 2008)&quot;&gt;Update IP addresses at dynamic DNS services Using ddclient&lt;/a&gt; (12)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/ufw-uncomplicated-firewall-for-ubuntu-hardy.html&quot; title=&quot;UFW (Uncomplicated firewall) For Ubuntu Hardy (February 7, 2008)&quot;&gt;UFW (Uncomplicated firewall) For Ubuntu Hardy&lt;/a&gt; (21)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/ubuntu-linux-apache2-virtual-hosts-syslog-server.html&quot; title=&quot;Ubuntu Linux + Apache2 + Virtual Hosts + Syslog Server (September 2, 2007)&quot;&gt;Ubuntu Linux + Apache2 + Virtual Hosts + Syslog Server&lt;/a&gt; (6)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/ubuntu-804-hardy-heron-lamp-server-setup.html&quot; title=&quot;Ubuntu 8.04 (Hardy Heron) LAMP Server Setup (June 12, 2008)&quot;&gt;Ubuntu 8.04 (Hardy Heron) LAMP Server Setup&lt;/a&gt; (34)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/ubuntu-710-gutsy-gibbon-lamp-server-setup.html&quot; title=&quot;Ubuntu 7.10 (Gutsy Gibbon) LAMP Server Setup (December 5, 2007)&quot;&gt;Ubuntu 7.10 (Gutsy Gibbon) LAMP Server Setup&lt;/a&gt; (29)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.ubuntugeek.com/ubuntu-704-feisty-fawn-lamp-server-setup.html&quot; title=&quot;Ubuntu 7.04 (Feisty Fawn) LAMP Server Setup (May 27, 2007)&quot;&gt;Ubuntu 7.04 (Feisty Fawn) LAMP Server Setup&lt;/a&gt; (15)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/UbuntuGeek?a=bleJnt&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/UbuntuGeek?i=bleJnt&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?a=Hes8L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?i=Hes8L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?a=m8gLl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?i=m8gLl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?a=MgNZL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?i=MgNZL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?a=m0IUL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?i=m0IUL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?a=WpUEL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?i=WpUEL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?a=cUm1l&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/UbuntuGeek?i=cUm1l&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Ubuntu Geek</name>
			<uri>http://www.ubuntugeek.com</uri>
		</author>
		<source>
			<title type="html">Ubuntu Geek</title>
			<subtitle type="html">Ubuntu Linux Tips,Howtos&amp;amp;Tutorials|Edgy,Feisty,Gutsy,Hardy,Intrepid</subtitle>
			<link rel="self" href="http://www.ubuntugeek.com/feed/"/>
			<id>http://www.ubuntugeek.com/feed/</id>
			<updated>2008-09-08T02:43:51+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Making terms of service clearer</title>
		<link href="http://feeds.feedburner.com/~r/blogspot/MKuf/~3/386367666/making-terms-of-service-clearer.html"/>
		<id>tag:blogger.com,1999:blog-10861780.post-3265466839945118652</id>
		<updated>2008-09-07T22:56:51+00:00</updated>
		<content type="html">Last week's &lt;a href=&quot;http://googleblog.blogspot.com/2008/09/fresh-take-on-browser.html&quot; title=&quot;launch of Google Chrome&quot; target=&quot;_blank&quot;&gt;launch of Google Chrome&lt;/a&gt; generated some discussion over the legal language in our new browser's terms of service (TOS). As we noted in a &lt;a href=&quot;http://googleblog.blogspot.com/2008/09/update-to-google-chromes-terms-of.html&quot; title=&quot;we noted in this post&quot; target=&quot;_blank&quot;&gt;subsequent post&lt;/a&gt; on Google Chrome's terms of service:&lt;br /&gt;&lt;blockquote&gt;&quot;... Under copyright law, Google needs what's called a &quot;license&quot; to display or transmit content. So to show a blog, we ask the user to give us a license to the blog's content. (The same goes for any other service where users can create content.) But in all these cases, the license is limited to providing the service.&quot;&lt;/blockquote&gt;We've also some seen discussion on a few blogs about how our universal terms of service apply to other products, with some users worried that Google is trying to claim ownership of the content they generate. To be clear: our terms do not claim ownership of your content -- what you create is yours and remains yours. But in lawyer-speak, we need to ask for a 'license' (which basically means your permission) to display this content to the wider world when that's what you intend. This issue is not unique to Google; it applies to lots of other Internet companies that display and transmit user content. You can see some other terms of service here from &lt;a href=&quot;http://www.amazon.com/gp/help/customer/display.html?ie=UTF8&amp;amp;nodeId=508088&quot;&gt;Amazon&lt;/a&gt;, &lt;a href=&quot;http://pages.ebay.com/help/policies/user-agreement.html&quot; title=&quot;eBay&quot; target=&quot;_blank&quot;&gt;eBay&lt;/a&gt;, and &lt;a href=&quot;http://www.new.facebook.com/terms.php?ref=pf&quot; title=&quot;Facebook&quot; target=&quot;_blank&quot;&gt;Facebook&lt;/a&gt;&lt;a href=&quot;http://www.new.facebook.com/terms.php?ref=pf&quot; title=&quot;Facebook&quot; target=&quot;_blank&quot;&gt;.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In some of our products, such as &lt;a title=&quot;Gmail&quot; href=&quot;http://www.google.com/mail/help/terms_of_use.html&quot; id=&quot;f0ru&quot;&gt;Gmail&lt;/a&gt; and &lt;a title=&quot;Google Docs&quot; href=&quot;http://www.google.com/google-d-s/addlterms.html&quot; id=&quot;oy_e&quot;&gt;Google Docs&lt;/a&gt;, we have included additional terms to make it clear that we do not claim ownership of the content. But even without those additional clarifications, we still wouldn't be claiming ownership of your content -- just a license that gives us your permission to use the content to provide the service. The additional terms are there to reassure our users that they still own their own content, even after giving us the permission we need to help them share and collaborate with others, whether via Gmail, Blogger, YouTube, Google Docs, or other services.&lt;br /&gt;&lt;br /&gt;Because, in the end, that's what's most important: making sure you're comfortable using our services to share, publish, and store your stuff. We'll continue to look at our terms of service to make them as clear and user-friendly as possible, because at the end of the day if you're not comfortable, our products won't succeed -- and we know it.&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;byline-author&quot;&gt;Posted by Mike Yang, Senior Product Counsel&lt;/span&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/MKuf?a=hj2vL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/MKuf?i=hj2vL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/MKuf?a=FsI2l&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/MKuf?i=FsI2l&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/blogspot/MKuf/~4/386367666&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Karen</name>
			<email>noreply@blogger.com</email>
			<uri>http://googleblog.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">The Official Google Blog</title>
			<subtitle type="html">Insights from Googlers into our products, technology, and the Google culture.</subtitle>
			<link rel="self" href="http://googleblog.blogspot.com/atom.xml"/>
			<id>tag:blogger.com,1999:blog-10861780</id>
			<updated>2008-09-08T06:44:44+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Bob Payne’s Podcast Posted</title>
		<link href="http://feeds.feedburner.com/~r/ManagingProductDevelopment/~3/386005960/bob-paynes-podcast-posted.html"/>
		<id>http://jrothman.com/blog/mpd/?p=8499</id>
		<updated>2008-09-07T19:29:54+00:00</updated>
		<content type="html">&lt;p&gt;Bob Payne interviewed me at Agile 2008. We spoke about my initial plans for Agile 2009, and my (in-writing) project portfolio book. The link is here: &lt;a href=&quot;http://agiletoolkit.libsyn.com/index.php?post_id=375344&quot;&gt;Agile 2009 - Johanna Rothman - Agile Portfolio Management and Agile 2009&lt;/a&gt;. I had a blast with Bob.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;re wondering why it sounds like I&amp;#8217;m chewing my cud (!), it&amp;#8217;s because I was shivering. I was wearing a nice shirt and a nice jacket, but it was so cold in the area Bob had set up for the interviews, my teeth were chattering and my mouth was dry because I was so cold. Next year, I will bring my fleece, and possibly a scarf and gloves.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?a=HGlBL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?i=HGlBL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?a=MZZ8L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?i=MZZ8L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?a=MGwNl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?i=MGwNl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?a=p9jal&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?i=p9jal&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?a=KtIPL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?i=KtIPL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?a=L8V8L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/ManagingProductDevelopment?i=L8V8L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/ManagingProductDevelopment/~4/386005960&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Managing Product Development</name>
			<uri>http://jrothman.com/blog/mpd</uri>
		</author>
		<source>
			<title type="html">Managing Product Development</title>
			<subtitle type="html">Management, especially good management, is hard to do. This blog is for people who want to think about how they manage people, projects, and risk.</subtitle>
			<link rel="self" href="http://www.jrothman.com/weblog/RSS/mpdblogger_rss.xml"/>
			<id>http://www.jrothman.com/weblog/RSS/mpdblogger_rss.xml</id>
			<updated>2008-09-07T19:45:15+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">eee pc</title>
		<link href="http://mbrisby.blogspot.com/2008/09/eee-pc.html"/>
		<id>tag:blogger.com,1999:blog-21734857.post-5728436644420419940</id>
		<updated>2008-09-07T20:03:50+00:00</updated>
		<content type="html">I got an &lt;a href=&quot;http://eeepc.asus.com/global/&quot;&gt;Asus eee pc&lt;/a&gt; (model 900) the other day (I ordered it through &lt;a href=&quot;http://www.buy.com/&quot;&gt;buy.com&lt;/a&gt;). I'm going to a conference next week (&lt;a href=&quot;http://www.zendcon.com/ZendCon08/public/content/home&quot;&gt;zendcon&lt;/a&gt;), and I didn't want to lug around my laptop (it gets pretty heavy after a few hours). I didn't need much--something with a Web browser, an ssh client, something to pull images off of my camera (a Kodak Easyshare v1003), and a text editor for taking notes. The eee pc fits that nicely, and it only weighs about 2.5 pounds.&lt;br /&gt;&lt;br /&gt;It's got an 8&quot; screen which I'm finding to be perfectly readable. The keyboard is pretty small, but I'm getting used to it (I'm posting this from the eee pc).&lt;br /&gt;&lt;br /&gt;It has an SD/MMC card reader, 3 USB 2.0 ports, and built-in wireless (802.11 g/b). It has 1GB of RAM and a 20GB solid-state hard drive (the thing boots to the login prompt in about 30 seconds). It even has an integrated 1.3Mpixel Web cam.&lt;br /&gt;&lt;br /&gt;I'm finding the &lt;a href=&quot;http://wiki.eeeuser.com/&quot;&gt;eeeuser wiki&lt;/a&gt; to be very helpful (especially &lt;a href=&quot;http://wiki.eeeuser.com/gwenviewui-rc_file_fix&quot;&gt;a post about getting gwenview to import photos&lt;/a&gt; from my camera).&lt;br /&gt;&lt;br /&gt;One little wrinkle I experienced was that the wireless adapter was inadvertently disabled, and it took me a little while to figure out what had happened. The eee pc typically recovers well from going to standby mode, but once when I tried to resume, the screen looked like static and I couldn't get it to do anything. I had to hold down the power button and reboot. When it came back, it refused to join my wireless network. I finally figured out (with the help of the diagnostic tools) that the wireless adapter had been disabled (dunno if I accidentally did that, or if it was a fluke). Anyway, holding down the special function key (&quot;Fn&quot; in the lower left) and hitting F2 toggles the adapter, and I was back in business.</content>
		<author>
			<name>mbrisby</name>
			<email>noreply@blogger.com</email>
			<uri>http://mbrisby.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Carl's Whine Rack</title>
			<subtitle type="html">Using GNU/Linux through creative laziness (and other topics as they strike my fancy)</subtitle>
			<link rel="self" href="http://mbrisby.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-21734857</id>
			<updated>2008-09-08T00:44:40+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">How to setup Boot Password (Grub)</title>
		<link href="http://feeds.feedburner.com/~r/blogspot/frEh/~3/385940344/how-to-setup-boot-password-grub.html"/>
		<id>tag:blogger.com,1999:blog-6006114617625504970.post-8909273284834241754</id>
		<updated>2008-09-07T18:43:33+00:00</updated>
		<content type="html">Even before the operating system is booted, GRUB enables access to file     systems. Users without root permissions can access files in your Linux     system to which they have no access once the system is booted. To block     this kind of access or prevent users from booting certain operating     systems, set a boot password.

As the user root, proceed as follows to set a boot     password:    
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=gDc7L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=gDc7L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=xkDFl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=xkDFl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=8YImL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=8YImL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=13S7l&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=13S7l&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=aTVlL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=aTVlL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=BrjXL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=BrjXL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=pseTL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=pseTL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=ssZGl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=ssZGl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Nikesh Jauhari</name>
			<email>noreply@blogger.com</email>
			<uri>http://linuxpoison.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Complete Dose of Linux Poison</title>
			<link rel="self" href="http://feeds.feedburner.com/blogspot/frEh"/>
			<id>tag:blogger.com,1999:blog-6006114617625504970</id>
			<updated>2008-09-07T18:43:33+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">feedback to php|arch article</title>
		<link href="http://mbrisby.blogspot.com/2008/08/feedback-to-phparch-article.html"/>
		<id>tag:blogger.com,1999:blog-21734857.post-1288428582508639034</id>
		<updated>2008-09-07T19:22:16+00:00</updated>
		<content type="html">I noticed a couple of blog posts written in response to my (somewhat) recent &lt;a href=&quot;http://mbrisby.blogspot.com/2008/07/phparch-article.html&quot;&gt;php|arch article&lt;/a&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://blog.adaniels.nl/articles/an-alternative-way-of-eav-modeling/&quot;&gt;An alternative way of EAV modeling&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://ishouldbecoding.com/2008/07/19/eav-modeling---square-peg-in-a-round-hole&quot;&gt;EAV Modeling - Square Peg in a Round Hole?&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Reading these was initially discouraging, as both authors are critical of the concept of my article. Although I don't necessarily agree with them, they both make good points in their posts, and I encourage you to read them both if you are interested in the topic. I particularly appreciate the point about table-level locking in MyISAM tables, and how that might affect performance in the frequently-updated value tables.&lt;br /&gt;&lt;br /&gt;Although this is not a very useful rebuttal, about all I can say is that the EAV method has worked well for me. As with anything, your mileage may vary. I'm not running reddit or facebook, and the systems I've built on EAV don't have thousands of simultaneous users. So I really can't say how well it would perform in a large-scale deployment.&lt;br /&gt;&lt;br /&gt;After I sort of got over being defensive about the whole thing, I'm just glad that people found the article interesting enough to talk about it.</content>
		<author>
			<name>mbrisby</name>
			<email>noreply@blogger.com</email>
			<uri>http://mbrisby.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Carl's Whine Rack</title>
			<subtitle type="html">Using GNU/Linux through creative laziness (and other topics as they strike my fancy)</subtitle>
			<link rel="self" href="http://mbrisby.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-21734857</id>
			<updated>2008-09-08T00:44:40+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Bad Baby Names: Special Sabbath Edition</title>
		<link href="http://www.canspice.org/2008/09/07/bad-baby-names-special-sabbath-edition/"/>
		<id>http://www.canspice.org/?p=594</id>
		<updated>2008-09-07T18:12:50+00:00</updated>
		<content type="html">&lt;p&gt;For reasons unknown to me, the Trib published the vital statistics column today, a Sunday, instead of on its regular Monday schedule. That means you don&amp;#8217;t get to start the work week with Bad Baby Names. Instead you get to leisure over them during a lazy Sunday!&lt;/p&gt;
&lt;p&gt;Marysa and Shaylyn are the traditional Y-attack names. While bad, these are getting to be a little old and tired.&lt;/p&gt;
&lt;p&gt;Luckily Xayton was born to come wake us up. Xayton sounds like a name from the future, possibly the name of an evil robot overlord. In that sense it&amp;#8217;s a cool name, but it&amp;#8217;s no name I&amp;#8217;d want to saddle a little boy with.&lt;/p&gt;
&lt;p&gt;The emotional favourites for today don&amp;#8217;t really have a bad name, they&amp;#8217;re just appropriate for the day. Two sets of parents named their kids Angel. One boy, one girl. Isn&amp;#8217;t that nauseating?&lt;/p&gt;
&lt;p&gt;But the winner is Ja&amp;#8217;miesha. Complete with apostrophe. Jamiesha isn&amp;#8217;t even a good name on its own, but throwing in that apostrophe brings things to a whole new level. In Hawaii the &lt;a href=&quot;http://feeds.feedburner.com/&lt;br /&gt;
http://en.wikipedia.org/wiki/Okina&quot;&gt;&lt;br /&gt;
http://en.wikipedia.org/wiki/Okina&quot;&gt;&lt;br /&gt;
http://en.wikipedia.org/wiki/Okina&quot;&gt;&lt;br /&gt;
http://en.wikipedia.org/wiki/Okina&quot;&gt;&amp;#x02BB;okina&lt;/a&gt; is used to represent a glottal stop. Does this mean that we&amp;#8217;re supposed to pronounce Ja&amp;#8217;miesha with a glottal stop in there? Or were the parents just idiots and thought that their little girl&amp;#8217;s name would look pretty with an apostrophe (it&amp;#8217;s not even an &amp;#x02BB;okina because Jamiesha isn&amp;#8217;t anywhere near Hawaiian)? I vote the latter.&lt;/p&gt;
&lt;div&gt;Tags: &lt;a href=&quot;http://technorati.com/tag/bad+baby+names&quot; rel=&quot;tag&quot;&gt;bad baby names&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/canspice?a=0WQxCC&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/canspice?i=0WQxCC&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/canspice?a=YU4xl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/canspice?i=YU4xl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/canspice?a=Ieb0L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/canspice?i=Ieb0L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/canspice?a=bJjJL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/canspice?i=bJjJL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>canspice</name>
			<uri>http://www.canspice.org</uri>
		</author>
		<source>
			<title type="html">canspice.org</title>
			<subtitle type="html">all about a canadian guy living in hawaii</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/canspice"/>
			<id>http://feeds.feedburner.com/canspice</id>
			<updated>2008-09-07T18:43:38+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">SVG via CSS</title>
		<link href="http://www.intertwingly.net/blog/2008/09/07/SVG-via-CSS"/>
		<id>tag:intertwingly.net,2004:2897</id>
		<updated>2008-09-07T15:12:29+00:00</updated>
		<content type="html">&lt;p&gt;Now that I have my weblog looking reasonably consistent between Gecko and WebKit based browsers, I’ve taken another look at Opera.  Opera doesn’t have support for border-radius, but does have support for background images in SVG, which can be &lt;a href=&quot;http://dev.opera.com/articles/view/new-development-techniques-using-opera-k/&quot;&gt;used to provide the same effect&lt;/a&gt;.  My Nav Bar on &lt;a href=&quot;http://rails.intertwingly.net/blog/&quot;&gt;my test site&lt;/a&gt; now employs this technique, and it requires two separate images: &lt;a href=&quot;http://rails.intertwingly.net/stylesheets/rc-039-CCD.svg&quot;&gt;039 on CCD&lt;/a&gt; and &lt;a href=&quot;http://rails.intertwingly.net/stylesheets/rc-CCD-FFF.svg&quot;&gt;CCD on FFF&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://my.opera.com/lugansk/blog/2008/07/20/rounded-corners-in-svg-making-not-all-corners-round&quot;&gt;More complex effects&lt;/a&gt; are also possible, with only slightly more work.  I’ve applied some of those &lt;a href=&quot;http://rails.intertwingly.net/blog/2008/09/02/Translation-is-Hard-Lets-Go-Shopping#comments&quot;&gt;techniques here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Frankly, my first reaction to this was mixed.  No two ways about it: it requires more work and more page fetches to produce the same result as could be done in CSS.  This might be slightly better if one could somehow embed the SVG in the CSS file itself, as many of the SVG files are engineered for a single purpose.  This lead me to initially think that having CSS continue to capture the common cases, leaving comparatively advanced techniques like SVG for special purpose or complex effects was the right way to go.&lt;/p&gt;
&lt;p&gt;But then I saw &lt;a href=&quot;http://treebuilder.de/svg/svgincss/test5.html&quot;&gt;this&lt;/a&gt; (&lt;a href=&quot;http://intertwingly.net/stories/2008/09/07/test5.png&quot;&gt;screenshot&lt;/a&gt;) and even (&amp;amp;deity; forbid) &lt;a href=&quot;http://files.myopera.com/Fyrd/mb/svgmultiple.html?1220730653&quot;&gt;this&lt;/a&gt; (&lt;a href=&quot;http://intertwingly.net/stories/2008/09/07/multiple.png&quot;&gt;screenshot&lt;/a&gt;), and it occurs to me that SVG opens the door to &lt;a href=&quot;http://en.wikipedia.org/wiki/Unobtrusive_JavaScript&quot;&gt;unubtrusive&lt;/a&gt; special purpose and (when judiciously employed) not-so-complex effects.  It would be fairly easy to give my Nav Bar a more clearly defined frame, a more tapered shape, and use &lt;a href=&quot;http://www.w3.org/TR/SVG/filters.html#FilterProperty&quot;&gt;filter&lt;/a&gt; effects to vary the color.&lt;/p&gt;
&lt;p&gt;The pluses for SVG in CSS is that it doesn’t require either adjusting your markup or JavaScript to achieve these effects, a desirable characteristic that generally the &lt;a href=&quot;http://www.cssjuice.com/25-rounded-corners-techniques-with-css/&quot;&gt;other techniques&lt;/a&gt; don’t share.  Nor does it require that your page be XHTML.  And there are lots of good techniques for &lt;a href=&quot;http://www.mnot.net/cache_docs/&quot;&gt;effectively caching&lt;/a&gt; static files.  The only remaining issue is that this technique works best for backgrounds instead of borders, as backgrounds images (if present) are displayed on top of the background color, making the background color an effective fallback for browsers that don’t support SVG in CSS.  Of course, the background can draw a border within the padding, but any CSS provided borders would still show up outside of the background.&lt;/p&gt;
&lt;p&gt;Meanwhile, Robert O’Callahan has been exploring &lt;a href=&quot;http://weblogs.mozillazine.org/roc/archives/2008/06/applying_svg_ef.html&quot;&gt;other ways&lt;/a&gt; to integrate these technologies.&lt;/p&gt;</content>
		<author>
			<name>Sam Ruby</name>
			<email>rubys@intertwingly.net</email>
			<uri>http://www.intertwingly.net/blog/</uri>
		</author>
		<source>
			<title type="html">Sam Ruby</title>
			<subtitle type="html">It’s just data</subtitle>
			<link rel="self" href="http://www.intertwingly.net/blog/index.atom"/>
			<id>http://intertwingly.net/blog/index.atom</id>
			<updated>2008-09-08T07:44:10+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Write a Hadoop MapReduce job in any programming language</title>
		<link href="http://www.hackszine.com/blog/archive/2008/09/write_a_hadoop_mapreduce_job_i.html?CMP=OTC-7G2N43923558"/>
		<id>http://www.hackszine.com/blog/archive/2008/09/write_a_hadoop_mapreduce_job_i.html?CMP=OTC-7G2N43923558</id>
		<updated>2008-09-07T05:58:52+00:00</updated>
		<content type="html">&lt;p&gt;Hadoop is a Java-based distributed application and storage framework that's designed to run on thousands of commodity machines. You can think of it as an open source approximation of Google's search infrastructure.  Yahoo!, in fact, runs many components of its search and ad products on Hadoop, and it's not too surprising that they are a major contributor to the project. &lt;/p&gt;

&lt;p&gt;MapReduce is a method for writing software that can be parallelized across thousands of machines to process enormous amounts of data. For instance, let's say you want to count the number of referrals, by domain, in all the world's Apache server logs. Here's the gist of how you'd do it:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;Get all the world to upload their server logs to your gigantor distributed file system. You might automate and approximate this by having every web administrator add some javascript code to their site that causes their visitor's browsers to ping your own server, resulting in one giant log file of all the world's server logs. Your filesystem of choice is HDFS, the Hadoop Distributed Filesystem, which handles partitioning and replicating this enormous file between all of your cluster nodes.&lt;/li&gt;&lt;li&gt;Split the world's largest log file into tiny pieces, and have your thousands of cluster machines parse the pieces, looking for referrers. This is the &quot;Map&quot; phase. Each chunk is processed and the referrers found in that chunk are output back to the system, which stores the output keyed by the referrer hostname. The chunk assignments are optimized so that the cluster nodes will process chunks of data that happen to be stored on their local fragment of the distributed file system.&lt;/li&gt;&lt;li&gt;Finally, all the outputs from the Map phase are collated.  This is called the &quot;Reduce&quot; phase. The cluster nodes are assigned a hostname key that was created during the Map phase. All of the outputs for that key are read in by the node and counted. The node then outputs a single result which is the domain name of the referrer, and the total number of referrals that were produced from that referrer. This is done hundreds of thousands of times, once for each referrer domain, and distributed across the thousands of cluster nodes.&lt;/li&gt;&lt;/ol&gt;

&lt;p&gt;At the end of this hypothetical MapReduce job, you're left with a concise list of each domain that's referred traffic, and a count of how many referrals it's given. What's cool about Hadoop and MapReduce is that it makes writing distributed applications like this surprisingly simple. The two functions to perform the example referrer parsing might only be about 20 lines of code. Hadoop takes care of the immense challenges of distributed storage and processing, letting you focus on your specific task.&lt;/p&gt;

&lt;p&gt;Since Hadoop is written in Java, the natural way for you to create distributed jobs is to encapsulate your Map and Reduce functions into a java class. If you're not a Java junkie, though, don't worry, there's a job wrapper called HadoopStreaming which can communicate with any program you write with the usual STDIN and STDOUT. This lets you write your distributed job in Perl, Python or even a shell script! You create two programs, one for the mapper and one for the reducer, and HadoopStreaming handles uploading them to all of the cluster nodes and passing data to and from your programs.&lt;/p&gt;

&lt;p&gt;If you want to play around with this, I really recommend a couple of howtos written by German hacker Michael G. Noll. He put together a walkthrough for getting Hadoop up and running on Ubuntu, and also a nice introduction to writing a MapReduce program using HadoopStreaming (with Python as an example).&lt;/p&gt;

&lt;p&gt;Are any Hackszine readers using Hadoop? Let us know what you're doing and point us to more information in the comments.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://hadoop.apache.org/core/&quot;&gt;Hadoop&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_%28Multi-Node_Cluster%29&quot;&gt;Running Hadoop On Ubuntu Linux&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.michael-noll.com/wiki/Writing_An_Hadoop_MapReduce_Program_In_Python&quot;&gt;Writing An Hadoop MapReduce Program In Python&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Hackszine</name>
			<uri>http://www.hackszine.com/</uri>
		</author>
		<source>
			<title type="html">Hackszine.com</title>
			<subtitle type="html">Clever solutions to interesting problems.</subtitle>
			<link rel="self" href="http://hackszine.com/index.xml"/>
			<id>http://hackszine.com/index.xml</id>
			<updated>2008-09-08T03:43:40+00:00</updated>
			<rights>Copyright 2008</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Scobleizer — Tech geek blogger » Blog Archive The Superbowl of Startups «</title>
		<link href="http://feeds.feedburner.com/~r/AdnansSysadmin/devBlog/~3/385652208/scobleizer-tech-geek-blogger-blog.html"/>
		<id>tag:blogger.com,1999:blog-5208332.post-7120228160719460629</id>
		<updated>2008-09-07T04:54:05+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://scobleizer.com/2008/09/06/the-superbowl-of-startups/&quot;&gt;Scobleizer — Tech geek blogger » Blog Archive The Superbowl of Startups «&lt;/a&gt;:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt; &quot;Blogging is NOT reporting. It’s the single voice of a person. When you read me here you are reading me the way I’d talk to you at a cocktail party. You’re hearing my opinions. If I’m doing ‘reporting’ then you’ll know, because of how I source it.&quot;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I really like this explanation for blogging. Maybe we need &quot;Blogging is NOT reporting&quot; T-shirts.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/AdnansSysadmin/devBlog/~4/385652208&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Adnan</name>
			<email>noreply@blogger.com</email>
			<uri>http://sysadmin.adnanwasim.com/</uri>
		</author>
		<source>
			<title type="html">Adnans Sysadmin/Scripting Blog</title>
			<subtitle type="html">&lt;a href=&quot;mailto:awasim@gmail.com&quot;&gt;Adnan Wasim&lt;/a&gt;
talks about system administration and software development issues....</subtitle>
			<link rel="self" href="http://sysadmin.adnanwasim.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-5208332</id>
			<updated>2008-09-07T09:44:24+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">I Am Trying To Believe (that Rock Stars aren't Dead)</title>
		<link href="http://feeds.feedburner.com/~r/oreilly/radar/atom/~3/385474499/i-am-trying-to-believe-that-ro.html"/>
		<id>tag:radar.oreilly.com,2008://57.33319</id>
		<updated>2008-09-07T02:50:59+00:00</updated>
		<content type="html" xml:lang="en">&lt;p&gt;&lt;span class=&quot;mt-enclosure mt-enclosure-image&quot;&gt;&lt;a href=&quot;http://radar.oreilly.com/assets_c/2008/09/NiN-400.html&quot;&gt;&lt;img src=&quot;http://radar.oreilly.com/assets_c/2008/09/NiN-400-thumb-400x212.png&quot; width=&quot;400&quot; height=&quot;212&quot; alt=&quot;NiN-400.png&quot; class=&quot;mt-image-none&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Last Friday night I attended a Nine Inch Nails concert in Philadelphia with Chris Cera of &lt;a href=&quot;http://www.vuzit.com&quot;&gt;Vuzit&lt;/a&gt; (thanks Chris for your help with this post).   At 43, Trent Reznor can certainly still grab an audience by the throat and shake it.  It was a fantastic show; the kind of show that has you checking to see if there are other tour dates within driving distance.  &lt;/p&gt;

&lt;p&gt;During a short break in the sonic and visual mayhem, Reznor spoke for a moment and told us emphatically to steal his music.  Later, on my way to the car after the show, a member of the band &lt;a href=&quot;http://www.eatmycube.com&quot;&gt;Cube Head&lt;/a&gt; was handing out sharpie-labled home-burned demo CD's in the parking lot complete with a hand drawn &quot;copywrong&quot; marking.  It was an interesting contrast between established artist and emerging talent and how they are both figuring out how to make their way in the post-vinyl post-jewel-case economy.&lt;/p&gt;

&lt;p&gt;I'll come back to that theme in a second, but first a brief aside.  Chris (who has some background in real time video processing) and I were blown away by the amazing stage show; it was geek manifest and a video processing tour de force.   During about 1/3 of the show the band played sandwiched between at least two giant video monitors, the one in the foreground transparent when its pixels were dormant and opaque when lit up.  &lt;/p&gt;

&lt;p&gt;The source video for the display was sometimes heavily processed local camera inputs, sometimes it was prerecorded, and sometimes it was electronically generated.  Whatever the source, it was frequently and heavily modified by the audio inputs or by the movements of the artists on the stage.  With a sweep of his hand Trent would wave away the static hiding him from the audience and then moments later it would fill back in.  It's hard to explain but the effect was very cool.  Cool enough that trying to figure it out started to distract both of us from the music.  There are some videos out there of it in action but none that I found really capture the full effect.  Let me know in the comments if you find one.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;div&gt;-- &quot;Steal my music&quot; --&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
The next day, still curious about how the stage show was done, and with Reznor's call to &quot;steal my music&quot; still in my head, I poked around on the web looking for more info.  One of the most interesting things I found was this story about Nine Inch Nail's &lt;a href=&quot;http://frankrose.com/work2.htm&quot;&gt;Year Zero Alternate Reality Game&lt;/a&gt;.  The way Reznor used this new gaming medium as an extension of his canvas rather than as a promotional stunt (and the nascent geekness it suggests) makes me think he has a much better than average chance to figure out the post RIAA world.  Or, it may just be that with the state of distribution being what it is, he realized that while promotion might move more units, it would do it in a way so loosely coupled to monetization as to be pointless.  &lt;/p&gt;

&lt;p&gt;His comments in the story's sidebar make me think it is probably the latter.  In particular:  &lt;em&gt;&quot;So a couple years ago I realized that music essentially is free now. I'd prefer, it wasn't, but it is. And hey, I've had a pretty good run. I can still make a living touring.&quot; .... &quot;I feel that the right model hasn't revealed itself yet.&quot;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here's the thing, I'm not convinced it's going to reveal itself. Or, more likely, it has revealed itself and he already knows what it is:  &lt;em&gt;&quot;I can still make a living touring.&quot;&lt;/em&gt;  &lt;/p&gt;
&lt;p&gt;When it comes to income, I don't think there will be another Rolling Stones any more than I think there will be another Microsoft.  Reznor's creative partner Rob Sheridan hints at the same thing in his &lt;a href=&quot;http://www.demonbaby.com/blog/2007/10/when-pigs-fly-death-of-oink-birth-of.html&quot;&gt;amazing piece&lt;/a&gt; on the state of the music business written last year.  He does a masterful job of parsing all the deck chair rearranging going on in the industry today but what he is unable to do is offer a meaningful business model to replace it.&lt;/p&gt;

&lt;p&gt;Everyone is fishing for the answer (&lt;a href=&quot;http://ycombinator.com/ideas.html&quot;&gt;see item #1&lt;/a&gt;) but more and more I think it's just not there.  After all &quot;sell records&quot; was not some complex business model come down from on high.  I can't help but think that if there was an equally effective replacement someone would have thought of it by now.  &lt;/p&gt;

&lt;p&gt;That's not to say I don't think new and better music distribution and monetization models won't be invented, I just don't think they will capture and concentrate as much value as the one that is dying before our eyes did.  I suspect the balance between linear (touring) and leverage (selling stuff while you sit at home) has simply and irrevocably shifted toward the linear.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;div&gt;-- Leverage is dead.  Honey I shrunk the head of the long tail. --&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
When the &lt;a href=&quot;http://en.wikipedia.org/wiki/Victor_Records&quot;&gt;Victor Talking Machine Company&lt;/a&gt; (their original factory seen here from my office window in Camden, NJ) made it possible for an artist to be in more than one place at the same time, they gave the performing artist the gift of leverage (e.g. Enrico Caruso booming out over the Ucayali River in Werner Herzog's great film &lt;a href=&quot;http://en.wikipedia.org/wiki/Fitzcarraldo&quot;&gt;Fitzcarraldo&lt;/a&gt;.  If you haven't seen it, trust me, Netflix it).  &lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;span class=&quot;mt-enclosure mt-enclosure-image&quot;&gt;&lt;a href=&quot;http://radar.oreilly.com/assets_c/2008/09/Victor-Talking-Machine-Co.html&quot;&gt;&lt;img src=&quot;http://radar.oreilly.com/assets_c/2008/09/Victor-Talking-Machine-Co-thumb-600x451.jpg&quot; width=&quot;600&quot; height=&quot;451&quot; alt=&quot;Victor-Talking-Machine-Co.jpg&quot; class=&quot;mt-image-center&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
The key to the whole system was the low marginal cost of the recorded disk and the important fact that it still served to support a constrained distribution channel.  The key constraint being that it enabled point of sale monetization of the entire value chain of production, marketing, and distribution.  In fact, it worked so well, that it set up a system where recording companies were able to harvest higher than economic rents for their services and leave all but the most popular artists either on the outside trying to break in or in near-perpetual indentured servitude once they did.  The long tail was neither; it was truncated and compressed by the recording company's stranglehold on distribution.  This established the long running artist's resentment of their record company's.  Despite the compression though, the recording was such a leveragable medium that touring, the artists original source of income, was often reduced to promotion for the disc.&lt;/p&gt;

&lt;p&gt;As everyone knows, the digital audio file is even more frictionless than the disk.  It is even better at creating duplicate Enrico's and freely distributing them around the world.  It provides the performing artist near perfect leverage in their quest for attention; they can be anywhere in the world finding any audience.  The musical attention economy has become a near-perfect meritocracy (of course merit is a slippery thing in this world).  Unfortunately, and paradoxically, the digital audio file is in a sense too frictionless and it severs the connection between distribution and monetization.  It's not contained like the vinyl record or the disc that followed it and, therefore, it effectively snatches the gift of leverage back from the artist.  &lt;/p&gt;

&lt;p&gt;The value that people might pay for in distribution now (higher bit rates, convenient discovery, etc.) will attract some dollars, but the music loving consumer in aggregate is never going to pay as much for music in the future as they did in the past.  Back then they were paying for the binary decision of having music or not.  Incremental qualities simply won't monetize at the same rate even if a replacement mechanism to capture it is created.  &lt;/p&gt;

&lt;p&gt;Value isn't being added in traditional distribution and consumers know it, they aren't going to pay for what they aren't getting.  Also, since the long tail of attention is no longer truncated by the music industry's artificial barriers, some of the revenue that does remain in the system is going to shift away from the artists at the head toward those down at the tail.  There is going to be less money spent on music and what's there is going to be distributed more broadly.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;As an aside, the electric production companies should thank their lucky stars that electricity won't fly through the ether as easily as music moves across a network.  Here we are after deregulation and the electric generation companies are still getting paid.  Their product is unbundled from transmission, but transmission still makes a nice point for collection and monetization.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For the artist seeking attention this seems like a bittersweet time.  Make great music and be discovered.  Instead of assailing the gate keepers with demo tapes, find an audience through this new frictionless medium and new alternatives to the traditional marketing machine like &lt;a href=&quot;http://www.pandora.com/&quot;&gt;Pandora&lt;/a&gt;, &lt;a href=&quot;http://www.last.fm/&quot;&gt;Last.fm&lt;/a&gt;, and various p2p networks.  But, when you get the attention, then what?&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
&lt;div&gt;-- The Rock Star's life style is going to go the way of Sun's multiples -- &lt;/div&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;
For the artist trying to make a living welcome back to 1890.  Cube Head and Reznor are both wage slaves now and the tour isn't about promotion, it is the product again.  The linear / leverage balance is leaning back to linear and if you want a model for how you will make a living, look no further than &lt;a href=&quot;http://www.opera-singer.co.uk/&quot;&gt;Adelina Patti&lt;/a&gt;.  She was a typical opera singer of the 1890's who made her living touring in the last years before the Victor company changed the rules of leverage.  She toured all over the world and as she got more popular the venues presumably got bigger.  It was artistic piece work but with good pay and decent perks. &lt;/p&gt;

&lt;p&gt;By the way, If you're a future &lt;a href=&quot;http://www.thepolyphonicspree.com/&quot;&gt;Polyphonic Spree&lt;/a&gt; with all those mouths to feed in the split, I think the post-leverage music business is going to be especially difficult for you.  You might just be screwed.&lt;/p&gt;

&lt;p&gt;Leverage is dead and frictionless distribution killed it (&lt;em&gt;&quot;video killed the radio star&quot;... and audio files killed the rock star&lt;/em&gt;).  Well, maybe leverage isn't dead, but if it's still alive, it's alive the way that &lt;a href=&quot;http://www.mwscomp.com/movies/grail/grail-02.htm&quot;&gt;guy in the wheel barrow is still alive&lt;/a&gt; in The Holy Grail. Picture iTunes in the wheelbarrow and you get the idea.  Even if it's not dead, what Reznor is acknowledging is that it has shrunk to the point where it is no longer going to be the driving force in an artist's income.&lt;/p&gt;

&lt;p&gt;Reznor has an open mind and is clearly preparing himself for a transition into a post RIAA world, but I can't help but think he's going to find a world that is changing as much for him as it is for the record companies he assails.  The music industry is clearly a dead man walking, but what I think I'm realizing is that rock stars as we know them are relics too.&lt;/p&gt;

&lt;p&gt;It's the same mechanism that is happening to proprietary software companies.  The huge valuations of proprietary software companies are based on the leverage inherent in the proprietary software business model.  But when a Red Hat comes along selling services and giving away the IP (to over simplify a bit) they are implementing a &quot;cut the legs out from under the old guard&quot; strategy.  They will win, or at least force the old guard to shift models.  When it's over though, they'll have a business model that will never achieve the same enterprise value per unit of distribution that the old model did.  It's easier now for a software company to find and reach an audience, but the subsequent monetization won't achieve the same multiples on units shipped.&lt;/p&gt;

&lt;p&gt;The sad truth is that even with the shift to a services model,  the Red Hat's of the world probably preserve more leverage than a recording artist does in this new open IP paradigm.  They can always hire more people to provide the services that are the key to monetization in their new model.  They don't have to try to clone the software's original developer.  &lt;/p&gt;

&lt;p&gt;However, unless all of us music fans start liking NiN cover bands as much as the real thing, Reznor's leverage in an era where touring is his primary source of income is near zero.  He's not the infinitely duplicatable Blue Man Group, he's a modern opera star whose income will be capped by the number of seats in the auditorium and the number of dates he's willing to do on the road (On the other hand, it would be hilarious if he franchised the NiN concept and sent cover bands to small clubs all over the place).&lt;/p&gt;

&lt;p&gt;So, what does all of this mean for Trent and Cube Head?  I don't really know as this whole post is mostly conjecture.  What I do know is that Trent has already made his money so he'll be just fine.  Touring is where his art is expressed and he can still get paid doing it so life should be good.  He'll probably be paying his taxes with tour income while he's lifestyling off the golden egg the old system laid right before it went to goose heaven.  &lt;/p&gt;

&lt;p&gt;If Cube Head is good enough, they might just take advantage of frictionless distribution to ride up a more meritocratic power curve in the attention economy.  If they are great, they might even find themselves at the head of the curve.  When they get there though, they'll likely find themselves on a hill instead of the mountain they remember from all those episodes of MTV Cribs.  Oh, and they'll probably be touring their asses off.  Pretty much exactly like that 19th century opera star.  I really don't think they'll be sitting at home between tours watching the point of sale scan numbers and cashing their royalty checks.&lt;/p&gt;

&lt;p&gt;With the disaggregated production -&gt; marketing -&gt; distribution channel value chain I have absolutely no idea how Timbaland is going to get his pay on.  That remains a mystery. &lt;/p&gt;

&lt;p&gt;By the way, if I'm right and Trent Reznor is a bit of a closet geek, I bet he also has Google alerts set up for himself.  So, just in case,... Hey Trent, awesome show the other night.  Absolutely kick ass.  And by the way, I bought tickets to your show right after I downloaded The Slip.&lt;/p&gt;
&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?a=WVnHl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?i=WVnHl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?a=u8UIL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?i=u8UIL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?a=8ubQl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?i=8ubQl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?a=8FpaL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/oreilly/radar/atom?i=8FpaL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/oreilly/radar/atom/~4/385474499&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Jim Stogdill</name>
			<uri>http://radar.oreilly.com/</uri>
		</author>
		<source>
			<title type="html">O'Reilly Radar - Insight, analysis, and research about emerging technologies</title>
			<subtitle type="html">http://radar.oreilly.com/</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/oreilly/radar/atom"/>
			<id>tag:radar.oreilly.com,2008-02-15://57</id>
			<updated>2008-09-07T21:43:54+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Slightly Advanced Python: Some Python Internals</title>
		<link href="http://feeds.feedburner.com/~r/AdnansSysadmin/devBlog/~3/385520410/slightly-advanced-python-some-python.html"/>
		<id>tag:blogger.com,1999:blog-5208332.post-7247861702650480121</id>
		<updated>2008-09-07T00:09:33+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;br /&gt;via &lt;a href=&quot;http://www.youtube.com/watch?v=2piMVEHfPNk&quot;&gt;Youtube&lt;/a&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/AdnansSysadmin/devBlog/~4/385520410&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Adnan</name>
			<email>noreply@blogger.com</email>
			<uri>http://sysadmin.adnanwasim.com/</uri>
		</author>
		<source>
			<title type="html">Adnans Sysadmin/Scripting Blog</title>
			<subtitle type="html">&lt;a href=&quot;mailto:awasim@gmail.com&quot;&gt;Adnan Wasim&lt;/a&gt;
talks about system administration and software development issues....</subtitle>
			<link rel="self" href="http://sysadmin.adnanwasim.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-5208332</id>
			<updated>2008-09-07T09:44:24+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">The Python Object Model</title>
		<link href="http://feeds.feedburner.com/~r/AdnansSysadmin/devBlog/~3/385520409/python-object-model.html"/>
		<id>tag:blogger.com,1999:blog-5208332.post-5772294027412440511</id>
		<updated>2008-09-07T00:09:19+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;br /&gt;via &lt;a href=&quot;http://www.youtube.com/watch?v=rVymcUZZsMo&quot;&gt;Youtube&lt;/a&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/AdnansSysadmin/devBlog/~4/385520409&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Adnan</name>
			<email>noreply@blogger.com</email>
			<uri>http://sysadmin.adnanwasim.com/</uri>
		</author>
		<source>
			<title type="html">Adnans Sysadmin/Scripting Blog</title>
			<subtitle type="html">&lt;a href=&quot;mailto:awasim@gmail.com&quot;&gt;Adnan Wasim&lt;/a&gt;
talks about system administration and software development issues....</subtitle>
			<link rel="self" href="http://sysadmin.adnanwasim.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-5208332</id>
			<updated>2008-09-07T09:44:24+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Puppet - Centralised configuration management for networks</title>
		<link href="http://www.debianadmin.com/puppet-centralised-configuration-management-for-networks.html"/>
		<id>http://www.debianadmin.com/puppet-centralised-configuration-management-for-networks.html</id>
		<updated>2008-09-06T23:04:02+00:00</updated>
		<content type="html">&lt;div class=&quot;KonaBody&quot;&gt;&lt;p&gt; &lt;!--adsense--&gt;Puppet lets you centrally manage every important aspect of your system using a cross-platform specification language that manages all the separate elements normally aggregated in different files, like users, cron jobs, and hosts, along with obviously discrete elements like packages, services, and files.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
	&lt;p&gt;(...)&lt;br /&gt;Read the rest of &lt;a href=&quot;http://www.debianadmin.com/puppet-centralised-configuration-management-for-networks.html&quot;&gt;Puppet - Centralised configuration management for networks&lt;/a&gt; (106 words)&lt;/p&gt;
	&lt;hr noshade=&quot;noshade&quot; /&gt;
	&lt;p&gt;&amp;copy; Admin for &lt;a href=&quot;http://www.debianadmin.com&quot;&gt;Debian Admin&lt;/a&gt;, 2008. |
	  &lt;a href=&quot;http://www.debianadmin.com/puppet-centralised-configuration-management-for-networks.html&quot;&gt;Permalink&lt;/a&gt; |
	  &lt;a href=&quot;http://www.debianadmin.com/puppet-centralised-configuration-management-for-networks.html#comments&quot;&gt;No comment&lt;/a&gt;&lt;/p&gt;
	&lt;p&gt;Add to &lt;a href=&quot;http://del.icio.us/post?url=http://www.debianadmin.com/puppet-centralised-configuration-management-for-networks.html&amp;amp;title=Puppet - Centralised configuration management for networks&quot;&gt;del.icio.us&lt;/a&gt; &lt;/p&gt;
	&lt;p&gt;Search blogs linking this post with &lt;a href=&quot;http://www.technorati.com/search/http://www.debianadmin.com/puppet-centralised-configuration-management-for-networks.html&quot; title=&quot;Search on Technorati&quot;&gt;Technorati&lt;/a&gt;&lt;/p&gt;
	&lt;p&gt;Want more on these topics ? Browse the archive of posts filed under &lt;a href=&quot;http://www.debianadmin.com/category/opensource-tools/&quot; title=&quot;View all posts in Free Tools&quot; rel=&quot;category tag&quot;&gt;Free Tools&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;---&lt;br /&gt;Related Articles at Debian Admin:&lt;li&gt;&lt;a href=&quot;http://www.debianadmin.com/aria2-high-speed-command-line-download-utility-in-debian.html&quot;&gt;Aria2 - high speed command line download utility in Debian&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.debianadmin.com/opsview-enterprise-network-and-application-monitoring-based-on-nagios.html&quot;&gt;Opsview - Enterprise network and Application monitoring based on Nagios&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.debianadmin.com/rinetd-internet-tcp-redirection-server.html&quot;&gt;rinetd - Internet TCP redirection server&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.debianadmin.com/sshpass-non-interactive-ssh-password-authentication.html&quot;&gt;sshpass - Non-interactive ssh password authentication&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.debianadmin.com/autossh-automatically-restart-ssh-sessions-and-tunnels.html&quot;&gt;autossh - Automatically restart SSH sessions and tunnels&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.debianadmin.com/howto-determine-the-throughput-of-a-pipe-command.html&quot;&gt;Howto Determine the throughput of a pipe command&lt;/a&gt;&lt;/li&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;!-- KonaBody --&gt;
&lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/~a/debiansystemadmin?a=vFRhYW&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~a/debiansystemadmin?i=vFRhYW&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?a=uyPHL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?i=uyPHL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?a=uy4Xl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?i=uy4Xl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?a=eDj3L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?i=eDj3L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?a=UQkyL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?i=UQkyL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?a=fHk6l&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?i=fHk6l&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?a=RCYNL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/debiansystemadmin?i=RCYNL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Debian Admin</name>
			<uri>http://www.debianadmin.com</uri>
		</author>
		<source>
			<title type="html">Debian Admin</title>
			<subtitle type="html">Debian/Ubuntu Linux System Administration Tutorials,Howtos,Tips</subtitle>
			<link rel="self" href="http://www.debianadmin.com/feed/"/>
			<id>http://www.debianadmin.com/feed/</id>
			<updated>2008-09-07T17:44:10+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">My First Day with Python - Initial Thoughts</title>
		<link href="http://blog.unixdaemon.net/cgi-bin/blosxom.pl/2008/09/06#first_day_with_python"/>
		<id>http://blog.unixdaemon.net/cgi-bin/blosxom.pl/2008/09/06#first_day_with_python</id>
		<updated>2008-09-06T22:44:25+00:00</updated>
		<content type="html">While I've always been a bit of a perl guy I don't want this post to be
&quot;perl has x and python doesn't&quot; in tone. Which is lucky really as Python
has exceptions and threading as first class features where as perl has...
ahem.

&lt;p&gt;So after spending a chunk of today reading a python book and spending
some time writing code here's my initial short list of gripes -&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;except IOError&lt;/li&gt;
  &lt;li&gt;print adding newlines&lt;/li&gt;
  &lt;li&gt;Significance of whitespace in blocks. But not like that.&lt;/li&gt;
  &lt;li&gt;The lack of ++&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Considering how picky I can be that's a very short list so Python must
sit well with me so far. Now, in order, I can't help but read &lt;code&gt;except
IOError&lt;/code&gt; as 'catch everything apart from IOError'. This one bugs me
more than it should but considering how happy native exceptions in the
language made me this just felt mean.&lt;/p&gt;

&lt;p&gt;Secondly, print adding newlines. While this might seem trivial
every other language I use on a daily basis has a print function that
doesn't print a newline so this feels weird. At least it's not called
&lt;code&gt;say&lt;/code&gt; ;)&lt;/p&gt;

&lt;p&gt;Now to the one that I'll get no sympathy on - whitespace in blocks.
First up let me say I don't mind about the enforced indentation. I indent
anyway so it's not a big deal. I guess I'll hit the odd case when it annoys
me (probably involving heredocs) but I've got nothing against it. What does
irk me is the lack of block delimiters - whitespace just doesn't cut it for
me.&lt;/p&gt;

&lt;p&gt;I like my { and } delimited blocks, a nasty voice in my head is telling
me to add them but just comment them out ( if x == y: # { ) but that seems
very wrong. I've always looked at those examples in C programming books
that say...&lt;/p&gt;

&lt;pre&gt;
&lt;code&gt;
# incorrect
if ( something )
  print(&quot;All's well&quot;);
  wellness++;

# this is wrong because wellness is a separate statement
# and not part of the if
&lt;/code&gt;
&lt;/pre&gt;

&lt;p&gt;... and thought - &quot;just add the damn braces, you'll be back to add more
code later anyway.&quot; Now I'm learning a language that seems to want me to slip
up like this. I'll either get used to this or move to ruby.&lt;/p&gt;

&lt;p&gt;Lastly we have the lack of ++ and --. I know the arguments, I've read
them before. I disagree. I've never done anything insane with ++ and where
I have used it it's saved me typing. Can we have ++ and remove nested
ternary ( &lt;code&gt;? :&lt;/code&gt; ) instead please?&lt;/p&gt;

&lt;p&gt;I like Python and I think I'll be investing more time in to learning it.&lt;/p&gt;&lt;p class=&quot;posted&quot;&gt;Like this post? - &lt;a href=&quot;http://www.digg.com/submit?url=http://blog.unixdaemon.net/cgi-bin/blosxom.pl/python/first_day_with_python.rss&amp;amp;title=My%20First%20Day%20with%20Python%20-%20Initial%20Thoughts&amp;amp;phase=3&quot;&gt;Digg Me!&lt;/a&gt; | &lt;a href=&quot;http://del.icio.us/post?url=http://blog.unixdaemon.net/cgi-bin/blosxom.pl/python/first_day_with_python.rss&amp;amp;title=My%20First%20Day%20with%20Python%20-%20Initial%20Thoughts&quot;&gt;Add to del.icio.us!&lt;/a&gt; | &lt;a href=&quot;http://reddit.com/submit?url=http://blog.unixdaemon.net/cgi-bin/blosxom.pl/python/first_day_with_python.rss&amp;amp;title=My%20First%20Day%20with%20Python%20-%20Initial%20Thoughts&quot;&gt;reddit this!&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>UnixDaemon</name>
			<uri>http://blog.unixdaemon.net/cgi-bin/blosxom.pl</uri>
		</author>
		<source>
			<title type="html">Dean Wilson@UnixDaemon: ... It's not even close to relevant.</title>
			<subtitle type="html">Tech rantings, reviews and other stuff that may not begin with r.</subtitle>
			<link rel="self" href="http://unixdaemon.net/cgi-bin/blosxom.pl/index.rss"/>
			<id>http://unixdaemon.net/cgi-bin/blosxom.pl/index.rss</id>
			<updated>2008-09-08T07:43:58+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">JavaScript Benchmark Quality</title>
		<link href="http://ejohn.org/blog/javascript-benchmark-quality/"/>
		<id>http://ejohn.org/blog/javascript-benchmark-quality/</id>
		<updated>2008-09-06T19:55:15+00:00</updated>
		<content type="html">&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; JavaScript Benchmarks aren't adapting well to the rapid increase in JavaScript engine performance. I provide some simple tests for verifying this and propose a modified setup which could be used by all JavaScript Benchmarks to achieve high-quality results.&lt;/p&gt;&lt;/blockquote&gt;
	&lt;p&gt;There now exists three, what I would consider to be, major JavaScript performance benchmarks. Each are released by a major browser vendor. WebKit released &lt;a href=&quot;http://webkit.org/blog/152/announcing-sunspider-09/&quot;&gt;SunSpider&lt;/a&gt;, Mozilla released &lt;a href=&quot;http://v2.dromaeo.com/&quot;&gt;Dromaeo&lt;/a&gt;, Google released the &lt;a href=&quot;http://code.google.com/apis/v8/run.html&quot;&gt;V8 Benchmark&lt;/a&gt;.&lt;/p&gt;
	&lt;p&gt;Each suite has a variety of tests and a test runner. I'm currently interested in one thing: The quality of the test runner that each of these suites provides.&lt;/p&gt;
	&lt;p&gt;There are three points that any test runner tries to achieve:&lt;/p&gt;
	&lt;ol&gt;
	&lt;li&gt;Retrieving accurate numbers. Another way to phrase it: &quot;Retrieving stable numbers.&quot; If you run the test suite multiple times will you get identical, or near-identical, numbers?&lt;/li&gt;
	&lt;li&gt;Reducing the possible error. Does the suite attempt to quantify how much possible error there could be in their results? How large is the error?&lt;/li&gt;
	&lt;li&gt;Reducing run time. How long does it take to run each test?&lt;/li&gt;
	&lt;/ol&gt;
	&lt;p&gt;The ideal suite would be one that's capable of running an individual test as quickly and accurately as possible with virtually no error. However, in order to get those numbers you need to carefully chose what style of tests you wish to run.&lt;/p&gt;
	&lt;p&gt;I quantify the current field of tests into three categories:&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;Slow-running tests:&lt;/b&gt; These tests generally take a couple hundred milliseconds on an average consumer machine. This is the style of tests that you generally see in SunSpider and occasionally in Dromaeo. These tests have a distinct advantage: They are generally quite accurate. You don't need to run them very many times (say about 5) in order to get a consistent picture of how the test will run.&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;Moderate-running tests:&lt;/b&gt; These tests take less than one hundred milliseconds. You'll see these tests in Dromaeo. These tests need to be run quite a few times (20-30) in order to get a better picture of their speed.&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;Fast-running tests:&lt;/b&gt; These tests take less than ten milliseconds. You'll see these tests in the V8 Benchmark and in Dromaeo. These tests must be run many, many, times (usually close to a thousand) in order to weed out any possible error. If you were to run one 10ms test 5 times - and get a single result of 11ms that would introduce a significant level of error into your results. Consider tests that take 0-1ms. A deviation within that range can instantly cause error levels around 50% to occur, if enough test iterations aren't completed.&lt;/p&gt;
	&lt;p&gt;Looking at the above categories the solution seems obvious: Use slow-running tests! You get to run them fewer times and you get accurate results - everything's peachy! But here's the problem: The speed of JavaScript engines are increasing at a rate faster than test suites can adapt. For example, SunSpider was initially developed with all tests running at equal speeds on a modern computer. Now that speed improvements have come along, though, (WebKit improvements, then Mozilla, then SquirrelFish, then TraceMonkey, then V8) those results don't even remotely resemble the tests of old. Most of the results have moved down into the moderate-running range of tests, some even into the fast-running range - but here's the problem: They're still only running the originally-designed number of loops. An example of the difference:&lt;/p&gt;
	&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://ejohn.org/files/stat-runtime.png&quot;&gt;&lt;img src=&quot;http://ejohn.org/files/stat-runtime.sm.png&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;
	&lt;p&gt;This means that a browser is running a test for 5-10 loops (in both SunSpider or Dromaeo) but the speed of the test no longer matches that assigned number of iterations. At first glance you could say one of two things: 1) Increase the difficulty of the tests or 2) Have them run for more iterations. There are problems with this, though.&lt;/p&gt;
	&lt;p&gt;While you certainly could increase the complexity of existing tests the result would be a never-ending battle. Improvements would have to land every couple months in order to keep up with the pace of improvement. This would work ok in Dromaeo (since it has versioned tests) but not all suites can handle this behavior. Additionally this now makes the tests less-useful for measuring slower browsers (the tests now take an absurd amount of time to complete as opposed to the very-plausible numbers from before).&lt;/p&gt;
	&lt;p&gt;Additionally, you could increase the number of test iterations that would occur but not without assigning specific iteration counts to each individual tests. And this is the full problem: How do you know what numbers to choose? Raising the number to 20 iterations may help one browser - but what about another browser which will need 100 iterations to get a proper count?&lt;/p&gt;
	&lt;p&gt;This leaves us in a bind. Browsers keep getting faster at tests, test suites do the wrong number of iterations, causing the error level to continually increase:&lt;/p&gt;
	&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://ejohn.org/files/stat-error.png&quot;&gt;&lt;img src=&quot;http://ejohn.org/files/stat-error.sm.png&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;
	&lt;p&gt;We should take a step back and look at what the test suites are doing to counter-act the above trend from happening - if anything at all.&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;SunSpider&lt;/b&gt; was originally dominated by long-running tests running 5 times each. The tests use to be long-running but are now only in to the medium to fast-running range (depending on the browser). This has caused the accuracy to decrease and error level to increase. Increasing the number of iterations would help (but hinder older browser performance).&lt;/p&gt;
	&lt;p&gt;&lt;b&gt;Dromaeo&lt;/b&gt; has a range of tests (fast, moderate, and long-running) each running 5-10 times each. Dromaeo attempts to correct the number of iterations run, right now, but kind of fails when doing so. It looks at the results of past iterations (especially the error level generated by the results) and decides to run more tests until a stable error level is achieved. The problem with this is the samples are no longer being independently determined.  Whereas test runs 1-5 were independent, test runs 6-10 were not (they're only being run due to the fact that previous test runs provided poor results). So while the results from Dromaeo are hyper-stable (they're the most stable performance test that we run at Mozilla) they're not determined in a proper statistical manner. Thus Dromaeo needs to be changed in order for people to be able to gather accurate results without sacrificing its statistical integrity.&lt;/p&gt;
	&lt;p&gt;The &lt;b&gt;V8 Benchmark&lt;/b&gt; takes a completely different strategy for its fast-running tests: Instead of running for a pre-determined number of iterations each test is run continuously until a second of time has passed. This means that individual tests frequently run anywhere from 50-200 times (depending on the machine and browser they run on). Currently the V8 Benchmark does suffer from one shortcoming: There is no error calculation done. Both SunSpider and Dromaeo fit the results to a t-distribution and compute the possible error of the results whereas the V8 Benchmark just leaves them as is.&lt;/p&gt;
	&lt;p&gt;However, the V8 Benchmark does bring up a very interesting strategy. By picking tests that are simpler (and, arguably, most current complex tests will become &quot;simple&quot; as engines rapidly improve) and running them more times (relative to the complexity of the test) the results become much more stable.&lt;/p&gt;
	&lt;p&gt;Consider the result: Fast-running tests end up having a smaller error range because they are able to run more within a given allotment of time. This means that the test runner is now self-correcting (adjusting the number of iterations seamlessly). Since all JavaScript engines are getting faster and faster, and complex tests are running in shorter and shorter amounts of time, the only logical conclusion is to treat all tests as if they were fast tests and to run them a variable number of times.&lt;/p&gt;
	&lt;p&gt;We can test this hypothesis. I've pulled together &lt;a href=&quot;http://ejohn.org/apps/measure/&quot;&gt;a simple demo&lt;/a&gt; that tests the computational accuracy of the three styles of test (Simple - or Fast-running, Moderate, and Complex - or Slow-running) against the two different types of suites: &quot;Max&quot; style (the style implemented by the V8 Benchmark) and &quot;Fixed&quot; style (the style implemented by SunSpider and Dromaeo). The results are quite interesting:&lt;/p&gt;
	&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://ejohn.org/files/stat-style.png&quot;&gt;&lt;img src=&quot;http://ejohn.org/files/stat-style.sm.png&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;
	&lt;p&gt;Fast and moderate-speed tests are incredibly accurate with the max-style of test running. Often their error is no more than 2% (which is really quite acceptable). The quality degrades for the complex tests, but that's ok. Complex tests could be tweaked to consume less resources (thus allowing them to iterate more times and become more accurate).&lt;/p&gt;
	&lt;p&gt;Right now the accuracy of slow-to-moderate tests in fixed run test suites are suffering from increased rates of error as the engines get faster (as can be seen in the above chart).&lt;/p&gt;
	&lt;p&gt;The major change that would need to be made to the flexible style of execution (at least the one implemented in the V8 Benchmark) would be some form of error checking and t-distribution fitting. In V8 a series of tests are run over the course of one second. I propose that the resulting number (the total number of tests executed) be saved and the tests are repeatedly run again (perhaps 5 times, or so). The resulting set of 5 numbers (representing, potentially, thousands of test runs) would then be analyzed for quality and error level. I have this measure completely mocked up in my &lt;a href=&quot;http://ejohn.org/apps/measure/&quot;&gt;sample test measurement&lt;/a&gt;.&lt;/p&gt;
	&lt;p&gt;The relevant portion of the code is here:&lt;/p&gt;
	&lt;div class=&quot;syntax_hilite&quot;&gt;
&lt;div id=&quot;js-1&quot;&gt;
	&lt;div&gt;&lt;span&gt;function&lt;/span&gt; runTest&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;, test, next&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span&gt;var&lt;/span&gt; runs = &lt;span&gt;&amp;#91;&lt;/span&gt;&lt;span&gt;&amp;#93;&lt;/span&gt;, r = &lt;span&gt;0&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
	&lt;p&gt;&amp;nbsp; setTimeout&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;function&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;&lt;span&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span&gt;var&lt;/span&gt; start = &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;new&lt;/span&gt; Date&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;getTime&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;, diff = &lt;span&gt;0&lt;/span&gt;;&lt;/p&gt;
	&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;for&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt; &lt;span&gt;var&lt;/span&gt; n = &lt;span&gt;0&lt;/span&gt;; diff &amp;lt; &lt;span&gt;1000&lt;/span&gt;; n++ &lt;span&gt;&amp;#41;&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; test&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; diff = &lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;new&lt;/span&gt; Date&lt;span&gt;&amp;#41;&lt;/span&gt;.&lt;span&gt;getTime&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt; - start;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/p&gt;
	&lt;p&gt;&amp;nbsp; &amp;nbsp; runs.&lt;span&gt;push&lt;/span&gt;&lt;span&gt;&amp;#40;&lt;/span&gt; n &lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;/p&gt;
	&lt;p&gt;&amp;nbsp; &amp;nbsp; &lt;span&gt;if&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt; r++ &amp;lt; &lt;span&gt;4&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; setTimeout&lt;span&gt;&amp;#40;&lt;/span&gt; arguments.&lt;span&gt;callee&lt;/span&gt;, &lt;span&gt;0&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span&gt;else&lt;/span&gt; &lt;span&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; done&lt;span&gt;&amp;#40;&lt;/span&gt;&lt;span&gt;name&lt;/span&gt;, runs&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span&gt;if&lt;/span&gt; &lt;span&gt;&amp;#40;&lt;/span&gt; next &lt;span&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; setTimeout&lt;span&gt;&amp;#40;&lt;/span&gt; next, &lt;span&gt;0&lt;/span&gt; &lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &lt;span&gt;&amp;#125;&lt;/span&gt;, &lt;span&gt;0&lt;/span&gt;&lt;span&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span&gt;&amp;#125;&lt;/span&gt;&lt;/p&gt;
	

	&lt;p&gt;Switching to a flexible style of text execution has many benefits:&lt;/p&gt;
	&lt;ul&gt;
	&lt;li&gt;It'll help to keep the rate of error small for most tests (especially if the tests are tailored to be smaller in nature).&lt;/li&gt;
	&lt;li&gt;It'll allow the suite to gracefully adapt over time, as engines speed up, without sacrificing the ability to work on old engines.&lt;/li&gt;
	&lt;li&gt;The maximum number of runs (and, thus, the maximum amount of accuracy) will occur for the engines that are able to complete the tests faster. Since the greatest amount of competition is occurring in these high numbers (as opposed to in older user agents, where there is no progress being made) granting them the most accurate numbers possible makes this ideal.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;p&gt;I plan on prototyping this setup into Dromaeo and releasing it shorting. It'll take much longer to run the full test suite but the result will be quite worth it.
&lt;/p&gt;
		&lt;img src=&quot;http://ejohn.org/apps/rss/?from=rss&amp;amp;id=5643&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/JohnResig/~4/385412389&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>John Resig</name>
			<uri>http://ejohn.org</uri>
		</author>
		<source>
			<title type="html">John Resig</title>
			<subtitle type="html">Blog, Projects, and Links</subtitle>
			<link rel="self" href="http://feeds.feedburner.com/JohnResig"/>
			<id>http://feeds.feedburner.com/JohnResig</id>
			<updated>2008-09-07T21:44:09+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">TXS vs DJB - Round One!</title>
		<link href="http://www.atarininja.org/index.py/entries/humor/txs-is-djb-doppleganger.1024px"/>
		<id>http://www.atarininja.org/entries/humor/txs-is-djb-doppleganger</id>
		<updated>2008-09-06T19:05:00+00:00</updated>
		<content type="html">&lt;p&gt;
&lt;center&gt;&lt;img src=&quot;http://www.atarininja.org/~wxs/images/djb.jpg&quot; /&gt; vs &lt;img src=&quot;http://farm1.static.flickr.com/177/480389458_68f01bc4a5_m.jpg&quot; /&gt;&lt;/center&gt;
&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;
That's &lt;a href=&quot;http://cr.yp.to/djb.html&quot;&gt;DJB&lt;/a&gt; on the left and &lt;a href=&quot;http://www.donkeyonawaffle.org&quot;&gt;TXS&lt;/a&gt; on the right.  I've never seen either of them in the same room at the same time, so there is still a chance they are the same entity.  Maybe TXS is out teachng classes, writing software, or doing other academic things when he should be sleeping or maybe DJB is out having TXS' life while he should be sleeping.  This could all be one big real life Fight Club scenario (without the fighting).  The world may never solve the mystery that is TXS vs DJB.
&lt;/p&gt;
&lt;p&gt;
If you're in the insanely small population that has not seen Fight Club or read the book, then I'm sorry I ruined it for you.  Maybe you should get with the modern era if you're going to continue to read my drivel.
&lt;/p&gt;
&lt;p&gt;
I dug that picture of DJB out from &lt;a href=&quot;http://web.archive.org/web/20040702031111/www.math.uic.edu/cgi-bin/mscs/people/profile_cgi?pid=BerD605&quot;&gt;archive.org.&lt;/a&gt;
&lt;/p&gt;</content>
		<author>
			<name>AtariNinja</name>
			<uri>http://www.atarininja.org/index.py</uri>
		</author>
		<source>
			<title type="html">Atarininja</title>
			<subtitle type="html">Ninja Power without the Price.</subtitle>
			<link rel="self" href="http://www.atarininja.org/?flav=rss20"/>
			<id>http://www.atarininja.org/?flav=rss20</id>
			<updated>2008-09-08T07:44:01+00:00</updated>
			<rights>Copyright 2008 Wesley Shields</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Backup data using flyback</title>
		<link href="http://feeds.feedburner.com/~r/blogspot/frEh/~3/385202314/backup-data-using-flyback.html"/>
		<id>tag:blogger.com,1999:blog-6006114617625504970.post-2572481503215343705</id>
		<updated>2008-09-06T18:43:56+00:00</updated>
		<content type="html">Apple's Time Machine is a great feature in their OS, and Linux has almost all of the required technology already built in to recreate it. This is a simple GUI to make it easy to use.

Installation (Ubuntu/Fedora/Opensuse)

To use, make sure you have the following packages installed: 

Ubuntu: $ sudo apt-get install python python-glade2 python-gnome2 python-sqlite3 python-gconf rsync
Redhat/Fedora&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=MZ1ZL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=MZ1ZL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=2eecl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=2eecl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=ejtsL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=ejtsL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=D9SYl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=D9SYl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=b2ylL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=b2ylL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=qzCKL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=qzCKL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=hPx9L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=hPx9L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=d92nl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=d92nl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Nikesh Jauhari</name>
			<email>noreply@blogger.com</email>
			<uri>http://linuxpoison.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Complete Dose of Linux Poison</title>
			<link rel="self" href="http://feeds.feedburner.com/blogspot/frEh"/>
			<id>tag:blogger.com,1999:blog-6006114617625504970</id>
			<updated>2008-09-07T18:43:33+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Protection from malware using Squid proxy server</title>
		<link href="http://feeds.feedburner.com/~r/blogspot/frEh/~3/385185098/protection-from-malware-using-squid.html"/>
		<id>tag:blogger.com,1999:blog-6006114617625504970.post-5009790157124224862</id>
		<updated>2008-09-06T18:43:56+00:00</updated>
		<content type="html">Malware (for &quot;malicious software&quot;) is any program or file that is harmful to a computer user. Thus, malware includes computer viruses, worms, Trojan horses, and also spyware, programming that gathers information about a computer user without permission.

Ignoring the threat of malware is one of the most reckless things you can do in today's increasingly hostile computing environment. Malware is &lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=1x04L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=1x04L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=TggVl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=TggVl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=PtjcL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=PtjcL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=Aj08l&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=Aj08l&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=TcVSL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=TcVSL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=pergL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=pergL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=LdhtL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=LdhtL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=yT81l&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=yT81l&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Nikesh Jauhari</name>
			<email>noreply@blogger.com</email>
			<uri>http://linuxpoison.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Complete Dose of Linux Poison</title>
			<link rel="self" href="http://feeds.feedburner.com/blogspot/frEh"/>
			<id>tag:blogger.com,1999:blog-6006114617625504970</id>
			<updated>2008-09-07T18:43:33+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">/etc/grub.conf explained</title>
		<link href="http://feeds.feedburner.com/~r/blogspot/frEh/~3/385170751/etcgrubconf-explained.html"/>
		<id>tag:blogger.com,1999:blog-6006114617625504970.post-6377983960386689161</id>
		<updated>2008-09-06T17:43:56+00:00</updated>
		<content type="html">The following example shows the structure of a GRUB menu file. The      example installation has a Linux boot partition under      /dev/sda5, a root partition under      /dev/sda7, and a Windows installation under      /dev/sda1.  
gfxmenu (hd0,4)/boot/message
color white/blue black/light-gray
default 0
timeout 8

title linux
root (hd0,4)
kernel /boot/vmlinuz root=/dev/sda7 vga=791 resume=/dev/&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=hUt5L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=hUt5L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=OWltl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=OWltl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=2KMFL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=2KMFL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=lTFPl&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=lTFPl&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=RozcL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=RozcL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=p2PUL&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=p2PUL&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=d1L9L&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=d1L9L&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?a=bwu7l&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~f/blogspot/frEh?i=bwu7l&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</content>
		<author>
			<name>Nikesh Jauhari</name>
			<email>noreply@blogger.com</email>
			<uri>http://linuxpoison.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">Complete Dose of Linux Poison</title>
			<link rel="self" href="http://feeds.feedburner.com/blogspot/frEh"/>
			<id>tag:blogger.com,1999:blog-6006114617625504970</id>
			<updated>2008-09-07T18:43:33+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Internal Security Staff Matters</title>
		<link href="http://taosecurity.blogspot.com/2008/09/internal-security-staff-matters.html"/>
		<id>tag:blogger.com,1999:blog-4088979.post-4083917504857833881</id>
		<updated>2008-09-06T17:17:13+00:00</updated>
		<content type="html">&lt;a href=&quot;http://3.bp.blogspot.com/_Z-tqVTd9fPI/SMLh08in1HI/AAAAAAAAAnk/RD1iRHg36H4/s1600-h/1715f2_top.gif&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_Z-tqVTd9fPI/SMLh08in1HI/AAAAAAAAAnk/RD1iRHg36H4/s400/1715f2_top.gif&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5243001215933469810&quot; /&gt;&lt;/a&gt;I read &lt;a href=&quot;http://blogs.iss.net/archive/InternalSecurityExpe.html&quot;&gt;Gunter Ollmann&lt;/a&gt;'s post in the &lt;a href=&quot;http://blogs.iss.net/archive/&quot;&gt;IBM ISS blog&lt;/a&gt; with interest today.  Gunter is &quot;Director Security Strategy, IBM Internet Security Systems,&quot; so he is undoubtedly pro-outsourcing.  Here is his argument:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;[S]ecurity doesn’t come cheap. While individual &lt;b&gt;security technologies&lt;/b&gt; get cheaper as they commoditize, the constant influx of new threats drives the need for new classes of protection and new locations to deploy them...&lt;br /&gt;&lt;br /&gt;If you were to examine a typical organizations IT security budget, you’d probably see that the majority of spend isn’t in new appliances or software license renewals, instead it’ll lie in the departments staffing costs...&lt;br /&gt;&lt;br /&gt;This is at odds with the way most organizations normally deal with specialized and professional skill requirements... Just about every organization I deal with (including some of the biggest international companies) relies upon external agencies to provide these specialist services and consultancy – as and when required – it’s more cost effective that way.&lt;br /&gt;&lt;br /&gt;With that in mind, why are organizations building up their own highly-trained (and expensive) specialist internal security teams? Granted, some of the &lt;b&gt;security technologies&lt;/b&gt; being deployed by organizations are relatively complex, but do they really require a Masters degree and CISSP certified experts to babysit them full-time...&lt;br /&gt;&lt;br /&gt;Nowadays you can tap in an incredibly broad range of expertise – ranging from hard-core security researchers capable of helping you evaluate the security of &lt;b&gt;new products&lt;/b&gt; you’re thinking of buying and deploying throughout your enterprise, through to 24x7 security sentinels; so knowledgeable about the &lt;b&gt;security product&lt;/b&gt; you’ve deployed that they’re capable of guaranteeing protection with money-back SLA’s...&lt;br /&gt;&lt;br /&gt;Organizations should take a closer look at their security budgets and evaluate whether they’re getting the right value out of their internal teams and whether their skills investment meets the daily need of the business.&lt;/i&gt; (emphasis added)&lt;br /&gt;&lt;br /&gt;By highlighting the focus on &quot;security products,&quot; you can probably predict my response to Gunter's post.  Sure, you can get hire experts that may (or may not) be cheaper than internal staff, and they may be smarter in individual products or even defensive tactics, but they are poor with respect to the most critical aspect of modern security: &lt;b&gt;business knowledge&lt;/b&gt;.  It does not matter if you are the world's greatest packet monkey if you 1) don't know what matters to a business; 2) don't know business systems; 3) don't know what is normal for a business... do I need to continue?  &lt;br /&gt;&lt;br /&gt;This is the biggest challenge I see for consultants, having been one and having hired them.  It's easier to hire a consultant to help configure a security product than it is to figure out if that product is even needed, which to buy, how to get approval and business buy-in, how to support it operationally, and a dozen other decisions.&lt;br /&gt;&lt;br /&gt;I agree that certain specialized tasks merit outside support.  That list changes from organization to organization.  However, beware arguments like Gunter's.&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright 2003-2008 Richard Bejtlich and TaoSecurity (taosecurity.blogspot.com and www.taosecurity.com)&lt;/div&gt;</content>
		<author>
			<name>Richard Bejtlich</name>
			<email>noreply@blogger.com</email>
			<uri>http://taosecurity.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">TaoSecurity</title>
			<subtitle type="html">Dedicated to digital security and the practices of network security monitoring, incident response, and forensics.</subtitle>
			<link rel="self" href="http://taosecurity.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-4088979</id>
			<updated>2008-09-08T07:43:43+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">The Analyzer Charged Again</title>
		<link href="http://taosecurity.blogspot.com/2008/09/analyzer-charged-again.html"/>
		<id>tag:blogger.com,1999:blog-4088979.post-901581802911022917</id>
		<updated>2008-09-06T15:33:53+00:00</updated>
		<content type="html">&lt;a href=&quot;http://4.bp.blogspot.com/_Z-tqVTd9fPI/SMLMjSCa41I/AAAAAAAAAnc/QGJmUNS1wk0/s1600-h/analyzer1.JPG&quot;&gt;&lt;img src=&quot;http://4.bp.blogspot.com/_Z-tqVTd9fPI/SMLMjSCa41I/AAAAAAAAAnc/QGJmUNS1wk0/s200/analyzer1.JPG&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5242977822722155346&quot; /&gt;&lt;/a&gt;I read a name I hadn't seen in years today when I read Kim Zetter's story &lt;a href=&quot;http://blog.wired.com/27bstroke6/2008/09/the-analyzer-su.html&quot;&gt;Israeli Hacker Known as &quot;The Analyzer&quot; Suspected of Hacking Again&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Canadian authorities have announced the arrest of a 29-year-old Israeli named &lt;b&gt;Ehud Tenenbaum&lt;/b&gt; whom they believe is the notorious hacker known as &quot;The Analyzer&quot; who, as a teenager in 1998, hacked into unclassified computer systems belonging to NASA, the Pentagon, the Israeli parliament and others.&lt;br /&gt;&lt;br /&gt;Tenenbaum and three Canadians were arrested for allegedly hacking the computer system of a Calgary-based financial services company and inflating the value on several pre-paid debit card accounts before withdrawing about CDN $1.8 million (about U.S. $1.7 million) from ATMs in Canada and other countries. The arrests followed a months-long investigation by Canadian police and the U.S. Secret Service.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The Analyzer was the &quot;mastermind&quot; behind &lt;a href=&quot;http://www.globalsecurity.org/military/ops/solar-sunrise.htm&quot;&gt;Solar Sunrise&lt;/a&gt;, one of the original &quot;&lt;a href=&quot;http://taosecurity.blogspot.com/2007/09/be-caveman.html&quot;&gt;so easy a Caveman could do it&lt;/a&gt;&quot; intrusions -- back in 1998.  Solar Sunrise was huge and it was one of several very rude awakenings I remember while serving in the Air Force that decade.&lt;br /&gt;&lt;br /&gt;Seeing The Analyzer back in law enforcement custody reminds me of the post I made about &lt;a href=&quot;http://taosecurity.blogspot.com/2007/09/max-ray-butler-in-trouble-again.html&quot;&gt;Max Ray Butler&lt;/a&gt; and somewhat of my post &lt;a href=&quot;http://taosecurity.blogspot.com/2006/08/intruders-selling-security-software.html&quot;&gt;Intruders Selling Security Software&lt;/a&gt;.  It's all about trust.&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright 2003-2008 Richard Bejtlich and TaoSecurity (taosecurity.blogspot.com and www.taosecurity.com)&lt;/div&gt;</content>
		<author>
			<name>Richard Bejtlich</name>
			<email>noreply@blogger.com</email>
			<uri>http://taosecurity.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">TaoSecurity</title>
			<subtitle type="html">Dedicated to digital security and the practices of network security monitoring, incident response, and forensics.</subtitle>
			<link rel="self" href="http://taosecurity.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-4088979</id>
			<updated>2008-09-08T07:43:43+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Raleigh Convention Center</title>
		<link href="http://www.intertwingly.net/blog/2008/09/06/Raleigh-Convention-Center"/>
		<id>tag:intertwingly.net,2004:2896</id>
		<updated>2008-09-06T11:51:21+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://www.raleighconvention.com/grand-opening.php&quot;&gt;Grand Opening&lt;/a&gt; is occurring this weekend.  Took a tour yesterday, looks modern, clean, and should attract more businesses into downtown.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://www.raleighconvention.com/index.php/homepage/event-planning/facilities&quot;&gt;facilities&lt;/a&gt; looks to be about a quarter the size of the &lt;a href=&quot;http://events.contracostatimes.com/san-francisco-ca/venues/show/8076-moscone-center&quot;&gt;combined Moscone Center&lt;/a&gt; (i.e., North, South, and West combined).  I’d wager that the weak link in attracting major (international or even national) conferences is the &lt;a href=&quot;http://www.raleighconvention.com/index.php/homepage/event-planning/rdu-airport&quot;&gt;airport&lt;/a&gt;, as Raleigh is neither a major destination nor a national hub.&lt;/p&gt;
&lt;p&gt;One unique feature is the shimmer wall which is fun to look both at &lt;a href=&quot;http://www.raleighconvention.com/index.php/homepage/news?action=news-detail&amp;amp;neid=29&quot;&gt;night&lt;/a&gt; and &lt;a href=&quot;http://www.youtube.com/watch?v=4_SLi9UgsLs&quot;&gt;day&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Sam Ruby</name>
			<email>rubys@intertwingly.net</email>
			<uri>http://www.intertwingly.net/blog/</uri>
		</author>
		<source>
			<title type="html">Sam Ruby</title>
			<subtitle type="html">It’s just data</subtitle>
			<link rel="self" href="http://www.intertwingly.net/blog/index.atom"/>
			<id>http://intertwingly.net/blog/index.atom</id>
			<updated>2008-09-08T07:44:10+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Bejtlich Keynote at 1st ACM Workshop on Network Data Anonymization</title>
		<link href="http://taosecurity.blogspot.com/2008/09/bejtlich-keynote-at-1st-acm-workshop-on.html"/>
		<id>tag:blogger.com,1999:blog-4088979.post-382538416197424735</id>
		<updated>2008-09-06T11:30:09+00:00</updated>
		<content type="html">&lt;img src=&quot;http://photos1.blogger.com/x/blogger2/7279/2025/211/z/819014/gse_multipart40252.png&quot; align=&quot;left&quot; /&gt;Brian Trammell and Bill Yurcik were kind enough to ask me to deliver the keynote at the &lt;a href=&quot;http://www.ics.forth.gr/~antonat/nda08.html&quot;&gt;1st ACM Workshop on Network Data Anonymization&lt;/a&gt; (NDA 2008).  The one day event takes place 31 October 2008 at George Mason University in northern VA. My &lt;a href=&quot;http://www.ics.forth.gr/~antonat/nda_abstract.html&quot;&gt;talk&lt;/a&gt; will discuss the trials and tribulations of &lt;a href=&quot;http://www.openpacket.org/&quot;&gt;OpenPacket.org&lt;/a&gt;, and changes planned for the project.&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright 2003-2008 Richard Bejtlich and TaoSecurity (taosecurity.blogspot.com and www.taosecurity.com)&lt;/div&gt;</content>
		<author>
			<name>Richard Bejtlich</name>
			<email>noreply@blogger.com</email>
			<uri>http://taosecurity.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">TaoSecurity</title>
			<subtitle type="html">Dedicated to digital security and the practices of network security monitoring, incident response, and forensics.</subtitle>
			<link rel="self" href="http://taosecurity.blogspot.com/feeds/posts/default"/>
			<id>tag:blogger.com,1999:blog-4088979</id>
			<updated>2008-09-08T07:43:43+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Solaris Core Analysis, Part 2: Solaris CAT</title>
		<link href="http://www.cuddletech.com/blog/pivot/entry.php?id=966"/>
		<id>tag:cuddletechblogs,2008:theblogofbenrockwood.966</id>
		<updated>2008-09-06T09:58:00+00:00</updated>
		<content type="html">&lt;p&gt;
In &lt;a href=&quot;http://cuddletech.com/blog/pivot/entry.php?id=965&quot;&gt;Part 1&lt;/a&gt; we discussed core analysis in general and some basic mdb commands for high level investigation.  When you dig deeper things can get confusing and complex because everything is referenced by address.  This is where the &lt;a href=&quot;http://blogs.sun.com/solariscat/&quot;&gt;Solaris Crash Analysis Tool&lt;/a&gt; comes in.
&lt;/p&gt;
&lt;p&gt;
Solaris CAT has been around for a long time, but only as of version 5.0 released on June 18th of this year has it been available for Solaris X86/X64.  You can find the &lt;a href=&quot;http://blogs.sun.com/solariscat/entry/solarius_cat_5_0_release&quot;&gt;Solaris CAT 5.0 Release Notes here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
To get started, &lt;a href=&quot;http://www.sun.com/bigadmin/jsp/descFile.jsp?url=descAll/solaris_crash_analy_&quot;&gt;download CAT 5.0&lt;/a&gt;, uncompress and install the package:
&lt;/p&gt;
&lt;pre&gt;
# bunzip2 SUNWscat5.0-GA-i386.pkg.bz2
# pkgadd -G -d ./SUNWscat5.0-GA-i386.pkg 

The following packages are available:
  1  SUNWscat     Solaris Crash Analysis Tool (5.0 GA SV4622M)
                  (i386) 5.0

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1

Processing package instance  from 

Solaris Crash Analysis Tool (5.0 GA SV4622M)(i386) 5.0
...
&lt;/pre&gt;
&lt;p&gt;
The package will, by default, install into /opt/SUNWscat.  There are two binaries we're really interested in, found in the bin/ directory: &lt;i&gt;scat&lt;/i&gt; and &lt;i&gt;blast&lt;/i&gt;.   The &lt;i&gt;scat&lt;/i&gt; tool is the CLI interface to Solaris CAT and provides a shell which is a human friendly  re-implementation of mdb (no &quot;::&quot; prefixing commands, etc.)  The &lt;i&gt;blast&lt;/i&gt; tool is a really nice Java GUI interface to the CLI which adds a lot of &quot;just click here&quot; functionality and is excellent for testing and playing around.  I highly recommend you point your browser at /opt/SUNWscat/docs/index.html, which includes some minimal but extremely useful HTML documentation.
&lt;/p&gt;
&lt;p&gt;
&lt;i&gt;Authors note: I'm resisting a &quot;scat&quot; joke with amazing strength.  Seriously... resisting.... so.... hard....&lt;/i&gt;
&lt;/p&gt;
&lt;p&gt;
We'll focus on the CLI here.  Invocation is a little unusual; add /opt/SUNWscat/bin to your path and then change to the directory containing your dumps (usual /var/crash/hostname/), for the .0 dumps use &quot;scat 0&quot;, for the .1 dumps use &quot;scat 1&quot;, and so on.  You'll fine the &quot;online help&quot; within the CLI exceptional, lets look:
&lt;/p&gt;
&lt;pre&gt;
# export PATH=$PATH:/opt/SUNWscat/bin
# cd /var/crash/ev2-r01-s10/
# ls -l
total 14205330
-rw-r--r--   1 root     root           2 Aug 25 07:49 bounds
-rw-r--r--   1 root     root     1444762 Aug 25 07:43 unix.0
-rw-r--r--   1 root     root     7268106240 Aug 25 07:49 vmcore.0
# scat 0

  Solaris[TM] CAT 5.0 for Solaris 11 64-bit x86
    SV4622M, Jul  3 2008

  Copyright © 2008 Sun Microsystems, Inc. All rights reserved.
  Use is subject to license terms.

  Feedback regarding the tool should be sent to SolarisCAT_Feedback@Sun.COM
  Visit the Solaris CAT blog at http://blogs.sun.com/SolarisCAT

opening unix.0 vmcore.0 ...dumphdr...symtab...core...done
loading core data: modules...symbols...ctftype: unknown type struct panic_trap_info
CTF...done

core file:      /var/crash/xxxxxxxx/vmcore.0
user:           Super-User (root:0)
release:        5.11 (64-bit)
version:        snv_67
machine:        i86pc
node name:      xxxxxxxxxxxxxxxxxx
system type:    i86pc
hostid:         xxxxxxxx
dump_conflags:  0x10000 (DUMP_KERNEL) on /dev/dsk/c0t0d0s1(24.0G)
time of crash:  Mon Aug 25 07:41:00 GMT 2008 (core is 13 days old)
age of system:  91 days 22 hours 49 minutes 50.97 seconds
panic CPU:      1 (8 CPUs, 31.9G memory)
panic string:   page_free pp=ffffff0007243bd8, pfn=11228e, lckcnt=0, cowcnt=0 slckcnt = 0

sanity checks: settings...vmem...
WARNING: FSS thread 0xffffff097d1e3400 on CPU2 using 99%CPU
WARNING: FSS thread 0xffffff09fddbab40 on CPU3 using 99%CPU
sysent...clock...misc...
NOTE: system has 54 non-global zones
done
SolarisCAT(vmcore.0/11X)&gt; 
&lt;/pre&gt;
&lt;p&gt;
When CAT is unleashed on a dump several &quot;sanity checks&quot; are run which can point out glaring known issues.  There is an HTML document in the docs/ directory which outlines all the various sanity checks.  These checks alone make CAT a must-have tool!  Sanity check output will come in two varieties, &quot;WARNING&quot; which indicates something out of whack that may have been the cause or contributor to the crash, and &quot;NOTE&quot; which is unlikely the cause but of interest.  We can see in the example above two warnings telling me that 2 threads were consuming 99% of a CPU... thats handy!  It also notes that I'm running 54 zones.
&lt;/p&gt;
&lt;p&gt;
The available commands a broken down into categories which you can see using the &quot;help&quot; command.  The first group are for &quot;Initial Investigation:&quot; and include: analyze, coreinfo, msgbuf,  panic, stack, stat, and toolinfo.  Lets look at the &quot;analyze&quot; commands output:
&lt;/p&gt;
&lt;pre&gt;
SolarisCAT(vmcore.0/11X)&gt; analyze

core file:      /var/crash/xxxxxx/vmcore.0
user:           Super-User (root:0)
release:        5.11 (64-bit)
version:        snv_67
machine:        i86pc
node name:      xxxxxx
system type:    i86pc
hostid:         xxxxx
dump_conflags:  0x10000 (DUMP_KERNEL) on /dev/dsk/c0t0d0s1(24.0G)
time of crash:  Mon Aug 25 07:41:00 GMT 2008 (core is 13 days old)
age of system:  91 days 22 hours 49 minutes 50.97 seconds
panic CPU:      1 (8 CPUs, 31.9G memory)
panic string:   page_free pp=ffffff0007243bd8, pfn=11228e, lckcnt=0, cowcnt=0 slckcnt = 0


==== panic thread: 0xfffffffef4ce5dc0 ==== CPU: 1 ====
==== panic user (LWP_SYS) thread: 0xfffffffef4ce5dc0  PID: 10156  on CPU: 1 ====
cmd: /opt/local/sbin/httpd -k start
t_procp: 0xffffffff06595e50
  p_as: 0xffffffff093490e0  size: 47374336  RSS: 3125248
  hat: 0xffffffff092a9480  cpuset: 1
  zone: address translation failed for zone_name addr: 8 bytes @ 0x3

t_stk: 0xffffff00486bcf10  sp: 0xffffff00486bc880  t_stkbase: 0xffffff00486b8000
t_pri: 3(FSS)  pctcpu: 0.380035
t_lwp: 0xfffffffefe61ab60  lwp_regs: 0xffffff00486bcf10
  mstate: LMS_SYSTEM  ms_prev: LMS_SYSTEM
  ms_state_start: 2 minutes 31.229022230 seconds earlier
  ms_start: 2 minutes 31.343582414 seconds earlier
psrset: 0  last CPU: 1  
idle: 0 ticks (0 seconds)
start: Mon Aug 25 07:41:00 2008
age: 0 seconds (0 seconds)
syscall: #131 memcntl(, 0x0) ()
tstate: TS_ONPROC - thread is being run on a processor
tflg:   T_PANIC - thread initiated a system panic
        T_DFLTSTK - stack is default size
tpflg:  TP_MSACCT - collect micro-state accounting information
tsched: TS_LOAD - thread is in memory
        TS_DONT_SWAP - thread/LWP should not be swapped
        TS_RUNQMATCH
pflag:  SMSACCT - process is keeping micro-state accounting
        SMSFORK - child inherits micro-state accounting

pc:      unix:vpanic_common+0x13b:  addq   $0xf0,%rsp

unix:vpanic_common+0x13b()
unix:panic+0x9c()
unix:page_free+0x22e()
unix:page_destroy+0x100()
genunix:fs_dispose+0x2e()
genunix:fop_dispose+0xdc()
genunix:pvn_getdirty+0x1f0()
zfs:zfs_putpage+0x129()
genunix:fop_putpage+0x65()
genunix:segvn_sync+0x39f()
genunix:as_ctl+0x1f2()
genunix:memcntl+0x709()
unix:_syscall32_save+0xbf()
-- switch to user thread's user stack --
&lt;/pre&gt;
&lt;p&gt;
This output provides a vast array of useful details, including:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System summary, including OS release and version, architecture, hostname, and hostid; as well as number of CPU's and memory
&lt;li&gt;Time of crash and previous uptime (&quot;age of system&quot;)
&lt;li&gt;The panic string and CPU that it occurred on
&lt;li&gt;The thread that caused the panic and its details, including the command (argc &amp;amp;argv), its memory footprint (size &amp;amp; rss), and zone
&lt;li&gt;The threads state information, run time, start time, current syscall
&lt;li&gt;The call stack
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
As noted in Part 1, what most people are really looking for when doing core analysis is to determine which application was responsable, and this output provides that data in great clarity.  Lets dig into it a bit more explicitly... based on the above &quot;analyze&quot; output we can see that....
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The system is an 8CPU X86 box running snv_67 (Solaris Nevada Build 67) in 64bit mode with 32GB of RAM.
&lt;li&gt;System crashed on Aug 25th at 7:41AM GMT, it was previously up for 91 days
&lt;li&gt;System paniced on &quot;page_free&quot; call, on CPU 1
&lt;li&gt;The running thread was &quot;httpd -k start&quot;... an Apache worker process.
&lt;li&gt;The process had the PID 10156, consumed 3.1MB of Physical Memory (RSS) and had a virtual size of 47MB
&lt;li&gt;The process was using less than 1% (pctcpu) of CPU 1, was using the Fair Share Scheduler (FSS), on Processor Set (psrset) 0.
&lt;li&gt;The process started on Aug 25th at 7:41AM GMT, it was 0 seconds old when it crashed... possibly a forked worker gone bad.
&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;
For many administrators this might be as much as you wanted to know, right there.  But lets look at a couple more commands.
&lt;/p&gt;
&lt;p&gt;
You'll recall that during the sanity checks at startup it noted 2 threads consuming full CPU's.  We can feed the thread address to the &quot;thread&quot; command to get details on them:
&lt;/p&gt;
&lt;pre&gt;
SolarisCAT(vmcore.0/11X)&gt; thread 0xffffff097d1e3400
==== user (LWP_SYS) thread: 0x