<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Wifi and Coffee</title>
	<atom:link href="http://otfrom.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://otfrom.wordpress.com</link>
	<description>Hunting around for good coffee and free wifi.</description>
	<lastBuildDate>Sat, 29 Oct 2011 11:09:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='otfrom.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Wifi and Coffee</title>
		<link>http://otfrom.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://otfrom.wordpress.com/osd.xml" title="Wifi and Coffee" />
	<atom:link rel='hub' href='http://otfrom.wordpress.com/?pushpress=hub'/>
		<item>
		<title>FAQ: How much do I need to know before I come to the dojo?</title>
		<link>http://otfrom.wordpress.com/2010/10/26/faq-how-much-do-i-need-to-know-before-i-come-to-the-dojo/</link>
		<comments>http://otfrom.wordpress.com/2010/10/26/faq-how-much-do-i-need-to-know-before-i-come-to-the-dojo/#comments</comments>
		<pubDate>Tue, 26 Oct 2010 11:24:03 +0000</pubDate>
		<dc:creator>otfrom</dc:creator>
				<category><![CDATA[clojure]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[ldncljdojo]]></category>

		<guid isPermaLink="false">http://otfrom.wordpress.com/?p=56</guid>
		<description><![CDATA[Just today I was asked a question that I&#8217;ve been asked many times before: What level of Clojure proficiency is needed, if any? And my answer is &#8212; none whatsoever. We formed the dojo to learn clojure, which was a language that none of us knew at the time but we were all interested in. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=56&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just today I was asked a question that I&#8217;ve been asked many times before:</p>
<blockquote><p>What level of Clojure proficiency is needed, if any?</p></blockquote>
<p>And my answer is &#8212; none whatsoever. We formed the dojo to learn clojure, which was a language that none of us knew at the time but we were all interested in.<span id="more-56"></span></p>
<p>Now we have people from a number of backgrounds &#8211; python and ruby programmers, java coders, lisp and scheme hackers, emacs lovers, haters and confused just to name a few.</p>
<p>Some people come now who use clojure professionally, but they often come away from the meetings having learned something new. I <strong>always</strong> come away having learned something new.</p>
<p>I hope we are and try to make the dojo a welcoming place for people of all levels of ability and experience. You and everyone else are more than welcome to come along.</p>
<p>We talk about the dojos and other clojure things in our own community on google groups <a href="http://groups.google.com/group/london-clojurians/">here</a> and you can find out about upcoming dojos on lanryd <a href="http://lanyrd.com/topics/ldncljdojo/">here</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/otfrom.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/otfrom.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/otfrom.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/otfrom.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/otfrom.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/otfrom.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/otfrom.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/otfrom.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/otfrom.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/otfrom.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/otfrom.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/otfrom.wordpress.com/56/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/otfrom.wordpress.com/56/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/otfrom.wordpress.com/56/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=56&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://otfrom.wordpress.com/2010/10/26/faq-how-much-do-i-need-to-know-before-i-come-to-the-dojo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/324c1cedf36b59d44a13e76868af4b8d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">otfrom</media:title>
		</media:content>
	</item>
		<item>
		<title>ciscratch notes</title>
		<link>http://otfrom.wordpress.com/2010/09/05/ciscratch-notes/</link>
		<comments>http://otfrom.wordpress.com/2010/09/05/ciscratch-notes/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 21:54:48 +0000</pubDate>
		<dc:creator>otfrom</dc:creator>
				<category><![CDATA[clojure]]></category>
		<category><![CDATA[collective intelligence]]></category>
		<category><![CDATA[incanter]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://otfrom.wordpress.com/?p=50</guid>
		<description><![CDATA[I've been having fun today sitting on a heating pad for a bad lower back and learning a bit of statistics, python, clojure and Incanter by porting Toby Segaram's "Collective Intelligence" to clojure. My code is on <a href="http://github.com/otfrom/ciscratch">github</a>.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=50&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been having fun today sitting on a heating pad for a bad lower back and learning a bit of statistics, python, clojure and Incanter by porting Toby Segaram&#8217;s &#8220;Collective Intelligence&#8221; to clojure. My code is on <a href="http://github.com/otfrom/ciscratch">github</a>.<span id="more-50"></span></p>
<p>I just thought I&#8217;d share a few of my initial thoughts after today&#8217;s futzing around.</p>
<p>1. I like the clojure set functions. It feels much clearer to me than iterating a set of keys to find a match. I would often write a helper function to do that or comment for clarity, but with clojure it is just (intersection coll1 coll2).</p>
<p>2. let is a wonderful thing when you have to string a lot of formulae together (or even when it isn&#8217;t a lot yet). It would look almost like perl if I did it all inline.</p>
<p>3. I love, love, love the combination of a good repl with easy to use unit tests. Explore in one and codify your understanding in the other (I&#8217;ll let you guess which way around that works).</p>
<p>4. I got caught out by operator precedence translating from the python to clojure. Even in Java I try to make the order of operations explicit. It was easy to see what was wrong once I found it, but it took me ages to actually find the bug I had.</p>
<p>5. I love being able to do a sum of products by doing (sum (map * ratings1 ratings2)) or (reduce + (map * ratings1 ratings2)). You can just keep adding collections to the map and it will keep multiplying.</p>
<p>6. I&#8217;m having fun. I&#8217;m enjoying teasing out the python code. I like how doing the translation forces me properly read the python and force me to think about how I&#8217;d do it in clojure.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/otfrom.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/otfrom.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/otfrom.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/otfrom.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/otfrom.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/otfrom.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/otfrom.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/otfrom.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/otfrom.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/otfrom.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/otfrom.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/otfrom.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/otfrom.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/otfrom.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=50&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://otfrom.wordpress.com/2010/09/05/ciscratch-notes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/324c1cedf36b59d44a13e76868af4b8d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">otfrom</media:title>
		</media:content>
	</item>
		<item>
		<title>leiningen, clojure 1.2 and emacs</title>
		<link>http://otfrom.wordpress.com/2010/05/16/leiningen-clojure-1-2-and-emacs/</link>
		<comments>http://otfrom.wordpress.com/2010/05/16/leiningen-clojure-1-2-and-emacs/#comments</comments>
		<pubDate>Sun, 16 May 2010 15:20:09 +0000</pubDate>
		<dc:creator>otfrom</dc:creator>
				<category><![CDATA[clojure]]></category>
		<category><![CDATA[emacs]]></category>
		<category><![CDATA[leiningen]]></category>

		<guid isPermaLink="false">http://otfrom.wordpress.com/?p=46</guid>
		<description><![CDATA[I had a bit of a struggle today. I was trying to have a play with defrecord in clojure 1.2 in preparation for the May dojo. This meant that I needed to move up to clojure 1.2 as defrecord is new functionality. After much flailing, some help from technomancy and tcrayford on irc (Thanks!) I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=46&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I had a bit of a struggle today.</p>
<p>I was trying to have a play with defrecord in clojure 1.2 in preparation for the May dojo. This meant that I needed to move up to clojure 1.2 as defrecord is new functionality. After much flailing, some help from technomancy and tcrayford on irc (Thanks!) I was able to get something up and running. Here is what works.<span id="more-46"></span></p>
<p>The most basic project.clj for this is:</p>
<p><code>(defproject my-proj "0.0.1"<br />
  :description "The simplest clojure 1.2 project.clj possible for emacs"<br />
  :dependencies [[org.clojure/clojure "1.2.0-master-SNAPSHOT"]<br />
                 [org.clojure/clojure-contrib "1.2.0-SNAPSHOT"]]<br />
  :dev-dependencies [[swank-clojure "1.2.0"]]<br />
  :repositories {"clojure-releases" "http://build.clojure.org/releases"})<br />
</code></p>
<p>This is enough to get <code>lein swank</code> up and running. However, now clojure-test-mode won&#8217;t work. The version is elpa isn&#8217;t new enough (you are using elpa and emacs-starter-kit aren&#8217;t you?) so we need to get it from <a href="http://github.com/technomancy/clojure-mode">technomancy&#8217;s github</a>.</p>
<p>Find a nice directory to keep the code and do the following:</p>
<p><code>$ git clone http://github.com/technomancy/clojure-mode.git<br />
</code></p>
<p>Then open up emacs and open the cloned clojure-mode.el file and type M-x package-install-from-buffer. Then do the same for clojure-test-mode.el. Now everything should work. You should be able to start lein swank from the command line and then connect to it using M-x slime-connect and do things like run the test cases using C-c , and do things like slime-who-calls (and make tcrayford happy.</p>
<p>Soon these versions should be in elpa and so you won&#8217;t need these instructions any more.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/otfrom.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/otfrom.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/otfrom.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/otfrom.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/otfrom.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/otfrom.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/otfrom.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/otfrom.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/otfrom.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/otfrom.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/otfrom.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/otfrom.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/otfrom.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/otfrom.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=46&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://otfrom.wordpress.com/2010/05/16/leiningen-clojure-1-2-and-emacs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/324c1cedf36b59d44a13e76868af4b8d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">otfrom</media:title>
		</media:content>
	</item>
		<item>
		<title>5th London Python Dojo</title>
		<link>http://otfrom.wordpress.com/2010/01/08/5th-london-python-dojo/</link>
		<comments>http://otfrom.wordpress.com/2010/01/08/5th-london-python-dojo/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 13:19:54 +0000</pubDate>
		<dc:creator>otfrom</dc:creator>
				<category><![CDATA[python]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[London]]></category>

		<guid isPermaLink="false">http://otfrom.wordpress.com/?p=3</guid>
		<description><![CDATA[The London Python Dojo was a bit different again this time. We&#8217;ve had randori katas with all of us taking turns at the one computer connected to a projector. We&#8217;ve had a series of talks showing us some of the interesting things that exist in the Python world and this time we split into teams [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=3&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://dabr.co.uk/hash/ldnpydojo">London Python Dojo</a> was a bit different again this time. We&#8217;ve had randori katas with all of us taking turns at the one computer connected to a projector. We&#8217;ve had a series of talks showing us some of the interesting things that exist in the Python world and this time we split into teams and tackled a problem we defined on the night of writing a text based adventure.<span id="more-3"></span></p>
<p>We were split into teams of roughly 5 which meant that we were able to all talk in our smaller teams. This was certainly useful for me as I&#8217;m still so rusty with Python and I don&#8217;t know my way around the large libraries that come with it. Having Toby suggest the <a href="http://docs.python.org/library/cmd.html">cmd framework</a> for doing our command interpreter saved us a lot of time and gave us the wow moment of the night during the show and tell with our tab completion for the commands. I&#8217;ll have to look into a bit more closely and see what else it can do. I&#8217;m not sure I entirely like it as a way of doing text adventure interaction, but it did get us going very quickly for the night and had the advantage of working.</p>
<p>There were the usual debates around data types and design which is a big part of what I enjoy about programming in groups. People seemed to be more interested in how it worked as a graph problem with the rooms of the world. I&#8217;m thinking I&#8217;m more interested in combat tables and initiative, but I think that is just the old D&amp;D gamer coming out. Maybe for a future dojo we could work on a combat system. Plenty of <b>F</b>reely (d20, GURPS) available systems to steal rules from out there.</p>
<p>On the night I said that I still preferred having one pair and the rest of us kibitzing/heckling. It was a problem for me as most of the time I wasn&#8217;t actually able to see the screen that the code was on so I wasn&#8217;t able to think about the code as we went along. I think the solution to this might be setting up 2 monitors for each of the teams so that a group of 5 can actually see what is going on. Having external keyboards might make this easier too. That way we can still have small teams, but allow everyone on the team to see what is happening. Not being able to see the code made me feel detached, so the 2nd monitor might solve that problem.</p>
<p>I really liked seeing the different solutions the various teams came up with and I&#8217;m looking forward to reviewing the code on <a href="http://github.com/ntoll/code-dojo/tree/master/adventure/">github</a>. As always I learned a load and it was great seeing and being part of such a welcoming and friendly group. </p>
<p>Thanks again to <a href="http://ntoll.org/article/an-adventurous-code-dojo">Nicholas</a> for MCing and organising and <a href="http://www.fry-it.com">Fry-IT</a> for hosting and paying for beer and pizza. I&#8217;m looking forward to coming to the <a href="http://ldnpydojo.eventwax.com/6th-london-python-code-dojo">next one</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/otfrom.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/otfrom.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/otfrom.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/otfrom.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/otfrom.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/otfrom.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/otfrom.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/otfrom.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/otfrom.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/otfrom.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/otfrom.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/otfrom.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/otfrom.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/otfrom.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=otfrom.wordpress.com&amp;blog=6096936&amp;post=3&amp;subd=otfrom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://otfrom.wordpress.com/2010/01/08/5th-london-python-dojo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/324c1cedf36b59d44a13e76868af4b8d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">otfrom</media:title>
		</media:content>
	</item>
	</channel>
</rss>
