<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>James Wilson -blog</title>
	
	<link>http://ja.meswilson.com/blog</link>
	<description />
	<lastBuildDate>Thu, 17 Jun 2010 22:52:05 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/nothingoutoftheordinary/YHdS" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="nothingoutoftheordinary/yhds" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">nothingoutoftheordinary/YHdS</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Burn bootloader for Arduino Duemilanove w/ Atmega328 using avrdude 5.10</title>
		<link>http://ja.meswilson.com/blog/2010/04/20/burn-bootloader-for-arduino-duemilanove-w-atmega328-using-avrdude-5-10/</link>
		<comments>http://ja.meswilson.com/blog/2010/04/20/burn-bootloader-for-arduino-duemilanove-w-atmega328-using-avrdude-5-10/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 08:12:34 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/?p=257</guid>
		<description><![CDATA[This is using a new Arduino Duemilanove board with a regular Atmega328p, with no bootloader. I wanted to do the BitBang mode, since I didn&#039;t want to get or make anything else, and the ArduinoISP, I didn&#039;t have access to another Arduino. So I pieced together 3 different guides, I finally got it working. This [...]]]></description>
				<content:encoded><![CDATA[<p>This is using a new Arduino Duemilanove board with a regular Atmega328p, with no bootloader. I wanted to do the BitBang mode, since I didn&#039;t want to get or make anything else, and the ArduinoISP, I didn&#039;t have access to another Arduino. So I pieced together <a href="http://www.geocities.jp/arduino_diecimila/bootloader/index_old_en.html">3</a> <a href="http://doswa.com/blog/2009/12/20/avrdude-58-with-ftdi-bitbang-patch-on-linux/">different</a> <a href="http://www.kerrywong.com/2010/04/02/on-atmega328-bootloading-with-ftdi-bitbang-method/">guides</a>, I finally got it working.</p>
<p>This assumes you have a Duemilanove with Atmega328p. Running Ubuntu 9.10, though really any distro will work, though how you get the dependencies will vary. Also, you have the Arduino IDE installed to /usr/share/arduino, which if you install using the deb source method, it will be.</p>
<p>First, setup the Arduino as shown <a href="http://www.geocities.jp/arduino_diecimila/bootloader/connecting.html">here</a>. I used the first wiring guide, but either should work.</p>
<p>Next, setup avrdude on Ubuntu. I followed <a href="http://doswa.com/blog/2009/12/20/avrdude-58-with-ftdi-bitbang-patch-on-linux/">this guide</a>, but used avrdude 5.10, instead of 5.8. The commands remain the same, except instead of downloading 5.8, you download 5.10.</p>
<p>Here&#039;s what I ran:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>download.savannah.gnu.org<span style="color: #000000; font-weight: bold;">/</span>releases-noredirect<span style="color: #000000; font-weight: bold;">/</span>avrdude<span style="color: #000000; font-weight: bold;">/</span>avrdude-<span style="color: #000000;">5.10</span>.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> xfvz avrdude-<span style="color: #000000;">5.10</span>.tar.gz 
<span style="color: #7a0874; font-weight: bold;">cd</span> avrdude-<span style="color: #000000;">5.10</span><span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000;">8</span> <span style="color: #000000;">7</span> <span style="color: #000000;">6</span> <span style="color: #000000;">5</span> <span style="color: #000000;">4</span> <span style="color: #000000;">3</span> <span style="color: #000000;">2</span> <span style="color: #000000;">1</span> <span style="color: #000000;">0</span>; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #c20cb9; font-weight: bold;">wget</span> <span style="color: #660033;">-O</span> patch-<span style="color: #007800;">$i</span>.diff http:<span style="color: #000000; font-weight: bold;">//</span>savannah.nongnu.org<span style="color: #000000; font-weight: bold;">/</span>patch<span style="color: #000000; font-weight: bold;">/</span>download.php?<span style="color: #007800;">file_id</span>=<span style="color: #000000;">1851</span><span style="color: #007800;">$i</span>; <span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #c20cb9; font-weight: bold;">file</span> <span style="color: #000000; font-weight: bold;">in</span> patch-<span style="color: #000000; font-weight: bold;">*</span>.diff; <span style="color: #000000; font-weight: bold;">do</span> <span style="color: #c20cb9; font-weight: bold;">patch</span> <span style="color: #660033;">-p0</span> <span style="color: #000000; font-weight: bold;">&lt;</span> <span style="color: #007800;">$file</span>; <span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>www.ftdichip.com<span style="color: #000000; font-weight: bold;">/</span>Drivers<span style="color: #000000; font-weight: bold;">/</span>D2XX<span style="color: #000000; font-weight: bold;">/</span>Linux<span style="color: #000000; font-weight: bold;">/</span>libftd2xx0.4.16.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> xzf libftd2xx<span style="color: #000000; font-weight: bold;">*</span>.tar.gz
<span style="color: #c20cb9; font-weight: bold;">cp</span> libftd2xx<span style="color: #000000; font-weight: bold;">*/</span>static_lib<span style="color: #000000; font-weight: bold;">/*</span> .
<span style="color: #c20cb9; font-weight: bold;">cp</span> libftd2xx<span style="color: #000000; font-weight: bold;">*/*</span>.h .
<span style="color: #c20cb9; font-weight: bold;">cp</span> libftd2xx<span style="color: #000000; font-weight: bold;">*/*</span>.cfg .
.<span style="color: #000000; font-weight: bold;">/</span>configure 
<span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>arduino<span style="color: #000000; font-weight: bold;">/</span>hardware<span style="color: #000000; font-weight: bold;">/</span>arduino<span style="color: #000000; font-weight: bold;">/</span>bootloaders<span style="color: #000000; font-weight: bold;">/</span>atmega<span style="color: #000000; font-weight: bold;">/</span>ATmegaBOOT_168_atmega328.hex .</pre></td></tr></table></div>

<p>Then you edit the file, <code>Makefile</code>:<br />
<code>CFLAGS = -g -O2</code> -> <code>CFLAGS = -g -O2 -DHAVE_LIBUSB -DSUPPORT_FT245R</code><br />
<code>LIBS = -lreadline -lncurses -ltermcap</code> -> <code>LIBS = -lreadline -lncurses -ltermcap ./libftd2xx.a.0.4.16 -lrt</code></p>
<p>Then just run <code>make</code>.</p>
<p>Third, run:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> .<span style="color: #000000; font-weight: bold;">/</span>avrdude <span style="color: #660033;">-C</span> avrdude.conf <span style="color: #660033;">-c</span> duemilanove <span style="color: #660033;">-P</span> ft0 <span style="color: #660033;">-p</span> m328p <span style="color: #660033;">-t</span> <span style="color: #660033;">-B</span> <span style="color: #000000;">4800</span></pre></td></tr></table></div>

<p>And in that:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;">erase
<span style="color: #c20cb9; font-weight: bold;">w</span> efuse <span style="color: #000000;">0</span> 0x05
<span style="color: #c20cb9; font-weight: bold;">w</span> hfuse <span style="color: #000000;">0</span> 0xda
<span style="color: #c20cb9; font-weight: bold;">w</span> lfuse <span style="color: #000000;">0</span> 0xff
q</pre></td></tr></table></div>

<p>This sets up the efuse, hfuse, and ifuse values. This has to be run at a lower baud rate.</p>
<p>Fourth, run:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> .<span style="color: #000000; font-weight: bold;">/</span>avrdude <span style="color: #660033;">-C</span> avrdude.conf <span style="color: #660033;">-c</span> duemilanove <span style="color: #660033;">-P</span> ft0 <span style="color: #660033;">-p</span> m328p <span style="color: #660033;">-U</span> flash:w:ATmegaBOOT_168_atmega328.hex</pre></td></tr></table></div>

<p>The bootloader has been flashed. Lock it by running:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> .<span style="color: #000000; font-weight: bold;">/</span>avrdude <span style="color: #660033;">-C</span> avrdude.conf <span style="color: #660033;">-c</span> duemilanove <span style="color: #660033;">-P</span> ft0 <span style="color: #660033;">-p</span> m328p <span style="color: #660033;">-t</span></pre></td></tr></table></div>

<p>And enter:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">w</span> lock <span style="color: #000000;">0</span> 0x0f
q</pre></td></tr></table></div>

<p>Now, your Atmega328 should be ready to use. You can try it by uploading the example Blink from the IDE.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=JqSo0tkdxt0:ELq9LehtAHI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=JqSo0tkdxt0:ELq9LehtAHI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=JqSo0tkdxt0:ELq9LehtAHI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=JqSo0tkdxt0:ELq9LehtAHI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=JqSo0tkdxt0:ELq9LehtAHI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=JqSo0tkdxt0:ELq9LehtAHI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=JqSo0tkdxt0:ELq9LehtAHI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=JqSo0tkdxt0:ELq9LehtAHI:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/JqSo0tkdxt0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2010/04/20/burn-bootloader-for-arduino-duemilanove-w-atmega328-using-avrdude-5-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter Push Notifications with Prowl without Growl</title>
		<link>http://ja.meswilson.com/blog/2009/07/19/twitter-push-notifications-with-prowl-without-growl/</link>
		<comments>http://ja.meswilson.com/blog/2009/07/19/twitter-push-notifications-with-prowl-without-growl/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 00:56:30 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Push Notifications]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/?p=243</guid>
		<description><![CDATA[Prowl has an API. Just found that out. Even has a python module written for it, that&#039;s already been forked many times. So I made a twitter push notification script. Runs every minute and pushes any new timeline posts to you. Really simple. Just throw it on a server or any box that&#039;s running full [...]]]></description>
				<content:encoded><![CDATA[<p><a href="https://prowl.weks.net/">Prowl</a> has an API. Just found that out. Even has a python module written for it, <a href="http://github.com/omgmovieslol/prowlpy/network">that&#039;s already been forked many times</a>.</p>
<p>So I made a <a href="http://github.com/omgmovieslol/Prowl-Apps/tree/master">twitter push notification script</a>. </p>
<p><img src="http://ja.meswilson.com/blog/wp-content/uploads/IMG_0139.PNG" alt="IMG_0139" title="IMG_0139" width="320" height="480" class="alignnone size-full wp-image-246" /></p>
<p>Runs every minute and pushes any new timeline posts to you. Really simple. Just throw it on a server or any box that&#039;s running full time.</p>
<p>RSS and Gmail scripts coming.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=TaSUw34hxls:FUx0-LNZNcI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=TaSUw34hxls:FUx0-LNZNcI:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=TaSUw34hxls:FUx0-LNZNcI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=TaSUw34hxls:FUx0-LNZNcI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=TaSUw34hxls:FUx0-LNZNcI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=TaSUw34hxls:FUx0-LNZNcI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=TaSUw34hxls:FUx0-LNZNcI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=TaSUw34hxls:FUx0-LNZNcI:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/TaSUw34hxls" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2009/07/19/twitter-push-notifications-with-prowl-without-growl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu Notification Daemons</title>
		<link>http://ja.meswilson.com/blog/2009/03/27/ubuntu-notification-daemons/</link>
		<comments>http://ja.meswilson.com/blog/2009/03/27/ubuntu-notification-daemons/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 07:53:35 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/?p=239</guid>
		<description><![CDATA[The new notifications system in ubuntu is actually pretty slick, but having to run multiple apps to get the notifications is annoying. So, time to make daemons for the notification system. First, and only currently, is the twitter pseudo-daemon. And it&#039;s wiki page. Currently working on switching to an actual daemon and a gmail daemon, [...]]]></description>
				<content:encoded><![CDATA[<p>The <a href="https://launchpad.net/notify-osd">new notifications system</a> in ubuntu is actually pretty slick, but having to run multiple apps to get the notifications is annoying.</p>
<p>So, time to make <a href="http://github.com/omgmovieslol/ubuntu-notifications-daemons/tree/master">daemons for the notification system</a>. </p>
<p>First, and only currently, is the <a href="http://github.com/omgmovieslol/ubuntu-notifications-daemons/blob/4b566804ee6a892eee7cd1798509f39cee5e80b3/twitter-notify.py">twitter pseudo-daemon</a>. <a href="http://wiki.github.com/omgmovieslol/ubuntu-notifications-daemons/twitter">And it&#039;s wiki page</a>.</p>
<p>Currently working on switching to an actual daemon and a gmail daemon, though python-libgmail is failing hard.</p>
<p>Any suggestions, post them.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=XAH0HipxO9g:LlvdekxHbuU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=XAH0HipxO9g:LlvdekxHbuU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=XAH0HipxO9g:LlvdekxHbuU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=XAH0HipxO9g:LlvdekxHbuU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=XAH0HipxO9g:LlvdekxHbuU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=XAH0HipxO9g:LlvdekxHbuU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=XAH0HipxO9g:LlvdekxHbuU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=XAH0HipxO9g:LlvdekxHbuU:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/XAH0HipxO9g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2009/03/27/ubuntu-notification-daemons/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Widget A Day: Take 2</title>
		<link>http://ja.meswilson.com/blog/2008/10/30/widget-a-day-take-2/</link>
		<comments>http://ja.meswilson.com/blog/2008/10/30/widget-a-day-take-2/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 06:19:07 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Widget-A-Day]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/2008/10/30/widget-a-day-take-2/</guid>
		<description><![CDATA[Since I&#039;m bored, and some of my old widgets have had some feature requests, so I think I&#039;ll try Widget A Day again. I&#039;m going for at least 14 widgets, so 2 weeks, some being updated versions of the older ones. It would most likely start the beginning of next week. (Edit- not happening this [...]]]></description>
				<content:encoded><![CDATA[<p>Since I&#039;m bored, and some of my old widgets have had some feature requests, so I think I&#039;ll try <a href="http://ja.meswilson.com/blog/category/widget-a-day/">Widget A Day</a> again. I&#039;m going for at least 14 widgets, so 2 weeks, some being updated versions of the older ones. </p>
<p>It would most likely start the beginning of next week. (Edit- not happening this week, but should be next week)</p>
<p>If you have requests or ideas, post them here. I need them to be able to do this.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=HUvQQEg2"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=MDq3rvcv"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=MDq3rvcv" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=f3Vo9jS4"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=f3Vo9jS4" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=733P28mJ"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=733P28mJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=nDRq3QAq"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=131" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/A2Mj3If9HXc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2008/10/30/widget-a-day-take-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Paintball Headlines Theme</title>
		<link>http://ja.meswilson.com/blog/2008/08/24/paintball-headlines-theme/</link>
		<comments>http://ja.meswilson.com/blog/2008/08/24/paintball-headlines-theme/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 19:03:19 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/2008/08/24/paintball-headlines-theme/</guid>
		<description><![CDATA[I said I would post the theme for headlines when I thought it was acceptable. There are still problems, but whatever. Anyways, this theme is based upon this tutorial theme, but changed to have multiple author support, support tags and categories, and be a double right column instead of a column on both sides. There [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://paintballheadlines.com/2008/08/05/huzzah-new-theme/">I said I would post the theme</a> for <a href="http://paintballheadlines.com">headlines</a> when I thought it was acceptable. There are still problems, but whatever.</p>
<p>Anyways, this theme is based upon <a href="http://css-tricks.com/designing-for-wordpress-complete-series-downloads/">this tutorial theme</a>, but changed to have multiple author support, support tags and categories, and be a double right column instead of a column on both sides. There are a few other little changes in there.</p>
<p><a href="http://github.com/omgmovieslol/Paintball-Headlines-Theme">Github Repository</a></p>
<p>I&#039;ll try to update the theme whenever I change anything; I just have to remember to do a <code>svn ci</code> each time.</p>
<p>To run by default and not get errors, you need do need a few plugins, like wp_dtree. There&#039;s also a classifieds plugin that I wrote just for headlines that&#039;s needed, but I don&#039;t plan on releasing that, since it contains db info and it&#039;s pretty much just a MySQL query. In sidebar.php, just comment out the <code>get_classifieds_new(10);</code> code.</p>
<p>Edit: Changed to Github, since DevjaVu went away.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=51j35CUK"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=0G6r4DRd"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=0G6r4DRd" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=vd0y3flz"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=vd0y3flz" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=mpqVaYx6"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=mpqVaYx6" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=LJbD4HOp"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=131" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/9JxKDNmR1Fw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2008/08/24/paintball-headlines-theme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GSoC 2008 Proposal : WordPress Upgrader</title>
		<link>http://ja.meswilson.com/blog/2008/03/31/gsoc-2008-proposal-wordpress-upgrader/</link>
		<comments>http://ja.meswilson.com/blog/2008/03/31/gsoc-2008-proposal-wordpress-upgrader/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 17:26:40 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Google Summer Of Code]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/2008/03/31/gsoc-2008-proposal-wordpress-upgrader/</guid>
		<description><![CDATA[My proposal for Google Summer of Code is a WordPress Updater. WordPress currently advertises how easy it is to install with its patented* 5 minute install. Upgrade is also supposedly really easy. Just delete all you old WordPress files, upload the new ones, and go to upgrade.php. In reality, this is more complicated than it [...]]]></description>
				<content:encoded><![CDATA[<p>My proposal for <a href="http://code.google.com/soc/2008/">Google Summer of Code</a> is a WordPress Updater. </p>
<p>WordPress currently advertises how easy it is to install with its patented* 5 minute install. Upgrade is also supposedly really easy. Just delete all you old WordPress files, upload the new ones, and go to upgrade.php. In reality, this is more complicated than it seems. You have to make sure you delete only the WordPress files, don&#039;t overwrite your other files, all the files still have the same permissions that they did before uploading, and making sure all the back up were done correctly. This proposal plans to make it a much simpler and quicker task of upgrading with easy to use and follow pages that goes through all the aspects of upgrading. </p>
<p>Here&#039;s the basic concept I thought of:</p>
<ol>
<li>
  Backup all WordPress files. </p>
<ul>
<li>This is a security risk, but it can be lowered by using some obfuscated file/folder combination, or even better, using encryption. An option could also be added to back up <em>all</em> files in the WordPress directory</li>
</ul>
</li>
<li>
  Backup the database</p>
<ul>
<li>Also a security risk, but can be lowered using same scheme as the file backup. The user would then be prompted to download these files.</li>
</ul>
</li>
<li>
  Check for plugin/theme incompatibilty</p>
<ul>
<li>I&#039;m unsure what this will take. It could be something that will just check to see if it has a max version listed, or it could try running them in a sandbox for the new version, like what WordPress currently does when installing plugins.</li>
</ul>
</li>
<li>
  Download latest.(zip|tar.gz) from wordpress.org and extract it (Not overwriting any current files)</p>
<ul>
<li>It could also support using nightly or beta builds, or checking out the SVN trunk</li>
</ul>
</li>
<li>
  Confirm update with user plus other pre-update information or options</p>
<ul>
<li>It could support something like replacing the site with a &#039;Site Down&#039; page or something along those lines</li>
</ul>
</li>
<li>
  Replace all the WordPress files with the new version&#039;s. </p>
<ul>
<li>It can be optional to replace the plugins and themes included. This can also not replace files that have not changed between versions.</li>
</ul>
</li>
<li>
  Run update.php.</p>
<ul>
<li>Most likely just using an iframe</li>
</ul>
</li>
<li>Upgrade done.
<ul>
<li>Delete all the downloaded files, and optionally delete all the backups.</li>
</ul>
</li>
</ol>
<p>Other possible features:</p>
<ul>
<li>Revert back to the previous version</li>
<li>Automatic upgrading</li>
</ul>
<p>The probable evolution of it would be a drop in file, followed by a plugin, then if seen as useful, added to the WordPress core. At the first deliverable (Midterm), it will be functional, as in does the upgrading, but will probably not be a plugin and be really refined. At the final deliverable, it&#039;ll be a feature-rich plugin with all features listed above.</p>
<p>First problem, it won&#039;t work on all configurations. WordPress doesn&#039;t either. If you&#039;re using a MySQL user without CREATE and DROP privileges, adding plugins probably won&#039;t work and neither will upgrade.php. It&#039;ll give you errors while without worrying about them, changing the WordPress version, causing you to either revert to a backup or find out all the queries run and running them as a privileged user. </p>
<p>Also, the plugin updater would be affected by the same file permission problems that this would be susceptible to.</p>
<p>This is the most popular idea of from the ideas section. Though I didn&#039;t choose this idea due to that, I just believe that the one thing WordPress really needs is a quick and painless way to upgrade.</p>
<p>There currently is a <a href="http://wordpress.org/extend/plugins/wordpress-automatic-upgrade/">plugin that does this</a>, but it seems a little large and its security practices seem a little iffy.</p>
<p>* Of course, it&#039;s not patented, but it makes it sound cooler.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=LuaApVLs"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=nwC4xtxJ"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=nwC4xtxJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=PUPqt12j"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=PUPqt12j" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=Ejosqytq"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=Ejosqytq" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=uERbYpuu"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=131" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/2xdmF0bIo1g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2008/03/31/gsoc-2008-proposal-wordpress-upgrader/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Added Plugins To WordPress.org</title>
		<link>http://ja.meswilson.com/blog/2008/03/25/added-plugins-to-wordpressorg/</link>
		<comments>http://ja.meswilson.com/blog/2008/03/25/added-plugins-to-wordpressorg/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 03:29:56 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Widgets]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/2008/03/25/added-plugins-to-wordpressorg/</guid>
		<description><![CDATA[I&#039;ve added most of my widgets from Widget A Day. This is to enable update checking and updating in newer versions of WordPress. For some reason, you have to have the plugin uploaded to wordpress.org to be able for WordPress to check if it&#039;s out of date. Not sure why they couldn&#039;t let people add [...]]]></description>
				<content:encoded><![CDATA[<p>I&#039;ve <a href="http://wordpress.org/extend/plugins/profile/sk33t">added most of my widgets</a> from <a href="http://ja.meswilson.com/blog/category/widget-a-day/">Widget A Day</a>. This is to enable update checking and updating in newer versions of WordPress.</p>
<p>For some reason, you have to have the plugin uploaded to wordpress.org to be able for WordPress to check if it&#039;s out of date. Not sure why they couldn&#039;t let people add an update url in their plugin informations that WordPress would check. The only reason I can think of, without actually trying to figure out the real reason, is that all the plugins could be checked using a single request, instead of a request for each plugin. I don&#039;t really think they should automatically just send your plugin information to themselves without asking or having a way to opt out, but whatever.</p>
<p>I didn&#039;t add the <a href="http://ja.meswilson.com/blog/2007/05/31/wordpress-digg-widget/">Digg Widget</a> or the <a href="http://ja.meswilson.com/blog/2007/05/27/wordpress-countdown-widget/">Countdown Widget</a>. The Countdown widget I just thought was lame. </p>
<p>A Digg Widget <a href="http://wordpress.org/extend/plugins/digg-widget/">already exists</a>, but it just uses the Javascript script that digg gives out, which isn&#039;t any fun. I&#039;ll probably still end up uploading it as &#039;Digg Widget by sk33t&#039; or &#039;Script-less Digg Script&#039;  or something along those lines. </p>
<p>Also, I&#039;ll post my GSoC proposals here in the next day or two</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=nGZiC3Mf"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=1p51c6i2"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=1p51c6i2" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=fOAI92OV"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=fOAI92OV" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=6NI7MkCj"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=6NI7MkCj" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=4jwQLzqG"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=131" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/I3f7CH45BIw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2008/03/25/added-plugins-to-wordpressorg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Paintball Board Software Types</title>
		<link>http://ja.meswilson.com/blog/2008/01/10/paintball-board-software-types/</link>
		<comments>http://ja.meswilson.com/blog/2008/01/10/paintball-board-software-types/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 06:51:31 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/2008/01/10/paintball-board-software-types/</guid>
		<description><![CDATA[I wrote a post on Paintball Headlines that had a side note about how paintball board software was done, and how I might write python scripts demonstrating both ways. Well, I did. Here they are. threaded.py runs the check in different threads while event.py only runs the check when an event occurs (the trigger is [...]]]></description>
				<content:encoded><![CDATA[<p>I wrote a <a href="http://paintballheadlines.com/2008/01/10/psp-officially-changes-rof/">post on Paintball Headlines</a> that had a side note about how paintball board software was done, and how I might write python scripts demonstrating both ways.</p>
<p>Well, I did. <a href='http://ja.meswilson.com/blog/wp-content/uploads/2008/01/board.zip' title='board.zip'>Here they are</a>.</p>
<p>threaded.py runs the check in different threads while event.py only runs the check when an event occurs (the trigger is pulled). You can look a the source code of each to understand the differences. </p>
<p>These weren&#039;t made or show that one way is better than the other, they just demonstrate both methods.</p>
<p>Do I know how they do it? No. I&#039;m sure they aren&#039;t running higher level language like python. If any board manufacturers want to let me know, please comment. </p>
<p>I&#039;m also sure that actual board software is done much better, and not the work of some 20 year old hacking some code together in about an hour.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=Ow50Psgy"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=41" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=8XBsPk4N"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=8XBsPk4N" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=WNoVfO2m"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=WNoVfO2m" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=KYERn3FF"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?i=KYERn3FF" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?a=79somnbg"><img src="http://feeds.feedburner.com/~f/nothingoutoftheordinary/YHdS?d=131" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/_1OykyJrpFg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2008/01/10/paintball-board-software-types/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure GMail Shortcut (Plus Google Reader)</title>
		<link>http://ja.meswilson.com/blog/2007/11/24/secure-gmail-shortcut-plus-google-reader/</link>
		<comments>http://ja.meswilson.com/blog/2007/11/24/secure-gmail-shortcut-plus-google-reader/#comments</comments>
		<pubDate>Sun, 25 Nov 2007 02:17:41 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/2007/11/24/secure-gmail-shortcut-plus-google-reader/</guid>
		<description><![CDATA[These are just shorter urls to access GMail and Google Reader securely. Secure GMail: http://g.xrho.com/ => https://mail.google.com/mail/ Secure Hosted GMail (edit domain.tld with your domain): http://g.xrho.com/domain.tld => https://mail.google.com/a/domain.tld/ Secure GMail HTML Only: http://h.g.xrho.com/ => https://mail.google.com/mail/h/ Secure Hosted GMail HTML Only (edit domain.tld with your domain): http://h.g.xrho.com/domain.tld => https://mail.google.com/a/domain.tld/h/ Secure Google Reader: http://r.g.xrho.com/ => https://www.google.com/reader/view/]]></description>
				<content:encoded><![CDATA[<p>These are just shorter urls to access GMail and Google Reader securely.</p>
<p>Secure GMail:<br />
<strong><a href="http://g.xrho.com/">http://g.xrho.com/</a></strong> => https://mail.google.com/mail/</p>
<p>Secure Hosted GMail (edit domain.tld with your domain):<br />
<strong><a href="http://g.xrho.com/domain.tld">http://g.xrho.com/domain.tld</a></strong> => https://mail.google.com/a/domain.tld/</p>
<p>Secure GMail HTML Only:<br />
<strong><a href="http://h.g.xrho.com/">http://h.g.xrho.com/</a></strong> => https://mail.google.com/mail/h/</p>
<p>Secure Hosted GMail HTML Only (edit domain.tld with your domain):<br />
<strong><a href="http://h.g.xrho.com/domain.tld">http://h.g.xrho.com/domain.tld</a></strong> => https://mail.google.com/a/domain.tld/h/</p>
<p>Secure Google Reader:<br />
<strong><a href="http://r.g.xrho.com/">http://r.g.xrho.com/</a></strong> => https://www.google.com/reader/view/</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=mQ-7dtWkLEs:DiowC-XHRGY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=mQ-7dtWkLEs:DiowC-XHRGY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=mQ-7dtWkLEs:DiowC-XHRGY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=mQ-7dtWkLEs:DiowC-XHRGY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=mQ-7dtWkLEs:DiowC-XHRGY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=mQ-7dtWkLEs:DiowC-XHRGY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=mQ-7dtWkLEs:DiowC-XHRGY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=mQ-7dtWkLEs:DiowC-XHRGY:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/mQ-7dtWkLEs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2007/11/24/secure-gmail-shortcut-plus-google-reader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exposing PHP is a Security Risk</title>
		<link>http://ja.meswilson.com/blog/2007/11/19/exposing-php-is-a-security-risk/</link>
		<comments>http://ja.meswilson.com/blog/2007/11/19/exposing-php-is-a-security-risk/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 08:05:06 +0000</pubDate>
		<dc:creator>James Wilson</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://ja.meswilson.com/blog/2007/11/19/exposing-php-is-a-security-risk/</guid>
		<description><![CDATA[In php.ini, there is this: ; Misc ; ; Decides whether PHP may expose the fact that it is installed on the server ; (e.g. by adding its signature to the Web server header). It is no security ; threat in any way, but it makes it possible to determine whether you use PHP ; [...]]]></description>
				<content:encoded><![CDATA[<p>In php.ini, there is this:<br />
<code>; Misc<br />
;<br />
; Decides whether PHP may expose the fact that it is installed on the server<br />
; (e.g. by adding its signature to the Web server header).  It is no security<br />
; threat in any way, but it makes it possible to determine whether you use PHP<br />
; on your server or not.<br />
expose_php = On</code></p>
<p>What this means is that for every request that calls on PHP, it sends an additional header that looks something like this:</p>
<p><code>X-Powered-By: PHP/5.2.3-1ubuntu6</code></p>
<p>Since I installed this via apt-get, it added a 1ubuntu6 to the end, which I think is a slight security risk in and of itself, but that&#039;s not what this is about.</p>
<p>But what it always does, no matter how you installed it, is show the PHP version. In this case, 5.2.3, 2 revisions ago (Hooray <a href="http://packages.ubuntu.com/gutsy/web/php5">outdated repositories</a>! Seriously, it&#039;s from May. <a href="http://packages.debian.org/stable/web/php5">Though you do have Debian beat</a>.). </p>
<p>Now, in the perfect world, this wouldn&#039;t be a security risk, since everyone would have the most updated version of their software, but as everyone knows, that just doesn&#039;t happen. Mine was just installed, and it&#039;s already out of date.</p>
<p>This means that for 80% of the PHP population (98% of statistics are made up on the spot), PHP is advertising itself as an outdated, and probably vulnerable, version. Most likely you aren&#039;t even using any of the vulnerable functions, or even knew they existed, but there&#039;s still a chance you are.  During the month of PHP bugs, there were more than a few functions with vulnerabilities that I used on many occasions.</p>
<p>WordPress also does something of the same. It gives out your WordPress version in meta tag on every pageload, with the only way to get rid of it is editing your template. WordPress is even harder to upgrade than PHP, so expect to find them outdated in a much higher frequency.</p>
<p>Apache, and pretty much every other server out there, does pretty much the same thing with their Server header, but Apache gives you the options on how to display it. Apache/1.3.37 (you have to show all of that from the 1337 though) or Apache/1.3 or Apache/1 or maybe just Apache. </p>
<p>With PHP, it&#039;s all or bust. Not PHP/5 or just PHP. You can overwrite every version by doing something like:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;X-Powered-By: Love-Cookies-and-Hamsters/2.4&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Or something similar, but you have to do it manually for every script. There isn&#039;t really a server wide override. </p>
<p>Now, this point can almost be moot, since <a href="http://www.google.com/search?hl=en&#038;safe=off&#038;client=firefox-a&#038;rls=Swiftfox:en-US:unofficial&#038;hs=Z8L&#038;sa=X&#038;oi=spell&#038;resnum=0&#038;ct=result&#038;cd=1&#038;q=intitle:%22phpinfo()%22&#038;spell=1">it&#039;s just so easy to find phpinfo()&#039;s</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=pe9W3o-3PJQ:QpKjrs6DAVo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=pe9W3o-3PJQ:QpKjrs6DAVo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=pe9W3o-3PJQ:QpKjrs6DAVo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=pe9W3o-3PJQ:QpKjrs6DAVo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=pe9W3o-3PJQ:QpKjrs6DAVo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=pe9W3o-3PJQ:QpKjrs6DAVo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?i=pe9W3o-3PJQ:QpKjrs6DAVo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?a=pe9W3o-3PJQ:QpKjrs6DAVo:cGdyc7Q-1BI"><img src="http://feeds.feedburner.com/~ff/nothingoutoftheordinary/YHdS?d=cGdyc7Q-1BI" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/nothingoutoftheordinary/YHdS/~4/pe9W3o-3PJQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ja.meswilson.com/blog/2007/11/19/exposing-php-is-a-security-risk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.575 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-06-16 00:27:15 -->
