merb

ircwall is back!

    So, ladies and gents, if you'll recall I had to take ircwall down due to fights with my previous webhost. Well, I now finally have a VPS from linode, and ircwall is finally up and running again. Since I have control over the server now, ircwall actually runs in two daemonized mongrel instances, and is launched upon system reboot thanks to cron. lighttpd serves up static files for the application, and proxies requests that aren't for static files off to one of the mongrel servers (it does load balancing this way, as well).

So don't expect ircwall to have any troubles any time soon ;)

IRSea Now Available

    As I stated in my previous post, I am making the source code behind ircwall available. During the past two days, I've rewritten a decent chunk to remove any ircwall specifics from the code, so all you should see is 'irsea' and nothing involving my trademarks. The code is available under a BSD license, and you are free to use it, although keep in mind I still haven't finished writing the default theme for it yet. I encourage everyone who wants to either run their own quote database, or just contribute to the features of ircwall to fork the repository and start hacking away.

You can find irsea here.

Safe Salt Generation with Merb (and a litle bit about irsea)

    So, this is a bit of a two-in-one here, so before I get started I have an announcement to make, ircwall's source code will soon be available for download. The name for the codebase will become irsea, and it will be freely available under the BSD license, although my SASS/HAML template for ircwall will not ;)

    Now, while refactoring some of irsea to make it suitable for easy installation, I needed a way to generate a secure salt for the application automatically, so you didn't have to make or generate your own during the install process. This is because merb by default stores the session in a cookie like a good little web framework, but it needs a secure salt to hash the cookie against. So, I present you with SecureSession.

Check Your Logic

    See, there's a reason I don't enable things on production sites without checking them, because people make silly mistakes, see the following code:

DataMapper and Hand Coded SQL

    So, a lot of people recently have been saying the random quotes feature on ircwall was broken, and it was, it was throwing a NoMethodError for quote.network.name for some reason. "Why would it be doing this," I ask, "it gets the network name properly elsewhere." Well, it turns out that DataMapper is kind of silly, it never seems to organize the list of properties the same when you switch between database adapters, datamapper versions or a lot of silly things.