<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.6" -->
<rss version="0.92">
<channel>
	<title>Playlouder dev blog</title>
	<link>http://blog.playlouder.com</link>
	<description></description>
	<lastBuildDate>Mon, 18 Aug 2008 15:30:42 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Many Opinions, Not Much Information</title>
		<description>I was asked recently to write a guest blog at UK national newspaper website, the Telegraph. Here's the result.

In it I predicted, perhaps rashly but we shall see, some kind of breakthrough in the uneasy relationship between ISPs and the music industry. It's long overdue: as anyone can discover with ...</description>
		<link>http://blog.playlouder.com/2008/08/18/many-opinions-not-much-information/</link>
			</item>
	<item>
		<title>Job ad: Music service developer</title>
		<description>We're hiring!

Playlouder MSP has been working with ISPs and the music industry to develop both an innovative business model for music consumption, and innovative user experiences around music and communication to complement ISPs' offerings.

As a key addition to our small but growing development team, you will be critical in helping ...</description>
		<link>http://blog.playlouder.com/2008/08/14/job-ad-music-service-developer/</link>
			</item>
	<item>
		<title>80k of client-side-only storage for javascript, without browser extensions</title>
		<description>Thought I would share this hack.

The problem - you want to maintain some state on the client, but you don't want to send this state on a pointless round-trip to the server with every request, as typically happens with Cookies.

There is a way around this though!

	add an hidden iframe to ...</description>
		<link>http://blog.playlouder.com/2008/05/27/80k-of-client-side-only-storage-for-javascript-without-browser-extensions/</link>
			</item>
	<item>
		<title>Mysterious Flash bug on change of background</title>
		<description>Just incase anyone else runs into this and Googles.

If you have a flash movie which mysteriously seems to reload itself during some fairly innocuous and un-connected Javascript execution - take note:

Dynamically setting document.body.style.background was the culprit for us. Don't ask how I managed to identify this as the culprit, suffice ...</description>
		<link>http://blog.playlouder.com/2008/05/15/mysterious-flash-bug-on-change-of-background/</link>
			</item>
	<item>
		<title>Of MySQL/Ruby, EventMachine, and the need for non-blocking APIs</title>
		<description>Part of the service we're building is a socket server which uses Flash's XMLSocket API to push updates to clients. Initially we developed this using the excellent Twisted library in Python, but as it grew, having to duplicate some of our data model code in another language started to hurt, ...</description>
		<link>http://blog.playlouder.com/2008/05/12/of-mysqlruby-eventmachine-and-the-need-for-non-blocking-apis/</link>
			</item>
	<item>
		<title>An interesting Ruby hash semantics gotcha</title>
		<description>Thought this might amuse or perplex some Rubyists (or be useful to know - it's been the source of a couple of hard-to-track-down bugs in the past).
&#62;&#62; {{} =&#62; true}[{}]
=&#62; nil

&#62;&#62; {{} =&#62; true, {} =&#62; true}
=&#62; {{}=&#62;true, {}=&#62;true}
but yet,
&#62;&#62; {} == {}
true
What's going on here?
Ruby's Hashes behave very strangely ...</description>
		<link>http://blog.playlouder.com/2008/05/07/an-interesting-ruby-hash-semantics-gotcha/</link>
			</item>
	<item>
		<title>Visualising the tea-making process</title>
		<description>We Playlouder developers are constantly working to improve our users experience of our product, and the regular activity of making hot drinks is often an unnecessary distraction from this. While weâ€™ve certainly made great reductions in our refreshment-preparation time (I for instance discovered that the time it takes for a ...</description>
		<link>http://blog.playlouder.com/2008/03/20/visualising-the-tea-making-process/</link>
			</item>
	<item>
		<title>I&#8217;m drinking branded Lawyer beer</title>
		<description>Called 'Wiggin Wallop'.

We have trendy lawyers.

I'm also working on something called 'Brix', which may interest those who saw my rather hastily-prepared LRUG talk last year. It's another Ruby web framework - I know, I know - why yet another? Here's an idea of the philosophy:

	Ruby needs a component-based web framework, ...</description>
		<link>http://blog.playlouder.com/2008/03/11/im-drinking-branded-lawyer-beer/</link>
			</item>
	<item>
		<title>Minification</title>
		<description>In case anyone noticed, we've done a bit of client-side optimization.  Namely:

	Javascript and CSS files are now 'minified' (I prefer 'squished') as part of our build process, using the handy YUI compressor - this shaves a good 40% of bloat off our Javascript and 20% off our CSS, and ...</description>
		<link>http://blog.playlouder.com/2008/01/08/minification/</link>
			</item>
	<item>
		<title>Much as I love Ruby</title>
		<description>And much as we bend Rails to our will, I am getting a bit jealous of these guys developing web apps with Scala - an elegant hybrid functional/object-oriented language with a powerful type-inferencing type system, Erlang-style Actors and other goodies. It compiles and runs fast on the JVM too and ...</description>
		<link>http://blog.playlouder.com/2007/12/11/much-as-i-love-ruby/</link>
			</item>
</channel>
</rss>
