<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sleepydisco</title>
	<atom:link href="http://www.sleepydisco.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sleepydisco.com</link>
	<description>A blog about technology, music, food and photography.</description>
	<lastBuildDate>Sun, 18 Apr 2010 20:53:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Japanese Eggy Piggy Stew</title>
		<link>http://www.sleepydisco.com/food/japanese-eggy-piggy-stew</link>
		<comments>http://www.sleepydisco.com/food/japanese-eggy-piggy-stew#comments</comments>
		<pubDate>Sun, 18 Apr 2010 20:20:30 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=319</guid>
		<description><![CDATA[One of the most memorable meals I&#8217;ve ever had was in an unassuming, traditional Japanese izakaya in Tokyo called Robata. While every dish we tried was awesome, the one which stuck out the most was a tender pork stew that came complete with a hard boiled egg. I&#8217;ve been hunting for a recipe that could [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sleepydisco.com/wp-content/uploads/2010/04/20100418-6153.jpg"><img class="size-medium wp-image-326 alignleft" title="Japanese Eggy Piggy Stew" src="http://www.sleepydisco.com/wp-content/uploads/2010/04/20100418-6153-300x200.jpg" alt="Japanese Eggy Piggy Stew" width="300" height="200" /></a>One of the most memorable meals I&#8217;ve ever had was in an unassuming, traditional Japanese izakaya in Tokyo called <a title="Robata" href="http://www.flickr.com/photos/8221871@N07/2664547317/in/set-72157606148140949/">Robata</a>. While every dish we tried was awesome, the one which stuck out the most was a tender pork stew that came complete with a hard boiled egg. I&#8217;ve been hunting for a recipe that could reproduce that meal ever since, but sadly to no avail. So after a bit of experimentation, I&#8217;ve adapted one which came closest. Although it&#8217;s still no patch on the original, I think it&#8217;s a worthy alternative; and it&#8217;s a sinch to make. If you&#8217;re ever lucky enough to be in Tokyo you should definitely make the effort to hunt the place down, as it&#8217;s one of the tastiest things you can hope to eat.</p>
<p><span id="more-319"></span>For this recipe I use pork leg, although the original used pork belly. Leg is much, much leaner, belly is much, much more tasty. You takes your choice, but belly should probably be cooked a bit more before hand, and you definitely won&#8217;t need to add any extra oil! I also used a homemade dashi &#8211; a unique Japanese stock made from seaweed and flaked fish. I&#8217;ve also made this from powdered dashi stock, but if dashi is too difficult to get hold of a combination of fish/vegetable stock could probably work as an alternative. Sake and mirin can&#8217;t really be substituted.</p>
<p>Ingredients:</p>
<ul>
<li>1/2 tsp goundnut oil (or veggie oil)</li>
<li>900g diced pork leg (Waitrose sell 450g packs specifically for stewing)</li>
<li>100g ginger (peeled and roughly chopped)</li>
<li>500ml dashi stock (or half fish, half vegetable stock)</li>
<li>170ml sake</li>
<li>60ml mirin</li>
<li>125ml soy sauce</li>
<li>80g dark brown sugar</li>
<li>6 medium free range eggs</li>
<li>corn flour or potato statch</li>
<li>spring onions</li>
</ul>
<p>Heat oil in a large sauce pan, and cook the diced pork for about 5 minutes. It probably won&#8217;t brown, but it shouldn&#8217;t be pink on the sides. Around half way through, throw in the chopped ginger. Add the liquids (stock, sake, mirin, soy) and sugar, bring to the boil, cover the pan and simmer on a low heat for 3 hours. The pan should never get dry &#8211; in fact, there should be ample liquid at the end of cooking in which to make sauce. So if a drought threatens the pan, then add a small amount of water.</p>
<p>While the pork is cooking, partially hard boil six eggs (add eggs to cold water, bring to boil and cook for 6 mins), carefully remove the shell and cool in cold running water.</p>
<p>When the pork is tender (the pieces should fall apart) remove the chunks from the liquid and put aside. Add the eggs to the liquid and cook for a further 10 minutes, so that the eggs take on a bit of the flavour of the gravy. There should be enough liquid to almost cover the eggs &#8211; add a touch more water if necessary. Remove the eggs, and place with the pork. Thicken the gravy with about a teaspoon of corn flour or potato starch (let down first with a few drops of warm water) until the sauce is a good consistency. Return the pork and eggs to the pan to reheat in the thickened sauce for a couple of minutes.</p>
<p>Serve immediately with freshly chopped spring onions sprinkled on top. This makes enough for six medium sized portions at around 355 calories  each. A small helping of rice on the side goes down well, as does a small amount of chilli sesame carrots.</p>
<h2>Chilli Sesame Carrots</h2>
<p>Jullienne one medium-large carrot per person. Place in a bowl with a small amount of water, and microwave for 3 minutes until the carrots are cooked but still have bite. Drain any remaining water, and to the bowl add a small drizzle of sesame oil, a few drops of rice wine vinegar and small splash of dark soy sauce. Finally add a sprinkle of sesame seeds, a pinch of chilli powder (to taste) and combine. Serve topped with a small amount of freshly chopped spring onions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/food/japanese-eggy-piggy-stew/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Saag Dal (Lentil curry with Spinach)</title>
		<link>http://www.sleepydisco.com/food/saag-dal</link>
		<comments>http://www.sleepydisco.com/food/saag-dal#comments</comments>
		<pubDate>Sun, 28 Mar 2010 18:11:37 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[curry]]></category>
		<category><![CDATA[dal]]></category>
		<category><![CDATA[indian]]></category>
		<category><![CDATA[lentils]]></category>
		<category><![CDATA[saag]]></category>
		<category><![CDATA[spinach]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=307</guid>
		<description><![CDATA[I use lentils as a base for most curries I make. This one is vegetarian (and can be made vegan with the right bouillon powder), but if I was using meat I&#8217;d add it before adding the lentils, and reduce the amount of lentils used overall. Either way, it&#8217;s full of good stuff, and is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-312 alignright" title="Saag Dal" src="http://www.sleepydisco.com/wp-content/uploads/2010/03/20100328-6081-272x300.jpg" alt="Saag Dal" width="272" height="300" />I use lentils as a base for most curries I make. This one is vegetarian (and can be made vegan with the right bouillon powder), but if I was using meat I&#8217;d add it before adding the lentils, and reduce the amount of lentils used overall. Either way, it&#8217;s full of good stuff, and is a fairly spicy curry &#8211; probably a &#8216;medium&#8217; heat &#8211; but that can be adjusted with the amount of chilli used. The coriander seeds and cumin seeds can be replaced with their pre-ground equivalents, but the flavour is much better if you do it yourself.</p>
<p><span id="more-307"></span>Ingredients:</p>
<ul id="ingred">
<li>1 tsp groundnut oil (or vegetable oil or sunflower oil)</li>
<li>1 medium onion, finely chopped</li>
<li>150g celery (approx 3 medium stalks) trimmed and finely chopped</li>
<li>4 cloves garlic, crushed/finely chopped/whatever</li>
<li>30g ginger, peeled and finely chopped</li>
<li>4 tsp coriander seeds</li>
<li>4 tsp cumin seeds</li>
<li>2 tsp garam masala</li>
<li>1/2 tsp tumeric</li>
<li>2 tsp dried coriander leaf</li>
<li>200g split red lentils (the &#8216;no need to soak&#8217; variety)</li>
<li>600ml vegetable stock (600ml water w/ 2 tsp bouillon powder)</li>
<li>400g can chopped tomatoes</li>
<li>1 tsp tomato puree</li>
<li>1-2 red chillis, seeds in, finely chopped (vary to taste!)</li>
<li>1 tsp sugar</li>
<li>250g spinach leaves (washed, but otherwise unprepared)</li>
<li>pinch salt</li>
<li>1/2 tsp chilli powder / pinch of cayenne pepper (to taste)</li>
</ul>
<p>Sweat off the onion and celery in oil heated in a medium-large saucepan for about 5-10minutes. Add the ginger and garlic about half way through. While the onion and celery is sweating, toast off the coriander seeds and cumin seeds in a dry frying pan for 1-2 minutes (until the seeds just start to smoke!) Grind the seeds and add to the pan, with the turmeric, garam masala, and coriander leaf and season with freshly ground black pepper. Add the lentils, stock, tomatoes, and stir in the tomato puree, chopped chilli and sugar. Allow the lentils to cook on a low heat for 20-30 minutes, keeping an eye on the water (if it gets too dry, add some more &#8211; but be careful not to add too much as there will be liquid to come out of the raw spinach). Add the spinach a bit at a time, so as to not swamp the pan, and a largish pinch of salt if needed. Taste the sauce, and if it&#8217;s too mild, add a small mix of chilli powder and cayenne pepper. Cook for a further 10 minutes or until the lentils have become soft and the spinach has wilted. Best served with rice or naan bread.</p>
<p>Makes 4 decent sized portions, each weighing in at around 260 calories (not including the rice, naan, or whatever).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/food/saag-dal/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chicken Mulligatawny Soup</title>
		<link>http://www.sleepydisco.com/food/chicken-mulligatawny-soup</link>
		<comments>http://www.sleepydisco.com/food/chicken-mulligatawny-soup#comments</comments>
		<pubDate>Sun, 17 Jan 2010 13:33:18 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[chicken]]></category>
		<category><![CDATA[healthy]]></category>
		<category><![CDATA[mulligatawny]]></category>
		<category><![CDATA[recipe]]></category>
		<category><![CDATA[soup]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=260</guid>
		<description><![CDATA[I came up with this as a variation on a curry recipe. I think it&#8217;s worked pretty well.

Ingredients:

1 tsp groundnut oil (or vegetable oil)
2 medium onions, roughly chopped
2cm piece of ginger, finely chopped
2 cloves garlic, crushed/finely chopped/whatever
4 small carrots, halfed lengthwise and finely sliced
1 tsp garam masala
1 tsp curry powder
1 tsp dried coriander leaves
1/2 tsp [...]]]></description>
			<content:encoded><![CDATA[<p>I came up with this as a variation on a curry recipe. I think it&#8217;s worked pretty well.</p>
<p><img class="size-medium wp-image-301 alignnone" title="Chicken Mulligatawny Soup" src="http://www.sleepydisco.com/wp-content/uploads/2010/01/chicken-mulligatawny-300x199.jpg" alt="A bowl of Chicken Mulligatawny Soup" width="300" height="199" /></p>
<p><span id="more-260"></span>Ingredients:</p>
<ul id="ingred">
<li>1 tsp groundnut oil (or vegetable oil)</li>
<li>2 medium onions, roughly chopped</li>
<li>2cm piece of ginger, finely chopped</li>
<li>2 cloves garlic, crushed/finely chopped/whatever</li>
<li>4 small carrots, halfed lengthwise and finely sliced</li>
<li>1 tsp garam masala</li>
<li>1 tsp curry powder</li>
<li>1 tsp dried coriander leaves</li>
<li>1/2 tsp ground cinnamon</li>
<li>1/2 tsp turmeric</li>
<li>2 chillies (or just the one if you&#8217;re not wanting it too hot) finely sliced</li>
<li>75g Greek yoghurt</li>
<li>2 large (bonless and skinless) chicken thighs (approx 250g), chopped into small 2cm-ish chunks</li>
<li>800ml chicken stock</li>
<li>50g (uncooked) basmati rice</li>
<li>cornflour to thicken (optional)</li>
</ul>
<p>Start by heating the oil in a medium-large pan, and sweat off the onions for about 5 minutes. Add the garlic, ginger, carrot and half of the chilli, and cook for 2-3 more minutes. Transfer about 2/3-3/4 of the mixture to a small blender, and with a bit of water added, blend until you get a very smooth paste. Return the paste back to the pan, add all of the spices, and cook for a couple more minutes. Stir in the yoghurt (a small amount at a time, so that it doesn&#8217;t split), followed by the chicken and cook slowly until not-quite bubbling, before adding the rice and stock. Cook for ten minutes, or so, until the rice and chicken is cooked. If the sauce is too thin, add a couple of teaspoons of cornflour let down with a small amount of warm water, and stir into the soup.</p>
<p>Serves 4, and if you&#8217;re counting, each serving weighs in at a fairly lean 225 calories</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/food/chicken-mulligatawny-soup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wallpaper #1 / Jeremy</title>
		<link>http://www.sleepydisco.com/photography/wallpapers/1-jeremy</link>
		<comments>http://www.sleepydisco.com/photography/wallpapers/1-jeremy#comments</comments>
		<pubDate>Sat, 16 Jan 2010 16:11:18 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Wallpapers]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[jeremy]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=282</guid>
		<description><![CDATA[Jeremy was dicking about, being a douche, but I got him up close and personal.
Download:
1440 x 900
]]></description>
			<content:encoded><![CDATA[<p><a title="That Cat Jeremy" href="http://twitter.com/thatcatjeremy">Jeremy</a> was dicking about, being a douche, but I got him up close and personal.</p>
<p><a href="http://www.sleepydisco.com/wp-content/uploads/2010/01/jeremy.jpg"><img class="alignleft size-medium wp-image-283" title="Jeremy - Wallpaper #1" src="http://www.sleepydisco.com/wp-content/uploads/2010/01/jeremy-300x187.jpg" alt="Cat nose and whiskers - Desktop wallpaper" width="300" height="187" /></a>Download:<a title="1440x900" href="../wp-content/uploads/2010/01/jeremy.jpg"><br />
1440 x 900</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/photography/wallpapers/1-jeremy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Social Network in the Music Blogosphere</title>
		<link>http://www.sleepydisco.com/computer-science/social-network-in-the-music-blogosphere</link>
		<comments>http://www.sleepydisco.com/computer-science/social-network-in-the-music-blogosphere#comments</comments>
		<pubDate>Sat, 16 Jan 2010 13:39:15 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[msc]]></category>
		<category><![CDATA[network theory]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[recommendation]]></category>
		<category><![CDATA[report]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/everything-else/master</guid>
		<description><![CDATA[About this time last year, I was busy putting the finishing touches to a data harvesting program which would go off to the internet and grab posts from music blogs when notified of updates via a feed. The motivation was my MSc Computer Science project, at the time untitled, and without much of a plan [...]]]></description>
			<content:encoded><![CDATA[<p>About this time last year, I was busy putting the finishing touches to a data harvesting program which would go off to the internet and grab posts from music blogs when notified of updates via a feed. The motivation was my MSc Computer Science project, at the time untitled, and without much of a plan or a direction to go in. I knew I wanted to do something related to music, and probably to do with recommendations, with a view to creating a hopefully fresh take at how content can be discovered from editorially subjective sources, rather than behavioural sources such as playlists.<span id="more-257"></span></p>
<p>Skip to September, and with the end-of-month deadline nearing, I&#8217;m putting the finishing touches to the project report, now titled: &#8216;The Social Network in the Music Blogosphere&#8217;. It&#8217;s an exploration of the relationships between blogs and the artists that they write about, using network theory, with an analysis of some subject discovery and classification methods. There&#8217;s a chunk of Python code in the appendices (I used a lot of <a title="NetworkX - Python network library" href="http://networkx.lanl.gov/">NetworkX</a>), as well as some subject-based clusterings represented as dendrograms. If that sounds like your bag, you can get your copy of my project report here:</p>
<p>Download PDF:<a href="http://www.sleepydisco.com/wp-content/uploads/2010/01/The-Social-Network-in-the-Music-Blogosphere.pdf"> The Social Network in the Music Blogosphere</a> (3.6MB)</p>
<p>The network dataset of blog-artist relationships is also available:</p>
<p><a href="/msc/download/blog-artist_network.tar.gz">blog-artist_network.tar.gz</a> (301K)<br />
<a href="/msc/download/blog-artist_network.zip">blog-artist_network.zip</a> (299K)</p>
<p>It contains the following files:</p>
<p><span style="text-decoration: underline;">artists.txt</span>: id, and normalized and denormalized versions of all artist names</p>
<pre>ARTIST_ID  ARTIST_NAME  DENORM_ARTIST_NAME</pre>
<p><span style="text-decoration: underline;">blogs.txt</span>: id and name of each blog</p>
<pre>BLOG_ID  BLOG_NAME</pre>
<p><span style="text-decoration: underline;">blog-artist.txt</span>: the edges between a blog and an artist, and the weighting given to the relationship</p>
<pre>BLOG_ID  ARTIST_ID  WEIGHT
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/computer-science/social-network-in-the-music-blogosphere/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From Man Bag to Camera Bag</title>
		<link>http://www.sleepydisco.com/makes/man-bag-to-camera-bag</link>
		<comments>http://www.sleepydisco.com/makes/man-bag-to-camera-bag#comments</comments>
		<pubDate>Sun, 20 Dec 2009 22:29:17 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Makes]]></category>
		<category><![CDATA[camera bag]]></category>
		<category><![CDATA[cheapskate]]></category>
		<category><![CDATA[duck tape]]></category>
		<category><![CDATA[making]]></category>
		<category><![CDATA[neopreme]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=235</guid>
		<description><![CDATA[Camera bags are expensive. Really expensive. And worst of all, they all look like camera bags unless you&#8217;re willing to pay a premium for a good looking bag, on top of the premium that you&#8217;re already paying for padding. That said, I&#8217;m really really happy with my Lowepro Slingshot 200 AW, with it&#8217;s easy access, [...]]]></description>
			<content:encoded><![CDATA[<p>Camera bags are expensive. Really expensive. And worst of all, they all look like camera bags unless you&#8217;re willing to pay a premium for a good looking bag, on top of the premium that you&#8217;re already paying for padding. That said, I&#8217;m really really happy with my <a title="Lowepro Slingshot 200 AW" href="http://www.amazon.co.uk/Lowepro-Slingshot-Sling-Digital-Lenses/dp/B000B9O83A">Lowepro Slingshot 200 AW</a>, with it&#8217;s easy access, sling-around, hold-everything-I-have goodness. It&#8217;s ace for if I&#8217;m out and about and being a tourist, but it&#8217;s a bit rubbish if I want something that looks anything less than a back-sized fannypack. So I wondered what it would take to come up with something myself.<span id="more-235"></span></p>
<p>I&#8217;ve got a number of bags that I like, but I wouldn&#8217;t want to chuck a camera in them without some sort of protection. Inside a bag, if not held in place, lens caps can come off and lenses can get scratched, and things get rearranged so that it becomes difficult to find what you&#8217;re looking for. And that&#8217;s not to mention all the casual bumps that a bag will inevitably get when worn and on the move.</p>
<p>Both <a title="Billingham accessories" href="http://www.billingham.co.uk/acatalog/Accessories.html">Billingham</a> and <a title="Domke insert" href="http://www.tiffen.com/displayproduct.html?itemnum=720-230&amp;tablename=domke">Domke</a> make stand-alone inserts for their really rather lovely but sadly aspirationally priced bags, for around £30-40. There&#8217;s something in me that finds spending that amount on the padding alone a bit too much. Driven by this, and inspired by a number of DIY camera bag blog posts from <a title="Muddyboots: DIY stealth camera bag" href="http://muddybootsphotography.blogspot.com/2007/08/diy-stealth-camera-bag.html">people who have attempted a similar thing</a>, I took a trip to the rather excellent <a title="Cass Art" href="http://www.cassart.co.uk/shops_01.htm">Cass Art in Islington</a> to see what I could find to help me. I left with a couple of 50cmx50cm neoprene foam sheets (£4 each) and a 2.5m pack of self-adhesive velcro (£7).</p>
<p>Back home, I got a small-ish bag &#8211; at least big enough for a digital SLR an a lens, but not much more. A nice sized man bag, effectively. My aim was to create an adaptable design for an insert that would create enough room for my SLR with a standard zoom lens attached, and whatever extra room I could make. After measuring approximate sizes, I made a rough template for an open-ended boxed rectangle, and cut out panels from the neopreme foam. I then attached them to each other with duck tape (I already had this) and used extra to create flaps to which I attached two lengths of velcro (comb-side). Two strips of the fuzzy side of velcro were added to the other panel, so I ended up with something looking a bit like this:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-218" title="Template for a Camera bag insert" src="http://www.sleepydisco.com/wp-content/uploads/2009/12/back-insert-template1.png" alt="Template for a Camera bag insert" width="296" height="296" /></p>
<p>I&#8217;ve intentionally not mentioned any measurements here, since it&#8217;s very much dependant on the bag, although I found that a depth of around 10cm would be enough for an SLR. Dividers can be made in a similar way. A velcro-flanked square of foam can be strengthed with wire-reinforced cardboard strips. I inserted thickish garden wire into the cardboard&#8217;s corrogated &#8216;pipes&#8217; before attaching the strips to the foam with more duct tape. This provides more vertical strength to the divider to support the weight of an SLR with a lens attached.</p>
<p style="text-align: left;">The following is the end result, shown from the top:</p>
<p style="text-align: center;"><img class="size-full wp-image-240  aligncenter" title="Camera bag from top" src="http://www.sleepydisco.com/wp-content/uploads/2009/12/bag1.jpg" alt="Camera bag viewed from top, with SLR camera inside" width="500" height="375" /></p>
<p style="text-align: left;">And from the front&#8230;:</p>
<p style="text-align: center;"><img class="size-full wp-image-241  aligncenter" title="Camera bag from side" src="http://www.sleepydisco.com/wp-content/uploads/2009/12/bag2.jpg" alt="Camera bag from side" width="500" height="354" /></p>
<p>I managed an insert and divider from a single sheet of foam, about 60cm of velcro tape, and a bit of duck tape, so total the cost is about £7. I&#8217;m now thinking that my <a title="Freitag dragnet bags" href="http://images.google.co.uk/images?q=freitag+dragnet">Freitag bag</a> will be getting a similar treatment shortly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/makes/man-bag-to-camera-bag/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cardboard Macbook stand</title>
		<link>http://www.sleepydisco.com/makes/cardboard-macbook-stand</link>
		<comments>http://www.sleepydisco.com/makes/cardboard-macbook-stand#comments</comments>
		<pubDate>Sun, 20 Dec 2009 18:59:04 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Makes]]></category>
		<category><![CDATA[cardboard]]></category>
		<category><![CDATA[cheapskate]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[lapstop stand]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[making]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=214</guid>
		<description><![CDATA[Working from home, sitting at my desk can be a bit of strain on my neck, since I&#8217;m always looking down at the screen of my 15&#8243; Macbook Pro. Researching the range of laptop stand options available from the Apple store and around, there didn&#8217;t to be anything that wasn&#8217;t either too expensive, flimsy, a [...]]]></description>
			<content:encoded><![CDATA[<p>Working from home, sitting at my desk can be a bit of strain on my neck, since I&#8217;m always looking down at the screen of my 15&#8243; Macbook Pro. Researching the range of laptop stand options available from the Apple store and around, there didn&#8217;t to be anything that wasn&#8217;t either too expensive, flimsy, a little bit ugly, or all of the above. I thought, at the very least, I could solve the expensive part of that equation, and I get the joy of a make as a bonus.<span id="more-214"></span></p>
<p>I&#8217;d been thinking about making a DIY laptop stand for a few weeks, but a glut of reasonably strong cardboard from a recent trip to IKEA spurred me on to make it for real. In addition to cardboard, I also used double-sided tape, and brown packing tape.</p>
<p>It&#8217;s a really really simple design. Here&#8217;s the template:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-221" title="Template for 15&quot; Macbook Pro stand" src="http://www.sleepydisco.com/wp-content/uploads/2009/12/stand2.png" alt="Template for 15&quot; Macbook Pro stand" width="457" height="422" /></p>
<p>I created two of everything here, and stuck them together with double-sided tape, so that each piece was twice-thickness (I guess 5-6mm thick in total). I also re-enforced the cardboard with packing tape &#8211; just wrapping it around and trimming it. This gave me two side panels, a front panel and a slightly thicker back panel.</p>
<p>Cuts were made where the dotted lines are shown on the template; about 1.5cm from the front and 2cm from the back on the side panels. (N.B. the &#8216;front&#8217; is the lowest part on the side panel). All cuts were 2cm deep and wide enough for the thickness of the panels to slot together without a squeeze. On the front panel (the slightly thinner of the two 32cm long pieces, the cuts are made about 1cm from each end, and about 2cm from each end on the back panel. When assembled, this creates a slight tapering towards the back panel, rather than a more flimsy square.</p>
<p>This was designed for a 15&#8243; Macbook Pro with room for an Apple bluetooth keyboard to nuzzle in underneath. I guess it could be prettier, but it does the job and disammembles and reassembles easily for going in and out of storage.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-225" title="15&quot; Macbook Pro stand" src="http://www.sleepydisco.com/wp-content/uploads/2009/12/macbook-stand.jpg" alt="15&quot; Macbook Pro stand" width="560" height="404" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/makes/cardboard-macbook-stand/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Documenting HttpServletRequest</title>
		<link>http://www.sleepydisco.com/programming/documenting-httpservletrequest</link>
		<comments>http://www.sleepydisco.com/programming/documenting-httpservletrequest#comments</comments>
		<pubDate>Sun, 20 Dec 2009 14:27:29 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[httpservletrequest]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[reference]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=201</guid>
		<description><![CDATA[For such a core object the HttpServletRequest javadoc is a little lacking in the Examples Dept. when it comes to documented output. With various methods returning various parts of URLs, it&#8217;s often easy to pick the wrong one, so I thought I&#8217;d knock up a little table with the getters which trip me up sometimes.
This [...]]]></description>
			<content:encoded><![CDATA[<p>For such a core object the <a title="HttpServletRequest javadoc" href="http://java.sun.com/webservices/docs/1.6/api/javax/servlet/http/HttpServletRequest.html">HttpServletRequest javadoc</a> is a little lacking in the Examples Dept. when it comes to documented output. With various methods returning various parts of URLs, it&#8217;s often easy to pick the wrong one, so I thought I&#8217;d knock up a little table with the getters which trip me up sometimes.<span id="more-201"></span></p>
<p>This assumes a simple webapp, living on a server on the local machine, sitting under the context called &#8216;context&#8217;, responding to the URL:</p>
<pre>http://localhost:8080/context/hello/world?foo=bar</pre>
<table>
<thead>
<tr>
<th>Method</th>
<th>Response</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>getContextPath()</td>
<td>/context</td>
<td>The context part of the URL. Should be obvious.</td>
</tr>
<tr>
<td>getPathInfo()</td>
<td>/hello/world</td>
<td>The part of the URL after the context, but not including the query string.</td>
</tr>
<tr>
<td>getPathTranslated()</td>
<td>/Users/david/projects/java/hello-world-webapp/target/context/hello/world</td>
<td>Hrm. Sort of where this would be on the local filesystem, but not really.</td>
</tr>
<tr>
<td>getProtocol()</td>
<td>HTTP/1.1</td>
<td>This doesn&#8217;t produce anything verbatum from the URL, such as &#8216;http&#8217; or &#8216;https&#8217; or &#8216;ftp&#8217; or&#8230;</td>
</tr>
<tr>
<td>getQueryString()</td>
<td>foo=bar</td>
<td>Like it says, the query string.</td>
</tr>
<tr>
<td>getRequestURI()</td>
<td>/context/hello/world</td>
<td>Everything from but not including the port, up to but not including the query string.</td>
</tr>
<tr>
<td>getRequestURL()</td>
<td>http://localhost:8080/context/hello/world</td>
<td>This is a StringBuffer object, containing everything but the query string.</td>
</tr>
<tr>
<td>getServerName()</td>
<td>localhost</td>
<td>The server name as presented in the URL, not the hostname of the box.</td>
</tr>
<tr>
<td>getServerPort()</td>
<td>8080</td>
<td>As expected. Good, good.</td>
</tr>
<tr>
<td>getServletPath()</td>
<td></td>
<td>This is the path that the servlet is configured (e.g. in web.xml) to respond to relative to the context. It&#8217;ll be an empty-string if, as here, this is in response to a wildcard mapping &#8220;/*&#8221;.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/programming/documenting-httpservletrequest/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>URL connection timeouts&#8230; not timing out</title>
		<link>http://www.sleepydisco.com/programming/url-connection-timeouts-not-timing-out</link>
		<comments>http://www.sleepydisco.com/programming/url-connection-timeouts-not-timing-out#comments</comments>
		<pubDate>Tue, 14 Apr 2009 21:48:17 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[url java apache http]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=198</guid>
		<description><![CDATA[After much fussing about, I&#8217;ve found out that the default UrlConnection object in the core Java libraries doesn&#8217;t correctly obey connect or read timeouts set via the setConnectTimeout() or setReadTimeout() methods. The only way I&#8217;ve managed to get this to work, is to add the following arguments to the JVM.
-Dsun.net.client.defaultConnectTimeout=&#60;CONNECT_TIMEOUT&#62;
-Dsun.net.client.defaultReadTimeout=&#60;READ_TIMEOUT&#62;
In future, I&#8217;d be more inclined [...]]]></description>
			<content:encoded><![CDATA[<p>After much fussing about, I&#8217;ve found out that the default <a title="java.net.URLConnection" href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLConnection.html">UrlConnection</a> object in the core Java libraries doesn&#8217;t correctly obey connect or read timeouts set via the setConnectTimeout() or setReadTimeout() methods. The only way I&#8217;ve managed to get this to work, is to add the following arguments to the JVM.<span id="more-198"></span></p>
<pre>-Dsun.net.client.defaultConnectTimeout=&lt;CONNECT_TIMEOUT&gt;
-Dsun.net.client.defaultReadTimeout=&lt;READ_TIMEOUT&gt;</pre>
<p>In future, I&#8217;d be more inclined to use something like the <a title="Apache HttpCommons Client" href="http://hc.apache.org/httpcomponents-client/index.html">Apache HttpCommons Client</a> which provides a full-featured HTTP client.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/programming/url-connection-timeouts-not-timing-out/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hearty Chicken Stew with Dumplings</title>
		<link>http://www.sleepydisco.com/food/hearty-chicken-stew-with-dumplings</link>
		<comments>http://www.sleepydisco.com/food/hearty-chicken-stew-with-dumplings#comments</comments>
		<pubDate>Mon, 09 Feb 2009 21:35:47 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[chicken]]></category>
		<category><![CDATA[chicken stew]]></category>
		<category><![CDATA[dumplings]]></category>
		<category><![CDATA[recipe]]></category>
		<category><![CDATA[stew]]></category>

		<guid isPermaLink="false">http://www.sleepydisco.com/?p=192</guid>
		<description><![CDATA[This is a bit of a hybrid recipe inspired from a bit of a Nigella and a bit of one of the anonymous cookbooks I&#8217;ve got hanging about. I&#8217;m proud to say that the dumplings were all my addition, although I didn&#8217;t have all the ingredients to make them so I had to settle for [...]]]></description>
			<content:encoded><![CDATA[<p>This is a bit of a hybrid recipe inspired from a bit of a Nigella and a bit of one of the anonymous cookbooks I&#8217;ve got hanging about. I&#8217;m proud to say that the dumplings were all my addition, although I didn&#8217;t have all the ingredients to make them so I had to settle for a pre-mixed packet.</p>
<ul>
<li>a pack of lardons</li>
<li>two leeks, sliced into small rings</li>
<li>an onion, roughly chopped</li>
<li>1/2 swede, peeled and roughly cubed</li>
<li>a pack of about six good sized skinless, boneless chicken thighs, chopped into bite-sized pieces</li>
<li>three cloves garlic, sliced</li>
<li>handful of parsley, roughly chopped</li>
<li>1 tsp turmeric</li>
<li>1/2 tsp cayenne pepper</li>
<li>1 tsp ground ginger</li>
<li>a bottle of white wine</li>
<li>couple of handfuls of frozen peas</li>
<li>couple of cups of chicken stock</li>
<li>salt and pepper to taste</li>
<li>6-8 dumplings made from packet mix</li>
</ul>
<p>Brown off the <strong>lardons</strong> in a hot stock pot, before adding the <strong>leeks</strong>, <strong>onion, garlic</strong> and <strong>swede</strong>. You don&#8217;t need extra oil, just let them cook in the tasty bacon fat until they&#8217;ve softened up a bit, for about 5 minutes or so. Add the <strong>chicken</strong>, <strong>cayenne</strong> <strong>pepper</strong>, <strong>ground</strong> <strong>ginger</strong>, and <strong>turmeric</strong>, and stir about in the mix before adding in the <strong>bottle of white wine</strong> and<strong> frozen peas</strong>. Top up with the <strong>chicken stock</strong> until it looks like there will be enough liquid for about half an hour&#8217;s cooking, and sit the doughy <strong>dumplings</strong> made from the mix on the top.</p>
<p>Cook for half an hour and when almost done, throw in the chopped <strong>parsley</strong> and season. This can be served on it&#8217;s own in a bowl, or with a generous serving of mashed potatos should make enough for four people.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sleepydisco.com/food/hearty-chicken-stew-with-dumplings/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
