<?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>Alex McLean &#187; haskell</title>
	<atom:link href="http://yaxu.org/category/haskell/feed/" rel="self" type="application/rss+xml" />
	<link>http://yaxu.org</link>
	<description>Making music with text</description>
	<lastBuildDate>Wed, 16 May 2012 09:24:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>smoothdirt</title>
		<link>http://yaxu.org/smoothdirt/</link>
		<comments>http://yaxu.org/smoothdirt/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 17:19:24 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=951</guid>
		<description><![CDATA[I&#8217;ve got some sounds out of my new live coding system, codenamed &#8220;smoothdirt&#8221;.  Here&#8217;s an mp3 for you.  The sounds are triggered with some C and structured and scheduled with some Haskell.  Plenty more to do, but already really happy hearing embedded juxtoposition of timescales, smooth multichannel panning (2 channels in this test, but I&#8217;m playing [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got some sounds out of my new live coding system, codenamed &#8220;smoothdirt&#8221;.  Here&#8217;s an <a href="http://yaxu.org/tmp/first.mp3">mp3 for you</a>.  The sounds are triggered with <a href="https://github.com/yaxu/dirt">some C</a> and structured and scheduled with <a href="https://github.com/yaxu/smooth">some Haskell</a>.  Plenty more to do, but already really happy hearing embedded juxtoposition of timescales, smooth multichannel panning (2 channels in this test, but I&#8217;m playing on a quadrophonic cinema soundsystem at lovebytes) and sample accuracy, which I test at the end by playing a kick drum sample <em>a lot</em>.</p>
<p>My new representation also allows me to treat musical structure as both a discrete pattern and a continuous signal, which I&#8217;m very happy about, but haven&#8217;t explored the depths of yet..</p>
<p>Anyway with a few tweaks and effects it&#8217;ll be ready for the <a href="http://nnnnn.org.uk/doku.php?id=supercollider_2012_warm_up_live_algorave_in_east_london">algorave in London</a> this weekend.</p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/smoothdirt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://yaxu.org/tmp/first.mp3" length="5602404" type="audio/mpeg" />
		</item>
		<item>
		<title>Patterns in Haskell revisited</title>
		<link>http://yaxu.org/patterns-in-haskell-revisited/</link>
		<comments>http://yaxu.org/patterns-in-haskell-revisited/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 15:58:25 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=917</guid>
		<description><![CDATA[A while back I came up with this way of representing musical patterns as pure functions in Haskell: data Pattern a = Pattern {at :: Int -&#62; [a], period :: Int} These patterns can be composed nicely with pattern combinators, creating strange polyrhythmic structures, see my earlier post for info. This turned out just great for [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://yaxu.org/patterns-in-haskell/">while back</a> I came up with this way of representing musical patterns as pure functions in Haskell:</p>
<blockquote>
<pre><strong>data Pattern a = Pattern {at :: Int -&gt; [a], period :: Int}</strong></pre>
</blockquote>
<div>These patterns can be composed nicely with pattern combinators, creating strange polyrhythmic structures, see my <a href="http://yaxu.org/patterns-in-haskell/">earlier post</a> for info.</div>
<div>This turned out just great for representing acid techno, see for example <a href="http://blip.tv/piksel/piksel10-slub-alex-mclean-dave-griffiths-4540027">this video</a> of people dancing to Dave and I.  I was using Tidal which uses a representation similar to the above (and Dave was using his lovely <a href="http://www.pawfal.org/dave/index.cgi?Projects/Scheme%20Bricks">SchemeBricks</a> software).</div>
<div>However lately I&#8217;ve been wanting to make music other than acid techno, in particular in preparation for a <a href="http://2012.lovebytes.org.uk/event.php?ref=1202&amp;title=Live%20Notation">performance with Hester Reeve</a>, a Live Artist.</p>
<p>After a lot of fiddling about, I seem to be settling on this:</p></div>
<p><span id="more-917"></span></p>
<blockquote>
<pre><strong>data Pattern a = Atom {event :: a}
                 | Arc {pattern :: Pattern a,
                        onset :: Double,
                        duration :: Maybe Double
                       }
                 | Cycle {patterns :: [Pattern a]}
                 | Signal {at :: Double -&gt; Pattern a}</strong></pre>
</blockquote>
<p>I&#8217;ve got rid of periods, now patterns always have a relative period of 1. However they can be scaled down by being enclosed in an <strong>Arc</strong> pattern, and given a floating point duration and time phase offset (which in music parlance is called an onset), which should be less than 1.  A <strong>Cycle</strong> pattern consists of a number of <strong>Arc</strong>s, which may overlap in time.</p>
<p>The end result is a nice representation of cyclic patterns within patterns, with floating point time so that events don&#8217;t have to occur within the fixed time grids of the acid techno I&#8217;ve been making.</p>
<p>It is also still possible to represent a pattern as a function, which is what a <strong>Signal</strong> is in the above.</p>
<p>The <strong>Functor</strong> definition is straightforward:</p>
<blockquote>
<pre><strong>instance Functor Pattern where
    fmap f p@(Atom {event = a}) = p {event = f a}
    fmap f p@(Arc {pattern = p'}) = p {pattern = fmap f p'}
    fmap f p@(Cycle {patterns = ps}) = p {patterns = fmap (fmap f) ps}
    fmap f p@(Signal _) = p {at = (fmap f) . (at p)}</pre>
<p></strong></p></blockquote>
<p>The <strong>Applicative</strong> functor definition isn&#8217;t so bad either:</p>
<blockquote>
<pre><strong>instance Applicative Pattern where
    pure = Atom</pre>
<pre>    Atom f &lt;*&gt; xs = f &lt;$&gt; xs
    fs &lt;*&gt; (Atom x) = fmap (\f -&gt; f x) fs</pre>
<pre>    (Cycle fs) &lt;*&gt; xs = Cycle $ map (&lt;*&gt; xs) fs
    fs &lt;*&gt; (Cycle xs) = Cycle $ map (fs &lt;*&gt;) xs</pre>
<pre>    fs@(Arc {onset = o}) &lt;*&gt; s@(Signal {}) = fs &lt;*&gt; (at s o)
    fs@(Arc {}) &lt;*&gt; xs@(Arc {}) | isIn fs xs = fs {pattern = (pattern fs) &lt;*&gt; (pattern xs)}
                                | otherwise = Cycle []</strong></pre>
<pre><strong>    fs@(Signal {}) &lt;*&gt; xs = Signal $ (&lt;*&gt; xs) . (at fs)
    fs &lt;*&gt; xs@(Signal {}) = Signal $ (fs &lt;*&gt;) . (at xs)</strong></pre>
</blockquote>
<p>Here&#8217;s how to turn a list into a pattern:</p>
<blockquote>
<pre><strong>class Patternable p where
    toPattern :: p a -&gt; Pattern a</strong></pre>
<pre><strong>instance Patternable [] where
    toPattern xs = Cycle ps
      where
        ps = map (\x -&gt; Arc {pattern = Atom $ xs !! x,
                             onset = (fromIntegral x) / (fromIntegral $ length xs),
                             duration = Nothing
                            }
                 ) [0 .. (length xs) - 1]</strong></pre>
</blockquote>
<p>And here&#8217;s how to make a <strong>Signal</strong> pattern of a sinewave:</p>
<blockquote>
<pre><strong>-- sinewave from -1 to 1
sinewave :: Pattern Double
sinewave = Signal {at = f}</pre>
<pre>    where f x = Arc {pattern = Atom $ (sin . (pi * 2 *)) x,
                     onset = mod' x 1,
                     duration = Nothing
                    }</strong></pre>
<pre><strong>-- sinewave from 0 to 1
sinewave1 :: Pattern Double
sinewave1 = fmap ((/ 2) . (+ 1)) sinewave</strong></pre>
</blockquote>
<p>Finally, here&#8217;s how to multiply a <strong>Cycle</strong> of discrete events by a <strong>Signal</strong>, thanks to our <strong>Applicative</strong> definition:</p>
<blockquote>
<pre><strong>(*) &lt;$&gt; toPattern [1 .. 16] &lt;*&gt; sinewave</strong></pre>
</blockquote>
<p>Well this may all be rather trivial, but somehow I find this really exciting, that continuous functions can be multipled by (potentially) complex discrete, hierarchical patterns with such tersity.  Furthermore that time can be manipulated outside of fixed grids.  I&#8217;ve been putting off making sounds from this, to try not to prejudice possibilities, but am really looking forward to experimenting with it live in performance.</p>
<p>It&#8217;s probably not of much use to anyone else at the moment, but the code is <a href="https://github.com/yaxu/smooth">over here</a>.<br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/patterns-in-haskell-revisited/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PhD Thesis: Artist-Programmers and Programming Languages for the Arts</title>
		<link>http://yaxu.org/thesis/</link>
		<comments>http://yaxu.org/thesis/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 14:07:32 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[papers]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[texture]]></category>
		<category><![CDATA[visualisation]]></category>
		<category><![CDATA[vocable]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=893</guid>
		<description><![CDATA[With some minor corrections done, my thesis is finally off to the printers.  I&#8217;ve made a PDF available, and here&#8217;s the abstract: We consider the artist-programmer, who creates work through its description as source code. The artist-programmer grandstands computer language, giving unique vantage over human-computer interaction in a creative context. We focus on the human [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://yaxu.org/writing/thesis.pdf"><img class="wp-image-898 alignright" style="border-image: initial; border-width: 1px; border-color: black; border-style: solid; margin: 0 0 15px 15px;" title="thesis" src="http://yaxu.org/wp-content/uploads/2012/02/thesis-216x300.png" alt="" width="173" height="240" /></a>With some minor corrections done, my thesis is finally off to the printers.  I&#8217;ve made a <a href="http://yaxu.org/writing/thesis.pdf">PDF</a> available, and here&#8217;s the abstract:</p>
<blockquote><p>We consider the artist-programmer, who creates work through its description as source code. The artist-programmer grandstands computer language, giving unique vantage over human-computer interaction in a creative context. We focus on the human in this relationship, noting that humans use an amalgam of language and gesture to express themselves. Accordingly we expose the deep relationship between computer languages and continuous expression, examining how these realms may support one another, and how the artist-programmer may fully engage with both.</p>
<p>Our argument takes us up through layers of representation, starting with symbols, then words, language and notation, to consider the role that these representations may play in human creativity. We form a cross-disciplinary perspective from psychology, computer science, linguistics, human-computer interaction, computational creativity, music technology and the arts.</p>
<p>We develop and demonstrate the potential of this view to inform arts practice, through the practical introduction of software prototypes, artworks, programming languages and improvised performances. In particular, we introduce works which demonstrate the role of perception in symbolic semantics, embed the representation of time in programming language, include visuospatial arrangement in syntax, and embed the activity of programming in the improvisation and experience of art.</p></blockquote>
<p>Feedback is very welcome!</p>
<p>BibTeX record:</p>
<pre>@phdthesis{McLean2011,
    title = {{Artist-Programmers} and Programming Languages for the Arts},
    author = {McLean, Alex},
    month = {October},
    year = {2011},
    school = {Department of Computing, Goldsmiths, University of London}
}</pre>
<p>RIS record:</p>
<pre>TY  - THES
ID  - McLean2011
TI  - Artist-Programmers and Programming Languages for the Arts
PB  - Department of Computing, Goldsmiths, University of London
AU  - McLean, Alex
PY  - 2011/10/01</pre>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/thesis/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Pitter patter</title>
		<link>http://yaxu.org/pitter-patter/</link>
		<comments>http://yaxu.org/pitter-patter/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 14:09:21 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[music]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=657</guid>
		<description><![CDATA[Experimenting with webcam overlay. Video recorded using gstreamer, source for screencaster here (screensave.c). UPDATE, here&#8217;s another from a different angle to appease douglas.]]></description>
			<content:encoded><![CDATA[<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/8JrrOcfLK3A" frameborder="0" allowfullscreen></iframe></p>
<p>Experimenting with webcam overlay. Video recorded using gstreamer, source for screencaster <a href="http://darcs.slab.org/index.cgi?r=screencast;a=summary">here</a> (screensave.c).</p>
<p>UPDATE, here&#8217;s another from a different angle to appease <a href="http://music.columbia.edu/~douglas/">douglas</a>.</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/1lolkx69pD8" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/pitter-patter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Workshop output</title>
		<link>http://yaxu.org/workshop-output/</link>
		<comments>http://yaxu.org/workshop-output/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 23:57:47 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[texture]]></category>
		<category><![CDATA[visualisation]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=574</guid>
		<description><![CDATA[The Text live coding workshop went really well, surprisingly well considering it was the first time anyone apart from me had used it and (so I found out after) most of the participants didn&#8217;t have any programming experience. The six participants took to the various combinators surprisingly quickly, the main stumbling block being getting the [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://access-space.lowtech.org/doku.php?id=events:audio_workshop_-_alex_mclean">Text live coding workshop</a> went really well, surprisingly well considering it was the first time anyone apart from me had used it and (so I found out after) most of the participants didn&#8217;t have any programming experience.  The six participants took to the various combinators surprisingly quickly, the main stumbling block being getting the functions to connect in the right way&#8230;  Some UI work to do there, and I got some valuable feedback on it.</p>
<p>Once the participants had got the hang of things on headphones, we all switched to speakers and the seven of us played acid techno for an hour or so together, in perfect time sync thanks to <a href="http://netclock.slab.org/">netclock</a>.  Here&#8217;s a mobile phone snippet:</p>
<p><iframe src="http://player.vimeo.com/video/19601354" width="400" height="300" frameborder="0"></iframe></p>
<p>The sound quality doesn&#8217;t capture it there, but for me things got really interesting musically, and it was fun walking around the room panning between the seven players&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/workshop-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Text update and source</title>
		<link>http://yaxu.org/text-update-and-source/</link>
		<comments>http://yaxu.org/text-update-and-source/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 12:52:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[texture]]></category>
		<category><![CDATA[visualisation]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=567</guid>
		<description><![CDATA[I&#8217;ve updated Text a bit to improve the visual representation of higher order types (you&#8217;d probably need to full screen to view): I won&#8217;t be touching this until after the workshop on Saturday. I&#8217;ve also made the source for the visual interface available here under the GPLv3 free license. To get it actually working as [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated Text a bit to improve the visual representation of higher order types (you&#8217;d probably need to full screen to view):</p>
<p><iframe src="http://player.vimeo.com/video/19384095" width="400" height="300" frameborder="0"></iframe></p>
<p>I won&#8217;t be touching this until after <a href="http://access-space.lowtech.org/doku.php?id=events:audio_workshop_-_alex_mclean">the workshop</a> on Saturday.</p>
<p>I&#8217;ve also made the source for the visual interface available <a href="http://darcs.slab.org/index.cgi?r=text;a=summary">here</a> under the <a href="http://www.gnu.org/licenses/gpl.html">GPLv3</a> free license.  To get it actually working as above you&#8217;d also need to install my <a href="http://darcs.slab.org/index.cgi?r=tidal;a=summary">tidal library</a>, Jamie Forth&#8217;s <a href="http://darcs.slab.org/index.cgi?r=network%20(clock)%20stuff;a=summary">network sync</a>, my <a href="http://yaxu.org/datadirt/">sampler</a>, the nekobee synth, and somehow get it all working together.  In short, it&#8217;s a bit tricky, I&#8217;ll be working on packaging soonish though.</p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/text-update-and-source/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Test run of Text</title>
		<link>http://yaxu.org/test-run-of-text/</link>
		<comments>http://yaxu.org/test-run-of-text/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 00:17:42 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[texture]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=561</guid>
		<description><![CDATA[I&#8217;ve been rather busy writing lately, my PhD funding runs out in April, and I hope by then I&#8217;ll have finished and will be looking for things to do next. I have had a bit of time to make Text, a visual language I mentioned earlier, a bit more stable, here&#8217;s a test run: A [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been rather busy writing lately, my PhD funding runs out in April, and I hope by then I&#8217;ll have finished and will be looking for things to do next.</p>
<p>I have had a bit of time to make Text, a visual language I <a href="http://yaxu.org/some-videos/">mentioned earlier</a>, a bit more stable, here&#8217;s a test run:</p>
<p><iframe src="http://player.vimeo.com/video/19273744" width="400" height="300" frameborder="0"></iframe></p>
<p>A bit of a struggle, partly due to the small screen area I gave myself for the grab, but also due to some UI design issues I need to sort out before my <a href="http://access-space.lowtech.org/doku.php?id=events:audio_workshop_-_alex_mclean">workshop at Access Space</a> in Sheffield next week, on the 5th February.  Access Space is a really nice free media lab, but will turn nasty unless I free the workshop software, so expect a release soon.</p>
<p>In case someone is interested, here&#8217;s the linux commandline I use to record a screencast with audio from jackd:</p>
<p><code><br />
    gst-launch-0.10 avimux name=mux \<br />
        ! filesink location=cast.avi \<br />
        ximagesrc name=videosource use-damage=false endx=640 endy=480 \<br />
        ! video/x-raw-rgb,framerate=10/1 \<br />
        ! videorate \<br />
        ! ffmpegcolorspace \<br />
        ! videoscale method=1 \<br />
        ! video/x-raw-yuv,width=640,height=480,framerate=10/1 \<br />
        ! queue \<br />
        ! mux. \<br />
        jackaudiosrc connect=0 name=audiosource \<br />
        ! audio/x-raw-float,rate=44100,channels=2,depth=16 \<br />
        ! audioconvert \<br />
        ! queue \<br />
        ! mux.<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/test-run-of-text/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Text</title>
		<link>http://yaxu.org/text/</link>
		<comments>http://yaxu.org/text/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 10:03:30 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[texture]]></category>
		<category><![CDATA[visualisation]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=580</guid>
		<description><![CDATA[Text is a experimental visual language under development.  Code and docs will appear here at some point, but all I have for now is this video of a proof of concept. It&#8217;s basically Haskell but with syntax based on proximity in 2D space, rather than adjacency.  Type compatible things connect automatically, made possible though Haskell&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Text is a experimental visual language under development.  Code and docs will appear here at some point, but all I have for now is this video of a proof of concept.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="390" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/AYKOkxcC" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="390" src="http://blip.tv/play/AYKOkxcC" allowfullscreen="true"></embed></object></p>
<p>It&#8217;s basically Haskell but with syntax based on proximity in 2D space, rather than adjacency.  Type compatible things connect automatically, made possible though Haskell&#8217;s strong types and currying.  I implemented the interface in C, using clutter, and ended up implementing a lot of Haskell&#8217;s type system.  Whenever something changes it compiles the graph into Haskell code, which gets piped to ghci.  The different colours are the different types.  Stripes are curried function parameters.  Lots more to do, but I think this could be a really useful system for live performance.</p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/text/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>hackpact week 4</title>
		<link>http://yaxu.org/hackpact-week-3-2/</link>
		<comments>http://yaxu.org/hackpact-week-3-2/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 23:00:01 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[hackpact]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=336</guid>
		<description><![CDATA[Ok the third fourth week of hackpact actually started yesterday, but I didn&#8217;t think my contribution then warranted a new entry. hackpact23 Bit of an error with the screencast, see if you can spot the problem. Pretty happy with the sound though. (will take a while to appear due to vimeo&#8217;s encoding queue) I&#8217;m musically [...]]]></description>
			<content:encoded><![CDATA[<p>Ok the <strike>third</strike> fourth week of <a href="http://www.toplap.org/index.php/Hackpact">hackpact</a> actually started yesterday, but I didn&#8217;t think my contribution then warranted a new entry.</p>
<p><strong>hackpact23</strong></p>
<p>Bit of an error with the screencast, see if you can spot the problem.  Pretty happy with the sound though. (will take a while to appear due to vimeo&#8217;s encoding queue)</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6727278&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6727278&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p>I&#8217;m musically humbled by my son who has taught himself how to play the guitar and sing the blues.  He&#8217;s two today (24th), happy birthday Harvey.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6707673&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6707673&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6707697&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6707697&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><strong>hackpactoops</strong></p>
<p>Well I made a blueberry birthday cake for young Harvey on the 24th, which is a hacklet at a push, photo when I find the transfer cable.  No creations at all on the 25th or 26th, I was away for the weekend and thankfully didn&#8217;t get a moment with my laptop.  I did record a session last night thought that I&#8217;ll upload at some point&#8230;</p>
<p>The hackpact has been really good for making me get bored with my software and develop it further.  I need some longer term development time now though to play out some of my frustrations I&#8217;ve been feeling over the last month.  In particular using a command line interface is feeling like a big limitation, I need to express relationships over more than one line.  Maybe I can adapt the yi haskell editor for my needs.</p>
<p>Next month I think I&#8217;ll switch to making a fixed recording every week.  I&#8217;ve never really made fixed recordings so should be interesting.</p>
<p>Now I&#8217;ve fallen off the hackpact wagon I&#8217;m not sure if I&#8217;ll be able to totally get back on, particularly as I need to finish my PhD upgrade report by the end of this month.  We&#8217;ll see..</p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/hackpact-week-3-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hackpact week 3</title>
		<link>http://yaxu.org/hackpact-week-3/</link>
		<comments>http://yaxu.org/hackpact-week-3/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 08:49:43 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[haskell]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[hackpact]]></category>

		<guid isPermaLink="false">http://yaxu.org/?p=323</guid>
		<description><![CDATA[It&#8217;s the third week of the hackpact. A few have fallen by the wayside, others are doing impressively well. Adam is doing great learning supercollider, Sam is cracking away on a diverse range of ideas, Joe has put a lot of himself into his involved hacks, poetry with a smell of solder, Gabor pushing fluxus [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s the third week of the <a href="http://toplap.org/index.php/Hackpact">hackpact</a>.  A few have fallen by the wayside, others are doing impressively well.  <a href="http://www.adamjansch.co.uk/sc-a-day/">Adam</a> is doing great learning supercollider, <a href="http://www.collectivology.net/doku.php/sam_freeman/hackpact">Sam</a> is cracking away on a diverse range of ideas, <a href="http://www.joemariglio.com/blog/?cat=45">Joe</a> has put a lot of himself into his involved hacks, poetry with a smell of solder, <a href="http://mndl.hu/hackpact">Gabor</a> pushing fluxus in wild new directions every day, <a href="http://www.ablelemon.co.uk/chuckaday/">Scott</a> still soldiering on with ChucK every day, part of the inspiration for the hackpact and now part of it, and <a href="http://www.flickr.com/photos/cormacheron/tags/hackpact/">Cormac</a>&#8216;s easy sounding but in reality clearly really challenging rule based photography project that he&#8217;s tackling with increasing need for imagination.  Honorary mention for <a href="http://www.erase.net/weblog/action=tags/id=hackpact">Dan</a> who threw himself at the project with some ace daily projects before going offline for a bit, hopefully he&#8217;ll rejoin us.<br />
I hope I haven&#8217;t missed anyone, sorry if I have &#8212; let me know.</p>
<p><strong>hackpact15</strong></p>
<p><a href="http://vimeo.com/6597306">Another screencast</a> with some good moments and also a couple of bugs found&#8230;  I realised I forgot to switch off cpu scaling, so there might be more jumps in the recording.</p>
<p><strong>hackpact16</strong></p>
<p>Preparing for the haskell users group talk, so I tried to make some ultra quick demos of features of my pattern language.  Failed really, I kept getting distracted at making the patterns sound better rather than demonstrate how they work, so I will likely just do a live demo instead.  </p>
<p>The results are <a href="http://www.youtube.com/user/yaxu#play/uploads">on youtube</a> &#8212; I&#8217;m doing the presentation in google docs, and youtube is the only way of getting videos in there.  In fact this is the only way I found of making a presentation with videos in under linux.  Video support in openoffice sucks and didn&#8217;t work anyway, the html based s5 gets all slow and glitchy with videos in, the video library used in the python based bruce wouldn&#8217;t play any video I found, etc, etc&#8230;</p>
<p><strong>hackpact17</strong></p>
<p>Got through the haskell users group talk in one piece, happy with it actually.  I managed to do some short sub-minute demos for it today which I think made it easier for people to follow, and I think count as today&#8217;s hackpact.  Here&#8217;s the final presentation in full:</p>
<p><iframe src="http://docs.google.com/present/embed?id=ah2x4mkf2fx_112gwnffpck" frameborder="0" width="410" height="342"></iframe></p>
<p><strong>hackpact18</strong></p>
<p><a href="http://patch-tag.com/r/petrol/home">Uploaded my current Haskell stuff</a>.  Not very useful at all without instructions for how to install and use it which I&#8217;ll get to soon in a proper release, but some might be interested to read through the Pattern module at least.</p>
<p>Big shout out to <a href="http://bottomfeeder.ca/top/?cat=3">Kassen</a>, while he is behind on documenting his hackpact stuff he assures that he&#8217;s still doing daily hacks in the background.  Hope to hear more from his side of our acidpact soon.</p>
<p>I&#8217;m pretty tired, going to try and make a new screencast tonight nonetheless..  Ah, here you are.  Got rid of need for explicitly calling parser by using the overloaded string literals extension, thanks for the tip Ganesh.</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=6648111&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=6648111&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object></p>
<p><strong>hackpact19</strong></p>
<p>Today&#8217;s screencast is <a href="http://vimeo.com/6658276">here</a>, although it&#8217;s not all that.  No update tomorrow, we&#8217;re off  to do some live coding at Plymouth Planetarium, documentation will hopefully surface eventually.</p>
<p><strong>hackpact20</strong></p>
<p>Well the planetarium experiment went well, hopefully will turn into a tour.  Some documentation to appear sometime soon.</p>
<p><strong>hackpact21</strong></p>
<p>Too tired to make music, so worked on a <a href="http://slab.org/transfer/grayblack.png">poster design</a>.  Ended up too gloomy, to rework.</p>
<p><strong>hackpact22</strong><br />
<tt>[[blue, blue [lightblue lightskyblue lightblue, lightblue lightskyblue lightblue ~] blue, blue], blue lightblue ~, blue]</tt><br />
<img src="http://slab.org/blue.png"></p>
]]></content:encoded>
			<wfw:commentRss>http://yaxu.org/hackpact-week-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

