The paths we choose

Image courtesy of katietower

Recently I had a little freak out about the direction I was going with Walled City. I have been teaching myself to code for awhile now using PHP. I've come to a point where I feel I can have an opinion on it. Which is that there is something uneasy with PHP.

PHP was cobbled together with great haste as it grew from a simple formatting script to a programming language proper. I see great inconsistencies in naming schemes, argument order, shoving everything in the public namespace. I had even refactored the entire codebase to use an MVC patter with a single entry point, yet something still felt off. Mostly though I feel something in my gut. A feeling like my shiny new toy might be counterfeit. Something isn't quite right.

So I had a freak out and questioned whether I should scrap everything I've coded so far and start from scratch. I was going to do it all in Python. I was going to start over. I would scrap a year and a half of self taught coding and application architecture.

The vocal majority say to never rewrite. That to do so would be devastating. In my state of mind I gave it some thought, and I decided it wouldn't be that bad. I don't have revenue yet, users, or that much functionality. My hope was that I could replace what I had in a shorter time than it took to make it in the first place.

But I came to my senses. I have decided to stay the course and continue using PHP as the Walled City development language. There is nothing perfect in this world. Every programming language has it's drawbacks. The fact of the matter is that PHP is working as it should doing the job it should. My uneasiness with the language will be overcome by doing the best damn job I can do with it. The time lost to a rewrite, the functionality lost, isn't worth the benefits at this point.

Continue reading ...

Walled City: Spam

The Walled City forum was recently spammed by a link spammer. It struck me as such a rude thing to do. Here we are inviting the world into our den for conversation and camaraderie. I feel like someone came into my house and put advertising posters on my wall without my permission.

Spamming is far from dead for the simple fact that it works. Spammers make money. They wouldn't be doing it if they didn't.

Spam is a reality. There's no getting around it's existence and the spammers who pollute the web. The best we can do is accept that it's there and take precautions against it.

Putting our heads in the sand and giving up or ignoring spam doesn't help our businesses, it doesn't help us enjoy our lives.

Continue reading ...

Walled City: Database, profiles, design and security

Server farm
Image courtesy of richardmasoner

Walled City has a new release that brings a number of substantial back end changes.

The largest change to the back end is a move to a more modular architecture. We decided to use the MVC style design pattern common in web applications. This will allow us in the future to reduce the chance of breaking interdependent things and to quickly add new features because of code reuse and the modular nature.

Secondly we migrated the database back to MySQL for the forums. We had been using CouchDB for a short bit. The reason for moving back was due to the stability and depth of MySQL. As well as using it for all our other data back ends. CouchDB was nice, but the unstable nature of the still developing project made it unwise to use when changes between versions broke Walled City. CouchDB is also such a specialized data store that using was in fact a form of premature optimization, something I'm trying to stay away from. All this was the deciding factor in using MySQL.

We have made some sublet changes to the layout of Walled City's forums to help give some depth and ease the eye's movement around the page. In addition some changes will help in navigation.

There is a new profile page for each user which will be their username after the domain name. (ie: ) The profile now only lists the Legend's name and how long it's been since they've registered.

To improve security and prevent forum spamming we have added reCaptcha to the registration process. This will make it harder for automated bot attacks. For now we hope this will suffice and there won't be a need to add it to the posting and reply forms themselves.

Lastly a ton of little bugs were fixed that improved usability and security.

Continue reading ...

Walled City: Improved registration

Hot on the heals from the last release, the new version of Walled City.

We have improved the user registration process. First we have added some new field to the Legend name and password. Now when you register you can choose a security question which we will use to help you recover a lost password.

We have also added for validation to check the registration information before it's submitted. This will cut down on errors and the hassle of having to re-type information repeatedly.

Now go register for Walled City and play around.

[ed: This is grossly out of date.]

Continue reading ...