<?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>beatwaves.net</title>
	<atom:link href="http://beatwaves.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://beatwaves.net</link>
	<description>Sakari Bergen&#039;s personal site</description>
	<lastBuildDate>Tue, 24 Jan 2012 17:35:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WhiteSpace faces in Emacs 23</title>
		<link>http://beatwaves.net/2012/01/24/whitespace-faces-in-emacs-23/</link>
		<comments>http://beatwaves.net/2012/01/24/whitespace-faces-in-emacs-23/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 17:35:54 +0000</pubDate>
		<dc:creator>sbergen</dc:creator>
				<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://beatwaves.net/?p=65</guid>
		<description><![CDATA[This is a good old case of RTFM, but since I spent a couple of hours figuring it out, I thought I&#8217;d blog about it anyway&#8230; The WhiteSpace package in Emacs allows you to visualize whitespace in your code. The overall settings of the package are controlled with the &#8216;whitespace-style&#8217; variable. Before Emacs 23 you [...]]]></description>
			<content:encoded><![CDATA[<p>This is a good old case of RTFM, but since I spent a couple of hours figuring it out, I thought I&#8217;d blog about it anyway&#8230;</p>
<p>The <a href="http://www.emacswiki.org/emacs/WhiteSpace" title="WhiteSpace">WhiteSpace package</a> in Emacs allows you to visualize whitespace in your code. The overall settings of the package are controlled with the &#8216;whitespace-style&#8217; variable. Before Emacs 23 you didn&#8217;t need to include the &#8216;face&#8217; option to make different faces work. However, since Emacs 23 you need to have it set.</p>
<p>Now I can keep obsessing about whitespace with an up-to-date version of Emacs, and maybe publicly posting stuff like this will help me remember to RTFM in the future also :)</p>
]]></content:encoded>
			<wfw:commentRss>http://beatwaves.net/2012/01/24/whitespace-faces-in-emacs-23/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multiuser screen made easy</title>
		<link>http://beatwaves.net/2012/01/09/multiuser-screen-made-easy/</link>
		<comments>http://beatwaves.net/2012/01/09/multiuser-screen-made-easy/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 19:55:01 +0000</pubDate>
		<dc:creator>sbergen</dc:creator>
				<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://beatwaves.net/?p=59</guid>
		<description><![CDATA[The idea for this all started with someone mentioning it&#8217;d be good if there was some magic thing which did some SSH voodoo to get you a shell that the person on the other end could watch So, I took a quick look around and noticed that Screen can already do multiuser sessions, which do [...]]]></description>
			<content:encoded><![CDATA[<p>The idea for this all started with someone mentioning</p>
<blockquote><p>it&#8217;d be good if there was some magic thing which did some SSH voodoo to get you a shell that the person on the other end could watch</p></blockquote>
<p>So, I took a quick look around and noticed that <a title="GNU Screen" href="http://www.gnu.org/software/screen/">Screen</a> can already do multiuser sessions, which do exactly this. However, controlling the session requires writing commands to screen, which is both relatively complex for beginners and relatively slow if the remote user is typing in &#8216;rm -Rf *&#8217; ;)</p>
<p>So, I created a wizard-like python script, which sets up a multiuser screen session and a simple one button GUI (using <a title="PyGTK: GTK+ for Python" href="http://www.pygtk.org/">PyGTK</a>) for allowing and disallowing the remote user access to the session. It also optionally creates a script which makes it easier for the remote user to attach to the session.</p>
<p><a title="remote-debug.py" href="/files/software/remote-debug/remote-debug.py">Download</a></p>
<p>Known issues:</p>
<ul>
<li>The helper script creation process for the remote user does not check the user input and runs <em>sudo</em>. Even though the script warns the user, it&#8217;s still a potential security risk</li>
<li>If the script is terminated unexpectedly, the screen session will stay alive, and will need to be closed manually before this script will work again</li>
</ul>
<h3>Resolving the issues?</h3>
<p>Fixing the security issue would be just a matter of more work. However, the lingering screens are a whole different problem: I tried to find out a way to get the <abbr title="process id">pid</abbr> for the screen session, but failed to find a way to do this in python. This would have made the lingering screen sessions less harmful, as all the communication could have been done with &lt;pid&gt;.&lt;session&gt; instead of simply &lt;session&gt;, which it uses now. The <a title="Python - subprocess.Popen" href="http://docs.python.org/library/subprocess.html#popen-objects">subprocess.Popen object</a> contains the pid of the launched process, but the actual screen session is a child of this process, and thus has a different pid. If anyone can point me toward a solution to this, it&#8217;d be greatly appreciated!</p>
]]></content:encoded>
			<wfw:commentRss>http://beatwaves.net/2012/01/09/multiuser-screen-made-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New site up!</title>
		<link>http://beatwaves.net/2012/01/03/new-site-up/</link>
		<comments>http://beatwaves.net/2012/01/03/new-site-up/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 20:57:56 +0000</pubDate>
		<dc:creator>sbergen</dc:creator>
				<category><![CDATA[beatwaves]]></category>

		<guid isPermaLink="false">http://testing.beatwaves.net/?p=54</guid>
		<description><![CDATA[I finally got the work done, and here&#8217;s the result! I moved from Dupal to WordPress, as it feels better for my needs. So far I&#8217;ve enjoyed it more than Drupal. I didn&#8217;t keep all of the content from my old site: I recreated most of it and added some new content. I also went [...]]]></description>
			<content:encoded><![CDATA[<p>
I finally got the work done, and here&#8217;s the result! I moved from Dupal to WordPress, as it feels better for my needs. So far I&#8217;ve enjoyed it more than Drupal.
</p>
<p>
I didn&#8217;t keep all of the content from my old site: I recreated most of it and added some new content. I also went through links to my site with Google&#8217;s Webmaster Tools, and added redirects to urls which are linked to from other sites (and resurrected one blog post).
</p>
<p>
It&#8217;s been a while since I did any PHP, HTML or CSS. I almost got frustrated for a moment, but after reading <a href="http://www.sitepoint.com/give-floats-the-flick-in-css-layouts/" title="Give Floats the Flick in CSS Layouts">this article</a>, things progressed much easier. Thanks to the author, <a href="http://www.sitepoint.com/author/andrew-tetlaw/" title="Andrew Tetlaw"> Andrew Tetlaw</a>! I was also inspired by <a href="http://drobilla.net/" title="drobilla">David Robillard&#8217;s site</a>, which is mostly based on the <a href="http://wordpress.org/extend/themes/barthelme" title="Barthelme">Barthelme</a> theme. However, I started out with Automattic&#8217;s <a href="http://wordpress.org/extend/themes/toolbox" title="Toolbox">Toolbox</a> theme, customizing most of it.
</p>
<p>
If you find something that looks or feels strange, please comment!</p>
]]></content:encoded>
			<wfw:commentRss>http://beatwaves.net/2012/01/03/new-site-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shell statistics</title>
		<link>http://beatwaves.net/2008/04/11/shell-statistics/</link>
		<comments>http://beatwaves.net/2008/04/11/shell-statistics/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 20:27:48 +0000</pubDate>
		<dc:creator>sbergen</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://testing.beatwaves.net/?p=51</guid>
		<description><![CDATA[I picked up this meme from the summercode IRC channel via myrtti. (You can follow it back quite far from there&#8230;) sbergen@jt7-153 ~ $ history&#124;awk '{print $2}'&#124;awk 'BEGIN {FS="&#124;"} {print $1}'&#124;sort&#124;uniq -c &#124; sort -nr &#124;head -n 10 155 ./sconsi 91 gtk2_ardour/ardev 65 sudo 23 cat 20 cd 19 svn 18 gtk2_ardour/ardbg 11 scons 10 [...]]]></description>
			<content:encoded><![CDATA[<p>I picked up this meme from the summercode IRC channel via <a href="http://myrtti.fi/blog/2008/04/11/a-meme-that-i-can-happily-participate-in-to">myrtti</a>. (You can follow it back quite far from there&#8230;)<br />
<code><br />
sbergen@jt7-153 ~ $ history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c | sort -nr |head -n 10<br />
    155 ./sconsi<br />
     91 gtk2_ardour/ardev<br />
     65 sudo<br />
     23 cat<br />
     20 cd<br />
     19 svn<br />
     18 gtk2_ardour/ardbg<br />
     11 scons<br />
     10 mysql<br />
      9 ls<br />
</code></p>
<p>You can clearly see what I&#8217;ve been doing lately, and I thus suggested that this would be part of next year&#8217;s summercode applications ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://beatwaves.net/2008/04/11/shell-statistics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  beatwaves.net/feed/ ) in 0.36413 seconds, on Feb 5th, 2012 at 3:13 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 5th, 2012 at 4:13 pm UTC -->
