RiveScript.com Makeover

Noah Petherbridge
Posted by Noah Petherbridge on Sunday, January 25 2015 @ 01:11:03 PM

I've just spent pretty much the whole day redoing the website for RiveScript.com, and I think it looks pretty nice.


RiveScript.com was the final website on my server that was still running on my legacy PerlSiikir CMS, and it's been on my to-do list for a while to get it migrated over to my new Python CMS, Rophako like what Kirsle.net is currently running on. The old Perl code was clunky and ugly and memory-leaky, and now I'll be at ease if I ever need to migrate to a new web server, as my Python web apps are extremely quick to get up-and-running, whereas it was an hours-long ordeal to get PerlSiikir to run.

So, the bulk of the work actually needed for RiveScript.com was purely front-end. I revamped the whole web design to use Twitter Bootstrap and make it look all hip and edgy like how all the other small software project websites are these days.

Besides the programming language on the back-end, I had other reasons for why I wanted to simplify RiveScript.com: I don't have the motivation or energy to do as much with that site as I did previously.

I used to run a YaBB Forum on RiveScript.com, but it wasn't extremely active and it was getting hit by too many spam bots, so several months ago I shut that down and linked to the RiveScript forum at Chatbots.org.

More recently I had programmed a chatbot hosting service that was on RiveScript.com, but that wasn't very popular either. I know nobody was using it because it had been broken for months and I hadn't heard any complaints. ;) A couple months ago I sunsetted that feature by turning off new site registrations and removing some references to the feature. And now that's officially gone! If you actually had a bot hosted there, contact me and I can get you your bot's reply files back.

So, the new site is simple and minimalistic and is just about the RiveScript language itself. It was an ordeal rewriting all of the pages from scratch (well, most of them) but now that it's done, the site should be very low-maintenance for me.

One of the most fun parts of it was that I ported over my "Try RiveScript Online" page to use JavaScript and run in the browser, whereas the old version had a Perl back-end (because a JavaScript version of RiveScript didn't exist at the time), so that's even one less thing for me to maintain and make sure it doesn't break. :)

And, the front-end pages for the new site are also open source, FWIW.


[ Blog ]


There are 2 comments on this page.

Posted on Thursday, February 05 2015 @ 10:56:25 PM by Al.

The old Perl code was clunky and ugly and memory-leaky, and now I'll be at ease if I ever need to migrate to a new web server, as my Python web apps are extremely quick to get up-and-running, whereas it was an hours-long ordeal to get PerlSiikir to run.

I'd like to know what your hours-long ordeal with PerlSiiker entailed. Deploying my Perls apps onto a new server is simple: set up the database, install any 3rd party packages / libraries, push the git repository, install the Perl dependencies using cpanm, and then rsync the source code into the production directory. Then I run the app and tell nginx where to find it.

Posted on Friday, February 06 2015 @ 10:54:10 AM by Noah Petherbridge.

It was only a long ordeal the first time setting up a new server from scratch, because:

  • I wanted to use modern Perl, and Debian was still on version 5.10 which meant I had to build my own Perl with perlbrew (~30-45 minutes to build). Now Debian has 5.14 but if I want 5.18 or 5.20 (which I tend to), I still need perlbrew. The situation is worse with CentOS (they're still on 5.10 for CentOS 6, iirc, and Cent 5 had 5.8 still--yuck)
  • Then install dependencies, most of which are pretty simple (doesn't take much time at all)
  • But Image::Magick had to be built from source code (C source code) because just having the system ImageMagick wouldn't work for installing the Perl module. So I'd build ImageMagick and then build its PerlMagick that shipped with the distribution (the CPAN PerlMagick wouldn't build with my custom built ImageMagick). ImageMagick takes a good 20 mins to build from source as well.
  • And Template::Toolkit would need to be manually installed (perl Makefile.PL; make; make install) because its test suite would fail and cpanm would refuse to install it.

All in all it was a lot of manual labor and took a minimum of one hour of babysitting the terminal and building stuff to get a brand new server up and running. I've outlined all the steps here.

Once up, deploying new changes was a simple matter of SSHing in and doing git pull on the checked out sources.

Compare all this to Python: brand new Debian server, and:

  1. Install virtualenv
  2. Git clone, mkvirtualenv, pip install -r requirements.txt (whole process ~5 minutes)
  3. Edit Apache config
  4. Done.

Add a Comment

Your name:
Your Email:
Comments can be formatted with Markdown, and you can use
emoticons in your comment.

If you can see this, don't touch the following fields.