<?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>14lines.com</title>
	<atom:link href="http://14lines.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://14lines.com/blog</link>
	<description>Hypertextual sound poetry and web development.</description>
	<lastBuildDate>Tue, 06 Mar 2012 00:58:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Mass assignment isn&#8217;t register_globals</title>
		<link>http://14lines.com/blog/2012/03/05/mass-assignment-isnt-register_globals/</link>
		<comments>http://14lines.com/blog/2012/03/05/mass-assignment-isnt-register_globals/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 23:37:51 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=112</guid>
		<description><![CDATA[So, as I’m sure you know, Github got hacked. As it turns out, the hack utilized what could easily be seen as a  vulnerability in rails: mass assignment. As the story broke, I couldn’t help but notice that some people were quick to claim that this is a register_globals level fuckup on the part of [...]]]></description>
			<content:encoded><![CDATA[<p>So, as I’m sure you know, Github got <a href="http://it.slashdot.org/story/12/03/05/1243235/github-hacked?utm_source=rss1.0mainlinkanon&amp;utm_medium=feed">hacked</a>. As it turns out, the hack utilized what could easily be seen as a  vulnerability in rails: mass assignment.</p>
<p>As the story broke, I couldn’t help but notice that <a href="http://www.reddit.com/r/programming/comments/qi3rm/an_uproar_because_someone_pointed_out_that_the/c3xsurq">some people</a> were quick to claim that this is a <a href="http://php.net/manual/en/security.globals.php">register_globals</a> level fuckup on the part of the Rails team.</p>
<h2>The problem, and solution.</h2>
<p>To be clear why this isn’t Rails fault but Github&#8217;s fault, let’s look at mass assignment.</p>
<p>Mass assignment works like this, typically:</p>
<pre class="ruby">class User &lt; ActiveRecord::Base
end

class UsersController &lt; ApplicationController
	def update
		User.find(params[:id]).update_attributes(params[:user])
	end
end</pre>
<p>Here we’ve said, quite plainly, that we want to find a user and update his attributes with those that we find in params[:user].</p>
<p>Sure, this is convenient, but if we’ve got anything in that User model that we don’t want updated by any POST to our server then we’ll have a security problem.  To sort this out we can either manually filter the parameters before you tell active record to update the record or we can use the very handy <a href="http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html">attr_accessible</a> method on your model.</p>
<h2>Why this is not register_globals.</h2>
<p>To my mind, this is much more like an SQL injection than register_globals. An SQL injection occurs when you pass unfiltered parameters directly into your persistence layer without any checking, filtering or sanitation. The mass assignment problem is exactly the same.</p>
<p>You’ll notice the code above explicitly states that we’re going to use these unfiltered parameters to update the record &#8211; ActiveRecord is doing exactly what we’ve asked of it.  Register globals, however, will fuck up our php application unless steps are taken to mitigate though safe variable initialization or ensuring it’s turned off in our php config.</p>
<p>It&#8217;s this distinction which places the error on github&#8217;s doorstep &#8211; if the model is sensitive then this technique isn&#8217;t a good choice. The calling of potentially unsafe methods, especially when the method is as clear and obvious as update_attributes, with whatever you get from a POST is absolutely the programmer&#8217;s error &#8211; not the framework.</p>
<p>Bugs happen and just because popular_website uses popular_framwork does not make every problem that site faces the fault of said framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2012/03/05/mass-assignment-isnt-register_globals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utopia</title>
		<link>http://14lines.com/blog/2011/10/27/utopia/</link>
		<comments>http://14lines.com/blog/2011/10/27/utopia/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 00:54:01 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[digital-art]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[words]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=94</guid>
		<description><![CDATA[So, if you&#8217;ve seen me at all recently then you&#8217;ll have heard me going on about Armoured Boombox, Boids and possibly Buddhists.  This blog post will explain and formalize the relationship between these seemingly unconnected things. First thing&#8217;s first, we&#8217;re calling ourselves, &#8216;Armoured Boombox&#8217;. White night is a annual one night Brighton arts festival held [...]]]></description>
			<content:encoded><![CDATA[<p>So, if you&#8217;ve seen me at all recently then you&#8217;ll have heard me going on about <a href="http://armouredboombox.com/">Armoured Boombox</a>, <a href="http://en.wikipedia.org/wiki/Boids">Boids</a> and possibly <a href="http://www.brightonbuddhistcentre.co.uk/">Buddhists</a>.  This blog post will explain and formalize the relationship between these seemingly unconnected things.</p>
<p>First thing&#8217;s first, we&#8217;re calling ourselves, &#8216;Armoured Boombox&#8217;.</p>
<p><a href="http://www.whitenightnuitblanche.com/">White night </a>is a annual one night Brighton arts festival held on the night the clocks go back each year &#8211; marking the end of British summer time. This year&#8217;s White Night theme is &#8216;utopia&#8217;.  <a href="https://www.facebook.com/borlase">Michael</a> and I have been wanting to do something computer arty for a while and given that White Night is in Brighton and Buddhists are friendly we got the chance to put on an event in one of the rooms in the Buddhist center.</p>
<p><img class="alignnone" src="http://armouredboombox.com/logo_with_text_web.png" alt="" width="240" height="263" /></p>
<p>Those prone to stretching a metaphor would surely agree with me that ideas and opinions could be thought of as behaving as a flock. Each member of the flock is swayed by each other member of the flock. Average opinion, and therefore popular definitions of concepts and ideas, is defined and moves in much the same way a flock does. They follow the three rules of boids:</p>
<ol>
<li><strong>separation</strong>: Each opinion is separate and so there will be a difference between each idea&#8217;s position when plotted on an axis.</li>
<li><strong>alignment</strong>: Each opinion affects each other, clusters of opinions attract.</li>
<li><strong>cohesion</strong>: The force of each opinion together causes opinions to tend towards an average point.</li>
</ol>
<p>Our project will be attempting to explore, in light and sound, utopia through the metaphor of flock. Mining real time and collected Tweets we&#8217;ll look into how the world uses the word Utopia and what it might mean to us, the Brighton hipsters.</p>
<p>I&#8217;ve done something a little like this a while ago, with <a href="http://14lines.com/tweetchimes/">Tweet Chimes</a>. Which, by the way, <a href="http://news.bbc.co.uk/today/hi/today/newsid_9555000/9555716.stm">was a good two years before this guy got on radio 4.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/10/27/utopia/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Push it (real good).</title>
		<link>http://14lines.com/blog/2011/10/18/push-it-real-good/</link>
		<comments>http://14lines.com/blog/2011/10/18/push-it-real-good/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 19:55:52 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=85</guid>
		<description><![CDATA[You wouldn&#8217;t know it by looking at my blogs posts but I sometimes do actual work for my actual job over at Homeflow. I highly suggest you give us a bell if you like writing feel good code and dealing with some difficult problems. So yes &#8211; we get a whole load of visitors looking [...]]]></description>
			<content:encoded><![CDATA[<p>You wouldn&#8217;t know it by looking at my blogs posts but I sometimes do actual work for my actual job over at <a href="http://homeflow.co.uk">Homeflow</a>. I highly suggest you <a href="http://www.homeflow.co.uk/jobs">give us a bell</a> if you like writing feel good code and dealing with some difficult problems.</p>
<p>So yes &#8211; we get a whole load of visitors looking at houses all over the country via one of the numerous websites we run. The nice thing property pages, from my point of view, is that each one comes with a latitude and a longitude &#8211; which means we can do maps. And, I ask you, who doesn&#8217;t love maps?</p>
<p>Using the lovely <a href="http://pusher.com/">Pusher</a> api, we rigged up push event in our already existing Page view Recording System<strong>™ </strong>which finds it&#8217;s way over to your browser as your visiting the new <a href="http://homeflow.co.uk/live">Homeflow Live</a> page and plonks down a google maps marker.</p>
<div id="attachment_86" class="wp-caption aligncenter" style="width: 310px"><a href="http://homeflow.co.uk/live"><img class="size-medium wp-image-86 " title="Homeflow Live" src="http://14lines.com/blog/wp-content/uploads/2011/10/screenshot-300x236.png" alt="" width="300" height="236" /></a><p class="wp-caption-text">Yeah, I got a mac. And yeah, I had to google how to do a print screen.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/10/18/push-it-real-good/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Swarm Your Data</title>
		<link>http://14lines.com/blog/2011/09/04/swarm-your-data/</link>
		<comments>http://14lines.com/blog/2011/09/04/swarm-your-data/#comments</comments>
		<pubDate>Sun, 04 Sep 2011 22:43:19 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[boids]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=78</guid>
		<description><![CDATA[I&#8217;ve been thinking lots recently, for not so secret project about boids. I&#8217;ll let you know more about that, dear reader, when it&#8217;s all confirmed. So, all this boid thinking gave me a bit of an itch to do something boid-ey. It was fortunate, therefore, that I got to go up to MetaBroadcast HQ for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking lots recently, for not <a href="http://armouredboombox.com">so secret project</a> about <a href="http://en.wikipedia.org/wiki/Boids">boids</a>. I&#8217;ll let you know more about that, dear reader, when it&#8217;s all confirmed.</p>
<p>So, all this boid thinking gave me a bit of an itch to do something boid-ey. It was fortunate, therefore, that I got to go up to <a href="http://metabroadcast.com/">MetaBroadcast</a> HQ for a bit of a hack day. They&#8217;ve got a bunch of interesting data and they wanted to expose some frequency graphs. Kindly, they agreed to let me have a play about with boids, and the fine implementation from the people at <a href="http://www.coderholic.com/javascript-boids/">coderholic</a>.</p>
<p>After some frantic typing, some pretty decent pizza and a guided tour around the world of eclipse keyboard shortcuts I came up with <a href="http://www.14lines.com/dataswarm/">this</a>.</p>
<p><a href="http://www.14lines.com/dataswarm/"><img class="alignnone" src="http://i.imgur.com/lXBmI.png" alt="" width="531" height="376" /></a></p>
<p>We replace the &#8216;move to the average point of the swarm&#8217; function in the classic Boids simulation with  a simple &#8216;fly towards this point&#8217; function. This causes all our boids (although by now they look a little bit more like fireflies) to rush to the point, rush out because they&#8217;re all too close to one another and then rush back in. By fiddling with the numbers and the targets, I think, we&#8217;re able to make a pretty cool way of showing frequency data.</p>
<p>The code is, as ever, on <a href="https://github.com/danielcooper/dataswarm">github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/09/04/swarm-your-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The World is Watching, on Twitter.</title>
		<link>http://14lines.com/blog/2011/08/10/the-world-is-watching-twitter/</link>
		<comments>http://14lines.com/blog/2011/08/10/the-world-is-watching-twitter/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 23:02:42 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=67</guid>
		<description><![CDATA[Another day, another thing on the Internet. The lovely folk at  MetaBroadcast asked me to make something interesting with their Atlas API &#8211; so here I am, bogging about it. As you may have guessed from my previous blog posts, I really like Twitter, data and making things which are of no real use to [...]]]></description>
			<content:encoded><![CDATA[<p>Another day, another thing on the Internet.</p>
<p style="text-align: left;">The lovely folk at  <a href="http://metabroadcast.com/">MetaBroadcast</a> asked me to make something interesting with their <a href="http://docs.atlasapi.org/">Atlas API</a> &#8211; so here I am, bogging about it.</p>
<p style="text-align: left;">As you may have guessed from my previous blog posts, I really like Twitter, data and making things which are of no real use to anyone. Unlike <a href="http://14lines.com/blog/2011/06/15/omegle-bot-tom-wait/">&#8220;I Hope I Don’t Fall In Love With You.&#8221;</a>, this machine causes no aggravation &#8211; it just watches. Using the Atlas API it works out what&#8217;s currently on BBC One and then checks Twitter to see if anyone&#8217;s talking about what&#8217;s on TV. I did plan to release this a few days ago but the <a href="http://14lines.com/blog/2011/08/08/the-london-riots-twitter/">riots in London</a> made working with twitter quite tricky (since almost every tweet was about the riot). Still, better late than never, I present to you: <strong><a href="http://theworldiswatching.14lines.com">The World is Watching</a></strong></p>
<div class="wp-caption alignnone" style="width: 410px"><a href="http://theworldiswatching.14lines.com/"><img class=" " src="http://i.imgur.com/16Axv.png" alt="" width="400" /></a><p class="wp-caption-text">CEEFAX: the twitter of 1987</p></div>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/08/10/the-world-is-watching-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The London Riots Through the Eyes of Twitter.</title>
		<link>http://14lines.com/blog/2011/08/08/the-london-riots-twitter/</link>
		<comments>http://14lines.com/blog/2011/08/08/the-london-riots-twitter/#comments</comments>
		<pubDate>Mon, 08 Aug 2011 23:13:52 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=61</guid>
		<description><![CDATA[So, I was doing some work involving the Twitter streaming api when the residents of London decided to set the place on fire. This is a recording of tweets about the riot flying across my screen in real time. Thousands of people, all over the world, sharing their opinions as London burns. 2011 is mad.]]></description>
			<content:encoded><![CDATA[<p>So, I was doing some work involving the <a href="https://dev.twitter.com/docs/streaming-api/methods">Twitter streaming api</a> when the residents of London decided to set the place on fire. This is a recording of tweets about the riot flying across my screen in real time.</p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/JRpAepTsY0g?version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/JRpAepTsY0g?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Thousands of people, all over the world, sharing their opinions as <a href="http://www.bbc.co.uk/news/uk-england-london-14450248">London burns</a>. 2011 is mad.</p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/08/08/the-london-riots-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generative Art, Part 2</title>
		<link>http://14lines.com/blog/2011/07/19/generative-art-part-2/</link>
		<comments>http://14lines.com/blog/2011/07/19/generative-art-part-2/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 20:45:46 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[digital-art]]></category>
		<category><![CDATA[words]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=53</guid>
		<description><![CDATA[As promised threatened, here’s part two. I’m on the worlds worst wifi connection at the moment, so I’ve been terribly lazy with the linking. But Google is your friend – even if it isn’t mine. A Framework for Measuring Creativity On top of the contexts in which creativity is appreciated, scientifically or artistically, we must [...]]]></description>
			<content:encoded><![CDATA[<p>As <span style="text-decoration: line-through;">promised</span> threatened, here’s part two.</p>
<p>I’m on the worlds worst wifi connection at the moment, so I’ve been terribly lazy with the linking. But Google is your friend – even if it isn’t mine.</p>
<h2>A Framework for Measuring Creativity</h2>
<p>On top of the contexts in which creativity is appreciated, scientifically or artistically, we must also consider what defines something a creative action and attempt to define a framework – a series of check lists – so we are able to test if something is truly creative.</p>
<p>Creativity is a multi-faceted and complex thing to attempt to define, so we must not confine ourselves to a definition only from the fields of computer science, a wide and broad range of different approaches must be considered with the hope that some common agreement can be found.</p>
<p><span id="more-53"></span></p>
<p>In a <a href="http://hbr.org/product/how-to-kill-creativity/an/98501-PDF-ENG">paper</a> for the Harvard Business Review Ababile provides an definition of what something makes something creative in business. She explains that for an idea to be creative in business, it must be “useful and actionable”, it must “influence the way business should be done”. Note that this maps quite well to the definition of artistic-creativity mentioned above, the merit of the creative business practice is evaluates, as well as how it fits into the current appreciative ecosystem. I would therefore suggest that the world of business creativity is a close enough approximation of the art world that we should consider the ideas the business community puts forward in order to build up a framework which in which we can test products of computational creativity.</p>
<p>Ababile  provides three components of creativity which she defines ad being essential in order for a person to be creative. She defines these components as “Expertise, Creative-thinking and motivation”.</p>
<p>Firstly, expertise; this is defined as “everything that a person knows and can do in the broad domain of his or her work” while Creative-thinking is how well one utilises this experience in new and interesting ways.</p>
<p>Motivation, Ababile explains, is the driving force that allows a person to turn the raw materials of creative-thinking and expertise into a new object. She states that there are two types of motivation and the type of motivation dictates whether something will be creative or not.</p>
<p>The two types of motivation are: Extrinsic and Intrinsic. With extrinsic, the source of the motivation is an outside pressure, forcing the hand of the creator; money or threats. Intrinsic motivation is driven by internal passion or interest in a topic. Ababile explains with the use of a metaphor why these two types of motivation affect the creativity of a creator.</p>
<blockquote><p>One person might be motivated to make it through the maze as quickly and safely as possible in order to get a tangible reward, such as money-the same way a mouse would rush through for a piece of cheese. This person would look for the simplest, most straightforward path and then take it. In fact, if he is in a real rush to get that reward, he might just take the most beaten path and solve the problem exactly as it has been solved before. [...] Another person might have a different approach to the maze. She might actually find the process of wandering around the different paths &#8211; the challenge and exploration itself – fun and intriguing. No doubt, this journey will take longer and include mistakes, because any maze-any truly complex problem-has many more dead ends than exits. But then the intrinsically motivated person finally does find a way out of the maze-a solution-it very likely will the more interesting than the rote algorithm. It will be more creative.</p></blockquote>
<p>So, to conclude Ababile&#8217;s points: a person is creative if he has knowledge of the field he’s working on, the ability to use that knowledge in interesting ways and has the motivation to create work for works sake. Although Ababile allows us to understand the circumstances in which a person can be creative, she does not help us create a framework in which to measure this creativity.</p>
<p><a href="http://www.psy.cmu.edu/psy/faculty/hsimon/HSBib-1960.html">Herbert Simon</a> is a proponent  of the view that creativity is essentially a special case of a generic problem solving behaviour and that one can recognise if a solution have involved creativity if it satisfies these four criteria:</p>
<p>1. The creator considers that the idea is novel.</p>
<p>2. The thinking is unconventional</p>
<p>3. The thinking is the fruit of high motivation</p>
<p>4. The problem was ill defined, so part of the solution was identifying the problem</p>
<p>Simon’s theory is that creativity is a practical exercise (Simon H. , 1969). It is a personal exercise to satisfy a need and by running an internal problem solving algorithm. Should the input parameters of this algorithm be insufficient, a intelligence must creatively fill in and thus any creativity spawns from unconventional thinking on an ill defined problem.</p>
<p>Simon’s model describes how the internal processes of the creator follows a ‘test and generate’ structure. Multiple ideas are formed, each idea is then evaluated based on that individuals values and aesthetics until ultimately a satisfactory (but not optimal) solution is produced. The heart of the creativity is the production of ‘random’ ideas which are then filtered.</p>
<p><a href="http://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi">Csikszentmihalyi</a> refutes, in a 1988 paper called ‘Solving a problem is not finding a new one: a reply to Simon’  the claims of Simon and puts forward a new framework for defining creativity.</p>
<p>Csikszentmihalyi claims that Simon’s ideas of creativity cannot explain why creative acts often need to be appreciated within the culture they originated from &#8211; to draw on the example of punk again &#8211; to appreciate ‘77 punk one must have an understanding that it was partly a reaction a lingering hippy culture and high production values that were present in rock and pop music in the early to mid ‘70s.</p>
<p>Csikszentmihalyi’s systems model, detailed in explains that creativity is split into three different parts:</p>
<p>1. <strong>Domain – </strong>“a set of symbolic rules and procedures, knowledge shared by a particular society, or humanity as a whole.” For instance, Music has its own set of rules and conventions, as does writing, paining and indeed the scientific community.</p>
<p>2. <strong>Field –</strong> The set of “gatekeepers” to a domain. This is the set of critics, reviews and appreciates who shared knowledge makes up the domain. In order to gain acceptance in a domain one must satisfy the field.</p>
<p>3. <strong>Person –</strong> Lastly – and this is where some common ground with Simon can be found – the person is the originator is creativity. When the person is able to add or influence ideas of the domain, creativity can be said to have happened.</p>
<p>YT <a href="http://www.sciencedirect.com/science/article/pii/S0142694X99000137">Lui</a>, takes both these approaches and attempts to combine them into a unifying theory of what creativity is and how it is recognised. He points out that, as Csikszentmihalyi’s does, that Simons explanation of creativity does not hold weight in the real world because any creative act that does not properly take into account the culture in which it enters is doomed to be deemed only as a novelty. Lui also correctly points out that Csikszentmihalyi’s proposals do not place enough emphasis on the process that a person goes through when they partake in a creative act: “Simon pays more attention to personal aspects of creativity, while Csikszentmihalyi is more concerned with its social-cultural scope.”</p>
<p>Lui states that although the two theories do not agree, they do complement each other – explaining that the ‘Domain’ of Csikszentmihalyi’s can itself become one of the heuristics of Simon’s system. This, he says will produce a merged model which accurately reflex both internal and internal creativity.</p>
<p>Lui’s revised model maintains the three facets of Csikszentmihalyi’s system; the person, the domain and the field. The person, still influenced by the domain, is expanded to contain the initial problem solidification. Once the problem is solidified in the persons mind, Simons ‘production and test’ system kicks in. Should the idea pass Simon’s internal testing system, it is submitted to the field – and the creative act is completed.</p>
<p>The influential <em><a href="http://www.amazon.com/Creative-Mind-Myths-Mechanisms/dp/0415314534">‘The Creative Mind’</a>, Maggie Boden</em> makes a distinction between two kinds of creativity. P-Creativity (psychological creativity), Boden explains, concerns ideas that are fundamentally creative and novel inside an individual’s mind (irrespective of wider acceptance). H-Creativity (historical creativity) is, on the other hand, idea’s which are novel and creative in the global sense. She notes that although H-creativity is more “glamorous” but for the purposes of defining creativity it is largely irrelevant.</p>
<p>Boden’s dismissal of H-creativity contradicts the society-based views of Csikszentmihalyi and may cause some problems for our intention of producing a framework for basing creativity. It causes these issues because the aim of this report is to try and define a computers role in the creative process – with a focus on the art world. The art world places so much emphasis on H-creative work &#8211; work that challenges or enhances the domain &#8211; that discounting it would mean our tests are being somewhat easy on computer generated art: perpetuating the idea that it cannot compete with human-generated art and thus, perhaps, has no real role in the creative – artistic &#8211; process, as a creator at least..</p>
<p>There is an almost exhaustive list of definitions of creativity; it is not the aim of this blog post to enumerate this list. I believe we do, however, have a reasonable collection of opinions from which we can formulate some sort of validation criteria.</p>
<p>I believe we can discount Ababile’s notion of Extrinsic and Intrinsic motivation being a driver for creativity – at least for computers. All computer art, because the computer must be initially started by a human, does not receive its drive from genuine interest. That is not to say that extrinsic motivation is the driving force for a computer, for that would imply that a computer is capable of having motivation. While a computer may, one day, be able to model motivation – similar to that demonstrated in popular science fiction like <em>2001: A Space Odyssey</em> – it would require an emulation of sentience that artificial intelligence is not able to come close to achieving.</p>
<p>We’ve established, despite Boden’s concerns<em>, </em>that for something to be considered creative art it must have some sort of knowledge &#8211; or as Ababile would describe it, expertise – of the current creative landscape. We’ve also established, since the art domain is heavily weighted towards H-Creativity that the product must be novel – in order to successfully gain acceptance into the Field and eventually the very domain that inspired a work. And finally, as Lui and Simon showed the problem must be somewhat ill defined so as to prevent the possibility of the work being generated sans any creativity.</p>
<p>I would make some minor modifications to Csikszentmihalyi’s work. I would suggest when considering the domain an artist is not only taking an historical view of previous pieces but is also taking a sample of the set of (or lack of) emotions commonly associated with the domain. The ultimate appreciator of any computer art, in order for computer art to be accepted into the mainstream arts, must a human. Music, for instance, has a long tradition of speaking to the emotional part and bypasing (to a certain extent) our logical centres and I would wager it is an important aspect of other art forms.</p>
<p>These realisations allow us to define a checklist which does not gold stamp whether something is creative or not, but does offer us a reasonable indication. It will also allow us to gain some insights into the challenges AI and Computer Science face in generating creative art.</p>
<p>1. Does the work take into account the domain?</p>
<p>2. Does the work contribute the domain?</p>
<p>3. Does the work tackle an ill-defined problem?</p>
<p>4. Is the work novel?</p>
<p>I believe if a piece of computer art passes these tests, then it should be considered by the field.</p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/07/19/generative-art-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generative Art, Part 1</title>
		<link>http://14lines.com/blog/2011/07/19/generative-art-part-1/</link>
		<comments>http://14lines.com/blog/2011/07/19/generative-art-part-1/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 00:03:45 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[digital-art]]></category>
		<category><![CDATA[words]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=40</guid>
		<description><![CDATA[Daniel, you can&#8217;t just go around claiming you like to make digital art without, firstly, giving it some real thought and secondly, publishing anything. You sound like a dick. Well, yes &#8211; I know. I will eventually get around to putting more things on the Internet, but for now you&#8217;ll have to make do with [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Daniel, you can&#8217;t just go around claiming you like to make digital art without, firstly, giving it some real thought and secondly, publishing anything. You sound like a dick.</p></blockquote>
<p>Well, yes &#8211; I know. I will eventually get around to putting more things on the Internet, but for now you&#8217;ll have to make do with <a href="http://14lines.com/tweetchimes/" target="_blank">Tweet Chimes</a> and <a href="http://hope.14lines.com/">I Hope I Don&#8217;t Fall In Love With You</a>. More is on it&#8217;s way &#8211; but I&#8217;m a terribly lazy man.</p>
<p>I did a wonderful course at University which originally got me interested in the whole it&#8217;s-not-really-art-but-look-at-this-thing-I-did-with-a-computer thing and it was called &#8220;generative creativity&#8221;. Part of this excursion into the humanities had me writing an essay about whether or not computers can be creative and, although I&#8217;m very much a programmer and very much not a writer I was pretty happy with it. So I thought I&#8217;d post it here, on my blog. Hopefully it&#8217;ll fill the time between the last picture of a cat and the next. Anyway, I&#8217;m going to post in a few parts and here is the first&#8230;<span id="more-40"></span></p>
<h2>Part One, &#8220;What is Creativity, and for that matter, what is art?&#8221;</h2>
<p>Computers, both as a tool for a human artist and an artist in its own right are a controversial issue in the art community. Much of the discussion revolves around the varying degrees that computers impact the creative process or if computers are themselves capable of true creativity.</p>
<p><a href="http://en.wikipedia.org/wiki/Margaret_Boden" target="_blank">Maggie Boden</a> (Collingwood and Computer Art, 2009) explains that there are essentially two types of computer art. The first computer-assisted (CA) art is art which is driven by the human creative process and aided by the use of computers. An obvious example of this would be an artist using an image editing package like Adobe Photoshop to ‘paint’ a picture.</p>
<p>The second, computer-generated (CG), is a much more controversial issue. CG art is the process of allowing a computer to make all or some of creative decisions, either of its own accord or from inspiration in the form of parameters.  This report will concentrate mostly on CG art, with output which is intended to be considered ‘art’ in its own right.</p>
<p>It would be enormously helpful to be able to define creativity; unfortunately – like the abstract concept of ‘Art’ – there is no consensus as to what is creative and what is not. There are, however, many competing ideas.</p>
<h3>Science or Art?</h3>
<p>Before exploring the different ideas of creativity, we must first assert the domain in which the term shall be referenced, hence forth. <a href="http://www.jstor.org/pss/1576076">Matthew Elton</a> details that are two broad categories of creativity. He notes that the two categories can be distinguished by their attitudes towards the process of creativity and the position the artifact that is created takes within the culture.</p>
<p>In the first of the categories, scientific and mathematic creativity, the outcome of creative efforts is valued on the intrinsic worth of the idea or the item. Value is defined by how much the effort increases the sum of scientific knowledge or how useful it is. In many ways, this is a pragmatic view of creativity.</p>
<p>In the artistic world, however, as well as the merit of the piece &#8211; a piece of art is also considered within the context of the shared culture around it and is able to affect the way that previous works are interpreted. For instance, a person today listening to ’77 punk does not consider it in the same terms that they would have when it was first produced, because there has been 30 years of growth in music.</p>
<p>The world of artistic creativity also judges the etiological properties  of a piece – how it was created, and why. Elton illustrates this with an example:</p>
<blockquote><p>Let us try to think of a pure, aesthetic experience, say watching the rolling ocean from atop a high cliff. We might think that what matters here is the stimulation of the senses. But suppose we further imagine that someone, a most reliable witness, told us that what we were actually seeing was a complex holographic projection. Although we may now be impressed at what those clever holographic engineers get up to these days, is not our appreciation, if not dimmed, very much changed? Unless the view has the right sort of history, and unless it is in some sense the &#8220;real thing,&#8221; whether perceptually distinguishable or not, we are apt to feel cheated.</p></blockquote>
<p>This example, I feel, captures a deeply embedded prejudice that I have also felt when reflecting upon a more scientific kind of creativity in the context of an artistic one.</p>
<p>If computer art hopes to considered with any legitimacy, I would contend that it has to be able to step beyond the scientific notion of creativity – that of great achievement – and into the notion of artistic creativity, with more of an emphasis on the ecosystem that a piece steps into, the emotions and thought that went into creating it and the affect on the viewer that it provokes.</p>
<p>Next time -<em> Building a framework for creativity. </em></p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/07/19/generative-art-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I Hope I Don&#8217;t Fall In Love With You.</title>
		<link>http://14lines.com/blog/2011/06/15/omegle-bot-tom-wait/</link>
		<comments>http://14lines.com/blog/2011/06/15/omegle-bot-tom-wait/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 19:46:13 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[digital-art]]></category>
		<category><![CDATA[omegle]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=28</guid>
		<description><![CDATA[&#8220;I Hope I Don&#8217;t Fall in Love with You&#8221; is a  Tom Waits Song. I was thinking about  about what an odd thing &#8220;I Hope I Don&#8217;t Fall in Love with You&#8221; is to say to someone &#8211; I suspect given the right context it might be ok, but that context is lost on me. [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;I Hope I Don&#8217;t Fall in Love with You&#8221; is a  <a href="http://www.youtube.com/watch?v=sdy4ell_dtM">Tom Waits Song</a>.</p>
<div class="wp-caption alignnone" style="width: 497px"><a href="http://hope.14lines.com"><img class="  " title="This is what it's come to." src="http://i.imgur.com/2A3sz.png" alt="This is what it's come to." width="487" height="94" /></a><p class="wp-caption-text">Welcome to the Internet.</p></div>
<p>I was thinking about  about what an odd thing &#8220;I Hope I Don&#8217;t Fall in Love with You&#8221; is to say to someone &#8211; I suspect given the right context it might be ok, but that context is lost on me. Since I&#8217;m doomed to never know, I thought it might be interesting to take the line and use it inappropriately. Running around Brighton saying it to people I don&#8217;t know sounds like a good night but, in 2011, this sort of thinking should really be automated.</p>
<p>So I made an <a href="http://omegle.com/">Omegle</a> bot to bother people on the internet. It sits on Omegle repeating the title of this song and writing down what it sees.</p>
<p>You can see what it&#8217;s been up to by going to <a href="http://hope.14lines.com ">hope.14lines.com</a>. At the very least I hope you find the thought of this being what I spend my spare time on amusing.</p>
<p>Oh, and if you&#8217;re into that sort of thing &#8211; the source is <a href="https://github.com/danielcooper/ihopeidontfallinlovewithyou">here.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/06/15/omegle-bot-tom-wait/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Atlas API &amp; Ruby</title>
		<link>http://14lines.com/blog/2011/05/18/atlas-api-ruby/</link>
		<comments>http://14lines.com/blog/2011/05/18/atlas-api-ruby/#comments</comments>
		<pubDate>Wed, 18 May 2011 19:49:40 +0000</pubDate>
		<dc:creator>daniel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[atlas]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://14lines.com/blog/?p=20</guid>
		<description><![CDATA[It&#8217;s not often that I get to write a gem &#8211; since I&#8217;m fairly convinced that pretty much everything that needs to be on the Internet has already been made and subsequently forgotten about. It was with great excitement, therefore, that I noticed the Atlas-API had only a solitary client library and even that it [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s not often that I get to write a gem &#8211; since I&#8217;m fairly convinced that pretty much everything that needs to be on the Internet has already been made and subsequently forgotten about. It was with great excitement, therefore, that I noticed the <a href="http://docs.atlasapi.org/">Atlas-API</a> had only a solitary client library and even that it was in Java.</p>
<p>The Atlas API provides all sorts interesting data about audio and video on the Internet &#8211; with BBC, Hulu and even Youtube feeds available the life of a audio-visual application developer couldn&#8217;t be made much easier.</p>
<p>To get started with Atlas and Ruby I implore you to install Ratlas</p>
<p><code> &gt; gem install ratlas</code></p>
<p><a href="https://github.com/danielcooper/ratlas">Ratlas</a> is a thin wrapper around the functions listed in the atlas api documentation. It provides 4 classes: search, discover, schedule and content which expose a find method that you can treat a little like you would the ActiveRecord find method. The arguments for the conditions hash are identical to the api docs &#8211; but we use underscored symbols rather than camelCased strings.</p>
<p><code>Ratlas::Discover.find(:all).where(:genre=&gt; "drama", :media_type =&gt; 'video')</code></p>
<p>It also supports method chaining so you can define a search:</p>
<p><code>mysearch = Ratlas::Schedule.find(:all).where(:from =&gt; Time.now.to_i, :to=&gt; Time.now.to_i + 3600)</code></p>
<p>and fiddle with it later on.</p>
<p><code>mysearch.and(:channel =&gt; 'bbcone')</code></p>
<p>Then when you&#8217;re feeling up to it calling #each or #to_a will execute your query and give you a nice <a href="https://github.com/intridea/hashie">Mash</a> to play with.</p>
]]></content:encoded>
			<wfw:commentRss>http://14lines.com/blog/2011/05/18/atlas-api-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

