<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>phildawson.co.uk</description><title>phil has a blog</title><generator>Tumblr (3.0; @phildawson)</generator><link>http://phildawson.tumblr.com/</link><item><title>SlideShare hacked: Download any slide without logging in (even if the user has disabled downloading)</title><description>&lt;p&gt;1. Look for the doc value in the embed code
&lt;/p&gt;
&lt;pre&gt;
doc=cms-1212252847434735-8
&lt;/pre&gt;
&lt;br/&gt;&lt;p&gt;2. In your browse type &lt;a href="http://s3.amazonaws.com/slideshare/"&gt;http://s3.amazonaws.com/slideshare/&lt;/a&gt; then the doc value and .pdf&lt;/p&gt;

&lt;pre&gt;
&lt;a href="http://s3.amazonaws.com/slideshare/cms-1212252847434735-8.pdf"&gt;http://s3.amazonaws.com/slideshare/cms-1212252847434735-8.pdf&lt;/a&gt;
&lt;/pre&gt;
&lt;br/&gt;&lt;p&gt;
3. Press enter and the full pdf is yours, any slide even if it’s displayed as not available to download.
&lt;/p&gt;

&lt;p&gt;If you get an AccessDenied response then try changing the bucket to ppt-download in the url&lt;/p&gt;
&lt;pre&gt;
&lt;a href="http://s3.amazonaws.com/"&gt;http://s3.amazonaws.com/&lt;/a&gt;&lt;strong&gt;ppt-download&lt;/strong&gt;/trends-for-the-future-20403.pdf
&lt;/pre&gt;
&lt;br/&gt;&lt;p&gt;Then if that doesn’t work try to see if its a presentation file by changing the extension to .ppt&lt;/p&gt;
&lt;pre&gt;
&lt;a href="http://s3.amazonaws.com/ppt-download/web-20-5316-25603."&gt;http://s3.amazonaws.com/ppt-download/web-20-5316-25603.&lt;/a&gt;&lt;strong&gt;ppt&lt;/strong&gt;
&lt;/pre&gt;
&lt;br/&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;

&lt;p&gt;
Long story…
&lt;/p&gt;
&lt;p&gt;
It all started by trying to let users download slides without them having to have an account, by looking at the headers using Live HTTP headers and seeing where Slideshare gets the file from. e.g.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://s3.amazonaws.com/ppt-download/atmedia2008profrontendengineering-1213136599624862-9.pdf?Signature=Khggv8yW1ecsSRwDz1TC08xml44%3D&amp;Expires=1219235798&amp;AWSAccessKeyId=1Z5T9H8PQ39V6F79V8G2"&gt;http://s3.amazonaws.com/ppt-download/atmedia2008profrontendengineering-1213136599624862-9.pdf?Signature=Khggv8yW1ecsSRwDz1TC08xml44%3D&amp;Expires=1219235798&amp;AWSAccessKeyId=1Z5T9H8PQ39V6F79V8G2&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The only problem is you need to look at each request as you need to know the Signature, Expires and AWSAccessKeyId for the file as you can’t just use &lt;a href="http://s3.amazonaws.com/ppt-download/atmedia2008profrontendengineering-1213136599624862-9.pdf"&gt;http://s3.amazonaws.com/ppt-download/atmedia2008profrontendengineering-1213136599624862-9.pdf&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second problem is that some downloads are not availiable to download so you can’t watch the request to find the location. Such as &lt;a href="http://www.slideshare.net/drewm/content-management-without-the-killing"&gt;http://www.slideshare.net/drewm/content-management-without-the-killing&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;After finding that &lt;a href="http://hasin.wordpress.com/" target="_blank"&gt;Hasin Hayder&lt;/a&gt; had discovered that you could view the xml file and download the swfs of each slide by using the doc/location.
&lt;/p&gt;

&lt;pre&gt;
&lt;a href="http://s3.amazonaws.com/slideshare/cms-1212252847434735-8.xml"&gt;http://s3.amazonaws.com/slideshare/cms-1212252847434735-8.xml&lt;/a&gt;
&lt;a href="http://s3.amazonaws.com/slideshare/cms-1212252847434735-8-slide-1.swf"&gt;http://s3.amazonaws.com/slideshare/cms-1212252847434735-8-slide-1.swf&lt;/a&gt;
&lt;/pre&gt;
&lt;br/&gt;&lt;p&gt;I just replaced .xml with pdf and it worked!&lt;/p&gt;
&lt;pre&gt;
&lt;a href="http://s3.amazonaws.com/slideshare/cms-1212252847434735-8.pdf"&gt;http://s3.amazonaws.com/slideshare/cms-1212252847434735-8.pdf&lt;/a&gt;
&lt;/pre&gt;
&lt;br/&gt;</description><link>http://phildawson.tumblr.com/post/46675700</link><guid>http://phildawson.tumblr.com/post/46675700</guid><pubDate>Wed, 20 Aug 2008 12:06:00 +0100</pubDate></item><item><title>foreach callback without using jQuerys each function</title><description>&lt;p&gt;Example array: &lt;/p&gt;
&lt;pre&gt;
var fruits = Array('Apple','Banana','Orange');
&lt;/pre&gt;
&lt;br/&gt;&lt;p&gt;In jQuery you can use each() to “Execute a function within the context of every matched element.”&lt;/p&gt;
&lt;pre&gt;
fruits.each(function(fruit)
{
	alert(fruit);		
});
&lt;/pre&gt;
&lt;br/&gt;&lt;p&gt;Without jQuery you can combine a &lt;a href="http://www.hunlock.com/blogs/Essential_Javascript_--_A_Javascript_Tutorial#quickIDX21" target="_blank"&gt;for in loop&lt;/a&gt; with an anonymous, &lt;a href="http://www.hunlock.com/blogs/Functional_Javascript#quickIDX5" target="_blank"&gt;self-invoking function&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;
for (var i in fruits) { (function(fruit)
{
	alert(fruit);	

})( fruits[i] ); }	
&lt;/pre&gt;
&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Some pseudocode for plotting points on a Google map&lt;/p&gt;
&lt;pre&gt;
var points = [];

points.push([52.483,	-1.89356,    'Birmingham']);
points.push([53.54984,	9.97326,     'Hamburg']);
	 	
for (var i in points) {	(function(point) 
{			
	var marker = new GMarker(new GLatLng(point[0], point[1]));
	map.addOverlay(marker);
	 
	GEvent.addListener(marker,"click", function() 
	{
		alert(point[2]);
	});								
		
})( points[i] ); }
&lt;/pre&gt;
&lt;br/&gt;</description><link>http://phildawson.tumblr.com/post/46527983</link><guid>http://phildawson.tumblr.com/post/46527983</guid><pubDate>Tue, 19 Aug 2008 10:54:00 +0100</pubDate></item><item><title>WordPress wp_list_bookmarks edit or remove title</title><description>&lt;p&gt;As I’ve just found out, you just need to categorize to make it work.&lt;/p&gt;
&lt;pre&gt;
&lt;?php wp_list_bookmarks('categorize=&amp;title_li=&lt;h3&gt;Title&lt;/h3&gt;'); ?&gt;
&lt;/pre&gt;
&lt;br/&gt;</description><link>http://phildawson.tumblr.com/post/46397501</link><guid>http://phildawson.tumblr.com/post/46397501</guid><pubDate>Mon, 18 Aug 2008 12:51:03 +0100</pubDate></item><item><title>ATI Radeon HD 2600 PRO detected as Mobility Radeon HD 2600 XT in Boot Camp</title><description>&lt;p&gt;1. Download and install &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=en" target="_blank"&gt;Microsoft .NET Framework Version 2.0 Redistributable Package (x86)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2. Download the latest &lt;a href="http://game.amd.com/us-en/drivers_catalyst.aspx?p=xp/radeonx-xp" target="_blank"&gt;Catalyst Software Suite&lt;/a&gt;&lt;/p&gt; 

&lt;p&gt;3. Launch the installer which will extract to C:\ATI and continue until it gets to the point where an error message saying that the installer could not find a suitable driver for your hardware appears.&lt;/p&gt;

&lt;p&gt;4. Open the Device Manager (My Computer &gt; Properties &gt; Hardware) and under Display adapters select Mobility Radeon HD 2600 XT and right-click Update driver.&lt;/p&gt;

&lt;p&gt;5. Choose not this time, install from location, Don’t Search, and Have Disk. Browse for C:\ATI\SUPPORT\ and inside the version folder select the inf inside Driver\XP_INF&lt;/p&gt;

&lt;p&gt;6. From the list find ATI Radeon HD 2600 Pro, ignore the warning about it not being certified and install and reboot.&lt;/p&gt;

&lt;p&gt;7. To install Catalyst control centre, open the CCC folder in the extracted ATI folder and run the setup.exe&lt;/p&gt;</description><link>http://phildawson.tumblr.com/post/46313405</link><guid>http://phildawson.tumblr.com/post/46313405</guid><pubDate>Sun, 17 Aug 2008 19:01:50 +0100</pubDate></item><item><title>Hide Windows 'Untitled' Boot Camp volume on Mac Desktop</title><description>&lt;p&gt;This is the fastest way to hide the Windows partition on your Mac desktop.&lt;/p&gt;

&lt;p&gt;1. Boot into Windows&lt;br/&gt;
2. Right-click on the C drive, and select Properties.&lt;br/&gt;
3. Rename the drive with a dot at the start, such as “.Windows HD”&lt;br/&gt;
4. When you boot back it will be hidden.&lt;/p&gt;

&lt;p&gt;If you want to show it again you can just remove the dot prefix in Windows, or if you just want to temporary view it you can &lt;a href="http://phildawson.tumblr.com/post/19400525/show-hidden-files-on-os-x"&gt;run a couple of lines in Terminal&lt;/a&gt; or &lt;a href="http://phildawson.tumblr.com/post/22674918/how-to-automator-show-hide-hidden-files-plugin"&gt;create an Automator plugin&lt;/a&gt; to easily toggle hidden files.&lt;/p&gt;</description><link>http://phildawson.tumblr.com/post/46280319</link><guid>http://phildawson.tumblr.com/post/46280319</guid><pubDate>Sun, 17 Aug 2008 11:46:47 +0100</pubDate></item><item><title>Disable UAC in Vista</title><description>1. Run msconfig&lt;br/&gt;
2. Click on the Tools tab and scroll down till you find “Disable UAC” &lt;br/&gt;
3. Select and click the Launch button.&lt;br/&gt;
4. After the command window has finished, close it and msconfig.&lt;br/&gt;
5. Reboot</description><link>http://phildawson.tumblr.com/post/45853430</link><guid>http://phildawson.tumblr.com/post/45853430</guid><pubDate>Wed, 13 Aug 2008 21:37:56 +0100</pubDate></item><item><title>Compiling a custom Ubuntu Kernel</title><description>&lt;a href="https://help.ubuntu.com/community/Kernel/Compile"&gt;Compiling a custom Ubuntu Kernel&lt;/a&gt;: &lt;p&gt;A very useful guide for building your own Kernel. As mentioned in the disclaimer it should only really be used for learning and bug testing. Grab the latest copy here:&lt;/p&gt;

&lt;pre&gt;
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-intrepid.git ubuntu-intrepid
&lt;/pre&gt;</description><link>http://phildawson.tumblr.com/post/45175217</link><guid>http://phildawson.tumblr.com/post/45175217</guid><pubDate>Fri, 08 Aug 2008 09:39:45 +0100</pubDate></item><item><title>Standard web video pixel dimensions</title><description>&lt;table width="100%"&gt;
&lt;tr&gt;
&lt;th width="50%"&gt;16:9&lt;/th&gt;
&lt;th width="50%"&gt;4:3&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1920 x 1080&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1280 x 720&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;720 x 405&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;640 x 360&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;640 x 480&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;560 x 315&lt;/td&gt;
&lt;td&gt;560 x 420&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;480 x 270&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;480 x 360&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;400 x 225&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;400 x 300&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;320 x 180&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;320 x 240&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;240 x 135&lt;/td&gt;
&lt;td&gt;240 x 180&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;160 x 90&lt;/td&gt;
&lt;td&gt;160 x 120&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;120 x 90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;100 x 75&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;80 x 45&lt;/td&gt;
&lt;td&gt;80 x 60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;60 x 45&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;br/&gt;</description><link>http://phildawson.tumblr.com/post/44238901</link><guid>http://phildawson.tumblr.com/post/44238901</guid><pubDate>Thu, 31 Jul 2008 19:13:00 +0100</pubDate></item><item><title>Cue sheet // Fabriclive 40: Noisia </title><description>&lt;pre&gt;
TITLE "Fabriclive 40: Noisia"
PERFORMER "Noisia"
FILE "noisia.mp3" MP3
  TRACK 01 AUDIO
    TITLE "Cannonball"
    PERFORMER "Phace"
    INDEX 01 00:00:00 
  TRACK 02 AUDIO
    TITLE "Stompbox (Spor Remix)"
    PERFORMER "The Qemists"
    INDEX 01 00:44:00 
  TRACK 03 AUDIO
    TITLE "Alive (Dub)"
    PERFORMER "Phace"
    INDEX 01 01:28:00
  TRACK 04 AUDIO
    TITLE "Anti Social"
    PERFORMER "The Upbeats"
    INDEX 01 02:34:00
  TRACK 05 AUDIO
    TITLE "Splash Step"
    PERFORMER "Break"
   INDEX 01 05:10:00 
  TRACK 06 AUDIO
    TITLE "Diplodocus (Dub)"
    PERFORMER "Noisia"
    INDEX 01 07:46:00
  TRACK 07 AUDIO
    TITLE "Claret's March"
    PERFORMER "Spor"
    INDEX 01 10:19:00
  TRACK 08 AUDIO
    TITLE "Head Knot (Dub)"
    PERFORMER "Noisia"
    INDEX 01 11:50:00
  TRACK 09 AUDIO
    TITLE "The Tide"
    PERFORMER "Noisia"
   INDEX 01 13:30:00
  TRACK 10 AUDIO
    TITLE "Nowhere (Dub)"
    PERFORMER "Icicle"
     INDEX 01 15:55:00
  TRACK 11 AUDIO
    TITLE "The Feed"
    PERFORMER "Noisia"
    INDEX 01 17:34:00
  TRACK 12 AUDIO
    TITLE "Global (Dub) - Subtitles"
    PERFORMER "Sabre"
   INDEX 01 19:15:00 
  TRACK 13 AUDIO
    TITLE "Cold Champagne (Dub)"
    PERFORMER "Phace"
    INDEX 01 20:55:00
  TRACK 14 AUDIO
    TITLE "Panic"
    PERFORMER "The Upbeats"
    INDEX 01 23:31:00
  TRACK 15 AUDIO
    TITLE "Infusion"
    PERFORMER "Noisia"
    INDEX 01 24:40:00
  TRACK 16 AUDIO
    TITLE "Split The Atom (Instrumental)"
    PERFORMER "Noisia"
   INDEX 01 28:03:00 
  TRACK 17 AUDIO
    TITLE "Mordez Moi"
    PERFORMER "Spor"
    INDEX 01 32:52:00
  TRACK 18 AUDIO
    TITLE "Seven Stiches"
    PERFORMER "Noisia"
    INDEX 01 35:45:00
  TRACK 19 AUDIO
    TITLE "Brown Time"
    PERFORMER "Noisia"
    INDEX 01 40:43:00
  TRACK 20 AUDIO
    TITLE "Stigma (Dub)"
    PERFORMER "Noisia"
    INDEX 01 44:07:00
  TRACK 21 AUDIO
    TITLE "Alice (Noisia Remix)"
    PERFORMER "Moby"
    INDEX 01 46:55:00
  TRACK 22 AUDIO
    TITLE "Concussion"
    PERFORMER "Noisia"
    INDEX 01 50:59:00
  TRACK 23 AUDIO
    TITLE "Facade (VIP)"
    PERFORMER "Noisia"
    INDEX 01 52:22:00
  TRACK 24 AUDIO
    TITLE "Medicine (Matrix Remix)"
    PERFORMER "Optical"
   INDEX 01 54:18:00 
  TRACK 25 AUDIO
    TITLE "Mudslide"
    PERFORMER "Noisia"
    INDEX 01 56:03:00
  TRACK 26 AUDIO
    TITLE "Viperfish (VIP)"
    PERFORMER "Misanthrop"
    INDEX 01 59:17:00
  TRACK 27 AUDIO
    TITLE "Crank (Dub)"
    PERFORMER "Noisia"
    INDEX 01 60:34:00
  TRACK 28 AUDIO
    TITLE "Creep Out"
    PERFORMER "The Upbeats"
    INDEX 01 62:30:00
  TRACK 29 AUDIO
    TITLE "Square Feet"
    PERFORMER "Noisia"
    INDEX 01 65:00:00
&lt;/pre&gt;</description><link>http://phildawson.tumblr.com/post/42508155</link><guid>http://phildawson.tumblr.com/post/42508155</guid><pubDate>Wed, 16 Jul 2008 22:52:00 +0100</pubDate></item><item><title>To www, or not to www</title><description>&lt;p&gt;Which one to choose??&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://no-www.org/" target="_blank"&gt;no-www.org&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.yes-www.org/" target="_blank"&gt;&lt;a href="http://www.yes-www.org"&gt;www.yes-www.org&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.www.extra-www.org/" target="_blank"&gt;&lt;a href="http://www.www.extra-www.org"&gt;www.www.extra-www.org&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m in favour of dropping it, here’s my setup&lt;/p&gt;
&lt;pre&gt;
RewriteCond %{HTTP_HOST} ^www\.phildawson\.co\.uk$
RewriteRule ^(.*)$ &lt;a href="http://phildawson.co.uk/%241"&gt;http://phildawson.co.uk/$1&lt;/a&gt; [R=301,L]
&lt;/pre&gt;
&lt;br/&gt;</description><link>http://phildawson.tumblr.com/post/41867383</link><guid>http://phildawson.tumblr.com/post/41867383</guid><pubDate>Fri, 11 Jul 2008 12:02:00 +0100</pubDate></item><item><title>Positioning Controls on a Google Map</title><description>&lt;a href="http://code.google.com/apis/maps/documentation/controls.html#Control_Positioning"&gt;Positioning Controls on a Google Map&lt;/a&gt;: &lt;p&gt;Quick example of how to position GSmallMapControl() in the top right of a Google map&lt;/p&gt;
&lt;pre&gt;
var pos = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10)); 
map.addControl(new GSmallMapControl(), pos);
&lt;/pre&gt;</description><link>http://phildawson.tumblr.com/post/40800509</link><guid>http://phildawson.tumblr.com/post/40800509</guid><pubDate>Thu, 03 Jul 2008 09:21:53 +0100</pubDate></item><item><title>Firefox - Blinking vertical bar cursor on webpage</title><description>This drove me nuts as until I found out I had turned on ‘Caret browsing’ by accident, to toggle the feature on/off use the F7 key (fn+F7 mac).</description><link>http://phildawson.tumblr.com/post/40661746</link><guid>http://phildawson.tumblr.com/post/40661746</guid><pubDate>Wed, 02 Jul 2008 09:32:27 +0100</pubDate></item><item><title>Yoggie Pico: A Linux USB key-size computer with 12 built-in security apps</title><description>&lt;a href="http://www.yoggie.com/pico-personal"&gt;Yoggie Pico: A Linux USB key-size computer with 12 built-in security apps&lt;/a&gt;: “Designed to off-load installed security software from your PC, the plug-in Gatekeeper Pico replaces all of your security software, adds additional security features and speeds your PC’s performance as resources are no longer dedicated to security tasks.”</description><link>http://phildawson.tumblr.com/post/40455847</link><guid>http://phildawson.tumblr.com/post/40455847</guid><pubDate>Mon, 30 Jun 2008 21:01:00 +0100</pubDate></item><item><title>Racedriver GRID yellow diagonal lines or fuzzy blue blocks on install</title><description>&lt;p&gt;If you have played the demo and then installed the full game you might think your game is corupt if you get yellow diagonal lines or fuzzy blue blocks on the screen after the splash video. As I found out this is just a case of needing the latest drivers for your graphics card.&lt;/p&gt;

&lt;p&gt;XP recogizes my graphics card as the ATI Mobility Radeon HD 2600 XT (its actually ATI Radeon HD 2600 PRO), and in my case the demo works with version 8.390.0.0 which was installed with bootcamp, but the full game needs at least 8.430.0.0 which was released 4 months later. After downloading the &lt;a href="http://ati.amd.com/support/drivers/mac/bootcamp-xp.html" target="_blank"&gt;latest version of the Apple Boot Camp XP Software Graphics Driver&lt;/a&gt; it worked perfectly.&lt;/p&gt;

&lt;p&gt;If you don’t have a shinny iMac, heres the &lt;a href="http://ati.amd.com/support/driver.html" target="_blank"&gt;start page for all ATI drivers&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you ever need to reset the graphics, you can always start the game with the lowest settings by adding -safemode after GRID.exe&lt;br/&gt;
eg&lt;/p&gt;

&lt;p&gt;“C:\Program Files\Codemasters\GRID\GRID.exe” -safemode&lt;/p&gt;</description><link>http://phildawson.tumblr.com/post/39564838</link><guid>http://phildawson.tumblr.com/post/39564838</guid><pubDate>Mon, 23 Jun 2008 22:52:22 +0100</pubDate></item><item><title>HP Blackbird 002</title><description>&lt;img src="http://media.tumblr.com/YKsGpcuYQaja3qy7BfzERNQD_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;HP Blackbird 002</description><link>http://phildawson.tumblr.com/post/39393918</link><guid>http://phildawson.tumblr.com/post/39393918</guid><pubDate>Sun, 22 Jun 2008 15:22:51 +0100</pubDate></item><item><title>New on my Wishlistr: Blackbird Exhilaration Edition</title><description>&lt;a href="https://h20435.www2.hp.com/Default.aspx"&gt;New on my Wishlistr: Blackbird Exhilaration Edition&lt;/a&gt;: &lt;p&gt;Intel Core2 Extreme Quad-Core 3.2GHz QX9770&lt;br/&gt;
4GB 1600 MHz CORSAIR PC-12800 DDR3 SDRAM Memory&lt;br/&gt;
CPU Liquid cooling&lt;br/&gt;
EVGA nForce 790i Ultra Motherboard&lt;br/&gt;
Dual EVGA NVIDIA GeForce GTX 280, with 1GB SDRAM&lt;/p&gt;

&lt;p&gt;..$7,000,00&lt;/p&gt;</description><link>http://phildawson.tumblr.com/post/39389926</link><guid>http://phildawson.tumblr.com/post/39389926</guid><pubDate>Sun, 22 Jun 2008 14:30:00 +0100</pubDate></item><item><title>ogg video tag example with controls</title><description>&lt;p&gt;You can view the video below by downloading a patched Firefox until this is supported, which will hopefully be in &lt;a href="http://en.wikipedia.org/wiki/Mozilla_Firefox#Version_3.1" target="_blank"&gt;Firefox 3.1.&lt;/a&gt; (Shiretoko)&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.double.co.nz/video_test/firefox-3.0b2pre-video.en-US.mac.dmg"&gt;OS X (Intel) download&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.double.co.nz/video_test/firefox-3.0pre-video-ogg.en-US.linux-i686.tar.bz2"&gt;Linux download&lt;/a&gt;
&lt;/p&gt;


&lt;div id="player"&gt;&lt;/div&gt;

&lt;div id="controls" style="display: none;"&gt;
&lt;p&gt;&lt;input type="button" onclick="document.getElementById('v1').play()" value="Play"&gt;&lt;input type="button" onclick="document.getElementById('v1').pause()" value="Pause"&gt;&lt;/p&gt;
&lt;/div&gt;


&lt;p&gt;Here’s a demo of a &lt;a href="http://www.double.co.nz/video_test/video.svg" target="_blank"&gt;video inserted into SVG using JavaScript&lt;/a&gt;, you can even scale and drag the players around which is pretty cool. If you want to learn more about the video tag, see Chris Double’s blog, &lt;a href="http://www.bluishcoder.co.nz/" target="_blank"&gt;Bluish Coder&lt;/a&gt; and check out his &lt;a target="_blank" href="http://www.double.co.nz/video_test/"&gt;examples of using the video tag&lt;/a&gt;.&lt;/p&gt;


&lt;script&gt;
// The boring way
// &lt;video id="v1" src="http://www.double.co.nz/video_test/ascannerdarkly480.ogg" /&gt;

// create video element
var video = document.createElement("video");

if (video) {

// set video id
video.setAttribute("id", "v1");

// insert into player div
document.getElementById('player').appendChild(video);

// set the src and play!
video.src = 'http://www.double.co.nz/video_test/ascannerdarkly480.ogg';
video.play();

// show controls and examples
document.getElementById('controls').style.display = "block";

}
&lt;/script&gt;</description><link>http://phildawson.tumblr.com/post/38870806</link><guid>http://phildawson.tumblr.com/post/38870806</guid><pubDate>Wed, 18 Jun 2008 11:39:00 +0100</pubDate></item><item><title>Feedburner RSS - failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found</title><description>&lt;p&gt;You now have to define a user-agent with the HTTP request otherwise you will now get a nice error like “failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found” as I found out recently. fopen (file_get_contents) and libcurl don’t by default so you need to add an extra line anywhere above the call to fake it.&lt;/p&gt;

&lt;p&gt;You can define the user agent for PHP to send with ini_set as shown in the example below. You can actually replace Mozilla/5.0 with any string as long as its not empty and it should be fine.&lt;/p&gt;

&lt;pre&gt;
ini_set('user_agent','Mozilla/5.0');
$file = file_get_contents('http://feeds.feedburner.com/phildawson');
&lt;/pre&gt;</description><link>http://phildawson.tumblr.com/post/38762626</link><guid>http://phildawson.tumblr.com/post/38762626</guid><pubDate>Tue, 17 Jun 2008 16:20:00 +0100</pubDate></item><item><title>Asus Eee PC 901 20G Linux Edition Reviewed (1st July UK...</title><description>&lt;img src="http://media.tumblr.com/YKsGpcuYQa7q4b9t77Jh2u1d_r1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href="http://www.trustedreviews.com/notebooks/review/2008/06/14/Asus-Eee-PC-901-20G-Linux-Edition/p1"&gt;Asus Eee PC 901 20G Linux Edition Reviewed&lt;/a&gt;&lt;br/&gt; (1st July UK release)</description><link>http://phildawson.tumblr.com/post/38383536</link><guid>http://phildawson.tumblr.com/post/38383536</guid><pubDate>Sat, 14 Jun 2008 13:18:00 +0100</pubDate></item><item><title>goosh.org - the unofficial google shell</title><description>&lt;a href="http://www.goosh.org/"&gt;goosh.org - the unofficial google shell&lt;/a&gt;</description><link>http://phildawson.tumblr.com/post/37860076</link><guid>http://phildawson.tumblr.com/post/37860076</guid><pubDate>Tue, 10 Jun 2008 14:13:43 +0100</pubDate></item></channel></rss>
