Freeroller madness

Generally, it’s a pretty bad idea to bite the hand that feeds. Alas, I can hold my silence no more. I’m tired of having to wait endless hours to read my own damn blog. I’m tired of people sending me emails telling me that my blog is down, or that they can’t read comments, or that the layout is broken.

For all you people, I’m not the kind of person who gets off on tinkering endlessly with my blog so that I get to feel clever and geeky. In fact, I have no clue how it works. I just picked a style, and enter in my rants on a nice big textarea.

Now, since Roller is so rubbish, I thought it’s worth spending a few seconds investigating why this is. Firstly, it seems that hibernate is to blame. Not because hibernate is rubbish (calm down Gavin), but because Dave Johnson, in his infinite wisdom, thought that he could create hibernate sessions willy-nilly, all the time, for every little thing. Rather overzealous, really.

Now, this isn’t such a crime. After all, almost everyone has at some point committed some crime that slaughtered performance and made you laugh sheepishly and turn a glowing shade of purple as your shame is discovered by someone else. It happens, no big deal. However, in the real world, these things happen during that elusive phase known as stress testing. For those of you unfamiliar with this concept (a surprising majority), I’ll give you a brief explanation. It involves simulating a load of users onto your wonderful little app. There are a myriad of tools desperate to help you accomplish this task, ranging in price and functionality from PureLoad and Mercury’s LoadRunner, to Microsoft’s web testing tool and even shitty little JMeter. There’s no shame in using said tools. You might think you’re too macho to not know intuitively what scales and what doesn’t. However, it’s better to lose a little face up front and swallow the indignity of using a tool to help you out, than to be publicly flogged after your system is in a production environment.

Back to Roller. Admittedly, all I’ve done is spent a few minutes looking at the code. I’m armed with an interesting tidbit, which is that it was originally written as a sample ‘real world’ J2EE app. With apps like this, it’s hardly surprising that J2EE gets such a bad rep. If anything, the roller code is a superb example of how NOT to write a J2EE app.

For example, there is persistence code for Castor, Hibernate, and Prevayler. when will Castor users just give up and stop their Midas-like touch of shite from infecting everything? Why bother trying to shoehorn such disparate persistence engine in? Is the need to gain validation from a bunch of geeks that strong?

The taglibs also provide their own contribution to the crapfest. Wonderful examples of html-in-code. Plenty of css styles hardcoded in. Still, at least the jsp pages are code-free eh?

As if that wasn’t enough, insult is added to injury by slapping Struts onto the whole pile. Good luck trawling through the tens of *Form and *FormEx classes and managing to ever get anything done.

Yes, it’s free. Yes, I use it and am glad for the service. However, neither of those is a reason to paint a rosy picture of its status or dubious claim to fame. Popular it may be, but I hereby relegate the roller code to the Jakarta school of coding. How appropriate it is that freeroller runs on Tomcat!

Oh, big thanks to Aeden for showing me how to make comments show up in a popup. It now takes a mere 3-4 tries to get to see comments, down from the 20-30 it used to.

24 Responses to “Freeroller madness”

  1. Rickard Says:

    Well, unfortunately I couldn’t agree more. I haven’t looked at the code, but lately my Roller experience has been abysmal. The blog is down, like a LOT, and the few times it’s up it’s almost impossible to get in and actually post. Long story short, if I can find a decent alternative, I’m off. I can only take so much free pain.

  2. Daniel Farinha Says:

    I’ve had problems with FreeRoller, enough to install and maintain Roller at home. I still have problems with Roller, but now at least most of the time my blog is up.

    Funny how FreeRoller’s problems started more or less when you started your blog. So you should add the BileBlog to the list of stress testing tools…

  3. TDD Says:

    Hurray for the popup comments! Everytime I clicked on the Comments links for the BileBlog I expected I could go have a coffee and come back to hit Reload since it would have given up in the meantime…

    Still, why do you guys use FreeRoller at all? Do you *need* to run on a Java-enabled environment? Are there features for the authors you don’t find elsewhere?

    I see tons of blogs hosted elsewhere with good enough performance, and most of my friends and I downright installed MovableType on our own hosting, which is quite straightforward and works darn well.

    Just a few suggestions…

  4. Zohar Says:

    The sad thing is that the page hits on even the most read blogs are in the (low) hundreds.

    So the load is not an issue , most of the content can be cached, and yet it’s not holding up.

    As hani was saying, everyone makes mistakes, that’s what profilers are for…

    If the freerollers are reading this as I imagine they would, thanks for the free service, it has realy attracted a great community of bloggers, but a focus on performance and reliability is required before they disappear.

  5. Joseph Ottinger Says:

    You could always use http://www.blog-city.com/ which is another free blog - also runs on Java (BlueDragon is a CFML engine, and runs in a servlet container), and blog-city’s outages are really pretty rare.

  6. Adam Sherman Says:

    What about other servlet-based bloggers?

    I’m getting ready to setup blogging and a wiki for the people running Tritus and need some advice on which to use.

    Thanks,

    A.

  7. Weiqi Gao Says:

    I almost went with Roller for my personal blog after reading an article on OnJava.com.

    However, I had such trouble setting it up, I gave up.

    I’m using Pebble now. Easy to set up, works for me.
    (http://www.simongbrown.com/blog/readme.html)

  8. David Says:

    blojsom … little, yellow, different :)

    http://blojsom.sf.net

  9. Jim Clark Says:

    I second the http://www.blog-city.com recommendation. I tried freeroller.net 6 months ago, but after my login was mysteriously disabled and then my acct. disappeared, I went to blog-city.

    I’m really surprised the users, especially the well-known users, of freeroller.net tolerate the instabililty and the constant downtime.

    Anyway, good luck if you stay with freeroller.

    Jim

  10. Dave Says:

    I use moveable type (yes I pay $5/mo for hosting, but…) and it, instead of using Java, Servlets, JSP, J2EE and every other wrong technology for this type of this, is a PERL CGI that outputs static HTML.

    Think about that. The most commonly done thing with a blog is reading it. So, why hit a database, or set up some retarded caching scheme or create a session?

    When I post, it rebuilds whatever files are necessary. The filesystem is the cache and it capitalizes on existing technologies (e.g. the webserver) to do all it’s work.

    FreeRoller (much like TSS) is an embarassment to Java technology. It is so flaky. I had to reload this page because of “server hangup”.

    Anywa reasonable system should be able to handle 100 hits….

  11. a non emoose Says:

    How apropos!

    The author of roller talks about his performance odyssey:

    http://www.rollerweblogger.org/page/roller/20030728

  12. joeblowgt @ #java Says:

    You know what I want in a blog that I haven’t seen yet? Security. And different levels of it.

    I want a blog for just my family and extended family to see and post to. It should have a login page that is a form of challenge-response that only the family would know. Instead of username/password (which they would all forget) I could load it with personal questions/answers that they would easily know. For example, what was my Mom’s real first name?

    Secondly, I’d like a blog for my personal design idea notebook that only myself and a couple friends/coworkers would have access to. It should be username/password protected and SSL protected.

    I searched about 6 months ago for a blog with these sorts of capabilities but found nothing.

  13. Paul Rivers Says:


    For example, there is persistence code for Castor, Hibernate, and Prevayler. when will Castor users just give up and stop their Midas-like touch of shite from infecting everything? Why bother trying to shoehorn such disparate persistence engine in? Is the need to gain validation from a bunch of geeks that strong?

    hahahaha That’s really funny. Because it’s exactly the opposite - roller started using Castor, then shoehorned in Hibernate. Gotta love sarcasm that you can make valid sarcastic comments about!

  14. MÖrph Says:

    Bah! Freeroller should get off their friggin ' fettish first!

  15. Gregory Pierce Says:

    Yeah, I eventually just had to give up on roller/freeroller and move on to other options. In my desperation to find something better (anything better) I ran across iblog for OSX and haven’t looked back.

  16. Krage Termini Says:

    I found a roller instance on http://www.cheblogs.com/roller/. It is hosted by a nice guy and pretty much unoccupied. As far as I know new bloggers are welcome

  17. fx Says:

    I think freeroller is the coolest piece of blogware out there. It’s like fighting the beast, riding the bull, waltzing a dragon … always up for a surprise, never boring, always evolving, moving, then stopping … ahhh freeroller, I’d never leave you :)

  18. Talip Ozturk Says:

    Although freeroller’s performance was great for last 24 hours(:-), I am too looking for other options and currently evaluating blojsom. looks good so far.

  19. Joe Says:

    I use the blogging service over at http://www.blogeasy.com/ now and it’s all written in Java. I think they use Jboss and Jetty. It works great and it appears to scale a lot better than freeroller.

  20. Dan C. Says:

    “'” (apostrophe intentionally left out here)nuff said

  21. lowem Says:

    The ' has been fixed along with a couple of other issues - see Matt’s test page at http://www.raibledesigns.com/page/test. Just wait for the rollout over here.

  22. lowem Says:

    Oh yeah, see how difficult it is to avoid '? Hah.

  23. Marc Logemann Says:

    I am guilty, i am also using non-java roller software on my hosted server. Like others, i use MoveableType. Its Perl i know, its CGI i know, but it does its job and has tons of features, most of them i dont understand.

    Outputting the blogs dynamicly is really questioning. Reminds me of some CMS systems, where you need tons of resources just for displaying the website. He guys, believe it or not, some things can be solved in a simple way.

  24. Srini Marreddy Says:

    I agree with you, The Roller really sucks in performance and it is shame that the main page executes 32( I didnt remember the exact number but it 32 is minimum) querys to database to get its contents. I tried Roller,Pebble,Blojsom all were written in Java out of them i love Pebble. It is very simple and straight forward.

Leave a Reply