Category Archives: Web

OpenID Authentication Plugin for vBulletin 4

Recently I volunteered to help fix an existing project or develop an OpenID authentication plugin for the vBulletin platform. The group in need was and I would have never known if it hadn’t been for Jorge Castro’s public request for help.

The Story

The existing plugin had been developed specifically for vBulletin 3.x, however, they are (as of writing this) in the process of upgrading their forums to vBulletin 4 especially wanted OpenID to be available when they make the upgrade. That’s where I came in.

Canonical, the company behind Ubuntu, provided me with necessary software licenses for vBulletin 4 and from there it was a lot of late nights attempting to simply get a successful OpenID process to occur.

Working a full time job doesn’t make projects like this as easy as I remember them once being… Nonetheless I was able to successful port the plugin to vB4 where there were several significant differences that took me some time to address and to be honest, the previous code was a bit more complicated to follow than it should have been.

One major change from vB3 to vB4 was the way templates work. I’d never worked with vBulletin before, but I’ve had an extensive amount of experience with phpBB and bbPress in the past. After getting over the frustration of how vBulletin prefers to store ALL template information (in the database rather than pull from template files) I was ready to begin the repair process.

Continue reading OpenID Authentication Plugin for vBulletin 4

Debugging PHP in Ubuntu using Eclipse

This guide walks you through the necessary steps to configure the Eclipse IDE for PHP debugging. This can be very handy, especially when you’re trying to resolve an issue in a complex PHP application or plug-in.

Things you’ll need

  • Eclipse
  • Eclipse PHP Development Tools (PDT)
  • Xdebug
This article assumes that you are configuring Eclipse and Xdebug for development on a localhost web server. If you are not, be sure to make appropriate adjustments to accommodation your needs. Likely the only changes you will need to make will be differences in connecting to your server verses localhost.

Quick Overview

For those that are unaware, Eclipse is a very popular IDE for developing in Java. However, Eclipse is much more powerful than that and can in fact easily be used for developing in many other languages including PHP.

Xdebug is a brilliant debugging extension designed for use with PHP. Once configured, Xdebug will allow you to remotely connect to your web server… or in my case connect to my development localhost web server. Rather than using crude echo and logging techniques to debug your PHP code, Xdebug allows you to literally step through and inspect values and function flows in real-time.

Continue reading Debugging PHP in Ubuntu using Eclipse

Making CSS UL Menu’s Browser-Consistent

If you’ve ever made a web site and wanted it to look consistent from one browser to the next, then you’re well away of the difficulties that are involved. Fixing these sorts of styling issues can be a major annoyance, however, I like to hunt down issues on my own pages from time to time and stand up to the challenge.

One issue that I can across today was dealing with horizontal menu positioning using unordered lists (<UL>) and some positioning. The positioning wasn’t consistent between browsers or even operating systems.

Continue reading Making CSS UL Menu’s Browser-Consistent

Akismet + phpBB3 = Clean Forums

Update: deprecated by phpBB 3.1+

I’ve dealt with spam registrations and spam posts for years now in an online forum that I host. Its a burden on the users and a burden on (especially) the owner. No one wants to use a forum that can’t seem to control spam and no one wants to have a daily routine of manually purging hundreds of posts and users either! That’s where Akismet comes into play. 😉

I’ve used it in combination with WordPress from the beginning and to-date it has blocked nearly 500k spam comments! I enjoy working with web stuff, but I enjoy hacking it together even more.. so I’ve put together a “mod” package that will harness the power of Akismet and its super easy to install! While it won’t take care of spam registrations (you’ll need something else for that), it should be able to dramatically curb spam posts!

What you need

  • A web server running at least PHP 5 with phpBB 3 installed (I do not support phpBB2 or lower).
  • An Akismet API Key (* Free for personal use, the donation bar DOES drop to $0, though donate if you wish).
  • My phpBB + Akismet Installation package
  • FTP Access to your phpBB server
  • 15-20 minutes for setup time

Continue reading Akismet + phpBB3 = Clean Forums

How to setup and use Tor Anonymity in Ubuntu

Just before the new year, I saw a news article by Wired that highlighted flaws found in the Tor Anonymity Network. I had never used Tor, but I knew what it was, the benefits it could provide, and a bit about how it worked.

With a little free time on my hands I decided to set it up and see what all the fuss was about. At the time I was installing the Tor components in OS X, but I was curious about installing it in Ubuntu and the resources and instructions that I came across were not as straight forward as they could have been. That is where this post comes it, to provide a simple step by step guide with no fuss.

What is Tor?

This is how Wikipedia explains Tor:

Tor is a system intended to enable online anonymity, composed of client software and a network of servers which can hide information about users’ locations and other factors which might identify them. Use of this system makes it more difficult to trace internet traffic to the user, including visits to Web sites, online posts, instant messages, and other communication forms. It is intended to protect users’ personal freedom, privacy, and ability to conduct confidential business, by keeping their internet activities from being monitored.

What does it look like?

Tor itself doesn’t have a graphical user interface (GUI), but there is an application known as Vidalia which provides a nice and simple user interface for controlling all of your Tor needs.

When installing Tor in Ubuntu, you will need to install 3 components: Tor, Polipo, and Vidalia. Tor and Vidalia should now be obvious to you (since I’ve explained that Vidalia provides a GUI to Tor).

Again, according to Wikipedia here is what Polipo is:

Polipo is a fast and lightweight, forwarding and caching proxy server, SOCKS proxy and computer software daemon.

Install Tor in Ubuntu

This is really quite simple and I could easily provide a simple bash script to automate all of this for you, but that would mean that I would have to maintain it and that you wouldn’t learn anything. 😉

For simplicity, I will write this guide assuming you are using Ubuntu 10.10, aka Maverick. If you’re using a different version, make sure you change the necessary bits below.

  1. Open “Software Sources,” select the “Other Software” tab, click the “Add” button at the bottom and paste the following:

    deb maverick main

    Click “Add Source,” then click Close. When it asks if you want to Reload, click yes and ignore any errors for now.

  2. Open a Terminal and add the Tor Repository keys and update Apt:

    gpg –keyserver –recv 886DDD89
    gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add –
    sudo apt-get update

  3. Install Tor, Polipo, and Vidalia:

    sudo apt-get install tor tor-geoipdb polipo vidalia -y

    When prompted during the installation of Vidalia, select the option to permanently replace (or however it is worded).

  4. Download a pre-made config file for Polipo:

    sudo mv /etc/polipo/config /etc/polipo/config.bak
    sudo mv polipo.conf /etc/polipo/config

  5. Now Stop and Restart both Tor and Polipo for safe measure:

    sudo /etc/init.d/tor stop
    sudo /etc/init.d/polipo stop
    sudo /etc/init.d/polipo start

    Open the application Vidalia when you would like to connect to the Tor network. If you want it on by default, you can always set Vidalia to autostart with your computer.

  6. All thats left is to configure your Applications to use the Tor proxies! If you don’t adjust the network settings of your applications to use the Tor proxy settings then you’re not using Tor at all. You can confirm that Tor is indeed working by visiting the Tor detector page.

If you run into issues for any reason, check back through the steps listed above. If that still doesn’t fix them, you might check the Community Ubuntu Documentation on Tor page or the official Tor for Linux/BSD/Unix page.

Configuring applications to use the Tor proxies

There are 2 types of configurations for Tor:

  1. HTTP or HTTPS – Typically used for web browsers such as Opera, Firefox, Safari, Google Chrome, etc.

    Port: 8118

  2. Sockets – Typcially used for instant messaging applications such as Trillian, Digsby, MSN, AOL, Empathy, Pidgin, etc.

    Port: 9050

Nearly any application that allows you to adjust network settings by using proxies can make use of the Tor Anonymity Network. Configuring your application of choice is a matter of selection to use HTTP or Sockets.

If you’re unsure, use trial and error. 😉

A great note that I came across on the Community Ubuntu Documentation page for Tor that I think everyone should read carefully before using Tor is as follows:

What’s the use of having Tor and Privoxy setup without enabling your new anonymous proxy in your common web applications? At this time Tor only supports HTTP and HTTPS traffic, but still recommends using Tor in your browser’s proxy settings for all protocols as a hidden image link can give away your IP address if linked to an image on an FTP site.


Hopefully by this point you’ve successfully configured Tor for all of your anonymity needs. Will Tor works great, it only works great if you’ve configured it correctly.

Some Tor connections may be slower than others. If you’re experiencing a connection that is simply too slow for your needs or if you need a new ip address so you can get that file from RapidShare without having to wait for an hour, simply open Vidalia Control Panel and click “Use a New Identity.”

Remember that Tor can be used for Windows and Mac, and is more straightforward to install for them as well.

While there have been a few flaws exposed, as mentioned before, I would tend to think the risk of being identified over Tor is very low since the attacks would have to occur on the same network that you’re connected to. I typically only use Tor at public internet access points (which is where these attacks would be most likely to occur), but it can be very handy in many situations and will likely continue to be on the list of my apps to install for a long long time. Site Makeover via UserJS

A while back there was a neat little styling script being passed around that tuned the Ubuntu Forums to match the new official designs a little more closely. While its not official and no where near a perfect solution, it does dramatically improve the appearance of the forums overall.



To use this, all you have to do is download and install the Stylesheet or UserJS file and configure it in your browser! I’m using the UserJS version, but you may prefer the other. Either way, enjoy!

Get Steam Specials via RSS Feed

This is just a little hack I’ve used so I can subscribe to the “Specials” that are periodically released and published on the Steam website.

If you’re interested in letting your Feed client simplify your life by bringing the Steam updates directly to you then I suggest you subscribe to the feed that I’ve setup (via a great free service call Feed For Free).

The Steam News – Specials feed:

The Steam News – Announcements feed:

When I searched for a feed for these Specials I came across one forum post after another asking the same thing. We all know how annoying that can be, so to remedy the situation I decided to post a solution myself. 😉

As you can see below, these pages don’t have feeds of their own, but the very awesome Feed For Free site will let you pull the updates straight into your feed reader with ease. See my Google Reader pictured below.

Happy Halloween

Hope everyone had a great Halloween this year! If you missed visiting my blog, then you also missed my Halloween theme!

Thats about as far as my Halloween decorations went (other than dressing up as a pirate) this year, but I saw a lot of great looking jack-o’-lanterns this year and some really great costumes at Moogfest! Had a blast!

Here’s a quick video of this random guy dancing during Massive Attack. 😀

We got to see MGMT, Dan Deacon, Girl Talk, Thievery Corporation, Massive Attack, Shiongle, Disco Biscuits and a few others. Overall, it was a pretty amazing Halloween weekend! If only they were all that way…

MacBook Pro

In with the new, out with the old. I got my new MacBook Pro 13″ around noon today, but had to wait until noon to start playing around on it.

Here are my phones blurring pictures of the old HP dv4000 (left) and the new MacBook Pro (right).

Notice the HP isn’t running. Thats because it no longer even boots thanks to some internal hardware problems.

This time around I decided that I wanted a smaller, more portable laptop. Since I’ve had plenty of Windows computers and have been running Ubuntu Linux for a few years, I decided it was about time for me to get a Mac.

So far I’ve gotten the basics installed and setup thanks to suggestions from my brother and friends.

  • Opera
  • Adium
  • Skype
  • Scrobbler
  • Tweetie
  • Dropbox
  • Coda
  • QuickSynergy
  • Xcode

I’m still testing out Xcode to see how I like it, but my first impression of the 3gb download wasn’t too positive. If it works well then great, but I was hoping to find a good medium between size and features.

I’ve also tweaked my MacBook’s name so it appears a little more customized on the network (using this guide). Now it appears as “kyBook Pro.” 😀

Have some suggested apps or tips for me, or something better than what I’ve listed above? I’d love to hear what you like to install on your Mac!

Eliminate Opera’s Address Bar Like IE9

If you’re a fan of minimizing toolbar space and maximizing browser space, you might be interested in this short guide that explains how to make your Opera look just a little more like this (arrangement-wise).

While this isn’t a perfect solution, it will show you how you can customize your Opera browser to be arranged a tad bit more like the upcoming Internet Explorer 9 web browser. While you’re at it, you might consider installing an Internet Explorer themed skin as well. I’m only kidding. 😛

Step 1

Hide the address bar. To do this, you simply need to right click on the address bar and select “Customize -> Appearance..” from the menu.

In the window that appears, uncheck Address Bar and leave the Appearance window open for the next step.

Step 2

Add the address box and preferred navigation buttons. To do this, using the Appearance window that you opened in Step 1, click on the Buttons tab and make sure that the category item “Browser” is selected.

In this window you will find back, forward, refresh, log in and home buttons (as well as several others). Click on a button that you want to add such as the back/forward combo button and drag it up to the right of the Opera menu button until you see arrows to drop it.

If you dropped the buttons just right then they should now be resting to the right of the Opera menu button. If they didn’t appear, try again or is they are placed incorrectly you can move them around or remove them via right clicking the button and selecting “Customize -> Remove From Toolbar”.

Step 3

Now the last thing you probably want to add is the address box. You can find this in the buttons category labeled “Browser view”. Drag and drop this widget where you want it as you did with the buttons before.

Feel free to experiment with other buttons and widgets. After you’ve finished customizing your browser’s layout, click OK to close the Appearance window. You are not finished!


As I said before, this isn’t a perfect solution and there are several problems present that I encountered while rearranging various parts of the browser.

The biggest problem I have with this at the moment is the lack of ability to control the width of the address box. The address box drop down is also very narrow which makes it more difficult to use. than before.

Most buttons, when dropped into this toolbar are sized much larger than the back/forward combo button which makes it difficult to create a clean interface. This is the reason you only see this combo button and the address box in the screenshot above. 😉

Its great to see that Opera is still the king of browser layout customizations, but there are still problems that need to be fixed before this can be used as a true method of mimicking IE9.

If you’ve got tips, post ’em in the comments! I love getting feedback and suggestions!

Solaris International/Deep Blue Radio Show Podcast

A few years ago, while I was up late working and listening to what was then known as Virgin Radio at the time (and now as Absolute Radio), I happened to catch an episode of the “Deep Blue Radio Show.” Since then, it appears to have been renamed to “Solaris International.”

If you’re unfamiliar with this show, its simply a two hour mix of electronica and trance tunes by Solaris International with Solarstone. You can listen to their previous airings straight from their website, but I’ve finally come across their podcast in iTunes and found that it works perfectly in Linux as well with Rhythmbox!

Their site doesn’t seem to be as intuitive as it could be, which is why it took me so long to stumble across their podcast link. If you’re interested in subscribing, the link is posted immediately below. Copy and past it into your media player. If you’re unsure how, take a look at this excellent guide from

Podcast Link to copy and paste:

At the moment, there are over 220 previous podcast episodes available to download, so if you’ve got the time then they’ve got the tunes. 😉

I’m usually not a fan of podcasts, but I have a select few that I frequent. This will easily become my favorite.

If you’re not a fan of electronica or trance music then you can kindly disregard this post or use this as a reminder to search for podcasts featuring music you yourself may enjoy! 😀

If you have podcast recommendations, I would love to hear about them in the comments!