<?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>some random text about funky things</title>
	<atom:link href="http://janpaulposma.nl/feed" rel="self" type="application/rss+xml" />
	<link>http://janpaulposma.nl</link>
	<description>by Jan Paul Posma</description>
	<lastBuildDate>Thu, 11 Mar 2010 22:08:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Simple home automation system</title>
		<link>http://janpaulposma.nl/simple-home-automation-system</link>
		<comments>http://janpaulposma.nl/simple-home-automation-system#comments</comments>
		<pubDate>Thu, 11 Mar 2010 18:09:39 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=430</guid>
		<description><![CDATA[Last time I talked about my photoframe and room control setup. It was a laptop modification, and some hacking around in cheap remote controlled switches and simple scripts. I rebuilt most of the system now: a silent PC with normal screen serves the photos, it can control the lights and devices using a commercial product, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://janpaulposma.nl/photoframe">Last time</a> I talked about my photoframe and room control setup. It was a laptop modification, and some hacking around in cheap remote controlled switches and simple scripts. I rebuilt most of the system now: a silent PC with normal screen serves the photos, it can control the lights and devices using a commercial product, there are cameras in the room and on the street, it&#8217;s all being shown and controlled by a slick webinterface, and my grandparents are quite happy with my old photoframe in their living room. :-)</p>
<p><img src="http://janpaulposma.nl/wp-content/uploads/2010/03/IMG_0001-300x224.jpg" alt="New setup" title="New setup" width="300" height="224" class="alignnone size-medium wp-image-431" /></p>
<p><span id="more-430"></span></p>
<p>Let&#8217;s get into details! The system is running on <a href="http://www.aleutia.com/products/t1">Aleutia T1</a>, which is a really nice, silent PC-ish thing. PC-ish, because the performance is not really up to todays standards, but on the other hand it&#8217;s quite cheap, really silent and comes pre-installed with Ubuntu. Cool! <span style="font-size: 80%; color: #AAA">(However, I installed Windows XP&#8230;)</span> I got mine with a <abbr title="Solid State Drive">SSD</abbr>, which means that there are no moving parts whatsoever, therefore it can stay on 24/7.</p>
<p>Using a simple <a href="http://www.apachefriends.org/en/xampp.html">XAMPP</a> setup, it runs my photoframed software mentioned in the previous post (<a href="http://janpaulposma.nl/photoframed">demo</a>, <a href="http://github.com/janpaul123/photoframed">source</a>).</p>

<a href='http://janpaulposma.nl/simple-home-automation-system-photos-photoframe/img_0002' title='Photoframed software'><img width="150" height="111" src="http://janpaulposma.nl/wp-content/uploads/2010/03/IMG_0002-150x111.jpg" class="attachment-thumbnail" alt="" title="Photoframed software" /></a>
<a href='http://janpaulposma.nl/simple-home-automation-system-photos-photoframe/img_0001-2' title='Current setup'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/03/IMG_00011-150x112.jpg" class="attachment-thumbnail" alt="" title="Current setup" /></a>
<a href='http://janpaulposma.nl/simple-home-automation-system-photos-photoframe/img_0010' title='Webcams'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/03/IMG_0010-150x112.jpg" class="attachment-thumbnail" alt="" title="Webcams" /></a>
<a href='http://janpaulposma.nl/simple-home-automation-system-photos-photoframe/img_0008' title='Aleutia T1'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/03/IMG_0008-150x112.jpg" class="attachment-thumbnail" alt="" title="Aleutia T1" /></a>

<p>The webcam setup is quite interesting. First I tried to plug the webcams using some <abbr title="Universal Serial Bus">USB</abbr> extension cords. It was highly unstable, so now the PC is actually positioned in a cardboard box, lifted from the ground, so all the cables fit exactly.</p>
<p>Another issue with the webcams is having it stream, but also have it stream securely. A promising format seemed to be <abbr title="Motion JPEG">MJPEG</abbr>: this is just like sending out JPEG frames as fast as the connection can manage. I run the following code to generate a MJPEG stream using <abbr title="VideoLan Client">VLC</abbr>. The stream is only accessible from localhost for security reasons.</p>
<p><code><br />
vlc.exe dshow:// :dshow-vdev="USB Video Device"    :dshow-adev=none :dshow-size=640x480 --no-sout-audio --sout=#transcode{vcodec=mjpg, vb=512, fps=1, width=640, height=480}:standard{access=http{mime="multipart/x-mixed-replace; boundary=7b3cc56e5f51db803f790dad720ed50a"}, mux=mpjpeg, dst=127.0.0.1:8080/cam.mjpg}<br />
</code></p>
<p>The boundary thing is a code required for modern browsers to correctly recognize the data type. If you remove the IP-address at the end, you&#8217;ll allow anyone to watch the stream. Now the next proxy is to make sure only authenticated people are able to see the stream. I tried this using a PHP script which simply read the stream and echo&#8217;ed it (and some other variants). I also tried using the Apache proxy module. But both options have the same problem: as I have a terrible internet connection, I really need the last frame. Once a frame is transmitted, the new frame must be the most recent frame possible. However, all options I tried seem to cache the data, so you&#8217;ll see 1 second of recording spread out on, like, half a minute on the client.</p>
<p>In the end I just went with a simple script I found online somewhere, that reads exactly one MJPEG frame and spits it out as ordinary JPEG:</p>
<p><code><br />
$boundary="\n--";</p>
<p>$f = fopen($_GET['url'],"r") ;</p>
<p>if($f)<br />
{<br />
        while (substr_count($r,"Content-Length") != 2) $r.=fread($f,512);</p>
<p>        $start = strpos($r,'Ø');<br />
        $end   = strpos($r,$boundary,$start)-1;<br />
        $frame = substr("$r",$start,$end - $start);</p>
<p>        header("Content-type: image/jpeg");<br />
        echo $frame;<br />
}</p>
<p>fclose($f);<br />
</code></p>
<p>Now you have to refresh the image using for example Javascript, so that&#8217;s fine too. The webinterface I&#8217;ve written for this purpose also features a slider to set refresh interval, which is pretty handy if you&#8217;ve got a shitty connection like myself. Also, this brings me to the home automation part, which is actually pretty brief. All devices in my room are plugged into a <a href="http://klikaanklikuit.nl">KlikAanKlikUit</a> unit, and the PC&#8217;s got a <a href="http://klikaanklikuit.nl/product_detail.asp?id=25">TPC-200</a> interface plugged in, and a little bit of software does the trick (<a href="http://janpaulposma.nl/kakurc">demo</a>, <a href="http://github.com/janpaul123/kakurc">source</a>).</p>
<p>The TPC-200 interface comes with a <abbr title="Dynamic Link Library">DLL</abbr> which has one single command: <em>Send(id, value)</em>, with <em>id</em> being an integer and <em>value</em> a boolean. A simple executable wrapper, hacked together in <abbr title="Visual Basic">VB</abbr>, makes it easy to send commands from PHP, using <em>exec</em>.</p>

<a href='http://janpaulposma.nl/simple-home-automation-system-photos-webcams/mac_screenshot' title='Room control interface'><img width="150" height="84" src="http://janpaulposma.nl/wp-content/uploads/2010/03/mac_screenshot-150x84.png" class="attachment-thumbnail" alt="" title="Room control interface" /></a>
<a href='http://janpaulposma.nl/simple-home-automation-system-photos-webcams/img_0003' title='Webcam inside'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/03/IMG_0003-150x112.jpg" class="attachment-thumbnail" alt="" title="Webcam inside" /></a>
<a href='http://janpaulposma.nl/simple-home-automation-system-photos-webcams/img_0005' title='Webcam outside'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/03/IMG_0005-150x112.jpg" class="attachment-thumbnail" alt="" title="Webcam outside" /></a>

<p>The first room control breach has happened already: I used the inferior Apache Basic Authentication for the login procedure, and it turns out that sessions can keep open for a long period of time. Even when the server restarts during that time. I logged on the system on the laptop of a friend of mine, and 3 days later, he scared the crap out of me by playing with my lights. ;-) The PC restarts every night at 5am, so I&#8217;m still amazed that the session lasted that long. </p>
<p>Anyway, I quickly tracked him down using the access logs and we had a good laugh about it, but I still don&#8217;t trust the security anymore: the inside camera is pointed at the ceiling now&#8230; <abbr title="Secure Sockets Layer">SSL</abbr> and stuff like that will probably be secure enough, but if you&#8217;re considering building the same setup, don&#8217;t plug in your nuclear power plant.</p>
]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/simple-home-automation-system/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Photoframe(d)</title>
		<link>http://janpaulposma.nl/photoframe</link>
		<comments>http://janpaulposma.nl/photoframe#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:05:17 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=306</guid>
		<description><![CDATA[In 2007 I decided it would be cool to build a digital photo frame, out of a broken laptop. I bought the laptop from a friend of mine, as it was pretty old and useless, considering the keyboard didn&#8217;t work. With some help of my grandpa and his tools, I built it. Later, I added [...]]]></description>
			<content:encoded><![CDATA[<p>In 2007 I decided it would be cool to build a digital photo frame, out of a broken laptop. I bought the laptop from a <a href="http://www.brouwer-varenhorst.nl">friend</a> of mine, as it was pretty old and useless, considering the keyboard didn&#8217;t work. With some help of my grandpa and his tools, I built it. Later, I added speech recognition and control of the lights in my room. </p>
<p>Most of the original source code is lost, and the system doesn&#8217;t work well anymore, so I&#8217;m redesigning it. In a few months you can expect another blog post on this, but I thought a writeup of the old design would be nice.</p>
<p><img src="http://janpaulposma.nl/wp-content/uploads/2010/01/IMG_0104-300x225.jpg" alt="Photoframe" title="Photoframe" width="300" height="225" class="alignnone size-medium wp-image-307" /></p>
<p><span id="more-306"></span></p>
<p>It started with an old laptop. In an impulse I decided to see how quickly I was able to strip it until only the bare essentials were left. It was quite easy to disassemble it, and the wires were long enough to separate the display from the other components.</p>

<a href='http://janpaulposma.nl/photoframed-photos-laptop/dsc00222' title='Removed some casings'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00222-150x112.jpg" class="attachment-thumbnail" alt="" title="Removed some casings" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-laptop/dsc00223' title='Different components'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00223-150x112.jpg" class="attachment-thumbnail" alt="" title="Different components" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-laptop/dsc00224' title='Disassembled!'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00224-150x112.jpg" class="attachment-thumbnail" alt="" title="Disassembled!" /></a>

<p>Once the laptop was disassembled, it was easy enough to go to the DIY store and buy some materials. With some careful measuring, patience and painting twice, the job was done in a few evenings.</p>

<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00225' title='Assembling the casing'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00225-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling the casing" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00227' title='Assembling the casing'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00227-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling the casing" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00228' title='Assembling the casing'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00228-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling the casing" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00231' title='Assembling the casing'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00231-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling the casing" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00232' title='Assembling the casing'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00232-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling the casing" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00233' title='The screen fits!'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00233-150x112.jpg" class="attachment-thumbnail" alt="" title="The screen fits!" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00234' title='Adding the borders'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00234-150x112.jpg" class="attachment-thumbnail" alt="" title="Adding the borders" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00235' title='Adding the borders'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00235-150x112.jpg" class="attachment-thumbnail" alt="" title="Adding the borders" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00236' title='First paintjob'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00236-150x112.jpg" class="attachment-thumbnail" alt="" title="First paintjob" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00238' title='First paintjob'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00238-150x112.jpg" class="attachment-thumbnail" alt="" title="First paintjob" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00239' title='Flattening the surface'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00239-150x112.jpg" class="attachment-thumbnail" alt="" title="Flattening the surface" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00240' title='Second paintjob'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00240-150x112.jpg" class="attachment-thumbnail" alt="" title="Second paintjob" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00241' title='Assembling internals'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00241-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling internals" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00248' title='Assembling internals'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00248-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling internals" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00249' title='Assembling internals'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00249-150x112.jpg" class="attachment-thumbnail" alt="" title="Assembling internals" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00243' title='It works!'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00243-150x112.jpg" class="attachment-thumbnail" alt="" title="It works!" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-building-the-frame/dsc00244' title='It works!'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00244-150x112.jpg" class="attachment-thumbnail" alt="" title="It works!" /></a>

<p>To display the photos, a clock, and some RSS feeds, I used a <a href="http://gathering.tweakers.net/forum/list_message/27709204#27709204">PHP script</a> by <a href="http://tommy.ech-wel.nl/vaio-fotolijst">Tommy van der Vorst</a>, running in a fullscreen Firefox window. It worked pretty well. After some modifications, it was used by myself and others for 3 years.</p>

<a href='http://janpaulposma.nl/photoframed-photos-script-by-misterdata/dsc00245' title='The script'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00245-150x112.jpg" class="attachment-thumbnail" alt="" title="The script" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-script-by-misterdata/dsc00246' title='The script'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00246-150x112.jpg" class="attachment-thumbnail" alt="" title="The script" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-script-by-misterdata/dsc00247' title='The script'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00247-150x112.jpg" class="attachment-thumbnail" alt="" title="The script" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-script-by-misterdata/dsc00258' title='The script'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00258-150x112.jpg" class="attachment-thumbnail" alt="" title="The script" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-script-by-misterdata/dsc00257' title='The script'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00257-150x112.jpg" class="attachment-thumbnail" alt="" title="The script" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-script-by-misterdata/dsc00256' title='The script'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00256-150x112.jpg" class="attachment-thumbnail" alt="" title="The script" /></a>

<p>A few months later I stumbled upon <a href="http://gathering.tweakers.net/forum/list_messages/1077675">this post</a> on a forum, which describes how to easily hack a cheap home automation remote control to hook it up to a computer. There were sets available for about €20 to control lights and devices with a remote control. So I bought two of these sets. The first hack was to hook it up to ordinary lights that are directly connected to a power source, without a wall socket in between. The setup wasn&#8217;t very safe, but it worked.</p>

<a href='http://janpaulposma.nl/photoframed-photos-receiver-hacks/dsc00259' title='A receiver'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00259-150x112.jpg" class="attachment-thumbnail" alt="" title="A receiver" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-receiver-hacks/dsc00262' title='Receiver, disassembled'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00262-150x112.jpg" class="attachment-thumbnail" alt="" title="Receiver, disassembled" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-receiver-hacks/dsc00264' title='Original wiring'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00264-150x112.jpg" class="attachment-thumbnail" alt="" title="Original wiring" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-receiver-hacks/dsc00265' title='Wiring with receiver'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00265-150x112.jpg" class="attachment-thumbnail" alt="" title="Wiring with receiver" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-receiver-hacks/dsc00267' title='It works!'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00267-150x112.jpg" class="attachment-thumbnail" alt="" title="It works!" /></a>

<p>Next, I followed the instructions on the forum post: hook up the remote control to the serial port, detect commands using <a href="http://www.lirc.org/">LIRC</a>, and send them back to the remote control. It worked fine on the computer, but the problem is that on laptops the serial port is weaker: it usually won&#8217;t give a <a href="http://hackaday.com/2007/05/19/serial-port-power-booster/">nice and strong 12 volt signal</a>.</p>

<a href='http://janpaulposma.nl/photoframed-photos-serial-hack/dsc00268' title='Remote control'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00268-150x112.jpg" class="attachment-thumbnail" alt="" title="Remote control" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-serial-hack/dsc00271' title='Remote control, disassembled'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00271-150x112.jpg" class="attachment-thumbnail" alt="" title="Remote control, disassembled" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-serial-hack/dsc00272' title='Original wiring'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00272-150x112.jpg" class="attachment-thumbnail" alt="" title="Original wiring" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-serial-hack/dsc00278' title='Added sending and receiving wiring'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00278-150x112.jpg" class="attachment-thumbnail" alt="" title="Added sending and receiving wiring" /></a>
<a href='http://janpaulposma.nl/photoframed-photos-serial-hack/dsc00277' title='Signal on the scope'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2010/01/DSC00277-150x112.jpg" class="attachment-thumbnail" alt="" title="Signal on the scope" /></a>

<p>The solution was rather simple: by hooking up transistors to every button, you can simulate a press of that button simply by putting a small voltage on the transistor. The easiest way to do this is by using the parallel port. Fortunately, the laptop was pretty old so this was no problem.</p>
<p><img src="http://janpaulposma.nl/wp-content/uploads/2010/01/IMG_0186-300x225.jpg" alt="Transistor hack" title="Transistor hack" width="300" height="225" class="alignnone size-medium wp-image-409" /></p>
<p>With some Visual Basic programming, the <a href="http://www.microsoft.com/speech/default.aspx">Microsoft Speech API</a> and some PHP scripts it was possible to control the lights by voice and over the internet. Which is pretty cool. Unfortunately, I lost most of the source code, so I won&#8217;t be able to share it here. Right now I&#8217;m building a new version, and when it&#8217;s done I&#8217;ll share the code!</p>
<p>For now, I&#8217;ve started <a href="http://janpaulposma.nl/photoframed">improving</a> the PHP script that shows the photos, which I&#8217;ve dubbed <em>photoframed</em>. It&#8217;s pretty nice already, you can download and contribute to it on <a href="http://github.com/janpaul123/photoframed">my github page</a>. It even works perfectly fine in an iframe like the one below.</p>
<p><iframe src="http://janpaulposma.nl/photoframed" width="600" height="450"></iframe></p>
<p>In a few months the new system should be up and running, so I&#8217;ll probably write another blog post then. Meanwhile, I invite everyone to look at the source code of photoframed and contribute. Or you can just leave a message in the form below. ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/photoframe/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Last day of school, in 2008</title>
		<link>http://janpaulposma.nl/lsd-2008</link>
		<comments>http://janpaulposma.nl/lsd-2008#comments</comments>
		<pubDate>Wed, 02 Dec 2009 18:37:25 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=281</guid>
		<description><![CDATA[On the last day of the school year it is common practice in the Netherlands that the building is transformed by the graduate students. There is a theme that has been kept secret for months, and an afternoon show to amuse the fellow students and teachers, usually with some pranks on the latter. 

In 2008 [...]]]></description>
			<content:encoded><![CDATA[<p>On the last day of the school year it is common practice in the Netherlands that the building is transformed by the graduate students. There is a theme that has been kept secret for months, and an afternoon show to amuse the fellow students and teachers, usually with some pranks on the latter. </p>
<p><span id="more-281"></span></p>
<p>In 2008 our class graduated, and we decided to hold a hippie festival. Unfortunately, it wasn&#8217;t as popular as Woodstock about forty years earlier, but still it was totally awesome! A few weeks ago I found all the video material of that day and decided to make a compilation. The first video is about the morning, giving an impression of the great atmosphere in the school. The second video is the show, which is entirely in Dutch.</p>
<p><object width="490" height="276"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7615020&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7615020&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="490" height="276"></embed></object></p>
<p><object width="490" height="276"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7804421&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7804421&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="490" height="276"></embed></object></p>

<a href='http://janpaulposma.nl/lsd-2008/_dsc0339' title='Hippie demonstrations'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0339-150x100.jpg" class="attachment-thumbnail" alt="" title="Hippie demonstrations" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0342' title='Teachers'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0342-150x100.jpg" class="attachment-thumbnail" alt="" title="Teachers" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0343' title='Teachers'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0343-150x100.jpg" class="attachment-thumbnail" alt="" title="Teachers" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0362' title='Main hall'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0362-150x100.jpg" class="attachment-thumbnail" alt="" title="Main hall" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0363' title='Aula'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0363-150x100.jpg" class="attachment-thumbnail" alt="" title="Aula" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0367' title='Hippie girls'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0367-150x100.jpg" class="attachment-thumbnail" alt="" title="Hippie girls" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0369' title='Hippie class'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0369-150x100.jpg" class="attachment-thumbnail" alt="" title="Hippie class" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0377' title='Hippie me behind laptop'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0377-150x100.jpg" class="attachment-thumbnail" alt="" title="Hippie me behind laptop" /></a>
<a href='http://janpaulposma.nl/lsd-2008/_dsc0378' title='Fancy hippie dancing styles ;)'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/12/DSC0378-150x100.jpg" class="attachment-thumbnail" alt="" title="Fancy hippie dancing styles ;)" /></a>

]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/lsd-2008/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting programming contests</title>
		<link>http://janpaulposma.nl/interesting-programming-contests</link>
		<comments>http://janpaulposma.nl/interesting-programming-contests#comments</comments>
		<pubDate>Mon, 26 Oct 2009 16:28:02 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Competitions]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=244</guid>
		<description><![CDATA[In the last few years I&#8217;ve competed in a few algorithmic programming contests, which are great fun! Sometimes performing well, sometimes screwing up, it&#8217;s always a great learning experience, and you meet people who are really, really good. 
Right now I&#8217;m with some guys in a house in Putten, working on the CodeCup, so this [...]]]></description>
			<content:encoded><![CDATA[<p>In the last few years I&#8217;ve competed in a few algorithmic programming contests, which are great fun! Sometimes performing well, sometimes screwing up, it&#8217;s always a great learning experience, and you meet people who are really, really good. </p>
<p>Right now I&#8217;m with some guys in a house in Putten, working on the <a href="#codecup">CodeCup</a>, so this is a nice time to take a break and write down what I think are cool contests, and what makes each contest unique.</p>
<p><span id="more-244"></span></p>
<p>I&#8217;ll only cover algorithmic contests that are interesting for students, so contests like the <a href="http://www.netflixprize.com/">Netflix Prize</a> (which is very cool, though!) won&#8217;t be in this list.</p>
<h3>University team contests</h3>
<p>This is probably the most common type of contest: almost every university with a strong Computer Science department somehow gets involved in some way with this kind of challenge. Local rules may vary, but the basics are simple: you work in a team &#8211; usually consisting of 2-4 team members &#8211; on a set of problems, which you can solve in languages like C, C++, Java, Pascal, etc. </p>
<p>In my experience, you have some kind of judging software that checks a bunch of test cases, and if all tests succeed, you&#8217;ll get points. Speed may be used to determine ties, and it&#8217;s possible to get points subtracted for each failed attempt. The contests last for a few hours, but can be the whole day. Usually only one computer terminal can be used.</p>
<p>At the <a href="http://bapc.eu/" title="Benelux Algorithm Programming Contest">BAPC</a>, there was also a nice visual indicator for the progress of the teams: when a program has been submitted correctly, the team would get a balloon attached to their terminal. :-)</p>
<h3>Olympiad</h3>
<p>The Olympiad in Informatics is a contest for high school students. In many countries preliminary rounds are held, with a final competition in a foreign country. While I&#8217;ve never got through to the <a href="http://ioinformatics.org" title="International Olympiad in Informatics">IOI</a> (one place too low in the national ranking), it is a nice contest, and definitely worth looking into, even if you&#8217;re not on high school anymore.</p>
<p>The contest rules are very similar to the common team contests, only you&#8217;ve got to do it on your own! Often, problems are divided into subproblems, and the scoring is a bit different. You&#8217;ll get points for each test case that succeeds, only you don&#8217;t get to see how much cases actually work. So an inefficient program will get points, but less points than an efficient program.</p>
<p>Also, when you get to the third round (at least, <a title="Nederlandse Informatica Olympiade" href="http://informaticaolympiade.nl/">here in the Netherlands</a>), you&#8217;ll get a few days of training, which is very thorough. You&#8217;re bombarded with lessons on algorithms and software design: if you&#8217;d remember only half of what&#8217;s being told, you&#8217;ve learned a damn lot.</p>

<a href='http://janpaulposma.nl/programming-contests-photos-ioi/2009-plovdiv-zaal' title='IOI 2009'><img width="150" height="103" src="http://janpaulposma.nl/wp-content/uploads/2009/10/2009-Plovdiv-zaal-150x103.jpg" class="attachment-thumbnail" alt="" title="IOI 2009" /></a>

<p><a name="codecup"></a></p>
<h3>CodeCup</h3>
<p>This is a totally different type of contest: you have to write a reactive program, to play a game. It&#8217;s actually part of the first round of the <a title="Nederlandse Informatica Olympiade" href="http://informaticaolympiade.nl/">Dutch Olympiad</a>, but open for <a title="Codecup registration" href="http://www.codecup.nl/signup.php">anyone to join</a>. Every year there is a game to be played, with every two weeks a competition. Computer programs compete in a <a href="http://en.wikipedia.org/wiki/Swiss_system_tournament">Swiss system tournament</a>, while being monitored by a manager and referee system. The final round is in January or February, on which the best contestants get (small) prizes.</p>

<a href='http://janpaulposma.nl/interesting-programming-contests/on-the-run' title='On The Run'><img width="150" height="104" src="http://janpaulposma.nl/wp-content/uploads/2009/10/On-The-Run-150x104.png" class="attachment-thumbnail" alt="" title="On The Run" /></a>
<a href='http://janpaulposma.nl/interesting-programming-contests/alquerque' title='Alquerque'><img width="150" height="114" src="http://janpaulposma.nl/wp-content/uploads/2009/10/Alquerque-150x114.png" class="attachment-thumbnail" alt="" title="Alquerque" /></a>
<a href='http://janpaulposma.nl/interesting-programming-contests/pillars' title='Pillars'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/10/Pillars-150x112.png" class="attachment-thumbnail" alt="" title="Pillars" /></a>
<a href='http://janpaulposma.nl/interesting-programming-contests/amazes' title='Amazes'><img width="150" height="136" src="http://janpaulposma.nl/wp-content/uploads/2009/10/Amazes-150x136.png" class="attachment-thumbnail" alt="" title="Amazes" /></a>

<h3>Topcoder</h3>
<p><a href="http://topcoder.com/">Topcoder</a> is a fast-growing site on which contestants can solve all kinds of problems, which is rewarded with serious money. The most fun part, in my opinion, are the algorithm contests, which are held quite frequently. You&#8217;ll not get prizes for these competitions, other than a high rating, but they&#8217;re awesome. Usually they&#8217;re very short, spanning only two hours, but sometimes there are &#8216;marathons&#8217;.</p>
<p>These competitions are unique not only because they are very short and fast-paced, but also because of the Challenging Phase. Users are split in two divisions, based on their rating, and in each division there are rooms, each holding 20 people. Those other people are your direct opponents, not only during the coding, but also when you&#8217;re done with that. After a fixed time, you can see the source files of your roommates, and propose test cases on which their programs will fail. If you&#8217;re right, they lose points (while you gain), when you&#8217;re wrong its the other way around. Very cool!</p>

<a href='http://janpaulposma.nl/programming-contests-photos-topcoder/coding-window' title='Coding window'><img width="150" height="124" src="http://janpaulposma.nl/wp-content/uploads/2009/10/coding-window-150x124.gif" class="attachment-thumbnail" alt="" title="Coding window" /></a>
<a href='http://janpaulposma.nl/programming-contests-photos-topcoder/leader-board' title='Leader board'><img width="134" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/10/leader-board-134x150.gif" class="attachment-thumbnail" alt="" title="Leader board" /></a>
<a href='http://janpaulposma.nl/programming-contests-photos-topcoder/lobby-window' title='Lobby window'><img width="150" height="121" src="http://janpaulposma.nl/wp-content/uploads/2009/10/lobby-window-150x121.gif" class="attachment-thumbnail" alt="" title="Lobby window" /></a>
<a href='http://janpaulposma.nl/programming-contests-photos-topcoder/status-window' title='Status window'><img width="150" height="111" src="http://janpaulposma.nl/wp-content/uploads/2009/10/status-window-150x111.gif" class="attachment-thumbnail" alt="" title="Status window" /></a>

<h3>Google Code Jam</h3>
<p><a title="Code Jam" href="http://code.google.com/codejam/">This competition</a>, hosted by Google, is again completely different. Instead of submitting your program, which then will be tested on the server, you&#8217;ll have to run it offline. You&#8217;ll have to download an input file, after which you have a few minutes to send the correct output back. The nice part about this is that you can use literally any method to generate the output. If you have a trained monkey in your room who calculates the answer, that&#8217;s just fine!</p>
<p>A competition which is quite similar in this regard is <a href="http://projecteuler.net/">Project Euler</a>. There are, however, no time limits for the problems: there is a fixed list of problems you can choose from. This is great for practice and developing mathematical skills.</p>
<h3>What else?</h3>
<p>There are many more cool competitions, some even take years to complete. Some are focused on writing clean code, others on writing <a title="Obfuscated C Code Contest" href="http://www.ioccc.org/">obscure code</a>, or even <a title="Underhanded C Contest" href="http://underhanded.xcott.com/">code with hidden bugs</a>. There are contests in artificial intelligence, math problems and software design skills: browse <a title="Directory on Programming Contests" href="http://www.dmoz.org/Computers/Programming/Contests/">these</a> <a title="Computer Science Competitions" href="http://en.wikipedia.org/wiki/Category:Computer_science_competitions">lists</a> to find what you like.</p>
<h3>Practice</h3>
<p>Although it&#8217;s most fun to actually participate in a competition, it is good to practice from time to time. Most competitions already mentioned have an excellent archive (such as the <a title="USACO Training Program" href="http://train.usaco.org/">American Olympiad</a>), but there are some more resources to learn from, a nice one is the <a href="http://www.spoj.pl/">Sphere Online Judge</a>.</p>
<p><em>What competition do you like? Is there a nice one everyone should know about? Please leave a message!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/interesting-programming-contests/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A little about Science Center Noord</title>
		<link>http://janpaulposma.nl/a-little-about-science-center-noord</link>
		<comments>http://janpaulposma.nl/a-little-about-science-center-noord#comments</comments>
		<pubDate>Thu, 17 Sep 2009 00:19:11 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[SCN]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=179</guid>
		<description><![CDATA[Stichting SCN is a really cool non-profit organization I want to tell you about. 

Like some of you, I was the kind of kid who dismantled every device I could get my hands on, trying to figure out how those worked. I read encyclopedias, books on computers and electronics, wrote simple Visual Basic programs and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://stichting-scn.nl">Stichting SCN</a> is a really cool non-profit organization I want to tell you about. </p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/1yncCe1-Rts&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1yncCe1-Rts&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Like some of you, I was the kind of kid who dismantled every device I could get my hands on, trying to figure out how those worked. I read encyclopedias, books on computers and electronics, wrote simple Visual Basic programs and was very lucky because I got a <a href="http://en.wikipedia.org/wiki/Lego_Mindstorms">LEGO Mindstorms</a> set for my 10th birthday.</p>
<p><span id="more-179"></span></p>
<p>But doing all this is not considered &#8216;cool&#8217;: fellow classmates played soccer, hung around in town or watched TV. One or two friends also liked gadgets and some scripting, but nothing too serious. I was in need for something more organized. I joined a local woodworking club, and it was nice to be busy with that. But I couldn&#8217;t believe my ears when the lecturer told me there was something similar for electronics, computers, and more: De Jonge Onderzoekers Groningen (the Young Scientists). </p>
<p>So I joined the JOG and it was really great. There were all kinds of &#8217;sections&#8217;, like electronics and computers, but also woodworking, metalworking, jewlery, and more. I learned much about electronics: fiddled with microcontrollers, soldered, built my own circuit boards, and even learned how to design them. It&#8217;s really great to find other people who&#8217;re alike. After a few years I became a volunteer myself at the electronics section.</p>
<p>A few years ago we &#8211; being the volunteers of the electronics and computer section &#8211; had a disagreement with the management, so we went and started our own organization focused on computers, electronics, robotics, mechanics and photography. Stichting Science Center Noord (SCN) was born! We started off in a boat, with limited resources, because everything was self-funded. We stayed for a few months and had a small but devoted community of kids and volunteers.</p>

<a href='http://janpaulposma.nl/scn-photos-boat/dsc_0050' title='Outside, testing a cool gadget'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0050-150x99.jpg" class="attachment-thumbnail" alt="" title="Outside, testing a cool gadget" /></a>
<a href='http://janpaulposma.nl/scn-photos-boat/dsc_0121' title='On the boat'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0121-150x99.jpg" class="attachment-thumbnail" alt="" title="On the boat" /></a>
<a href='http://janpaulposma.nl/scn-photos-boat/dsc_0101' title='On the boat'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0101-150x99.jpg" class="attachment-thumbnail" alt="" title="On the boat" /></a>
<a href='http://janpaulposma.nl/scn-photos-boat/dsc_0092' title='On the boat'><img width="99" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0092-99x150.jpg" class="attachment-thumbnail" alt="" title="On the boat" /></a>
<a href='http://janpaulposma.nl/scn-photos-boat/attachment/22022008' title='On the boat'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/22022008-150x112.jpg" class="attachment-thumbnail" alt="" title="On the boat" /></a>
<a href='http://janpaulposma.nl/scn-photos-boat/dsc_0066' title='Outside, at night'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0066-150x99.jpg" class="attachment-thumbnail" alt="" title="Outside, at night" /></a>

<p>But the boat went sailing! So we went off to a better place, a building that previously housed an Italian restaurant. With help of the kids we fixed the place, and with some donations we finally had a really cool &#8216;tech youth center&#8217;. Every Wednesday evening, Friday evening and Saturday we build cool things: be it a <a href="http://en.wikipedia.org/wiki/Tennis_for_Two">Tennis for Two</a> clone, simple games or robots.</p>
<p>I&#8217;m still a volunteer and will be for a while, as it has been an important part of my life and still is. Also, the volunteers are quite remarkable: they all work hard and are skilled at their jobs, but still they can find the time &#8211; every week &#8211; to have fun with the kids and teach them their skills, for free.</p>

<a href='http://janpaulposma.nl/scn-photos-pino/schotel2' title='Our home!'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/schotel2-150x112.jpg" class="attachment-thumbnail" alt="" title="Our home!" /></a>
<a href='http://janpaulposma.nl/scn-photos-pino/attachment/31052008018' title='Welcome sign'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/31052008018-150x112.jpg" class="attachment-thumbnail" alt="" title="Welcome sign" /></a>
<a href='http://janpaulposma.nl/scn-photos-pino/attachment/31052008005' title='Frans and Hans designing a PCB'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/31052008005-150x112.jpg" class="attachment-thumbnail" alt="" title="Frans and Hans designing a PCB" /></a>
<a href='http://janpaulposma.nl/scn-photos-pino/attachment/31052008001' title='Kids programming and what not'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/31052008001-150x112.jpg" class="attachment-thumbnail" alt="" title="Kids programming and what not" /></a>
<a href='http://janpaulposma.nl/scn-photos-pino/100_0667' title='Kids enjoying being here ;-)'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/100_0667-150x112.jpg" class="attachment-thumbnail" alt="" title="Kids enjoying being here ;-)" /></a>

<p>So, do drop by when you happen to be in the Groningen area! Next month is the &#8216;Oktober Kennismaand&#8217;, a month with all kinds of science activities in the Netherlands. Roeland, the founder of SCN, did a great job on getting us on top of <a href="http://www.oktoberkennismaand.nl/provincies/groningen">the list</a>.</p>
<p>Also, as a non-profit organization, we&#8217;re still pretty much self-funded, so any donations would be great. Materialistic donations such as tables, chairs, couches, computer and electronics hardware, etc would be awesome too!</p>
<p>To conclude, I&#8217;d like to share with you some simple electronic circuits we use to introduce youth to soldering and programming. Have fun with it, although it is in Dutch! <a href="/wp-content/uploads/2009/09/booklet.pdf">Download</a></p>

<a href='http://janpaulposma.nl/a-little-about-science-center-noord/100_0211' title='Bunch of kiddos ^_^'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/100_0211-150x112.jpg" class="attachment-thumbnail" alt="" title="Bunch of kiddos ^_^" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/scn06' title='Arno generating electricity'><img width="99" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/09/scn06-99x150.jpg" class="attachment-thumbnail" alt="" title="Arno generating electricity" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0009' title='Frans and me on the couch'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0009-150x99.jpg" class="attachment-thumbnail" alt="" title="Frans and me on the couch" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0201' title='Frans being who he is'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0201-150x99.jpg" class="attachment-thumbnail" alt="" title="Frans being who he is" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/attachment/01112008020' title='Tennis for Two'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/01112008020-150x112.jpg" class="attachment-thumbnail" alt="" title="Tennis for Two" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0225' title='Frans and me playing Tennis for Two'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0225-150x99.jpg" class="attachment-thumbnail" alt="" title="Frans and me playing Tennis for Two" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0073' title='Roeland drawing a picture'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0073-150x99.jpg" class="attachment-thumbnail" alt="" title="Roeland drawing a picture" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/100_0915' title='Kids programming LEGO Mindstorms'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/100_0915-150x112.jpg" class="attachment-thumbnail" alt="" title="Kids programming LEGO Mindstorms" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0071' title='Arno&#039;s robot'><img width="99" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0071-99x150.jpg" class="attachment-thumbnail" alt="" title="Arno&#039;s robot" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/attachment/3' title='Tux at the front door'><img width="150" height="100" src="http://janpaulposma.nl/wp-content/uploads/2009/09/3-150x100.jpg" class="attachment-thumbnail" alt="" title="Tux at the front door" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0106' title='Me behind laptop, some flurry ball rendering in front'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0106-150x99.jpg" class="attachment-thumbnail" alt="" title="Me behind laptop, some flurry ball rendering in front" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0046' title='Han with a satellite dish'><img width="99" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0046-99x150.jpg" class="attachment-thumbnail" alt="" title="Han with a satellite dish" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/100_0694' title='An example circuit on the wall'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/100_0694-150x112.jpg" class="attachment-thumbnail" alt="" title="An example circuit on the wall" /></a>
<a href='http://janpaulposma.nl/a-little-about-science-center-noord/dsc_0223' title='Electronic dice'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0223-150x99.jpg" class="attachment-thumbnail" alt="" title="Electronic dice" /></a>

]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/a-little-about-science-center-noord/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Balloon molecules: balloon art for geeks</title>
		<link>http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks</link>
		<comments>http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks#comments</comments>
		<pubDate>Tue, 15 Sep 2009 13:48:23 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=131</guid>
		<description><![CDATA[
You probably know balloon art: done by magicians or clowns, on the street or at children&#8217;s parties. Some german guys have taken it to the next level. They thought visualizing the structure of complex molecules would be an excellent job for the famous balloon.

In my final year at high school we made some balloon molecules, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00285-300x225.jpg" alt="Little brother with multi-color buckyball" title="Little brother with multi-color buckyball" width="300" height="225" class="alignnone size-medium wp-image-134" /></p>
<p>You probably know balloon art: done by magicians or clowns, on the street or at children&#8217;s parties. Some <a href="http://www.balloonmolecules.com/">german guys</a> have taken it to the next level. They thought visualizing the structure of complex molecules would be an excellent job for the famous balloon.</p>
<p><span id="more-131"></span></p>
<p>In my final year at high school we made some balloon molecules, and our chemistry teacher absolutely loved it. So here are some hints if you want to do it too:</p>
<ul>
<li><strong>Use a balloon-pump!</strong> You have to blow up <em>so</em> many balloons, you&#8217;ll get completely exhausted when not using a pump. </li>
<li><strong>Get enough balloons of the same color!</strong> Check out the photos, our first model looked more like a rainbow than an actual <a href="http://en.wikipedia.org/wiki/Fullerene">buckyball</a>.</li>
<li><strong>Learn the knots and techniques and practice them!</strong> We had a lot of balloons popping because we didn&#8217;t know how to do balloon art exactly. There are excellent guidelines on how to do the knots and techniques on the site of the <a href="http://www.balloonmolecules.com/">professionals</a>.</li>
<li><strong>Have lots of fun!!</strong></li>
</ul>

<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00285' title='Little brother with multi-color buckyball'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00285-150x112.jpg" class="attachment-thumbnail" alt="" title="Little brother with multi-color buckyball" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00282' title='Little brother with multi-color buckyball'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00282-150x112.jpg" class="attachment-thumbnail" alt="" title="Little brother with multi-color buckyball" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00283' title='Little brother with multi-color buckyball'><img width="112" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00283-112x150.jpg" class="attachment-thumbnail" alt="" title="Little brother with multi-color buckyball" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00288' title='Multi-color buckyball on the piano'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00288-150x112.jpg" class="attachment-thumbnail" alt="" title="Multi-color buckyball on the piano" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00290' title='Graphite'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00290-150x112.jpg" class="attachment-thumbnail" alt="" title="Graphite" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00291' title='Building a buckyball'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00291-150x112.jpg" class="attachment-thumbnail" alt="" title="Building a buckyball" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00295' title='Teacher with the buckyball'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00295-150x112.jpg" class="attachment-thumbnail" alt="" title="Teacher with the buckyball" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00292' title='Teacher with the buckyball'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00292-150x112.jpg" class="attachment-thumbnail" alt="" title="Teacher with the buckyball" /></a>
<a href='http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/dsc00298' title='It&#039;s science!'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00298-150x112.jpg" class="attachment-thumbnail" alt="" title="It&#039;s science!" /></a>

]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/balloon-molecules-balloon-art-for-geeks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PimpMyBike: biking at night &#8211; with style</title>
		<link>http://janpaulposma.nl/pimpmybike-biking-at-night-with-style</link>
		<comments>http://janpaulposma.nl/pimpmybike-biking-at-night-with-style#comments</comments>
		<pubDate>Thu, 10 Sep 2009 20:40:43 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[SCN]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=48</guid>
		<description><![CDATA[
One of the coolest projects I have worked on resulted in the turning of heads when biking through the city, and was also a great challenge as it involves some tricky hardware and software. The result was pretty darn amazing though.

So this was a really cool project that took a lot of my time when [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0042-300x199.jpg" alt="Nice." title="Nice." width="300" height="199" class="alignnone size-medium wp-image-99" /></p>
<p>One of the coolest projects I have worked on resulted in the turning of heads when biking through the city, and was also a great challenge as it involves some tricky hardware and software. The result was pretty darn amazing though.</p>
<p><span id="more-48"></span></p>
<p>So this was a really cool project that took a lot of my time when I was seventeen years old. Do you know <a href="http://www.thinkgeek.com/gadgets/lights/81ff/">these</a> <a href="http://www.youtube.com/watch?v=gklBWwGyreM">gadgets</a> that write text in the air? Ever wondered how they work?</p>
<p>It&#8217;s pretty simple, actually. There is a row of <acronym title="light emitting diode">LED</acronym>-lights that you swing through the air. Those leds alternate very quickly between on and off, in a very specific pattern. When you move the leds at exactly the right velocity, the pattern will become visible to the human eye, and you can actually read text or see an image.</p>
<p>You are able to see this text because your mind will stitch the images together, like when watching TV. It all happens so fast, that you won&#8217;t see the individual frames, but you see the image as a whole. Or in case of the TV, it looks like you&#8217;re watching an actual moving scene. This phenomena is called <a href="http://en.wikipedia.org/wiki/Persistence_of_vision">Persistence of Vision</a> (POV), and quite useful when making awesome things. :-)</p>
<p>In theory it&#8217;s possible to attach a row of leds to the side your bike, and get the same effect as swinging it through the air. The problem with that is that you have to go fast. Very, very fast. Instead, there is something on the bike that has a much higher velocity than your forward velocity: the angular velocity of the weels.</p>
<p>Depending on the size of the weel and your forward velocity, you&#8217;ll get a fair number of rotations per second, enough to make it blurry to the eye. So why not take the row of leds, and put it in the wheel. Sure, you have to do some funky math to get a nice image, but it looks cool, right?!</p>
<p>But of course, it already exists: <a href="http://www.ladyada.net/make/spokepov/">SpokePOV</a> by the artist/engineer <a href="http://ladyada.net/">Ladyada</a> (who, by the way, makes very cool things!). Lucky for me, those kits only come in one color. What could be cooler than making a full-color SpokePOV?</p>
<p>After carefully selecting parts &#8211; <abbr title="red, green, blue">RGB</abbr>-leds are expensive! &#8211; the drawing began. For this I usually use <a href="http://www.lis.inpg.fr/realise_au_lis/kicad/">KiCAD</a>, an awesome open-source electronics <acronym title="computer-aided design">CAD</acronym> program. </p>
<p>Designing the circuit board was a devilish job. The routing of all the lines to the leds took a lot of time to perfect, not to mention fitting it on a board that is as small as possible. A cool thing about Kicad is that you have an awesome 3d viewer. But a 3d model with missing components kinda sucks, so I drew a few models myself in <a href="http://en.wikipedia.org/wiki/Autodesk_3ds_Max">3ds Max</a>.</p>

<a href='http://janpaulposma.nl/pimpmybike-photos-schematics/prototype-1-schematic' title='Schematic'><img width="150" height="105" src="http://janpaulposma.nl/wp-content/uploads/2009/09/Prototype-1-Schematic-150x105.png" class="attachment-thumbnail" alt="" title="Schematic" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-schematics/prototype-1-sheet' title='Sheet design'><img width="54" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/09/Prototype-1-Sheet-54x150.png" class="attachment-thumbnail" alt="" title="Sheet design" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-schematics/prototype-1-3d-model' title='3d model'><img width="60" height="150" src="http://janpaulposma.nl/wp-content/uploads/2009/09/Prototype-1-3d-model-60x150.PNG" class="attachment-thumbnail" alt="" title="3d model" /></a>

<p>All that done, the schematics were sent to Niels at <a href="http://makepcb.com/">MakePCB</a>, who also supplied most of the components. And how awesome, a few weeks later an envelope with the circuit boards arrived. A few hours of soldering later, and the hardware was finished.</p>

<a href='http://janpaulposma.nl/pimpmybike-photos-boards/dsc00317' title='Circuit board'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00317-150x112.jpg" class="attachment-thumbnail" alt="" title="Circuit board" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-boards/dsc00319' title='Circuit board'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00319-150x112.jpg" class="attachment-thumbnail" alt="" title="Circuit board" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-boards/dsc00318' title='Closeup'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00318-150x112.jpg" class="attachment-thumbnail" alt="" title="Closeup" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-boards/dsc00315' title='Closeup'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00315-150x112.jpg" class="attachment-thumbnail" alt="" title="Closeup" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-boards/dsc00322' title='Microcontroller soldering points'><img width="150" height="112" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC00322-150x112.jpg" class="attachment-thumbnail" alt="" title="Microcontroller soldering points" /></a>

<p>But the hardest part was yet to come: the software. Luckily Microchip supplied an excellent USB bootloader, which I tweaked a bit to use the leds as status indicators. The embedded software is all about performance: it has to be able to keep up with the speed of the weel. Therefore it was necessary to supply the program with an image in a format that is easy to decode, and small at the same time.</p>
<p>First, a computer program in Java converted a normal image to a rotational image using some simple trigonometry. Normally, when composing images, pixel data consists of 3 bytes per pixel: one for each color. Uncompressed, this took way too much space for a small <acronym title="Peripheral Interface Controller">PIC</acronym> microcontroller. JPEG or PNG compression was not an option: way to complex to decode. So the color data was reduced to 1 byte per pixel: 3 bits for red, 3 bits for green and 2 bits for blue. Why the reduced count for blue? Well, there are 8 bits to the byte, so some color has to go down, and blue is the best choice as the eye is the least sensitive to that primary color.</p>

<a href='http://janpaulposma.nl/pimpmybike-photos-software/biertje' title='Image (Heineken logo)'><img width="150" height="139" src="http://janpaulposma.nl/wp-content/uploads/2009/09/biertje-150x139.PNG" class="attachment-thumbnail" alt="" title="Image (Heineken logo)" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-software/program' title='Conversion to radial image'><img width="150" height="115" src="http://janpaulposma.nl/wp-content/uploads/2009/09/program-150x115.PNG" class="attachment-thumbnail" alt="" title="Conversion to radial image" /></a>
<a href='http://janpaulposma.nl/pimpmybike-photos-software/multiplexing' title='Multiplexing'><img width="150" height="84" src="http://janpaulposma.nl/wp-content/uploads/2009/09/multiplexing-150x84.PNG" class="attachment-thumbnail" alt="" title="Multiplexing" /></a>

<p>To display the colors some standard techniques are used such as <a href="http://jallib.blogspot.com/2009/02/step-by-step-having-fun-with-pwm-and.html">pulse-width modulation</a> (PWM) and LED-multiplexing, which I won&#8217;t cover in detail. However, the decoding of the pixel data to 3 bytes is kinda interesting. The C implementation was too slow, so it had to be done by hand, in assembly. Using assembly for this critical piece of code (which is only a few lines long) improved the speed of the whole program by a factor 6.</p>
<pre name="code">TBLRDPOSTINC
MOVF TABLAT, 0, ACCESS			// Read TABLAT to WREG; WREG = RRRGGGBB
MOVWF CurrentPixel, BANKED		// Put WREG in CP (CurrentPixel)
RLNCF CurrentPixel, 1, BANKED		// Shift CP to left;    WREG = RRGGGBBR
MOVF CurrentPixel, 0, BANKED 		// Put CP in WREG
ANDLW 0x06				// AND WREG with 0x06;  WREG = 00000BB0
MOVWF PWM2_0, BANKED			// Put WREG in blue channel

RLNCF CurrentPixel, 1, BANKED		// Shift CP to left;    CP   = RGGGBBRR
RLNCF CurrentPixel, 1, BANKED		// Shift CP to left;    CP   = GGGBBRRR
MOVF CurrentPixel, 0, BANKED 		// Put CP in WREG
ANDLW 0x07				// AND WREG with 0x07;  WREG = 00000RRR
MOVWF PWM0_0, BANKED			// Put WREG in red channel

RLNCF CurrentPixel, 1, BANKED		// Shift CP to left;    CP   = GGBBRRRG
RLNCF CurrentPixel, 1, BANKED		// Shift CP to left;    CP   = GBBRRRGG
RLNCF CurrentPixel, 1, BANKED		// Shift CP to left;    CP   = BBRRRGGG
MOVF CurrentPixel, 0, BANKED 		// Put CP in WREG
ANDLW 0x07				// AND WREG with 0x07;  WREG = 00000GGG
MOVWF PWM1_0, BANKED			// Put WREG in green channel
</pre>
<p>The algorithm of the program is pretty simple: take the time of one complete cycle (360 degrees). This time is measured by using a magnetic switch, with a magnet on the frame on the bike. The time is divided by 256, and a timer is set to fire a function. This function will take the next pixels, decode the colors for all the leds (on the front and on the back of the device), and feed this color to the leds using <abbr title="pulse-width modulation">PWM</abbr> and multiplexing. Result: people watching you as you go down the street at night. Mission accomplished.</p>

<a href='http://janpaulposma.nl/pimpmybike-biking-at-night-with-style/dsc_0038' title='Two boards mounted'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0038-150x99.jpg" class="attachment-thumbnail" alt="" title="Two boards mounted" /></a>
<a href='http://janpaulposma.nl/pimpmybike-biking-at-night-with-style/dsc_0043' title='Nice.'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0043-150x99.jpg" class="attachment-thumbnail" alt="" title="Nice." /></a>
<a href='http://janpaulposma.nl/pimpmybike-biking-at-night-with-style/dsc_0042' title='Nice.'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0042-150x99.jpg" class="attachment-thumbnail" alt="" title="Nice." /></a>
<a href='http://janpaulposma.nl/pimpmybike-biking-at-night-with-style/dsc_0041' title='Nice.'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0041-150x99.jpg" class="attachment-thumbnail" alt="" title="Nice." /></a>
<a href='http://janpaulposma.nl/pimpmybike-biking-at-night-with-style/dsc_0040' title='Nice.'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0040-150x99.jpg" class="attachment-thumbnail" alt="" title="Nice." /></a>
<a href='http://janpaulposma.nl/pimpmybike-biking-at-night-with-style/dsc_0037' title='Funky effect when moving the camera'><img width="150" height="99" src="http://janpaulposma.nl/wp-content/uploads/2009/09/DSC_0037-150x99.jpg" class="attachment-thumbnail" alt="" title="Funky effect when moving the camera" /></a>

<p>As you can see on the photos, I ended up mounting two boards on the wheel. Otherwise you had to drive quite fast.. The synchronization of the two boards happens automatically, because they will both align to the magnet. Except when accelerating or slowing down, both boards remain in sync quite well.</p>
<p>I managed to get this project approved as an assignment for school (&#8217;profielwerkstuk&#8217;), so the documentation is quite extensive. It can provide an interesting read if you like to know more about the used components, programs and techniques. You&#8217;ll also read about some major design decisions. It&#8217;s only available in Dutch though.. <a href="http://janpaulposma.nl/wp-content/uploads/2009/09/Profielwerkstuk.pdf">Download</a>.</p>
<p>There are still a few un-soldered boards laying around here, as well as all the hardware designs and software code. However, I won&#8217;t post it here as many things are unfinished and not at all ready for production. Also, the parts are pretty expensive, especially when taking into consideration you need at least two boards per wheel. If you&#8217;re interested though to take this to the next level though, feel free to contact me and we can talk about it. But be warned: a lot of work needs to be done to have it work really well.</p>
<p><strong>Update</strong>: it seems that around the time I built this, <a href="http://www.monkeylectric.com/">some other guys</a> also got the idea and commercialized it. Their simple version does not support images or synchronization of the units, but looks awesome nevertheless. Their pro version is very cool and even supports animations and on-the-fly wireless programming but is priced at thousands of dollars. It seems though, they have done a great job! :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/pimpmybike-biking-at-night-with-style/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Why this blog uses Wordpress now</title>
		<link>http://janpaulposma.nl/why-this-blog-uses-wordpress-now</link>
		<comments>http://janpaulposma.nl/why-this-blog-uses-wordpress-now#comments</comments>
		<pubDate>Sat, 05 Sep 2009 18:59:00 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=113</guid>
		<description><![CDATA[Posterous is a pretty good idea. You just send an e-mail with your blog text, some photos, video and sound, and they&#8217;ll automatically make a nice blog for you, all for free. The photo gallery is also pretty nice.
They even upload your photos to Flickr, Picasa, Facebook, etc., and put your video on Youtube and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://posterous.com/">Posterous</a> is a pretty good idea. You just send an e-mail with your blog text, some photos, video and sound, and they&#8217;ll automatically make a nice blog for you, all for free. The photo gallery is also pretty nice.</p>
<p>They even upload your photos to <a href="http://flickr.com">Flickr</a>, <a href="http://picasaweb.google.com">Picasa</a>, <a href="http://facebook.com">Facebook</a>, etc., and put your video on <a href="http://youtube.com">Youtube</a> and other video services. They also send notifications on <a href="http://twitter.com">Twitter</a>, and other microblogging sites, and even on social network sites and other blogs. They have an <a href="http://posterous.com/help/autopost">extended list</a> of all the sites they support auto-posting to.</p>
<p>They also support custom domain names, <a href="http://www.google.com/analytics/">Google Analytics</a>, <a href="http://feedburner.com">Feedburner</a>, a <a href="http://posterous.com/help/bookmarklet">bookmarklet</a> and a nice <a href="http://posterous.com/help/waystoshare">Share on Posterous</a> button. It&#8217;s simply amazing.</p>
<p><em>However</em>, the limitations of Posterous quickly became obvious to me. No options whatsoever to customize the design and the media options are pretty limited. </p>
<p><span id="more-113"></span></p>
<p>An example: for my next blog post I want to be able to embed multiple small galleries on different places in the post, as it&#8217;s quite a long read. There are no upload facilities on the site, so I just e-mailed all the photos using multiple e-mails for the different galleries. Now I copied the gallery code from the different posts that were generated to the &#8216;main&#8217; post. It looks something like this:</p>
<blockquote><p>[[posterous-content:XfwIQTnahWsSQOSZUGMi]]</p></blockquote>
<p>Thinking that the photo access would be limited to the user account, I thought it was a nice way to add multiple galleries to one post. Wrong: the access to photos is limited to the same post. Still, why use such a complex code with a hash; if the photos are limited to the post, why not use something like:</p>
<blockquote><p>[[ gallery ]]</p></blockquote>
<p>Maybe it&#8217;s an upcoming feature, maybe it already exists but hidden somewhere (like those crazy tag options in the subject field).. </p>
<p>Anyroad, Wordpress works excellent, it&#8217;s a really sound system, and very easy to setup. I&#8217;m also quite happy with this minimalistic theme.</p>
<p>In conclusion, Posterous is a fine system for people who ..</p>
<ol>
<li> .. don&#8217;t understand much of blogging and just want to type some nice stories, optionally with pictures. Useful for the average non-tech person who barely understands e-mail.
<li> .. want to be able to write a nice photo- or videoblog, very easy to add photos from vacation or a mobile device, just by mailing them. Your various social accounts will be updated too, very nice.
<li> .. don&#8217;t have the time updating the status of all their 10+ social, microblogging and blog accounts and want one nice interface to add things to all of them. Finding out what went wrong with their lives would be a great idea for these people as well.
</ol>
<p>What do you think? What is your favorite blogging site or system? Do you have suggestions for this blog?</p>
]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/why-this-blog-uses-wordpress-now/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bloggin&#8217; awai! (and pangrams)</title>
		<link>http://janpaulposma.nl/bloggin-awai-and-pangrams</link>
		<comments>http://janpaulposma.nl/bloggin-awai-and-pangrams#comments</comments>
		<pubDate>Fri, 04 Sep 2009 22:50:46 +0000</pubDate>
		<dc:creator>JP</dc:creator>
				<category><![CDATA[Competitions]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://janpaulposma.nl/?p=6</guid>
		<description><![CDATA[Well, there you have it. I started a blog. Now I think only people who actually have something to say should begin blogging. And I&#8217;m not sure if I&#8217;ve got something to say. So the first few posts will be postings of old projects, for my own reference and to get the hang of it. [...]]]></description>
			<content:encoded><![CDATA[<p>Well, there you have it. I started a blog. Now I think only people who actually have something to say should begin blogging. And I&#8217;m not sure if I&#8217;ve got something to say. So the first few posts will be postings of old projects, for my own reference and to get the hang of it. Maybe you&#8217;ll like it too!</p>
<p>My writing skills are average, as is my knowledge of the English language. So if you have suggestions of any kind, please, don&#8217;t hesitate to leave a comment!</p>
<p>That being said, let&#8217;s look at a fun little project I worked on about two years ago. I had a bet with <a href="http://vlastuin.net">Marcel Vlastuin</a> that I could produce a self-enumerating <a href="http://en.wikipedia.org/wiki/Pangram">pangram</a>. This is an example of such a pangram:</p>
<blockquote><p>This sentence contains three a&#8217;s, one b, three c&#8217;s, two d&#8217;s, thirty three e&#8217;s, seven f&#8217;s, one g, six h&#8217;s, ten i&#8217;s, one j, one k, one l, one m, twenty four n&#8217;s, sixteen o&#8217;s, one p, one q, nine r&#8217;s, twenty six s&#8217;s, seventeen t&#8217;s, five u&#8217;s, five v&#8217;s, four w&#8217;s, four x&#8217;s, four y&#8217;s, and one z.</p></blockquote>
<p><span id="more-6"></span></p>
<p>Pangram, the word coming from the greek <em>pan gramma</em>, literally means &#8220;every letter&#8221;. The best known pangram is without any doubt &#8220;The quick brown fox jumps over the lazy dog&#8221;. But I had to make a self-enumerating one, without doing research to it, and with my name in it.</p>

<a href='http://janpaulposma.nl/bloggin-awai-and-pangrams/pangram-hof' title='The first self-enumerating pangram'><img width="150" height="116" src="http://janpaulposma.nl/wp-content/uploads/2009/09/pangram-hof-150x116.jpg" class="attachment-thumbnail" alt="" title="The first self-enumerating pangram" /></a>
<a href='http://janpaulposma.nl/bloggin-awai-and-pangrams/pangram_persian' title='Persian pangram'><img width="150" height="87" src="http://janpaulposma.nl/wp-content/uploads/2009/09/pangram_persian-150x87.png" class="attachment-thumbnail" alt="" title="Persian pangram" /></a>
<a href='http://janpaulposma.nl/bloggin-awai-and-pangrams/pangram-marcel' title='Marcel&#039;s pangram'><img width="150" height="15" src="http://janpaulposma.nl/wp-content/uploads/2009/09/pangram-marcel-150x15.jpg" class="attachment-thumbnail" alt="" title="Marcel&#039;s pangram" /></a>

<p>For this purpose I built a small program that could generate such a pangram. It would take the previous sentence, count the characters and generate a new sentence. When it got the same sentence twice, the job was done. But there was one problem: many times the program would alternate between a small set of sentences, and never get out of this loop. Therefore it was necessary to add a bit of randomness. The original sourcecode was lost when my old laptop crashed, but as I sent Marcel the generated pangrams, they were still in my mailbox! The pangrams are in Dutch.</p>
<blockquote><p>JP vond deze zin, die vier a&#8217;s, twee b&#8217;s, drie c&#8217;s, acht d&#8217;s, zevenenveertig e&#8217;s, drie f&#8217;s, vier g&#8217;s, drie h&#8217;s, zeventien i&#8217;s, drie j&#8217;s, een k, twee l&#8217;s, een m, twintig n&#8217;s, twee o&#8217;s, twee p&#8217;s, een q, acht r&#8217;s, twintig s&#8217;en, vijftien t&#8217;s, een u, elf v&#8217;s, zeven w&#8217;s, een x, een y en zeven z&#8217;s bevat.</p>
<p>Deze voor Marcel gegenereerde zin omvat drie a&#8217;s, een b, twee c&#8217;s, vijf d&#8217;s, eenenvijftig e&#8217;s, zes f&#8217;s, zes g&#8217;s, een h, zeventien i&#8217;s, vier j&#8217;s, een k, vier l&#8217;s, drie m&#8217;s, tweeentwintig n&#8217;s, vier o&#8217;s, een p, een q, tien r&#8217;s, twintig s&#8217;en, elf t&#8217;s, een u, elf v&#8217;s, vijf w&#8217;s, een x, een y en zeven z&#8217;s.</p>
<p>Jan Paul Posma is trots op deze zin omdat die acht a&#8217;s, twee b&#8217;s, drie c&#8217;s, zeven d&#8217;s, negenenveertig e&#8217;s, vier f&#8217;s, tien g&#8217;s, drie h&#8217;s, tweeentwintig i&#8217;s, vijf j&#8217;s, een k, twee l&#8217;s, drie m&#8217;s, negenentwintig n&#8217;s, vijf o&#8217;s, vier p&#8217;s, een q, acht r&#8217;s, zesentwintig s&#8217;en, eenentwintig t&#8217;s, twee u&#8217;s, negen v&#8217;s, negen w&#8217;s, een x, een y en vijf z&#8217;s bevat.</p>
<p>In deze zin staan tien a&#8217;s, twee b&#8217;s, vier c&#8217;s, zeven d&#8217;s, eenenvijftig e&#8217;s, vier f&#8217;s, zeven g&#8217;s, vier h&#8217;s, drieentwintig i&#8217;s, drie j&#8217;s, een k, vier l&#8217;s, een m, achtentwintig n&#8217;s, vier o&#8217;s, twee p&#8217;s, een q, twaalf r&#8217;s, vierentwintig s&#8217;en, achttien t&#8217;s, twee u&#8217;s, elf v&#8217;s, acht w&#8217;s, een x, een y en zes z&#8217;s, en is bovendien door Jan Paul gegenereerd!</p></blockquote>
<p>Thus winning the bet, a fine dinner. Thanks Marcel! I guess that concludes this <em>F1rSt P0st!!!11oneone42</em>, thank you for reading it. :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://janpaulposma.nl/bloggin-awai-and-pangrams/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
