<?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>Colin Sullivan &#187; home</title>
	<atom:link href="http://colin-sullivan.com/main/category/home/feed/" rel="self" type="application/rss+xml" />
	<link>http://colin-sullivan.com/main</link>
	<description>Thoughts and stories from Colin&#039;s brain.</description>
	<lastBuildDate>Mon, 02 Jan 2012 02:45:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>KnacK</title>
		<link>http://colin-sullivan.com/main/2012/knack/</link>
		<comments>http://colin-sullivan.com/main/2012/knack/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 02:43:56 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1491</guid>
		<description><![CDATA[KnacK is a framework that I started this past quarter during my time in Music 220a1. The basic idea of the framework is to provide some conventions for making compositional code modular and reusable. There are some other features that I am interested in developing further as well such as a MVC-like interaction between raw [...]]]></description>
			<content:encoded><![CDATA[<p>KnacK is a framework that I started this past quarter during my time in Music 220a<sup id="fnref:220a"><a href="#fn:220a" rel="footnote">1</a></sup>.</p>
<p>The basic idea of the framework is to provide some conventions for making compositional code modular and reusable.  There are some other features that I am interested in developing further as well such as a <span class="caps">MVC</span>-like interaction between raw &#8220;aesthetic data&#8221; and the instruments/performers in a musical&nbsp;piece.</p>
<p><span id="more-1491"></span></p>
<p>For more info, check out the KnacK project page<sup id="fnref:knack"><a href="#fn:knack" rel="footnote">2</a></sup>.</p>
<div class="footnote">
<hr />
<ol>
<li id="fn:220a">
<p><a href="https://ccrma.stanford.edu/course-overviews/music-220a">https://ccrma.stanford.edu/course-overviews/music-220a</a>&#160;<a href="#fnref:220a" rev="footnote" title="Jump back to footnote 1 in the text">&#8617;</a></p>
</li>
<li id="fn:knack">
<p><a href="https://ccrma.stanford.edu/~colinsul/projects/knack/">https://ccrma.stanford.edu/~colinsul/projects/knack/</a>&#160;<a href="#fnref:knack" rev="footnote" title="Jump back to footnote 2 in the text">&#8617;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2012/knack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tulpasynth</title>
		<link>http://colin-sullivan.com/main/2012/tulpasynth/</link>
		<comments>http://colin-sullivan.com/main/2012/tulpasynth/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 02:18:40 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1487</guid>
		<description><![CDATA[&#8220;tulpasynth&#8221; is a real-time collaborative music creation system that I created this past quarter during Music 256A1. It is a collaborative web-based application for creating music with others in an intuitive&#160;way. I would love to enhance this application in the future by making the sound and interactions much more interesting and applicable to a touchscreen&#160;interface. [...]]]></description>
			<content:encoded><![CDATA[<p><span class="dquo">&#8220;</span>tulpasynth&#8221; is a real-time collaborative music creation system that I created this past quarter during Music 256A<sup id="fnref:256a"><a href="#fn:256a" rel="footnote">1</a></sup>.</p>
<p>It is a collaborative web-based application for creating music with others in an intuitive&nbsp;way.</p>
<p><span id="more-1487"></span></p>
<p>I would love to enhance this application in the future by making the sound and interactions much more interesting and applicable to a touchscreen&nbsp;interface.</p>
<p>You can read more about it, and see a short video of it in action on the tulpasynth page<sup id="fnref:tulpasynth"><a href="#fn:tulpasynth" rel="footnote">2</a></sup>.</p>
<div class="footnote">
<hr />
<ol>
<li id="fn:256a">
<p><a href="https://ccrma.stanford.edu/course-overviews/music-256a">https://ccrma.stanford.edu/course-overviews/music-256a</a>&#160;<a href="#fnref:256a" rev="footnote" title="Jump back to footnote 1 in the text">&#8617;</a></p>
</li>
<li id="fn:tulpasynth">
<p><a href="https://ccrma.stanford.edu/~colinsul/projects/tulpasynth/">https://ccrma.stanford.edu/~colinsul/projects/tulpasynth/</a>&#160;<a href="#fnref:tulpasynth" rev="footnote" title="Jump back to footnote 2 in the text">&#8617;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2012/tulpasynth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sopa Rant</title>
		<link>http://colin-sullivan.com/main/2011/sopa-rant/</link>
		<comments>http://colin-sullivan.com/main/2011/sopa-rant/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 22:20:28 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[words]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[sopa]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1480</guid>
		<description><![CDATA[I have a big issue with the Stop Online Piracy Act1 that is close to being enacted, and I am sure that many others share similar views2. I have been studying technology for longer than many have. I have been personally affected by the consequences of changes in technology. I have spent the past four [...]]]></description>
			<content:encoded><![CDATA[<p>I have a big issue with the Stop Online Piracy Act<sup id="fnref:sopa"><a href="#fn:sopa" rel="footnote">1</a></sup> that is close to being enacted, and I am sure that many others share similar views<sup id="fnref:quotes"><a href="#fn:quotes" rel="footnote">2</a></sup>.</p>
<p><span id="more-1480"></span></p>
<p>I have been studying technology for longer than many have.  I have been personally affected by the consequences of changes in technology.  I have spent the past four years, and will be spending the next two working towards educating myself so I can influence technology that affects me the most in a positive way.  I witnessed iPod mania among my peers from its birth, and have seen the effects this has had on common perception about the worth of music, and purchasing vs.&nbsp;pirating.</p>
<p>From my perspective, the &#8220;<span class="caps">SOPA</span>&#8221; situation is as&nbsp;follows:</p>
<ul>
<li>Technology is moving forward, and will always be moving&nbsp;forward.</li>
<li>The high-grossing media distribution industry is built around distribution of physical medium, which is <em>no longer relevant</em> due to automated/far-reaching electronic medium distribution systems like iTunes, or a musician&#8217;s/record label&#8217;s own online retail&nbsp;store.</li>
<li>Therefore, the high-grossing music distribution industry is <strong>no longer relevant</strong>.</li>
</ul>
<p>This may be difficult for one to hear, especially if she/he has made a living/put children through college/gotten filthy rich using some of the profits of this industry.  Yes, this is a tough place to be.  It is a sad state of affairs when technology makes jobs obsolete, and the solution is not always clear.  What <em>is</em> clear to me, however, is that what <span class="caps">SOPA</span> proposes is <strong>not</strong> the solution to <em>this</em> problem.  Therefore, I can only assume that it is because of the money/power that this industry has in politics that <span class="caps">SOPA</span> is moving&nbsp;forward.</p>
<p>In terms of the problem the bill states it is solving, combating online piracy, I have a suggestion that I think is better than what <span class="caps">SOPA</span> proposes.  Censoring the internet, deleting <span class="caps">DNS</span> records, etc. seems like an incredibly roundabout solution to a straightforward problem.  I picture this solution as merely trimming the problem from the surface, instead of taking it out from its roots.  Not only is the <span class="caps">SOPA</span> solution shortsighted, but by definition it has the potential to stunt general innovation.  What I think would solve this issue is an incredibly simple and unobtrusive form of&nbsp;<span class="caps">DRM</span>.</p>
<p>The <span class="caps">DRM</span> system I imagine can work similar to what I hear Amazon&#8217;s kindle books work like, minus the digital distribution of the media.  This system could be managed by the government, implemented by the government, etc., and would consist of an open <span class="caps">API</span> to track consumers&#8217; digital media purposes.  Instead of the government mandating that all websites abide by arbitrary requests, they could mandate that any sites distributing digital media interface with this <span class="caps">API</span>.  This would be a straightforward way to ensure that consumers are only downloading media that they have the rights to, and would provide a clear criteria for an &#8220;infringing&nbsp;site&#8221;.</p>
<p>Consumers could also be provided with some control over their catalog of purchases, and could &#8220;loan&#8221; ownership of their items over to someone&nbsp;else.</p>
<p>Clearly I am glossing over some details here, but I think even at an abstract level, this concept seems more reasonable than allowing the government to choose which sites are&nbsp;&#8220;infringing&#8221;.</p>
<div class="footnote">
<hr />
<ol>
<li id="fn:sopa">
<p><a href="http://www.gpo.gov/fdsys/pkg/BILLS-112hr3261ih/pdf/BILLS-112hr3261ih.pdf">http://www.gpo.gov/fdsys/pkg/BILLS-112hr3261ih/pdf/BILLS-112hr3261ih.pdf</a>&#160;<a href="#fnref:sopa" rev="footnote" title="Jump back to footnote 1 in the text">&#8617;</a></p>
</li>
<li id="fn:quotes">
<p><a href="http://americancensorship.org/#quotes">http://americancensorship.org/#quotes</a>&#160;<a href="#fnref:quotes" rev="footnote" title="Jump back to footnote 2 in the text">&#8617;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2011/sopa-rant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Activist Montage</title>
		<link>http://colin-sullivan.com/main/2011/activist-montage/</link>
		<comments>http://colin-sullivan.com/main/2011/activist-montage/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 17:47:44 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[ChucK]]></category>
		<category><![CDATA[my music]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1466</guid>
		<description><![CDATA[Below is an audio montage/narrative-like soundscape that I have created from various clips of NPR interviewees and reporters. It was originally developed for a 4-channel audio system, but below is the binaural stereo mix. Audio was generated using ChucK. End result and source code can be found below. Hope you enjoy. NOTE: Unlike most content [...]]]></description>
			<content:encoded><![CDATA[<p>Below is an audio montage/narrative-like soundscape that I have created from various clips of NPR interviewees and reporters.  It was originally developed for a 4-channel audio system, but below is the binaural stereo mix. Audio was generated using ChucK.  End result and source code can be found below.  Hope you enjoy.</p>
<div style="text-align:center;">
<p>NOTE: Unlike most content on this site, this audio is <b>NOT</b> licensed as Creative Commons.  <b>The content is copyrighted by NPR</b>.</p>
<!-- degradable html5 audio and video plugin --><div class="audio_wrap html5audio"><audio controls autobuffer id="html5audio-0" class="html5audio"><source src="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.ogg" type="audio/ogg" /><source src="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.mp3" type="audio/mpeg" /><a href="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.mp3" title="Click to open" id="f-html5audio-0">Audio MP3</a><script type="text/javascript">AudioPlayer.embed("f-html5audio-0", {soundFile: "http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.mp3"});</script></audio></div>
<p>
        Download audio:<br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.m4a">Apple Lossless .m4a (3.7MB) Recommended if you use iTunes</a><br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.ogg">Ogg Vorbis (1MB)</a><br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.flac">Flac (3.5MB)</a><br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.mp3">MP3 (1.6MB)</a><br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/11/Too Big to Fail.wav">WAV (12MB)</a>
    </p>
<p>
        NOTE: Source code is licensed MIT. <br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/11/hw4.ck">Download source code</a>
    </p>
</div>
<p><span id="more-1466"></span></p>
<p>Sources:</p>
<ul>
<li><a href="http://www.npr.org/2011/10/26/141659992/occupy-wall-streets-most-unlikely-ally-the-pope">http://www.npr.org/2011/10/26/141659992/occupy-wall-streets-most-unlikely-ally-the-pope</a></li>
<li><a href="http://www.npr.org/2011/10/22/141619672/finding-common-ground-between-two-movements">http://www.npr.org/2011/10/22/141619672/finding-common-ground-between-two-movements</a></li>
<li><a href="http://www.npr.org/2011/10/19/141521155/how-are-business-impacted-by-occupy-wall-street">http://www.npr.org/2011/10/19/141521155/how-are-business-impacted-by-occupy-wall-street</a></li>
<li><a href="http://www.npr.org/2011/10/17/141411367/g-20-countries-meet">http://www.npr.org/2011/10/17/141411367/g-20-countries-meet</a></li>
<li><a href="http://www.npr.org/blogs/money/2011/10/05/141048592/occupy-wall-street-where-everybody-has-a-say-in-everything">http://www.npr.org/blogs/money/2011/10/05/141048592/occupy-wall-street-where-everybody-has-a-say-in-everything</a></li>
<li><a href="http://www.npr.org/2011/10/27/141733449/protests-pick-up-steam-will-obama-get-burned">http://www.npr.org/2011/10/27/141733449/protests-pick-up-steam-will-obama-get-burned</a></li>
<li><a href="http://www.npr.org/2011/10/28/141787999/occupy-violence-reignites-criticism-of-oakland-police">http://www.npr.org/2011/10/28/141787999/occupy-violence-reignites-criticism-of-oakland-police</a></li>
<li><a href="http://www.npr.org/2011/10/21/141578814/the-last-word-in-business">http://www.npr.org/2011/10/21/141578814/the-last-word-in-business</a></li>
<li><a href="http://www.npr.org/2011/10/30/141768287/nprs-hard-times-series-reporters-begin-journey">http://www.npr.org/2011/10/30/141768287/nprs-hard-times-series-reporters-begin-journey</a></li>
<li><a href="http://www.npr.org/2011/10/17/141427331/op-ed-occupy-wall-street-protesters-goals">http://www.npr.org/2011/10/17/141427331/op-ed-occupy-wall-street-protesters-goals</a></li>
<li><a href="http://www.npr.org/2011/10/27/141748016/cities-vary-widely-in-response-to-occupy-camps">http://www.npr.org/2011/10/27/141748016/cities-vary-widely-in-response-to-occupy-camps</a></li>
<li><a href="http://www.npr.org/2011/10/27/141761857/mayor-on-shutting-down-occupy-atlanta">http://www.npr.org/2011/10/27/141761857/mayor-on-shutting-down-occupy-atlanta</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2011/activist-montage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer science, philosophy, and the web</title>
		<link>http://colin-sullivan.com/main/2011/computer-science-philosophy-and-the-web/</link>
		<comments>http://colin-sullivan.com/main/2011/computer-science-philosophy-and-the-web/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 20:57:41 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[words]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1457</guid>
		<description><![CDATA[This summer, I drove across the country with an amazing woman who told me about some philisophical issues that she has concerning Computer Science. One of our discussions was about how she felt that if she were to enter the field of Computer Science, she would rather spend her time on computational theory research, seeing [...]]]></description>
			<content:encoded><![CDATA[<p>This summer, I drove across the country with an amazing woman who told me about some philisophical issues that she has concerning Computer Science.  One of our discussions was about how she felt that if she were to enter the field of Computer Science, she would rather spend her time on computational theory research, seeing as eventually we will have solved all of the problems we can with our current models of computation.<span id="more-1457"></span></p>
<p>Briefly, for anyone who has not studied models of computation, the basic idea is that there are different types of theoretical computers (i.e. models of computation) and there are different sets of problems that each of them can solve.  For example, a computerized soda vending machine can solve a much smaller set of problems than the computer you are using right now.  Analogously, the computer you are using right now cannot solve certain problems, and thus (theoretically), it is only a matter of time before we have solved all that we can, and until then we are simply &#8220;filling in the gaps&#8221;, as Amy puts it.</p>
<p>This has never bothered me.  I have known that we are just &#8220;filling in the gaps&#8221; for some time, but it was only until I discussed the idea with Amy that I gained some practical insight into what it meant for me.  If you&#8217;re still reading, bear with me while I depart for a bit.</p>
<p>I have been interested in audio and music technology for as long as I can remember.  My goal is to try to make a living while filling in the gaps in technology that I want to see filled, which will in turn allow artists like myself to be more productive, and open new opportunities to create beautiful things.  Of course, I&#8217;d like to have fun doing it as well, but that is for another discussion <img src='http://colin-sullivan.com/main/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>For the past few years, I have been learning about new technologies and about opportunities for collaborative audio/music applications on this great new platform we call the web.  Considering the web in the grand scheme of computing with respect to the philosophical issue described above,  of course no one knows where it will end up, but I find myself wondering if there will be very many problems left to solve in the near future. I have only lived in the bay area for a little over a month now, and have already met a handful of people who are working on a &#8220;collaborative shopping cart&#8221;, or a &#8220;collaborative text editor&#8221;, or a &#8220;collaborative audio organizational tool <img src='http://colin-sullivan.com/main/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8221;.  When most apps are made into their &#8220;collaborative&#8221; counterparts, and there is a multitude of distributed computing frameworks in existence, what will be left for the web?</p>
<p>Accompanied by my staying up-to-date with the evolution of the web, I have taken up an interest in open web standards and the process/people involved in taking on this challenge.  I have come to learn that there is a well-known tension in the Computer Science industry between the standards themselves and how they are actually implemented by vendors.  The most recent &#8220;gossip&#8221; on this subject is the Google Dart controversy.  </p>
<p>Again for the non-computer-scientist, the idea here is that if you have a lot of money for development, you can take the time to create a level of abstraction over the standard ways of doing things if you think the standards suck.  This allows your teams to build things easier/more reliably, and at the end your code gets translated into the standards-compliant code which you never have to look at.</p>
<p>Fortunately, many people with these sorts of resources (and many without) are working to improve the standards and make them much more useful in the real world.  Unfortunately, since this process is unavoidably so slow, the stereotypical developer ends up fawning over any small enhancement to these specifications that may make their lives easier.  I know because I do this too, it can be fun <img src='http://colin-sullivan.com/main/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but I think that most of the time it is short-sighted, tunnel-vision fawning, which is an issue. </p>
<p>Instead of getting excited and anticipating the support of HTML5 native date fields in iOS, I think if developers instead directed their excitement and anticipation on what we can do to fundamentally move the web platform forward, the evolution of the web may happen at a faster rate.  Alex Russell said it best in <= 140 characters:</p>
<blockquote><p>&#8220;The world needs fewer complacent followers of web standards dogma and more directed inquiry into why they all suck so hard.&#8221;<br />
- <a href="http://twitter.com/#!/slightlylate/status/106166418525003776">@slightlylate</a>
</p></blockquote>
<p>Why are there multiple standards for changing the way things look on the web?  Why do I have to know what &#8220;HTTP request&#8221;, &#8220;Facebook API&#8221;, &#8220;Cross-site request&#8221;, and &#8220;JSON&#8221; all mean just to get a user&#8217;s name when she/he on my site, when he/she has undoubtedly already entered their name 1000 times all over the web? Why can&#8217;t my mother translate her extensive graphic design skill to creating web sites easily?</p>
<p>These are the kinds of questions I think Developers should be asking if we are really interested in advancing this platform and potentially computing in general.  More people in the trenches could be discussing technology at a higher level and deciding how *they* want it to progress.</p>
<p>After all, it may be only a matter of time until the web doesn&#8217;t need anymore development <img src='http://colin-sullivan.com/main/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2011/computer-science-philosophy-and-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuing Studies at Stanford&#8217;s CCRMA</title>
		<link>http://colin-sullivan.com/main/2011/continuing-studies-at-stanfords-ccrma/</link>
		<comments>http://colin-sullivan.com/main/2011/continuing-studies-at-stanfords-ccrma/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 22:55:24 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[ccrma]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1125</guid>
		<description><![CDATA[In September I will officially be joining Stanford&#8217;s Center for Computer Research in Music and Acoustics to pursue a Master&#8217;s Degree in Music, Science and Technology. For the past 4 years I have studied Computer Science, web development, and a bit of the intersection of these fields with music/audio technology. What I am interested in [...]]]></description>
			<content:encoded><![CDATA[<p>In September I will officially be joining Stanford&#8217;s <a href="https://ccrma.stanford.edu/" title="CCRMA at Stanford" target="_blank">Center for Computer Research in Music and Acoustics</a> to pursue a <a href="https://ccrma.stanford.edu/academics/masters" target="_blank" title="CCRMA Master's in Music, Science and Technology">Master&#8217;s Degree in Music, Science and Technology</a>.<br />
<span id="more-1125"></span></p>
<p>For the past 4 years I have studied Computer Science, web development, and a bit of the intersection of these fields with music/audio technology.  What I am interested in currently is the emerging potential that I see for web-based collaborative audio and music applications.  I hope to make a contribution that will strengthen or expand this intersection and that is currently what I am working towards.</p>
<p>For some interesting readings in this area, see Mozilla&#8217;s proposed <a href="https://wiki.mozilla.org/Audio_Data_API" target="_blank" title="Mozilla's Audio Data API">Audio Data API</a>, and the <a href="http://www.w3.org/2011/audio/" target="_blank" title="W3C Audio Group">W3C Audio Group</a>&#8216;s <a href="https://chromium.googlecode.com/svn/trunk/samples/audio/specification/specification.html" title="W3C Web Audio API" target="_blank">Web Audio API</a>.</p>
<p>Thank you to everyone who has helped me along my way.</p>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2011/continuing-studies-at-stanfords-ccrma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bingo!</title>
		<link>http://colin-sullivan.com/main/2011/bingo/</link>
		<comments>http://colin-sullivan.com/main/2011/bingo/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 21:32:19 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1055</guid>
		<description><![CDATA[Every New Year&#8217;s Day, many of my family and friends gather to play bingo, eat and drink (like the good italians we are). In recent years there have been too many people in the house to hear what numbers have been called so I decided to take this opportunity to learn some new web technologies. [...]]]></description>
			<content:encoded><![CDATA[<p>Every New Year&#8217;s Day, many of my family and friends gather to play bingo, eat and drink (like the good italians we are).  In recent years there have been too many people in the house to hear what numbers have been called so I decided to take this opportunity to learn some new web technologies. <span id="more-1055"></span> <img src='http://colin-sullivan.com/main/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The application I&#8217;ve developed is published at <a href="http://bingo-board.org">bingo-board.org</a>.  It allows for anyone to set up a bingo board and to use a web browser to &#8220;call&#8221; the numbers, while other web browsers are watching the board.</p>
<p>We used this at my family&#8217;s party this past New Year&#8217;s and it worked out quite well.  I connected a computer to the television in the living room and set up a laptop in the dining room which both displayed the board of numbers in the browser window.  My father, who enjoys calling the bingo numbers, used a small laptop to click on the numbers as he called them.</p>
<p>The software is running on Google&#8217;s <a href="http://code.google.com/appengine/">App Engine</a>, which allows for immediate scalability should the Bingo Association of Great Britain start using it or something.  It is written using Django, in particular, <a href="http://www.allbuttonspressed.com/projects/django-nonrel">django-nonrel</a> which allows for the Django application to be run on GAE.  On top of Django is <a href="https://github.com/toastdriven/django-tastypie">django-tastypie</a>, which creates a REST interface for the application.  On the frontend, I am using <a href="http://documentcloud.github.com/backbone/">Backbone.js</a> (my new love), and CSS3.  You can read more about the CSS3 techniques that I experimented with for this application <a href="http://colin-sullivan.com/main/archives/1057">here</a>.</p>
<p>There are some issues with the software that I hope to resolve before next year, if you are interested in the project it is hosted on GitHub: <a href="https://github.com/colinsullivan/bingo-board">https://github.com/colinsullivan/bingo-board</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2011/bingo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some CSS3 Animations</title>
		<link>http://colin-sullivan.com/main/2011/some-css3-animations/</link>
		<comments>http://colin-sullivan.com/main/2011/some-css3-animations/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 21:29:26 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=1057</guid>
		<description><![CDATA[I recently developed a piece of software for loud italians to use as they play Bingo. I used CSS3 animations in a few different ways and would like to share my findings. You can read more about the application itself here and here. Here is a video of the effects as they currently stand. You [...]]]></description>
			<content:encoded><![CDATA[<p>I recently developed a piece of software for loud italians to use as they play Bingo.  I used CSS3 animations in a few different ways and would like to share my findings.<span id="more-1057"></span></p>
<p>You can read more about the application itself <a href="http://colin-sullivan.com/main/archives/1055">here</a> and <a href="http://bingo-board.org/">here</a>.</p>
<p>Here is a video of the effects as they currently stand.  You can see that when a number is called, it animates and then continues to animate until another is called.</p>
<div style="text-align: center;"><!-- degradable html5 audio and video plugin --><div class="video_wrap html5video"><video width="600" height="216" controls autobuffer poster="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-1-poster.png" id="html5video-0" class="html5video"><source src="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-1.m4v" type="video/mp4" /><source src="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-1.ogv" type="video/ogg" /><object width="600" height="216" type="application/x-shockwave-flash" data="http://colin-sullivan.com/main/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-1.m4v" id="f-html5video-0"><param name="movie" value="http://colin-sullivan.com/main/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-1.m4v" /><p>Could not use HTML&nbsp;5 or <em>Flash</em> for playback. You can download the file as <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-1.m4v">MPEG4/H.264</a> or <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-1.ogv">Ogg Theora</a> file.</p></object></video></div></div>
<p>What is happening is pretty awesome.  Each &#8220;bingo marker&#8221; has a <code>.disabled</code> class initially:</p>
<pre class="code"><code class="css">
.bingo_marker.disabled {
    opacity: 0.4;
    background: #BAB49D;
    border: none;
    -webkit-box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.5);
}
</code></pre>
<p>If a marker has been called, it will have an <code>.enabled</code> class on it:</p>
<pre class="code"><code class="css">
.bingo_marker.enabled {
    -webkit-animation-name: bounceEnable;
    -webkit-animation-duration: .25s;
    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
    background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#3D4C42), color-stop(0.3, #3D4C42), to(black));
    border: 1px solid white;
    opacity: 1;
}

@-webkit-keyframes 'bounceEnable' {
    from {
        -webkit-transform: scale(1);
        -webkit-animation-timing-function: ease-in-out;
    }
    33% {
        -webkit-transform: scale(1.5);
        -webkit-animation-timing-function: ease-in-out;

    }
    66% {
        -webkit-transform: scale(.75);
        -webkit-animation-timing-function: ease-in-out;
    }
    75% {
        -webkit-transform: scale(1.10);
        -webkit-animation-timing-function: ease-in-out;
    }
    to {
        -webkit-transform: scale(1);
        -webkit-animation-timing-function: ease-in-out;
    }
}
</code></pre>
<p>The animation here is the quick initial bounce when a number is activated (most visible above when a marker turns from red to black).  This is achieved by a simple keyframe animation on the <code>scale</code> attribute of the element.  Before I discovered <code>scale</code>, I tried animating <em>all</em> of the attributes including <code>font-size</code> a while back which <a href="http://lists.w3.org/Archives/Public/www-style/2010Sep/0012.html">didn&#8217;t work out so well</a>.</p>
<p>The last animation that is visible in the video is the long, repeating bounce for whichever marker is the last enabled.  For this, like all of the above animations, I just add a class, <code>lastEnabled</code>:</p>
<pre class="code"><code class="css">
.bingo_marker.lastEnabled {
    background: -webkit-gradient(
        linear, 0% 100%, 0% 0%,
        from(#FF0000),
        color-stop(0.4, #FF0000),
        to(#FF7D7F));
    -webkit-animation-name: lastEnabled;
    -webkit-animation-duration: 2.25s;
    -webkit-animation-direction: normal;
    -webkit-animation-iteration-count: infinite;
    z-index: 102;
}

@-webkit-keyframes 'lastEnabled' {
    from {
        -webkit-transform: scale(1);
    }
    10% {
        -webkit-transform: scale(1.5);

    }
    20% {
        -webkit-transform: scale(.75);
    }
    30% {
        -webkit-transform: scale(1.30);
    }
    to {
        -webkit-transform: scale(1);
    }
}
</code></pre>
<p>As you can see, this class merely changes the color of the marker and begins a repeating animation, once again on the <code>scale</code> attribute.</p>
<p>Another animation that I experimented with, but ended up removing, was the following:</p>
<div style="text-align: center;"><!-- degradable html5 audio and video plugin --><div class="video_wrap html5video"><video width="168" height="168" controls autobuffer poster="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-2-poster.png" id="html5video-1" class="html5video"><source src="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-2.m4v" type="video/mp4" /><source src="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-2.ogv" type="video/ogg" /><object width="168" height="168" type="application/x-shockwave-flash" data="http://colin-sullivan.com/main/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-2.m4v" id="f-html5video-1"><param name="movie" value="http://colin-sullivan.com/main/wp-content/plugins/degradable-html5-audio-and-video/incl/videoplayer.swf?file=http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-2.m4v" /><p>Could not use HTML&nbsp;5 or <em>Flash</em> for playback. You can download the file as <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-2.m4v">MPEG4/H.264</a> or <a href="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-animation-2.ogv">Ogg Theora</a> file.</p></object></video></div></div>
<p>This effect was quite fun to figure out how to achieve, although it may not look all that pleasing.  I wanted to figure out how to move that &#8220;caution tape&#8221; looking background without using any images.  In order to create the &#8220;caution tape&#8221; look, I wrote a little SVG that generates these diagonal stripes:</p>
<p><img src="http://colin-sullivan.com/main/wp-content/uploads/2011/01/bingo-board-stripes.png" alt="Yellow stripes" /></p>
<pre class="code">
<code class="xml">
&lt;svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"&gt;
  &lt;g style="fill-opacity:1;fill: #FFFF00;" transform="rotate(-45 50 50)"&gt;
    &lt;rect x="-50%" y="-20%" height="5%" width="150%" /&gt;
    &lt;rect x="-50%" y="-10%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="0" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="10%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="20%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="30%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="40%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="50%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="60%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="70%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="80%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="90%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="100%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="110%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="120%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="130%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="140%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="150%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="160%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="170%" height="5%" width="150%"/&gt;
    &lt;rect x="-50%" y="180%" height="5%" width="150%"/&gt;
  &lt;/g&gt;
&lt;/svg&gt;
</code></pre>
<p>These stripes are then loaded into that &#8220;background&#8221; element as the <code>background-image</code>:</p>
<pre class="code"><code class="css">
#last_enabled_background {
    background: black;
    background-image: url(../svg/stripes.svg);
    background-repeat: repeat;
    ...
}
</code></pre>
<p>Since the bars are already at a diagonal, all I need to do now is move them continuously:</p>
<pre class="code"><code class="css">
#last_enabled_background {
    -webkit-animation-name: moveBorder;
    -webkit-animation-duration: 10s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
}
@-webkit-keyframes 'moveBorder' {
    from {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 0%;
    }
    to {
        background-position: 0% 0%;
    }
}

</code></pre>
<p>Which worked great <img src='http://colin-sullivan.com/main/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>If anyone feels strongly about the development of the interface for bingo-board.org, please feel free to contact me on GitHub: <a href="https://github.com/colinsullivan/bingo-board">https://github.com/colinsullivan/bingo-board</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2011/some-css3-animations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Algorithmic Composition with the Fibonacci Sequence</title>
		<link>http://colin-sullivan.com/main/2010/algorithmic-composition-with-the-fibonacci-sequence/</link>
		<comments>http://colin-sullivan.com/main/2010/algorithmic-composition-with-the-fibonacci-sequence/#comments</comments>
		<pubDate>Sun, 12 Dec 2010 21:09:09 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[fibonacci]]></category>
		<category><![CDATA[my music]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=944</guid>
		<description><![CDATA[<p>I find the significance of the Fibonacci number sequence in nature, art, and mathematics very interesting.  For some time I have been thinking about how this pattern can be applied to music and have been developing my own musical composition that is algorithmically based on the Fibonacci sequence.<p>

<div style="text-align: center;">
    <p>
        The composition as it stands currently:
    </p>
    [audio src="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011" format="mp3 ogg"]
    <p>
        Please enjoy, and feel free to <a href="/main/2010/algorithmic-composition-with-the-fibonacci-sequence/">download</a> if you would like.
    </p>
</div>]]></description>
			<content:encoded><![CDATA[<p>
I find the significance of the Fibonacci number sequence in nature, art, and mathematics very interesting.  For some time I have been thinking about how this pattern can be applied to music and have been developing my own musical composition that is algorithmically based on the Fibonacci sequence.
</p>
<p><span id="more-944"></span></p>
<p>
Here is my recent work on this piece, I hope you enjoy listening to it and reading about my process.  There are many aspects that I would like to explore in the future but these are my findings thus far.
</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Colin-Sullivan_Algorithmic-Composition-Fibonacci_Theory.pdf">An Exploration of Algorithmic Composition via the Fibonacci Sequence (.pdf)</a><br />
A brief exploration of the history and theory behind algorithmic music composition and a discussion of the details of my own composition where I utilized the Fibonacci sequence.
</p>
<p>&nbsp;</p>
<p style="text-align: center;">
<a href="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Colin-Sullivan_Algorithmic-Composition-Fibonacci_Technical.pdf">An Exploration of Algorithmic Composition: Technical Details (.pdf)</a><br />
In this short paper I discuss the various technologies I have used in the development of this piece and how each of these tools helped with the development of the composition.
</p>
<p>&nbsp;</p>
<div style="text-align: center;">
    <!-- degradable html5 audio and video plugin --><div class="audio_wrap html5audio"><audio controls autobuffer id="html5audio-1" class="html5audio"><source src="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011.ogg" type="audio/ogg" /><source src="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011.mp3" type="audio/mpeg" /><a href="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011.mp3" title="Click to open" id="f-html5audio-1">Audio MP3</a><script type="text/javascript">AudioPlayer.embed("f-html5audio-1", {soundFile: "http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011.mp3"});</script></audio></div></p>
<p>
        The composition as it stands currently.  Please enjoy, and feel free to download if you would like:<br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011.m4a">Apple Lossless .m4a (22.4 MB) Recommended if you use iTunes</a><br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011.ogg">Ogg Vorbis 192.6kbps VBR (9.4 MB)</a><br />
        <a href="http://colin-sullivan.com/main/wp-content/uploads/2010/12/Fibonacci 2011.mp3">Mp3 203kbps VBR (9.9 MB)</a>
    </p>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2010/algorithmic-composition-with-the-fibonacci-sequence/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concert Development</title>
		<link>http://colin-sullivan.com/main/2010/concert-development/</link>
		<comments>http://colin-sullivan.com/main/2010/concert-development/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 00:39:29 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[home]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[concert sound organizer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://colin-sullivan.com/main/?p=957</guid>
		<description><![CDATA[This semester I did a decent amount of work on the framework for the Concert project: https://github.com/joshelser/Concert. Once this robust framework is complete, adding features should be a breeze thanks to the modular nature of our code. I have begun to work with the Backbone.js framework, which is turning out to be quite wonderful. For [...]]]></description>
			<content:encoded><![CDATA[<p>This semester I did a decent amount of work on the framework for the Concert project: <a href="https://github.com/joshelser/Concert" target="_blank" title="Concert on github">https://github.com/joshelser/Concert</a>.  Once this robust framework is complete, adding features should be a breeze thanks to the modular nature of our code.  I have begun to work with the <a href="http://documentcloud.github.com/backbone/" title="Backbone.js" target="_blank">Backbone.js</a> framework, which is turning out to be quite wonderful.  For more details, see the Fall 2010 Final Presentation blog post on the Concert development blog: <a href="http://blog.concertsoundorganizer.com/post/2169460543/fall-2010-final-rcos-presentation" title="Concert development blog: final Fall 2010 presentation">http://blog.concertsoundorganizer.com/post/2169460543/fall-2010-final-rcos-presentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://colin-sullivan.com/main/2010/concert-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

