<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<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/"
	>

<channel>
	<title>jpsykes</title>
	<link>http://jpsykes.com</link>
	<description></description>
	<pubDate>Mon, 12 May 2008 23:51:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>Testing CSS Performance (pt 2)</title>
		<link>http://jpsykes.com/152/testing-css-performance-pt-2</link>
		<comments>http://jpsykes.com/152/testing-css-performance-pt-2#comments</comments>
		<pubDate>Thu, 08 May 2008 18:11:27 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>css</category><category>ie6</category><category>ie7</category><category>performance tuning</category><category>safari</category><category>table</category>
		<guid isPermaLink="false">http://jpsykes.com/152/testing-css-performance-pt-2</guid>
		<description><![CDATA[So after yesterdays idea of measuring how long it would take for a node to &#8220;turn red&#8221;.  I came to the decision that that probably isn&#8217;t the best way to measure overall techniques and impact of using large amounts of descendant selectors in your CSS.
My new approach for today is sheer volume.
Using my test [...]]]></description>
			<content:encoded><![CDATA[<p>So after <a href="http://jpsykes.com/151/testing-css-performance">yesterdays idea</a> of measuring how long it would take for a node to &#8220;turn red&#8221;.  I came to the decision that that probably isn&#8217;t the best way to measure overall techniques and impact of using large amounts of <a href="http://www.w3.org/TR/REC-CSS2/selector.html#descendant-selectors">descendant selectors</a> in your CSS.</p>
<p>My new approach for today is sheer volume.</p>
<p>Using my test page from yesterday that has a 20 column by 1000 row table, with each cell having it&#8217;s own unique id and class.</p>
<p>I have now extended it to generate CSS in the head 1 style declaration for each cell, same as before the background is just red.  This means that in the head of my test page I have 20,000 style declarations.</p>
<p>I am then able to make two versions of this file, one using the format:</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">.tdxx<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">background</span>: <span class="kw2">red</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>and one where they are all:</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">table tr td.tdxx<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">background</span>: <span class="kw2">red</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>All of the content is generated with PHP loops, so I ran the two test pages through my local apache and saved the generated HTML.  I saved the two files to my desktop and then opened them in various browser.</p>
<p>Once open and loaded and refreshed them 3 times and recorded the results for IE6, IE7, Firefox 2 (osx), Firefox 3 (osx), Safari 3 and Opera.</p>
<p>I went through and ran it in <a href="http://test.jpsykes.com/cssParsing/css%20performance%20screens/">all the above browsers</a> and then collated the data.  In case you&#8217;re curious, Opera 9 (osx) couldn&#8217;t even show the page, and would choke and crash, so I don&#8217;t have any data on them.</p>
<p>The results were rather interesting:</p>
<style>
table.data td{
padding: 7px;
border: 1px solid #4F453F;
}
</style>
<table class="data">
<tr>
<td>Browser</td>
<td colspan="3">Child Selectors</td>
<td>Average</td>
<td colspan="3">Direct Class Name</td>
<td>Average</td>
</tr>
<tr>
<td>FF2	     </td>
<td>3200</td>
<td>3186</td>
<td>3704</td>
<td>3363</td>
<td>3054 </td>
<td>2497</td>
<td>2914</td>
<td>2822</td>
</tr>
<tr>
<td>FF3	     </td>
<td>2612</td>
<td>2760</td>
<td>2415</td>
<td>2596</td>
<td>2437 </td>
<td>2589</td>
<td>2355</td>
<td>2460</td>
</tr>
<tr>
<td>IE6	     </td>
<td>3515</td>
<td>3685</td>
<td>3645</td>
<td>3615</td>
<td>3025 </td>
<td>2494</td>
<td>2734</td>
<td>2751</td>
</tr>
<tr>
<td>IE7	     </td>
<td>3765</td>
<td>3515</td>
<td>3545</td>
<td>3608</td>
<td>2364 </td>
<td>2433</td>
<td>2263</td>
<td>2353</td>
</tr>
<tr>
<td>Safari3	 </td>
<td>4451</td>
<td>4604</td>
<td>4530</td>
<td>4528</td>
<td>2874 </td>
<td>2673</td>
<td>2760</td>
<td>2769</td>
</tr>
</table>
<p>Which looks like:</p>
<p><img src="http://test.jpsykes.com/cssParsing/css%20performance%20screens/data%20chart.png" style="width: 500px" /></p>
<p>The green bar is the average time that the page took to render when you use 20,000 direct class name css declarations, the blue is the same but using lots of <a href="http://www.w3.org/TR/REC-CSS2/selector.html#descendant-selectors">descendant selectors</a> with the class name (see the example above).</p>
<p>You can clearly see the trend that single class name declarations are faster.  But what really amazed me was how much that seems to impact Safari and to a lesser degree IE7 more than Firefox.  Firefox 3 running on a mac had probably a negligible difference (based on this being an average of 3 refreshes rather than hundreds of them).</p>
<p>I was also surprised that the impact on Safari is the reverse of what I expected.  I expected the slow one to be as fast as the fast one on Firefox and the fast way to be an improvement.  The reverse seems to be the case.  <a href="http://www.w3.org/TR/REC-CSS2/selector.html#descendant-selectors">Descendent selectors</a> are a major slow down to the Safari browser, rather than single class declarations being a performance gain.</p>
<p>That is surprising to me, considering all of these tests were run on OSX (the IE tests were run in a memory starved Parallels image).  We have to be careful doing browser to browser comparison, as the tests weren&#8217;t all conducted at the same time under the same circumstances.</p>
<h2>Conclusion</h2>
<p>The tests show that there is slow down using child selectors over direct class name declarations in IE6, IE7 and Safari 3.  Safari 3 being the most impacted by <a href="http://www.w3.org/TR/REC-CSS2/selector.html#descendant-selectors">descendant selectors</a>.  Firefox 2 has some impact, and Firefox 3 doesn&#8217;t seem to be impacted at all.</p>
<p>That said, this is a very extreme test, it is not often you&#8217;d have 20,000 class definitions in a single page or that all of them would use 4 levels of child selector.</p>
<p>That said it is something to be aware of and keep an eye on, and if you&#8217;re looking at ways to optimize css reduction of <a href="http://www.w3.org/TR/REC-CSS2/selector.html#descendant-selectors">descendent selector</a> usage might help.</p>
<p>If you&#8217;re interested in running the test, I have the <a href="http://test.jpsykes.com/cssParsing/css%20performance%20test.zip">two files as a ZIP for download</a> (they upzip to 2+ megabyte HTML files, so I zipped them).  Just run them locally and you can see the results at the top of the page.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/152/testing-css-performance-pt-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Testing CSS Performance</title>
		<link>http://jpsykes.com/151/testing-css-performance</link>
		<comments>http://jpsykes.com/151/testing-css-performance#comments</comments>
		<pubDate>Thu, 08 May 2008 12:30:28 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>benchmarks</category><category>css</category><category>performance tuning</category>
		<guid isPermaLink="false">http://jpsykes.com/151/testing-css-performance</guid>
		<description><![CDATA[Jim brought up an interesting discussion yesterday about CSS performance and if child selectors are inefficient.
The basis for the thinking is something Dave Hyatt mentioned in a Shaun Inman post.  Basically that child selectors are ineffecient because they actually work right to left rather than left to right to find the element you&#8217;re referring [...]]]></description>
			<content:encoded><![CDATA[<p>Jim brought up an interesting discussion yesterday about <a href="http://jimbarraud.com/2008/05/07/css-inefficiency/">CSS performance and if child selectors are inefficient</a>.</p>
<p>The basis for the thinking is something D<a href="http://www.shauninman.com/archive/2008/05/05/css_qualified_selectors#comment_3942">ave Hyatt</a> mentioned in a <a href="http://www.shauninman.com/archive/2008/05/05/css_qualified_selectors">Shaun Inman post</a>.  Basically that child selectors are ineffecient because they actually work right to left rather than left to right to find the element you&#8217;re referring to.</p>
<p>So this&#8230;</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">body table tr td.myTestClass<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">background-color</span>: <span class="kw2">red</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>is allegedly considerably less efficient than&#8230;</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">.myTestClass<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">background-color</span>: <span class="kw2">red</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Now I figured it would be interesting to see if I could throw together a quick test that might show this difference.  Testing and benchmarking CSS is not something I&#8217;ve seen very much of, so I assumed it was either A: Virtually impossible, B: A silly idea, C: Boring, but that never stopped me before, so I headed to the whiteboard.</p>
<h3>Thought Process</h3>
<p>At the very top of the a HTML I would use Javascript to create a timestamp, this is the starting timer for everything.</p>
<p>I would then have a function on a setInterval so it loops, the function checks a dom element using getElementById, it checks to see if that node is there, if it is it checks to see if the node has the style applied to it, if it does it fires a new timestamp marks the difference between the start and the end and then writes that out (I wrote it out to the page, as I was initially using console.debug, but that&#8217;s not very cross browser compatible).</p>
<p>I then have 2 css declarations, one with lots of child selectors and one direct class reference.</p>
<p>I then have a 20 x 1000 table created using PHP loops.</p>
<p>The CSS is applied to two of the table cells.  Next to each other.</p>
<p>The null hypothesis is that running these both in the same page, the child selector way will take longer to be seen as being &#8220;red&#8221; than the direct style.</p>
<p>The test can be viewed at:</p>
<p><a href="http://test.jpsykes.com/cssParsing/test2.php">http://test.jpsykes.com/cssParsing/test2.php</a></p>
<p>There is almost no difference.  Funnily enough there&#8217;s a fairly consistent 7ms difference which I guess is either the time it takes to do the tests in order, or it&#8217;s the fact that the second node is further down the dom.</p>
<p>So no difference.  Bit of an anti-climax.</p>
<h3>Why is there no difference</h2>
<p>I have a couple of ideas:</p>
<p>The test is fundamentally flawed in a way that&#8217;s not immediately obvious to me.</p>
<p>The two CSS that I&#8217;m comparing don&#8217;t display the issue, maybe I need different example.</p>
<p>Maybe the browser does everything CSS then renders the page, so 1 might be happening faster, I just can&#8217;t test it.  (I&#8217;m going to make a different test where I have two pages with lots of each example and I test overall load time rather than individual node styling time).</p>
<h3>Other stuff</h3>
<p>One thing I did find that was interesting.  During my testing and debugging I added an onload timestamp as well.  I was getting the &#8220;Node is red&#8221; timestamp, before the onload.  Which I thought was interesting.</p>
<p>More to come.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/151/testing-css-performance/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vimeo API</title>
		<link>http://jpsykes.com/149/vimeo-api</link>
		<comments>http://jpsykes.com/149/vimeo-api#comments</comments>
		<pubDate>Mon, 28 Apr 2008 06:50:57 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>api</category><category>authentication</category><category>vimeo</category>
		<guid isPermaLink="false">http://jpsykes.com/149/vimeo-api</guid>
		<description><![CDATA[Somehow I missed this until today.
I wasn&#8217;t aware there was a vimeo public API.
I&#8217;m even more amazed, now I know there is one that there aren&#8217;t any &#8220;apps&#8221; for uploading videos to vimeo either in batches or from places like iphoto.
I know I for one will be looking at this (when I ever get any [...]]]></description>
			<content:encoded><![CDATA[<p>Somehow I missed <a href="http://vimeo.com/forums/topic:1278">this</a> until today.</p>
<p>I wasn&#8217;t aware there was a <a href="http://www.vimeo.com/api">vimeo public API</a>.</p>
<p>I&#8217;m even more amazed, now I know there is one that there aren&#8217;t any &#8220;apps&#8221; for uploading videos to vimeo either in batches or from places like iphoto.</p>
<p>I know I for one will be looking at this (when I ever get any spare time - I should just get that surgery to stop sleeping) I was thinking drag and drop onto a Dashboard Widget to upload to your account.  Nice and simple, just a way to dump stuff up there fast.</p>
<p>API looks really interesting, I&#8217;m always curious how &#8220;2.0&#8243; <a href="http://groups.google.com/group/pownceapi/msg/0869d563c6e7a310">public API&#8217;s handle authentication</a> and the level of paranoia they display (are they a twitter with out in the open usernames and passwords, or a flickr with all the app based ket authentications.)</p>
<p>It seems Vimeo is following a similar <a href="http://www.vimeo.com/api/web-auth-howto">approach</a> to <a href="http://www.flickr.com/services/api/auth.spec.html">Flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/149/vimeo-api/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Off to ATG&#8217;s &#8220;Insight Live 2008&#8243;</title>
		<link>http://jpsykes.com/150/off-to-atgs-insight-live-2008</link>
		<comments>http://jpsykes.com/150/off-to-atgs-insight-live-2008#comments</comments>
		<pubDate>Sun, 27 Apr 2008 12:36:59 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jpsykes.com/150/off-to-atgs-insight-live-2008</guid>
		<description><![CDATA[I&#8217;ll be driving up to ATG&#8217;s Insight Live 2008 conference later today.
It&#8217;s the first one of these I&#8217;ve been to.  Media-Hive was at last years when Greg went down to South Carolina.  This year he, I and TJ are all going up. On Tuesday I&#8217;ll be part of the panel on the &#8220;Meet [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be driving up to <a href="http://www.atg.com/">ATG</a>&#8217;s <a href="http://www.atg.com/insightlive2008/">Insight Live 2008</a> conference later today.</p>
<p>It&#8217;s the first one of these I&#8217;ve been to.  <a href="http://mediahive.com">Media-Hive</a> was at last years when Greg went down to South Carolina.  This year he, I and TJ are all going up. On Tuesday I&#8217;ll be part of the panel on the &#8220;Meet the Experts : Ajax and Flex&#8221;.  I really don&#8217;t have much info on what this session will be, I&#8217;m assuming a fairly informal open Q&#038;A type session, which I always enjoy (it&#8217;s rare to find a group of eager listeners when you want to talk about AJAX - just ask my wife, who always gets that &#8220;No really, I am trying to listen face&#8221;).</p>
<p>It&#8217;ll be a good couple of days up in Boston, get a meet up with a few <a href="http://blog.jameswiltshire.com/">past</a> and present ATG folks who I haven&#8217;t seen in a while (from their international offices) and listen to some great presentations by some of the ecommerce industry leaders.  I&#8217;m especially looking forward to <a href="http://www.gartner.com/AnalystBiography?authorId=19321">Hung LeHong</a> from <a href="http://www.gartner.com/">Gartner</a>&#8217;s talk about &#8220;The Store of 2012&#8243;, curious to see where they see the industry going.  I&#8217;m also very sad that due to having to leave Tuesday evening (my parents are flying into the states from England for a visit) I&#8217;ll miss the closing session, which will include <a href="http://www.linkedin.com/in/ltoney">Laurence Toney</a>, <a href="http://www.internetretailer.com/internet/marketing-conference/76005-nike-gets-e-commerce-team-into-shape-three-retail-veterans.html">GM of Experience Management</a> from Nike.</p>
<p>Greg and TJ will still be there, I&#8217;m taking my video recorder so hopefully the session organizers let us film and G &#038; T can video it for me.</p>
<p>On that subject, if we are allowed to film, I&#8217;ll be adding the clips to vimeo and will post links here, just need to get permission first.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/150/off-to-atgs-insight-live-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dashboard Widgets Drag and Drop</title>
		<link>http://jpsykes.com/148/dashboard-widgets-drag-and-drop</link>
		<comments>http://jpsykes.com/148/dashboard-widgets-drag-and-drop#comments</comments>
		<pubDate>Sat, 26 Apr 2008 05:20:54 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>apple</category><category>bug</category><category>dashboard</category><category>dnd</category><category>hexday</category><category>widget</category>
		<guid isPermaLink="false">http://jpsykes.com/148/dashboard-widgets-drag-and-drop</guid>
		<description><![CDATA[I was playing around last night building a dashboard widget for hexday.com (more as an exercise than anything else).
The aim was to try and replicate as much of the online UI experience as possible, so first task was getting Dojo playing nice with the dashcode setup (more on that in a later post).  Once [...]]]></description>
			<content:encoded><![CDATA[<p>I was playing around last night building a dashboard widget for <a href="http://hexday.com">hexday.com</a> (more as an exercise than anything else).</p>
<p>The aim was to try and replicate as much of the online UI experience as possible, so first task was getting Dojo playing nice with the dashcode setup (more on that in a later post).  Once in I was able to use much of the JS from the hexday website, which uses the Dojo Color Picker widget for the picking UI.</p>
<p>It all seemed to be going well, until I discovered a small issue.</p>
<p>The Dojo color picker includes drag and drop support for the hue and the saturation pointers.  You can click and and the color updates real time as you move about.</p>
<p>Clicking and dragging in a dashboard widget, starts you dragging the dashboard widget round the page (for repositioning).</p>
<p>I found an apple doc that detailed <a href="http://developer.apple.com/documentation/AppleApplications/Conceptual/Dashboard_ProgTopics/DragAndDrop.html#//apple_ref/doc/uid/30001233">DND in webkit</a>, including the fact that it&#8217;s available in Dashboard but it didn&#8217;t detail the issue, or a solution I was seeing.  I almost tested the DND in Safari and it works great.</p>
<p>I&#8217;m hoping there is some hidden setting I can set, that makes an element in a dashboard widget no longer act as a drag point for widget repositioning.  Unfortunately the dashboard widget docs are thin, and there is a real lack of online tutorials or blog posts on the subject (there are some <a href="http://remysharp.com/2007/09/16/introduction-to-using-dashcode/">gems</a>, but not as many as I would expect).</p>
<p>So in case anyone out there, who happens upon this post and knows the answer, jump in and let me know what I need to be doing.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/148/dashboard-widgets-drag-and-drop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dashcode Widget AJAX Gotcha</title>
		<link>http://jpsykes.com/147/dashcode-widget-ajax-gotcha</link>
		<comments>http://jpsykes.com/147/dashcode-widget-ajax-gotcha#comments</comments>
		<pubDate>Fri, 25 Apr 2008 15:46:50 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>ajax</category><category>apple</category><category>dashboard</category><category>dashcode</category><category>debug</category><category>debugging</category><category>widget</category>
		<guid isPermaLink="false">http://jpsykes.com/147/dashcode-widget-ajax-gotcha</guid>
		<description><![CDATA[This is a post, that hopefully will help someone who might have the same issue as me, so they don&#8217;t spend 3 hours of their life double guessing their JavaScript, when all they need to do is check a box.
The other evening I was playing around with building a Dashboard widget for I Went Away, [...]]]></description>
			<content:encoded><![CDATA[<p>This is a post, that hopefully will help someone who might have the same issue as me, so they don&#8217;t spend 3 hours of their life double guessing their JavaScript, when all they need to do is check a box.</p>
<p>The other evening I was playing around with building a Dashboard widget for I Went Away, so that people could easily update their away message.</p>
<p>First pass through and first pass using dashcode, I found it all very easy going&#8230;until.</p>
<p>I had some simple AJAX code that pinged the I Went Away site and added a new status.  Super easy, I was using the drga and drop code with some slight tweaks to make it more how I would do it.</p>
<p>Run a test, enter some data and &#8230;.nothing&#8230;</p>
<p>No error, no weird looking response, no failed, just nothing.</p>
<p>After a couple of hours of attempted debugging, tweaking, more debugging, using the OOTB dashcode Ajax, using other Ajax JavaScript, reaching the point of total failure and change of careers.</p>
<p>I find that you have to check a box in the dashcode interface that sets a plist setting that allow the dashboard widget you create to connect to the network.</p>
<p><a href="http://www.flickr.com/photos/sykes/2440428253/" title="Picture 1 by Jon Sykes, on Flickr"><img src="http://farm4.static.flickr.com/3010/2440428253_921ec3d874.jpg" width="500" height="411" alt="Picture 1" /></a></p>
<p>Problem solved.</p>
<p>I&#8217;m really becoming a huge fan of things like dashcode.  I&#8217;m hoping Apple moves even more in the direction of allow &#8220;apps&#8221; to be built for OSX using the dashcode, HTML, JavaScript and OS level code mix.  It really does lower the entry level.</p>
<p>My next step is to play with xcode and ibuilder, and see if I can finish off my I Went Away screen saver.  My total lack of objective C  experience will no doubt frustrate me, but we&#8217;ll see how far I can get hacking tutorials and documentation together into combined code mutants.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/147/dashcode-widget-ajax-gotcha/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What do you Command ?</title>
		<link>http://jpsykes.com/146/what-do-you-command</link>
		<comments>http://jpsykes.com/146/what-do-you-command#comments</comments>
		<pubDate>Fri, 25 Apr 2008 15:11:46 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>fun</category><category>terminal</category>
		<guid isPermaLink="false">http://jpsykes.com/146/what-do-you-command</guid>
		<description><![CDATA[Ben had a great post, with a snippet of terminal wizardry that shows you what commands you run most often and how often.  Aside from the obvious paranoid thought of copy/pasting code that you have no idea what it does into a terminal window and hitting enter, it&#8217;s actually very interesting what it spits [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.blowery.org/blog/2008/04/24/commands/">Ben had a great post</a>, with a snippet of terminal wizardry that shows you what commands you run most often and how often.  Aside from the obvious paranoid thought of copy/pasting code that you have no idea what it does into a terminal window and hitting enter, it&#8217;s actually very interesting what it spits out:</p>
<div class="ch_code_container" style="font-family: monospace;height:100%;">
<ol>
<li class="li1">
<div class="de1">history <span class="nu0">1000</span> | awk <span class="st0">&#8216;{a[$2]++}END{for(i in a){print a[i] &quot; &quot; i}}&#8217;</span> | sort -rn | head</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">84</span> cd</div>
</li>
<li class="li2">
<div class="de2"><span class="nu0">76</span> php</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">63</span> source</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">43</span> startJBoss</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">35</span> updateclient</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">29</span> sudo</div>
</li>
<li class="li2">
<div class="de2"><span class="nu0">28</span> export</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">24</span> ant</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">22</span> svn</div>
</li>
<li class="li1">
<div class="de1"><span class="nu0">20</span> p4</div>
</li>
</ol>
</div>
<p>It&#8217;s interesting to think about the why&#8217;s.</p>
<p>CD is obvious.</p>
<p>PHP is probably from all the <a href="http://manual.cakephp.org/view/113/code-generation-with-bake">cake baking</a> I do.</p>
<p>SVN is <a href="http://mediahive.com">Media-Hive</a>&#8217;s and my personal versioning system of choice.</p>
<p>Source, updateClient, startJBoss, p4, export and ant are all from the builds we run in the work with <a href="http://atg.com">ATG</a>.</p>
<p>What does your&#8217;s look like, and why?</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/146/what-do-you-command/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I Went Away .com</title>
		<link>http://jpsykes.com/145/i-went-away-com</link>
		<comments>http://jpsykes.com/145/i-went-away-com#comments</comments>
		<pubDate>Tue, 15 Apr 2008 13:40:49 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>away message</category><category>cakephp</category><category>pet projects</category><category>procrastination</category>
		<guid isPermaLink="false">http://jpsykes.com/145/i-went-away-com</guid>
		<description><![CDATA[This evening I pushed live a new pet project.  
iwentaway.com
The whole idea stemmed from one morning running out for a quick Starbucks run I wanted to leave a note in case anyone came over to see where I was.  In the end the fastest way I could find to show a big clear [...]]]></description>
			<content:encoded><![CDATA[<p>This evening I pushed live a new pet project.  </p>
<p><a href="http://iwentaway.com">iwentaway.com</a></p>
<p>The whole idea stemmed from one morning running out for a quick Starbucks run I wanted to leave a note in case anyone came over to see where I was.  In the end the fastest way I could find to show a big clear message, was to dive into firebug and add the message to a blank HTML page and set the font to 20em&#8217;s.  With the browser window at the top of the stack, I was left with a big clear text message on my screen for anyone to see.</p>
<p>Now that struck me a very inefficient.  So I picked up a chap domain, gathered up some <a href="http://cakephp.org/">CakePHP</a> goodness and after 20 minutes of initial coding I was able to launch.</p>
<p>The idea is stupidly simple.  You go to an easily remembered web page, type in a message hit enter and then leave in the knowledge that others will know where you are.</p>
<p>It also has the added bonus of a unique yet obscure url, that you can share, for example add it to your &#8220;on vacation&#8221; auto responder.</p>
<p>Of course as with all good plans it has a million holes.  What if your screen saver comes on, what if someone doesn&#8217;t come over to your desk, what if they check your ichat status, etc, etc,  but hey, 20 minutes of work is a great investment even if it&#8217;s used only a dozen times.</p>
<p>If anyone has any great ideas on additions I could make, I&#8217;m totally open to suggestions.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/145/i-went-away-com/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Penguin Graham Greene&#8217;s by Paul Hogarth</title>
		<link>http://jpsykes.com/144/penguin-graham-greenes-by-paul-hogarth</link>
		<comments>http://jpsykes.com/144/penguin-graham-greenes-by-paul-hogarth#comments</comments>
		<pubDate>Tue, 04 Mar 2008 13:32:48 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>Books</category><category>greene</category><category>hogarth</category><category>penguin</category>
		<guid isPermaLink="false">http://jpsykes.com/144/penguin-graham-greenes-by-paul-hogarth</guid>
		<description><![CDATA[I was recently able to pick up a job lot of Vintage Penguin books from Ebay, the fantastic thing was they were a large set of books by Graham Greene.  Graham Greene&#8217;s books were illustrated by Paul Hogarth for a number of years starting in the 1970&#8217;s and 80&#8217;s.  Hogarths obituary in the [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently able to pick up a job lot of Vintage Penguin books from Ebay, the fantastic thing was they were a large set of books by <a href="http://en.wikipedia.org/wiki/Graham_Greene">Graham Greene</a>.  Graham Greene&#8217;s books were illustrated by Paul Hogarth for a number of years starting in the 1970&#8217;s and 80&#8217;s.  Hogarths <a href="http://www.hogarth.org.uk/resource/obits/paul2002.htm">obituary in the independant</a> said&#8230;</p>
<blockquote><p>
They are characteristically simple colour drawings which manage to capture a mood – whether of menace or anxiety or general seediness and invariably set in an exotic location – true to the writer&#8217;s work.
</p></blockquote>
<div style="clear: both; padding-bottom: 10px">
<p><a href="http://www.flickr.com/photos/sykes/2308445017/" title="Stamboul Train by Jon Sykes, on Flickr" style="margin-right: 10px; float:left"><img src="http://farm4.static.flickr.com/3224/2308445017_e102a67e4b_m.jpg" width="160" height="240" alt="Stamboul Train" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309252242/" title="It's a Battle Field by Jon Sykes, on Flickr" style="margin-right: 10px; float:left"><img src="http://farm3.static.flickr.com/2282/2309252242_54d3b2f61d_m.jpg" width="160" height="240" alt="It's a Battle Field" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309259072/" title="The Ministry of Fear by Jon Sykes, on Flickr" style="float:left"><img src="http://farm4.static.flickr.com/3296/2309259072_992f93a78c_m.jpg" width="160" height="240" alt="The Ministry of Fear" /></a></p>
</div>
<p>Hogarth was a prolific commercial artist and draftsman, he painted a huge range of locations and was well known for the volume of production.</p>
<p>I&#8217;m particularly a fan of &#8220;The Power and the Glory&#8221; and &#8220;Travel Without Maps&#8221; for there very simplistic cartoon&#8217;esque feel.</p>
<p>Penguin by Designers (page 109-111) has an interesting section of Panguin, Paul and Graham&#8217;s back and forth as Graham tried to get his books published without illustrations, apparently something that was all the rage and considered stylish.</p>
<div style="clear: both; padding-bottom: 10px">
<p><a href="http://www.flickr.com/photos/sykes/2308423081/" title="Stamboul Train by Jon Sykes, on Flickr" style="margin-bottom: 10px; margin-right: 10px; float:left"><img src="http://farm3.static.flickr.com/2038/2308423081_d422396b15_m.jpg" width="160" height="240" alt="Stamboul Train" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2308425269/" title="Ways of Escape by Jon Sykes, on Flickr" style="margin-bottom: 10px; margin-right: 10px; float:left"><img src="http://farm4.static.flickr.com/3183/2308425269_a1ba4832c8_m.jpg" width="160" height="240" alt="Ways of Escape" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309232656/" title="The Quiet American by Jon Sykes, on Flickr" style="margin-bottom: 10px; float:left"><img src="http://farm3.static.flickr.com/2281/2309232656_e84030077c_m.jpg" width="160" height="240" alt="The Quiet American" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309234308/" title="Travel With My Aunt by Jon Sykes, on Flickr" style="margin-right: 10px; float:left"><img src="http://farm4.static.flickr.com/3072/2309234308_0b63c95495_m.jpg" width="160" height="240" alt="Travel With My Aunt" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309236228/" title="A Gun for Sale by Jon Sykes, on Flickr" style="margin-right: 10px; float:left"><img src="http://farm4.static.flickr.com/3288/2309236228_89df49367c_m.jpg" width="160" height="240" alt="A Gun for Sale" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2308433329/" title="The Third Man, The Fallen Idol by Jon Sykes, on Flickr" style="loat:left"><img src="http://farm3.static.flickr.com/2373/2308433329_9d2ee7a26d_m.jpg" width="160" height="240" alt="The Third Man, The Fallen Idol" /></a></p>
</div>
<p>With 17 of Greene&#8217;s novels in my possession, I only have another 11-12 to go to get a complete set (if you include the travel books, the plays you can double that number) - although that might take even longer considering there are clearly multiple versions of different Hogarth inllustrations of the same book - see the Burnt out Case examples, so much more collecting to go.</p>
<div style="clear: both; padding-bottom: 10px">
<a href="http://www.flickr.com/photos/sykes/2308438539/" title="A Burnt-Out Case by Jon Sykes, on Flickr" style="margin-right: 10px; float:left"><img src="http://farm4.static.flickr.com/3127/2308438539_f8be8a793d_m.jpg" width="160" height="240" alt="A Burnt-Out Case" /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309254182/" title="A Burnt-Out Case by Jon Sykes, on Flickr" style="margin-right: 10px; float:left"><img src="http://farm3.static.flickr.com/2322/2309254182_30ffdf4028_m.jpg" width="160" height="240" alt="A Burnt-Out Case"  /></a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309257142/" title="The Power and the Glory by Jon Sykes, on Flickr" style="; float:left"><img src="http://farm4.static.flickr.com/3177/2309257142_e16bdce337_m.jpg" width="160" height="240" alt="The Power and the Glory"  /></a></p>
</div>
<p>References:</p>
<p><a href="http://archive.thisisyork.co.uk/2004/9/18/238412.html">http://archive.thisisyork.co.uk/2004/9/18/238412.html</a><br />
<a href="http://www.brookgallery.co.uk/search.php?artist=32">http://www.brookgallery.co.uk/search.php?artist=32</a><br />
<a href="http://en.wikipedia.org/wiki/List_of_books_by_Graham_Greene">http://en.wikipedia.org/wiki/List_of_books_by_Graham_Greene<br />
</a></p>
<p><a href="http://www.flickr.com/photos/sykes/2309265556/" title="IMG_4004.CR2 by Jon Sykes, on Flickr"><img src="http://farm4.static.flickr.com/3136/2309265556_33dcee5a05.jpg" width="500" height="333" alt="IMG_4004.CR2" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/144/penguin-graham-greenes-by-paul-hogarth/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flickr on AppleTV</title>
		<link>http://jpsykes.com/143/flickr-on-appletv</link>
		<comments>http://jpsykes.com/143/flickr-on-appletv#comments</comments>
		<pubDate>Mon, 03 Mar 2008 16:23:00 +0000</pubDate>
		<dc:creator>JP</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>
<category>apple</category><category>appleTV</category><category>flickr</category>
		<guid isPermaLink="false">http://jpsykes.com/143/flickr-on-appletv</guid>
		<description><![CDATA[After the recent Apple TV update to 2.0, I tried to use the new flickr feature.  I was totally unable to associate my account with my apple TV, it would keep telling me my account didn&#8217;t work.  I tried my account name, my full name, my email, even various numerical id&#8217;s that seemed [...]]]></description>
			<content:encoded><![CDATA[<p>After the recent Apple TV update to 2.0, I tried to use the new flickr feature.  I was totally unable to associate my account with my apple TV, it would keep telling me my account didn&#8217;t work.  I tried my account name, my full name, my email, even various numerical id&#8217;s that seemed to be associated with my, but it just claimed I didn&#8217;t exist.</p>
<p>Whilst researching my ongoing issue with Apple TV not remembering my Password, I came across a solution:</p>
<p><a href="http://discussions.apple.com/thread.jspa?messageID=6584969&#6584969">http://discussions.apple.com&#8230;.</a></p>
<p>You have to login to the apple privacy settings and &#8220;Uncheck the box that says something about hiding your profile from searches.&#8221; Many thanks to vTwo for posting that solution.</p>
<p>Bingo, everything now works.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpsykes.com/143/flickr-on-appletv/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
