<?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/"
	>

<channel>
	<title>Mangled</title>
	<atom:link href="http://mangled.me/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://mangled.me/blog</link>
	<description>The Mangled world of Matthew</description>
	<lastBuildDate>Mon, 23 Aug 2010 19:45:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>At the weekend I built a ladder!</title>
		<link>http://mangled.me/blog/life/at-the-weekend-i-built-a-ladder/</link>
		<comments>http://mangled.me/blog/life/at-the-weekend-i-built-a-ladder/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 19:45:44 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=418</guid>
		<description><![CDATA[Just goes to show how little programming I have done of late&#8230; At the weekend I built a ladder (picture below), it&#8217;s wonky but functional (like my code )! With Autumn closing in I feel the urge to get back coding, hopefully the next post will be more interesting&#8230;]]></description>
			<content:encoded><![CDATA[<p>Just goes to show how little programming I have done of late&#8230; At the weekend I built a ladder (picture below), it&#8217;s wonky but functional (like my code <img src='http://mangled.me/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> )! With Autumn closing in I feel the urge to get back coding, hopefully the next post will be more interesting&#8230;</p>
<div id="attachment_417" class="wp-caption aligncenter" style="width: 160px"><img class="size-thumbnail wp-image-417" title="ladder" src="http://mangled.me/blog/wp-content/uploads/2010/08/ladder-150x150.jpg" alt="" width="150" height="150" /><p class="wp-caption-text">Ladder</p></div>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/life/at-the-weekend-i-built-a-ladder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recycled Trash Tower Games</title>
		<link>http://mangled.me/blog/life/recycled-trash-tower-games/</link>
		<comments>http://mangled.me/blog/life/recycled-trash-tower-games/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 21:06:43 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=401</guid>
		<description><![CDATA[We are lazy with our recycling, it builds up in the kitchen and has now become a cheap and fun game of balancing (can I add &#8220;x&#8221; without the tower collapsing), a possible new kind of world record type and a constant irritation as bits fall off in the &#8220;breeze&#8221;. Our current best for a [...]]]></description>
			<content:encoded><![CDATA[<p>We are lazy with our recycling, it builds up in the kitchen and has now become a cheap and fun game of balancing (can I add &#8220;x&#8221; without the tower collapsing), a possible new kind of world record type and a constant irritation as bits fall off in the &#8220;breeze&#8221;.</p>
<p>Our current best for a recycling &#8220;tower&#8221; is around 90cm, probably need to specify some criteria for base dimensions etc (if anyone was serious about competing).</p>
<p><img class="aligncenter size-thumbnail wp-image-400" title="Trash" src="http://mangled.me/blog/wp-content/uploads/2010/06/trash-150x150.jpg" alt="" width="150" height="150" /></p>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/life/recycled-trash-tower-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a single movie/video from a mix of static images and movies</title>
		<link>http://mangled.me/blog/coding/creating-a-single-movievideo-from-a-mix-of-static-images-and-movies/</link>
		<comments>http://mangled.me/blog/coding/creating-a-single-movievideo-from-a-mix-of-static-images-and-movies/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 21:33:03 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=391</guid>
		<description><![CDATA[Recently I needed to create a script to make a single movie from static images and existing movie files. I hacked this together with ruby, ffmpeg and ImageMagick. Note, it will function under windows with little code change. Putting it up in case someone finds it of use! #!/usr/bin/ruby require 'fileutils' # !! Script requires [...]]]></description>
			<content:encoded><![CDATA[<img width="528" height="250" src="/blog/wp-content/uploads/2010/06/DSC01691.jpg" alt="Creating a single movie/video from a mix of static images and movies" /><p>Recently I needed to create a script to make a single movie from static images and existing movie files. I <span style="text-decoration: underline;">hacked</span> this together with ruby, ffmpeg and ImageMagick. Note, it will function under windows with little code change.</p>
<p>Putting it up in case someone finds it of use!</p>
<p><span id="more-391"></span></p>
<pre class="brush:[ruby]">#!/usr/bin/ruby
require 'fileutils'

# !! Script requires image magick to be installed (for convert) and ffmpeg !!
#
# This was *hacked* up quickly, apologies for the general cr*ppy style, its
# functional but not beautiful!
#
# Note: I pipe ffmpeg output (STDOUT/STDERR) to /dev/null - If ffmpeg fails to
# convert you might want to remove this "feature".
#
# Also note you will have to change jpg_to_mpeg() to alter how long static
# images play for.
#
# Also, also note, its hardcoded to look for specific file extensions, you
# might want to alter these as well.
#

# For a given folder, find a unique filename of random string + post_fix
def unique_filename_at(folder, post_fix)
  name = nil
  begin
    name = File.join(folder, ((1..8).map{|i| ('a'..'z').to_a[rand(26)]}.join) + post_fix)
  end while File.exists?(name)
  name
end

# Resize all image files in env[:src] writing them to env[:dst]
def resize_images_as_jpg(env)
  resized_names = []
  images = Dir.glob(File.join(env[:src], '*.{jpg}'), File::FNM_CASEFOLD)
  images.each do |image|
    resized_names &lt;&lt; unique_filename_at(env[:dst], ".jpg")     `convert -scale #{env[:width]}x#{env[:height]} #{image} #{resized_names[-1]}`     `identify #{resized_names[-1]}` =~ /(\d+)x(\d+)/     # Scale attempts to best fit (based on image aspect ratio), it doesn't guarantee the exact size, so     # add extents (pad) the image to one which has the desired dimensions     if (env[:width] - $1.to_i) &gt; 0 or (env[:height] - $2.to_i) &gt; 0
      `convert -gravity Center -extent #{env[:width]}x#{env[:height]} #{resized_names[-1]} #{resized_names[-1]}`
    end
  end
  resized_names
end

# Resize all the movie files in env[:src] writing them to env[:dst]
def resize_movies(env)
  resized_names = []
  movies = Dir.glob(File.join(env[:src], '*.{mpg,mp4,flv}'), File::FNM_CASEFOLD)
  movies.each do |movie|
    resized_names &lt;&lt; unique_filename_at(env[:dst], ".mpg")     `ffmpeg -i #{movie} -s #{env[:width]}x#{env[:height]} -sameq -r 25 #{resized_names[-1]} &gt; /dev/null 2&gt;&amp;1`
  end
  resized_names
end

# Convert the given file (must end .jpg) to an mpeg
# !! Hard-coded to create movies of length 10 seconds
# !! 25 frames per second and 250 frames in total
def jpg_to_mpeg(file)
  movie_name = File.join(File.dirname(file), File.basename(file, ".jpg") + ".mpg")
  `ffmpeg -loop_input -qscale 1 -f image2 -vframes 250 -r 25 -i #{file} #{movie_name} &gt; /dev/null 2&gt;&amp;1`
  movie_name
end

# Usage: tomov src_folder dest_folder
# src_folder contains images/movies
# dest_folder will contain the final result
if __FILE__ == $0

  # Change this to set the resultant video size
  env = { :width =&gt; 640, :height =&gt; 480 }

  # Get src/dest folders - I didn't care about fancy argument checks at the time...
  if ARGV.length != 2
      puts "tomov in_folder out_folder"
      exit(-1)
  end
  env[:src] = ARGV[0]
  env[:dst] = ARGV[1]
  exit(-1) unless File.exists?(env[:src])
  exit(-1) unless File.exists?(env[:dst])

  # Get the movie files to be consistent
  movies = resize_movies(env)

  # Get the image files to be consistent and convert to movie files
  resized_images = resize_images_as_jpg(env)
  movies.concat(resized_images.collect {|resized_image| jpg_to_mpeg(resized_image) })

  out_tmp = File.join(env[:dst], "movie.mpg")
  out_final = File.join(env[:dst], "final.avi")

  # Concat individual movies into a single movie
  # (the sort tries to ensure video's and images are mingled (not guaranteed though))
  `cat #{movies.sort_by{rand}.join(" ")} &gt; #{out_tmp}`

  # Ensure the final movie is consistent and the format I want...
  `ffmpeg -i #{out_tmp} -sameq -vcodec mpeg4 -an -r 25 #{out_final} &gt; /dev/null 2&gt;&amp;1`

  # Clean-up intermediate files
  File.delete(out_tmp)
  resized_images.each {|i| File.delete(i) }
  movies.each {|i| File.delete(i) }
end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/coding/creating-a-single-movievideo-from-a-mix-of-static-images-and-movies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Downloading YouTube videos with Ruby</title>
		<link>http://mangled.me/blog/coding/downloading-youtube-videos-with-ruby/</link>
		<comments>http://mangled.me/blog/coding/downloading-youtube-videos-with-ruby/#comments</comments>
		<pubDate>Sun, 30 May 2010 13:12:38 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=356</guid>
		<description><![CDATA[A random script I hacked together (through searching and experimentation) for pulling down videos from YouTube with ruby, its only guaranteed to last along as the current YouTube html formatting lasts. Will work under windows, with some minor changes (and installation of curl and ffmpeg). Usage should be obvious, it takes the YouTube url (with [...]]]></description>
			<content:encoded><![CDATA[<img width="528" height="250" src="/blog/wp-content/uploads/2010/05/DSC019691.jpg" alt="Downloading YouTube videos with Ruby" /><p>A random script I hacked together (through searching and experimentation) for pulling down videos from YouTube with ruby, its only guaranteed to last along as the current YouTube html formatting lasts.</p>
<p><span id="more-356"></span></p>
<p>Will work under windows, with some minor changes (and installation of curl and ffmpeg). Usage should be obvious, it takes the YouTube url (with watch? in it) as an argument (try quoting &#8220;&#8221;)</p>
<pre class="brush:[ruby]">#!/usr/bin/ruby
require 'rubygems'
require 'hpricot'
require 'open-uri'

USER_AGENT = %{Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3}

def parse_youtube(url)
  youtube = "http://www.youtube.com/"
  url =~ /watch\?v=(.*)/
  doc = Hpricot(open("#{youtube}watch\?v=#{$1.split("&amp;")[0]}"))
  doc.search("/html/body/").each do |foo|
    matches = URI.unescape(foo.inner_html).scan(/\|(.*?http.+?),.*?\|/)
    matches.each do |match|
      match.each do |item|
        return URI.unescape(item) if item =~ /videoplayback/
      end
    end
  end
  nil
end

if __FILE__ == $0 and ARGV[0]
  url = parse_youtube(ARGV[0])
  `curl -o \"foo.flv\" -L -A \"#{USER_AGENT}\" \"#{url}\"`
end
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/coding/downloading-youtube-videos-with-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pecha-Kucha Presentation on PDCA</title>
		<link>http://mangled.me/blog/general/pecha-kucha-presentation-on-pdca/</link>
		<comments>http://mangled.me/blog/general/pecha-kucha-presentation-on-pdca/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 20:56:14 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=348</guid>
		<description><![CDATA[I recently gave a  Pecha-Kucha Presentation on PDCA (Scientific Method adapted to LEAN). I liked the way this presentation style really forces you to be precise and deliver the real message, it took ages to produce for such a small presentation time, this I guess is the point, i.e. deliver maximum value in the shortest [...]]]></description>
			<content:encoded><![CDATA[<p>I recently gave a  <a href="http://en.wikipedia.org/wiki/Pecha_Kucha">Pecha-Kucha Presentation</a> on PDCA (Scientific Method adapted to LEAN).</p>
<p>I liked the way this presentation style really forces you to be precise and deliver the real message, it took ages to produce for such a small presentation time, this I guess is the point, i.e. deliver maximum value in the shortest time period.</p>
<p>The content blends my recent ramblings based on the &#8220;trousers of reality&#8221; book as well as a few other insights.</p>
<p><span id="more-348"></span></p>
<p>The exercise has given me an insight into how I would like to structure a book on this subject, pictures one side and words on the other, all forming a Koan &#8211; Practical &#8220;how to&#8217;s&#8221; at the end &#8211; Need to work more on this.</p>
<p>You can find the raw material here (note in terms of the slides, the first slide was triggered on a mouse click, the remainder on a twenty second timer &#8211; The last slide filled a question and answer section &#8211; I stuck to the &#8220;rules&#8221;).</p>
<p>I can supply a power-point version (on request), also I have higher resolution images available.</p>
<p><a href="http://mangled.me/blog/wp-content/uploads/2010/03/SoftwareCosmos_Presentation_Notes.pdf">SoftwareCosmos_Presentation_Notes</a> and <a href="http://mangled.me/blog/wp-content/uploads/2010/03/SoftwareCosmos_Presentation_Slides.pdf">SoftwareCosmos_Presentation_Slides</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/general/pecha-kucha-presentation-on-pdca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idea: Wiki based IDE&#8217;s</title>
		<link>http://mangled.me/blog/coding/idea-wiki-based-ides/</link>
		<comments>http://mangled.me/blog/coding/idea-wiki-based-ides/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 22:51:37 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=342</guid>
		<description><![CDATA[Idea for the day, why not use a wiki as an integrated development environment (IDE)? I.e. write code in the wiki, configure the build similarly, i.e. which pages will be compiled. Modern wiki&#8217;s have configuration management built in, so bye bye svn, git etc. (ok, wiki&#8217;s don&#8217;t handle this well enough, but again this is [...]]]></description>
			<content:encoded><![CDATA[<p>Idea for the day, why not use a wiki as an integrated development environment (IDE)?</p>
<p>I.e. write code in the wiki, configure the build similarly, i.e. which pages will be compiled. Modern wiki&#8217;s have configuration management built in, so bye bye svn, git etc. (ok, wiki&#8217;s don&#8217;t handle this well enough, but again this is an idea not a real product).</p>
<p>The environment by itself supports cross linking, so it self documents and people find it easy to document! The compiler and automated tests can update a build/test result page! With a little thought I think a wiki could manage code better than current IDE&#8217;s and integrate the social side. I guess execution of code might be an issue, but one which some more thought would overcome. Possibly this could be integrated into Google Wave?</p>
<p>It&#8217;s worth some discussion and further thought &#8211; Somewhere, off to bed!</p>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/coding/idea-wiki-based-ides/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Deep Structure &amp; The Scientific Method</title>
		<link>http://mangled.me/blog/thoughts/deep-structure-the-scientific-method/</link>
		<comments>http://mangled.me/blog/thoughts/deep-structure-the-scientific-method/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 20:22:07 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=333</guid>
		<description><![CDATA[I have updated my original deep structure thoughts to incorporate the scientific method (or the similar concept of Plan, Do, Check, Act). The diagram aims to show why LEAN in particular thrives across the enterprise, rather than within just teams &#8211; It works with the whole and ensures process is part of the routine reflection [...]]]></description>
			<content:encoded><![CDATA[<p>I have updated my original deep structure thoughts to incorporate the scientific method (or the similar concept of Plan, Do, Check, Act). The diagram aims to show why LEAN in particular thrives across the enterprise, rather than within just teams &#8211; It works with the whole and ensures process is part of the routine reflection and change cycle.</p>
<p>By adding the scientific method I&#8217;m trying to demonstrate that simply inspecting and adapting isn&#8217;t enough, you need to know where you intend to go and have the ability to assess the true impact of any proposed changes.</p>
<p><span id="more-333"></span></p>
<p>Personally I&#8217;m finding the creation of these diagrams a useful tool for reflection and understanding, I&#8217;m approaching the point where a single canonical diagram could be made.</p>
<p>One key point related to software engineering &#8211; That I missed until recently, was the fact that process, material artefacts etc. are all just aspects of the software product, they represent the current paradigm, it isn&#8217;t possible to point at any of them and see the whole product, in fact nobody can, again you are staring into the globe of knowledge!</p>
<p>Enjoy the reflection.</p>
<div id="attachment_334" class="wp-caption alignleft" style="width: 160px"><a href="http://mangled.me/blog/wp-content/uploads/2010/03/ScientificMethod.jpg" rel="lightbox[333]"><img class="size-thumbnail wp-image-334" title="Deep Strcture &amp; The Scientific Method" src="http://mangled.me/blog/wp-content/uploads/2010/03/ScientificMethod-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">Deep Structure &amp; The Scientific Method</p></div>
<p>I will be starting to look at feedback next &#8211; The core (in my mind) principle within software engineering and one which is cunningly (or not so) disguised and dressed up all over the place. My intent is to describe the model of feedback and how changes alter it, then to look at all that LEAN, Agile etc. have built around it &#8211; For the most part a change in words and the addition of context (a word which crops up quite a bit).</p>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/thoughts/deep-structure-the-scientific-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinyMud &#8211; Islandia: Running</title>
		<link>http://mangled.me/blog/uncategorized/tinymud-islandia-running/</link>
		<comments>http://mangled.me/blog/uncategorized/tinymud-islandia-running/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 21:37:30 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=321</guid>
		<description><![CDATA[A while back I spoke about running a TinyMud party. I was lucky enough to find the initial (or as close as I could get) source. Version: 1.4.1 and commented &#8220;&#8211;Jim Aspnes, December 9th, 1989&#8243;. I eventually managed to get the code compiled again, it wasn&#8217;t too bad a job, hampered by the fact I [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I spoke about running a TinyMud party.</p>
<p><span id="more-321"></span></p>
<p>I was lucky enough to find the initial (or as close as I could get) source. Version: 1.4.1 and commented &#8220;&#8211;Jim Aspnes, December 9th, 1989&#8243;. I eventually managed to get the code compiled again, it wasn&#8217;t too bad a job, hampered by the fact I hadn&#8217;t been near C for quite some time! After spending some time playing I noted that the accompanying documentation &#8220;Three&#8217;s Unabridged Dictionary of Commands&#8221; (Last Updated Thu May 31 13:37:43 CDT 1990) had commands which the 1.4.1 version didn&#8217;t recognise.</p>
<p>More trawling of the Internet&#8230; I found the Islandia source, last change comment: &#8220;&#8211;Michael Mauldin &amp; Russ Smith, June 25, 1990.    1.5.4f&#8221;. This (after looking through the code) had the extra commands and a whole lot more &#8220;features&#8221;, wonderfully #defined in/out. Anyway, tonight I finally got this running, I suspect I need to revisit some of my changes, I whacked GCC up to maximum on the warning levels etc. and I probably perverted some of the logic on the way!</p>
<p>Its a shame, I cannot find the sweet spot of code where it had less adventurous features added, specifically in/around the &#8220;1.5.3&#8243; version, ho hum. I guess it might be out there? Anyway, its running and I&#8217;m probably one of a small number of people who has seen its output since 1990, so here it is:</p>
<div id="attachment_322" class="wp-caption alignleft" style="width: 535px"><a href="http://mangled.me/blog/wp-content/uploads/2010/02/Screenshot-TinyMudParty-TrebTk.png" rel="lightbox[321]"><img class="size-full wp-image-322 " title="TinyMud: Islandia" src="http://mangled.me/blog/wp-content/uploads/2010/02/Screenshot-TinyMudParty-TrebTk.png" alt="" width="525" height="277" /></a><p class="wp-caption-text">TinyMud: Islandia</p></div>
<p>Now I just need to play with it and see whether I should run the really early version or this. I&#8217;m so used to unit tests etc. I&#8217;m paranoid something is broken and the later code is really fragile. For now I will just sit with the warm glow of seeing a bit of computing history re-awakened.</p>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/uncategorized/tinymud-islandia-running/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deep Structure</title>
		<link>http://mangled.me/blog/general/deep-structure/</link>
		<comments>http://mangled.me/blog/general/deep-structure/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 21:12:22 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=302</guid>
		<description><![CDATA[Over the Christmas break I read the trousers of reality, which I thoroughly enjoyed. The most interesting part for me was the chapter on deep structure. Inspired by this I produced my interpretation (a series of sketches) which in some way I see as almost mapping out the whole book (see below). Fundamentally we need [...]]]></description>
			<content:encoded><![CDATA[<p>Over the Christmas break I read the <a title="trousers of reality" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.trousersofreality.com');" href="http://www.trousersofreality.com/" target="_blank">trousers of reality</a>, which I thoroughly enjoyed. The most interesting part for me was the chapter on deep structure. Inspired by this I produced my interpretation (a series of sketches) which in some way I see as almost mapping out the whole book (see below).</p>
<p>Fundamentally we need principles and feedback!</p>
<p><span id="more-302"></span></p>
<p>This is starting to ring bells with my current journey into lean thinking and the roots of lean and agile. I’m beginning to think they all come back to these two items, at the micro or macro scale they all involve getting a feedback loop going (or developing an existing one), guided by some simple practices/guidelines. So, if I could think of a snazzy name for it I would start a new software development methodology(?) which consists of just these elements.</p>
<p>Get everybody nodding at the notion that feedback is the fundamental principle on which to operate, define or pick some simple practices/guidelines, choose appropriate information to analyze and use to modify the input, keep testing and evolving the system. It seems to me the only difficult part is seeding, some activities are easier than others, unit testing has this cycle and books to hand out, whereas getting say a monolithic waterfall development process changed when your say an outsourced part is harder – But I think achievable so long as you get them to agree feedback is good and start showing them some useful big visible charts?</p>
<p>This new methodology, is just really a principle, a foundation, on which lean and agile are built, so its a meta-principle or a deep principle? The bit I like is its really obvious (or it is to me now I see it) and cuts through all the endless material written on these subjects, allowing people to develop systems suitable for their needs. Essentially its all about continuous improvement, get grounded principles and iterate/evolve, apply this principle to anything (software or otherwise).</p>
<p>As mentioned in the trousers of reality, its all recursive and fractal in nature, I&#8217;m starting to sound a bit like an insane hippy these days, maybe I am! Here are my pictures:<br />

<a href='http://mangled.me/blog/general/deep-structure/attachment/crisp1/' title='DeepStructure1'><img width="150" height="150" src="http://mangled.me/blog/wp-content/uploads/2010/01/crisp1-150x150.jpg" class="attachment-thumbnail" alt="Deep Structure" title="DeepStructure1" /></a>
<a href='http://mangled.me/blog/general/deep-structure/attachment/crisp2/' title='DeepStructure2'><img width="150" height="150" src="http://mangled.me/blog/wp-content/uploads/2010/01/crisp2-150x150.jpg" class="attachment-thumbnail" alt="Deep Structure - The Focus" title="DeepStructure2" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/general/deep-structure/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tango-tastic</title>
		<link>http://mangled.me/blog/life/tango-tastic/</link>
		<comments>http://mangled.me/blog/life/tango-tastic/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 21:48:52 +0000</pubDate>
		<dc:creator>matthew</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://mangled.me/blog/?p=299</guid>
		<description><![CDATA[Since the start of the year, I have been learning the Argentine Tango! All I can say is the whole process of learning to dance is fantastic and I can highly recommend it. I have a way to go, wish I had learned years ago. If you are in/around Edinburgh I can recommend dance base]]></description>
			<content:encoded><![CDATA[<p>Since the start of the year, I have been learning the Argentine Tango! All I can say is the whole process of learning to dance is fantastic and I can highly recommend it. I have a way to go, wish I had learned years ago. If you are in/around Edinburgh I can recommend <a href="http://www.dancebase.co.uk/">dance base</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mangled.me/blog/life/tango-tastic/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
