<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:kianryan</id>
  <title>[ki|ry]an Code &amp; Photography</title>
  <subtitle>Kian Ryan</subtitle>
  <author>
    <name>Kian Ryan</name>
  </author>
  <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom"/>
  <updated>2009-07-05T21:05:47Z</updated>
  <lj:journal userid="14266955" username="kianryan" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://kianryan.livejournal.com/data/atom" title="[ki|ry]an Code &amp; Photography"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:35771</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/35771.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=35771"/>
    <title>Northern Geeks Has A Website!</title>
    <published>2009-07-05T21:05:47Z</published>
    <updated>2009-07-05T21:05:47Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;This took me long enough.  It&amp;#8217;s not much of a site yet, but it does have the basic information for the project.&lt;/p&gt;

&lt;p&gt;Spread it around!  Shout it out from the moutaintops!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.northerngeeks.info/"&gt;http://www.northerngeeks.info/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We&amp;#8217;ve even got a Twitter account&amp;#8230;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.com/northerngeeks"&gt;http://twitter.com/northerngeeks&lt;/a&gt;&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=This+took+me+long+enough.++It%26%238217%3Bs+not+much+of+a+site+yet%2C+but+it+does+have+the+basic+information+for+the+project.++Spread+it+around%21++Shout+it+out+from+the+moutaintops%21&amp;amp;tags=" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:35412</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/35412.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=35412"/>
    <title>I Want To Ride My Bicycle</title>
    <published>2009-07-05T20:16:27Z</published>
    <updated>2009-07-05T20:18:02Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;&lt;img src="http://www.kianryan.co.uk/wp-content/uploads/2009/07/pennyfarthing.jpg" alt="Pennyfarthing" /&gt;&lt;/p&gt;

&lt;p&gt;My bike is dead.  I was asked to sign its death warrant yesterday.  It was in pretty poor shape.  It was the best thing I could do for it.&lt;/p&gt;

&lt;p&gt;I admit I&amp;#8217;ve not cycled for over a year.  The bike I had been using was donated to me by Cat&amp;#8217;s dad.  It was rather too large for me, but it was a touring frame and rode well.  Unfortunately I don&amp;#8217;t agree with non-indexed shifters located on the bike frame, and this &lt;em&gt;cough&lt;/em&gt; may have &lt;em&gt;cough&lt;/em&gt; caused a few &lt;em&gt;cough&lt;/em&gt; slips.  Nothing epic, just a few occasions where I may have been forced to &lt;em&gt;cough&lt;/em&gt; stop, due to a lack of chain on gear.&lt;/p&gt;

&lt;p&gt;Oddly though, I&amp;#8217;ve not suffered a serious crash on it, which I can&amp;#8217;t say for my beloved pearlescent-yellow Muddy Fox MTB, on which I was hit by an ASDA lorry, side-swiped by a car on an estate, knocked flying by a pair of yobs in a white Fiesta into a bramble bush and finally, hit an unseen grate and slid for 25m on my face.  That particular bike was nicked from my parent&amp;#8217;s back yard when I came back from university and I was absolutely devastated.&lt;/p&gt;

&lt;p&gt;Now I&amp;#8217;m needing a new bike.  I&amp;#8217;m looking for a second hand road/race bike, 50-54cm frame size, drop bars and shifters &lt;em&gt;on the bar&lt;/em&gt;.  The last point is rather important (see above).  I&amp;#8217;ve missed two bikes in the past week that fitted the bill on Ebay.  I&amp;#8217;ve got a budget of around £150, if you know anyone selling, or if you&amp;#8217;re selling yourself, &lt;a href="mailto:kian@kianryan.co.uk"&gt;drop me an e-mail&lt;/a&gt;.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=++My+bike+is+dead.++I+was+asked+to+sign+its+death+warrant+yesterday.++It+was+in+pretty+poor+shape.++It+was+the+best+thing+I+could+do+for+it.++I+admit+I%26%238217%3Bve+not+cycled+for+over+a+year.&amp;amp;tags=" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:35160</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/35160.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=35160"/>
    <title>Tweetup Manchester</title>
    <published>2009-06-24T22:39:12Z</published>
    <updated>2009-06-24T22:39:12Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;Well that was a fun evening.&lt;/p&gt;

&lt;p&gt;Just a quick note to say we&amp;#8217;re back from the Tweetup hosted by &lt;a href="http://www.sweetmandarin.com/"&gt;Sweet Mandarin&lt;/a&gt;. An absolute damn fine way to spend an evening: good food, good weather and good company.  Lisa and co provided dim sum, a half dozen of us decided to stay for a full meal.&lt;/p&gt;

&lt;p&gt;This is a brilliant example of how to use social media to promote your business and get it right.  A few messages in the right place, and a genuine interest in people.  No high and mighty pretentions, but simple ideas promoted well.  I applaud you girls.&lt;/p&gt;

&lt;p&gt;One trick they have missed&amp;#8230; Sweet Mandarin does a £10 all you can eat Dim Sum at the weekends.  I think they should be pushing this more, If the rest of their menu is anything to go by, this is superb value for money.  If you&amp;#8217;re in Manchester this weekend, drop by and give them a try, you won&amp;#8217;t regret it.&lt;/p&gt;

&lt;div align="left"&gt;&lt;br /&gt;
&lt;a href="http://www.kianryan.co.uk/wp-content/uploads/2009/06/wpid-11.jpg"&gt;
   &lt;img src="http://www.kianryan.co.uk/wp-content/uploads/2009/06/wpid-thumb-11.jpg" alt="thumbnail" /&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=Well+that+was+a+fun+evening.++Just+a+quick+note+to+say+we%26%238217%3Bre+back+from+the+Tweetup+hosted+by+Sweet+Mandarin.&amp;amp;tags=" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:34873</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/34873.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=34873"/>
    <title>Kian&amp;#8217;s Rules For Freelancing</title>
    <published>2009-06-23T22:58:52Z</published>
    <updated>2009-06-23T23:01:44Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;I occasionally make insightful, if somewhat obvious posts to the &lt;a href="http://geekup.org/"&gt;GeekUp&lt;/a&gt; community.  One of my most linked to and pointed posts was in response to a common thread: &lt;a href="http://groups.google.com/group/geekup/browse_thread/thread/ad52151e7b43bbe5"&gt;&amp;#8220;how to set up a freelancing business&amp;#8221;&lt;/a&gt;.  I formed &amp;#8220;Kian&amp;#8217;s Rules For Freelancing&amp;#8221;, and present them here for your consideration.  The old footnotes are recorded with numbers, the new footnotes are recorded with roman numerals.&lt;/p&gt;

&lt;h1&gt;Kian&amp;#8217;s Rules of Freelancing&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Try and hit the ground running. &lt;/li&gt;
&lt;li&gt;The customer is not always right.  They are, in many cases wrong. 

&lt;ul&gt;
&lt;li&gt;The customer is rarely right.  Often they&amp;#8217;re very wrong. &lt;/li&gt;
&lt;li&gt;The customer is never right.  They are always wrong.&lt;sup&gt;[i]&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;There are approximately 9 usable business hours in a day.  Any more, and you&amp;#8217;ll kill yourself. 

&lt;ul&gt;
&lt;li&gt;Those are 9 business hours.  Not necessarily 9 hours coding.  Some days, you will do bugger all coding. &lt;/li&gt;
&lt;li&gt;That is an average.  There may be the occasional &amp;#8220;oh shit&amp;#8221; race condition which means that there becomes 26 business hours in a day. Remember to balance it out.&lt;sup&gt;[ii]&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;If you&amp;#8217;re working less than nine hours a day, make sure the money is still coming into the pot. &lt;/li&gt;
&lt;li&gt;As Paul Robinson has observed, GeekUp, open-source projects and community are often &amp;#8220;business&amp;#8221;.  Remember to factor that in. &lt;sup&gt;[iii]&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Try not to bite off more than you can chew. &lt;sup&gt;[iv]&lt;/sup&gt;

&lt;ul&gt;
&lt;li&gt;You are a developer, not a designer.  If you need designs, hire a designer. &lt;/li&gt;
&lt;li&gt;You are a developer, not a network engineer.  If you need network support, hire a monkey. &lt;/li&gt;
&lt;li&gt;You are a developer, not a 24-hour on-call support service&lt;sup&gt;[1]&lt;/sup&gt;.  If you need a 24-hour on-call support service, hire a minion. &lt;/li&gt;
&lt;li&gt;You are a developer, not a one-man army of God.  You are not going to single-handedly end poverty, restore world peace and produce cool music&lt;sup&gt;[2]&lt;/sup&gt;.As such, if the project looks like it needs an army, consider hiring an army.&lt;sup&gt;[v]&lt;/sup&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Footnotes&lt;/h3&gt;

&lt;p&gt;[1] Unless you&amp;#8217;re stupid enough to sign up for that.&lt;/p&gt;

&lt;p&gt;[2] Unless you&amp;#8217;re Bono.[3]&lt;/p&gt;

&lt;p&gt;[3] Or me.&lt;/p&gt;

&lt;h3&gt;New Footnotes and Annotations&lt;/h3&gt;

&lt;p&gt;[i] Usually this boils down to &amp;#8220;the customer does not know &lt;em&gt;what&lt;/em&gt; they want&amp;#8221;.  The sign of a good freelancer is the ability to beat the client&amp;#8217;s real requirements out of them.  A stick is a tax-deductible tool.[vi]&lt;/p&gt;

&lt;p&gt;[ii] See the past three weeks of my life for a good example of this.&lt;/p&gt;

&lt;p&gt;[iii] When you attend these events as a regular &amp;#8220;Joe Blogs&amp;#8221;, an employee for something-corp, you treat these events as learning experiences, possibly networking, but generally for fun.  When attending these events as a freelancer, yes you&amp;#8217;re doing all of the above, but you&amp;#8217;re keeping an ear/eye open for new opportunities.  That takes energy.  Factor it in.&lt;/p&gt;

&lt;p&gt;[iv] Refer to One Another As I Have Referred You (refer work to others, and hopefully they will refer back to you)&lt;/p&gt;

&lt;p&gt;[v] Projects have costs.  A business has to spend money.  Spend money to make money. Learn. This. Lesson.&lt;/p&gt;

&lt;p&gt;[vi] This is not a slight on businesses.  Requirements capture is by its very nature &lt;strong&gt;hard&lt;/strong&gt;.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=I+occasionally+make+insightful%2C+if+somewhat+obvious+posts+to+the+GeekUp+community.++One+of+my+most+linked+to+and+pointed+posts+was+in+response+to+a+common+thread%3A+%26%238220%3Bhow+to+set+up+a+freelancing...&amp;amp;tags=developer+not%2C+you+need%2C+business%2C+you%26%238217%3Bre%2C+hours" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:34631</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/34631.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=34631"/>
    <title>Conferences, Geek Events, etc.</title>
    <published>2009-06-11T10:26:12Z</published>
    <updated>2009-06-11T10:36:58Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;I admit that I have been somewhat absent from community offerings for the past few months.  The projects that I am currently working on have been a little hectic, with some appropriate last minute deadlines changes.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;But&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m hoping that July is going to be a free month.  Completely free to do with as I please.  As such, I am planning on taking it easy, pimping for some new work to start in August and catch up with those community events I managed to miss since Christmas.&lt;/p&gt;

&lt;p&gt;So the question to you lot is - where would you like to see me over the next month.  I can turn up and talk on a topic, or just turn up and be generally awesome.  Tell me where you would like to see me over July, and I&amp;#8217;ll try and book it in.&lt;/p&gt;

&lt;p&gt;Oh and whilst were here, please take a look at &lt;a href="http://www.thehodge.co.uk/random-musings/rants/richard-quick-design-bamboo-juice-fiasco.php"&gt;this post by The Hodge&lt;/a&gt;.  He could do with your support.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=I+admit+that+I+have+been+somewhat+absent+from+community+offerings+for+the+past+few+months.++The+projects+that+I+am+currently+working+on+have+been+a+little+hectic%2C+with+some+appropriate+last+minute...&amp;amp;tags=" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:34507</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/34507.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=34507"/>
    <title>Northern Geeks</title>
    <published>2009-06-11T10:01:10Z</published>
    <updated>2009-06-11T10:14:24Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;&lt;img src="http://www.kianryan.co.uk/wp-content/uploads/2009/06/photo-13-300x225.jpg" alt="photo-13" title="photo-13" width="300" height="225" class="alignleft size-medium wp-image-235" /&gt;&lt;/p&gt;

&lt;p&gt;Now my new larger easel has finally arrived, I can announce one of my new projects.  &amp;#8220;Northern Geeks&amp;#8221; will be a series of portraits of geeks in the north, showing them in their natural habitat and &amp;#8220;at play&amp;#8221;.  I want to show geeks are people too.&lt;/p&gt;

&lt;p&gt;The final images will be put into an exhibition, put online and be made available as a book.&lt;/p&gt;

&lt;p&gt;So I need volunteers.  If you would like to be part of this project, please send an e-mail to &lt;a href="mailto:kian@kianryan.co.uk"&gt;&amp;#x6b;&amp;#105;&amp;#97;&amp;#x6e;&amp;#64;&amp;#107;&amp;#x69;&amp;#x61;&amp;#110;r&amp;#x79;&amp;#97;&amp;#110;&amp;#x2e;&amp;#x63;&amp;#111;.&amp;#x75;&amp;#107;&lt;/a&gt; with the subject &amp;#8220;Northern Geeks&amp;#8221; or comment on this post.  Please enclose a small &amp;#8220;geek bio&amp;#8221;, and what you do for kicks (this can be something tech related or completely different).  Sport, gaming, gardening, gerbil farming, anything.  I&amp;#8217;m looking to shoot and print in July with an aim to exhibition in August/September.  If your natural habitat is a company office, please ensure you can gain permission to be photographed there before applying.  All volunteers will be given a copy of the book as thanks.&lt;/p&gt;

&lt;p&gt;Go on - be a part of something special.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=++Now+my+new+larger+easel+has+finally+arrived%2C+I+can+announce+one+of+my+new+projects.++%26%238220%3BNorthern+Geeks%26%238221%3B+will+be+a+series+of+portraits+of+geeks+in+the+north%2C+showing+them+in+their+natural...&amp;amp;tags=" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:34281</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/34281.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=34281"/>
    <title>Geek Girl Dinner - Manchester</title>
    <published>2009-06-05T08:05:24Z</published>
    <updated>2009-06-05T08:35:20Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;Last night Cat took me to the &lt;a href="http://www.manchestergirlgeekdinners.co.uk/"&gt;Geek Girl Dinner in Manchester&lt;/a&gt;.  What&amp;#8217;s a Geek Girl Dinner?  Well most tech events have a heavy male ratio and bias.  Geek Girl Dinners (GGDs) aim to change that balance by only allowing boys to attend that are invited by the girls as dates.  In a non-poly recognising environment, each girl is allowed to invite one boy.&lt;/p&gt;

&lt;p&gt;Discussion was varied last night, ranging from female attitudes in the workplace, to what women bring to the workplace, why on earth does it all matter anyway to problems with the education system and nurturing the geek spirit.  The evening was kicked off with a talk by Lesley Allger from BAE Systems.  Although I thought the conversation was positive, &lt;a href="http://twitter.com/runpaintrunrun/status/2035168972"&gt;not everyone agrees&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Food was excellent from the &amp;#8220;Old Abbey Inn&amp;#8221;, paid for in part by BAE.  We were all sent home with &amp;#8220;breakfast bags&amp;#8221; of tea and marmalade, currently being consumed while I&amp;#8217;m writing this post.&lt;/p&gt;

&lt;p&gt;Many thanks to &lt;a href="http://twitter.com/ruby_gem"&gt;Gemma Cameron&lt;/a&gt; for organising the evening.&lt;/p&gt;

&lt;p&gt;&lt;img class="size-medium wp-image-228" title="GGD-1" src="http://www.kianryan.co.uk/wp-content/uploads/2009/06/2009-06-04-200829-225x300.jpg" alt="GGD-1" width="225" height="300" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.kianryan.co.uk/wp-content/uploads/2009/06/2009-06-04-200912-300x225.jpg" alt="GGD-2" title="GGD-2" width="300" height="225" class="size-medium wp-image-229" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Apologies for the quality of the photos, &lt;a href="http://www.catashton.co.uk/"&gt;Cat&lt;/a&gt; will be posting better ones later.)&lt;/em&gt;&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=Last+night+Cat+took+me+to+the+Geek+Girl+Dinner+in+Manchester.++What%26%238217%3Bs+a+Geek+Girl+Dinner%3F++Well+most+tech+events+have+a+heavy+male+ratio+and+bias.&amp;amp;tags=" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:34046</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/34046.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=34046"/>
    <title>UK Votes</title>
    <published>2009-06-03T10:23:24Z</published>
    <updated>2009-06-03T10:24:17Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;&lt;a href="http://korenwolf.livejournal.com/678491.html"&gt;Reposted with permission&lt;/a&gt;.  I believe in this strongly:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If you do one thing tomorrow make sure it&amp;#8217;s that you go to vote. I don&amp;#8217;t care who you vote for, that&amp;#8217;s your choice, I don&amp;#8217;t care if you take the ballot paper home to use as loo paper. What I do care is that people turn out, that they register that they&amp;#8217;ve turned up to vote and that if they don&amp;#8217;t vote for a candidate it&amp;#8217;s an active choice rather than&lt;/p&gt;
  
  &lt;p&gt;&amp;#8220;Don&amp;#8217;t trust any of them, can&amp;#8217;t be bothered going to the polling station&amp;#8221;&lt;/p&gt;
  
  &lt;p&gt;Make it an active choice, show these weasels that you&amp;#8217;re not disconnected, that you do care, and if you&amp;#8217;re anything like me it&amp;#8217;s that you don&amp;#8217;t care for any of the current bunch of self-serving w*kers.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=Reposted+with+permission.++I+believe+in+this+strongly%3A+++++If+you+do+one+thing+tomorrow+make+sure+it%26%238217%3Bs+that+you+go+to+vote.&amp;amp;tags=don%26%238217%3Bt" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:33713</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/33713.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=33713"/>
    <title>Because Good (Free) Fonts Are So Hard To Find</title>
    <published>2009-05-29T12:46:09Z</published>
    <updated>2009-05-29T12:52:31Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;Those who have to dip their toes into the life of a designer once every so often understand the importance of typography.  One of the hard parts of typography is finding the right typeface that isn&amp;#8217;t going to break your piggy bank (or your client&amp;#8217;s piggy bank).&lt;/p&gt;

&lt;p&gt;This morning &lt;a href="http://troo.livejournal.com/197490.html"&gt;Tamara&lt;/a&gt; pointed me to &lt;a href="http://www.fontsquirrel.com"&gt;Font Squirrel&lt;/a&gt; .  To quote from &lt;a href="http://www.fontsquirrel.com"&gt;Font Squirrel&lt;/a&gt;&amp;#8217;s website:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&amp;#8221; We know how hard it is to find quality freeware that is licensed for commercial work.  We&amp;#8217;ve done the hard work, hand-selecting these typefaces and presenting them in an easy-to-use format.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It&amp;#8217;s a simple directory of excellent, high quality, &lt;strong&gt;free&lt;/strong&gt; fonts.  Well done guys and keep up the good work.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=Those+who+have+to+dip+their+toes+into+the+life+of+a+designer+once+every+so+often+understand+the+importance+of+typography.&amp;amp;tags=" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:33498</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/33498.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=33498"/>
    <title>ASP.NET - Forms Inside Forms.</title>
    <published>2009-05-18T11:51:26Z</published>
    <updated>2009-05-18T11:51:26Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;&amp;#8220;It is a truth universally acknowledged, that an ASP.NET page in possession of a component, must be in want of a form.&amp;#8221;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve just come across this sticky little scenario in one of my projects:&lt;/p&gt;

&lt;p&gt;ASP.NET components need to be wrapped in a form tag for their post-back magic to happen.  As such, the form tag is usually as high level as it can possibly go (usually just inside the body tag).  Some mailing list (sorry - mail marketing) companies provide you with a HTML form to integrate into your site so users can subscribe to the site&amp;#8217;s mailing list.  Sometimes these forms also come with a little chunk of Javascript to perform some page validation before performing the post.&lt;/p&gt;

&lt;p&gt;So what we&amp;#8217;ve got looks like this:&lt;/p&gt;

&lt;p&gt;&lt;pre name="code" class="xhtml"&gt;

&amp;lt;script src=&amp;quot;somethirdpartyvalidator.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;form id=&amp;quot;Form1&amp;quot; method=&amp;quot;post&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;form id=&amp;quot;MailingForm&amp;quot; method=&amp;quot;post&amp;quot; action=&amp;quot;somethingremote.pl&amp;quot; onSubmit=&amp;quot;validate(this);&amp;quot;&amp;gt;
        &amp;lt;!-- Insert some form components here --&amp;gt;
        &amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Submit&amp;quot; /&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/form&amp;gt;

&amp;lt;p&amp;gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;And here&amp;#8217;s the fun.  When you click the submit button, it doesn&amp;#8217;t perform the expected behaviour and perform a post to somethingremote.pl.  Instead it performs a regular post-back to your site and (most likely) will do diddly squat.  The culprit is __doPostBack, injected by ASP.NET at runtime, which hijacks the onSubmit event of the parent form to provide the post-back functionality.  Your poor little mailing form doesn&amp;#8217;t even get a look in.&lt;/p&gt;

&lt;p&gt;The answer is to provide a little roll your own javascript for your own submit functionality.  &lt;a href="http://www.nerdymusings.com/LPMArticle.asp?ID=27"&gt;This article&lt;/a&gt; demonstrates a version of this technique.  My version of the is shown below:&lt;/p&gt;

&lt;p&gt;&lt;pre name="code" class="xhtml"&gt;

&amp;lt;script language=&amp;quot;javascript&amp;quot; src=&amp;quot;somethirdpartyvalidator.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;
    function submitForm() {
        var theForm = document.getElementById(&amp;#039;signupForm&amp;#039;);
        if (validateForm(theForm) != false) {
            theForm.encoding = &amp;#039;application/x-www-form-urlencoded&amp;#039;;
            theForm.action = &amp;#039;somethingremote.pl&amp;#039;;
            theForm.submit();
        }
    }
 &amp;lt;/script&amp;gt;

&amp;lt;form id=&amp;quot;Form1&amp;quot; method=&amp;quot;post&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
    &amp;lt;form id=&amp;quot;MailingForm&amp;quot;&amp;gt;
        &amp;lt;!-- Insert some form components here --&amp;gt;
        &amp;lt;a href=&amp;quot;javascript: submitForm();&amp;quot;&amp;gt;Submit;&amp;lt;/a&amp;gt;
    &amp;lt;/form&amp;gt;
&amp;lt;/form&amp;gt;

&amp;lt;p&amp;gt;
&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;The variation from &lt;a href="http://www.nerdymusings.com/LPMArticle.asp?ID=27"&gt;James Byrd&amp;#8217;s original article&lt;/a&gt; comes from which form we submit.  In the original, James posts the global form (in our example Form1) and instructs the reader to simply blank out any values they may not want to communicate to the third party.  This seems overly permissive to me, especially in a potentially dynamic environment where you may have hundreds of components and as such my version simply selects the target form from the page before passing it through the validator and performing the submit action.  The postback event is avoided, the third party only gets the data they need and the world is a happier place.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=%26%238220%3BIt+is+a+truth+universally+acknowledged%2C+that+an+ASP.NET+page+in+possession+of+a+component%2C+must+be+in+want+of+a+form.%26%238221%3B++I%26%238217%3Bve+just+come+across+this+sticky+little+scenario+in+one+of...&amp;amp;tags=submit%2C+script%2C+theform%2C+javascript" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:33081</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/33081.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=33081"/>
    <title>A Simple Generic Repository for Linq to SQL</title>
    <published>2009-05-07T17:02:57Z</published>
    <updated>2009-05-07T17:02:57Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;Two code posts in one day, aren&amp;#8217;t you lot lucky?&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m currently working on a small project working with Microsoft ASP.NET MVC.  I admit I&amp;#8217;m rather enjoying the experience, it&amp;#8217;s nice to get back to proper bare metal GETs and POSTs with non of the fluff of normal ASP.NET getting in the way.  Since this is a relatively simple project I&amp;#8217;m using Linq to SQL rather than the Entity framework.  Whilst putting some boilerplate code together (after following the excellent &lt;a href="http://nerddinnerbook.s3.amazonaws.com/Intro.htm"&gt;NerdDinner&lt;/a&gt; tutorial) I realised there was a lack of a simple generic repository for common object operations.  So I present to you my basic, generic repository:&lt;/p&gt;

&lt;p&gt;&lt;pre name="code" class="csharp"&gt;

using System.Data.Linq.Mapping;
using System.Linq;
using System.Linq.Expressions;
using BrandingScience.Models;
using System;&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;public abstract class Repository&amp;lt;T, C&amp;gt; where T : class where C : System.Data.Linq.DataContext, new()
{
    private C db = new C();&amp;lt;/p&amp;gt;

&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;// Query Methods
public IQueryable&amp;amp;lt;T&amp;amp;gt; FindAll()
{
    return db.GetTable&amp;amp;lt;T&amp;amp;gt;();
}


public T Get(int id)
{
    MetaTable mapping = db.Mapping.GetTable(typeof(T));
    MetaDataMember pkfield = mapping.RowType.DataMembers.SingleOrDefault(d =&amp;amp;gt; d.IsPrimaryKey);

    ParameterExpression param = Expression.Parameter(typeof(T), &amp;quot;e&amp;quot;);
    var p = Expression.Lambda&amp;amp;lt;Func&amp;amp;lt;T, bool&amp;amp;gt;&amp;amp;gt;(
          Expression.Equal(Expression.Property(param, pkfield.Name),
          Expression.Constant(id)),
          new ParameterExpression[] { param });

    return db.GetTable&amp;amp;lt;T&amp;amp;gt;().SingleOrDefault(p);

}

// Insert/Delete
public void Add(T t)
{
    db.GetTable&amp;amp;lt;T&amp;amp;gt;().InsertOnSubmit(t);
}

public void Delete(T t)
{
    db.GetTable&amp;amp;lt;T&amp;amp;gt;().DeleteOnSubmit(t);
}

// Persistence
public void Save()
{
    db.SubmitChanges();
}
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

&amp;lt;p&amp;gt;}

&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;T is the table class you want to create the repository for, C is the DataContext created by Linq to SQL.  Pretty straightforward.  A typical implementation looks like this:&lt;/p&gt;

&lt;p&gt;&lt;pre name="code" class="csharp"&gt;

public class JobRepository : Repository&amp;lt;Job, MyDataContext&amp;gt;
{
}&amp;lt;/p&amp;gt;

&amp;lt;p&amp;gt;public static void Main(string[] args)
{
    JobRepository jobRepository = new JobRepository();
    List&amp;lt;Job&amp;gt; allJobs = jobRepository.FindAll();&amp;lt;/p&amp;gt;

&amp;lt;pre&amp;gt;&amp;lt;code&amp;gt;// Return a single item and change the title.
Job job = jobRepository.Get(1);
job.Title = &amp;quot;Mutated Gerkhin Production&amp;quot;;

// Create a new item.
Job newJob = new Job();
newJob.Title = &amp;quot;Mutated Gerkhin Anti-Coagulant Production&amp;quot;;
jobRepository.Add(newJob);

// Delete an old item.
Job removeJob = jobRepository.Get(2);
Console.WriteLine(removeJob.Title); // Output: Survival of human race.
jobRepository.Delete(removeJob);

// Save all changes to the repository.
jobRepository.Save();
&amp;lt;/code&amp;gt;&amp;lt;/pre&amp;gt;

&amp;lt;p&amp;gt;}

&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;This version currently does not support dependancy injection, which is something I&amp;#8217;ll be looking into shortly.  But for now, it saves a heck of a lot of time to just get the simple stuff done.  I&amp;#8217;m surprised MS didn&amp;#8217;t actually ship Linq to SQL with something similar.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=Two+code+posts+in+one+day%2C+aren%26%238217%3Bt+you+lot+lucky%3F++I%26%238217%3Bm+currently+working+on+a+small+project+working+with+Microsoft+ASP.NET+MVC.&amp;amp;tags=jobrepository%2C+public%2C+using%2C+repository%2C+expression" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:32827</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/32827.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=32827"/>
    <title>Javascript Intellisense &amp;#038; jQuery.noConflict();</title>
    <published>2009-05-07T16:38:54Z</published>
    <updated>2009-05-07T16:38:54Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;I&amp;#8217;ll make no bones about it, VS08 SP1&amp;#8217;s Javascript Intellisense saves me from having to dive into the docs every five seconds.  Not having that fingertip intelligence to my hand would probably cost me quite a bit of time each day.  However, since I often end up using multiple frameworks in one project, I tend to use the jQuery.noConflict(); to avoid it conflicting with the other frameworks.  Unfortunately, the moment you stick var $j = jQuery.noConflict(); into the top of your javascript file, your intellisense will break for the rest of your script.  I&amp;#8217;ve currently got two methods for handling this:&lt;/p&gt;

&lt;h1&gt;1 - Create a &amp;#8220;preload&amp;#8221; file&lt;/h1&gt;

&lt;p&gt;This is a small script that sits in between loading jQuery and loading your page scripts.  All it contains is the following statement:&lt;/p&gt;

&lt;p&gt;&lt;pre name="code" class="javascript"&gt;

    var $j = jQuery.noConflict();

&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Save it as preload.js and you can then sandwich this in between loading the jQuery framework and loading the page scripts as so:&lt;/p&gt;

&lt;p&gt;&lt;pre name="code" class="xhtml"&gt;

&amp;lt;head&amp;gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;scripts/jquery-1.3.2.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;scripts/preload.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
    &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;scripts/whatever-you-want.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; 
&amp;lt;/head&amp;gt;

&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;In your actual work scripts, you can then reference jQuery and the preload using the standard VS reference notation:&lt;/p&gt;

&lt;p&gt;&lt;pre name="code" class="javascript"&gt;

/// &amp;lt;reference path=&amp;quot;jquery-1.3.2.js&amp;quot; /&amp;gt;
/// &amp;lt;reference path=&amp;quot;preload.js&amp;quot; /&amp;gt;

&lt;/pre&gt;&lt;/p&gt;

&lt;p&gt;Visual studio will have sorted out it&amp;#8217;s type resolution for $j meaning that so long as you also have the jQuery .vsdoc file in the same folder as jQuery you get this glorious view:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.kianryan.co.uk/wp-content/uploads/2009/05/noconflict.jpg" alt="Noconflict" /&gt;&lt;/p&gt;

&lt;p&gt;The pros of this technique are that you can drop in new versions of jQuery at a whim and not have to worry too much about having to update preload.js.  Of course the downside is that preload.js then needs to be sent to the client, with all the associated overhead of a get request.&lt;/p&gt;

&lt;h1&gt;2 - Append noConflict onto jQuery&lt;/h1&gt;

&lt;p&gt;There are those that will believe that the jQuery file is sanctimonious and should never be tainted by a developer&amp;#8217;s touch.  As it is I&amp;#8217;m already using ASP.NET and cursed for all eternity, so how much worse could it be?  So path two is pretty straightforward, open up the jQuery and jQuery.vsdoc files and add var $j = jQuery.noConflict(); to the bottom of the file.  Again, this will sort out all the resolution gubbins while you&amp;#8217;re working away in your own scripts.&lt;/p&gt;

&lt;p&gt;Just remember that if/when you update your original jQuery files to also replace the noConflict statement at the bottom.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=I%26%238217%3Bll+make+no+bones+about+it%2C+VS08+SP1%26%238217%3Bs+Javascript+Intellisense+saves+me+from+having+to+dive+into+the+docs+every+five+seconds.&amp;amp;tags=jquery+noconflict%2C+javascript+src%2C+type+text%2C+jquery%2C+script%2C+scripts%2C+preload%2C+noconflict" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:32570</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/32570.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=32570"/>
    <title>At This Space Exhibition</title>
    <published>2009-04-26T20:41:24Z</published>
    <updated>2009-04-28T07:35:24Z</updated>
    <content type="html">This post appears on kian ryan - code, photography, bob available &lt;a href="http://www.kianryan.co.uk"&gt;here&lt;/a&gt;.  If you want to leave a comment, please do so on &lt;a href="[comments_link"&gt;this page&lt;/a&gt;.&lt;p&gt;The &lt;a href="http://www.atthisspace.co.uk"&gt;&amp;#8220;At This Space&amp;#8221;&lt;/a&gt; exhibition is opening on the 26th April, at 5pm.  I&amp;#8217;m invited to the private viewing and you&amp;#8217;re not, so neerrrr.  If you want to try and bribe your way in (there&amp;#8217;ll be free drinks, and people, and cheese[1]), then drop &lt;a href="mailto:cat@catashton.co.uk"&gt;Cat Ashton&lt;/a&gt; a line and she&amp;#8217;ll try and weasel you in.  &lt;a href="http://www.catashton.co.uk"&gt;Cat&amp;#8217;s work&lt;/a&gt; is being exhibited there as part of the exhibition.&lt;/p&gt;

&lt;p&gt;Otherwise please, please, &lt;strong&gt;please&lt;/strong&gt; drop by Tuesday to Saturday, 10am til 6pm.  These are young, upcoming, budding artists who need all the support they can get.  Hell, one of them may even be the next Henri Cartier-Bresson or Richard Avedon.  The exhibition is being held at the rather fancy-pants Urban Splash location in Castlefield:&lt;/p&gt;

&lt;p&gt;Urban Splash (Mooch)&lt;br /&gt;
Worsley Street&lt;br /&gt;
M15 4LD&lt;/p&gt;

&lt;p&gt;I was there today helping put up some of the work, and occupying space at other times.  The exhibition looks great, the space is superb and there&amp;#8217;s some excellent work on the walls.  All very much worth your time.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://farm4.static.flickr.com/3411/3473431988_4b06b79c75.jpg?v=0" alt="At This Space Poster" /&gt;&lt;/p&gt;

&lt;p&gt;[1] I may be lying about the cheese.&lt;/p&gt;
&lt;br /&gt;&lt;a href="http://www.socialmarker.com/?link=&amp;amp;title=&amp;amp;text=The+%26%238220%3BAt+This+Space%26%238221%3B+exhibition+is+opening+on+the+26th+April%2C+at+5pm.++I%26%238217%3Bm+invited+to+the+private+viewing+and+you%26%238217%3Bre+not%2C+so+neerrrr.&amp;amp;tags=the+exhibition" target="_blank"&gt;&lt;img src="http://www.socialmarker.com/bookmark.gif" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.socialmarker.com"&gt;Social Bookmarking&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:22481</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/22481.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=22481"/>
    <title>Best let you lot know...</title>
    <published>2008-11-18T19:15:08Z</published>
    <updated>2008-11-18T19:15:08Z</updated>
    <content type="html">Although I'll be keeping this account open, I'll only be using it for commenting on other people's entries.  As of now, I'm migrating my serious blog over to my domain:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kianryan.co.uk/"&gt;www.kianryan.co.uk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All the content that would usually appear here, will now appear there, and probably in a more organised form to boot (Wordpress has somewhat more granular control over its content than Livejournal does).&lt;br /&gt;&lt;br /&gt;This is course does not mean I'll be neglecting either my friends list, or my communities.  And I will still use my other account for my day to day ramblings.  Those who need to know where that one lives.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:22083</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/22083.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=22083"/>
    <title>On the plus side...</title>
    <published>2008-10-29T11:47:13Z</published>
    <updated>2008-10-29T11:47:13Z</updated>
    <content type="html">SNOW!!!!!!!!!!!!!!!!!!&lt;br /&gt;&lt;br /&gt;(anyone who knows me will understand quite how important that is)</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:21835</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/21835.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=21835"/>
    <title>Erm, WTF?</title>
    <published>2008-10-29T11:46:28Z</published>
    <updated>2008-10-29T11:46:28Z</updated>
    <content type="html">I suspected something's been up with me for a few days.&lt;br /&gt;&lt;br /&gt;I thought I had *had* the fresher's flu/lurgy/whatever bug and got away with a mild incarnation of it.&lt;br /&gt;&lt;br /&gt;I'm exhaused, dazed and sat at Manchester Piccadilly.  I grabbed a cup of tea at Starbucks, read a very pages of Private Eye and have now realised that I am seriously unwell.  I feel like I'm going to vomit.&lt;br /&gt;&lt;br /&gt;It's ironic I think that the only chance I've had to realise this is the first time I've slowed down in two weeks.  Annoyingly, I've still got to go to Brighton, and I've still got to work.  If I had realised this sooner I could have done something about it.&lt;br /&gt;&lt;br /&gt;(Ed) Balls.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:21718</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/21718.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=21718"/>
    <title>Manchester Cadet International - the Calm Before The Storm</title>
    <published>2008-10-07T20:18:42Z</published>
    <updated>2008-10-07T20:18:42Z</updated>
    <content type="html">&lt;center&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/kianryan/2891066657/" title="This photo on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3026/2891066657_809ce526c9.jpg" style="background: white; padding: 9px; border: 15px solid black; " alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="flickr-yourcomment" style="font-style:italic;"&gt;        The crew hard at work putting the final touches the the pistes ready for the event.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.kianryan.co.uk/"&gt;http://www.kianryan.co.uk/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The calm before the storm, the minions put the final touches to the pistes before the Manchester Cadet International Fencing Tournament starts.  In under an hour's time, around four hundred fencers descend on the venue.&lt;/p&gt;&amp;lt;/div&amp;gt;&lt;/center&gt;&lt;p&gt;More in the series availible by clickling on the image.&lt;br /&gt;Constructive comments and blatant praise all welcome :-)&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:21312</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/21312.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=21312"/>
    <title>Manchester Wanderings</title>
    <published>2008-09-21T16:03:45Z</published>
    <updated>2008-09-21T16:03:45Z</updated>
    <content type="html">&lt;center&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/kianryan/2875932368/" title="This photo on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3291/2875932368_61f99e2e3d.jpg" style="background: white; padding: 9px; border: 15px solid black; " alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="flickr-yourcomment" style="font-style:italic;"&gt;        Wanderings around Manchester, near St. Peter's square.  These were taken just after I purchased the Modo monopod, and we're a test run of my &amp;quot;travel kit&amp;quot;.&lt;br /&gt;&lt;br /&gt;Minolta XD-7&lt;br /&gt;Vivitar Series 1 f2.5 - 3.5 28-105mm&lt;br /&gt;Tri-X, T-Max Developer 6mins @ 20oC&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.kianryan.co.uk/"&gt;http://www.kianryan.co.uk/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&amp;lt;/div&amp;gt;&lt;/center&gt;&lt;p&gt;More in the series availible by clickling on the image.&lt;br /&gt;Constructive comments and blatant praise all welcome :-)&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:21126</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/21126.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=21126"/>
    <title>KITTEH ENFORCED TEA-BREAK</title>
    <published>2008-09-18T11:11:08Z</published>
    <updated>2008-09-18T11:19:35Z</updated>
    <lj:music>Cu Chulainn's Lament - Horslips</lj:music>
    <content type="html">&lt;center&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/kianryan/2867809238/" title="This photo on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3129/2867809238_7d36791599.jpg" style="background: white; padding: 9px; border: 15px solid black; " alt="" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/center&gt;&lt;p&gt;One of the hazards of working from home is having four-legged friends occasionally walk across your keyboard.  Once or twice, this has led to having to explain to people that ahjsdgjas is a perfectly valid and reasonable code-comment to make.  This morning Walnut wandered across my desk, and instead of completely crossing it, decided to fall flat across my Moleskine and keyboard.&lt;/p&gt;&lt;p&gt;Thus the kitteh enforced tea-break.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:20849</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/20849.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=20849"/>
    <title>Alton Towers</title>
    <published>2008-09-12T20:11:41Z</published>
    <updated>2008-09-12T20:19:33Z</updated>
    <content type="html">&lt;center&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/kianryan/2850502109/" title="This photo on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3007/2850502109_86606e5776.jpg" style="background: white; padding: 9px; border: 15px solid black; " alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="flickr-yourcomment" style="font-style:italic;"&gt;        Minolta AL&lt;br /&gt;Unrecorded Exposure&lt;br /&gt;Tri-X 400, T-Max Developer 20oC 6 mins&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.kianryan.co.uk/"&gt;http://www.kianryan.co.uk/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/center&gt;&lt;p&gt;&lt;br /&gt;Constructive comments and blatent praise all welcome :-)&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:20521</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/20521.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=20521"/>
    <title>Cat and Her Baby</title>
    <published>2008-09-06T23:46:17Z</published>
    <updated>2008-09-18T11:25:52Z</updated>
    <content type="html">&lt;center&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/kianryan/2833907919/" title="This photo on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3106/2833907919_631b5c2af2.jpg" style="background: white; padding: 9px; border: 15px solid black; " alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p class="flickr-yourcomment" style="font-style:italic;"&gt;        Minolta AL,&lt;br /&gt;f2, unknown exposure.&lt;br /&gt;Tri-X 400, Tmax Developer 20oC 6mins.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.kianryan.co.uk/"&gt;http://www.kianryan.co.uk/&lt;/a&gt;&lt;/p&gt;&lt;/center&gt;&lt;p&gt;We're now off on our holiday.  We're heading to bed, and will be up again in around two hours.  We won't be reachable until Thursday earliest, and possibly for a day or two after.&lt;br /&gt;&lt;br /&gt;Expect a flood of photos when we get back, and a detailed review of the Minolta XD-7 and the Vivitar Series 1 28-105mm.&lt;/p&gt;&amp;lt;/div&amp;gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:20451</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/20451.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=20451"/>
    <title>12th-14th September 2008 : London</title>
    <published>2008-08-29T22:32:21Z</published>
    <updated>2008-08-29T22:32:33Z</updated>
    <content type="html">Just a note to say that I'm in London from the 12th til the 14th of September for the UK &lt;a href="http://www.altnetuk.com/"&gt;ALT.NET Conference&lt;/a&gt;.  The conference is a two day event from the Friday til Saturday, leaving Saturday evening and Sunday to catch up.&lt;br /&gt;&lt;br /&gt;I was thinking drinks Saturday evening.  Anyone want to propose time/place? (I don't know Nodnol that well).  I'm close to Euston this time.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:19928</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/19928.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=19928"/>
    <title>photographers Comment Stat Analysis</title>
    <published>2008-08-10T12:37:54Z</published>
    <updated>2008-08-10T12:38:49Z</updated>
    <lj:music>Guardian Live at the Gilded Balloon: Week one highlights - guardian.co.uk</lj:music>
    <content type="html">This idea popped into my head a while back.  Photographers is quite a high volume community, and we manage to average 30.7692 posts per day.  I wanted to do some analysis on the distribution of posts, who our top posters are and (possibly crucially), the commenting "sweet spot" of the day and the week.&lt;br /&gt;&lt;br /&gt;To do this, I wrote a little C# app to fetch all the "back 20 entries" pages LJ makes available and then run a few regular expressions over this data to grab the name of the poster, the date, time of the post and the number of comments received.  Unfortunately, LJ only allows you to page back 380 entries in this manner, so that only takes us back to 29/07/2008.  At some point in the future, I may work out an alternate mechanism for paging through this data, but for the moment, this is all we can get.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Top Posters and Top Commenters&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kianryan/2748743395/" title="Livejournal Photographers - Top Posters by kianryan, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3055/2748743395_7f0f26635c.jpg" width="500" height="340" alt="Livejournal Photographers - Top Posters" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The graph above shows the "top posters" to Photographers, those people who have posted the most over the last two weeks.  Shown against that figure are the average number of comments the poster received per photograph.  Pretty easy to see that flooding the community with posts is not the way to be an effective comment whore.  However producing interesting work repeatedly (igorlaptev), does seem to sustain a high level of commenting.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kianryan/2749578350/" title="LiveJournal Photographers - Top Comments by kianryan, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3150/2749578350_b4bfeae6e2.jpg" width="500" height="374" alt="LiveJournal Photographers - Top Comments" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Switching it around, those people who received the most comments posted the least.  Taking the user-ids of the top commented ten I queried to see when they posted and what kind of distribution occurred.  Six out of ten of the top posts happened on 31/07/2008.  As far as I can tell, the community wasn't running any kind of event on that day.  What were you doing on that day that made you all so comment happy?&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Time and Day - The "Sweet Spot"&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;But if you're reading this, then you're probably interested in finding out when the best time to post is for the optimum comment-whoring effect.  Is there a magic spot of time in the day and the week when most people are sat in-front of their machines and feeling the most generous with their comment love?  Unfortunately, with only two weeks of data, I can't give you any real conclusions on this, but we can at least have a stab in the dark.  I've also just realised that the "date" field shows the time in the time-zone of the poster, not a standard time-zone.  Bugger.  Well let's press on.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kianryan/2748812439/" title="LJ - Posts and Average Comments By Day Of Week by kianryan, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3250/2748812439_0cc41e62db.jpg" width="500" height="351" alt="LJ - Posts and Average Comments By Day Of Week" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Well, hopefully a day is long enough to not be too badly effected by time-zones.  There seems to be a quite obvious spike on Wednesday/Thursdays for posting, possibly photos processed from earlier in the week, or maybe all the household chores are done by this point ready for the weekend?  Who knows, but Thursday's crowded.  There's not a hell of a lot in it for the comments really, just an odd one here of there.  I think it's pretty inconclusive, there's no real deviation for when comments get posted in the week.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/kianryan/2749646828/" title="LJ - Posts and Average Comments By Hour by kianryan, on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3277/2749646828_021cbc06cf.jpg" width="500" height="316" alt="LJ - Posts and Average Comments By Hour" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But, what ho!  There *does* seem to be some interesting results when we break it down hour by hour.  Unfortunately, please bear in mind that this lumps 8AM US/Pacific with 8AM GMT, so we're still looking at rough figures here.  But if you want maximum comments, make your post at 6AM in the morning.  Please bear in mind that this may be offset by the low number of posters at that time.  One person supplying an absolutely stunning, praiseworthy image will totally skew the number-crunching (to be honest, that's probably what's happened here).  Commenting seems to be pretty uniform throughout the day, with a slump in the wee small hours of the morning.  Which I personally find ironic, since it's usually the wee small hours of the morning my work is finally ready to post.  Maybe I should hold off until after a good night's sleep and then post?  The numbers seem to indicate that would return better numbers of comments.&lt;br /&gt;&lt;br /&gt;The fall off for posting is also interesting.  It's good to see that whatever time-zone you're in, you appear to be getting reasonable shut-eye between 2 and 9am.  7 hours?  That's healthy enough.  Keep up the good work there.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Conclusion?&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Realistically, based on such little data (380 posts is not a lot for around here), we can't make anything firm.  It does appear to be a case of quality does indeed win over quantity, and there is no real sweet-spot to the day, so long as you post to most people's idea of waking hours (probably USA time?).  But whatever you read into this, I hope you've found it reasonably interesting and worth your time.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:19668</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/19668.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=19668"/>
    <title>Victoria Baths</title>
    <published>2008-08-09T19:56:32Z</published>
    <updated>2008-08-09T19:56:32Z</updated>
    <content type="html">&lt;center&gt;&lt;div class="flickr-frame"&gt;	&lt;a href="http://www.flickr.com/photos/kianryan/2746901045/" title="This photo on Flickr"&gt;&lt;img src="http://farm4.static.flickr.com/3057/2746901045_147d7b92b2.jpg" style="background: white; padding: 9px; border: 15px solid black; " alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="flickr-yourcomment" style="font-style:italic;"&gt;        Manchester Victoria Baths&lt;br /&gt;&lt;br /&gt;Mamiya C220&lt;br /&gt;Tri-X 400, T-Max Dev 20oC @ 6 mins&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.kianryan.co.uk/"&gt;http://www.kianryan.co.uk/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/center&gt;&lt;p&gt;More in the series availible by clickling on the image.&lt;br /&gt;Constructive comments and blatent praise all welcome :-)&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:kianryan:19331</id>
    <link rel="alternate" type="text/html" href="http://kianryan.livejournal.com/19331.html"/>
    <link rel="self" type="text/xml" href="http://kianryan.livejournal.com/data/atom/?itemid=19331"/>
    <title>SQL Server 2008 - Intelli-lack-of-sense</title>
    <published>2008-08-04T23:08:09Z</published>
    <updated>2008-08-04T23:08:09Z</updated>
    <category term="intellisense"/>
    <category term="sql2008"/>
    <category term="sql server"/>
    <content type="html">I've been to a few Microsoft events over the past six months, and definitely have more than a passing interest in the development of SQL Server 2008.  As a developer, one of the things that had really got me excited was the demonstrations of Intellisense against live databases.  This is something that that up until recently was only available using the very excellent tool &lt;a href="http://www.red-gate.com/Products/SQL_Prompt/index.htm"&gt;Red Gate SQL Prompt&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;At most of the talks I've been to, it's been made perfectly clear that the Intellisense support was going to be available when connecting to all versions of SQL Server.  This sounded fantastic, since I work with lots of different databases on a day to day basis as a contractor, and often have to "feel" my way around.  Having to refer to the Object Explorer every five seconds is definitely something of a hindrance.&lt;br /&gt;&lt;br /&gt;So, knowing that &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=35F53843-03F7-4ED5-8142-24A4C024CA05&amp;amp;displaylang=en"&gt;SQL Server 2008 RC0&lt;/a&gt; had been made available I grabbed it this lunchtime and installed the client tools in the early afternoon.  Apart from the fact that it took nearly an hour to complete (&lt;i&gt;just&lt;/i&gt; for the client tools), everything went pretty swimmingly.  I managed to lose my lovely visual theme again, but never-mind I could always re-apply that later.  I fired up SMS, connected to my local SQL2005 Express instance and ... nothing.  Didn't work.  Zip, nada, no Intellisense anywhere.&lt;br /&gt;&lt;br /&gt;Since I was working for a client, I didn't stop to contemplate this too much, I had to simply get on with it.  But when I got home I did some digging and found this blog article:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.magenic.com/blogs/whitneyw/archive/2008/05/04/Backward-compatibility-for-Intellisense-please.aspx"&gt;http://blog.magenic.com/blogs/whitneyw/archive/2008/05/04/Backward-compatibility-for-Intellisense-please.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It turns out that the CTP's backwards compatibility for Intellisense was actually a bug, and should never have seen the light of day.  SMS wasn't checking the server version before enabling or disabling the Intellisense, and since MS are so worried about us poor little programmers possibly using the wrong syntax, they've pulled the plug on it completely.  Having read the blog post and the accompanying details on MS Connect (feedback centre), I am pretty damn sure that no amount of petitioning is going to help.&lt;br /&gt;&lt;br /&gt;So, if you're looking for a SQL Intellisense tool, don't bother grabbing the latest SQL Server unless you're wanting to work with only SQL 2008 instances.  Keep your SQL 2005 tools and make an investment in &lt;a href="http://www.red-gate.com/Products/SQL_Prompt/index.htm"&gt;Red Gate SQL Prompt&lt;/a&gt;.  I'll write about how effective a tool it is in another post.&lt;br /&gt;&lt;br /&gt;And why if a small company like Red Gate can do it, Redmond can't is beyond me.</content>
  </entry>
</feed>
