Blogging Roller

Dave Johnson on open web technologies, social software and software development


Return of the Wiki asshole.



A couple of weeks ago, I opened up the RollerWiki again. I quietly removed the security and hoped for the best. A number of people have been making small additions, corrections, and other good things but tonight I found that the whole front page was replaced with this:

This Website Has Been Hacked By KingSerb

KingSerb@linuxmail.org - synx_10@hotmail.com
"Check Mate, Admin !"

GreeTz: SCriptX, GUL7, OffSet, JuXta, El Matador.

Pretty funny. This guy thinks editing a wiki page qualifies as hacking a website? What an idiot. According to the revision history the attacker's IP is 207.44.154.35.

Tags: General

Feature complete.

At my day job, our product is finally approaching feature complete. Monday is the day we go to QA, so I'm working hard now to avoid working hard this weekend. The product and the new job in general has been a lot of fun. I've been able to learn a lot more about Struts, Struts Validator, Struts Tiles, XDoclet, JavaScript, JSP, and code generation.

The amount of code generation going on in our build process is just amazing. We start with a database schema definition DDL file that is marked up with funky XDoclet-style comments. From that we generate all of our business obects, JDBC code to persist these objects, auditing code, workflow code, Struts forms, and the english version of our I18N properties file. Our internally developed and Scheme-based code generator generates something like 90,000 lines of code based on a 900 line DDL file in about 3 seconds. Next, we run XDoclet over our code based to generate our Struts config file, Struts validator file, and our TLD. XDoclet is the dog of the build process; it takes about 10 seconds to generate a couple of hundred lines of code.

I don't know how we would have written this product in the time allowed if we had not used the code generation approach. Everybody is amazed at the progress and the agility we have in adapting to data model changes. The only problem raised by the code generation is customization. How can our consultants in the field customize our system when most of the code is "GENERATED CODE - DO NOT MODIFY"? The answer is that we won't consultants customize the code. Instead we'll try to make everything customer configurable through the product UI. That is our next challenge.

Tags: Java

FIRST POST!

The new bloggers are rolling in over at JRoller. It is amazing and a little scary. Some of the bloggers do not seem to have any idea what a blog is. I'm sure this will result in a lot of ghost blogs, but I'm also sure that we'll see some great new blogs popping up.

Tags: Roller

It's official.

Rick Ross: it is my great pleasure to announce that we have formally adopted the Java-powered and Java-centric blogging system formerly known as "FreeRoller.net" and begun the process of re-launching it as "JRoller.com."
Thanks to Rick Ross, Matthew Schmitt, Anthony Eden, and the Roller contributors for making this happen.
Tags: Roller

Progress on Roller 0.9.8.1.

I've been making progress on a series of bug fixes for Roller 0.9.8. You can check the progress on Roller's JIRA issue tracker.

I just deployed Roller 0.9.8.1-dev to this site to test the new RSS 2.0 template. The old template was based on a very old Mark Pilgrim template and it used a bunch of Dublin Core elements like <dc:date> and others - it was pretty funky. If you complained that all posts appear to be new posts on JRoller, this site, and other Roller-based blogs then please give my new feed a try. Does this change fix the problem?

There are still a couple of issues to be resolved, so I'm not quite ready to deploy anything to JRoller.

Tags: Roller

Blojsom vs. Roller.

I just received an email that asked the question "could you please tell me the differences between Blojsom and Roller Weblogger? Which one is better or what could you tell me about these both projects?" Below is my reply.

I think the main advantages that Roller has over Blojsom are full multi-user support and a web-based UI for editing blogs, managing bookmarks, configuring blogs/themes, and for configuring the system. Blojsom doesn't have an extensive web-based UI like Roller's. The main disadvantage of Roller is that it requires a database and this requirement makes installation and maintenance a little more difficult. If you are going to build a community site like ruckyou.com or jroller.com, then Roller seems like the obvious choice. For comparison: the Roller Installation Guide and User Guide.

The main advantages that Blogsom has over Roller are that it is small, easy to setup, has an extensible architecture with excellent support for plugins. One example: with Roller, your page templates must use Velocity macros. With Blojsom, there are a number of plugin options for page templates. If you are going to run a single user blog, you don't want the hassles of setting up a database, and you are happy without a web UI for managing your blog, then Blojsom seems like the obvious choice. For comparison: the Blojsom Installation/User Guide

If you looking for a good blogging tool, you might want to widen your search. Is there a reason that you are looking only at Java-based blogging software? If you are a Java programmer and you want to be able to customize your blogging software or contribute to it's development then Roller or Blojsom are good choices. If you are techically saavy, you want to setup you own bogging software on your ISP's site, and you don't care what language was used to write the blogging software, then expand your search to include other choices like MovableType. If you don't want the hassles of setting up your own blogging software then look at JRoller, Blogger, Typepad, or one of the other blogging services.

Tags: Roller

Fighting weblog comment spam.

Jeremy Zawodny discusses the options for fighting weblog comment spam. Right now, my only weapon is seek and destroy enabled by select w.title,w.pubtime from comment as c,weblogentry as w where c.entryid=w.id and c.content like '%viagra%'.

Tags: Blogging

Hibernate and JDO.

Werner Ramaeker speculates that Hibernate will become JDO 2.0 compliant.

Tags: Java

Obligated to serve.

OK, we don't know what the JRoller terms of service are going to be, but now is definitely the time to take a stand against the giant freedom hating global JavaLobby comglomerate that has taken over FreeRoller. As Chiara has pointed out, JavaLobby is obligated to provide free weblogs, free bandwidth, free file storage, free system adminstration services, and free support to anybody and everbody who wants a weblog - all without charging a dime to anybody, placing any advertisements, or restricting anybody elses right to place advertisements. If JavaLobby somehow weasels out of this obligation, then Anthony Eden must do it. He should be put under house arrest and forced to again serve the community that he started. If Anthony escapes house arrest, then the Roller authors should be put into bondage, have their assets siezed, and be forced to comply with Chiara's every wish. As I have said before: if, at this point, you do not know that I am kidding, then you are an idiot.

Tags: Roller

1 oz. beers?

Those are the largest "1 oz." beers I've even seen. Cheers, Matt.
Tags: General

Loopy.

Joe Gregorio: room-mate from hell.
Tags: General

JRoller.com.

Some have noticed that FreeRoller has become JRoller and some have started to wonder just what in the blue blazes is going on. Fear not Java bloggers, good things are happening. The JavaLobby will probably be making a more formal announcement at some point, but now that the cat is out of the bag, I'll give you my take on this story.

Now that the Roller software that drives the site has proven itself, JavaLobby is stepping in to support, administer, and nurture the JRoller community. JavaLobby is putting in place scheduled backups, issue tracking (via everybody's favorite: JIRA), and customizations to tie JRoller into the JavaLobby community. I'm going to take an active role, along side other JavaLobby volunteers, in the support of JRoller.

Here are a couple of anticipated FAQs:

Why is the JavaLobby doing this? Blogging fits in perfectly with the JavaLobby charter because it gives individual Java developers a voice and a platform for sharing, learning, activism, and community building.

What does this mean to JRoller users? With JavaLobby backing and support, JRoller users can expect better levels of service and better support. JRoller will remain free and there are no plans for adding or allowing advertising on user weblog pages or RSS feeds.

What does this mean to the Roller Weblogger software? As before, Roller will remain a separate an independent product and project, but Roller releases will now be tested on JRoller (as we did with Roller 0.9.8) before they are released on SourceForge. JRoller will remain on the bleeding edge of Roller development, sound like fun?

What about the links to my blog, will they be broken? FreeRoller founder Anthony Eden has agreed to continue to point the FreeRoller domain at JRoller so that FreeRoller links will remain valid, but requests are are now being redirected to JRoller.com. I encourage you to start using the new name JRoller and the new URL in your links to JRoller based blogs.

Tags: Roller

Holy grail of Java web development?

As I was working on Roller, I kept the UI fairly simple. I didn't create any forms that needed to refresh themselves before making a final post. I tried to avoid using JavaScript except where absolutely necessary. I was pretty happy with Servlets, JSP, and Struts.

Now, I'm working on a Java-based web application with very complex forms. Some of the forms have multiple tree choosers, dynamic select boxes, popup windows with dual-lists, and popups that cause the page that launched them to reload. There is just no avoiding JavaScript and our requirements are pushing us towards complex solutions like inner-browsing to reduce the number of trips to the server for page reloads.

I can live with JavaScript and I'm taking the time to study up, but I'm becoming pretty disenchanted with web-MVC. I'm finding that, even with an web-MVC framework like Struts, maintaining the state of all of the form fields and UI widgets through page reloads and popup interactions is a real pain. There has to be a better way and, the more more I read about Java Server Faces the more I become convinced that it will be that better way. JSF will introduce UI components that can manage their own state, fire events, and, in general, behave more like true UI components. Sounds like the holy grail of Java web development. Do any of the existing Java web application frameworks support this kind of UI components today?

Tags: Java

JavaLobby bloggers.

Welcome to Rick Ross and Matthew Schmidt of the JavaLobby who have recently started blogging with Roller.

Tags: Java

Links

Tags: General

In too deep.

I am now obligated to paint 13 fishies, 2 smiling crabs, 2 sea-horsies, 2 sea anemone, 2 starfish, and one big and goofy looking clownfish on a kid-sized table for the school's fund raising auction. Why did I draw so many creatures... what was I thinking?
Tags: General

JavaServer Faces at the RTP-WUG tomorrow.

First there was ASP, then JSP and PHP, then Struts, now there is JavaServer Faces, which has been years in the making and is Java's answer to .Net's Web Forms, offering the prospect of highly useable data grids and other controls. It also goes well beyond that role by providing a sophisticated control model for web applications that exceeds .Net's capabilities. JavaServer Faces can also be combined nicely with Struts.

I'm working my way through the JSF spec and wishing it was here now, so I'm really sorry I'm going to miss this one. Jay Cagle team lead of the Websphere Studio web tooling group will be presenting on JSF tomorrow night See the RTP-WUG site for details.

Tags: Java

Canoeing the New River.

That was a lot of fun. Thanks Mark!

<img src="http://www.rollerweblogger.org/resources/roller/canoeing.jpg" alt="Linus and Alex standing by canoes" />

Mr. Roller

is happy and I'm going to go canoeing. See you next week.
Tags: Roller

Lowem

continues to dig in to the Roller source to identify, correct, and suggest workarounds for Roller bugs. Soon, we'll need a 0.9.8.1 release soon to incorporate his fixes. Good work Lowem!
Tags: Java

« Previous page | Main | Next page »