Compete WordPress Widget

Compete released it’s API today, so I decided to make a widget for WordPress using it.


SVN Checkout
svn co

This adds a link, your current rank, the amount of visitors, and your rank image to the sidebar.

By default, it looks like:

In the widget admin panel, you can completely edit the title, your api key, your host (by default, it’s the current host), the amount of time before the cache expires, and the ability to completely edit the display (see below)




  1. Download
  2. Extract and upload compete.php to the plugins/ directory
  3. Enable Compete Rankings in the Plugin admin panel
  4. In widget admin panel, place Compete in the sidebar, and edit it to enter your API Key


  • Displays data about your site or any site you choose
  • Edit nearly all aspects of it via widget admin
  • Caching for large traffic sites

Editting display

You can edit ‘Widget Formatting’ to change how the info is displayed. To access the variables, use this formatting:

  • %rank% – Rank of the site
  • %icon% – The icon relating to your traffic rank (large or small depending on options)
  • %count% – People count
  • %host% – Hostname used in lookup
  • %link% – Link to the compete page for the host
  • %compete% – The compete link –

The default formatting is:

<span style="float:right;"><img src="%icon%" alt="%rank%" /></span>
<a href="%link%">%host%</a><br />

Ranking: %rank%<br />
People: %count%<br />


Amarok Jukebox

I’ve coded a jukebox script for amarok. It consists of a python HTTP server and an amarok control script. Unlike this one, it is not a script to add to amarok. It’s completely separate. It’s also only 3 python files. Also, AJAX! 🙂

What it does:
You visit the url, where you can then control the player, or search for songs, albums, or artists. After searching, you can then add songs to the current playlist. This can be accessed via any browser in the lan, or, if you’re ports are forwarded correctly, the internet.

Using it:
You start it by running python

You use it by going to http://localhost:7000/.


Download as tar.gz
Download as ZIP


Simple Weather logo There’s a site called SimpleWeather. It prides itself on being simple. Enter a zip code, and you get the weather. Go there again, and it will automatically show you the current weather for your location. It’s so awesome that it can remember your location.

But being too simple has it’s drawbacks, such as being able to be ripped off very quickly and easily, such as in 1 hour.

WeatherSimple 😉

It took me just about an hour to make that in 120 lines of PHP (plus about 35 lines of javascript and 20 of CSS), and I have a site that does everything this SimpleWeather does, and a little more.

Such as not being limited to a zip code, you can enter “Houston”, and be given the option of choosing the exact location. It also does the requests in AJAX, though not very well.

It doesn’t look as pretty, but probably another hour in Photoshop and messing with the CSS, it could be there. Nor does it have a nice domain name associated with it, because I have no plan on launching it as some site.

It also fixes the problem with not showing the High after 3 PM, by a incredibly simple fix, just show the next day’s.

Really, what makes it so easy, is that basically supplies everything you need. It even gives you images and tells you which image to use. Now, it does give you some pretty annoying restrictions, like your logo can overpower the Weather Channel logo, you can’t fuck with their logo, such as the ‘W’ in “Weather” is 1/2 of the space of the word “” from the sides, and a whole set of caching requirements.

Note: I didn’t really follow any of them. I did give attribution though.

Anyways, here’s the source. You need the class SimpleXML, which is the reason it’s hosted on xrho instead of this site, since PHP 5 is required.

Update 04/19:

I’ve added support for permalinks, like from a suggestion on this TechCrunch article about SimpleWeather, which I can’t believe they actually mentioned.


XLMPP is XAMPP, but instead of Apache, it uses lighttpd.

This is from version 1.6.0a of XAMPP and lighttpd is 1.4.13 from here.

This is a very primitive release. There are of course problems with it. If you find something not listed or have a fix for it, please let me know.

1. Run setup-xampp.bat to update configuration.
2. Run lighttpd_start.bat to start lighttpd.
3. Use the .bat files to start or stop the other components.

1. The xampp-start.exe, xampp-stop.exe, xampp-control.exe either don’t work, or don’t work well. If someone wants to fix these, please do so.
2. Perl, I didn’t test, but should work.
3. XAMPP is still shown everywhere instead of XLMPP. Meh.
4. No installer
5. Only for Windows
6. Doesn’t work on Vista, or shouldn’t, since lighttpd doesn’t.
7. Setup changes lighttpd.conf even if you don’t select ‘Refresh XAMPP’.

Changes between XAMPP and XLMPP:
1. lighttpd directory added.
2. lighttpd_start.bat and lighttpd_stop.bat created
3. apache_start.bat and apache_stop.bat edited to start lighty instead
4. install.php edited to edit lighttpd.conf. (lines 57-68)
5. apache directory deleted.

Download XLMPP in ZIP archive (75.6 MB) This was removed for being outdated.
MD5: 362ff2b7366d3457061d3e7d8f2098a2

Download lighttpd + XAMPP->XLMPP files (3.68 MB)
MD5: 382d8ff96c83294dd40879dbcc506663
You need some version of XAMPP. Extract this archive into that folder, overwriting existing files. Run setup_xampp.bat. Start lighttpd by running lighttpd_start.bat. (Note: This lighttpd is probably outdated now)

(XAMPP + lighttpd) -> XLMPP files (10.2 KB)
MD5: 2e39627fe17c612f5880f7b93971e4ce
You need a version of XAMPP and lighttpd. Copy the lighttpd directory into the XAMPP directory. Extract this archive to the XAMPP directory, overwriting existing files. Run setup_xampp.bat. Start lighttpd by running lighttpd_start.bat. This includes the new batch files, new install file, and a new lighttpd.conf.