<?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>Make Some Code</title>
	<atom:link href="http://makesomecode.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://makesomecode.com</link>
	<description>Ning, Arduino, PHP, and other cool stuff</description>
	<lastBuildDate>Mon, 21 Nov 2011 22:29:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Upload issues on WordPress with Mediatemple DV server</title>
		<link>http://makesomecode.com/2011/11/22/upload-issues-on-wordpress-with-mediatemple-dv-server/</link>
		<comments>http://makesomecode.com/2011/11/22/upload-issues-on-wordpress-with-mediatemple-dv-server/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 22:24:23 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[dv]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[mediatemple]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://makesomecode.com/?p=484</guid>
		<description><![CDATA[I was having some trouble a while back uploading media to my WordPress install. I would continually get an error stating that the media couldn&#8217;t be moved to the correct folder. I had tried all the forum solutions including even changing permissions to 777. Nothing seemed to work. After stumbling across a few threads on ...]]></description>
			<content:encoded><![CDATA[<p>I was having some trouble a while back uploading media to my WordPress install. I would continually get an error stating that the media couldn&#8217;t be moved to the correct folder. I had tried all the forum solutions including even changing permissions to 777. Nothing seemed to work. After stumbling across a few threads on wordpress and finding a <a href="http://www.mediatemple.net/go/order/?refdom=kamposer.com">Mediatemple</a> community wiki article I came up with a solution.<span id="more-484"></span></p>
<p>First I needed to enable fastCGI for my domain that I was having issues with. <a href="http://www.mediatemple.net/go/order/?refdom=kamposer.com">Mediatemple</a> has an excellent article on how to do that:<br />
<a href="http://kb.mediatemple.net/questions/1890/%28dv%29+How+do+I+enable+FastCGI%3F#dv_40"> http://kb.mediatemple.net/questions/1890/%28dv%29+How+do+I+enable+FastCGI%3F#dv_40</a></p>
<p>After enabling fastCGI I noticed my website was broken. I was getting a 503 error after about waiting 30 seconds for the page to load. After googling around I found the following article on how to resolve some of the common problems faced when enabling fastCGI on a DV server:<br />
<a href="http://wiki.mediatemple.net/w/%28dv%29_4.0:Enable_FastCGI"> http://wiki.mediatemple.net/w/%28dv%29_4.0:Enable_FastCGI</a></p>
<p>Issuing the following command as root via ssh solved the problem:<br />
<code>chown apache:apache /var/run/mod_fcgid/sock &amp;&amp; service httpd restart</code></p>
<h2>Resources:</h2>
<p><a href="http://kb.mediatemple.net/questions/1890/%28dv%29+How+do+I+enable+FastCGI%3F#dv_40">http://kb.mediatemple.net/questions/1890/%28dv%29+How+do+I+enable+FastCGI%3F#dv_40</a><br />
<a href="http://wordpress.org/support/topic/solution-to-mediatemple-dv-upload-error-problem"> http://wordpress.org/support/topic/solution-to-mediatemple-dv-upload-error-problem</a><br />
<a href="http://wiki.mediatemple.net/w/%28dv%29_4.0:Enable_FastCGI"> http://wiki.mediatemple.net/w/%28dv%29_4.0:Enable_FastCGI</a></p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2011/11/22/upload-issues-on-wordpress-with-mediatemple-dv-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nginx and Weird “400 Bad Request” Responses &#124; Life Scaling</title>
		<link>http://makesomecode.com/2011/09/20/nginx-and-weird-%e2%80%9c400-bad-request%e2%80%9d-responses-life-scaling/</link>
		<comments>http://makesomecode.com/2011/09/20/nginx-and-weird-%e2%80%9c400-bad-request%e2%80%9d-responses-life-scaling/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 22:53:35 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[400 bad request]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://makesomecode.com/?p=473</guid>
		<description><![CDATA[I noticed the other day that Google Chrome was giving me a 400 bad request when I tried to visit one of my web sites. My server is built on linode using nginx as a front end and apache as the back. No other browsers were giving me this problem. I cleared the cache and ...]]></description>
			<content:encoded><![CDATA[<p>I noticed the other day that Google Chrome was giving me a 400 bad request when I tried to visit one of my web sites. My server is built on linode using nginx as a front end and apache as the back. No other browsers were giving me this problem. I cleared the cache and this fixed the problem, but I had a sneeking suspicion that it would happen again.&nbsp;Oren Solomianik of&nbsp;<a href="http://orensol.com/">Life Scaling</a>&nbsp;came up with a solution that seems to do the trick. See the link below.</p>
<p>trackback uri</p>
<p>via <a href="http://orensol.com/2009/01/18/nginx-and-weird-400-bad-request-responses/">Nginx and Weird “400 Bad Request” Responses | Life Scaling</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2011/09/20/nginx-and-weird-%e2%80%9c400-bad-request%e2%80%9d-responses-life-scaling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Producteev PHP Library</title>
		<link>http://makesomecode.com/2011/09/02/producteev-php-library/</link>
		<comments>http://makesomecode.com/2011/09/02/producteev-php-library/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 01:19:05 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[producteev]]></category>

		<guid isPermaLink="false">http://makesomecode.com/?p=422</guid>
		<description><![CDATA[Our organisation started using Producteev a while back for task management. It&#8217;s a pretty decent platform and has a nice api. Angelo R. from http://xangelo.ca has done some work to create a PHP Library for the api. It works well but I noticed that any time you added a space to value that you where sending to Producteev the code ...]]></description>
			<content:encoded><![CDATA[<p>Our organisation started using Producteev a while back for task management. It&#8217;s a pretty decent platform and has a <a title="Producteev API" href="http://code.google.com/p/producteev-api/wiki/APIDocumentation" target="_blank">nice api</a>. Angelo R. from <a href="http://xangelo.ca">http://xangelo.ca</a> has done some work to create a <a href="http://code.google.com/p/producteev-php/">PHP Library</a> for the api. It works well but I noticed that any time you added a space to value that you where sending to Producteev the code broke. I found the problem and have created a new library with the added fix:</p>
<p><span style="font-size: medium;"><strong><a href="http://greatwitenorth.github.com/Producteev-PHP-Library/">Download Producteev PHP Library</a></strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2011/09/02/producteev-php-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>chrome.extension.sendRequest won&#8217;t pass object</title>
		<link>http://makesomecode.com/2011/07/27/chrome-extension-sendrequest-wont-pass-object/</link>
		<comments>http://makesomecode.com/2011/07/27/chrome-extension-sendrequest-wont-pass-object/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 07:09:59 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://makesomecode.com/?p=384</guid>
		<description><![CDATA[Recently I had a bit of trouble with Google&#8217;s chrome.extension.sendRequest function used in their Chrome extensions API. I found that I was not able to pass my variable outside of the function. I came accross this post that helped explain the reason why. Although I didn&#8217;t come up with the ideal solution this did end ...]]></description>
			<content:encoded><![CDATA[<p>Recently I had a bit of trouble with Google&#8217;s chrome.extension.sendRequest function used in their Chrome extensions API. I found that I was not able to pass my variable outside of the function. I came accross <a href="http://stackoverflow.com/questions/2591814/javascript-global-variable-not-working-properly">this post</a> that helped explain the reason why.<span id="more-384"></span> Although I didn&#8217;t come up with the ideal solution this did end up working for me in the end:</p>
<pre class="brush: jscript; title: ; notranslate">
function doSomething(){
    chrome.extension.sendRequest(options, function(response){
        var thing = response.data;
        //Do something with our variable.
        //The rest of the function goes here before the next bracket
    });
}
</pre>
<p>Instead of trying to pass the variable out of chrome.extension.sendRequest I simply just wrapped the whole function in it and that seemed to solve my problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2011/07/27/chrome-extension-sendrequest-wont-pass-object/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up SMS with CactiEZ and Gnokii</title>
		<link>http://makesomecode.com/2011/07/19/setting-up-sms-with-cactiez-and-gnokii/</link>
		<comments>http://makesomecode.com/2011/07/19/setting-up-sms-with-cactiez-and-gnokii/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 23:26:57 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[cacti]]></category>
		<category><![CDATA[gnokii]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[server monitoring]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[text message]]></category>

		<guid isPermaLink="false">http://makesomecode.com/?p=319</guid>
		<description><![CDATA[Cacti is a great tool for monitoring devices on you network through SNMP. One common request is how do I get Cacti to SMS me when soemthing goes wrong? Hopefully this tutorial will walk you through getting everything up and running. At the moment this will allow you to receive an SMS for dead hosts. In another tutorial I'll extend it to also work with thresholds.]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Cacti is a great tool for monitoring devices on you network through SNMP. One common request is how do I get Cacti to SMS me when soemthing goes wrong? Hopefully this tutorial will walk you through getting everything up and running. At the moment this will allow you to receive an SMS for dead hosts. In another tutorial I&#8217;ll extend it to also work with thresholds.</p>
<p><span id="more-319"></span></p>
<p>These instructions are known to work with a fresh install of Cacti EZ. We are using and ISO of CactiEZ v0.6. It can be downloaded at the site: <a href="http://mirror.cactiusers.org/dl/2d341570fe9e08f41bf2e0aeac22fb5f/4df05350/CactiEZ-v0.6.tar.gz">http://mirror.cactiusers.org/dl/2d341570fe9e08f41bf2e0aeac22fb5f/4df05350/CactiEZ-v0.6.tar.gz</a></p>
<p>If this link doesn&#8217;t work just google cactiez.</p>
<p>This setup will use an open source command line program called Gnokii. Basically it allows you to communicate to mobile phones via the command line. There are many phones supported. To find out more please visit their homepage gnokii.org.</p>
<p>I&#8217;ll be using an old Nokia 6070 with a CA-42 cable. These can be picked up really cheap now on ebay. My whole setup with cable and phone only cost $27. Most Nokia phones are supported. Gnokii even supports Bluetooth.</p>
<h2>Installing Gnokii</h2>
<p>The following instructions will tell you how to get Gnokii installed on a CactiEZ installation.</p>
<p>First ssh into new install of cactiez:</p>
<pre class="brush: bash; title: ; notranslate">ssh root@ip-of-cacti-ez</pre>
<p>The password will be CactiEZ</p>
<p>Lets move to the tmp directory to download some stuff:</p>
<pre class="brush: bash; title: ; notranslate">cd /tmp</pre>
<p>Download the latest installation of Gnokii. In our case it was 0.6.30. Please visit the gnokii website to find the most recent version for you.</p>
<pre class="brush: bash; title: ; notranslate">wget http://www.gnokii.org/download/gnokii/gnokii-0.6.30.tar.gz</pre>
<p>Untar and unzip the archive:</p>
<pre class="brush: bash; title: ; notranslate">tar xvfz gnokii-0.6.30.tar.gz</pre>
<p>Change into the created directory:</p>
<pre class="brush: bash; title: ; notranslate">cd gnokii-0.6.30</pre>
<p>Now we will simply try to follow the installation instructions found on the Gnokii website:</p>
<pre class="brush: bash; title: ; notranslate">./configure</pre>
<p>You&#8217;ll notice an error straight away:</p>
<p style="padding-left: 30px;">configure: error: in `/tmp/gnokii-0.6.30&#8242;:</p>
<p style="padding-left: 30px;">configure: error: no acceptable C compiler found in $PATH</p>
<p style="padding-left: 30px;">See `config.log&#8217; for more details</p>
<h2>GCC</h2>
<p>Gnokii is telling us it needs a C compiler. I suppose CactiEZ does not ship with one, so lets install one:</p>
<pre class="brush: bash; title: ; notranslate">yum install gcc</pre>
<p>Select Y when asked if it&#8217;s OK to download</p>
<p>Once that installs lets try again:</p>
<pre class="brush: bash; title: ; notranslate">./configure</pre>
<p>We get a new error:</p>
<p style="padding-left: 30px;"><em>checking for intltool >= 0.35.0&#8230; ./configure: line 5826: intltool-update: command not found</em></p>
<p style="padding-left: 30px;"><em>configure: error: Your intltool is too old. You need intltool 0.35.0 or later.</em></p>
<p>Let&#8217;s use yum to install intltool:</p>
<pre class="brush: bash; title: ; notranslate">yum install intltool</pre>
<p>Once that installs lets try again (you can skip this if you want, it&#8217;s just to show you the process I went through):</p>
<pre class="brush: bash; title: ; notranslate">./configure</pre>
<h2>Intltool</h2>
<p>Still the same error. But at least yum has installed the dependencies needed for intltool. Now we&#8217;ll manually upgrade intltool by downloading the latest version:</p>
<pre class="brush: bash; title: ; notranslate">cd /tmp
wget http://launchpad.net/intltool/trunk/0.41.1/+download/intltool-0.41.1.tar.gz
tar xvfz intltool-0.41.1.tar.gz
cd intltool-0.41.1</pre>
<p>Let&#8217;s install the new version of intltool using the instructions from:</p>
<p>http://www.linuxfromscratch.org/blfs/view/cvs/general/intltool.html</p>
<pre class="brush: bash; title: ; notranslate">./configure --prefix=/usr
make
make install
install -v -m644 -D doc/I18N-HOWTO \/usr/share/doc/intltool-0.41.1/I18N-HOWTO</pre>
<p>And we&#8217;ll try installing Gnokii again:</p>
<pre class="brush: bash; title: ; notranslate">./configure</pre>
<p>This time the error outputs:</p>
<p style="padding-left: 30px;"><em>configure: error: in `/tmp/gnokii-0.6.30&#8242;:</em></p>
<p style="padding-left: 30px;"><em>configure: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config.</em></p>
<p style="padding-left: 30px;"><em>Alternatively, you may set the environment variables GLIB_CFLAGS and GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.</em></p>
<p style="padding-left: 30px;"><em>To get pkg-config, see <http://pkg-config.freedesktop.org/>.</em></p>
<p style="padding-left: 30px;"><em>See `config.log&#8217; for more details</em></p>
<h2>pkg-config</h2>
<p>Lets move back to the tmp directory to download pkg-config:</p>
<pre class="brush: bash; title: ; notranslate">cd /tmp
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.25.tar.gz
tar xvfz pkg-config-0.25.tar.gz
cd pkg-config-0.25
./configure --prefix=/usr
make
make install</pre>
<p>And we&#8217;ll try installing Gnokii again:</p>
<pre class="brush: bash; title: ; notranslate">./configure</pre>
<p style="padding-left: 30px;"><em>configure: error: Package requirements (glib-2.0) were not met:</em></p>
<p style="padding-left: 30px;"><em>No package &#8216;glib-2.0&#8242; found</em></p>
<p style="padding-left: 30px;"><em>Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.</em></p>
<p style="padding-left: 30px;"><em>Alternatively, you may set the environment variables GLIB_CFLAGS and GLIB_LIBS to avoid the need to call pkg-config.</em></p>
<p style="padding-left: 30px;"><em>See the pkg-config man page for more details.</em></p>
<h2>Glib-2.0</h2>
<p>Fortunately glib-2.0 has a yum package that we can install:</p>
<pre class="brush: bash; title: ; notranslate">yum install glib2-devel</pre>
<h2>Installing Gnokii</h2>
<p>OK everything should be ready to go now to install Gnokii. Let&#8217;s give it a try:</p>
<pre class="brush: bash; title: ; notranslate">cd /tmp/gnokii-0.6.30
./configure
gmake
gmake install</pre>
<p>Now Gnokii is installed but we have a few more things to do before we&#8217;re done.</p>
<h2>Configuring Gnokii</h2>
<p>Gnokii needs a configuration file before it will work with your mobile phone. You can get a list of config files and phones from the Gnokii website:</p>
<p><a href="http://wiki.gnokii.org/index.php/Config">http://wiki.gnokii.org/index.php/Config</a></p>
<p>The config file will be can be put in the users home folder using the file name .gnokiirc</p>
<pre class="brush: bash; title: ; notranslate">touch ~/.gnokiirc</pre>
<p>Before we create our config file we need to find out what port our phone is connected to.</p>
<pre class="brush: bash; title: ; notranslate">dmesg | tail</pre>
<p style="padding-left: 30px;"><em>usb 4-1: new full speed USB device using address 6</em></p>
<p style="padding-left: 30px;"><em>drivers/usb/class/cdc-acm.c: Ignoring extra header</em></p>
<p style="padding-left: 30px;"><em>drivers/usb/class/cdc-acm.c: This device cannot do calls on its own. It is no modem.</em></p>
<p style="padding-left: 30px;"><em>cdc_acm 4-1:1.0: ttyACM0: USB ACM device</em></p>
<p>The main bit of info we&#8217;re interested in is the <strong>ttyACM0</strong>. Yours may say something different. This is the value we&#8217;ll use for the port variable in the config file.</p>
<p>Then use your favourite text editor to edit the file. We&#8217;ll use vi because it comes with the CactiEZ installation:</p>
<pre class="brush: bash; title: ; notranslate">vi ~/.gnokiirc</pre>
<p>Insert the text for your config. In my case I found a working config on the website for the Nokia 6070:</p>
<p>[global]</p>
<p>model = 6510</p>
<p>port = /dev/ttyACM0</p>
<p>connection = serial</p>
<p>To Use vi press &#8216;i&#8217; to insert new text. To save the file and leave vi, type ESC+:+x (press ESC key, type : followed by x and [enter] key).</p>
<p>I will change the permissions on this file since the apache user group will need to access these files.</p>
<pre class="brush: bash; title: ; notranslate">chmod 777 ~/.gnokiirc
chmod 777 /dev/ttyACM0</pre>
<h2>Testing it out</h2>
<p>Now we need to test out our configuration. Plug in your phone to the computer, or if your using bluetooth make sure it&#8217;s paired. First we&#8217;ll ask Gnokii to identify the connected phone:</p>
<pre class="brush: bash; title: ; notranslate">gnokii --identify</pre>
<p>Be patient. This could take a minute or two. Once it finishes you&#8217;ll get an output looking something like this:</p>
<p style="padding-left: 30px;"><em>IMEI : xxxxxxxxxxxxxxx</em></p>
<p style="padding-left: 30px;"><em>Manufacturer : Nokia</em></p>
<p style="padding-left: 30px;"><em>No flags section in the config file.</em></p>
<p style="padding-left: 30px;"><em>Model : RM-166</em></p>
<p style="padding-left: 30px;"><em>Product name : RM-166</em></p>
<p style="padding-left: 30px;"><em>Revision : V 04.22</em></p>
<p>This means everything is all good. Let&#8217;s try and text someone.</p>
<pre class="brush: bash; title: ; notranslate">echo &quot;Hi this is the computer&quot; | gnokii --sendsms +15555552233 -r</pre>
<p>If you get a text it means we&#8217;re all good to go. Now we just have to tell Cacti how to use our new SMS capabilities.</p>
<h2>Modifying Cacti</h2>
<p>CactiEZ comes with an alerting and threshold plugin installed. This plugin on its own can email us with dead host notifications or when thresholds are exceeded. We need to find these files and add a line of code telling them to also shoot out a text message. Also we&#8217;ll need to add a config variable so that we can add mobile phone numbers through Cacti&#8217;s web based interface. Here&#8217;s the files we&#8217;re wanting to change:</p>
<p>/var/www/html/plugins/thold/cli_thresholds.php<br />
/var/www/html/plugins/thold/includes/settings.php<br />
/var/www/html/plugins/thold/includes/polling.php</p>
<h3>Modifying the files</h3>
<p>The easiest method is to just overwrite the files with ones I&#8217;ve already created. Let&#8217;s also make sure to backup the old ones in case anything goes wrong. Download and unzip the modified files:</p>
<pre class="brush: bash; title: ; notranslate">cd /tmp/
wget http://makesomecode.com/resources/cacti.zip
unzip cacti.zip
cp /var/www/html/plugins/thold/cli_thresholds.php /var/www/html/plugins/thold/cli_thresholds.php.old
cp /var/www/html/plugins/thold/includes/settings.php /var/www/html/plugins/thold/includes/settings.php.old
cp /var/www/html/plugins/thold/includes/polling.php /var/www/html/plugins/thold/includes/polling.php.old
mv cli_thresholds.php /var/www/html/plugins/thold/
mv settings.php /var/www/html/plugins/thold/includes/
mv polling.php /var/www/html/plugins/thold/includes/
</pre>
<h2>Settings in Cacti</h2>
<p>Go to &#8216;<strong>Settings</strong>&#8216; under the &#8216;<strong>Configuration</strong>&#8216; heading in the left menu. Click on &#8216;<strong>Alerting/Thold</strong>&#8216;. You&#8217;ll see a few new options below. In order for this to work you must have <strong>dead host notifications</strong> and <strong>Send alerts as SMS text</strong> enabled. Then put write in your phone number in the <strong>Dead Host Notifications SMS Number</strong> text box. Make sure you include your country code in the phone number as this helps to reduce possible problems down the road. Here in australia the number would look something like this:</p>
<p>61455555555</p>
<p>If you need to send to multiple phones just comma separate them with no spaces in between.</p>
<p><a href="http://makesomecode.com/2011/07/19/setting-up-sms-with-cactiez-and-gnokii/cacti-2/" rel="attachment wp-att-342"><img class="alignnone size-full wp-image-342" title="cacti" src="http://makesomecode.com/wp-content/uploads/2011/07/cacti1.jpg" alt="" width="500" /></a></p>
<p>Well that&#8217;s it! Now you just need to test it out. Go and unplug a host that you&#8217;re currently monitoring and you should get a txt within a couple of minutes (remember the poller only runs every 2 mins or so). Also make sure that if the phone attached to the cacti machine gets unplugged or the machine gets restarted you&#8217;ll have to chmod it&#8217;s port again back to 777.</p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2011/07/19/setting-up-sms-with-cactiez-and-gnokii/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JohnnyA MediaTemple Hack</title>
		<link>http://makesomecode.com/2010/08/11/johnnya-mediatemple-hack/</link>
		<comments>http://makesomecode.com/2010/08/11/johnnya-mediatemple-hack/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 10:01:02 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[johnnya]]></category>
		<category><![CDATA[mediatemple]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://www.makesomecode.com/?p=304</guid>
		<description><![CDATA[A few days ago I came to my site only to be first greeted by a warning from my browser that I was about to visit a malicious site. Obviously this was news to me since I hadn&#8217;t installed any virus spreading wordpress plugins (hmmm I wonder if there are any) in the last few ...]]></description>
			<content:encoded><![CDATA[<p>A few days ago I came to my site only to be first greeted by a warning from my browser that I was about to visit a malicious site. Obviously this was news to me since I hadn&#8217;t installed any virus spreading wordpress plugins (hmmm I wonder if there are any) in the last few days.<span id="more-304"></span> I decided to enter at my own risk only to find that somehow a large bunch of encrypted javascript was making it&#8217;s home at the bottom of my web page like. I began to look further into it realising that somehow there was a user by the name of JohnnyA that had admin privaledges to my blog. I then found that I was not the only one and that many MediaTemple users where experiencing the same thing.</p>
<p>To make a long story short I found the offending code, which had taken up residence in the darkest, dustiest corners of my server, and apologized to google, then got my site up and running again. I&#8217;ll list the sites that I found useful below rather than regurgitating their content:</p>
<p>&nbsp;</p>
<p>Details of the actual hack:<br />
<a href="http://blog.theflashblog.com/?p=2243  "> http://blog.theflashblog.com/?p=2243</a></p>
<p>How to fix it (make sure to read users comments too):<br />
<a href="http://brettterpstra.com/notes-on-cleaning-up-the-mediatemple-hack-johnnya/  "> http://brettterpstra.com/notes-on-cleaning-up-the-mediatemple-hack-johnnya/</a></p>
<p>MediaTemples admission of wrongdoing (kinda):<br />
<a href="http://weblog.mediatemple.net/weblog/2010/08/06/security-facts/  "> http://weblog.mediatemple.net/weblog/2010/08/06/security-facts/</a></p>
<p>And their version of how to fix it:<br />
<a href="http://wiki.mediatemple.net/w/Recovering_from_a_site_compromise  "> http://wiki.mediatemple.net/w/Recovering_from_a_site_compromise</a></p>
<p>Hope this helps anyone experiencing the same problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2010/08/11/johnnya-mediatemple-hack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programming Arduino with Xcode</title>
		<link>http://makesomecode.com/2010/07/30/programming-arduino-with-xcode/</link>
		<comments>http://makesomecode.com/2010/07/30/programming-arduino-with-xcode/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 12:03:22 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.makesomecode.com/?p=278</guid>
		<description><![CDATA[I&#8217;ve found that most tutorials relating to Xcode and Arduino don&#8217;t work. For the most part it seems that the arduino IDE gets an upgrade and files get shuffled around breaking peoples xcode and arduino setup. This tutorial is a modified version of Robert Carlsen&#8217;s. I found I had to make several modifications to get ...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found that most tutorials relating to Xcode and Arduino don&#8217;t work. For the most part it seems that the arduino IDE gets an upgrade and files get shuffled around breaking peoples xcode and arduino setup. This tutorial is a modified version of <a href="http://robertcarlsen.net/2009/02/28/using-arduino-in-xcode-532" target="_blank">Robert Carlsen&#8217;s</a>. I found I had to make several modifications to get it working for me.<span id="more-278"></span></p>
<h3>What You&#8217;ll Need:</h3>
<ul>
<li><a title="Arduino 0018 Download" href="http://arduino.cc/en/Main/Software" target="_blank">Arduino 0018</a></li>
<li><a href="http://developer.apple.com/technologies/xcode.html" target="_blank">Xcode 3.1 from Apple</a> (I haven&#8217;t tested this on the newer 3.2. Let me know if it works for you)</li>
<li><a href="http://www.obdev.at/products/crosspack/download.html" target="_blank">CrossPack for AVR</a> (using version <a href="http://www.obdev.at/downloads/crosspack/CrossPack-AVR-20100115.dmg">20100115</a> for this tutorial)</li>
<li>An Arduino (Using a freeduino with atmega168. I&#8217;ll give some specifics on using other version too)</li>
<li><a href="http://www.makesomecode.com/wp-content/uploads/2010/05/ArduinoOnXcodeV2.zip">Modified version</a> of Robert Carlsen&#8217;s ArduinoOnXcode template</li>
</ul>
<h3>Setup:</h3>
<ol>
<li>Install xcode</li>
<li>Install Arduino</li>
<li>Install CrossPack. The tools are located at /usr/local/AVRMacPack</li>
<li>Uncompress the ArduinoOnXcode project template. Move it to /Developer/Library/Xcode/Project Templates/Other/</li>
<li>Open the Makefile in the AurdinoOnXcode folder. Edit MCU, ARDUINO, UPLOAD_RATE, and AVRDUDE_DIR if needed. The included values will work with an Arduino Diecimila/Duemilanove with an atmega168 chip. See below if you&#8217;re using and atmega328 or Arduino Mega.</li>
</ol>
<ul>
<li>atmega328 use the following value: 
<ul>
<li>MCU atmega328</li>
<li>UPLOAD_RATE 57600</li>
</ul>
</li>
<li>Arduino mega use: 
<ul>
<li>MCU atmega1280</li>
<li>UPLOAD_RATE 57600</li>
</ul>
</li>
</ul>
<h3>How to Use:</h3>
<p>Create a new project in Xcode and select &#8216;Other&#8217; then &#8216;ArduinoOnXcode&#8217;. It will ask for a new location to save the file.</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2010/07/xcode-other.jpg"><img class="alignnone size-full wp-image-291" title="xcode-other" src="http://www.makesomecode.com/wp-content/uploads/2010/07/xcode-other.jpg" alt="" width="500" /></a></p>
<p>Main.cpp is where your arduino code lives. Currently the project has a blinking LED sketch.</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2010/07/xcode-main.jpg"><img class="alignnone size-full wp-image-290" title="xcode-main" src="http://www.makesomecode.com/wp-content/uploads/2010/07/xcode-main.jpg" alt="" width="500" /></a></p>
<p>I&#8217;ve added the &#8220;clean all&#8221; button to my toolbar by right clicking on the toolbar and selecting &#8220;customize toolbar&#8221;. This is the button you&#8217;ll use to upload your sketch to the arduino. Once you&#8217;ve written your code just make sure that upload is selected in the dropdown menu and press &#8220;clean all&#8221;.</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2010/07/xcode-upload.jpg"><img class="alignnone size-full wp-image-292" title="xcode-upload" src="http://www.makesomecode.com/wp-content/uploads/2010/07/xcode-upload.jpg" alt="" width="398" height="73" /></a></p>
<p>Head over to Robert Carlsen&#8217;s page for a few more handy tips.</p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2010/07/30/programming-arduino-with-xcode/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>What will you make with the new Apple Tablet?</title>
		<link>http://makesomecode.com/2010/01/21/what-will-you-make-with-the-new-apple-tablet/</link>
		<comments>http://makesomecode.com/2010/01/21/what-will-you-make-with-the-new-apple-tablet/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 05:39:58 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Final Cut]]></category>
		<category><![CDATA[iSlate]]></category>
		<category><![CDATA[jazzmutant]]></category>
		<category><![CDATA[multi touch]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://www.makesomecode.com/?p=261</guid>
		<description><![CDATA[All the buzz at the moment is the much anticipated Apple Tablet (or iSlate) which is due to be unveiled January 27. There&#8217;s been much talk about what it will do and most people seem to be sure that it&#8217;s going to change much of the way we read news and other publications. There&#8217;s has ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-262" title="apple_tablet" src="http://www.makesomecode.com/wp-content/uploads/2010/01/apple_tablet-300x204.jpg" alt="" width="300" height="204" align="right" />All the buzz at the moment is the much anticipated Apple Tablet (or iSlate) which is due to be unveiled January 27. There&#8217;s been much talk about what it will do and most people seem to be sure that it&#8217;s going to change much of the way we read news and other publications. There&#8217;s has been little talk though about how it will effect things like the music or movie industry.<span id="more-261"></span></p>
<p>Take the <a href="http://www.jazzmutant.com/">JazzMutant Lemur</a> for example. It&#8217;s a wonderful multi touch device that offers amazing creative features to musicians. But the device, which costs around $2000, only does one thing and that&#8217;s it. The Apple tablet will be able to provide this functionality simply with an application that may cost $10 or even $100. This is really where a multi touch tablet begins to show its value. Take our recent  <a href="http://www.makesomecode.com/2009/12/30/arduino-osc-iphone-and-dmx/">Arduino, OSC, iPhone and DMX</a> project. I could simply port this processing application to the new Apple tablet and instantly have a relatively large wireless lighting console.</p>
<p>Or lets think about Final Cut. Imagine having a surface with your projects timeline on the tablet while seeing a full preview on your desktop computer. You could edit your whole project intuitively using only your hands while relying on the processing power of your desktop computer.</p>
<p>I think the possibilities are huge. Since Apple has taken this long to get the tablet out the door I can only imagine that it&#8217;s going to be done right. Do you have any plans for programs that could really benefit from somthing like the Apple tablet?</p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2010/01/21/what-will-you-make-with-the-new-apple-tablet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multi Currency PayPal Donations WP Plugin</title>
		<link>http://makesomecode.com/2010/01/07/multi-currency-paypal-donations-wp-plugin/</link>
		<comments>http://makesomecode.com/2010/01/07/multi-currency-paypal-donations-wp-plugin/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 11:13:48 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MCPD Version Update]]></category>
		<category><![CDATA[Multi Currency PayPal Donations]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[mcpd]]></category>
		<category><![CDATA[paypal]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.makesomecode.com/?p=254</guid>
		<description><![CDATA[UPDATE Jan 25, 2010: Realised that there were some bugs in the plugin. I&#8217;ve done my best to fix them, but if you come across anything else please leave a comment below. Check out my first WordPress plugin: Description PayPal charges high fees for cross border transactions. If you are one of the fortunate few ...]]></description>
			<content:encoded><![CDATA[<p>UPDATE Jan 25, 2010: Realised that there were some bugs in the plugin. I&#8217;ve done my best to fix them, but if you come across anything else please leave a comment below.</p>
<p>Check out my first WordPress plugin:</p>
<h4>Description</h4>
<p>PayPal charges high fees for cross border transactions. If you are one of the fortunate few that have paypal accounts in multiple currencies then this plugin is for you. It allows you to route different currencies to specific paypal accounts. Even if you don&#8217;t have multiple paypal accounts this is still a great plugin for accepting donations.<span id="more-254"></span></p>
<p><a title="MCPD Plugin" href="http://wordpress.org/extend/plugins/multi-currency-paypal-donations/"><span style="font-size: medium;"><strong>Download</strong></span></a></p>
<h4>Screenshots:</h4>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2010/01/screenshot-1.png"><img class="alignnone size-large wp-image-244" title="screenshot-1" src="http://www.makesomecode.com/wp-content/uploads/2010/01/screenshot-1-583x1024.png" alt="" width="468" /></a></p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2010/01/screenshot-2.png"><img class="alignnone size-full wp-image-245" title="screenshot-2" src="http://www.makesomecode.com/wp-content/uploads/2010/01/screenshot-2.png" alt="" width="468" height="666" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2010/01/07/multi-currency-paypal-donations-wp-plugin/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>Arduino, OSC, iPhone and DMX</title>
		<link>http://makesomecode.com/2009/12/30/arduino-osc-iphone-and-dmx/</link>
		<comments>http://makesomecode.com/2009/12/30/arduino-osc-iphone-and-dmx/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 12:19:46 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[dmx]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[open sound control]]></category>
		<category><![CDATA[osc]]></category>

		<guid isPermaLink="false">http://www.makesomecode.com/?p=140</guid>
		<description><![CDATA[The other day I started thinking about how I could design a better lighting desk for our basic lighting needs. The desk we currently have (Behringer EUROLIGHT) is poorly designed with more features than what we really need. I looked to OSC (Open Sound Control) as a protocol that could be used to control the lights via my arduino equipped with an ethernet shield.]]></description>
			<content:encoded><![CDATA[<h4>So what are we making?</h4>
<p>The other day I started thinking about how I could design a better lighting desk for our basic lighting needs. The desk we currently have (Behringer EUROLIGHT) is poorly designed with more features than what we really need. I looked to OSC (Open Sound Control) as a protocol that could be used to control the lights via my arduino equipped with an ethernet shield.</p>
<p><span id="more-140"></span></p>
<p>NOTE: 25 Nov 2010. I&#8217;ve made a change to the Arduino sketch and to the OSC messages below. The DMX channel that is being controlled is now derived from the OSC message itself. ie. /dmx/3 would control DMX channel 3. Make sure to set your alpha channel in the arduino sketch.</p>
<p>Check the diagram below to see what we&#8217;ll be making.</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2009/12/wiring-diagram3.jpg"><img class="alignnone size-full wp-image-227" title="wiring-diagram" src="http://www.makesomecode.com/wp-content/uploads/2009/12/wiring-diagram3.jpg" alt="" width="479" height="157" /></a></p>
<h4>Open Sound Control:</h4>
<p>If you&#8217;ve never heard of Open Sound Control I recommend that you head over to the <a title="Open Sound Control" href="http://opensoundcontrol.org/introduction-osc" target="_blank">website</a> to get a little background on it. Basically it&#8217;s an open standard that will allow us to send information over a standard network to our target device. You may be asking why use OSC for lighting? Don&#8217;t we just have to convert it back to DMX again to make it useful?</p>
<p>The reason OSC was chosen is that there is a bunch of OSC apps for the iPhone. Also it&#8217;s well documented with a lot being done in the developer community (check links at the end of this article).</p>
<h4>DMX:</h4>
<p>DMX is the protocol that most lighting systems use today. It&#8217;s quite a old protocol but seems to work for most applications. I won&#8217;t go into depth here about the technical details of it. All you need to know is that we&#8217;ll be receiving our messages as OSC and using a simple function in our Arduino sketch to convert it to DMX. If you&#8217;d like to learn more about DMX <a href="http://www.arduino.cc/playground/Learning/DMX/Protokoll">check out this page</a>.</p>
<h4>Getting Started:</h4>
<p>First a list of things we&#8217;ll need:</p>
<ul>
<li>Arduino</li>
<li>Arduino OSC Library (see below)</li>
<li><a title="DMXSimple Library" href="http://code.google.com/p/tinkerit/wiki/DmxSimple" target="_blank">DMXSimple Library</a></li>
<li>Ethernet Shield</li>
<li>LED par can</li>
<li>iPhone/iPod touch</li>
<li>Wireless Router</li>
<li>OSC conrtroller for iPhone (<a title="TouchOSC" href="http://hexler.net/software/touchosc" target="_blank">TouchOSC</a>, <a title="iOSC" href="http://recotana.com/iphone/iosc/en/index.html" target="_blank">iOSC</a>, etc)</li>
<li>MAX485 or SN75176</li>
<li>100 Ω resistor</li>
<li>Female XLR</li>
</ul>
<p>The Ethernet Shield is not entirely mandatory as you could communicate through serial to processing but I won&#8217;t be covering that in this tutorial.  My method will give you a standalone device that will communicate to your lights without the need for a computer.</p>
<h4>Arduino Code:</h4>
<p><a href="http://makesomecode.com/wp-content/uploads/iOSC_iPhone_DMX_Arduino_sketch_V2.pde">Here&#8217;s the code</a> we need to load up on our Arduino. You&#8217;ll have to remember to change your network settings. On my particular network I use the address 192.168.100.206. Also make sure to set the &#8216;alphaCh&#8217; variable to reflect your lights alpha channel.</p>
<p>You&#8217;ll notice the OSC and the DMX libraries that are being loaded. <a title="Recotana" href="http://recotana.com/iphone/iosc/en/index.html" target="_blank">Recotana</a> has developed an OSC library for the arduino. I&#8217;ve modified the code slightly to allow the use of the OSC messages as variables without the trailing &#8216;/&#8217;. You can make the modification yourself by replacing lines 700-711 from the original OSCClass.cpp (v1.0.1) with the code below:</p>
<p><code><br />
//Added this in to remove the slashes out of final output<br />
if(d!='/'){<br />
tempAddress[adrCount][adrMesPos]=d;			</p>
<p>if(packetCount>3)  {<br />
	packetCount=0;<br />
	packetPos+=4;<br />
}</p>
<p>adrMesPos++;<br />
}<br />
}<br />
messagePos++;<br />
packetCount++;</code></p>
<p><a href="http://makesomecode.com/wp-content/uploads/OSCClass.zip">or you can download</a> the one I&#8217;ve modified and put it in you arduino/libraries folder. The reason I modified the code is that it greatly simplified my arduino code and allowed me to extract the DMX channel from the OSC message and use it as a variable in my sketch.</p>
<p>You can download the <a href="http://code.google.com/p/tinkerit/wiki/DmxSimple" target="_blank">DMX library here</a>.</p>
<h4>The Circuit:</h4>
<p>Here&#8217;s a photo of the breadboard layout. I basically just used the schematic from the <a title="Arduino DMX Shield" href="http://www.arduino.cc/playground/DMX/DMXShield" target="_blank">arduino website</a>. I&#8217;ve just added an led and 220Ω resistor on the board to make sure the board is getting power. Those two components are not included on the below schematic. Also ignore the orange wire going to nowhere.</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2009/12/IMG_3225-cc.jpg"><img class="size-full wp-image-158 alignnone" title="DMX Shield on Breadboard" src="http://www.makesomecode.com/wp-content/uploads/2009/12/IMG_3225-cc-e1262174785577.jpg" alt="" width="510" height="382" /></a></p>
<p>and the schematic:</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2009/12/dmx1.png"><img class="alignnone size-full wp-image-165" title="DMX Shield Schematic" src="http://www.makesomecode.com/wp-content/uploads/2009/12/dmx1-e1262175094890.png" alt="" width="510" height="369" /></a></p>
<h4>The iPhone/iPod touch software:</h4>
<p>I recommend iOSC because it&#8217;s quite configurable. The only downside is that the interfaces it comes with are limited and you cannot build your own like with TouchOSC. In either case you&#8217;ll have to setup your program to send out the appropriate OSC messages. Here&#8217;s a look at the settings we&#8217;ll use:</p>
<table border="0" cellpadding="5">
<tbody>
<tr>
<td>Label</td>
<td>Message</td>
<td>Value type</td>
<td>min</td>
<td>max</td>
</tr>
<tr>
<td>Slider 1</td>
<td>/dmx/1</td>
<td>float</td>
<td>0</td>
<td>1.00</td>
</tr>
<tr>
<td>Slider 2</td>
<td>/dmx/2</td>
<td>float</td>
<td>0</td>
<td>1.00</td>
</tr>
<tr>
<td>Slider 3</td>
<td>/dmx/3</td>
<td>float</td>
<td>0</td>
<td>1.00</td>
</tr>
</tbody>
</table>
<p>Here&#8217;s a screenshot of the settings for the red slider:</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2009/12/photo.png"><img class="alignnone size-full wp-image-315" title="photo" src="http://www.makesomecode.com/wp-content/uploads/2009/12/photo.png" alt="" width="480" height="320" /></a></p>
<p>Make sure your host settings reflect the network settings you set in your Arduino sketch. Here&#8217;s a look at my settings using iOSC:</p>
<p><a href="http://www.makesomecode.com/wp-content/uploads/2009/12/iosc2.jpg"><img class="alignnone size-full wp-image-177" title="iOSC Host Settings" src="http://www.makesomecode.com/wp-content/uploads/2009/12/iosc2-e1262213942837.jpg" alt="" width="480" height="320" /></a></p>
<h4>Finishing Up:</h4>
<p>Now all we have to do is plug everything in.</p>
<ul>
<li>Hook up you light via XLR to your circuit.</li>
<li>Set your LED par can to the same DMX channel as your Arduino sketch settings.</li>
<li>Plug your arduino ethernet shield into your network. Make sure it&#8217;s on the same network as your iPhone/iPod Touch or it will not work.</li>
<li>Turn everything on and try it out. If it works you should be able to control the red, green, and blue channels of your light via your slider controls on your iPhone/iPod Touch.</li>
</ul>
<h4>Resources:</h4>
<ul>
<li><a title="Recotana iOSC" href="http://recotana.com/iphone/iosc/en/index.html" target="_blank">Recotana iOSC</a></li>
<li><a title="OSC Library for Arduino" href="http://recotana.com/recotanablog/?page_id=222" target="_blank">OSC Library for Arduino</a></li>
<li><a title="Intro to OSC" href="http://opensoundcontrol.org/introduction-osc" target="_blank">Intorduction to OSC</a></li>
<li><a title="TouchOSC" href="http://hexler.net/software/touchosc" target="_blank">TouchOSC</a></li>
<li><a title="ProscDMX" href="http://www.talkunafraid.co.uk/2009/01/proscdmx-a-dmx-multiplexing-opensoundcontrol-server/" target="_blank">ProscDMX</a></li>
<li><a href="http://code.google.com/p/tinkerit/wiki/SerialToDmx">Serial to DMX via Processing</a></li>
<li><a href="http://tomekness.files.wordpress.com/2007/01/dmx_and_arduino_tutorial.pdf">Sending DMX with Arduino</a></li>
<li><a href="http://www.arduino.cc/playground/DMX/Protokoll">DMX in depth</a></li>
<li><a href="http://www.youtube.com/watch?v=Di8uIf22ufc">Youtube &#8211; iPod arduino via OSC</a></li>
<li><a href="http://www.youtube.com/watch?v=pIB6joc1eHY">Youtube - TouchOSC Controlling DMX Lights</a></li>
<li><a href="http://www.vimeo.com/2372472">Vimeo &#8211; TouchOSC to Processing to (anything)</a></li>
</ul>
<p>In our next tutorial we&#8217;ll throw processing into the mix and show how you can use it to build a mixing interface and accept OSC messages then forward them on to your arduino.</p>
]]></content:encoded>
			<wfw:commentRss>http://makesomecode.com/2009/12/30/arduino-osc-iphone-and-dmx/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
	</channel>
</rss>

