<?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>Computer Club at Western Michigan University</title>
	<atom:link href="http://yakko.cs.wmich.edu/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://yakko.cs.wmich.edu</link>
	<description>Mischief, Mayhem, Linux</description>
	<lastBuildDate>Mon, 23 Apr 2012 02:08:53 +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>New set of officers</title>
		<link>http://yakko.cs.wmich.edu/?p=158</link>
		<comments>http://yakko.cs.wmich.edu/?p=158#comments</comments>
		<pubDate>Mon, 23 Apr 2012 02:08:53 +0000</pubDate>
		<dc:creator>dickweed</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://yakko.cs.wmich.edu/?p=158</guid>
		<description><![CDATA[This past Thursday, April 22 a new set of officers was elected for the Computer Club.  Without further ado, here are your new officers. President: Elf &#8211; Michelle Vice President: Frantic &#8211; Walter VP Operations: Wimples &#8211; Ian VP Finance: Grizzzly &#8211; Patrick Treasurer: JRob &#8211; Justin Secretary: Arsinh &#8211; Jeff Webmaster: Richard &#8211; Danny]]></description>
			<content:encoded><![CDATA[<p>This past Thursday, April 22 a new set of officers was elected for the Computer Club.  Without further ado, here are your new officers.</p>
<ul>
<li>President: Elf &#8211; Michelle</li>
<li>Vice President: Frantic &#8211; Walter</li>
<li>VP Operations: Wimples &#8211; Ian</li>
<li>VP Finance: Grizzzly &#8211; Patrick</li>
<li>Treasurer: JRob &#8211; Justin</li>
<li>Secretary: Arsinh &#8211; Jeff</li>
<li>Webmaster: Richard &#8211; Danny</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://yakko.cs.wmich.edu/?feed=rss2&#038;p=158</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Movie Monday</title>
		<link>http://yakko.cs.wmich.edu/?p=110</link>
		<comments>http://yakko.cs.wmich.edu/?p=110#comments</comments>
		<pubDate>Mon, 06 Feb 2012 19:41:38 +0000</pubDate>
		<dc:creator>drclaw</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://yakko.cs.wmich.edu/?p=110</guid>
		<description><![CDATA[Inspired by Mystery Science Theater 3000, the Computer Club devised a way to watch cheesy and/or dated movies &#8220;together&#8221; over the Internet. OpenFlix has a great list of public domain movies. Movies are suggested by participants of Movie Monday the week prior, and then voted on before the Monday of the showing. The movie with ...]]></description>
			<content:encoded><![CDATA[<p>Inspired by <a href="http://en.wikipedia.org/wiki/Mystery_Science_Theater_3000">Mystery Science Theater 3000</a>, the Computer Club devised a way to watch cheesy and/or dated movies &#8220;together&#8221; over the Internet.</p>
<p><a href="http://yakko.cs.wmich.edu/wp-content/uploads/2012/02/moviemonday.png"><img src="http://yakko.cs.wmich.edu/wp-content/uploads/2012/02/moviemonday-300x247.png" alt="" title="moviemonday" width="300" height="247" class="alignnone size-medium wp-image-111" /></a></p>
<p><a href="http://www.openflix.com/">OpenFlix</a> has a great list of public domain movies.  Movies are suggested by participants of Movie Monday the week prior, and then voted on before the Monday of the showing.  The movie with the most popularity is linked to (usually at Archive.org) for download.  </p>
<p>A copy of the movie plays on the Computer Club&#8217;s server with <a href="http://www.videolan.org/vlc/">VLC media player</a>, this serves as the time source for synchronization.  VLC on the server is instructed to upload to an Icecast server for streaming.  This step is optional, but helps people joining late who didn&#8217;t have a chance to download the movie ahead of time (although the quality is greatly reduced).</p>
<p>Here is an example command line for starting the server process, and instructing it to connect to a Shoutcast/Icecast server.</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
</pre>
</td>
<td class="code">
<pre class="bash" style="font-family:monospace;"> vlc <span style="color: #660033;">-I</span> http <span style="color: #660033;">--http-host</span> 127.0.0.1:<span style="color: #000000;">8080</span> <span style="color: #ff0000;">&quot;detour_1945.avi&quot;</span> <span style="color: #660033;">--sout</span> <span style="color: #ff0000;">'#transcode{vcodec=theo,vb=400,scale=0.5,acodec=vorb,ab=96,channels=2,samplerate=44100}:std{access=shout,mux=ogg,dst=source:user@yexample.org:8000/movie} :no-sout-rtp-sap :no-sout-standard-sap :ttl=1 :sout-keep'</span></pre>
</td>
</tr>
</table>
</div>
<p>For more information on streaming VLC to Icecast, check out this <a href="http://en.flossmanuals.net/vlc/ch015_streaming-to-icecast/">link</a>.</p>
<p>When it&#8217;s time to start the movie, VLC is used as the player on the viewer&#8217;s side as well.  VLC has the ability to be remotely controlled through a web interface if the feature is enabled.  For example, if you are watching a movie on your computer, using your your iPhone to connect to http://yourcomputer:8080 would give you Stop, Pause, Play, buttons.  We use this functionality in an unusual way to synchronize the movie playback among the Movie Monday participants.  To enable the &#8220;Web Interface&#8221; in VLC click the &#8220;View&#8221; menu, then &#8220;Add Interface&#8221;, then &#8220;Web Interface&#8221;</p>
<p><a href="http://yakko.cs.wmich.edu/?attachment_id=121" rel="attachment wp-att-121"><img src="http://yakko.cs.wmich.edu/wp-content/uploads/2012/02/moviemonday-setup-vlc-300x245.png" alt="" title="moviemonday-setup-vlc" width="300" height="245" class="alignnone size-medium wp-image-121" /></a></p>
<p>After setting up their player, the viewer &#8220;Synchronizes&#8221; the playback from the Movie Monday home page, by clicking the &#8220;Synchronize&#8221; link.  The synchronize button calls a server-side CGI script.  The CGI makes a web request to the VLC &#8220;Web Interface&#8221; on the server, and requests the resource &#8220;/requests/status.xml&#8221;  Status.xml contains data about what VLC is playing on the server, including the current time within the movie that VLC has played so far.  This information is used to craft a <a href="http://en.wikipedia.org/wiki/CSRF">cross-site request forgery</a> (<a href="http://en.wikipedia.org/wiki/CSRF">CSRF</a>).  The CSRF &#8220;hacking&#8221; technique allows synchronization of the movie with the server without the need to make firewall changes (such as port-forwarding) on the viewer&#8217;s end.  This works because the viewer&#8217;s web browser is a common element which is able to access resources in the domain of both the local area network, and the Internet.  The browser is instructed to make a request to a web resource on the loopback address of the computer playing the movie which includes an instruction for VLC to &#8220;seeK&#8221; to the a given time within the movie.</p>
<p>Here is an example CGI script which makes a request to a VLC &#8220;Web Interface&#8221; listening on port 8080 on the same server, which will instruct a web browser to make a &#8220;seek&#8221; request to a locally available VLC &#8220;Web Interface&#8221; listening on the default port 8080.</p>
<div class="wp_syntax">
<table>
<tr>
<td class="line_numbers">
<pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre>
</td>
<td class="code">
<pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Content-type: text/html&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;&quot;</span>
&nbsp;
<span style="color: #007800;">time</span>=<span style="color: #ff0000;">&quot;<span style="color: #780078;">`wget -q -O /dev/stdout http://localhost:8888/requests/status.xml |grep 'time'`</span>&quot;</span>
&nbsp;
<span style="color: #007800;">time</span>=<span style="color: #ff0000;">&quot;<span style="color: #780078;">`echo $time |sed -e 's#&lt;[^&gt;]*&gt;##g'`</span>&quot;</span>
&nbsp;
<span style="color: #007800;">hours</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$time</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">3600</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">left_over</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$hours</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">3600</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">time</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$time</span> - <span style="color: #007800;">$left_over</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #007800;">minutes</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$time</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000;">60</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">left_over</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$minutes</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000;">60</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">time</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #007800;">$time</span> - <span style="color: #007800;">$left_over</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #007800;">seconds</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$time</span>&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${#minutes}</span>&quot;</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">2</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${#hours}</span>&quot;</span> <span style="color: #660033;">-ge</span> <span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #007800;">minutes</span>=<span style="color: #ff0000;">&quot;0<span style="color: #007800;">$minutes</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${#seconds}</span>&quot;</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">2</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #007800;">seconds</span>=<span style="color: #ff0000;">&quot;0<span style="color: #007800;">$seconds</span>&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;Trying to sync to position: <span style="color: #007800;">$hours</span>:<span style="color: #007800;">$minutes</span>:<span style="color: #007800;">$seconds</span>&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#echo -e &quot;&lt;a href=\&quot;http://localhost:8080/requests/status.xml?command=seek&amp;val=$                              position%25\&quot;&gt;Sync now&lt;/a&gt;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;&lt;meta http-equiv=<span style="color: #000099; font-weight: bold;">\&quot;</span>refresh<span style="color: #000099; font-weight: bold;">\&quot;</span> content=<span style="color: #000099; font-weight: bold;">\&quot;</span>2;url=https://ccowmu.org/moviemonday<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;&lt;iframe src=<span style="color: #000099; font-weight: bold;">\&quot;</span>http://localhost:8080/requests/status.xml?command=seek&amp;val=<span style="color: #007800;">$hours</span>&quot;</span>h<span style="color: #ff0000;">&quot;<span style="color: #007800;">$minutes</span>&quot;</span>m<span style="color: #ff0000;">&quot;<span style="color: #007800;">$seconds</span>&quot;</span>s<span style="color: #ff0000;">&quot; width=<span style="color: #000099; font-weight: bold;">\&quot;</span>1<span style="color: #000099; font-weight: bold;">\&quot;</span> height=<span style="color: #000099; font-weight: bold;">\&quot;</span>1<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;&lt;p&gt;Your browser does not support iframes.&lt;/p&gt;&quot;</span>
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;&lt;/iframe&gt;&quot;</span></pre>
</td>
</tr>
</table>
</div>
<p>The VLC &#8220;Web Interface&#8221; output is &#8220;hidden&#8221; from the user because it&#8217;s loaded in a very small iframe.  A Meta Refresh statement redirects the user back to the page where they clicked synchronize to provide a sense of continuity and navigation.</p>
<p>Viewer&#8217;s converse using <a href="http://en.wikipedia.org/wiki/IRC">Internet Relay Chat</a> where an IRC bot records what they say.  The IRC bot timestamps the ridiculing comments and snide remarks to the current time of the movie so that the conversation can later be made available as a subtitle file for the enjoyment of future viewer&#8217;s.</p>
]]></content:encoded>
			<wfw:commentRss>http://yakko.cs.wmich.edu/?feed=rss2&#038;p=110</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>drc&#8217;s Bash presentation slides are up</title>
		<link>http://yakko.cs.wmich.edu/?p=98</link>
		<comments>http://yakko.cs.wmich.edu/?p=98#comments</comments>
		<pubDate>Mon, 06 Feb 2012 16:24:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://yakko.cs.wmich.edu/?p=98</guid>
		<description><![CDATA[On Thursday February 2, 2012  drc kicked off this semester&#8217;s presentation series with his Bash presentation.  The slides can be found here. &#160; For more information about this presentation and others check the Computer Club&#8217;s presentations page]]></description>
			<content:encoded><![CDATA[<p>On Thursday February 2, 2012  drc kicked off this semester&#8217;s presentation series with his Bash presentation.  The slides can be found <a title="Drc Bash slides" href="https://docs.google.com/present/edit?id=0AZp7zeyAJqUDZDh4bnNwYl8wY3d6YmN3Y3A" target="_blank">here</a>.</p>
<p>&nbsp;</p>
<p>For more information about this presentation and others check the Computer Club&#8217;s <a title="Presentations" href="http://yakko.cs.wmich.edu/?page_id=36" target="_blank">presentations page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://yakko.cs.wmich.edu/?feed=rss2&#038;p=98</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Presentations Have Resumed.</title>
		<link>http://yakko.cs.wmich.edu/?p=96</link>
		<comments>http://yakko.cs.wmich.edu/?p=96#comments</comments>
		<pubDate>Mon, 06 Feb 2012 16:21:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://yakko.cs.wmich.edu/?p=96</guid>
		<description><![CDATA[The Computer Club has finally resumed its presentations. A new schedule of upcoming presentations will be up in the next day or two as long as someone gets around to it.  If you are interested in presenting a topic to the computer club, please contact us with your proposal.]]></description>
			<content:encoded><![CDATA[<p>The Computer Club has finally resumed its presentations. A new schedule of upcoming presentations will be up in the next day or two as long as someone gets around to it.  If you are interested in presenting a topic to the computer club, please contact us with your proposal.</p>
]]></content:encoded>
			<wfw:commentRss>http://yakko.cs.wmich.edu/?feed=rss2&#038;p=96</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daft Punk Helmet Project</title>
		<link>http://yakko.cs.wmich.edu/?p=92</link>
		<comments>http://yakko.cs.wmich.edu/?p=92#comments</comments>
		<pubDate>Thu, 29 Sep 2011 17:03:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://yakko.cs.wmich.edu/?p=92</guid>
		<description><![CDATA[Check out the projects page to learn about the Daft Punk helmet that Whitehat has been working on. We will never see it though because he is in Japan and well, it would probably look like a bomb on a plane.]]></description>
			<content:encoded><![CDATA[<p>Check out the <a title="Projects" href="http://yakko.cs.wmich.edu/?page_id=81">projects </a>page to learn about the Daft Punk helmet that Whitehat has been working on. We will never see it though because he is in Japan and well, it would probably look like a bomb on a plane.</p>
]]></content:encoded>
			<wfw:commentRss>http://yakko.cs.wmich.edu/?feed=rss2&#038;p=92</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Website</title>
		<link>http://yakko.cs.wmich.edu/?p=74</link>
		<comments>http://yakko.cs.wmich.edu/?p=74#comments</comments>
		<pubDate>Fri, 23 Sep 2011 20:07:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">https://yakko.cs.wmich.edu/?p=74</guid>
		<description><![CDATA[Check out the new website. If you have any suggestions or comments please direct them to the forum or if you are not a member use the contact us box to send them.]]></description>
			<content:encoded><![CDATA[<p>Check out the new website. If you have any suggestions or comments please direct them to the forum or if you are not a member use the contact us box to send them.</p>
]]></content:encoded>
			<wfw:commentRss>http://yakko.cs.wmich.edu/?feed=rss2&#038;p=74</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

