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.
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.
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.