<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>agile &amp; kayak coach, Enabler, lean projects, organiser of Magrails, buddhist, father, musician, writer, kayak</description><title>Francis Fish</title><generator>Tumblr (3.0; @fjfish)</generator><link>http://www.francisfish.com/</link><item><title>error: Permission denied sending UDP broadcast packets </title><description>&lt;p&gt;Sorry, gentle reader, this one&amp;#8217;s a bit technical.&lt;/p&gt;
&lt;p&gt;I was reusing some of the code Apple supply for sending UDP packets between servers, but the system I&amp;#8217;m working with listens for broadcast packets. I set it up to use the address 255.255.255.255, but got the EACCESS error: Permission denied&lt;/p&gt;
&lt;p&gt;I found an example that did work (without using Apple&amp;#8217;s CFSocket class) and did a line by line what&amp;#8217;s different. You need this to do broadcast&lt;/p&gt;
&lt;p&gt;int broadcastEnable=1;&lt;/p&gt;
&lt;p&gt;int ret=setsockopt(sd, SOL_SOCKET, SO_BROADCAST, &amp;amp;broadcastEnable, sizeof(broadcastEnable));&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;if (ret) {&lt;/div&gt;
&lt;div&gt;    NSLog(@&amp;#8221;Error: Could not open set socket to broadcast mode&amp;#8221;);&lt;/div&gt;
&lt;div&gt;    close(sd);&lt;/div&gt;
&lt;div&gt;    return;&lt;/div&gt;
&lt;div&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;If you edit this into Apple&amp;#8217;s UDP echo project then it will allow broadcast. Give thanks and praise at &lt;a href="http://splinter.com.au/sending-a-udp-broadcast-packet-in-c-objective" target="_blank"&gt;&lt;a href="http://splinter.com.au/sending-a-udp-broadcast-packet-in-c-objective"&gt;http://splinter.com.au/sending-a-udp-broadcast-packet-in-c-objective&lt;/a&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://www.francisfish.com/post/23548552337</link><guid>http://www.francisfish.com/post/23548552337</guid><pubDate>Tue, 22 May 2012 17:25:00 +0100</pubDate></item><item><title>LoadError: OpenSSL::SSL requires the jruby-openssl gem</title><description>&lt;p&gt;I had to hack the bundler executable to load the jruby-openssl gem before it tried to load bundler. Then it worked.&lt;/p&gt;
&lt;p&gt;I think the gem command uses openssl, which is built into the MRI version of Ruby, but has to be included as a gem by JRuby and therefore it happens too late.&lt;/p&gt;</description><link>http://www.francisfish.com/post/19645514319</link><guid>http://www.francisfish.com/post/19645514319</guid><pubDate>Tue, 20 Mar 2012 22:19:00 +0000</pubDate></item><item><title>Laments to the 10 years of Agile</title><description>&lt;a href="http://flowchainsensei.wordpress.com/2012/03/04/tom-gilb-laments-the-10-wasted-years-of-agile"&gt;Laments to the 10 years of Agile&lt;/a&gt;: &lt;p&gt;(Click the link above to see the original article - this is a comment I left there)&lt;/p&gt;
&lt;p&gt;The IT project failure rate is a direct result of people ignoring (or plain removing) contingency, usually for political reasons (the Dilbert “pointy haired boss” kind). So a fail is being unable to deliver to a Waterfall-style objectives set at some remove from delivering the projects that were only possible if absolutely nothing went wrong. It goes straight back to Deming’s point about MBO vs MBP – the O’s still have it! If each iteration is an management-forced aspiration rather than based on what is possible (so the chance of “hitting” the story points is even as high as 90%) then you will soon run into trouble (in this example the chance of still being on target after 5 iterations is only around 50%). Of course, in this all to common scenario, everybody gets demotivated too and productivity starts to bomb anyway.&lt;/p&gt;
&lt;p&gt;I agree that many people “do agile” rather than “be agile” – they see it as process rather than mind set, and so throw out all sorts of sea anchors around “doing it right”, as in being obsessed with process, rather than (and this is a point made in the quote) “doing the right thing”. As you’ve said yourself, the process-driven, analytical mind set is a much easier place to be than an open Chaordic one, particularly if you learned you craft in a process driven environment, such as an educational institution and just don’t have the models to do things any other way.&lt;/p&gt;
&lt;p&gt;I see it as a crisis of models, of education, of plain old fear, not principles. It does seem to be getting worse, though. I think we might need a new Manifesto – somewhat less narrow than the craftsmanship movement because it needs to include people who aren’t coders but want to “do the right thing”. In fact, coding is the last thing in this, but it’s the first that everyone looks at because it’s easier to see.&lt;/p&gt;
&lt;p&gt;It’s a great source of frustration and sadness for me that we have all the tools now, we have Deming’s insights, we have agile methods, we have methods for managing uncertainty, blah blah blah – but people still carry on doing the same old stuff assuming the results will be different next time. I think it was Einstein that said that this is a sign of madness.&lt;/p&gt;</description><link>http://www.francisfish.com/post/18719897806</link><guid>http://www.francisfish.com/post/18719897806</guid><pubDate>Sun, 04 Mar 2012 10:21:00 +0000</pubDate></item><item><title>PGError: ERROR: date out of range for timestamp</title><description>&lt;p&gt;Note - this assumes you&amp;#8217;ve enabled the pgbackup plugin in Heroku - as it does the full database backup for you for free - &lt;a href="http://addons.heroku.com/pgbackups" target="_blank"&gt;I suggest you do it right now&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Oh, the fun I just had with this one. One of my clients&amp;#8217; systems started throwing this message over the last week or so.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m lazy so I was using sqlite for my development database and Heroku&amp;#8217;s Postgres for live.&lt;/p&gt;
&lt;p&gt;So, thinks I, time to switch to using Postgres in my development environment, &lt;em&gt;because it must be the database, mustn&amp;#8217;t it?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;d installed it on my Macbook ages ago but hadn&amp;#8217;t actually used it with Rails. So I found a couple of blog posts and changed things around. I had already told Postgres to use passwords for validation.&lt;/p&gt;
&lt;p&gt;It took me ages to realise I needed to set a password for the postgres Unix user - this was the password I needed to connect to the database. &lt;a href="http://whatcodecraves.com/articles/2008/02/05/setup_rails_with_postgresql/" target="_blank"&gt;Then I followed these instructions&lt;/a&gt; and got my dev database set up.&lt;/p&gt;
&lt;p&gt;So - &lt;a href="http://addons.heroku.com/pgbackups" target="_blank"&gt;pull stuff down from heroku&lt;/a&gt; and then import it to my dev environment.&lt;/p&gt;
&lt;p&gt;Right - everything works perfectly - right!&lt;/p&gt;
&lt;p&gt;So where is the error? &lt;/p&gt;
&lt;p&gt;I googled for it and found a forum posting suggesting that you could have a date stamp that is outside the range of time stamps and the coercion of date stamps is going boom. Did a lot of messing around in the heroku console to no avail, trying to issue commands like &lt;em&gt;analyze table &lt;/em&gt;and count things.&lt;/p&gt;
&lt;p&gt;Also, the column is a timestamp anyway, so you can&amp;#8217;t store nonsense in it in the first place.&lt;/p&gt;
&lt;p&gt;So, I put the app into maintenance mode, took another backup, restored that backup over the existing database, and all was well.&lt;/p&gt;
&lt;p&gt;This might be a better solution than trying to rescue the database in any event, because all of the statistics will have been reset too.&lt;/p&gt;
&lt;p&gt;I was a little bit hampered by heroku not letting you connect to a shared database because I was trying to issue commands using Active Record - but hey - it&amp;#8217;s free. I do wish that heroku console was slightly more informative than &lt;em&gt;server error&lt;/em&gt;. &lt;/p&gt;</description><link>http://www.francisfish.com/post/17033903107</link><guid>http://www.francisfish.com/post/17033903107</guid><pubDate>Sat, 04 Feb 2012 16:12:00 +0000</pubDate></item><item><title>Rails for Designers</title><description>&lt;p&gt;This is a short post to help designers who aren&amp;#8217;t familiar with Rails understand their way around it enough to change things and work with developers. It assumes that you know CSS and HTML and aren&amp;#8217;t scared of HTML that has embedded code in it.&lt;/p&gt;
&lt;!-- more --&gt;
&lt;p&gt;&lt;strong&gt;The structure of a Rails app&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rails is a Model/View/Controller system. &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Models are business logic, and storing things in databases&lt;/li&gt;
&lt;li&gt;Views are displaying the contents of the models&lt;/li&gt;
&lt;li&gt;Controllers co-ordinate the Model and the View&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Here is a picture of the directory structure of a Rails app:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lyk3gq3Xe31r26464.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;The files you care about live under app and public:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lyk3m4FDmD1r26464.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;And views also breaks down like this:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lyk3p83My81r26464.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;This application has an extra top-level directory, &lt;em&gt;artwork&lt;/em&gt;, that isn&amp;#8217;t standard. I used it to keep the artwork and design files under version control.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What the directories do:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Public. This is where the root of the application is for static content like CSS and JavaScript files.&lt;/li&gt;
&lt;li&gt;App/Views. This is where the files are stored for rendering dynamic content from the application.&lt;/li&gt;
&lt;li&gt;App/Views/Layouts. This is where the templates that surround the dynamic content are stored.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The example we show here is from before Rails introduced the performance enhancement of the asset pipeline, it complicates things a little and I will discuss it later. What I want do do first is explain the principles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What things do&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A layout file looks something like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;html&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;head&amp;gt;&lt;/p&gt;
&lt;p&gt;  &amp;lt;title&amp;gt;Favorbite&amp;lt;/title&amp;gt;&lt;/p&gt;
&lt;p&gt;  &amp;lt;%= stylesheet_link_tag :all %&amp;gt;&lt;/p&gt;
&lt;p&gt;  &amp;lt;%= javascript_include_tag :defaults %&amp;gt;&lt;/p&gt;
&lt;p&gt;  &amp;lt;%= csrf_meta_tag %&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/head&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;body&amp;gt;&lt;/p&gt;
&lt;p&gt;  &amp;lt;div id=&amp;#8221;header&amp;#8221;&amp;gt;&lt;/p&gt;
&lt;p&gt;    &amp;lt;div class=&amp;#8221;span8 offset8&amp;#8221;&amp;gt;&lt;/p&gt;
&lt;p&gt;      &amp;lt;h1&amp;gt;&lt;/p&gt;
&lt;p&gt;        &amp;lt;a href=&amp;#8221;/&amp;#8221;&amp;gt;&amp;lt;img src=&amp;#8221;/images/favorbite-logo.png&amp;#8221; alt=&amp;#8221;Favorbite logo&amp;#8221;&amp;gt;&amp;lt;/a&amp;gt;&lt;/p&gt;
&lt;p&gt;      &amp;lt;/h1&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;   &amp;lt;%= yield :header %&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;    &amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;  &amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;    &amp;lt;%= yield %&amp;gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/body&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a very simple wrapper. It&amp;#8217;s HTML 5, of course. The &amp;lt;%= %&amp;gt; tags are used to embed code. The :all in stylesheet link tag lets us include all of the files in the public/stylesheets directory without having to specify them individually, or you can include them one by one if you need to. This changes with the asset pipleline (but let&amp;#8217;s not worry about that now).&lt;/p&gt;
&lt;p&gt;You can also just put in plain old HTML code to include whatever CSS you like, the helpers are a convenience and also help with cacheing and other wondrous magic web things. &lt;/p&gt;
&lt;p&gt;You can see two lines that I have made bold. Each contains the word &lt;em&gt;yield&lt;/em&gt;. This is a Ruby construct that you can find out more about if you&amp;#8217;re interested. The one that doesn&amp;#8217;t have any arguments will render the appropriate dynamic content file. The one with :header will render any content that is in a block that has that name. For example&lt;/p&gt;
&lt;div&gt;
&lt;blockquote&gt;Hello, this is ordinary content&lt;br/&gt;&lt;br/&gt;&amp;lt;% content_for :header do %&amp;gt;&lt;br/&gt;   This will appear where the yield :header tag tag is, or not appear at all if there isn&amp;#8217;t one.&lt;br/&gt;This is how you define a block, using &amp;#8216;do&amp;#8217;&lt;br/&gt;&amp;lt;% end %&amp;gt;&lt;br/&gt;If we carry on here it will just add into the main text.&lt;br/&gt;&lt;br/&gt;&amp;lt;%= &amp;#8220;the string here will show in the text, without the = sign nothing will happen, the results of any Ruby code need %= to show&amp;#8221; %&amp;gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Working out what gets displayed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rails apps have routes go to controllers, and from there to the view depending on what the controller decides to do to render the request. The surrounding layout is set by the controller. For example &lt;strong&gt;&lt;a href="http://myapp.com/chickens/1/edit"&gt;http://myapp.com/chickens/1/edit&lt;/a&gt;&lt;/strong&gt; is asking the router to find a controller called &lt;em&gt;chickens&lt;/em&gt;, and call the method &lt;em&gt;edit&lt;/em&gt; in it. This will then find the chicken with ID 1 and render it to be edited if all goes well.&lt;/p&gt;
&lt;p&gt;The dynamic code for the edit will be in &lt;em&gt;app/views/chickens/edit.html.erb&lt;/em&gt; (ERB being a way of embedding Ruby code), inside that file you may find code that looks like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;%= render :partial =&amp;gt; &amp;#8220;form&amp;#8221; %&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Partials a little chunks of reusable code, because no directory was given it will be assumed to be in the same directory as the other chickens code, here &lt;em&gt;app/views/chickens/_form.html.erb&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The convention for a partial is it has a leading underscore in its name. If the controller doesn&amp;#8217;t explicitly say what dynamic content to render the file that matches the route will be used:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&amp;#8230;/chickens - This will go to index method and will look for a file called index&lt;/li&gt;
&lt;li&gt;&amp;#8230;/chickens/1 - This will try and show the chicken with ID 1 - method/view called show&lt;/li&gt;
&lt;li&gt;&amp;#8230;/chickens/new This will render a form where you can create a new chicken&lt;/li&gt;
&lt;li&gt;&amp;#8230;/chickens/1/edit Guess!&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;When you save a new chicken you land in the method &lt;em&gt;create&lt;/em&gt;, when you update an existing chicken you land in the method &lt;em&gt;update&lt;/em&gt;. If these methods succeed the convention is that it puts a flash message saying it succeeded and takes you to the &lt;em&gt;show&lt;/em&gt; method. Sometimes you will need to look in the controller code to unpick this.&lt;/p&gt;
&lt;p&gt;For example if you see:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;render :action =&amp;gt; &amp;#8220;edit&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It will use the edit file to render, rather than whatever the default one would be for the method you are in.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Picking the layout&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If the controller doesn&amp;#8217;t explicitly set a layout it will use the one defined in &lt;em&gt;app/views/layouts/application.html.erb&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration by convention&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As you can see Rails uses &lt;em&gt;convention&lt;/em&gt; to say where things are and you don&amp;#8217;t have trawl through configuration files (Java) or wade through heaps of confusing code where it&amp;#8217;s hard to work out where the application ends and the data begins (PHP guys, looking at you here). &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The asset pipleline&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This was introduced in Rails 3.2. There is an extra directory under &lt;em&gt;app &lt;/em&gt;called &lt;em&gt;assets&lt;/em&gt;. Rather than repeat the documentation I suggest you go &lt;a href="http://guides.rubyonrails.org/asset_pipeline.html" title="Asset Pipeline" target="_blank"&gt;here&lt;/a&gt; to find out how it works.&lt;/p&gt;
&lt;p&gt;I hope this helps. As always if I have erred or not explained things to your satisfaction, please contact me and I will do my best to explain it better or correct any mistakes.&lt;/p&gt;
&lt;p&gt;Thanks for reading.&lt;/p&gt;</description><link>http://www.francisfish.com/post/16693579575</link><guid>http://www.francisfish.com/post/16693579575</guid><pubDate>Sun, 29 Jan 2012 13:17:00 +0000</pubDate><category>Rails</category><category>designer</category><category>ruby</category></item><item><title>Neil Gaiman: Another bit from an ancient blog</title><description>&lt;a href="http://neil-gaiman.tumblr.com/post/15405249507/another-bit-from-an-ancient-blog"&gt;Neil Gaiman: Another bit from an ancient blog&lt;/a&gt;: &lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;One of the drawbacks of the World’s Best Porridge Recipe for those purposes is that it’s slightly chewy, which is part of the charm. &lt;br/&gt;&lt;br/&gt;Having experimented with porridge recipes for years now, this one sort of came together in a bunch of “what if I tried…”s that actually worked. &lt;br/&gt;&lt;br/&gt;You need two…&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://www.francisfish.com/post/15407507527</link><guid>http://www.francisfish.com/post/15407507527</guid><pubDate>Fri, 06 Jan 2012 19:08:45 +0000</pubDate></item><item><title>Dead Time at East Didsbury</title><description>&lt;p&gt;Sometimes time is dead time; you have to wait and hope that it will pass&lt;/p&gt;

&lt;p&gt;Dangerous thought - how good it would be to edit your life away, but how would that be good?&lt;/p&gt;

&lt;p&gt;Once lost it doesn&amp;#8217;t come back, whatever &lt;em&gt;it&lt;/em&gt; might be&lt;/p&gt;

&lt;p&gt;So this moment is of waiting and not exactly enough, or not moving forward to where you would like to be:&lt;/p&gt;

&lt;p&gt;So what?&lt;/p&gt;

&lt;p&gt;Is it &lt;em&gt;really&lt;/em&gt; that different from all the other moments?&lt;/p&gt;

&lt;p&gt;This body waits for the next thing - driven by this mind&lt;/p&gt;

&lt;p&gt;This mind is what cares about forward and back&lt;/p&gt;

&lt;p&gt;This mind judges and measures&lt;/p&gt;

&lt;p&gt;This mind does not see its own nature&lt;/p&gt;

&lt;p&gt;So what is waiting?&lt;/p&gt;

&lt;p&gt;What is impatient?&lt;/p&gt;

&lt;p&gt;What is hurting?&lt;/p&gt;

&lt;p&gt;What is sad?&lt;/p&gt;

&lt;p&gt;Does it have a colour, shape or presence anywhere?&lt;/p&gt;

&lt;p&gt;Can you touch it? Except maybe indirectly?&lt;/p&gt;

&lt;p&gt;Why does it &lt;em&gt;want&lt;/em&gt; so much?&lt;/p&gt;

&lt;p&gt;Why does it need anything?&lt;/p&gt;

&lt;p&gt;The thing it needs is not there.&lt;/p&gt;

&lt;p&gt;It is closed and also open&lt;/p&gt;

&lt;p&gt;The warm train arrives - the moment dies&lt;/p&gt;</description><link>http://www.francisfish.com/post/12300808810</link><guid>http://www.francisfish.com/post/12300808810</guid><pubDate>Thu, 03 Nov 2011 22:48:00 +0000</pubDate><category>poem</category></item><item><title>Everything not contributing to learning is waste</title><description>&lt;a href="http://eskokilpi.blogging.fi/2011/10/31/anything-that-does-not-contribute-to-learning-is-waste/"&gt;Everything not contributing to learning is waste&lt;/a&gt;</description><link>http://www.francisfish.com/post/12296663332</link><guid>http://www.francisfish.com/post/12296663332</guid><pubDate>Thu, 03 Nov 2011 21:21:20 +0000</pubDate></item><item><title>Comment on Jim Highsmith's article "Velocity is killing Agile"</title><description>&lt;a href="http://jimhighsmith.com/2011/11/02/velocity-is-killing-agility/#comment-9828"&gt;Comment on Jim Highsmith's article "Velocity is killing Agile"&lt;/a&gt;</description><link>http://www.francisfish.com/post/12255359975</link><guid>http://www.francisfish.com/post/12255359975</guid><pubDate>Wed, 02 Nov 2011 21:38:00 +0000</pubDate></item><item><title>Fredit inline rails view editing</title><description>&lt;a href="https://github.com/danchoi/fredit"&gt;Fredit inline rails view editing&lt;/a&gt;: &lt;p&gt;looks really interesting&lt;/p&gt;</description><link>http://www.francisfish.com/post/12124026970</link><guid>http://www.francisfish.com/post/12124026970</guid><pubDate>Sun, 30 Oct 2011 18:19:41 +0000</pubDate></item><item><title>chuckjhardy:

Sublime Package Control</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_ltpy3vNhsi1qgxumao1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://chuckjhardy.com/post/11986298767/sublime-package-control" class="tumblr_blog"&gt;chuckjhardy&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Sublime Package Control&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://www.francisfish.com/post/11989339024</link><guid>http://www.francisfish.com/post/11989339024</guid><pubDate>Thu, 27 Oct 2011 13:53:36 +0100</pubDate></item><item><title>Oh hell yes, no more crap</title><description>&lt;a href="http://cleancoder.posterous.com/software-craftsmanship-things-wars-commandmen"&gt;Oh hell yes, no more crap&lt;/a&gt;: &lt;p&gt;Post explaining the personal side to the software craftsmanship movement.&lt;/p&gt;</description><link>http://www.francisfish.com/post/11989310032</link><guid>http://www.francisfish.com/post/11989310032</guid><pubDate>Thu, 27 Oct 2011 13:52:05 +0100</pubDate></item><item><title>My Article "old mistakes in a new guise"</title><description>&lt;a href="http://www.magrails.com/posts/old-mistakes-in-a-new-guise"&gt;My Article "old mistakes in a new guise"&lt;/a&gt;: &lt;p&gt;Article I wrote and put on the Magrails site. Enjoy.&lt;/p&gt;</description><link>http://www.francisfish.com/post/11984336926</link><guid>http://www.francisfish.com/post/11984336926</guid><pubDate>Thu, 27 Oct 2011 08:28:39 +0100</pubDate></item><item><title>False Analogy - meh</title><description>&lt;p&gt;Just had a stupid Twitter spat with someone about the analogy that asking someone to predict the number of bugs is like asking a chef to predict the number of people who will fall ill.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s hard to discuss things in 140 characters, particularly if the individual is some kind of pedant who just can&amp;#8217;t be wrong. I used the term &lt;a href="http://en.wikipedia.org/wiki/False_analogy"&gt;false analogy&lt;/a&gt;, which was originally coined by the long-dead English philosopher &lt;a href="http://en.wikipedia.org/wiki/John_Stuart_Mill"&gt;John Stuart Mill&lt;/a&gt;. Mill meant that the analogy was being misapplied and did not fit where it was being used. However I was dealing with an über geek, who took the literal meaning of the term and started off a load of crap about how analogies are by definition false. Meh, I really must not assume that people know the same things I do. I&amp;#8217;ve been using this term (without any problems) for years, but I also did study philosophy in my youth (30 odd years ago now).&lt;/p&gt;

&lt;p&gt;My take was that we have more than 100,000 years of cooking expertise and 40 or so of software engineering. We&amp;#8217;ve already been through the &lt;em&gt;how do I cook that tuber full of starch in such a way it won&amp;#8217;t poison me&lt;/em&gt; stage of our culinary development longer ago than most of us can conceive of. In software terms we&amp;#8217;re still finding out that starch is good for us. Also most chefs, in my experience, don&amp;#8217;t measure their success or failure by how ill their customers are. They measure by whether their customers come back to the restaurant, which is a result of the 100,000 years.&lt;/p&gt;

&lt;p&gt;So, tried to make this point in 140 characters - mistake!&lt;/p&gt;

&lt;p&gt;I got some stuff back about how our knowledge of germs and software are about the same. Still not true, actually, because there are a hell of a lot less people creating software than there are people who cook food and follow basic hygiene. But I can&amp;#8217;t be bothered with this argument, I really can&amp;#8217;t.&lt;/p&gt;

&lt;p&gt;Some people just have to win, and aren&amp;#8217;t short on off the cuff insults. So I unfollowed and blocked. Got better things to do, &lt;a href="http://www.notquitewrong.com/rosscottinc/comics/2011-08-03-madaboutsomething.jpg"&gt;seriously&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;The other thing I&amp;#8217;ve noticed is that some people seem to have a supply of URL&amp;#8217;s they need to make a point - and just throw them at you at any opportunity without even thinking. I&amp;#8217;ve never used tumblr, but suspect that this is a symptom of using it. For example I mentioned there is a model for bugs. I really meant for how long things take, as in using kanban you can say things to the business like &lt;em&gt;I can promise that a ticket takes between 10 and 15 days once it hits the started state&lt;/em&gt;.  I got pointed at &lt;a href="http://www.kaner.com/pdfs/metrics2004.pdf"&gt;this&lt;/a&gt;(PDF) - I don&amp;#8217;t care, all I&amp;#8217;m interested in is shipping stuff that works. I leave the pedantic stuff full of meaningless definitions that don&amp;#8217;t fit what I do to the people who care about this stuff.&lt;/p&gt;

&lt;p&gt;Statistically, if you keep metrics about your kanban board, you can make predictions like this. You can employ different confidence limits depending on how important the predictability is. David Anderson talks about this in his &lt;a href="http://t.co/9uFKKQAV"&gt;Kanban Book&lt;/a&gt; at some length. But it&amp;#8217;s not the kind of ISO crap, it&amp;#8217;s predictably shipping useful stuff. I believe the book he&amp;#8217;s writing at the moment covers it in more detail, because I heard this at his keynote at Agile Cambridge last month.&lt;/p&gt;

&lt;p&gt;Statistics are interesting. You can say how long any &lt;em&gt;particular&lt;/em&gt; job will take, just look at the distribution of how long it &lt;em&gt;might&lt;/em&gt; take. That&amp;#8217;s the way it rolls. But then I also studied statistics in my youth, and even have a B. Sc. in it.&lt;/p&gt;

&lt;p&gt;Tweeting things like &lt;em&gt;I&amp;#8217;m surprised an agile coach would say this&lt;/em&gt; and lecturing a practising Buddhist about koans as analogies (although we don&amp;#8217;t have them in the Tibetan tradition - and they aren&amp;#8217;t analogies, but I don&amp;#8217;t have the energy to bother explaining why) is more than a little insulting. But the interwebs are full of such comments.&lt;/p&gt;

&lt;p&gt;In any event - that&amp;#8217;s my take and I don&amp;#8217;t care to discuss it with people who are going to make ill considered, insulting comments in 140 characters. Or I&amp;#8217;ll have to go up to &lt;a href="http://www.notquitewrong.com/rosscottinc/comics/2011-08-03-madaboutsomething.jpg"&gt;dickfinity&lt;/a&gt; on ya.&lt;/p&gt;

&lt;p&gt;Plus I also changed my Twitter profile to spell &lt;a href="http://arxta.net/"&gt;agile with a lower case A&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Oh, and it should probably have been &lt;em&gt;stupid hyperbole&lt;/em&gt;, not false analogy. But I didn&amp;#8217;t want to start a row. More fool me.&lt;/p&gt;</description><link>http://www.francisfish.com/post/11955841871</link><guid>http://www.francisfish.com/post/11955841871</guid><pubDate>Wed, 26 Oct 2011 19:27:00 +0100</pubDate></item><item><title>How I Fast Test with Rails</title><description>&lt;a href="http://www.supaspoida.com/2011/10/16/how-i-fast-test-rails.html"&gt;How I Fast Test with Rails&lt;/a&gt;</description><link>http://www.francisfish.com/post/11941513199</link><guid>http://www.francisfish.com/post/11941513199</guid><pubDate>Wed, 26 Oct 2011 07:07:26 +0100</pubDate></item><item><title>Chapter 4 of Grtz now available</title><description>&lt;p&gt;This is my comic SF novel – however it mostly takes the rise out of corporate culture … have fun.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.francisfish.biz/_documents/grtz1.pdf"&gt;1 Bay Sick Training&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.francisfish.biz/_documents/grtz2.pdf"&gt;2 Down Sizing&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.francisfish.biz/_documents/lumpy.pdf"&gt;3 Lumpy&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.francisfish.biz/_documents/Any%20colour%20you%20like.pdf"&gt;4 Any Colour you Like&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://www.francisfish.com/post/11958533550</link><guid>http://www.francisfish.com/post/11958533550</guid><pubDate>Sat, 25 Jun 2011 17:41:51 +0100</pubDate></item><item><title>Buddhism and Depression</title><description>&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; I write this back in 2009, and was leery of making some of the things here public. I have decided that it’s better to think of others first and not worry about it. I hope this helps.&lt;/p&gt;

&lt;hr&gt;&lt;div id="buddhism-and-depression"&gt;
&lt;div id="contents"&gt;
&lt;p&gt;Contents&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="#dedication" id="id7"&gt;Dedication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#introduction" id="id8"&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-ground-of-depression" id="id9"&gt;The ground of depression&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="#the-centre-of-the-universe" id="id10"&gt;The centre of the universe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#blaming-others" id="id11"&gt;Blaming others&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#mental-poisons" id="id12"&gt;Mental poisons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#heavy-mind" id="id13"&gt;Heavy mind&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#calming-the-mind" id="id14"&gt;Calming the mind&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#reality-and-you-some-things-to-muse-on" id="id15"&gt;Reality and you – some things to muse on:&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="#impermanence" id="id16"&gt;Impermanence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#who-is-in-control" id="id17"&gt;Who is in control?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#permission-to-hate" id="id18"&gt;Permission to hate&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#stopping-the-voice" id="id19"&gt;Stopping the voice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#looking-past-the-end-of-your-nose" id="id20"&gt;Looking past the end of your nose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#the-middle-way" id="id21"&gt;The Middle Way&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#more-help" id="id22"&gt;More help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#closing-remarks" id="id23"&gt;Closing remarks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#bibliography" id="id24"&gt;Bibliography&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;div id="dedication"&gt;
&lt;h2&gt;&lt;a href="#id7"&gt;Dedication&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Homage to Manjushri, the embodiment of wisdom. Gratitude and praise to my lama Jampa Thaye and his
lama Karma Thinley Rinpoche for sharing the teachings and keeping them alive in these dark times.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="introduction"&gt;
&lt;h2&gt;&lt;a href="#id8"&gt;Introduction&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I write here to help others who have been or are afflicted with this condition. After many years
struggling with it I find myself not needing the medication I used to have to take; I also have
a much healthier view of the world and my own place in it. I want to share what I have discovered in
the process of becoming a Buddhist, in the hope that it may benefit others.&lt;/p&gt;
&lt;p&gt;I cannot condone anyone who is on medication for a depressive condition stopping the medication and
&amp;#8220;just meditating&amp;#8221;. If you are ill take your medicine, talk to your counsellor, don’t be foolish. You
are drowning and these medicines and skilled professionals are holding out a hand to keep your head
out of the water and stay breathing. Take the hand, please. I believe that I would not be alive
writing this without modern antidepressant medication and other support I received over the
years. Once you are in recovery and have some control then by all means try and withdraw, but seek
medical advice and support. The mind is a wonderful and dangerous thing, and these medications can
also be dangerous if you don’t withdraw from them carefully.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="the-ground-of-depression"&gt;
&lt;h2&gt;&lt;a href="#id9"&gt;The ground of depression&lt;/a&gt;&lt;/h2&gt;
&lt;div id="the-centre-of-the-universe"&gt;
&lt;h3&gt;&lt;a href="#id10"&gt;The centre of the universe&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Most people feel down or unhappy at some time in their lives – we are all human and this is
inevitable, something that cannot be avoided. Depression distorts your view of the world and clings
to the bad and makes the good tainted and bitter. The mind’s view of reality is skewed and
everything becomes wrong or bad. Depressives, like most people, are obsessed with themselves, and
because they do not &lt;em&gt;like&lt;/em&gt; themselves nothing can ever be right. They also live in a dark world of
self-fulfilling prophecy where their self-hatred is reaffirmed by everything that goes on around
them. It is quite usual for someone in a downward spiral of acute depression to drive away those
that love and care for them and say that they should not waste their time.&lt;/p&gt;
&lt;p&gt;Poor you. That is the thought that comes again and again. It’s a childlike view, but in fact only a
more extreme form of the view that most people have, placing themselves in the centre of the
universe. I used to hear a quiet, nagging voice all the time telling me I was too ill to do things
and that I was tired. All the time. This voice also tells you that you can’t do things, or that you
are a failure, or that everybody hates you, depending upon its mood. It is a peculiarly comforting
voice because it confirms your prejudices and allows you to opt out of &lt;em&gt;everything&lt;/em&gt; and descend
into a delicious torpor.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="blaming-others"&gt;
&lt;h3&gt;&lt;a href="#id11"&gt;Blaming others&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Another mental construct is pushing all your problems onto others. By this I mean siting
responsibility for your happiness and well being outside yourself. This means that you can point to
someone else and say &amp;#8220;they shouldn’t have hurt me all those years ago, it’s &lt;em&gt;their&lt;/em&gt; fault&amp;#8221;. The
Buddha pointed out that there are no external agencies that you can rely on for your happiness,
because none of them are reliable. The converse is also true: you can’t blame a single person for
your continuing misery, either. Most of what goes on in your head is directly under your control;
you just need to learn how to find that control.&lt;/p&gt;
&lt;p&gt;The therapeutic counselling I have had centres on challenging the depressive faulty world view. Not
necessarily challenging their own sense of being the centre of the universe, but certainly that the
universe is out to get them. A common test to see how ill a person is revolves around simply asking
them about how they look at the world and can accept what happens their relationships, do they lose
their temper, do they feel people are out to get them and so on. Most people score two or three out
of twenty, depressives score above five. My counsellor told me that one of her clients had scored
the maximum I felt tears spring to my eyes in sympathy for this person.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="mental-poisons"&gt;
&lt;h3&gt;&lt;a href="#id12"&gt;Mental poisons&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Even when a depressed person isn’t curling up in a ball and waiting to die and outward appearances
are reasonably good it is possible to see their mental poisons working in them. If you see yourself
as something to be hated and spat upon then that is how you behave: if you are a perennial victim
then you will never escape from your victim hood. I call this, metaphorically, &amp;#8220;sticking your hand
in the blender&amp;#8221;. It is a product of low self-esteem, and that of depressives is the lowest of all.&lt;/p&gt;
&lt;p&gt;The motor of the anxiety is the incorrect view of the world; because it seems to be &amp;#8220;out to get you&amp;#8221;
you go into what psychologists call &amp;#8220;fight or flight&amp;#8221; mode. This is the physical readiness to either
defend yourself or run away, that comes from our primate ancestors. The mind is locked into a place
where it feels mildly threatened all the time. This makes sleep difficult and the adrenaline
coursing through the body fuels irrational, aggressive behaviour. One way to combat this is to get
some exercise, but of course the constant edginess and lack of sleep makes motivation hard to
find. It may sound odd but I have often found a short brisk walk gets rid of at least some of the
feelings of anxiety because it allows your body to get rid of the poisons in the blood.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="heavy-mind"&gt;
&lt;h3&gt;&lt;a href="#id13"&gt;Heavy mind&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;The depressive feels fixed and unchanging, in fact we all do, but the mind is in constant motion and
the heaviness and &amp;#8220;stuckness&amp;#8221; is an illusion. The mind is not a solid thing stuck in one place, if
it were then you could never learn anything or experience anything new. The mind feels heavy, like
everything is being seen and heard dimly and understanding what is going on around you takes
enormous amounts of energy to overcome the inertia. The heaviness affects everything and it is
almost as if the sun has been &amp;#8220;turned down&amp;#8221; a few notches.&lt;/p&gt;
&lt;p&gt;I remember once describing a severe episode as being like having a constant irritating noise in your
ear; every thought and action was hard to do because of it. A lot of effort was needed to start
doing &lt;em&gt;anything&lt;/em&gt; and get past the fear. It prevented proper understanding of other people because
just &lt;em&gt;thinking&lt;/em&gt; itself was hard, way before any &lt;em&gt;doing&lt;/em&gt; could even be attempted. The &amp;#8220;noise&amp;#8221;
eventually went away and it went away when I made myself do things.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="calming-the-mind"&gt;
&lt;h2&gt;&lt;a href="#id14"&gt;Calming the mind&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The techniques described here are simple, but that does not mean they are easy. To have any
beneficial effect you must be prepared to work at them. The technique described here is known
as calm abiding or shamatha. It is one of the fundamental meditation techniques and has been used by
many disciplines, including modern Western medicine, to calm people. &lt;a href="#f1" id="id1"&gt;&lt;sup class="footnote" id="fnr1"&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table frame="void" id="f1" rules="none"&gt;&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="#id1"&gt;&lt;sup class="footnote" id="fnr1"&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;For example see &lt;em&gt;A Little Book of Calm&lt;/em&gt; amongst many others.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;The steps are as follows:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;You must find somewhere you can be undisturbed and relaxed. Posture is important, the back must
be straight so you can breathe properly using your diaphragm. This is why Buddhists generally sit
cross legged with a cushion under their backsides; it pitches the hips slightly forward and down
and gives a straight back when done properly. A straight backed chair will do. Please note that a
&amp;#8220;straight&amp;#8221; back is actually slightly S shaped when relaxed properly with the components of the
spine lying correctly on top of one another, a back that is straight like a ruler is very
uncomfortable and stressed.&lt;/li&gt;
&lt;li&gt;Get yourself into this relaxed posture looking slightly down. It may help at first to close your
eyes, but usually the recommendation is to have the eyes slightly closed and relaxed. Now simply
count as you breathe in and out normally, counting on the out breath. In my tradition we try to
count to twenty-one and then start again; other traditions use different numbers or even none at
all. The aim is to give the mind something easy and relaxing to do so that its constant running
off onto different thoughts can be slowed down.&lt;/li&gt;
&lt;li&gt;What you will find at first is that it is probably quite hard to get past about ten or so before
your mind wanders off and starts worrying at something. This is fine and quite normal. You need
to gently take the energy away from the thought, let it fade, and then resume the counting. It
doesn’t matter where you count from, start again if you can’t remember; there is nothing magical
about the number, it is just something to occupy the mind while you learn to control it a little.&lt;/li&gt;
&lt;li&gt;Initially do not try to do this more than five minutes at a stretch. Pushing too hard will just
make it push back and frustrate you. It is much harder than it sounds and your mind has deeply
ingrained habits of running away down interesting mental rabbit holes. The key thing is to learn
to gently catch it running away and return it to watching the breath. This also technique is good
for calming yourself down if you are upset or angry by taking your attention away from the things
that are bothering you.&lt;/li&gt;
&lt;li&gt;You need to try and do this regularly every day and slowly build up the amount of time you spend
on it, maybe to ten or twenty minutes. It is best to do the technique just after you have woken
up. If you are only doing a few minutes you could just sit straight at the edge of the bed, get
ready and then hit the sleep button on your alarm clock and use the &amp;#8220;sleep&amp;#8221; minutes to meditate
- this means you don’t have to worry about watching clocks and worrying about being late.&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;It is important not to &amp;#8220;shout&amp;#8221; at your mind and get angry and try and &lt;em&gt;force&lt;/em&gt; it to be still because
it can’t do this simple task. It has never had to do this before, usually it can just run off
wherever it likes and you are asking it to do something it has never done. As stated earlier it is
simple, but not easy. Learning to calm the mind is work, you need to discover how to stop the energy
of thoughts spiralling away from you by gently taking it away. The mind is a paradoxical thing; the
more you fix on anything, whether you love or hate it, the more you think about it. The more you try
not do do something the more you want to do it. The more you try and suppress something the more it
will not be suppressed. The mind spends its energy in fixing on things for good or bad. Relaxing the
mind allows it to become still and free itself from whatever is worrying it.&lt;/p&gt;
&lt;p&gt;After a week or perhaps longer you should notice that you have discovered that there is a small gap
between having a thought and acting on it. You no longer have to react straight away. The door of
the prison of reacting instantly to everything is slightly open and you realise that even when
provoked or under a lot of mental strain you always have a choice in how you perceive and then react
to things. As you increase the amount of calm abiding you do this sense of being a little bit in
control of your mind and not having to react instantly will increase, but it comes from being
relaxed, not from fighting or getting frustrated. The next step is to work out what to do with it.&lt;/p&gt;
&lt;p&gt;As your awareness of the workings of your mind becomes sharper you will also notice that there is a
&amp;#8220;voice&amp;#8221; to your mind that has the thoughts you are taking the energy away from and allowing to
fade. A depressed person’s voice is usually saying negative unhelpful things quietly and
persistently. Now that you are aware of the voice you can challenge its assumptions and stop
listening to it. This is also the voice people hear when they are justifying themselves, it is very
strong and good at justifying anything. You can see it better in other people when they do something
selfish or inconsiderate and then make themselves out to be some kind of martyr beyond criticism,
realise that this voice is there in your head too and learn to recognise it. When I didn’t want to
do something I used to hear a voice telling me I felt ill, now I just do things that need to be done
and I don’t hear the voice any more – it’s very liberating.&lt;/p&gt;
&lt;p&gt;You will not become some kind of saint overnight, but you will gain some insight into the workings of your
own mind and some control over its constant wandering and self justification. You need to treat
yourself with the compassion and patience you would treat a frightened child learning some new task,
because that is what you are attempting. You are trying to get the tools to lead that child away from
the painful trap it has made for itself to somewhere better, so be patient and kind to yourself
first. Tibetans have a saying: leap like a tiger, walk like a tortoise. &lt;a href="#f2" id="id2"&gt;&lt;sup class="footnote" id="fnr2"&gt;&lt;a href="#fn2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt; Your intellectual
understanding may happen very quickly, but changing your actual behaviour and core beliefs based on
that understanding will take a lot of time and patience.&lt;/p&gt;
&lt;table frame="void" id="f2" rules="none"&gt;&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="#id2"&gt;&lt;sup class="footnote" id="fnr2"&gt;&lt;a href="#fn2"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Lama Jampa has written a book with this title aimed at beginners on the Buddhist path,
which also explains shamatha mediation. See &lt;a href="http://www.dechen.org/shop/books.html"&gt;&lt;a href="http://www.dechen.org/shop/books.html"&gt;http://www.dechen.org/shop/books.html&lt;/a&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div id="reality-and-you-some-things-to-muse-on"&gt;
&lt;h2&gt;&lt;a href="#id15"&gt;Reality and you – some things to muse on:&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A depressive’s view of their place in the world is incorrect and damaging to their peace of
mind. This section consists of a few Buddhist ideas that may be unfamiliar that can give you a more
rational perspective. There is nothing mystical about them, they are just a different way of looking
at the world that might be unfamiliar to someone brought up in the West.&lt;/p&gt;
&lt;div id="impermanence"&gt;
&lt;h3&gt;&lt;a href="#id16"&gt;Impermanence&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Because the things you think will make you happy will eventually cease to be, just like they once
didn’t exist, you cannot rely on them. Your mind has tricked you into believing that if you have
that thing, have a relationship with that boy or this girl, possess that car or this house, then you
will be happy. Oddly, as a depressive, you already know this isn’t true because your depression
tells you so. Your view of your place world is much more honest than most people’s, but that
doesn’t mean the dark things you also believe are true, either.&lt;/p&gt;
&lt;p&gt;How does this help you if you are depressed? The first thing to say is that impermanence means that
your unhappiness is no more permanent than happiness, it will pass. It may seem unbearable but it
will pass. Impermanence can seem bleak, because it means that the things that &amp;#8220;make&amp;#8221; you happy are
always going to leave you too. So, enjoy them while you have them and then accept they will leave
eventually, you are nothing more than a caretaker. There is no need to be permanently miserable and
no need to look back all the time. By the same token living in the future can be painful because it
will not conform to what you want either. The only thing you have is the moment you are living now
and one of the things the calm abiding meditation technique outlined earlier does is help you become
much more aware of that moment.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="who-is-in-control"&gt;
&lt;h3&gt;&lt;a href="#id17"&gt;Who is in control?&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Because the world you live in is shaped by your mind you have some control over it. Not the crazy
idea that you could do something like change the weather, but more that you can put a coat on if
it’s cold and that bad weather ruining your plans just means you need to make other plans. One thing
you always have control over is how you react to events. Things don’t &amp;#8220;make&amp;#8221; you happy or unhappy,
they come and go. The chocolate cake you crave for doesn’t &amp;#8220;make&amp;#8221; you eat it, it’s just cake. The
strange thing is that this view gives you more freedom to act and find contentment – the cake will
taste better too because you aren’t answering a craving but eating because you are hungry and are
free to enjoy it for itself.&lt;/p&gt;
&lt;p&gt;To return to the question again – how does this help you if you are depressed? In essence you feel
bad because of choices you have made, usually unconsciously, about how you react to the world and
other people around you. It starts with the centre of the universe being your own perceptions and
feelings, then everything that happens to you is loaded with a heavy significance and seems to have
been designed to hurt you and twist you up inside. Of course, you may also have a predisposition to
feeling like this too, which makes getting onto the downward spiral easier than it might be for
other people.&lt;/p&gt;
&lt;p&gt;The process is self reinforcing – if you feel bad you withdraw and want to be left alone, things
happen and your mind puts a slant on everything that makes you feel like the world is out to get you
so you withdraw some more. Perhaps you lash out, either directly or indirectly at the world, or get
drunk and behave really badly (for example) and maybe some things that really are meant to hurt you
happen because other people are annoyed with you, so you withdraw some more. Eventually you feel
terrible and hurt inside and can’t remember when it began, then anxiety hits.&lt;/p&gt;
&lt;p&gt;Calm abiding meditation gives you the tool to see the spiral happening if you use it properly. You
also need to start questioning the global conspiracy to make you miserable and upset – laugh about
it to yourself a little, it isn’t real, nobody has the time or the energy to do such a thing -
particularly if you manage to do it so well on your own without any help. Ask yourself: why would
they bother? In terms of the infinite universe we live in you really aren’t important enough, we are
all tiny impermanent bubbles frothing on a wave and have little to worry about really.&lt;/p&gt;
&lt;p&gt;Even if someone is out to &amp;#8220;get&amp;#8221; you because of some history you have with them you don’t have to
join in any more. You can shrug and move on when they try and hook you with some juicy morsel that
allows you to be angry and upset. No-one forces you to react to anything, however you might
feel. It’s quite likely that you are &amp;#8220;sticking your hand in the blender&amp;#8221;, as described
earlier. No-one is making you do repetitive self-destructive things or lash out and roar like a
wounded bear. You can choose not to once you realise that there is a gap between thinking something
and doing it.&lt;/p&gt;
&lt;p&gt;Imagine that you spend your life walking around a town or city, when you pass down a particular
street you fall down a hole in the road. It is painful takes a lot of time and energy to escape
from. The next time you fall down the hole again because you weren’t paying attention to your
whereabouts. This keeps happening until you learn to pay attention to what is happening around
you. One day you walk past the hole. Another day you walk down a different street. It is is
literally all in the mind, and you can choose how you react to things. Yes, you are a prisoner, but
you locked yourself in there – no-one else did – and you can escape if you are willing to work at
it. And no, you can’t sue anybody, everybody falls down the hole – it’s part of learning to take
responsibility for your life. &lt;a href="#trungpa" id="id3"&gt;&lt;sup class="footnote" id="fnr3"&gt;&lt;a href="#fn3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
&lt;table frame="void" id="trungpa" rules="none"&gt;&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="#id3"&gt;&lt;sup class="footnote" id="fnr3"&gt;&lt;a href="#fn3"&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;I think this is from &lt;em&gt;Spiritual Materialism&lt;/em&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div id="permission-to-hate"&gt;
&lt;h3&gt;&lt;a href="#id18"&gt;Permission to hate&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;This section has an odd title. It is a reflection on how your actions allow others to behave towards
you. If you hate someone and behave towards them in a hateful way, for example saying or doing
unkind things towards them behind their back, what does it allow them to do? It makes it OK for them
to do the same to you, doesn’t it? In fact it’s even worse than that – it makes it OK for &lt;em&gt;anyone&lt;/em&gt; to
do it to you, never mind your enemies.&lt;/p&gt;
&lt;p&gt;Hating gives permission to hate. This is true of all negative activity: if it has been made &amp;#8220;normal&amp;#8221;
to do it then it will be more likely to happen. You need to consciously guard the way you think and
behave so you don’t give others permission to be negative or unkind back to you. It also gives you
the authority to gently point out that this kind of behaviour is unacceptable, without being
hypocritical.&lt;/p&gt;
&lt;p&gt;The wonderful and enriching thing about this is praise gives permission to praise, loving-kindness
gives permission for loving-kindness. It’s better to start from there, isn’t it? This may sound
cheesy to some, but think about it, being trite doesn’t stop it being true, does it?&lt;/p&gt;
&lt;p&gt;In a probably too simplistic nutshell, this encapsulates the concept of karma. It isn’t some kind of
ridiculous caricature of divine punishment. It’s just that any action has consequences in your life
and it’s always better to choose kindness than misery.&lt;/p&gt;
&lt;p&gt;When you are extremely depressed it is easy to fall into a habit of thinking &amp;#8220;everybody hates me, I
am worthless&amp;#8221;. Then, being human, you kick against it and become angry. So you look at the world
with an angry face. The world will look back at you like a mirror. I learned to look people in the
eye (go gently at first or people will be scared of you!) and smile. Then I listened to what they
were saying without interrupting &lt;a href="#f3" id="id4"&gt;&lt;sup class="footnote" id="fnr4"&gt;&lt;a href="#fn4"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;. Suddenly a lot of barriers that used to hurt me, things
continually going wrong and making me angry and upset, just disappeared. It’s very hard to make this
transition but worth trying.&lt;/p&gt;
&lt;table frame="void" id="f3" rules="none"&gt;&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="#id4"&gt;&lt;sup class="footnote" id="fnr4"&gt;&lt;a href="#fn4"&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;We have two ears and one mouth and should use them in that proportion. I don’t know who
said this originally, but it is good advice.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;As has been said here over and over again, take small steps and don’t beat yourself up if you slip
back. One small change to a bad habit every day, or even every week, and you will change irrevocably
for the better quite quickly. But you aren’t perfect – it’s fine not to be. Our Western education
system teaches us that you must be right all the time, and in some religious systems there is a
concentration on sin and blame to the exclusion of our human potential for goodness. But you are
human and therefore imperfect, so it really isn’t a big deal to be what you are &lt;a href="#f4" id="id5"&gt;&lt;sup class="footnote" id="fnr5"&gt;&lt;a href="#fn5"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;. Learn from
your mistake, look for how your anger, pride or whatever it was ambushed you and work out what to
watch for. Next time that mistake probably won’t happen – but something else will! It’s the human
condition, and it’s what you have to work with, so relax.&lt;/p&gt;
&lt;table frame="void" id="f4" rules="none"&gt;&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="#id5"&gt;&lt;sup class="footnote" id="fnr5"&gt;&lt;a href="#fn5"&gt;5&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;I fact you can be nothing else!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;div id="stopping-the-voice"&gt;
&lt;h3&gt;&lt;a href="#id19"&gt;Stopping the voice&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;I came up with this technique after realising that I had a self-deprecating voice in my head,
constantly criticising me and putting me down. I’m not sure how Buddhist it actually is, but I did
find some benefit from it so I will outline it here:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Give the negative voice a face, in my case I imagined a black crow sitting on my shoulder.&lt;/li&gt;
&lt;li&gt;Let the voice start speaking – its voice is loud and scratching, irritating in the extreme.&lt;/li&gt;
&lt;li&gt;Look at the crow, or whatever creature you have imagined.&lt;/li&gt;
&lt;li&gt;Remove it gently it from your shoulder and say, to it &amp;#8220;I will not listen to you any more&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Offer it a cake or something pleasant and ask it to leave with a smile on your face.&lt;/li&gt;
&lt;li&gt;Do not listen to it any more. Seriously, that’s all it takes. You may have to do this quite a few
times, particularly when you are stressed and upset by the voice. But it can be done.&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;
&lt;div id="looking-past-the-end-of-your-nose"&gt;
&lt;h3&gt;&lt;a href="#id20"&gt;Looking past the end of your nose&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Everybody’s favourite topic of conversation is themselves. Depressives do not differ from anybody
else on this score, but unfortunately they are hampered by a strong dislike of themselves, even an
irrational anger, and it hurts to constantly be thinking of something you hate. Ask yourself this:
if you dislike yourself so much why do you think about yourself so much?&lt;/p&gt;
&lt;p&gt;Depressives feel isolated, like they are the only people feeling these terrible feelings about
themselves and the world around them. The fact is that everybody is deluded and acts like they are
in a film of their lives, with a script they can control, when in fact they only really control how
they react to things and what choices they make when a choice can be made. As was said earlier, it’s
likely that your unhappiness is more honest than other people’s; your depression has given you
insight into the inevitability of things breaking and ending – it is good to muse on these
things. The problem is you need to get rid of the tendency to take this insight to an unhealthy
extreme and hurting yourself.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="the-middle-way"&gt;
&lt;h3&gt;&lt;a href="#id21"&gt;The Middle Way&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;In the West we have been infected with a binary blindness. Things have to be good or bad, right or
wrong. The path you follow must be one thing or another, if you aren’t for X (pick one) you must be
against it. If you live a binary life it’s easy because you don’t have to make decisions about a lot
of things, or even take responsibility because you are just following the edge of the maze of life
by always keeping to one side of the path. Usefully, someone else has usually set up the
distinctions so you don’t have to think about it. For example alcohol is banned by some religions,
in Buddhism we take a vow not to become intoxicated, because that’s when you can lose control and do
or say something you will later regret. But it isn’t banned outright, people are expected to find
the limits they are comfortable with and live within them. They are expected to think for themselves
and know what they need to do to stay on the right side of this &lt;a href="#f6" id="id6"&gt;&lt;sup class="footnote" id="fnr6"&gt;&lt;a href="#fn6"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;table frame="void" id="f6" rules="none"&gt;&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="#id6"&gt;&lt;sup class="footnote" id="fnr6"&gt;&lt;a href="#fn6"&gt;6&lt;/a&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;Monks and Nuns are not allowed alcohol. They also have many other vows and pledges that lay
people don’t. The Tibetan saint Milarepa, who was an ascetic rather than a monk, said that he
simply wasn’t strong enough to be a house holder like his own master Marpa. The monastic vows
make things easier, not harder, if you approach them in the right way.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;The world around you isn’t binary, some kind of flip flop into either/or. Before the Buddha became
enlightened he subjected himself to terrible deprivations, starving himself so that he could lose
his attachment to his body. One day he heard a musician talking to his apprentice: if the strings
are too tight then the instrument will not play, if they are too loose then they will buzz and not
play either. Buddha realised that the proper path is between all extremes. In fact a great many of
the deep teachings about the nature of reality revolve around this point.&lt;/p&gt;
&lt;p&gt;How does this help you if you are depressed? You are in an extreme state of mind and it makes you
think and act in extreme ways. You may give other people the benefit of the doubt and even encourage
them to do better rather than pouring down heavy criticism on them but you won’t do it for
yourself. Speaking personally my own perfectionism held me back trying all kinds of things I am now
quite good at. Saying you won’t do something is very different from saying you can’t.&lt;/p&gt;
&lt;p&gt;You need to examine what you do and see if you are following an extreme path, for example no
exercise or too much exercise, working too hard or being lazy, overindulging in chocolate or
alcohol. Instead of being a binary person, going for boom and bust start trying to find the middle
way. Use the habit of strong introspection depression has given you to examine what you do for these
on/off patterns and start trying to be more like the strings that are at the correct tension. Binary
people are also completely helpless when they are confronted with anything new, who wants to be like
that?&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="more-help"&gt;
&lt;h2&gt;&lt;a href="#id22"&gt;More help&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I am a member of the Dechen community, found at &lt;a href="http://www.dechen.org"&gt;&lt;a href="http://www.dechen.org"&gt;http://www.dechen.org&lt;/a&gt;&lt;/a&gt;. We run classes to introduce
people to Buddhism and simple meditation techniques, you can find out more from the website. We also
occasionally teach from the texts on &lt;em&gt;sending and taking&lt;/em&gt; that might be a logical next step after
you have been working on calm abiding for a while. In any event if you go looking for a teacher you
need to satisfy yourself as to their qualifications; make sure that they studied under a recognised
teacher themselves, and that their teacher has given them permission to teach. Do not be afraid to
ask questions of people, it is part of the tradition for a potential student to make sure that the
teacher is properly qualified and they will not be offended in the slightest.&lt;/p&gt;
&lt;p&gt;Be warned, though, that Buddhist teachers teach Buddhism first. For Buddhists the purpose of
meditation is to eventually gain enlightenment. A sincere teacher will not turn you away if you are
in distress, but if you want tuition in calm abiding in a secular context it may be better to go to
a yoga teacher or class. Any activity that involves movement and calming the mind will be useful.&lt;/p&gt;
&lt;p&gt;If you are really suffering and have read this text I hope it helped you gain a better perspective
on your problems. You must acknowledge your distress and get help, once you get past a certain point
is is extremely difficult to resolve this condition on your own. I know from my own family that
depression can kill you, so don’t take it lightly or pretend you can get by as each day becomes even
harder than the last. Western medicine has come a long way in the last few years and you may not
like the side effects of the pills they give you, but side effects are better than being dead and
beyond help. Then you can think about other ways of sustaining yourself in the long term.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="closing-remarks"&gt;
&lt;h2&gt;&lt;a href="#id23"&gt;Closing remarks&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Traditional texts open with a dedication and explanation of their purpose as this one did. They
close acknowledging the origin of the teachings contained in them. In that vein I dedicate whatever
merit this text may have to the benefit of others, with gratitude to my lama, Jampa Thaye.&lt;/p&gt;
&lt;/div&gt;
&lt;div id="bibliography"&gt;
&lt;h2&gt;&lt;a href="#id24"&gt;Bibliography&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Eight Verses for Training the Mind, trans. Lama Jampa Thaye, Ganesha Press&lt;/p&gt;
&lt;p&gt;The Way of Tibetan Buddhism, Lama Jampa Thaye, Thorsons 2001&lt;/p&gt;
&lt;p&gt;Leap Like a Tiger, Walk like a Tortoise, Lama Jampa Thaye, Ganesha Press, 1994&lt;/p&gt;
&lt;p&gt;The Telescope of Wisdom, Karma Thinley Rinpoche, trans. Adrian O’Sullivan, Ganesha Press, 2009&lt;/p&gt;
&lt;p&gt;The Four Thoughts that Turn the Mind to Dharma, Lama Jampa Thaye, Ganesha Press&lt;/p&gt;
&lt;p&gt;Luminous Mind, Kalu Rinpoche, Wisdom Publications 1997, see particularly section 1&lt;/p&gt;
&lt;p&gt;The Great Path of Awakening, Jamgon Kongtrul, trans. Ken McLeod, Shambala Classics 2005&lt;/p&gt;
&lt;p&gt;Dhammapada, Dharma Publishing 1985&lt;/p&gt;
&lt;p&gt;The Art of Happiness, HH The Dalai Lama,&lt;/p&gt;
&lt;p&gt;Awakening the Mind, Lightening the Heart, HH The Dalai Lama, Thorsons. 1997&lt;/p&gt;
&lt;p&gt;Buddha, Karen Armstrong, Phoenix, 2002&lt;/p&gt;
&lt;p&gt;Footnotes&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</description><link>http://www.francisfish.com/post/11958533018</link><guid>http://www.francisfish.com/post/11958533018</guid><pubDate>Tue, 21 Jun 2011 20:52:00 +0100</pubDate></item><item><title>The Warm Gun on sale now</title><description>&lt;p&gt;Back in the 1980’s I wrote a dark novella called &lt;em&gt;The Warm Gun&lt;/em&gt;. It’s not autobiographical in a plot sense, but some of the things in it did happen to me. The horrendous beating at the beginning of the book, for example.&lt;/p&gt;
&lt;p&gt;The machine it was originally written on died and I had a copy of it on paper, so I scanned it all in and then converted it, I did have the beginnings of a new draft as well.&lt;/p&gt;
&lt;p&gt;I have put the new draft with the old and made it make sense.&lt;/p&gt;
&lt;p&gt;I’m looking at how to build an audience for my fiction and other works and decided that a relatively pain free way of doing this would be to publish things for the Kindle. So I registered and put it on there, after purchasing a suitable cover picture from &lt;a href="http://www.istockphoto.com/"&gt;iStockPhoto&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The novella isn’t Hollywood, it doesn’t have clear endings, people don’t always get what they want. It doesn’t have that irritating Ruth Rendell thing where the bad guy or gal dies in a fire to expiate their guilt. It also predates me becoming a Buddhist, so some ideas are not ones I currently hold.&lt;/p&gt;
&lt;p&gt;In any event, I wanted it to be free but Amazon need to cover the distribution costs, so I made it as cheap as I could. I hope you enjoy it.&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://rcm-uk.amazon.co.uk/e/cm?lt1=_blank&amp;amp;bc1=000000&amp;amp;IS2=1&amp;amp;bg1=FFFFFF&amp;amp;fc1=000000&amp;amp;lc1=0000FF&amp;amp;t=franfish-21&amp;amp;o=2&amp;amp;p=8&amp;amp;l=as4&amp;amp;m=amazon&amp;amp;f=ifr&amp;amp;ref=ss_til&amp;amp;asins=B0053D027U" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;h3&gt;Imported Comments:&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Paul Jackson&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve downloaded a copy on to my wife&amp;#8217;s Kindle and look forward to reading it - can you sign her Kindle cover!?&lt;/p&gt;</description><link>http://www.francisfish.com/post/11958151165</link><guid>http://www.francisfish.com/post/11958151165</guid><pubDate>Wed, 01 Jun 2011 21:37:00 +0100</pubDate></item><item><title>Namespaces in Rails 3 and respond_with</title><description>&lt;p&gt;Assume we’ve got a namespace of Customer and in that a controller for Organisations.&lt;/p&gt;
&lt;p&gt;This doesn’t work&lt;/p&gt;
&lt;pre&gt;
class Customer::OrganisationsController &amp;lt; ApplicationController

  respond_to :html 

  def update
    @organisation = Organisation.find(params[:id])
    @organisation.update_attributes(params[:organisation])
    respond_with [:customer,@organisation]
  end

end
&lt;/pre&gt;
&lt;p&gt;It redirects to the customer_organisation show method without checking for errors. I think it &lt;strong&gt;should&lt;/strong&gt; work, but the respond_with code doesn’t handle it properly. Instead, try this:&lt;/p&gt;
&lt;pre&gt;
class Customer::OrganisationsController &amp;lt; ApplicationController

  respond_to :html 

  def update
    @organisation = Organisation.find(params[:id])
    @organisation.update_attributes(params[:organisation])
    respond_with @organisation, :location =&amp;gt; customer_organisation_url(@organisation)
  end

end
&lt;/pre&gt;
&lt;p&gt;I’m not sure it’s annoying enough to want to patch it. There are a lot of edge cases in Rails in general around name spaces. Also, note it’s not just update that needs this but also create.&lt;/p&gt;
&lt;h3&gt;Imported Comments:&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;malclocke&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;respond_with :customer, @organisation should work, without the square brackets&lt;/p&gt;</description><link>http://www.francisfish.com/post/11958150387</link><guid>http://www.francisfish.com/post/11958150387</guid><pubDate>Sat, 07 May 2011 10:49:48 +0100</pubDate></item><item><title>Magrails Survey Results</title><description>&lt;p&gt;Total responents 40&lt;/p&gt;
&lt;p&gt;This is a temporary home for this while the main site is built.&lt;/p&gt;
&lt;h2&gt;Would you attend an Agile Charity Day (there will be a Ruby one anyway)?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;No&lt;/td&gt;
		&lt;td&gt;5&lt;/td&gt;
		&lt;td&gt;12.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Yes&lt;/td&gt;
		&lt;td&gt;35&lt;/td&gt;
		&lt;td&gt;87.5&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;Would you prefer a one or two day conference?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Two&lt;/td&gt;
		&lt;td&gt;11&lt;/td&gt;
		&lt;td&gt;27.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;No preference&lt;/td&gt;
		&lt;td&gt;14&lt;/td&gt;
		&lt;td&gt;35.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;One&lt;/td&gt;
		&lt;td&gt;15&lt;/td&gt;
		&lt;td&gt;37.5&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;Would you like to be on a panel for a balloon debate?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Yes&lt;/td&gt;
		&lt;td&gt;2&lt;/td&gt;
		&lt;td&gt;5.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;?&lt;/td&gt;
		&lt;td&gt;5&lt;/td&gt;
		&lt;td&gt;12.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Maybe&lt;/td&gt;
		&lt;td&gt;13&lt;/td&gt;
		&lt;td&gt;32.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;No&lt;/td&gt;
		&lt;td&gt;20&lt;/td&gt;
		&lt;td&gt;50.0&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;Would you attend a post conference Ruby or Agile Dojo?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;No&lt;/td&gt;
		&lt;td&gt;2&lt;/td&gt;
		&lt;td&gt;5.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Yes&lt;/td&gt;
		&lt;td&gt;38&lt;/td&gt;
		&lt;td&gt;95.0&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;Would you or your company be interested in sponsoring Magrails?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Yes&lt;/td&gt;
		&lt;td&gt;1&lt;/td&gt;
		&lt;td&gt;2.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;?&lt;/td&gt;
		&lt;td&gt;4&lt;/td&gt;
		&lt;td&gt;10.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Maybe&lt;/td&gt;
		&lt;td&gt;14&lt;/td&gt;
		&lt;td&gt;35.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;No&lt;/td&gt;
		&lt;td&gt;21&lt;/td&gt;
		&lt;td&gt;52.5&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;Would you like to help with the organisation of the conference?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;?&lt;/td&gt;
		&lt;td&gt;2&lt;/td&gt;
		&lt;td&gt;5.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Yes&lt;/td&gt;
		&lt;td&gt;7&lt;/td&gt;
		&lt;td&gt;17.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;No&lt;/td&gt;
		&lt;td&gt;12&lt;/td&gt;
		&lt;td&gt;30.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Maybe&lt;/td&gt;
		&lt;td&gt;19&lt;/td&gt;
		&lt;td&gt;47.5&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;What Agile topics would you like to see and discuss?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Is coaching really necessary to make the transition?&lt;/td&gt;
		&lt;td&gt;9&lt;/td&gt;
		&lt;td&gt;22.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Can you resolve the tension between &lt;span class="caps"&gt;YAGNI&lt;/span&gt; and flexibility&lt;/td&gt;
		&lt;td&gt;10&lt;/td&gt;
		&lt;td&gt;25.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Theory of Constraints&lt;/td&gt;
		&lt;td&gt;13&lt;/td&gt;
		&lt;td&gt;32.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class="caps"&gt;YAGNI&lt;/span&gt; means &lt;span class="caps"&gt;YAGNI&lt;/span&gt;&lt;/td&gt;
		&lt;td&gt;15&lt;/td&gt;
		&lt;td&gt;37.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ideas are cheap – a discussion of “Rework” and “Linchpin”&lt;/td&gt;
		&lt;td&gt;18&lt;/td&gt;
		&lt;td&gt;45.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Combating blame culture&lt;/td&gt;
		&lt;td&gt;19&lt;/td&gt;
		&lt;td&gt;47.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;10 years on – what have we achieved, what mountains are still to climb?&lt;/td&gt;
		&lt;td&gt;20&lt;/td&gt;
		&lt;td&gt;50.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;The trap of the Agile Waterfall&lt;/td&gt;
		&lt;td&gt;23&lt;/td&gt;
		&lt;td&gt;57.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Be honest, Agile doesn’t always work&lt;/td&gt;
		&lt;td&gt;23&lt;/td&gt;
		&lt;td&gt;57.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lean and Agile – the same soup or different cuisines&lt;/td&gt;
		&lt;td&gt;23&lt;/td&gt;
		&lt;td&gt;57.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Agile planning&lt;/td&gt;
		&lt;td&gt;28&lt;/td&gt;
		&lt;td&gt;70.0&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;What Agile topics would you like to see that weren’t in the list?&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;agile v fragile – when to say no.  It’s a fine line between being flexible and being stressed and overworked with constantly shifting directions or new features.&lt;/li&gt;
	&lt;li&gt;How to start off&lt;/li&gt;
	&lt;li&gt;Estimation&lt;/li&gt;
	&lt;li&gt;&lt;span class="caps"&gt;CEO&lt;/span&gt; &lt;span class="caps"&gt;ACME&lt;/span&gt; org. Take 2 Agile pills a day for 6months. &lt;span class="caps"&gt;SWOT&lt;/span&gt; for the &lt;span class="caps"&gt;CEO&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;What Ruby/Rails topics would you like to see and discuss?&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;What’s this Rack thing?&lt;/td&gt;
		&lt;td&gt;14&lt;/td&gt;
		&lt;td&gt;35.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;The predictable talk about writing DSL’s&lt;/td&gt;
		&lt;td&gt;15&lt;/td&gt;
		&lt;td&gt;37.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Useful things in Active Record for fun and profit&lt;/td&gt;
		&lt;td&gt;16&lt;/td&gt;
		&lt;td&gt;40.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ruby makes me smile&lt;/td&gt;
		&lt;td&gt;18&lt;/td&gt;
		&lt;td&gt;45.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Does No &lt;span class="caps"&gt;SQL&lt;/span&gt; mean non-Relational?&lt;/td&gt;
		&lt;td&gt;21&lt;/td&gt;
		&lt;td&gt;52.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class="caps"&gt;BDD&lt;/span&gt; is all very well, but I think in code&lt;/td&gt;
		&lt;td&gt;23&lt;/td&gt;
		&lt;td&gt;57.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;What’s so good about Rails 3?&lt;/td&gt;
		&lt;td&gt;25&lt;/td&gt;
		&lt;td&gt;62.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ruby 1.9 for fun and profit&lt;/td&gt;
		&lt;td&gt;28&lt;/td&gt;
		&lt;td&gt;70.0&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;What Ruby topics would you like to see that weren’t in the list?&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Building cross-platform mobile applications with Ruby – introduction to Rhodes&lt;/li&gt;
	&lt;li&gt;Better Rails application design&lt;/li&gt;
	&lt;li&gt;transition to rails 3 – routes&lt;/li&gt;
	&lt;li&gt;bundler&lt;/li&gt;
	&lt;li&gt;unobtrusive js&lt;/li&gt;
	&lt;li&gt;Ruby 1.9 v 1.8&lt;/li&gt;
	&lt;li&gt;which editor – textmate, vim, eclipse… maybe textmate etc. hints and tips&lt;/li&gt;
	&lt;li&gt;improving productivity (I use textmate but I’m sure I’m not using a tenth of what it can do for me)&lt;/li&gt;
	&lt;li&gt;Setting up an agile rails project – the plugins&lt;/li&gt;
	&lt;li&gt;test frameworks etc you should use (ie do it at the start cos retrofitting things like cucumber etc is painful)&lt;/li&gt;
	&lt;li&gt;Rails deployment strategies – phusion v mongrel etc. (I use passenger as it comes on a single box but there must be better ways)&lt;/li&gt;
	&lt;li&gt;Event Machine – writing truly evented systems&lt;/li&gt;
	&lt;li&gt;Making stuff work quickly with quality.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Suggested Balloon Debate topics&lt;/h2&gt;
&lt;table&gt;&lt;tr&gt;&lt;td&gt;Answer&lt;/td&gt;
		&lt;td&gt;Count&lt;/td&gt;
		&lt;td&gt;%&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class="caps"&gt;YAGNI&lt;/span&gt; vs flexible&lt;/td&gt;
		&lt;td&gt;8&lt;/td&gt;
		&lt;td&gt;20.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;ready, aim, fire or ready, fire, aim?&lt;/td&gt;
		&lt;td&gt;10&lt;/td&gt;
		&lt;td&gt;25.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Following processes makes you stupid&lt;/td&gt;
		&lt;td&gt;12&lt;/td&gt;
		&lt;td&gt;30.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Strong typing is for weak minds&lt;/td&gt;
		&lt;td&gt;15&lt;/td&gt;
		&lt;td&gt;37.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;XP/Scrum/Kanban – throw them out the basket&lt;/td&gt;
		&lt;td&gt;17&lt;/td&gt;
		&lt;td&gt;42.5&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;User stories are a bad idea&lt;/td&gt;
		&lt;td&gt;18&lt;/td&gt;
		&lt;td&gt;45.0&lt;/td&gt;
	&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Test driven – bad idea, good idea, what are these test things?&lt;/td&gt;
		&lt;td&gt;27&lt;/td&gt;
		&lt;td&gt;67.5&lt;/td&gt;
	&lt;/tr&gt;&lt;/table&gt;&lt;h2&gt;What Balloon debate topics would you like to see that weren’t in the list?&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;IDEs make you dumb&lt;/li&gt;
	&lt;li&gt;what’s really happening under the hood&lt;/li&gt;
	&lt;li&gt;Cucumber’s wonderful, really&lt;/li&gt;
&lt;/ul&gt;</description><link>http://www.francisfish.com/post/11958531929</link><guid>http://www.francisfish.com/post/11958531929</guid><pubDate>Mon, 04 Apr 2011 22:16:38 +0100</pubDate></item></channel></rss>

