Giving PHPBB Another chance

I have been using Plone for my Dataface web site for the past couple of years. Finally, the slow performance, resource heaviness, and lack of a decent forum product forced me to move the site out of Plone and into PHP. This move was inevitable since Dataface itself is a PHP framework so it would only make sense to eventually host the site using Dataface.

When I first set up the site I wasn’t sure how it would be used mostly. I knew I would need a forum for support but I didn’t realize just how important the forum would be. Over 80 percent of traffic was directed to the forum, and Plone’s forum (Ploneboard) was barely up to the challenge as it was lacking quite a few standard forum features (like email notifications), and the community didn’t seem to be too interested in pushing the development along (there is no money in developing message forums).

With the new site, I had a few choices for the forum:
1. I could build my own using Dataface. This would be pretty easy to do, but I figured the time would be better spent on other things especially if I could be a pre-built forum with all the features ready to go.

2. I could use one of the 2 main commercial PHP bulletin board products (VBulletin, and Invision Power Board). These are definitely full featured, and the prices are pretty good, but I kind of wanted to stay open source through and through for this open source project.

3. I could use PHPBB.

PHPBB is the most well known open source PHP bulletin board systems and it has been around for a while. I have used it for web sites in the past, but have had bad experiences, as every one of my past PHPBB sites has been hacked repeatedly. I have heard that it has improved, however, and that the new version is much more cleanly designed. So I am reluctantly giving it another shot.

The Good …

Installation
PHPBB installed without a hitch. I was able to write a simple PHP script to import all of my old Ploneboard posts into PHPBB so that I wouldn’t have to lose the wealth of knowledge.
Performance
It is much faster than Plone (it has less to do), and the refined features (e.g. email notifications) that it has built up over the years should help the community to grow faster and stay stronger. Looking forward to it.

The Bad …

Spam
Within 8 hours of installing PHPBB, the board was being spammed. I found out that Guest posting is enabled by default, so I figured that one was my fault. I turned off guest posting. Within mere hours the board was receiving more spam. Even with PHPBB’s captcha text spammers seem to be able to create accounts and spam the board. This is a symptom of being popular, so spammers have spent lots of time writing bots specifically for this type of board.

There are MODs you can get to try to prevent spam even more, but I think I will rig up my own solutions so that the board can’t be spammed by standard PHPBB methods (they will at least have to come up with some custom spam stragegies for my site if they want to spam me).

Can’t rebulit search index
Because I imported all of my old posts directly into the database, PHPBB didn’t have a chance to index them for searching. So the search doesn’t work. The problem is that PHPBB doesn’t come with an administrator function to rebuild the search index. You have to install a MOD for this. IMHO such an integral part of a forum should be included as part of the main distribution.

The Ugly …

No Modules, only Modifications
One of the exciting things about using a product with a large community is that it has lots of add-ons available in the form of modules. PHPBB has an entire database of MODs that can be installed. The trouble is that in PHPBB, a MOD is a Modification, and not a Module. I.e. Installing a MOD entails following instructions to actually change the templates or source code of PHPBB. From a developer’s perspective this isn’t too good as it doesn’t take long before your forum is unmanageable and un-upgradeable.

I figured that such a large project surely would have developed a module system by now (so that you can install and uninstall modules without changing the main application. I figured wrong.

Summary

So far it doesn’t seem too bad. I’ll have to make a few customizations to shore up security and add a few features that I want, but all-in-all I’m pretty happy with what I see so far with PHPBB.

Plone: where our paths diverge

So here it is. The time has come for my path and Plone’s to diverge. I’m sure we’ll meet again sometime in the future as she has too much potential to shun completely. She showed up at my door adorned with diamonds, so who wouldn’t let her in. She held so much promise. There were times when I fantasized about handing Plone all of my responsibilities, but these dreams were dashed time and time again by tantrums, fights, and utter refusal to do the work at hand. Now that I have handed her her bag and coat, show shows glimmers, once again, of the grace and beauty that convinced me to let her in in the first place. I would reconsider the eviction notice except for the fact that she uses far too many resources and works far too slowly for an operation of my size.

To Plone:
Thank you for making it so easy for me to extract all of your data from you. You are being a little sticky with your passwords, but who wouldn’t be. (No worries… I have sent in a request to the powers that be to tell me how to extract those too… so watch out .. I will get them.

You may be wondering how I will be replacing someone with such a broad range of duties like yourself. I haven’t decided completely. You were primarily used for posting tutorials, news, and hosting a forum, so I will likely just replace you with PHPBB and some homegrown PHP CMS (or Drupal). In any case, whatever I use to replace you will use 50 times less memory and run 50 times faster. That’s really all it comes down to. I didn’t like using you, so how can I expect the other community members to like using you. One day I’ll check on you again to see if your performance has improved at all… but until then, I won’t be using you anymore if I can help it.

P.S.: I am still using you for some sites, but won’t be setting up any new sites with you for quite some time.

The Problem with Public Sector Unions

Unions were originally created to protect workers from being exploited by unscrupulous employers and improve working conditions. They work by allowing the workers to withhold labour en masse if they feel that they are being treated unfairly. This works because every day that a business’ employees are off the job, it costs the business money. Long strikes could cause the business to go under so there is tremendous pressure on the employer to settle a strike quickly.

This, perhaps, is the reason why many public sector strikes have been prolonged and largely unsuccessful. Every day that the workers are off the job, the employer saves money. Not alot of pressure to settle on the employer side. On the workiers’ side, there is still pressure in the form of lost wages. The only possible pressure that the employer might feel in a public sector strike comes from its constituents. And this is where a strike essentially breaks down into a public relations campaign. The employer tries to convince the public that they are being reasonable so as to paint the union greedy, while the union tries to convince the public that they deserve their raises.

Unfortunately in a world where union workers are perceived by many as being overpaid, the battle of public opinion sways in the direction of the employer. Hence the employer has NO urgency to settle, and we end up with long strikes where the union cannot win.

So where does this leave the working man in the 21st century? Is he doomed to descend to minimum wage? Of course not. We will certainly see a shift in the distribution of jobs towards the private sector, but this is not all bad. In fact this is where workers should look for help from unions, and where the union will truly have teeth. One of key points of contention in recent years has been in the employers’ rights to contract out services to the private sector. The unions see this as a threat, and indeed any changes are sure to disrupt the steady flow of things for some workers, but in the long run the unions will still have a prominent role in ensuring fair wages for the working man in the private sector.

Brother 440CN Exemplifies problems with Inkjet printers

I have never been one to enjoy my printing experiences. I print as little as possible (preferring to use electronic documents) and when I do print I often run into problems. It doesn’t matter which operating system I’m working with, printing problems are sure to follow. Today, my Brother 440CN all in one colour printer embarrassed me as I promised that I would be able to print off a friend’s resume before he went to a job interview.

He arrived, I printed off a test document from firefox to make sure it was still working. Because I hadn’t used it in a while it spent a good 5 minutes cleaning itself, then it printed off the test page OK. Next came the time to print the resume. All of a sudden the printer complains the the Cyan cartridge is nearly empty. I thought no problem. Since this is the first warning I have had about this, that won’t be a problem. In addition the resume is just black and white so a cyan cartridge is not needed.
I though wrong.

The printer refused to do anything. Even when I attempt to change the settings to black and white only in the print dialog, the printer still refused to do anything.
There is a little disclaimer in the bottom of the print dialog saying that the printer will shut down if one or more of the cartridges is empty. Disclaimer is accurate… but please!!!

All I can say is that I don’t have time to deal with a printer that may or may not work on any given Sunday – so this one’s going to the heap and I’m going shopping for a laser printer. At least you get some warning when a laser printer it going to run out of toner.

I cannot stress enough how important these lack of features are on the Brother 440CN. If you are looking for a printer, I would recommend you choose a laser printer. Failing that, make sure that the ink jet will still perform with low ink in one or more of the cartridges empty.

Compare the Fuel Economy Ratings of Cars on Craigslist

I was recently in the market for a new car, and I found myself constantly switching back and forth between Craigslist and fueleconomy.gov because I wasnted to see what the gas mileage was like on the cars that were for sale. Suffice to say, this was tedious. So I developed a tool that allows me to see both the Craigslist ads and the fuel economy ratings of the advertised cars in one place. The tool is available for free at http://fueleconomy.weblite.ca.

See the press release here.

Unique RSS Feed for Digg and Reddit

I discovered Digg and Reddit a few months ago and was immediately impressed by the quality and relevance of content contained therein. So I subscribed to their RSS feeds so that I could keep up to date with the latest internet news in my RSS reader.

For those unfamiliar with Digg and Reddit, they are web sites that allow users to rate other web sites and articles that are found on the internet. Users essentially vote for web sites and articles that they like and popular sites show up in the top 100 list.

This presents a problem for RSS feeds, however, since every time a ranking of an article is changed (e.g. it is ranked 21 instead of 22) the timestamp is updated, so it appears at the top of the RSS feed again. Needless to say it is quite annoying to finding 30 or 40 Digg and Reddit articles at the top of my news list every time I refresh my subscriptions.

How should it work?

Preferably when an article breaks into the top 25 or top 50, it will show up in the RSS feed – and will never show up again. Even if it rises to the top. I want my news feed to contain news – not “olds”.

Solution

I created a feed filter that takes RSS feeds and filters out duplicates. Even if the timestamp has changed, an item that has been loaded once, will never be loaded again.
You can find the tool at http://feedfilter.weblite.ca.

Now I can subscribe to Digg and Reddit without being bombarded by old news every time I refresh.