<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Small one off hacks and demos that I’ve built. Usually for my own fun, but I need a place for them all to live - and now if you want, you can subscribe to an RSS feed of them you can steal the code as soon as it goes up :)</description><title>@rem's hacks &amp; demos</title><generator>Tumblr (3.0; @remyhacks)</generator><link>http://hacks.remysharp.com/</link><item><title>Letter Slinger</title><description>&lt;a href="http://rem.im/letter-slinger.html"&gt;Letter Slinger&lt;/a&gt;: &lt;p&gt;This was my entry for the Alist Apart 10k app. Basically I wanted something that used the canvas element to run some animation, some sort of game aspect to it, and something with fonts - so I bashed this together over the weekend (probably about 4 hours).&lt;/p&gt;

&lt;p&gt;I also tried to compress it down to enter in the &lt;a href="http://js1k.com/"&gt;js1k&lt;/a&gt; game but failed and ended up with this &lt;a href="http://gist.github.com/505994"&gt;gist&lt;/a&gt; which is 1558 bytes (and I think may be broken!).&lt;/p&gt;

&lt;p&gt;None the less, the big thing I discovered is that shadows on the canvas really don’t perform well, in IE9pre3 (with hardware acceleration on the 2D API), it dropped from 60fps (without shadows) to 5fps (with shadows). Not good.&lt;/p&gt;

&lt;p&gt;&lt;img style="margin-right: 10px;" src="http://rem.im/ls-one.png" width="210" alt="Letter Slinger"/&gt;&lt;img style="margin-right: 10px;" src="http://rem.im/ls-two.png" width="210" alt="Letter Slinger"/&gt;&lt;/p&gt;</description><link>http://hacks.remysharp.com/post/907346878</link><guid>http://hacks.remysharp.com/post/907346878</guid><pubDate>Thu, 05 Aug 2010 12:36:07 +0100</pubDate><category>canvas</category><category>ie9</category><category>chrome</category><category>safari</category><category>firefox</category><dc:creator>remy</dc:creator></item><item><title>Multiplayer Tron</title><description>&lt;a href="http://rem.im/tron"&gt;Multiplayer Tron&lt;/a&gt;: &lt;p&gt;A little hack I played around with - it’s a bit messy in the code, but you control a pink line and have to avoid smashing in to the other lines on the game - robots from your point of view.&lt;/p&gt;

&lt;p&gt;It’s multiplayer and draws to a canvas. It’s checking the canvas opacity of the pixel we just drew on to check for collision, pretty basic, but works.&lt;/p&gt;

&lt;p&gt;&lt;img style="margin-right: 10px;" src="http://rem.im/tron1.gif" height="210" width="200" alt="Tron game"/&gt;&lt;img src="http://rem.im/tron2.gif" height="210" width="200" alt="Tron game"/&gt;&lt;/p&gt;</description><link>http://hacks.remysharp.com/post/772953917</link><guid>http://hacks.remysharp.com/post/772953917</guid><pubDate>Mon, 05 Jul 2010 15:33:00 +0100</pubDate><category>canvas</category><category>sockets</category><dc:creator>remy</dc:creator></item><item><title>Tweet near your buddy: BeThere</title><description>&lt;a href="http://rem.im/bethere/"&gt;Tweet near your buddy: BeThere&lt;/a&gt;: &lt;p&gt;BeThere is one of the hacks I did for &lt;a href="http://warblecamp.org/"&gt;Warblecamp&lt;/a&gt; a few months back. It uses Twitter’s &lt;a href="http://dev.twitter.com/anywhere"&gt;@anywhere&lt;/a&gt; API to connect and authenticate with Twitter.&lt;/p&gt;

&lt;p&gt;From there it runs through your timeline looking for your friends’ geo data. When you click on a friend, it’ll show them on the map (if there’s no geo data it won’t), and you can tweet from the same location as them - the ultimate in travelling to see friends without leaving your sofa!&lt;/p&gt;

&lt;p&gt;This demo is very experimental - in fact I find I have to refresh sometimes when it doesn’t load properly. It was hacked over about 3 hours with very little sleep - so please forgive me!&lt;/p&gt;

&lt;p&gt;I do plan to release this a fully fledge app for those people who want to protect (and play) with their privacy on Twitter though - so watch &lt;a href="http://twitter.com/rem"&gt;my space&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://rem.im/bethere/"&gt;&lt;img src="http://rem.im/bethere.png" width="500" title="Example of BeThere"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://hacks.remysharp.com/post/700870558</link><guid>http://hacks.remysharp.com/post/700870558</guid><pubDate>Tue, 15 Jun 2010 13:51:45 +0100</pubDate><category>twitter</category><category>javascript</category><category>experimental</category><dc:creator>remy</dc:creator></item><item><title>Collaborative Drawing</title><description>&lt;a href="http://rem.im/collab-drawing.html"&gt;Collaborative Drawing&lt;/a&gt;: &lt;p&gt;I ran an HTML5 API workshop for Web Directions @media this week and in the last 30 minutes of the workshop I hacked this together based on some of the technologies we had learnt from the day. It uses Web Sockets and the Canvas API to share drawings.&lt;/p&gt;

&lt;p&gt;The server can be a little unstable, so if it says it can’t connect, it might need a kick.&lt;/p&gt;

&lt;p&gt;It’s obviously not the sexiest looking thing, but the rawness comes from our 30 minute hack :)&lt;/p&gt;

&lt;p&gt;The server is run using &lt;a href="http://github.com/ncr/node.ws.js"&gt;node.ws.js&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Just a couple of awesome examples from the hack:&lt;/p&gt;

&lt;p&gt;&lt;img style="border: 2px solid #ccc; margin-right: 10px;" src="http://rem.im/train.png" height="200" width="200" alt="train"/&gt;&lt;img style="border: 2px solid #ccc; " src="http://rem.im/wreck.png" height="200" width="200" alt="wreck"/&gt;&lt;/p&gt;</description><link>http://hacks.remysharp.com/post/679608627</link><guid>http://hacks.remysharp.com/post/679608627</guid><pubDate>Wed, 09 Jun 2010 10:07:00 +0100</pubDate><category>sockets</category><category>canvas</category><category>chrome</category><category>safari</category><dc:creator>remy</dc:creator></item><item><title>What they said and where they said it</title><description>&lt;a href="http://remysharp.com/demo/what-where.html"&gt;What they said and where they said it&lt;/a&gt;: &lt;p&gt;Whilst &lt;a href="http://twitter.com/seb_ly"&gt;seb_ly&lt;/a&gt; was caught out somewhere in Europe making his way home overland due to the volcano, he was tweeting as he went along.&lt;/p&gt;

&lt;p&gt;I decided to capture the geo info on those tweets and map it out on Google maps.&lt;/p&gt;

&lt;p&gt;This demo uses only the JavaScript you see in the page to work looping through all the tweets to plot a journey of an individual via Twitter’s geo tagging.&lt;/p&gt;</description><link>http://hacks.remysharp.com/post/660122557</link><guid>http://hacks.remysharp.com/post/660122557</guid><pubDate>Thu, 03 Jun 2010 15:29:40 +0100</pubDate><category>geo</category><category>twitter</category><category>javascript</category><dc:creator>remy</dc:creator></item><item><title>HEX to RGB</title><description>&lt;a href="http://rem.im/rgb2hex.html"&gt;HEX to RGB&lt;/a&gt;: &lt;p&gt;Almost finished micro app for getting rgb from hex and visa versa. Works on the iPhone too.&lt;/p&gt;</description><link>http://hacks.remysharp.com/post/637895995</link><guid>http://hacks.remysharp.com/post/637895995</guid><pubDate>Thu, 27 May 2010 16:45:53 +0100</pubDate><category>javascript</category><category>unfinished</category><category>colour</category><dc:creator>remy</dc:creator></item><item><title>Pure animating CSS Gallery</title><description>&lt;a href="http://rem.im/css-gallery/"&gt;Pure animating CSS Gallery&lt;/a&gt;: &lt;p&gt;Uses CSS transitions combined with the &lt;code&gt;:target&lt;/code&gt; selected to create different effects when clicking on the different thumbnails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disable JavaScript and the entire gallery still works.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The default demo is a cross fade - but here’s a few more examples:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://rem.im/css-gallery/height"&gt;http://rem.im/css-gallery/height&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rem.im/css-gallery/top/slow"&gt;http://rem.im/css-gallery/top/slow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rem.im/css-gallery/fade"&gt;http://rem.im/css-gallery/fade&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;em&gt;WebKit only:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://rem.im/css-gallery/scale"&gt;http://rem.im/css-gallery/scale&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rem.im/css-gallery/scale/fast"&gt;http://rem.im/css-gallery/scale/fast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rem.im/css-gallery/flip"&gt;http://rem.im/css-gallery/flip&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://rem.im/css-gallery/left"&gt;http://rem.im/css-gallery/left&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://hacks.remysharp.com/post/635508589</link><guid>http://hacks.remysharp.com/post/635508589</guid><pubDate>Wed, 26 May 2010 22:51:00 +0100</pubDate><category>demo</category><category>css</category><dc:creator>remy</dc:creator></item></channel></rss>

