<?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>meh &#187; proof-of-concept</title>
	<atom:link href="http://www.bonf.net/category/proof-of-concept/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bonf.net</link>
	<description>-__-</description>
	<lastBuildDate>Sun, 11 Jul 2010 17:51:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>&#8220;Oh Crap It&#8217;s Morning&#8221; &#8211; Alpha Version</title>
		<link>http://www.bonf.net/2009/06/29/oh-crap-its-morning-alpha-version/</link>
		<comments>http://www.bonf.net/2009/06/29/oh-crap-its-morning-alpha-version/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 19:14:15 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[proof-of-concept]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.bonf.net/?p=82</guid>
		<description><![CDATA[If you&#8217;ve been saying the above statement before, this program is for you. It&#8217;s an alarm clock application for S60 phones (more specifically Nokia 5800) written in Python The code is NOWHERE near what you&#8217;d expect of released code to be &#8211; this is NOT a release, rather a preview This is my first piece [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve been saying the above statement before, this program is for you.</p>
<p>It&#8217;s an alarm clock application for S60 phones (more specifically Nokia 5800) written in Python<br />
<span id="more-82"></span></p>
<p><strong>The code is NOWHERE near what you&#8217;d expect of released code to be &#8211; this is NOT a release, rather a preview <img src='http://www.bonf.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </strong></p>
<p>This is my first piece of code written in S60 Python. The code is not pretty, not well designed, not nothing &#8211; it&#8217;s just a proof of concept; helping me get to know the S60 python modules, and wake up on time.</p>
<p>The main feature of this program, that I could not find a ready-made S60 application that already accomplishes this, is the use of a random tune for every alarm.<br />
Don&#8217;t you hate it when you choose a song for an alarm clock, and find yourself hating the song ever after? Spazzing just a little bit every time you hear it?<br />
By choosing a random song every morning, you get to hear many of your favorite songs, without slowly developing hate towards them.</p>
<p>The second feature, is &#8220;fade in&#8221;. The song is initially played in low volume, which is gradually turned up.</p>
<p>Don&#8217;t rely on this code to wake you up for important meetings, it is probably full of bugs. It can&#8217;t save your last alarm properly (even though it tries to), but it will save your songs path.<br />
It is also semi-automatic, meaning you&#8217;ll have to set the alarm every night, it won&#8217;t do so automatically (yet!).<br />
It won&#8217;t survive phone shutdown either.<br />
It seems like python can&#8217;t overcome these obstacles easily, but I&#8217;ll try to improve it in the future. If I tried to code it with the bare Symbian API, it wouldn&#8217;t have reached the somewhat functional state it is in today&#8230;</p>
<p>I only post it here because I have started using it almost daily, and that both lowered my motivation to work for a more complete solution, and urged me to post the code somewhere, as other people may find it useful.<br />
It can also serve as a demo for S60 Python API use.</p>
<p>I have only tested it on Nokia 5800 which is S60 5th edition, with python 1.9.4.<br />
Other configurations may cause nuclear fusion.</p>
<p>Feel free to do whatever you want with the code.</p>
<p><a href="http://bonf.net/wp-content/uploads/2009/06/alarm.py">The Code</a></p>
<p>As a side note, during development I have used <a href="http://sourceforge.net/projects/pys60-compat/">pys60-compat</a> which is a wxPython based implementation of portions of the S60 python framework &#8211; meaning it let&#8217;s you run python code written for s60 in a testing environment on your desktop.<br />
It is somewhat outdated, and I have added some extensions of my own, which I may release in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bonf.net/2009/06/29/oh-crap-its-morning-alpha-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DIY Cheap-o Looper Effect</title>
		<link>http://www.bonf.net/2008/03/23/diy-cheap-o-looper-effect/</link>
		<comments>http://www.bonf.net/2008/03/23/diy-cheap-o-looper-effect/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 12:39:43 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[diy]]></category>
		<category><![CDATA[guitar effects]]></category>
		<category><![CDATA[proof-of-concept]]></category>

		<guid isPermaLink="false">http://www.bonf.net/2008/03/23/diy-cheap-o-looper-effect/</guid>
		<description><![CDATA[&#8230; I&#8217;m surprised with what I&#8217;m able to do when I&#8217;m supposed to be doing homework. Here&#8217;s my latest project, it&#8217;s less than 24 hours old =) I&#8217;ve always wanted a looper effect, like the boss loopstation, mainly because the online demos were so neat. Being a bass player, I though it would help me [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; I&#8217;m surprised with what I&#8217;m able to do when I&#8217;m supposed to be doing homework.</p>
<p>Here&#8217;s my latest project, it&#8217;s less than 24 hours old =)</p>
<p>I&#8217;ve always wanted a looper effect, like the boss loopstation, mainly because the online demos were so neat. Being a bass player, I though it would help me practice with drum loops, but it&#8217;s just not worth the money unless you&#8217;re going to use it live. I ended up playing drum samples on my PC and playing along on the bass.</p>
<p>more (and video) after the break<br />
<span id="more-39"></span><br />
About 2 weeks ago, a friend asked me about creating a digital recording circuit, for a project (which will be posted here when completed, going to stay a secret for now). Some online searching brought us to a keychain digital recorder product. After comparing some models, we found one that had 60 seconds of recording time, and we got 2 of it off ebay. I then came up with the idea to use this little recorder as a guitar looping effect, and wondered how it will handle it.</p>
<p>Yesterday, we met and started to disassemble and test this unit. We hooked it up to the Arduino, powered it from the 3.3V supply, and tested the &#8220;button press emulation&#8221;. We later went to a friend for a BBQ. When I came back home, I decided to continue experimentation. I had desoldered the microphone and speaker from the unit, and soldered some more hook-up wire. I had some problems with getting the circuit to function properly, I think I had a short circuit somewhere. I went to sleep without getting it to work.</p>
<p>This morning, I had a day off work, and decided to continue this little project.  I soldered some more wire to replace problematic alligator clips positioning, and everything worked again. I connected my guitar to where the mic was, changed the Arduino code a little, and fired it up. You can see it in action on the following video:</p>
<p><a href="http://www.youtube.com/watch?v=1GkihSHkpRI"><img src="http://img.youtube.com/vi/1GkihSHkpRI/default.jpg" width="130" height="97" border=0></a></p>
<p>And here&#8217;s the simple arduino code:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> recPin <span style="color: #339933;">=</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">;</span>
<span style="color: #993333;">int</span> playPin <span style="color: #339933;">=</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">//prepare pins for output</span>
    pinMode<span style="color: #009900;">&#40;</span>recPin<span style="color: #339933;">,</span>OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    digitalWrite<span style="color: #009900;">&#40;</span>recPin<span style="color: #339933;">,</span>HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    pinMode<span style="color: #009900;">&#40;</span>playPin<span style="color: #339933;">,</span>OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    digitalWrite<span style="color: #009900;">&#40;</span>playPin<span style="color: #339933;">,</span>HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">//wait and then record a 5 second loop</span>
    delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">5000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    digitalWrite<span style="color: #009900;">&#40;</span>recPin<span style="color: #339933;">,</span>LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//&quot;hold down&quot; rec button</span>
    delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">5000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    digitalWrite<span style="color: #009900;">&#40;</span>recPin<span style="color: #339933;">,</span>HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//release it</span>
    delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// to pass debouncing</span>
    <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        digitalWrite<span style="color: #009900;">&#40;</span>playPin<span style="color: #339933;">,</span>LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        digitalWrite<span style="color: #009900;">&#40;</span>playPin<span style="color: #339933;">,</span>HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">4970</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        digitalWrite<span style="color: #009900;">&#40;</span>playPin<span style="color: #339933;">,</span>LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//emulate a second click, this will stop playing the sample, and will be ready to play</span>
        <span style="color: #666666; font-style: italic;">//again in the next loop iteration</span>
        delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        digitalWrite<span style="color: #009900;">&#40;</span>playPin<span style="color: #339933;">,</span>HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>When I continue working on it, I will need to build some sort of preamp for the output signal. I will also recreate the Arduino program on a PIC 12F675 (or whatever the model number is) of which I have quite a few. There&#8217;s also need for better timing, and a pushbutton to start/stop loop recording (and adjust the length of the loop accordingly).</p>
<p>I hope to get it to a usable state, and have some creative fun with it. Now it&#8217;s time to get back to my homework in algebraic structures.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bonf.net/2008/03/23/diy-cheap-o-looper-effect/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Chopper Tremolo Effect</title>
		<link>http://www.bonf.net/2008/03/08/chopper-tremolo-effect/</link>
		<comments>http://www.bonf.net/2008/03/08/chopper-tremolo-effect/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 21:50:33 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[diy]]></category>
		<category><![CDATA[guitar effects]]></category>
		<category><![CDATA[proof-of-concept]]></category>

		<guid isPermaLink="false">http://www.bonf.net/2008/03/08/chopper-tremolo-effect/</guid>
		<description><![CDATA[I&#8217;ve wanted to build this kind of effect for a long time. This was actually the reason I got my 4066 ICs half a year ago, when I visited my electronic components shop. A Tremolo is an effect unit that modulates the amplitude of the guitar signal, usually in a triangular waveform. This version uses [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve wanted to build this kind of effect for a long time. This was actually the reason I got my 4066 ICs half a year ago, when I visited my electronic components shop.</p>
<p>A Tremolo is an effect unit that modulates the amplitude of the guitar signal, usually in a triangular waveform. This version uses a square waveform, for a more switching, chopping kind of effect. This kind of effect can be heard in the beginning of Plant Telex by <a href="http://www.stubhub.com/radiohead-tickets/">Radiohead</a>. Tom Morello of Rage Against the Machine uses this kind of effect too, he, however, uses a &#8220;kill switch&#8221; on his guitar, which he controls manually.</p>
<p>More after the break&#8230;<br />
<span id="more-31"></span><br />
This is a very simple and low quality circuit, whose problems can be seen in the following video. I built it in about an hour, that&#8217;s how simple it is. It is based on a simple NAND oscillator from an <a href="http://www.aaroncake.net/circuits/chaser.asp" target="_blank">LED Chaser</a> circuit that I had built maybe a year ago. Here&#8217;s the circuit diagram(proudly drawn in GIMP):</p>
<p><a href="http://www.bonf.net/wp-content/uploads/2008/03/chopper-v1.png" title="Chooper v1 schematics"><img src="http://www.bonf.net/wp-content/uploads/2008/03/chopper-v1.thumbnail.png" alt="Chooper v1 schematics" /></a></p>
<p>Values that I had used in my circuit:</p>
<ul>
<li>Supply Voltage: 5VDC</li>
<li>R1 &#8211; 1MOhm</li>
<li>R2 &#8211; 10KOhm</li>
<li>C1 &#8211; 47uF</li>
</ul>
<p>The idea behind the circuit is quite simple. The NAND provides a square wave pulse (and there are better places where you can understand how it works, google &#8220;NAND oscillator&#8221;) that is then hooked up to the 4066 IC. The 4066 is contains 4 analog switches, where each switch is controlled by a single input pin &#8211; as seen in the following diagram:</p>
<p><a href="http://www.bonf.net/wp-content/uploads/2008/03/4066.png" title="4066"><img src="http://www.bonf.net/wp-content/uploads/2008/03/4066.thumbnail.png" alt="4066" /></a></p>
<p>The 4093 NAND IC contains 4 NAND gates, so I used a free one to invert the clock signal.</p>
<p>I used 2 of the 4066 switches. The first one, connects the input signal + and the output signal +, while the second one connects the output signal + and the ground. One switch is controlled by the output of the oscillator, and the other is controlled by the same output, but inverted. The result is that the output signal switches between the input signal, and no signal (ground connected to +).</p>
<p>This is rather primitive, but that&#8217;s the whole point behind this simple project !</p>
<p>Here&#8217;s a short video showing my prototype and live demo of the effect (grr, I forget my entire English vocabulary when I talk):<br />
<a href="http://www.youtube.com/watch?v=q3B2KSrLoEw"><img src="http://img.youtube.com/vi/q3B2KSrLoEw/default.jpg" width="130" height="97" border=0></a></p>
<p>I will be glad to hear any ideas as to how to improve the circuit. My main goals are:</p>
<ul>
<li>Eliminate the POP noise</li>
<li>Allow higher frequencies</li>
<li>Add a 4017 counter with 8 switches(representing one bar) that will allow more complex chopping</li>
</ul>
<p>I have loads of bipolar transistors, maybe I&#8217;ll try to use them instead of the 4066&#8230;</p>
<p>That&#8217;s it !  Please let me know if you build it yourself !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bonf.net/2008/03/08/chopper-tremolo-effect/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>(Almost) Free MIDI Controller</title>
		<link>http://www.bonf.net/2008/02/25/almost-free-midi-controller/</link>
		<comments>http://www.bonf.net/2008/02/25/almost-free-midi-controller/#comments</comments>
		<pubDate>Mon, 25 Feb 2008 20:31:19 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[midi]]></category>
		<category><![CDATA[proof-of-concept]]></category>

		<guid isPermaLink="false">http://www.bonf.net/2008/02/25/almost-free-midi-controller/</guid>
		<description><![CDATA[Well it&#8217;s about time that I posted something. Two weeks ago, a friend of mine asked me for help. He wanted to create something that will allow him to control all sorts of effects in Fruity Loops, like many available midi controller products. He was, however, looking for the cheapest solution, and suggested using an [...]]]></description>
			<content:encoded><![CDATA[<p>Well it&#8217;s about time that I posted something.</p>
<p>Two weeks ago, a friend of mine asked me for help. He wanted to create something that will allow him to control all sorts of effects in Fruity Loops, like many available midi controller products. He was, however, looking for the cheapest solution, and suggested using an old keyboard as a controller.</p>
<p>As I was toying with MIDI and my Arduino at the time, and started messing around in Fruity Loops, I was able to come up with a quick and easy solution.  I used code from the <a href="http://www.memeteam.net/2007/s2midi/">s2midi</a> application, that I had known from my Arduino prototyping and another Code Project example about keyboard hooks in C#.</p>
<p>After around 10 hours of development I came up with a small application that catches all keyboard input using hooks (and does not pass them to other applications, to prevent collision with existing hotkeys), and generates MIDI control commands. <a href="http://www.midiox.com/">MIDI Yoke </a>was used to bridge  my application&#8217;s output and FL&#8217;s input.</p>
<p>The application works by &#8220;emulating&#8221; knobs, with assigned keys to increment, decrement, maximize or minimze their values. It is also possible to choose different step sizes for inc/dec. Currently the knobs are &#8220;hardcoded&#8221; as they are needed for my friend&#8217;s modified keyboard controller:</p>
<p><a href="http://www.bonf.net/wp-content/uploads/2008/02/24022008425.jpg" title="Controller"><img src="http://www.bonf.net/wp-content/uploads/2008/02/24022008425.thumbnail.jpg" alt="Controller" /></a></p>
<p>He connected the keyboard via USB, alongside a normal keyboard, and is going to use the two to control Fruity Loops in real-time.</p>
<p>Here&#8217;s a screenshot of my app:</p>
<p><a href="http://www.bonf.net/wp-content/uploads/2008/02/keyboardmidi.PNG" title="Screenshot"><img src="http://www.bonf.net/wp-content/uploads/2008/02/keyboardmidi.thumbnail.PNG" alt="Screenshot" /></a></p>
<p>Although it may be a bit funny to post about this application without releasing the code and executable, I&#8217;d rather not do it at the moment, as it requires a bit more work. I did not aim for high code quality anyway, as it is one of my first C# applications.</p>
<p>I think this will turn out to a simple program that one could use to control music software better than a mouse, but still no match for a true hardware MIDI controller (which is one of the projects in my TODO list <img src='http://www.bonf.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bonf.net/2008/02/25/almost-free-midi-controller/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon EC2 for Game Servers</title>
		<link>http://www.bonf.net/2007/09/30/amazon-ec2-for-game-servers/</link>
		<comments>http://www.bonf.net/2007/09/30/amazon-ec2-for-game-servers/#comments</comments>
		<pubDate>Sun, 30 Sep 2007 14:23:51 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[aws]]></category>
		<category><![CDATA[proof-of-concept]]></category>

		<guid isPermaLink="false">http://www.bonf.net/2007/09/30/amazon-ec2-for-game-servers/</guid>
		<description><![CDATA[Amazon Web Services rock. They really do. I was first introduced to AWS about half a year ago, but only recently have I started to use them. I work at www.zshow.com where we use Amazon S3 (Simple Storage Service) for hosting all of our pictures. While exploring AWS, I also encountered EC2 (Elastic Computing Cloud) [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon Web Services rock. They really do.</p>
<p>I was first introduced to AWS about half a year ago, but only recently have I started to use them. I work at <a href="http://www.zshow.com" title="ZShow.com">www.zshow.com</a> where we use Amazon S3 (Simple <a href="http://www.ustorage.com">Storage</a> Service) for hosting all of our pictures. While exploring AWS, I also encountered EC2 (Elastic Computing Cloud) and was quite excited about the idea &#8211; it allows you to easily create virtual servers, at the equivalent of a 1.7GHz processor and 1.75GB RAM with a 250MB/s connectinon, and pay per hour of use. Possible uses are endless, as you basically get a virtual x86 machine that can do everything you wish.</p>
<p>Recently, I&#8217;ve started thinking about renting a game server for Enemy Territory: Quake Wars when it comes out. Then the other day, I thought that Amazon EC2 could be used to host a game server (along with TeamSpeak/Ventrillo, Web server, and whatever) and was eager to try it out. I googled it up and found some posts in blogs about how this could be done ( I wasn&#8217;t the first one to come up with that idea ). I gave it a go, and quite soon I had an ETQW server running. However, much to my discontent, Amazon is probably located at North America, thus I couldn&#8217;t get decent pings for an actual game server that I could use (250+). I still think that it should be quite usable for Americans though, and extremely cost-efficient for clan servers, mod teams and other people who wouldn&#8217;t like to have their servers on 24/7. In that case it is actually cheaper to just rent a server from some host.</p>
<p>I do recommend the <a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609">Firefox EC2 Add-On</a> anyone who would like to try it, as it makes usage of EC2 much easier, via a single GUI interface.</p>
<p>I really see much potential in AWS in general, and I also like the idea of using EC2 for game servers. I guess that if I lived in North America and had some time, I would have set up a website that sells on-demand game servers and uses EC2 as a backend.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bonf.net/2007/09/30/amazon-ec2-for-game-servers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Translation through Wikipedia</title>
		<link>http://www.bonf.net/2007/06/09/translation-through-wikipedia/</link>
		<comments>http://www.bonf.net/2007/06/09/translation-through-wikipedia/#comments</comments>
		<pubDate>Sat, 09 Jun 2007 07:49:34 +0000</pubDate>
		<dc:creator>Ben</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[proof-of-concept]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://www.bonf.net/2007/06/09/translation-through-wikipedia/</guid>
		<description><![CDATA[There&#8217;s a new version of Wikislate up! read about it here Here&#8217;s a small neat script that I coded yesterday in about 1.5 hours &#8211; Wikislate The script was created to simplify a process that I&#8217;ve been using for some time. Being a math&#38;cs student, I&#8217;ve acquired the unique mathematical-technical jargon (and I keep doing [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #0000ff;"><strong><em>There&#8217;s a new version of Wikislate up! read about it <a href="http://www.bonf.net/2009/02/20/wikislatecom-is-up/">here</a></em></strong></span></p>
<p>Here&#8217;s a small neat script that I coded yesterday in about 1.5 hours &#8211; <a href="http://wikislate.bonf.net">Wikislate</a></p>
<p>The script was created to simplify a process that I&#8217;ve been using for some time. Being a math&amp;cs student, I&#8217;ve acquired the unique mathematical-technical jargon (and I keep doing so).<br />
The problem is that I live and study in Israel &#8211; in the Hebrew language. Given the fact that there&#8217;s a great English mathematical knowledge-base online (<a href="http://mathworld.wolfram.com/">Wolfram</a> is the first website that crosses my mind right now), I had to know the English equivalents of the Hebrew mathematical terms.<br />
The method that I found was to load up the Hebrew Wikipedia page for the term, and then look for the English interwiki link &#8211; for the English version of the article.<br />
Most of the time, I only had to read the title of the English page to know I was at the right place.</p>
<p>Yesterday night, after desperately trying to get asleep (my brain suddenly decided to start intensive thinking the night before an exam &#8211; took me 2 hours to get asleep)  , I came up with the idea to code a quick and simple PHP script that will do the work for me, and act as my scientific terms dictionary. I had some spare ( I decided it was spare ) time, and the above code was the result of a quick coding session. As the code came along, I thought that incorporating Google&#8217;s &#8220;Did you mean&#8221; is a neat feature. So in case a term wasn&#8217;t found, it tries the Google search for it, just to get the &#8220;Did you mean&#8221; line for you <img src='http://www.bonf.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I hope other people will find it useful. I might improve it, making it use shiny AJAX and maybe even have a db store the searched terms for autocompletion.<br />
I have the intention to write a bit about how it was done (really fairly simple) &#8211; again, if there&#8217;s enough interest.</p>
<p>Enjoy, and please comment about it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bonf.net/2007/06/09/translation-through-wikipedia/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
