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

<channel>
	<title>Planet HashPHP</title>
	<link>http://planet.hashphp.com/</link>
	<language>en</language>
	<description>Planet HashPHP - http://planet.hashphp.com/</description>

<item>
	<title>chip: Announcing Nodul.es: CPAN for Node.js</title>
	<guid>http://journal.paul.querna.org/?p=514</guid>
	<link>http://journal.paul.querna.org/articles/2010/09/02/nodul-es-cpan-for-node-js/</link>
	<description>&lt;p&gt;Last weekend, our team named &amp;#8220;Ponies for Orphans&amp;#8221; participated in the &lt;a href=&quot;http://nodeknockout.com/&quot;&gt;Node Knockout&lt;/a&gt; competition.  The team included 3 of my co-workers from Cloudkick, &lt;a href=&quot;http://russellhaering.com/&quot;&gt;Russell&lt;/a&gt;, &lt;a href=&quot;http://www.tomaz-muraus.info/&quot;&gt;Tomaz&lt;/a&gt;, Logan, and myself. In 48 hours, we had to build a project based on Node.js.&lt;/p&gt;
&lt;p&gt;We were brainstorming ideas before the competition, thinking about all the cool things we could do;  We even planned out some multiplayer game ideas.  We quickly figured out that none of us had done anything extensive with Canvas or SVG, and the existing 3rd party libraries aren&amp;#8217;t very comprehensive, with the possible exception of &lt;a href=&quot;http://processingjs.org/&quot;&gt;Processing.js&lt;/a&gt;. We also felt that we wanted something that would continue to be used after the competition.  We refocused our ideas on projects that would work well with our team composition of being backend programers, and eventually settled on Nodul.es:&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Nodul.es: CPAN for Node.js&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://nodul.es/&quot;&gt;Nodul.es&lt;/a&gt; is a web based view of the &lt;a href=&quot;http://github.com/isaacs/npm&quot;&gt;NPM package repository&lt;/a&gt; for Node.js.  Our goal was simple, implement what we liked about &lt;a href=&quot;http://search.cpan.org/&quot;&gt;CPAN for Perl&lt;/a&gt; and &lt;a href=&quot;http://pypi.python.org/pypi&quot;&gt;Python&amp;#8217;s PyPi &lt;/a&gt;in 48 hours of coding.&lt;/p&gt;
&lt;p&gt;Currently you can browse by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://nodul.es/authors/&quot;&gt;Author&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://nodul.es/categories/&quot;&gt;Categories&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&lt;a href=&quot;http://nodul.es/modules/&quot;&gt;Alphabetical listing&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;#8217;s look at an example of a module page;  &lt;a href=&quot;http://nodul.es/modules/compress&quot;&gt;Tim Smart&amp;#8217;s node-compress module&lt;/a&gt; is a good example.  We pull out metadata from both the NPM repository, the latest commit from Github, and find all modules that have a dependency upon it.&lt;/p&gt;
&lt;h2&gt;Internals of Nodul.es&lt;/h2&gt;
&lt;p&gt;Nodul.es is built around Node.js, using its asynchronous abilities extensively.&lt;/p&gt;
&lt;p&gt;We split the system into 3 main components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/cloudkick/nodul.es/blob/nko-release/lib/services/indexer.js&quot;&gt;Indexer&lt;/a&gt;:  Indexes the raw data about packages from the NPM Registry.  This is just a raw JSON dump from NPM&amp;#8217;s CouchDB backend.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/cloudkick/nodul.es/blob/nko-release/lib/services/source_downloader.js&quot;&gt;Source Downloader&lt;/a&gt;: Downloads the latest releases of all NPM modules, and extracts them so we can get extra metadata out about the module.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/cloudkick/nodul.es/blob/nko-release/lib/services/http.js&quot;&gt;Webapp&lt;/a&gt;: The &lt;em&gt;simple&lt;/em&gt; part, pulls data out of our datastore, and displays html pages to end users.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All of these services interact MongoDB, which provides data storage for all of the indexed data, and ways to get it back out for webpages.&lt;/p&gt;
&lt;p&gt;We also used several external dependencies in building Nodul.es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/caolan/async&quot;&gt;async&lt;/a&gt; &amp;#8211; For flow control of asynchronous operations.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/clement/clutch&quot;&gt;clutch&lt;/a&gt; &amp;#8211; For URL routing inside the webapp.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/raycmorgan/Mu&quot;&gt;Mu&lt;/a&gt; &amp;#8211; For HTML Templating in the webapp.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://github.com/felixge/node-paperboy/&quot;&gt;paperboy&lt;/a&gt; &amp;#8211; For static file serving (ie, CSS/javascript) in the media subdirectory.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://code.google.com/p/google-code-prettify/&quot;&gt;prettify&lt;/a&gt; &amp;#8211; For code highlighting, for a feature not released!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.diveintojavascript.com/projects/sprintf-for-javascript&quot;&gt;sprintf&lt;/a&gt; &amp;#8211; For string formatting, in the logs, nice logs are good.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What&amp;#8217;s next for Nodul.es&lt;/h2&gt;
&lt;p&gt;We built Nodul.es in 48 hours, and until the voting is over, we aren&amp;#8217;t allowed to change it.  But we have a ton of features partially completed that we had to pull because we didn&amp;#8217;t want to ship broken and incomplete features, they include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Source Browser:  We want to provide a similar source browsing experience to CPAN in this respect, letting you quickly see how someone is doing something.  We already have most of the infrastructure for this, because we have downloaded the source tarballs.&lt;/li&gt;
&lt;li&gt;Sitemaps:  We are adding &lt;a href=&quot;http://www.sitemaps.org/&quot;&gt;Sitemaps&lt;/a&gt;, so that all search engines can find the modules easily.  Currently finding modules is an odd combination of using command line tools or getting lucky with a web search.&lt;/li&gt;
&lt;li&gt;More Github integration: The vast majority of Node.js modules are hosted on Github, so we want to do things like show module development activity, and use that to provide sorts on things like Category pages.&lt;/li&gt;
&lt;li&gt;Your ideas: &lt;a href=&quot;http://github.com/cloudkick/nodul.es&quot;&gt;Nodul.es is open source&lt;/a&gt;.  We want to make it the best module browser for any language out there.  Submit Ideas, submit pull requests, lets get going!&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Thu, 02 Sep 2010 17:39:37 +0000</pubDate>
	<dc:creator>Paul Querna</dc:creator>
</item>
<item>
	<title>Ashley: My Top 5 Artists (Week Ending 2010-8-29)</title>
	<guid>http://blog.leymoo.com/post/1045802600</guid>
	<link>http://blog.leymoo.com/post/1045802600</link>
	<description>&lt;a href=&quot;http://www.last.fm/user/leymoo/charts?charttype=weekly&amp;date_to=1283083200&quot;&gt;My Top 5 Artists (Week Ending 2010-8-29)&lt;/a&gt;: &lt;ol&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Deee-Lite&quot;&gt;Deee-Lite (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Goldfrapp&quot;&gt;Goldfrapp (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Massive+Attack&quot;&gt;Massive Attack (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/The+Rolling+Stones&quot;&gt;The Rolling Stones (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/+noredirect/Sandi%2526Matues&quot;&gt;Sandi&amp;amp;Matues (1)&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Imported from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com/post/23488847/last-fm-tumblr-weekly-top-artists&quot;&gt;Last.fm Tumblr&lt;/a&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com&quot;&gt;JoeLaz&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 01 Sep 2010 03:26:57 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "The BBC told us that the floods would cover a third of England"</title>
	<guid>http://bjorn.tipling.com/post/1038726571</guid>
	<link>http://bjorn.tipling.com/post/1038726571</link>
	<description>“The BBC told us that the floods would cover a third of England”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://blogs.oxfamamerica.org/index.php/2010/08/30/a-crisis-unlike-any-other/&quot;&gt;Oxfam America Blog » Blog Archive » A crisis unlike any other&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Mon, 30 Aug 2010 21:40:56 +0000</pubDate>
</item>
<item>
	<title>Laney: OpenPGP key transition</title>
	<guid>http://orangesquash.org.uk/?p=105</guid>
	<link>http://orangesquash.org.uk/2010/08/30/openpgp-key-transition/</link>
	<description>&lt;p&gt;I recently decided, in advance of any future events I may attend, to join the bandwagon and transition away from my old 1024D key (20BFCDC7) to a lovely new 4096R key (1C5041D4). This post is my transition announcement. &lt;a href=&quot;http://people.ubuntu.com/~laney/key-transition-2010-08-29.txt.asc&quot;&gt;You can find the transition document here&lt;/a&gt;, and below. Both keys will still be valid for the time being, but I shall not be renewing the old one after it expires on 2010-11-26, and it will be revoked shortly thereafter. As far as possible, I&amp;#039;d appreciate all correspondence to use the new key.&lt;/p&gt;
&lt;p&gt;If, after reading the transition document, you feel comfortable signing my key (and have signed the old one), then I&amp;#039;d appreciate your signature via email.&lt;/p&gt;
&lt;p&gt;(format of transition document cribbed from &lt;a href=&quot;http://mdzlog.alcor.net/2010/03/25/new-openpgp-key/&quot;&gt;Matt Zimmerman&amp;#039;s transition&lt;/a&gt;, thanks!)&lt;/p&gt;
&lt;pre&gt;-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1,SHA256

,----[ OpenPGP key transition ]
| Time-stamp: &amp;lt;2010-08-30 00:08:28 laney&amp;gt;
`----

I've recently set up a new GPG key, and will be transitioning away from
my old one. I have done this in order to migrate to a larger RSA key and
stronger hash functions, and NOT due to any known key compromise.  The
old key will continue to be valid for some time, but future
correspondence should use the new one wherever possible.

This message is signed by both keys to certify the transition.

The old key was:

pub   1024D/20BFCDC7 2007-11-27
Key fingerprint = 2B1E 742E B9CA C441 EA0B  4CBA 3F2D 129C 20BF CDC7
uid                  Iain Lane &amp;lt;iain@orangesquash.org.uk&amp;gt;
uid                  Iain Lane &amp;lt;laney@ubuntu.com&amp;gt;
uid                  Iain Lane &amp;lt;ial@cs.nott.ac.uk&amp;gt;
uid                  Iain Lane &amp;lt;psxil@nottingham.ac.uk&amp;gt;
sub   2048g/5D64CB7D 2007-11-27 [expires: 2010-11-26]

and the new key is:

pub   4096R/1C5041D4 2010-08-29 [expires: 2013-08-28]
Key fingerprint = 3D0E FB95 E7B5 237F 16E8  2258 E352 D5C5 1C50 41D4
uid                  Iain Lane &amp;lt;iain@orangesquash.org.uk&amp;gt;
uid                  Iain Lane &amp;lt;psxil@nottingham.ac.uk&amp;gt;
uid                  Iain Lane &amp;lt;laney@ubuntu.com&amp;gt;
uid                  Iain Lane &amp;lt;ial@cs.nott.ac.uk&amp;gt;
sub   4096R/8FB24134 2010-08-29 [expires: 2013-08-28]

To fetch my new key from a public keyserver, you can run:

gpg --keyserver pgp.mit.edu --recv-keys 1C5041D4

and verify its fingerprint matches the one above:

gpg --fingerprint 1C5041D4

If you already know my old key, you can now verify that the new key is
signed by the old one:

gpg --check-sigs 1C5041D4

If you have previously signed my old key, and you're satisfied that
you've got the correct new key, then I'd appreciate it if you would sign
my new key as well:

gpg --sign-key 1C5041D4

Then I would appreciate it if you would mail me the signed key. A lot of
people like to use caff(1) to sign keys.

Thanks,
Iain Lane
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkx66HUACgkQPy0SnCC/zccWmwCfXgHVQkIAwjwgSosANYdaCcTd
LoUAn1Emf+obkXmW40qjs7PSDlMv2rN8iQIcBAEBCAAGBQJMeuh1AAoJEONS1cUc
UEHUqTsQALTBe1wAtZ/8StNo7GwMgnFUTmfmgyGG5sX6I3d8N2vUOhQ3uKYMLrxE
5JrtpG06DyTjU4woVDoCkUGtatIVhkaY7Q/U04l/t6w1wC+lfP+EGos117JYtzc4
rFDttJHlo2CzIz695Gk5T+4JRax1VBF8PEQgVqvwMHKG5C+L87QtqDgLFZ1vElQK
qIFIokU7Gfo3tNXQB9uwQlgN4m46nfL/j8FcqWYNOBD5SiB0A78zuDljHKHtGiEi
AYFRjHZA2mha3xePCqOc7uC8dO9Lyqn9RK9bbcFgbW+G3M8o7ZQd/0a5SQifBMp6
8IyFdRuPHIdAF9YcBMaW1cf+ioEL9OIHTMmq3vmGVJIRjwzTtbl/CXaBCAdMvJeh
SlPnm256/wTUkc2np9erJQ9JwfRB84neT3XVd3HE7AdTuMd9E3BTY2Lqav3YI8kI
rVMPD5Yi0tXMfz6dUSU9hKg0ttiklkY9whtSf4sTKvsyw+ZM5apFFK/a0aXaitUA
A0xP7SSc4g5vXd3YBm5JvO4DEFcmuk+lRLSxUy4g7rWWB3hdwwI6jgb9+b7TTHBC
vW4eH4wG7JH4/rIlIwLndQqkbzkY+FMzHfWvMf/xwKCjeHfKF4iw96kUHahu/arR
d2vzHUdiWpQwhsb15EkNcS5De5vE/vjgHHehkmuZwmhjyIzQNNyC
=woWY
-----END PGP SIGNATURE-----&lt;/pre&gt;</description>
	<pubDate>Sun, 29 Aug 2010 23:24:31 +0000</pubDate>
	<dc:creator>Iain</dc:creator>
</item>
<item>
	<title>Ashley: scienceygoodness:

Etsy find of the day: Because in the words of...</title>
	<guid>http://blog.leymoo.com/post/1009834841</guid>
	<link>http://blog.leymoo.com/post/1009834841</link>
	<description>&lt;img src=&quot;http://28.media.tumblr.com/tumblr_l7mdkvY3d51qcs4cyo1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://wethesciencey.com/post/999276311/etsy-find-of-the-day-because-in-the-words-of-the&quot; target=&quot;_blank&quot;&gt;scienceygoodness&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Etsy find of the day: Because in the words of the description itself, “S&lt;span&gt;o that while children are coloring, they are also exposed to the names of chemicals that will make those colors! So instead of thinking “I want green” they will think “I want Barium Nitrate Ba(NO3)2…”&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Wed, 25 Aug 2010 18:11:11 +0000</pubDate>
</item>
<item>
	<title>Ashley: Me + coat = yay. Linky to M&amp;S model wearing one...</title>
	<guid>http://blog.leymoo.com/post/1009745645</guid>
	<link>http://blog.leymoo.com/post/1009745645</link>
	<description>&lt;img src=&quot;http://25.media.tumblr.com/tumblr_l7pyshK3HK1qzlorzo1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Me + coat = yay. Linky to M&amp;amp;S model wearing one here… &lt;a title=&quot;http://www.marksandspencer.com/Long-Sleeve-Funnel-Belted-Anorak/dp/B003VFAM04&quot; target=&quot;_blank&quot; href=&quot;http://www.marksandspencer.com/Long-Sleeve-Funnel-Belted-Anorak/dp/B003VFAM04&quot;&gt;&lt;a href=&quot;http://www.marksandspencer.com/Long-Sleeve-Funnel-Belted-Anorak/dp/B003VFAM04&quot; target=&quot;_blank&quot;&gt;http://www.marksandspencer.com/Long-Sleeve-Funnel-Belted-Anorak/dp/B003VFAM04&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s also water resistant (for a coat to actually be waterproof you usually need to go to an outdoors store, or a sports shop), so I finally own a practical coat again…&lt;/p&gt;
&lt;p&gt;Apologies for the mobile phone shot, this was originally a quick snap in store to assess rolphus’ opinion from home!&lt;/p&gt;</description>
	<pubDate>Wed, 25 Aug 2010 17:48:16 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "It’s no accident that in 21st century America, torture has been mainstreamed, climate denial has..."</title>
	<guid>http://bjorn.tipling.com/post/1005201352</guid>
	<link>http://bjorn.tipling.com/post/1005201352</link>
	<description>“It’s no accident that in 21st century America, torture has been mainstreamed, climate denial has taken firm hold, book burning, racial dog whistles and brazen religious intolerance are part of our discourse and par for the course. This is how the right plays the game, using Limbaugh, Hannity, Fox, Drudge, blogs, chain emails, talk radio, etc. to shamelessly and defiantly drag the conversation as far right as possible.”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://peterdaou.com/2010/08/the-glaringly-simple-formula-for-rightwing-dominance-of-our-national-debate/&quot;&gt;The glaringly simple formula for rightwing dominance of our national debate : Peter Daou&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Tue, 24 Aug 2010 21:21:33 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "There is a simple formula for rightwing dominance of our national debate, even when Democrats are in..."</title>
	<guid>http://bjorn.tipling.com/post/1005198972</guid>
	<link>http://bjorn.tipling.com/post/1005198972</link>
	<description>“There is a simple formula for rightwing dominance of our national debate, even when Democrats are in charge: move the conversation as extreme right as possible, then compromise toward the far right.”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://peterdaou.com/2010/08/the-glaringly-simple-formula-for-rightwing-dominance-of-our-national-debate/&quot;&gt;The glaringly simple formula for rightwing dominance of our national debate : Peter Daou&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Tue, 24 Aug 2010 21:20:59 +0000</pubDate>
</item>
<item>
	<title>Ashley: My Top 5 Artists (Week Ending 2010-8-22)</title>
	<guid>http://blog.leymoo.com/post/1003721307</guid>
	<link>http://blog.leymoo.com/post/1003721307</link>
	<description>&lt;a href=&quot;http://www.last.fm/user/leymoo/charts?charttype=weekly&amp;date_to=1282478400&quot;&gt;My Top 5 Artists (Week Ending 2010-8-22)&lt;/a&gt;: &lt;ol&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Electric+Six&quot;&gt;Electric Six (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/+noredirect/Rolling+Stones&quot;&gt;Rolling Stones (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/N%2AE%2AR%2AD&quot;&gt;N*E*R*D (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Fatboy+Slim&quot;&gt;Fatboy Slim (1)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Radiohead&quot;&gt;Radiohead (1)&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Imported from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com/post/23488847/last-fm-tumblr-weekly-top-artists&quot;&gt;Last.fm Tumblr&lt;/a&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com&quot;&gt;JoeLaz&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 24 Aug 2010 14:56:37 +0000</pubDate>
</item>
<item>
	<title>chip: Writing Node.js Native Extensions</title>
	<guid>http://journal.paul.querna.org/?p=510</guid>
	<link>http://journal.paul.querna.org/articles/2010/08/23/writing-node-js-native-extensions/</link>
	<description>&lt;p&gt;Have a big blog post over on the Cloudkick Blog about Writing &lt;a href=&quot;https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/&quot;&gt;Node.js Native Extensions&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Mon, 23 Aug 2010 17:34:01 +0000</pubDate>
	<dc:creator>Paul Querna</dc:creator>
</item>
<item>
	<title>Bjorn: "Successful dieters lose weight while they are sleeping;"</title>
	<guid>http://bjorn.tipling.com/post/989388678</guid>
	<link>http://bjorn.tipling.com/post/989388678</link>
	<description>“Successful dieters lose weight while they are sleeping;”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://www.active.com/nutrition/Articles/Breakfast__the_most_important_meal_of_an_athlete_s_day.htm?cmp=18-723&amp;utm_source=sendible&amp;utm_medium=feed&quot;&gt;Breakfast: The Most Important Meal of An Athlete’s Day | Active.com&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Sat, 21 Aug 2010 22:18:01 +0000</pubDate>
</item>
<item>
	<title>Ashley: "This sort of thing is what makes me so uneasy about trusting Google with anything. It’s the same..."</title>
	<guid>http://blog.leymoo.com/post/989362669</guid>
	<link>http://blog.leymoo.com/post/989362669</link>
	<description>“&lt;p&gt;This sort of thing is what makes me so uneasy about trusting Google with anything. It’s the same story: Google is “open” with the products that don’t make them money and closed with those that do, using “open” as a marketing buzzword against Apple and hoping nobody notices how incredibly closed and secretive most of their products and operations really are.&lt;/p&gt;

&lt;p&gt;iOS is far more “closed” than Android, but at least Apple doesn’t try to bullshit me about it. They put it right out there. “We control everything because we think it’s better that way. If you don’t like it, there’s the door.”&lt;/p&gt;

&lt;p&gt;And since they’re honest with me, I trust them more.&lt;/p&gt;”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;p&gt;&lt;a href=&quot;http://www.marco.org/879763699&quot; target=&quot;_blank&quot;&gt;Marco Arment&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Exactly.&lt;/p&gt;
&lt;p&gt;I think I missed this when Marco reblogged me back in July, but he nailed Google’s bullshit on the head (thanks to &lt;a href=&quot;http://electonic.tumblr.com/post/986795631/like-most-linux-based-mobile-platforms-android-is&quot; target=&quot;_blank&quot;&gt;Till Matthis Massen&lt;/a&gt; for bringing it to my attention). And with Google’s full-frontal assault on net neutrality, I’m experimenting with cutting my ties.&lt;/p&gt;
&lt;p&gt;I’ve deleted my Google Apps account and one Google account, switched to &lt;a href=&quot;http://feedafever.com&quot; target=&quot;_blank&quot;&gt;Fever&lt;/a&gt; for reading news, and Skype for my work proxy phone number (it works great now that Skype can accept calls in the background on iOS 4 and doesn’t require minutes for phone calls, unlike Google Voice). I just need to drop Feedburner from 1FPS and &lt;a href=&quot;http://finerthingsin.com&quot; target=&quot;_blank&quot;&gt;Finer Things&lt;/a&gt;, and I can delete my personal Google account altogether.&lt;/p&gt;
&lt;p&gt;(via &lt;a href=&quot;http://onefps.net/&quot; target=&quot;_blank&quot;&gt;chartier&lt;/a&gt;)&lt;/p&gt;&lt;/em&gt;</description>
	<pubDate>Sat, 21 Aug 2010 22:11:08 +0000</pubDate>
</item>
<item>
	<title>Ashley: buddhabrot:

fuckyeahcrystals:whisperingwillow:fuckyeahmineralsan...</title>
	<guid>http://blog.leymoo.com/post/989357668</guid>
	<link>http://blog.leymoo.com/post/989357668</link>
	<description>&lt;img src=&quot;http://28.media.tumblr.com/tumblr_l79gmiTUc61qb760to1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://buddhabrot.tumblr.com/post/988377462/fuckyeahcrystals-whisperingwillow-fuckyeahmineralsa&quot; target=&quot;_blank&quot;&gt;buddhabrot&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://fuckyeahcrystals.tumblr.com/post/988366050&quot; target=&quot;_blank&quot;&gt;fuckyeahcrystals&lt;/a&gt;:&lt;a href=&quot;http://whisperingwillow.tumblr.com/post/988363159/fuckyeahmineralsandfossils-elbaite&quot; target=&quot;_blank&quot;&gt;whisperingwillow&lt;/a&gt;:&lt;a href=&quot;http://fuckyeahmineralsandfossils.tumblr.com/post/988356870/elbaite-na-al1-5li1-5-al6-oh-3-oh-bo3-3si6o18&quot; target=&quot;_blank&quot;&gt;fuckyeahmineralsandfossils&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;Elbaite, Na(Al&lt;sub&gt;1,5&lt;/sub&gt;Li&lt;sub&gt;1,5&lt;/sub&gt;)Al&lt;sub&gt;6&lt;/sub&gt;(OH)&lt;sub&gt;3&lt;/sub&gt;(OH)(BO&lt;sub&gt;3&lt;/sub&gt;)&lt;sub&gt;3&lt;/sub&gt;Si&lt;sub&gt;6&lt;/sub&gt;O&lt;sub&gt;18&lt;/sub&gt;&lt;/p&gt;
&lt;p&gt;Locality: Madagascar&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Sat, 21 Aug 2010 22:09:42 +0000</pubDate>
</item>
<item>
	<title>Ashley: lemdi:

thetardis:

chrisdwoo:

shakingtambourine:

kaletzibarec:...</title>
	<guid>http://blog.leymoo.com/post/989347621</guid>
	<link>http://blog.leymoo.com/post/989347621</link>
	<description>&lt;img src=&quot;http://30.media.tumblr.com/tumblr_l78lnovt1j1qcadxoo1_500.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lemdi.tumblr.com/post/987128072/thetardis-chrisdwoo-shakingtambourine&quot; target=&quot;_blank&quot;&gt;lemdi&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://thetardis.tumblr.com/post/987107207/chrisdwoo-shakingtambourine-kaletzibarec&quot; target=&quot;_blank&quot;&gt;thetardis&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://www.chrisdwoo.com/post/982885514/shakingtambourine-kaletzibarec-truth&quot; target=&quot;_blank&quot;&gt;chrisdwoo&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://shakingtambourine.tumblr.com/post/982844921/kaletzibarec-truth-dunnosource&quot; target=&quot;_blank&quot;&gt;shakingtambourine&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://kaletzibarec.tumblr.com/post/961842368/truth-dunnosource-graphjam-com&quot; target=&quot;_blank&quot;&gt;kaletzibarec&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TRUTH!&lt;/p&gt;
&lt;p&gt;dunnosource, graphjam.com&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;THIS.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Only missing cracks, boxes, and rooms I can’t see.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Sat, 21 Aug 2010 22:06:39 +0000</pubDate>
</item>
<item>
	<title>Bjorn: It’s so strange, after some weight loss, to recognize a set of pants on your shelf that at...</title>
	<guid>http://bjorn.tipling.com/post/988306881</guid>
	<link>http://bjorn.tipling.com/post/988306881</link>
	<description>&lt;p&gt;It’s so strange, after some weight loss, to recognize a set of pants on your shelf that at first glance leave you with an ominous feeling since for quite some time they haven’t fit you. But then they do, baggy even, yet that lingering feeling that these light faded jeans haven’t fit me in quite some time doesn’t go away, even as I’m wearing them.&lt;/p&gt;
&lt;p&gt;You’d think I should feel good about this, but after years of gaining weight again and again, each time to a new horrible new record, I don’t. Weight wise, I’m just about where I was when I started my doomed diet two years ago: 257 lb. I’ve lost 25 lb. in the last four months and I’ve only yet made it to the point where two years ago when 257 lb. was such a horror to me that it spurred me to go on a drastic diet.&lt;/p&gt;
&lt;p&gt;In other news, I completed two weeks of the &lt;a href=&quot;http://www.coolrunning.com/engine/2/2_3/181.shtml&quot;&gt;couch to 5k&lt;/a&gt; plan but am going to take a week off now because my shins are in too much pain. I will start over in a week. Hopefully a combination of weight loss and stronger bones at the end of the week will lead me to finish the program.&lt;/p&gt;
&lt;p&gt;I’m just trying to be careful, moderate, not get hurt, not get too hungry.&lt;/p&gt;</description>
	<pubDate>Sat, 21 Aug 2010 17:32:21 +0000</pubDate>
</item>
<item>
	<title>Bjorn: BBC News - Last US combat brigade exits Iraq</title>
	<guid>http://bjorn.tipling.com/post/975627715</guid>
	<link>http://bjorn.tipling.com/post/975627715</link>
	<description>&lt;a href=&quot;http://www.bbc.co.uk/news/world-middle-east-11020270&quot;&gt;BBC News - Last US combat brigade exits Iraq&lt;/a&gt;: &lt;p&gt;The war is ending. 4,415 US troops lost their lives in Iraq. I wish it was 4,414. I wish it was 0. Rest in peace Sergeant Major Ellis. I will never forget the example he set for excellence. I have never before or since met anyone so dedicated to his work, his Marines, and to the Corps. This man was a leader. He gave his life, both figuratively and literally, to what he believed in. He was also a pretty good guy, who cared about what his Marines thought of him. He was a father who left behind a young daughter. I know his death was not in vain, that his service was not without purpose, but I hope the mission he served becomes a success, that a free, friendly and prosperous Iraq will become a reality and bring honor to his sacrifice.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.arlingtoncemetery.net/jjellis.htm&quot;&gt;&lt;img align=&quot;middle&quot; src=&quot;http://www.arlingtoncemetery.net/jjellis-photo-02.jpg&quot; alt=&quot;Sergeant Major Ellis&quot; width=&quot;260&quot; height=&quot;345&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;ELLIS, JOSEPH J&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;SGTMAJ   US MARINE CORPS&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;DATE OF BIRTH: 09/08/1966&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;DATE OF DEATH: 02/07/2007&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;BURIED AT: SECTION 60  SITE 8536&lt;/strong&gt; &lt;br /&gt;&lt;strong&gt;ARLINGTON NATIONAL CEMETERY&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 19 Aug 2010 04:50:00 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "Just 61% of the adult population, age 20 or over, has any kind of job right now."</title>
	<guid>http://bjorn.tipling.com/post/959229715</guid>
	<link>http://bjorn.tipling.com/post/959229715</link>
	<description>“Just 61% of the adult population, age 20 or over, has any kind of job right now.”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://online.wsj.com/article/SB10001424052748703723504575425723973560744.html&quot;&gt;ROI: Is a Crash Coming? Ten Reasons to Be Cautious - WSJ.com&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Sun, 15 Aug 2010 22:07:27 +0000</pubDate>
</item>
<item>
	<title>SIR-Millar: Run… and a move to Cambridge</title>
	<guid>http://www.andymillar.co.uk/blog/2010/08/13/run-and-a-move-to-cambridge/</guid>
	<link>http://www.andymillar.co.uk/blog/2010/08/13/run-and-a-move-to-cambridge/</link>
	<description>&lt;p&gt;I suppose things have been a little quiet recently; but I can blame that entirely on having to commute 2 hours a day to London for work&amp;#8230; Yes, I&amp;#8217;ve (temporarily) moved to Cambridge.&lt;/p&gt;
&lt;p&gt;In other news, I went for a short run yesterday morning, only about 2 miles, but here&amp;#8217;s the route:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.andymillar.co.uk/temp/20100812-MorningRun-scaled.png&quot; alt=&quot;2 mile run - 12th August 2010 in Cambridge&quot; height=&quot;293&quot; width=&quot;400&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 13 Aug 2010 10:30:10 +0000</pubDate>
	<dc:creator>Andy Millar</dc:creator>
</item>
<item>
	<title>chip: Async TLS</title>
	<guid>http://journal.paul.querna.org/?p=458</guid>
	<link>http://journal.paul.querna.org/articles/2010/08/11/async-tls/</link>
	<description>&lt;p&gt;We started discussing TLS in Node.js at the meetup in Palo Alto tonight.&lt;/p&gt;
&lt;p&gt;Lets imagine you wanted to implement &lt;a href=&quot;http://en.wikipedia.org/wiki/Transport_Layer_Security&quot;&gt;SSL/TLS&lt;/a&gt; in an Asynchronous framework, like &lt;a href=&quot;http://nodejs.org/&quot;&gt;node.js&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;For the sake of discussion, I will be using OpenSSL as an example.  At least as far as I know, these issues also apply equally to GnuTLS or NSS. I would be happy to be wrong!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;The Goal&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;The goal is to provide both a TLS Client and Server API, allowing high level code to determine many of the common behavoirs you need to hook to provide a powerful TLS Platform.  This includes basics like verification of certificates chains, but should also include: &lt;a href=&quot;http://journal.paul.querna.org/articles/2007/06/07/ssl-session-caching-in-memcached/&quot;&gt;SSL Session Caching&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/OCSP_Stapling&quot;&gt;OCSP stapling&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Server_Name_Indication&quot;&gt;SNI Validation&lt;/a&gt;, SPDY Protocol hinting, and more.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;The Problem&lt;/h2&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;OpenSSL can decouple IO operations from sockets, using the &lt;a href=&quot;http://www.openssl.org/docs/crypto/bio.html&quot;&gt;BIO abstraction&lt;/a&gt;.  This means your process can handle the actual socket, and its buffers, which is good for Node.js, and for most other asynchronous systems that don&amp;#8217;t want to block for SSL to do work.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;While the IO operations has a good abstraction in OpenSSL, many common operations, rely upon a callback.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;For example, lets consider the &lt;a href=&quot;http://www.openssl.org/docs/ssl/SSL_CTX_sess_set_get_cb.html&quot;&gt;OpenSSL SSL Session Cache API&lt;/a&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SSL_CTX_sess_set_new_cb(ctx,    ssl_callback_NewSessionCacheEntry);
SSL_CTX_sess_set_get_cb(ctx,    ssl_callback_GetSessionCacheEntry);
SSL_CTX_sess_set_remove_cb(ctx, ssl_callback_DelSessionCacheEntry);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It is a basic caching API, you have 3 functions for caching an SSL Session object, Add new, Reading existing, and deletion.&lt;/p&gt;
&lt;p&gt;If you examine the function signature for the get function, it returns an SSL_SESSION object directly, meaning when you return from the function you must either have the correct session, or return NULL to indicate a cache miss:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;SSL_SESSION *ssl_callback_GetSessionCacheEntry(SSL *ssl,
                                               unsigned char *id,
                                               int idlen, int *do_copy)
{
  /* Your SSL Session cache goes here! */
  return NULL;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The difficulty for async systems here, is that they most likely want to now perform file IO, network IO, or potentially other operations that go outside the current C stack in order to fetch the Session.&lt;/p&gt;
&lt;p&gt;In Node.js&amp;#8217; case, this means you cannot provide a callback as users expect it to work in Node &amp;#8212; they expect to be able to make an async callback, and then notify the caller when they have found the data.&lt;/p&gt;
&lt;p&gt;In an ideal world, the Node.js api would look something like the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;var sslctx = crypto.createContext{key: privateKey, cert: certificate,
session_cache_get: function(session_id, result_callback) {
  memcached.get(session_id, function(data, err) {
    result_callback(data, err);
  })
}});
var server = http.createServer(..);
server.setSecure(sslctx);
server.listen(8443);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We started talking through the ideas. How could you accomplish this API for TLS in Node?&lt;/p&gt;
&lt;p&gt;This cannot work with the standard OpenSSL callbacks, because of how Node.js works, after the initial cache get call returned undefined, we would unwind up the C-stack, and we have no way to notify OpenSSL later on that we got a Session Cache from memcached.&lt;/p&gt;
&lt;h2&gt;Possible Hacks&lt;/h2&gt;
&lt;p&gt;There are a few more hackish ways to solve this, they include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Using Co-routines from C. Something like &lt;a href=&quot;http://swtch.com/libtask/&quot;&gt;libtask&lt;/a&gt; could be used to jump out of the OpenSSL stack, back down to Node.js, and it could resume again once we go the response for the session.&lt;/li&gt;
&lt;li&gt;Running every SSL Context inside a dedicated thread.  When a callback is invoked, dispatch a message to the main thread, where Node.js will notify the waiting thread once it has an answer.  I think this is actually one of the easier solutions, but it kills the promise of an Evented framework like Node.js, and not having a 1:1 client to thread mapping.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The Rabbit Hole&lt;/h2&gt;
&lt;p&gt;Hey guys, what if we just implemented the a TLS Protocol parser?&lt;/p&gt;
&lt;p&gt;It &lt;a href=&quot;http://four.livejournal.com/893082.html&quot;&gt;wasn&amp;#8217;t a new idea&lt;/a&gt;.  But then we started talking it through the idea of implementing a TLS protocol parser, but still using OpenSSL for all of the actual cryptography, it seemed to make more and more sense.  This would let an &lt;a href=&quot;http://github.com/ry/http-parser&quot;&gt;http-parser style API&lt;/a&gt; be used for TLS, which as far as any of us know, has not been done.  The parser could be written in C (or javascript, but thats irrelevant), the TLS record protocol itself isn&amp;#8217;t too complex, it consistents of a few fixed width fields, a few optional fields, but most of the complexity comes from the implementation of all the cryptography, which none of us have an interest in replacing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I am scared.  Reimplementing SSL or TLS just seems wrong.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;But on the other hand, most SSL implementations are tightly coupled to their cryptographic libraries, GnuTLS perhaps being the least so, but these libraries we still designed before many evented style programing paradigms became popular.  It seems like there is a niche to be filled by a liberally licensed, TLS record protocol parser library, which provided stubs to use OpenSSL (or another) backend for the actual cryptography, but basing everything on callbacks to user code.&lt;/p&gt;
&lt;p&gt;Is this insane?&lt;/p&gt;</description>
	<pubDate>Wed, 11 Aug 2010 09:17:27 +0000</pubDate>
	<dc:creator>Paul Querna</dc:creator>
</item>
<item>
	<title>Bjorn: Monkey Saves Puppy In Nanjing Explosion</title>
	<guid>http://bjorn.tipling.com/post/932545999</guid>
	<link>http://bjorn.tipling.com/post/932545999</link>
	<description>&lt;a href=&quot;http://www.nowpublic.com/world/monkey-saves-puppy-nanjing-explosion-photo-2645814.html&quot;&gt;Monkey Saves Puppy In Nanjing Explosion&lt;/a&gt;</description>
	<pubDate>Tue, 10 Aug 2010 16:50:47 +0000</pubDate>
</item>
<item>
	<title>Bjorn: Op-Ed Columnist - The Marriage Ideal - NYTimes.com</title>
	<guid>http://bjorn.tipling.com/post/929857035</guid>
	<link>http://bjorn.tipling.com/post/929857035</link>
	<description>&lt;a href=&quot;http://www.nytimes.com/2010/08/09/opinion/09douthat.html?partner=rss&amp;emc=rss&quot;&gt;Op-Ed Columnist - The Marriage Ideal - NYTimes.com&lt;/a&gt;: &lt;p&gt;It’s an interesting article and I agree with some of the quotes I’ve posted, but the conclusion that a marriage of individuals that share the same sex isn’t equal to that of a woman and a man is downright shameful. If I had read the article to its conclusion before I started quoting it I probably would not have posted anything about it at all.&lt;/p&gt;</description>
	<pubDate>Tue, 10 Aug 2010 02:52:08 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "a culture in which weddings are optional celebrations of romantic love, only tangentially connected..."</title>
	<guid>http://bjorn.tipling.com/post/929827231</guid>
	<link>http://bjorn.tipling.com/post/929827231</link>
	<description>“a culture in which weddings are optional celebrations of romantic love, only tangentially connected to procreation, has no business discriminating against the love of homosexuals.”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://www.nytimes.com/2010/08/09/opinion/09douthat.html?partner=rss&amp;emc=rss&quot;&gt;Op-Ed Columnist - The Marriage Ideal - NYTimes.com&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Tue, 10 Aug 2010 02:44:47 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "The lifelong commitment of a gay couple is more impressive than the serial monogamy of straights."</title>
	<guid>http://bjorn.tipling.com/post/929824884</guid>
	<link>http://bjorn.tipling.com/post/929824884</link>
	<description>“The lifelong commitment of a gay couple is more impressive than the serial monogamy of straights.”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://www.nytimes.com/2010/08/09/opinion/09douthat.html?partner=rss&amp;emc=rss&quot;&gt;Op-Ed Columnist - The Marriage Ideal - NYTimes.com&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Tue, 10 Aug 2010 02:44:12 +0000</pubDate>
</item>
<item>
	<title>Ashley: Living in the future. Note this is a train.</title>
	<guid>http://blog.leymoo.com/post/921576033</guid>
	<link>http://blog.leymoo.com/post/921576033</link>
	<description>&lt;img src=&quot;http://29.media.tumblr.com/tumblr_l6ts2aVber1qzlorzo1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Living in the future. Note this is a train.&lt;/p&gt;</description>
	<pubDate>Sun, 08 Aug 2010 08:39:14 +0000</pubDate>
</item>
<item>
	<title>Ashley: My Top 5 Artists (Week Ending 2010-8-1)</title>
	<guid>http://blog.leymoo.com/post/897178247</guid>
	<link>http://blog.leymoo.com/post/897178247</link>
	<description>&lt;a href=&quot;http://www.last.fm/user/leymoo/charts?charttype=weekly&amp;date_to=1280664000&quot;&gt;My Top 5 Artists (Week Ending 2010-8-1)&lt;/a&gt;: &lt;ol&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/The+Beatles&quot;&gt;The Beatles (14)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/The+Beautiful+South&quot;&gt;The Beautiful South (13)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Jamiroquai&quot;&gt;Jamiroquai (9)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Mr.+Scruff&quot;&gt;Mr. Scruff (9)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Stevie+Wonder&quot;&gt;Stevie Wonder (7)&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Imported from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com/post/23488847/last-fm-tumblr-weekly-top-artists&quot;&gt;Last.fm Tumblr&lt;/a&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com&quot;&gt;JoeLaz&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 03 Aug 2010 08:20:37 +0000</pubDate>
</item>
<item>
	<title>Lunar_Lamp: Restrict Domains Postfix Sends To</title>
	<guid>http://www.lunarlamp.co.uk/30 at http://www.lunarlamp.co.uk</guid>
	<link>http://www.lunarlamp.co.uk/restrict-domains-postfix-sends-to</link>
	<description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Another entry tagged &quot;Er, I can't believe I didn't know that&quot; with a side note in &quot;bleedin' obvious&quot;.&lt;/p&gt;
&lt;p&gt;To arbitrarily restrict which domains a postfix instance will send to (when receiving email via SMTP) you can simply add the following lines to your main.cf:&lt;/p&gt;
&lt;pre&gt;
relay_domains = example.com,lunarlamp.co.uk,google.com
smtpd_recipient_restrictions = reject_unauth_destination
&lt;/pre&gt;&lt;p&gt;
I promise to post some interesting stuff soon, rather than these banal little snippets!&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;</description>
	<pubDate>Mon, 02 Aug 2010 18:24:12 +0000</pubDate>
	<dc:creator>Lunar_Lamp</dc:creator>
</item>
<item>
	<title>Bjorn: landscapelifescape:

Cardwell, Queensland, Australia
pacific...</title>
	<guid>http://bjorn.tipling.com/post/887868529</guid>
	<link>http://bjorn.tipling.com/post/887868529</link>
	<description>&lt;img src=&quot;http://26.media.tumblr.com/tumblr_l526idTCf11qzkp97o1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://landscapelifescape.tumblr.com/post/883153661/cardwell-queensland-australia-pacific-morning&quot;&gt;landscapelifescape&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Cardwell, Queensland, Australia&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/dexxus/4714207610/sizes/l/in/photostream/&quot;&gt;pacific morning&lt;/a&gt; (by &lt;a href=&quot;http://flickr.com/photos/dexxus&quot;&gt;paul (dex)&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Sun, 01 Aug 2010 08:00:49 +0000</pubDate>
</item>
<item>
	<title>Bjorn: via images.4chan.org</title>
	<guid>http://bjorn.tipling.com/post/887119447</guid>
	<link>http://bjorn.tipling.com/post/887119447</link>
	<description>&lt;img src=&quot;http://27.media.tumblr.com/tumblr_l6ghg9WAKs1qzotlao1_400.gif&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;via &lt;a href=&quot;http://images.4chan.org/b/src/1280634625715.gif&quot;&gt;images.4chan.org&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 01 Aug 2010 04:21:00 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "You should ease into your running program gradually. In fact, the beginners’ program we..."</title>
	<guid>http://bjorn.tipling.com/post/887037431</guid>
	<link>http://bjorn.tipling.com/post/887037431</link>
	<description>“You should ease into your running program gradually. In fact, the beginners’ program we outline here is less of a running regimen than a walking and jogging program. The idea is to transform you from couch potato to runner, getting you running three miles (or 5K) on a regular basis in just two months.”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;p&gt;&lt;a href=&quot;http://www.coolrunning.com/engine/2/2_3/181.shtml&quot;&gt;Cool Running :: The Couch-to-5K ® Running Plan&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Going to do this! I want to run again! This looks perfect! &lt;/p&gt;&lt;/em&gt;</description>
	<pubDate>Sun, 01 Aug 2010 03:58:55 +0000</pubDate>
</item>
<item>
	<title>Laney: Tumblin'</title>
	<guid>http://orangesquash.org.uk/?p=100</guid>
	<link>http://orangesquash.org.uk/2010/07/31/tumblin/</link>
	<description>&lt;p&gt;Greets $world. I recently decided to keep this blog for technical/development posts only, as it&amp;#039;s syndicated on Planet Ubuntu{,-uk} and I would feel somewhat self-conscious posting my usual drivel to such an esteemed planet. Perhaps that&amp;#039;s why I rarely post here (not that I really worry about my post frequency any more).&lt;/p&gt;
&lt;p&gt;More fun/trivial/banal stuff will be posted over at &lt;a title=&quot;I don't understand&quot; href=&quot;http://www.pieupi.eu/&quot;&gt;my Tumblr blog&lt;/a&gt;. I&amp;#039;d very much welcome your follows/subscriptions, as it feels a bit lonely over there right now. &lt;img src=&quot;http://orangesquash.org.uk/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Sat, 31 Jul 2010 20:43:05 +0000</pubDate>
	<dc:creator>Iain</dc:creator>
</item>
<item>
	<title>Ashley: Sooperdave is awesome, and I’ve posted his stuff before....</title>
	<guid>http://blog.leymoo.com/post/885220691</guid>
	<link>http://blog.leymoo.com/post/885220691</link>
	<description>&lt;img src=&quot;http://25.media.tumblr.com/tumblr_l6fqz25sLR1qzlorzo1_500.gif&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Sooperdave is awesome, and I’ve posted his stuff before. Click on t’image to go to his site.&lt;/p&gt;</description>
	<pubDate>Sat, 31 Jul 2010 18:49:49 +0000</pubDate>
</item>
<item>
	<title>Ashley: Charlie Brooker in kitchenware. By Cakie of b3ta.com. Their...</title>
	<guid>http://blog.leymoo.com/post/885207105</guid>
	<link>http://blog.leymoo.com/post/885207105</link>
	<description>&lt;img src=&quot;http://26.media.tumblr.com/tumblr_l6fqrxpqU21qzlorzo1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Charlie Brooker in kitchenware. By Cakie of b3ta.com. Their profile is &lt;a title=&quot;http://b3ta.com/users/profile.php?id=36739&quot; target=&quot;_blank&quot; href=&quot;http://b3ta.com/users/profile.php?id=36739&quot;&gt;here&lt;/a&gt;. This guy does some awesome things with cross-stitch, so clicking is worth it.&lt;/p&gt;</description>
	<pubDate>Sat, 31 Jul 2010 18:45:00 +0000</pubDate>
</item>
<item>
	<title>Ashley: Yay for eclectech at b3ta.com! Click on the image to go to his...</title>
	<guid>http://blog.leymoo.com/post/885191926</guid>
	<link>http://blog.leymoo.com/post/885191926</link>
	<description>&lt;img src=&quot;http://26.media.tumblr.com/tumblr_l6fqjjRC7D1qzlorzo1_400.gif&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Yay for eclectech at b3ta.com! Click on the image to go to his site&lt;/p&gt;</description>
	<pubDate>Sat, 31 Jul 2010 18:40:30 +0000</pubDate>
</item>
<item>
	<title>Ashley: Online Food Shopping... just wtf do we do it?</title>
	<guid>http://blog.leymoo.com/post/884831052</guid>
	<link>http://blog.leymoo.com/post/884831052</link>
	<description>&lt;p&gt;The gearbox died on the mister’s car in Denmark. Hilarity ensues, especially when the gearbox of the *tow truck* also died when taking the car away…&lt;/p&gt;
&lt;p&gt;We’re back home and safe and holidayed out for a bit, but we do need to eat. I’ve done a stop-gap shop at the mini-Tesco outside our flat but we do really need a proper food shop. So I’m trying to shop for food without seeing it. This is baffling me.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What on *earth* do we eat? I can pin down the basics (milk, bread, eggs) and a few meals we tend to make (beef/chicken stir fry, nombanara, pie and gravy) but I’m just stumped. I’m sitting with half my cookbooks round me wondering why this is so easy when you can actually see the food.&lt;/li&gt;
&lt;li&gt;Rolphus has a dairy allergy. Apart from waitrose.com there is *no* easy way of selecting “no cow juice yo” for sections of the food store. Surely we should be taking advantage of the magic database and allow the user to automatically eliminate certain items?&lt;/li&gt;
&lt;li&gt;How on earth do you know everything isn’t going to turn up with a use-by date of tomorrow? In the supermarket itself we’re usually fairly canny with this and go to the back to pick the items to make sure we can get 7 days out of the shop… there’s no way of doing this online. And most of these vendors have a “minimum order amount”, so ordering every few days isn’t possible for a couple.&lt;/li&gt;
&lt;li&gt;Why do most of sites require my email address *to* *see* *the* *prices*? Tesco already have this signed up as uselessbastards@leymoo.com in some petty attempt to make myself feel better. I figured I’d have a look, trying to be fair and all. Not bothering with Asda though. Surely people only shop there when they have no choice? It’s not as if it’s cheaper, and the food is awful, and their idea of making something “premium” is adding a ton of sugar and cream and not bothering the check the taste.&lt;/li&gt;
&lt;li&gt;I still feel nervous ordering something such as a beef shoulder, steak or lamb without knowing the quality of the batch. Maybe that’s the scabby housing-estate part of me, or something.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Has anyone managed to get over this? Or does everyone just order and hope?&lt;/p&gt;</description>
	<pubDate>Sat, 31 Jul 2010 16:43:00 +0000</pubDate>
</item>
<item>
	<title>Bjorn: RSA Animate - Drive: The surprising truth about what motivates...</title>
	<guid>http://bjorn.tipling.com/post/881182821</guid>
	<link>http://bjorn.tipling.com/post/881182821</link>
	<description>&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=u6XAPnuFjJc&amp;feature=player_embedded&quot;&gt;RSA Animate - Drive: The surprising truth about what motivates us&lt;/a&gt; (via &lt;a href=&quot;http://youtube.com/user/theRSAorg&quot;&gt;theRSAorg&lt;/a&gt;)&lt;/p&gt;</description>
	<pubDate>Fri, 30 Jul 2010 21:03:11 +0000</pubDate>
</item>
<item>
	<title>Bjorn: landscapelifescape:

Brooklyn Bridge, New York City, NY,...</title>
	<guid>http://bjorn.tipling.com/post/878810694</guid>
	<link>http://bjorn.tipling.com/post/878810694</link>
	<description>&lt;img src=&quot;http://26.media.tumblr.com/tumblr_l6cn0cnAm31qzkp97o1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://landscapelifescape.tumblr.com/post/877798069/brooklyn-bridge-new-york-city-ny-usa-east-pier&quot;&gt;landscapelifescape&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Brooklyn Bridge, New York City, NY, USA&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/timothyschenck/4839035787/sizes/l/&quot;&gt;East Pier&lt;/a&gt; (by &lt;a href=&quot;http://flickr.com/photos/timothyschenck&quot;&gt;Timothy Schenck&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Fri, 30 Jul 2010 07:38:56 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "You said it’s been tough for me, but the truth is it’s not tough for me,” Obama..."</title>
	<guid>http://bjorn.tipling.com/post/877132670</guid>
	<link>http://bjorn.tipling.com/post/877132670</link>
	<description>““You said it’s been tough for me, but the truth is it’s not tough for me,” Obama said. “I don’t spend a lot of time worrying about me. I spend a lot of time worrying about them.””&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://thehill.com/homenews/administration/111611-obama-calls-african-americans-a-mongrel-people-&quot;&gt;President Obama calls African-Americans a ‘mongrel people’ - TheHill.com&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Thu, 29 Jul 2010 23:25:58 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "people who have something to do, even something pointless, are happier than people who sit idly"</title>
	<guid>http://bjorn.tipling.com/post/875506338</guid>
	<link>http://bjorn.tipling.com/post/875506338</link>
	<description>“people who have something to do, even something pointless, are happier than people who sit idly”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://www.sciencedaily.com/releases/2010/07/100729101615.htm?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+sciencedaily+%28ScienceDaily%3A+Latest+Science+News%29&amp;utm_content=Twitter&quot;&gt;To make one happy, make one busy&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Thu, 29 Jul 2010 15:25:13 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "What happened is that I saw a movement. I stopped. I was talking to an empty chair, but out of my..."</title>
	<guid>http://bjorn.tipling.com/post/873683469</guid>
	<link>http://bjorn.tipling.com/post/873683469</link>
	<description>“What happened is that I saw a movement. I stopped. I was talking to an empty chair, but out of my peripheral vision I saw something move. I look at Ildefonso and he had just become rigid! He actually sat up in his chair and became rigid. His hands were flat on the table and his eyes were wide. His facial expression was different from any I’d seen. It was just wide with amazement!&lt;br /&gt;
And then he started-it was the most emotional moment with another human being, I think, in my life so that even now, after all these years, I’m choking up [pauses]-he started pointing to everything in the room, and this is amazing to me! I’ve thought about this for years. It’s not having language that separates us from other animals, it’s because we love it! All of a sudden, this twenty-seven-year-old man-who, of course, had seen a wall and a door and a window before-started pointing to everything. He pointed to the table. He wanted me to sign table. He wanted the symbol. He wanted the name for table. And he wanted the symbol, the sign, for window.&lt;br /&gt;
The amazing thing is that the look on his face was as if he had never seen a window before. The window became a different thing with a symbol attached to it. [emphasis added, GD] But it’s not just a symbol. It’s a shared symbol. He can say “window” to someone else tomorrow who he hasn’t even met yet! And they will know what a window is. There’s something magical that happens between humans and symbols and the sharing of symbols.&lt;br /&gt;
That was his first “Aha!” He just went crazy for a few seconds, pointing to everything in the room and signing whatever I signed. Then he collapsed and started crying, and I don’t mean just a few tears. He cradled his head in his arms on the table and the table was shaking loudly from his sobbing. Of course, I don’t know what was in his head, but I’m just guessing he saw what he had missed for twenty-seven years.”&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://neuroanthropology.net/2010/07/21/life-without-language/&quot;&gt;Life without language « Neuroanthropology&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Thu, 29 Jul 2010 04:25:45 +0000</pubDate>
</item>
<item>
	<title>Bjorn: "Police officers know for sure that nobody will hold them accountable if a crime is not solved, but..."</title>
	<guid>http://bjorn.tipling.com/post/869308178</guid>
	<link>http://bjorn.tipling.com/post/869308178</link>
	<description>““Police officers know for sure that nobody will hold them accountable if a crime is not solved, but they will be held accountable if they allow a demonstration to occur,” Mr. Makarov said. “They will not be held accountable for putting an innocent person in jail or beating one on the street, but they will be if somebody takes a stand against the authorities.””&lt;br /&gt;&lt;br /&gt; - &lt;em&gt;&lt;a href=&quot;http://www.nytimes.com/2010/07/28/world/europe/28russia.html?pagewanted=2&amp;hp&quot;&gt;Videos Rouse Russian Anger Toward Police - NYTimes.com&lt;/a&gt;&lt;/em&gt;</description>
	<pubDate>Wed, 28 Jul 2010 05:02:56 +0000</pubDate>
</item>
<item>
	<title>Ashley: Home and tired…</title>
	<guid>http://blog.leymoo.com/post/857818354</guid>
	<link>http://blog.leymoo.com/post/857818354</link>
	<description>&lt;img src=&quot;http://27.media.tumblr.com/tumblr_l64nn38ZI11qzlorzo1_500.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Home and tired…&lt;/p&gt;</description>
	<pubDate>Sun, 25 Jul 2010 19:04:15 +0000</pubDate>
</item>
<item>
	<title>Ashley: Currently at Kloopy’s watching the F1 Forum.</title>
	<guid>http://blog.leymoo.com/post/857165528</guid>
	<link>http://blog.leymoo.com/post/857165528</link>
	<description>&lt;img src=&quot;http://25.media.tumblr.com/tumblr_l64dgniRPS1qzlorzo1_500.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Currently at &lt;a title=&quot;http://kloopy.com&quot; target=&quot;_blank&quot; href=&quot;http://kloopy.com&quot;&gt;Kloopy’s&lt;/a&gt; watching the F1 Forum. &lt;/p&gt;</description>
	<pubDate>Sun, 25 Jul 2010 15:24:23 +0000</pubDate>
</item>
<item>
	<title>Ashley: Hamburg hotel didn’t have wi-fi in rooms. So here’s...</title>
	<guid>http://blog.leymoo.com/post/850194208</guid>
	<link>http://blog.leymoo.com/post/850194208</link>
	<description>&lt;img src=&quot;http://25.media.tumblr.com/tumblr_l60sk7mkNV1qzlorzo1_500.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Hamburg hotel didn’t have wi-fi in rooms. So here’s my current location…&lt;/p&gt;</description>
	<pubDate>Fri, 23 Jul 2010 17:00:07 +0000</pubDate>
</item>
<item>
	<title>Bjorn: All Summer - Kid Cudi, Vampire Weekend and Best Coast (Download...</title>
	<guid>http://bjorn.tipling.com/post/837911104</guid>
	<link>http://bjorn.tipling.com/post/837911104</link>
	<description>&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=eXT6f9TZ72U&quot;&gt;All Summer - Kid Cudi, Vampire Weekend and Best Coast (Download Link)&lt;/a&gt; (via &lt;a href=&quot;http://youtube.com/user/xSsj3Sasukex&quot;&gt;xSsj3Sasukex&lt;/a&gt;)&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 21:49:55 +0000</pubDate>
</item>
<item>
	<title>Bjorn: NIGHTWAVES – REMIXES (Electro/Dreamwave/Synthpop – US)</title>
	<guid>http://bjorn.tipling.com/post/837560284</guid>
	<link>http://bjorn.tipling.com/post/837560284</link>
	<description>&lt;img src=&quot;http://28.media.tumblr.com/tumblr_l5vh4xBJWJ1qzotlao1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.umstrum.com/nightwaves/&quot;&gt;NIGHTWAVES – REMIXES (Electro/Dreamwave/Synthpop – US)&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 20:05:21 +0000</pubDate>
</item>
<item>
	<title>Bjorn: SUNBIRDS – RIVER RUN (Alternative/Pop/Rock – UK)</title>
	<guid>http://bjorn.tipling.com/post/837485810</guid>
	<link>http://bjorn.tipling.com/post/837485810</link>
	<description>&lt;img src=&quot;http://26.media.tumblr.com/tumblr_l5vg23NMXN1qzotlao1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.umstrum.com/sunbirds/&quot;&gt;SUNBIRDS – RIVER RUN (Alternative/Pop/Rock – UK)&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 19:42:02 +0000</pubDate>
</item>
<item>
	<title>Bjorn: Jonathan Boulet - A Community Service Announcement (via...</title>
	<guid>http://bjorn.tipling.com/post/837451412</guid>
	<link>http://bjorn.tipling.com/post/837451412</link>
	<description>&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=LyU7udQhBr8&amp;feature=player_embedded&quot;&gt;Jonathan Boulet - A Community Service Announcement&lt;/a&gt; (via &lt;a href=&quot;http://youtube.com/user/modularpeople&quot;&gt;modularpeople&lt;/a&gt;)&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 19:32:04 +0000</pubDate>
</item>
<item>
	<title>Bjorn: saturday nite with… LYKKE LI</title>
	<guid>http://bjorn.tipling.com/post/837442607</guid>
	<link>http://bjorn.tipling.com/post/837442607</link>
	<description>&lt;a href=&quot;http://www.umstrum.com/saturday-nite-with-lykke-li/&quot;&gt;saturday nite with… LYKKE LI&lt;/a&gt;: &lt;p&gt;&lt;img height=&quot;336&quot; width=&quot;436&quot; src=&quot;http://www.umstrum.com/wp-content/uploads/2010/07/Lykke-Li.jpg&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;span&gt;For the past two years or so, Swedish songstress &lt;a target=&quot;_blank&quot; href=&quot;http://www.umstrum.com/lykke-li/&quot;&gt;&lt;strong&gt;Lykke Li&lt;/strong&gt;&lt;/a&gt; has been a mainstay of every electro music blog around the world. Ever since the release of her debut album, &lt;em&gt;Youth Novels&lt;/em&gt;, Li’s sweet and sour compositions have been a constant source of inspiration for producers and DJs, with new remixes popping up every second day…&lt;/span&gt;&lt;br /&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Tue, 20 Jul 2010 19:29:38 +0000</pubDate>
</item>
<item>
	<title>Bjorn: lubita77:

#diadoamigo...</title>
	<guid>http://bjorn.tipling.com/post/836962983</guid>
	<link>http://bjorn.tipling.com/post/836962983</link>
	<description>&lt;img src=&quot;http://24.media.tumblr.com/tumblr_l5um8cHEhF1qc2fhqo1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://lubita77.tumblr.com/post/836723660/diadoamigo-emo-helpmeunderstand&quot;&gt;lubita77&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;#diadoamigo #emo &lt;a href=&quot;http://helpmeunderstand.tumblr.com/post/836145028/saaoliveiraa-via-maybeilikethat&quot;&gt;helpmeunderstand&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://saaoliveiraa.tumblr.com/post/836140673/via-maybeilikethat&quot;&gt;saaoliveiraa&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;(via &lt;a href=&quot;http://maybeilikethat.tumblr.com/&quot;&gt;maybeilikethat&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Tue, 20 Jul 2010 16:57:19 +0000</pubDate>
</item>
<item>
	<title>Ashley: My Top 5 Artists (Week Ending 2010-7-18)</title>
	<guid>http://blog.leymoo.com/post/834589141</guid>
	<link>http://blog.leymoo.com/post/834589141</link>
	<description>&lt;a href=&quot;http://www.last.fm/user/leymoo/charts?charttype=weekly&amp;date_to=1279454400&quot;&gt;My Top 5 Artists (Week Ending 2010-7-18)&lt;/a&gt;: &lt;ol&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Jamiroquai&quot;&gt;Jamiroquai (27)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Mr.+Scruff&quot;&gt;Mr. Scruff (8)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/+noredirect/Rune+lindbaek&quot;&gt;Rune lindbaek (4)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Radiohead&quot;&gt;Radiohead (3)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Beck&quot;&gt;Beck (3)&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Imported from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com/post/23488847/last-fm-tumblr-weekly-top-artists&quot;&gt;Last.fm Tumblr&lt;/a&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com&quot;&gt;JoeLaz&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 20 Jul 2010 02:56:45 +0000</pubDate>
</item>
<item>
	<title>Bjorn: Sleeping Fallacies</title>
	<guid>http://bjorn.tipling.com/post/830378848</guid>
	<link>http://bjorn.tipling.com/post/830378848</link>
	<description>&lt;p&gt;You know in the Disney version of the story of Sleeping Beauty, the “evil” witch makes just one person fall asleep forever, but the “good” fairy god mothers put the entire kindgom to sleep (so they wouldn’t learn that their princess had fallen asleep). More than just entire kindgom, also the king and at least some from the neighboring kingdom of Prince Phillip.  Something doesn’t add up. I suppose intentions matter. The evil witch Maleficent’s intentions were jealousy and the fairy god mothers were to protect people from pain and sadness but…I think they would have gotten over it in a few days, or somewhat later. There’s also the part about the King ordering the entire village to destroy every spindle to protect the princess. That’s just plain tyranny right there. You couldn’t do that in Walt Disney’s favorite country, the United States, since we have protections against seizure of private property. But yet when you tell a story painted in pretty colors and apply the appropriate melodies at various parts to enhance the story it just all goes down like bitter medicine on a spoonful of sugar. Maleficent is really the only interesting character in that entire story and I would have loved it if she had, in her beautiful dragon form, eaten up the entire tyrannical nobility so that the plebs might have had some freedom, although I doubt she would have been so kind.. Yet the number of people harmed by her compared to the number harmed by the “good” fairy god mothers seems out of sync with the labels applied to each. That’s all.&lt;/p&gt;</description>
	<pubDate>Mon, 19 Jul 2010 03:41:56 +0000</pubDate>
</item>
<item>
	<title>Ashley: :D</title>
	<guid>http://blog.leymoo.com/post/827675067</guid>
	<link>http://blog.leymoo.com/post/827675067</link>
	<description>&lt;img src=&quot;http://28.media.tumblr.com/tumblr_l5r6utBJIm1qzlorzo1_500.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;:D&lt;/p&gt;</description>
	<pubDate>Sun, 18 Jul 2010 12:32:53 +0000</pubDate>
</item>
<item>
	<title>Bjorn: joshsternberg:

Breathtaking photos of bioluminescence (via...</title>
	<guid>http://bjorn.tipling.com/post/824175307</guid>
	<link>http://bjorn.tipling.com/post/824175307</link>
	<description>&lt;img src=&quot;http://26.media.tumblr.com/tumblr_l5pm71IH7S1qcbx7lo1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;http://joshsternberg.tumblr.com/post/824116284/breathtaking-photos-of-bioluminescence-via&quot;&gt;joshsternberg&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Breathtaking photos of bioluminescence (via @stevesilberman)&lt;/p&gt;
&lt;/blockquote&gt;</description>
	<pubDate>Sat, 17 Jul 2010 16:29:35 +0000</pubDate>
</item>
<item>
	<title>Ashley: I believe I was 8 or 9 here… eep.</title>
	<guid>http://blog.leymoo.com/post/821578604</guid>
	<link>http://blog.leymoo.com/post/821578604</link>
	<description>&lt;img src=&quot;http://24.media.tumblr.com/tumblr_l5oh0q5p931qzlorzo1_500.jpg&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I believe I was 8 or 9 here… eep.&lt;/p&gt;</description>
	<pubDate>Sat, 17 Jul 2010 01:19:37 +0000</pubDate>
</item>
<item>
	<title>Ashley: My Top 5 Artists (Week Ending 2010-7-11)</title>
	<guid>http://blog.leymoo.com/post/803972776</guid>
	<link>http://blog.leymoo.com/post/803972776</link>
	<description>&lt;a href=&quot;http://www.last.fm/user/leymoo/charts?charttype=weekly&amp;date_to=1278849600&quot;&gt;My Top 5 Artists (Week Ending 2010-7-11)&lt;/a&gt;: &lt;ol&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Average+White+Band&quot;&gt;Average White Band (6)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Radiohead&quot;&gt;Radiohead (6)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/The+Beatles&quot;&gt;The Beatles (4)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Scissor+Sisters&quot;&gt;Scissor Sisters (4)&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.last.fm/music/Mylo&quot;&gt;Mylo (3)&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Imported from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com/post/23488847/last-fm-tumblr-weekly-top-artists&quot;&gt;Last.fm Tumblr&lt;/a&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://joelaz.com&quot;&gt;JoeLaz&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 12 Jul 2010 23:44:25 +0000</pubDate>
</item>
<item>
	<title>the_angry_angel: Android &amp; Samsung Galaxy S Fun</title>
	<guid>tag:theangryangel.co.uk,2010:android-fun/1278956502</guid>
	<link>http://theangryangel.co.uk/blog/android-fun</link>
	<description>&lt;p&gt;I've recently acquired a new phone to replace my aging iPhone 3G: The Samsung Galaxy S (or the GT-i9000 everywhere outside of the UK [apparently]). This is my first dip into the Android world, and I've got mixed feelings about it.&lt;/p&gt;&lt;p&gt;In the past I had Windows Mobile devices for work, around the 5 series, and in many ways Android reminds me very much of that experience. Now hear me out before you start tracking me down and attempting to kill me: Applications vary wildly on quality and the operating system gives you a reasonable amount of flexibility at the expensive of battery life and in some instances a complexity of use.&lt;/p&gt;&lt;p&gt;After 2 years of almost exclusive iPhone use I'm starting to remember what the appeal was of the original iPhone, despite the somewhat draconian strangle hold Apple has over the platform. From time to time I yearn for a dictator to swoop down and with an ironfist make every useful application I've installed follow some sort of coherent usability and style guidelines. I long for someone to clear the piles of crap from the Application Marketplace, or at least create some clever system where they don't bubble to the surface.&lt;/p&gt;&lt;p&gt;Despite this I do still love the Android platform, but it just feels like it's not quite finished - yet. The default mail application needs some love (or better yet, to merge the changes from k9), the browser needs a little tweaking, and so on and so on. I'm not yet regretting the move to Android, and I'm not sure that I will for sometime to come, if at all. The fact that I now have a mass storage device in my pocket at all times, which is also a hackable unix box underneath is very comforting.&lt;/p&gt;&lt;p&gt;As for the Samsung Galaxy S, it's a great bit of hardware on paper. In real life I feel it does need more RAM, and the battery really does need to be better. With some faffing it's acceptable. This is in part down to some of the applications that are bundled, and in part down to the massive screen and GPS, but even with just bluetooth on in the car it really does drain more quickly than I've become accustomed to. If anything it's another reminder of the Windows Mobile days of yore. The build quality is one place where I really feel like I've been spoiled by Apple. I've become very used to aluminium laptops&lt;sup&gt;[1]&lt;/sup&gt; and phones that feel solid. On a favourable day I would describe the Galaxy S, as &quot;classic phone&quot; or &quot;classic Samsung&quot;, and on an unfavourable day as &quot;cheap&quot;. It's a bit of a let down considering the outstanding specs on the rest of the phone.&lt;/p&gt;&lt;p&gt;The one thing that is the &quot;killer app&quot; for this phone is the inclusion of &lt;a href=&quot;http://www.swypeinc.com/&quot;&gt;Swype&lt;/a&gt; as standard. Whilst not exclusive to the Galaxy S, or even Android, I can tell you that this; Swype should become the defacto standard for input. The fact that the iPhone is inflexible enough to allow modifications to this extent places the nail in Apple's coffin as a mobile phone supplier for me.&lt;/p&gt;&lt;p&gt;If you've got any phone with Swype included in the default ROM I highly recommend that you enable it and have a play. If you're unlucky enough not to have a compatible phone trawl the nearest city until you find someone with one so you can understand why I feel it's so great. It may sound completely nuts, or like a gimmick, but it's really not.&lt;/p&gt;&lt;p&gt;[1] Having had accidents with laptops, ranging from dropping off tables to having rackmount servers and IBM thinkcentres landing on them, only my previous Apple Macbook Pro survived to live another day. To me this makes the case for decent build quality.&lt;/p&gt;</description>
	<pubDate>Mon, 12 Jul 2010 18:02:10 +0000</pubDate>
	<dc:creator>the_angry_angel</dc:creator>
</item>
<item>
	<title>chip: Overclocking mod_ssl</title>
	<guid>http://journal.paul.querna.org/?p=422</guid>
	<link>http://journal.paul.querna.org/articles/2010/07/10/overclocking-mod_ssl/</link>
	<description>&lt;p&gt;At Velocity, I saw Adam Langley give a great presentation entitled &lt;a href=&quot;http://en.oreilly.com/velocity2010/public/schedule/detail/14217&quot;&gt;Overclocking SSL&lt;/a&gt;.   Last week Adam posted a distilled version of the &lt;a href=&quot;http://www.imperialviolet.org/2010/06/25/overclocking-ssl.html&quot;&gt;Overclocking SSL presentation on his blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;He covers many topics for improving SSL performance. Unfortunately, his recommendations are decidedly focused on how Google runs their servers, and not a practical guide to how to improve your performance with a more standard Apache 2 and mod_ssl setup.  Since I don&amp;#8217;t work at Google, but I like my web servers to be fast, I decided to try as many of his recommendations as possible with mod_ssl.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Disclaimer&lt;/em&gt; I am not a cryptanalyst.  Be paranoid when you are messing with SSL, small mistakes can invalidate your entire security framework.  Ask your local cryptanalyst about these changes!&lt;/p&gt;
&lt;h2&gt;Basic Configuration: Certificate Key Size&lt;/h2&gt;
&lt;p&gt;Google uses a 1024bit RSA key for their encrypted websites.  However, Certificate Authorities are no longer issuing new 1024 bit keys, because the &lt;a href=&quot;http://www.entrust.net/knowledge-base/technote.cfm?tn=7710&quot;&gt;CAB Forum has required them to be phased out at all levels&lt;/a&gt;.  It is believed these small keys are insecure, so for pratical purposes this means you will want a 2048bit key.  Make sure you do not use a 4096 bit key, the key operations are about 5 times slower &amp;#8212; make sure you have a 2048bit key, it strikes the balance of speed and security.&lt;/p&gt;
&lt;p&gt;The Certificate key sizes doesn&amp;#8217;t just affect how many CPU cycles that are used for the calculations, the public versions of the keys are sent to the client when it connects. I go into more detail about TCP round trips bellow, but if your certificate is a 4096 bit key, it means your clients need to download double the data to even get started.&lt;/p&gt;
&lt;h2&gt;Basic Configuration: Picking Ciphers&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite&quot;&gt;SSLCipherSuite directive&lt;/a&gt; controls the ciphers that mod_ssl will negotiate with clients.  The string parameter is complicated &amp;#8212; it is a combination of aliases of &amp;#8216;HIGH&amp;#8217;, &amp;#8220;LOW&amp;#8221;, old names, specific names, etc.    To see what OpenSSL actually enables, you&amp;#8217;ll want to use the `openssl ciphers` command.&lt;/p&gt;
&lt;p&gt;This is what you get for the default configuration of mod_ssl:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;pre&gt;
$ openssl ciphers 'ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP'

DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:
DHE-DSS-AES128-SHA:AES128-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:
DES-CBC3-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:SEED-SHA:RC4-SHA:RC4-MD5:
EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC3-MD5:
RC2-CBC-MD5:RC4-MD5:DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:
EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC4-MD5:
EXP-RC2-CBC-MD5:EXP-RC4-MD5
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The exact list will depend upon your version of OpenSSL, but on most modern operating systems, the first cipher that will be attempted to be used is AES-256.  AES-256 is without a doubt a more secure selection, but it isn&amp;#8217;t what Google is using.  They are using the older &lt;a href=&quot;http://en.wikipedia.org/wiki/RC4&quot;&gt;RC4 (aka ARC4)&lt;/a&gt; cipher, with SHA1 hashing.  There have been many different attacks on RC4, many due to bad implementations, but as long as it is used correctly, it is still &lt;em&gt;secure enough&lt;/em&gt;.  The selection of a cipher is still a judgement call for your product, but RC4 is approximately 3x faster than AES-256 on most machines right now.&lt;/p&gt;
&lt;p&gt;In Apache, lets configure it to try to use RC4 w/ SHA1 hashing:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;pre&gt;
SSLCipherSuite RC4-SHA:AES128-SHA:ALL:!ADH:!EXP:!LOW:!MD5:!SSLV2:!NULL
SSLHonorCipherOrder on
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslhonorcipherorder&quot;&gt;SSLHonorCipherOrder directive&lt;/a&gt; is used to force the server&amp;#8217;s cipher choice on to the client.&lt;/p&gt;
&lt;p&gt;And lets run the Cipher Suite string through `openssl ciphers` you can see the exact configurations that are being allowed:&lt;br /&gt;
&lt;code&gt;
&lt;pre&gt;
$ openssl ciphers 'RC4-SHA:AES128-SHA:ALL:!ADH:!EXP:!LOW:!MD5:!SSLV2:!NULL'

RC4-SHA:AES128-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:SEED-SHA:
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:
DHE-DSS-AES128-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This will use RC4, and fall back to AES-128, before going to other stronger ciphers, but over the defaults, it is significantly faster.&lt;/p&gt;
&lt;h2&gt;SSL Session Cache and Resumption&lt;/h2&gt;
&lt;p&gt;mod_ssl&amp;#8217;s supports a plugable backend for storing client sessions with the &lt;a href=&quot;http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslsessioncache&quot;&gt;SSLSessionCache directive&lt;/a&gt;.  The two most commonly used are the &lt;em&gt;shm&lt;/em&gt; and &lt;em&gt;dbm&lt;/em&gt; on a single machine.  The shm backend is faster than dbm, and should be used in almost all cases.&lt;/p&gt;
&lt;p&gt;However, as Adam noted, most people have more than one machine doing SSL Termination.  This means a distributed SSL session cache is needed.  I wrote the patch for mod_ssl to support a &lt;a href=&quot;http://svn.apache.org/viewvc?revision=545379&amp;view=revision&quot;&gt;memcached SSL Session cache 3 years ago&lt;/a&gt;.  This patch wasn&amp;#8217;t backported, so you&amp;#8217;ll need to use &lt;a href=&quot;http://httpd.apache.org/download.cgi#apache23&quot;&gt;Apache 2.3.x, which is currently in Alpha&lt;/a&gt;.  To configure it, just pass a list of memcached nodes:&lt;br /&gt;
&lt;code&gt;
&lt;pre&gt;
SSLSessionCache memcache:10.0.0.1,10.0.0.2,10.0.0.3
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Reducing Round Trips&lt;/h2&gt;
&lt;p&gt;The best tool to measure this is &lt;a href=&quot;http://www.wireshark.org/&quot;&gt;Wireshark&lt;/a&gt;, so you can see both the volume of data, and the round trips.  The easy way to test with this is using the `openssl s_client` command.  This command lets you easily create SSL connections, and tune various things on both the client and server.&lt;/p&gt;
&lt;p&gt;Here is a truncated example of using s_client against encrypted.google.com:&lt;br /&gt;
&lt;code&gt;
&lt;pre&gt;
$ openssl s_client -debug -tls1 -host encrypted.google.com -port 443
..... data dumps .....
---
SSL handshake has read 1893 bytes and written 285 bytes
---
New, TLSv1/SSLv3, Cipher is RC4-SHA
Server public key is 1024 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : RC4-SHA
....
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;br /&gt;
The interesting parts you can see here are both the negotiated ciphers, and the total bytes written by each side to establish the connection.  The majority of the data sent by the server is from the size of the server certificate.&lt;/p&gt;
&lt;p&gt;As Adam discussed in depth, because &lt;a href=&quot;http://en.wikipedia.org/wiki/Certification_path_validation_algorithm&quot;&gt;many certificates have a chain&lt;/a&gt;, and most are at least 2048 bits long, it is very easy for a new TCP connection to overflow your &lt;a href=&quot;http://en.wikipedia.org/wiki/Slow-start&quot;&gt;initial TCP window&lt;/a&gt;.  Your goal is to make sure you are sending the correct chain, but not sending too much or irrelevant certificates.   Here is a example of www.cloudkick.com, which uses the GoDaddy CA, and an intermediate certificate:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
&lt;pre&gt;
$ openssl s_client -tls1 -host www.cloudkick.com -port 443 -debug

---
Certificate chain
 0 s:/O=*.cloudkick.com
      /OU=Domain Control Validated
      /CN=*.cloudkick.com
   i:/C=US
     /ST=Arizona
     /L=Scottsdale
     /O=GoDaddy.com, Inc.
     /OU=http://certificates.godaddy.com/repository
     /CN=Go Daddy Secure Certification Authority
     /serialNumber=07969287
 1 s:/C=US
       /ST=Arizona
       /L=Scottsdale
       /O=GoDaddy.com, Inc.
       /OU=http://certificates.godaddy.com/repository
       /CN=Go Daddy Secure Certification Authority
       /serialNumber=07969287
   i:/C=US
     /O=The Go Daddy Group, Inc.
     /OU=Go Daddy Class 2 Certification Authority
---
...............
---
SSL handshake has read 2974 bytes and written 422 bytes
---
...............
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;br /&gt;
In this case, the server sent the both the certificate for *.cloudkick.com, and the &lt;a href=&quot;https://certs.godaddy.com/anonymous/repository.seam&quot;&gt;Go Daddy intermediate certificate&lt;/a&gt;.  Try as we might, the server in this case had to send 2974 bytes to get started, over 1000 bytes more than what encrypted.google.com needed.  This is just a reality of using a chain certificate, and using 2048 bit keys.   Just make sure you aren&amp;#8217;t sending extra certificates, and to keep your data bellow 4kb to prevent an ACK being needed in the small windows as TCP connections are being started.&lt;/p&gt;
&lt;h2&gt;OCSP Stapling&lt;/h2&gt;
&lt;p&gt;One of the biggest problems with the existing SSL infrastructure is that validating the status of a certificate is hard and slow.   &lt;a href=&quot;http://en.wikipedia.org/wiki/OCSP_Stapling&quot;&gt;OCSP Stapling&lt;/a&gt; doesn&amp;#8217;t make it easier to understand, but it does at least make it faster.  OCSP stapling support was &lt;a href=&quot;http://www.mozilla.org/grants/open-source-software-institute.html&quot;&gt;originally funded from a grant by Mozilla&lt;/a&gt;.  It has been added to Apache httpd 2.3, so you&amp;#8217;ll need to &lt;a href=&quot;http://httpd.apache.org/download.cgi#apache23&quot;&gt;download that alpha release&lt;/a&gt; in order to use it.&lt;/p&gt;
&lt;p&gt;OCSP Stapling takes the Certificate&amp;#8217;s Authorities OCSP response and bundles it in the initial response to the client.  This OCSP response is a cryptographic signature verifying your certificate is still valid for X days. This means the client doesn&amp;#8217;t need to resolve another DNS name, and hit another service just to validate your certificate.&lt;/p&gt;
&lt;p&gt;In Apache 2.3 and above, the configuration to enable OCSP Stapling is quite simple;  Just put these directives in your global scope:&lt;br /&gt;
&lt;code&gt;
&lt;pre&gt;
SSLUseStapling on
SSLStaplingCache &quot;shmcb:logs/stapling_cache(128000)&quot;
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;You can test OCSP stapling using the `openssl s_client` command again and the -status parameter:&lt;br /&gt;
&lt;code&gt;
&lt;pre&gt;
$ openssl s_client -host encrypted.google.com -port 443 -tls1  -tlsextdebug  -status
....
OCSP response: no response sent
....
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;br /&gt;
Even Google hasn&amp;#8217;t enabled OCSP stapling yet!&lt;/p&gt;
&lt;p&gt;If OCSP stapling was enabled, you would see something like this as the output:&lt;br /&gt;
&lt;code&gt;
&lt;pre&gt;
OCSP response:
======================================
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = US, ST = Arizona, L = Scottsdale, O = &quot;GoDaddy.com, Inc.&quot;,
                           OU = http://certs.godaddy.com/repository/,
                           CN = Go Daddy Validation Authority
    Produced At: Jul 10 17:18:44 2010 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 70292276537F1ABC8FD53C9484E914CB762A052A
      Issuer Key Hash: FDAC6132936C45D6E2EE855F9ABAE7769968CCE7
      Serial Number: 047C0A27B3C295
    Cert Status: good
    This Update: Jul 10 14:15:00 2010 GMT
    Next Update: Jul 10 23:18:44 2010 GMT
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;/code&gt;&lt;br /&gt;
Here my server provided a signature from Go Daddy, saying that my certificate was valid for at least another 5 hours.&lt;/p&gt;
&lt;h2&gt;False Start, Snap Start and Next Protocol Extensions&lt;/h2&gt;
&lt;p&gt;Google has proposed a series of extensions and modifications to the TLS protocol in order to reduce round trips, both at the initial negotiation, and when to start sending client data.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://tools.ietf.org/html/draft-bmoeller-tls-falsestart-00&quot;&gt;TLS False Start&lt;/a&gt; is mostly a client change, but even if you wanted to implement the proposed server false start, it really depends upon OpenSSL updates to support it.  The only recommendation here is to not use ancient versions of OpenSSL &amp;#8212; which is important anyways because of the &lt;a href=&quot;http://it.slashdot.org/story/09/11/16/2327230/slashdot.sourceforge.net&quot;&gt;SSL Renegotiation attacks discovered last year&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;http://tools.ietf.org/html/draft-agl-tls-snapstart-00&quot;&gt;Snap Start&lt;/a&gt; proposal will need server support, but currently no released version of OpenSSL supports it yet.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://tools.ietf.org/html/draft-agl-tls-nextprotoneg-00&quot;&gt;Next Protocol Negotiation Extension&lt;/a&gt; lets the client tell the server that it is gong to change protocols once the SSL negotiation finishes.  Conceptually to me this is similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Server_Name_Indication&quot;&gt;Server Name Indication&lt;/a&gt;, where the client is leaking application logic to the SSL layer.   This will make upgrades to the &lt;a href=&quot;http://www.chromium.org/spdy/spdy-protocol&quot;&gt;SPDY protocol &lt;/a&gt;faster, but again there is not a released version of OpenSSL with support yet.&lt;/p&gt;
&lt;h2&gt;The missing patches&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Adam mentions a patch reducing OpenSSL&amp;#8217;s default buffer allocations from 50kb to 5kb, and suggests the Tor project has a similar patch.  I have been unable to find it.&lt;/li&gt;
&lt;li&gt;I was unable to find any patches for the Next Protocol Negotiation Extension.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Closing&lt;/h2&gt;
&lt;p&gt;Hopefully your mod_ssl site is faster after all of this, but if you have any recommendations or ideas to improve it further, please let me know!&lt;/p&gt;</description>
	<pubDate>Sat, 10 Jul 2010 19:51:11 +0000</pubDate>
	<dc:creator>Paul Querna</dc:creator>
</item>
<item>
	<title>Ashley: What's your best face?</title>
	<guid>http://blog.leymoo.com/post/790548784</guid>
	<link>http://blog.leymoo.com/post/790548784</link>
	<description>&lt;p&gt;Or in other words, hot or not done right. The geeks at okcupid got bored and made this. You submit some pictures of yourself, choose 100 people yourself to donate to the pool of data and wait around 12 hours. You get an email telling you what the world thinks is your best photo ^_^&lt;/p&gt;
&lt;p&gt;I did it, and got the following results&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;http://www.okcupid.com/mybestface?rid=5413135142001983386&quot; target=&quot;_blank&quot; href=&quot;http://www.okcupid.com/mybestface?rid=5413135142001983386&quot;&gt;&lt;a href=&quot;http://www.okcupid.com/mybestface?rid=5413135142001983386&quot; target=&quot;_blank&quot;&gt;http://www.okcupid.com/mybestface?rid=5413135142001983386&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Amusing bits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conservatives like most the picture *with the iron in*. Women -&gt; ironing? :p&lt;/li&gt;
&lt;li&gt;No-one likes what I made for topherchris. *cwy*&lt;/li&gt;
&lt;li&gt;The world appears to agree with rolphus, who loves the pic that was voted the best&lt;/li&gt;
&lt;li&gt;Christians like dresses.&lt;/li&gt;
&lt;li&gt;No-one likes hippies.&lt;/li&gt;
&lt;li&gt;Vegetarian males aged 23-30 like wireless headphones. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Depressing bits&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A lot of the time it looks like I was voted just because I was white. I understand people have preferences and stuff but this just seemed horrible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bear in mind giving them your data puts you on the “join okcupid” mailing list, but you can turn that off after the first email. &lt;/p&gt;
&lt;p&gt;Also, have the blog post on the okcupid blog that started this all off:&lt;/p&gt;
&lt;p&gt;&lt;a title=&quot;http://blog.okcupid.com/index.php/2010/01/20/the-4-big-myths-of-profile-pictures/&quot; target=&quot;_blank&quot; href=&quot;http://blog.okcupid.com/index.php/2010/01/20/the-4-big-myths-of-profile-pictures/&quot;&gt;&lt;a href=&quot;http://blog.okcupid.com/index.php/2010/01/20/the-4-big-myths-of-profile-pictures/&quot; target=&quot;_blank&quot;&gt;http://blog.okcupid.com/index.php/2010/01/20/the-4-big-myths-of-profile-pictures/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 09 Jul 2010 19:30:00 +0000</pubDate>
</item>
<item>
	<title>Ashley: Happy Friday world!</title>
	<guid>http://blog.leymoo.com/post/790089647</guid>
	<link>http://blog.leymoo.com/post/790089647</link>
	<description>&lt;p&gt;Must get aircon /o\&lt;/p&gt;</description>
	<pubDate>Fri, 09 Jul 2010 17:04:06 +0000</pubDate>
</item>
<item>
	<title>chip: The Illusion of Stability</title>
	<guid>http://journal.paul.querna.org/?p=389</guid>
	<link>http://journal.paul.querna.org/articles/2010/07/09/the-illusion-of-stability/</link>
	<description>&lt;p&gt;Back at the &lt;a href=&quot;http://www.apache.org/foundation/records/minutes/2010/board_minutes_2010_05_19.txt&quot;&gt;May 2010 Board meeting of the Apache Software Foundation&lt;/a&gt;, there was a discussion about releases.  It got me thinking about how my own use of many open source projects has changed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Past &amp;#8211; Long Cycles, few releases, software ships on physical media&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Myst&quot;&gt;Myst&lt;/a&gt; pushed the limits by being shipped on a CD-ROM instead of floppy disks, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Riven&quot;&gt;Riven&lt;/a&gt; followed with pushing the adoption of DVDs by shipping on 1 DVD, or 5 CDs.  Physical media kept accelerating to a point, now days most software can be downloaded.  Even for game consoles, previously one of the last barriers for things like patches, games like Call of Duty: Modern Warfare 2 have a half dozen post-&lt;a href=&quot;http://en.wikipedia.org/wiki/Gold_master&quot;&gt;gold master&lt;/a&gt; patches, pushed down to internet connected consoles.&lt;/p&gt;
&lt;p&gt;If you look at the development of software over the last 20 years, one of biggest changes for many products is the shift in distribution, lots of people talk about Software as a Service, but really you need to just look at software on desktops &amp;#8212; products like Google Chrome automatically apply updates without bothering the user, and most products ship with an auto-update mechanism at a minimum.&lt;/p&gt;
&lt;p&gt;But the fundamental difference in this is a shift in the software development and release models, that the software distribution systems have finally caught up to.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Release Cycles&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I view Ubuntu as one of the first large projects to recognize this shift and embrace it.  Many large-scale projects in the mid-2000s had massive problems tracking dependencies, and synchronizing anything resembling a stable final product was a challenge.  &lt;a href=&quot;https://wiki.ubuntu.com/TimeBasedReleases&quot;&gt;Ubuntu&amp;#8217;s model of picking a date&lt;/a&gt;, and shipping whatever was stable at that point shifted the responsibility model for stability.  Other projects have done this before Ubuntu, but Ubuntu has stuck to it and exposed so many more people to the model.  Every 6 months, Ubuntu drew a line in the sand, and whatever was stable before that date, became the next Ubuntu release.&lt;/p&gt;
&lt;p&gt;This meant, you didn&amp;#8217;t just wait for the new release of GNOME or KDE and then try to stabilize everything;  You certainly hoped for dependencies to add new features before your dates, but if they missed it, they would go into the next release.  Compare this to the traditional Linux distribution: multiple rounds of betas to squash out all the integration pain of bringing together thousands of dependencies into a stable final product.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;But I don&amp;#8217;t make a Linux distribution! &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Most  software projects I&amp;#8217;ve worked on have had large dependencies on Open Source Software.  Not thousands of projects like a Linux distribution. Some only had a few dependencies. Others had a few dozen projects that they were directly built on top of.  In the past, you took a recent stable release and built packages of it or pulled it into a &lt;a href=&quot;http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html&quot;&gt;vendor branch&lt;/a&gt;.  There was an expectation that releases were&amp;#8230; Stable and would get maintenance patches for serious bugs.&lt;/p&gt;
&lt;p&gt;At &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloglines&quot;&gt;Bloglines&lt;/a&gt;, the product was built on top of 30+ open source projects, from &lt;a href=&quot;http://www.oracle.com/technology/products/berkeley-db/index.html&quot;&gt;BerkeleyDB&lt;/a&gt;, to &lt;a href=&quot;http://curl.haxx.se/libcurl/&quot;&gt;libcurl&lt;/a&gt;,  to &lt;a href=&quot;http://www.clearsilver.net/&quot;&gt;Clearsilver&lt;/a&gt;.  We tried to take the stable releases, and knit it all together into something that worked. For the most part we were successful.  However, we patched lots of projects, some of them were patches we pushed upstream, others were Bloglines specific modifications, but we thought it was okay, we were taking stable version of Foo, and appling a few patches.  We knew upgrading to the next version of Foo might be painful, but there normally was documentation explaining what changed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The End of releases&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;But what the Apache Board meeting got me thinking about, was our dependencies at &lt;a href=&quot;https://www.cloudkick.com/&quot;&gt;Cloudkick&lt;/a&gt;.  We use a ton of Python at Cloudkick, a few projects like &lt;a href=&quot;http://twistedmatrix.com/trac/&quot;&gt;Twisted&lt;/a&gt;, and &lt;a href=&quot;http://www.python.org/&quot;&gt;Python&lt;/a&gt; itself, we generally use a stable release, and its fine and dandy.  But for many of our more esoteric dependencies like &lt;a href=&quot;https://launchpad.net/txamqp&quot;&gt;txAMQP&lt;/a&gt;, &lt;a href=&quot;http://incubator.apache.org/libcloud/&quot;&gt;libcloud&lt;/a&gt;, &lt;a href=&quot;http://github.com/facebook/scribe&quot;&gt;scribe&lt;/a&gt;, a few &lt;a href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; applications, oauth, sales force libraries, etc, we are using snapshots, mostly from someone&amp;#8217;s GitHub repository.&lt;/p&gt;
&lt;p&gt;I am grateful for the projects we build on, and we try to contribute back to them whenever we can, but it is no longer taking a stable release and making a few local modifications &amp;#8212; we are lucky if a project has releases at all, let alone stable releases!&lt;/p&gt;
&lt;p&gt;I don&amp;#8217;t think its the fault of things like GitHub, they have download areas, and some projects use them, but the majority don&amp;#8217;t.  They give you a git url, and its up to you to pick a &amp;#8216;stable&amp;#8217; point in time, and hope for the best.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What did those releases provide anyways?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On some levels, I miss stable releases.  It made me feel good, it let me judge at face value, some programer I probably will never meet in person felt good enough about some code, to call it &amp;#8216;stable&amp;#8217;.    But the reality was, any code I&amp;#8217;ve pushed hard, I&amp;#8217;ve found bugs, and then I patched those bugs or added new features.&lt;/p&gt;
&lt;p&gt;Code that wasn&amp;#8217;t pushed hard, it probably didn&amp;#8217;t matter if someone else thought it was stable, it was good or bad, it worked or it didn&amp;#8217;t.&lt;/p&gt;
&lt;p&gt;Those releases from someone else provided me with the illusion of a stable product. Something I can build upon;  But the truth when I look hard at the projects I thought were stable, we ended up patching some of those the most!&lt;/p&gt;
&lt;p&gt;This newer age paradigms for software releases mean you can move unbeilievability quickly, bringing together diverse peices of software and building communities around new software faster than ever.  I look at the &lt;a href=&quot;http://wiki.github.com/ry/node/modules&quot;&gt;Node.JS modules page&lt;/a&gt;,  and I&amp;#8217;m blown away.  There are many projects that probally should be added to that list, many removed, but the sheer number of projects, most of them only a few months old, exploding in popularity, its all enabled because the expectations for an open source product have changed.&lt;/p&gt;
&lt;p&gt;You no longer wait for the once a year stable release of any dependency, you grab the snapshot from GitHub, find the author on IRC or twitter if there is a problem, patch it locally, submit a pull request, and then keep on building your product.&lt;/p&gt;
&lt;p&gt;This model does bring other problems, many of them core to traditional thought at the Apache Software Foundation. Code pulled from SVN trunk aren&amp;#8217;t vetted in the same way at the ASF.  Many of the younger ASF projects have had more trouble making releases, and this is difficult for the slow moving foundation to always understand why releases are not a higher priority.  I believe this lack of stable products definitely has hurt the Ruby/Rails community in the last few years too.&lt;/p&gt;
&lt;p&gt;We should embrace this change. We are all developing software at breakneck speeds. Software has always been unstable, nowadays we are just honest enough to admit it. What we need is better tooling, not just a distributed version control, but more on the deployment and packaging side for most web applications. The tools have not caught up to changes in development and dependency philosophy, when most sites are still deployed with some variation of a hacked together shell script.&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;/p&gt;
&lt;p&gt;Thanks to &lt;a href=&quot;http://geoff.greer.fm/&quot;&gt;Geoff&lt;/a&gt; for giving feedback on this post.&lt;/p&gt;</description>
	<pubDate>Fri, 09 Jul 2010 08:16:38 +0000</pubDate>
	<dc:creator>Paul Querna</dc:creator>
</item>

</channel>
</rss>
