Update: So many people seem to keep coming to this blog post from Mike Clark's blog that I feel it might make sense to mention that the WeblogPublisher has been incorporated into the CruiseControl distribution already a while ago. In other words, no need to download the stuff from the attached URLs--just use a recent enough version of CruiseControl and you're all set.
Yep. My CruiseControl WeblogPublisher now supports also the LiveJournal API. For now, it only implements clear-text authentication. I'll see if I can squeeze some time for implementing the challenge-based encrypted authentication at some point.
The latest sources and related changes to CruiseControl-2.2 release can be downloaded from the below links:
WeblogPublisher.java
WeblogPublisherTest.java
default-plugins.properties
configxml.html
plugins.html
Update: So many people seem to keep coming to this blog post from Mike Clark's blog that I feel it might make sense to mention that the WeblogPublisher has been incorporated into the CruiseControl distribution already a while ago. In other words, no need to download the stuff from the attached URLs--just use a recent enough version of CruiseControl and you're all set.
As I mentioned earlier, I set out to write a new publisher for CruiseControl.
I just added support for MetaWeblog API to go with the Blogger API. It was very straight-forward since it also uses XML-RPC.
This is what it looks like right now:
To start using it, just throw the publisher class to your CruiseControl main/src/net/sourceforge/cruisecontrol/publishers directory, download xmlrpc-1.2-b1.jar into the main/lib directory, rebuild cruisecontrol.jar with ant jar, and add these to your CruiseControl config.xml:
<cruisecontrol>
<project name="foo">
<plugin name="weblog" classname="net.sourceforge.cruisecontrol.publishers.WeblogPublisher"/>
...
<publishers>
<weblog blogurl="http://buildserver:8080/blog/xmlrpc"
api="metaWeblog|blogger"
blogid="blog"
username="lasse"
password="secret"
category="cruisecontrol"
reportsuccess="fixes"
subjectprefix="[CruiseControl]"
buildresultsurl="http://buildserver:8080/cruisecontrol/buildresults/myproject"
logdir="/cruisecontrol/logs/myproject"
xsldir="/cruisecontrol/reporting/jsp/xsl"
css="/cruisecontrol/reporting/jsp/css/cruisecontrol.css"/>
</publishers>
</project>
</cruisecontrol>
You can download the source code from:
WeblogPublisher.java (the publisher)
WeblogPublisherTest.java (unit tests)
This is hilarious! I've been running it on the background while browsing around for approximately 7 minutes and counting...
Thanks, Juha.
Prefer simple code over neat tricks. You'll thank yourself later on...
It seems that XDoclet is still hot stuff after all these years... Looking at the project's home page, I spotted this:
A lot of people (over 60.000 downloads (see activity statistics) in 2002, 95.000 in 2003 and already more than 90.000 in 2004 (September)! An average of 7.000 page views each day!) are already improving development time by using XDoclet for development of J2EE applications.
Evidence of how it takes several years for a new open source project to get into mainstream? Is XDoclet already mainstream? I'm not using it myself but I'm also not using EJB's so that might explain it...
Update: So many people seem to keep coming to this blog post from Mike Clark's blog that I feel it might make sense to mention that the WeblogPublisher has been incorporated into the CruiseControl distribution already a while ago. In other words, no need to download the stuff from the attached URLs--just use a recent enough version of CruiseControl and you're all set.
Well, since Mike hinted that it would be easy, I couldn't resist spending an hour to hack together a BloggerWeblogPublisher.java which posts the build results to a specified weblog using the Blogger API.
Just throw the publisher class to your CruiseControl directory, download xmlrpc-1.2-b1.jar into the lib directory, rebuild cruisecontrol.jar, and add these to your CruiseControl config.xml:
<cruisecontrol>
<project name="foo">
<plugin name="weblog" classname="net.sourceforge.cruisecontrol.publishers.BloggerWeblogPublisher"/>
...
<publishers>
<weblog blogurl="http://localhost:8080/pebble/xmlrpc"
blogid="blog"
username="lasse"
password="password"
category="CruiseControl"
reportsuccess="always"
subjectprefix="[CruiseControl]"
buildresultsurl="http://buildserver:8080/cruisecontrol/buildresults" logdir="/cruisecontrol/logs/foo"
xsldir="/cruisecontrol/reporting/jsp/xsl"
css="/cruisecontrol/reporting/jsp/css/cruisecontrol.css"/>
</publishers>
</project>
</cruisecontrol>
It's far from finished, but it seems to be "usable" already if you're itching to see your build results in your RSS aggregator. I'll submit it to the CruiseControl committers when it's a bit more polished...
The code is based on CruiseControl's EmailPublisher and HTMLEmailPublisher.
Brian Marick has posted a bunch of useful tips for agile projects struggling with getting customer collaboration going smoothly.
I see that Keith Ray has got a reading problem as well. Coincidentally, I've got 4 of his 8 books on my bookshelf, two of which I've read. Oh, actually I've only got 3 of them on my bookshelf. A co-worker loaned the fourth one...
Martin Fowler himself has stepped up and written a little story about how ThoughtWorks had dealt with a client requiring a fixed-price contract in a bliki entry aptly named ScopeLimbering.
Michael, I'm terribly sorry but I'd prefer taking a pillow to some of the meetings I've attended during my short career. The NerdHerder does have a point about writing things down, though.
Steve Freeman has started to wonder whether his right-handedness has an identity problem. Don't worry, Steve. I believe it's quite common for one's weaker hand to develop into more of a "surgical instrument" and the stronger hand to become a hammer too clumsy for pushing those little buttons...
On the Ruby front, Bill Caputo is taking on a challenge while Charles Miller is facing the ugly face of reality elsewhere. I'm still waiting for Christmas, though ;)
Finally, I find it quite amusing that Ron Jeffries is paraphrasing Red Green :)
I'm seriously lagging with keeping up with my blogroll but I managed to spot a couple of blog entries worth mentioning:
Jon Eaves has developed an audio-enabled cricket bot. How cool is that! I don't like cricket and I didn't manage to actually hear anything after connecting to the irc.cricket.org channel, but I still love the psychotic enthusiasm Jon oozes... :)
As a different type of gem, Christian Sepulveda's XP team is missing a member. Their space certainly looks good!
Finally, Clarke Ching has quoted a couple of real gems in his blog lately:
The race for stupidity
On chopsticks and testing
Apparently, Joe's backflip went just fine :)
Part 2 of my series of articles on Continuous Integration and CruiseControl just went online along with the October issue of the JavaRanch Journal.
Part 1 went out in the September issue.
|
|
My review of J.B's JUnit Recipes has been published at the 'ranch with the best possible rating. I'm telling you, if you're using JUnit, you owe yourself to buy this book. Seriously. |
How? How is it possible, I ask, that a spam message like the one below can get through Gmail's spam filter?
food stamp biceps behind 9 Bookpromotion
Bookpromotion,+
!247&-Online Doctorz! up to 70% of the best pain killers out! _Soma_vioxx_viagraaa_Fioriceet-Phentremine and other popular meds.%valium_XXanax_Cialis&
(URL removed to make sure that those suckers won't get any attention they most certainly don't deserve)
--
scalar corinthian chert braun flute aren't analyses arrangeable kerosene pathway purgation cheater achilles precarious astronomic queasy irwin australia ashley oilseed optoisolate thrill
How, I ask? How?
And what the **** are "food stamp biceps"?
What do you think? Could this become the new mainstream of how people write Java code?
Here's my new favorite place for those "I need a change" moments ;)
|
|
My review of Brian Nantz' Open Source .NET Development has been published at the 'ranch. I gave the book a 7/10 rating -- read the review for details. |
The previous one was SourceLabs, now came SpikeSource and, if my crystal ball is correct, next week we'll get LeeLabs.
Ok. That was sad. But I'll post it anyway. Sorry.
Try S5 slideshows instead!
The S5 slideshow thing is really amazing. It consists of a single XHTML file which contains your slides as DIV elements, a bit of CSS to do the layout, and the JavaScript to make the slideshow alive. That's one kick ass product and it looks great. Check out the source code of their example slideshow and see it for yourself.
Oh, and it works without PowerPoint, KeyNote, or whatever you're used to playing slideshows with.
While looking for a picture of Martin Fowler for this piece of e-garbage, I realized that Google Image Search failed to give me a single good picture of Mister ThoughtWorks. Most were not available except for the thumbnail displayed by Google's search results listing and the one picture that was available in full size was so poor quality that it took me approximately 20ms (probably a bit less but my clock threshold is 10ms) to decide that it's not good enough.
So, I decide to take my chances with random surfing. martinfowler.com was down so I went for the Poppendiecks' site and clicked on "Photos" (Tom goes around the world after software conferences, documenting everything with his camera). Since I knew Martin had given the final keynote at XP2004, I decided to take a look at Tom's XP2004 photos.
Guess who's the bald guy with a beard in the photographs below...
Heh. I just realized that these two guys are probably related.
Martin Fowler Thought Leader |
Bruce Schneier Security Expert |
As if the world wouldn't have enough to adapt to with print.google.com, froogle, and what not, Google has come out with Google SMS, a short-messaging service for those living in the US.
Oh, and guess what... The short number spells G-O-O-G-L.
I have the habit of opening up pages I intend to check out with "Open Link in New Tab" in FireFox. As a result, I constantly manage to overflow and end up doing a brain dump like this blog entry. A bit like... Darn. Apparently one side-effect of this is that every now and then I remember an earlier blog entry by someone on my 130+ member blogroll -- on a tab I already closed -- but can't remember anymore who it was that blogged about such a thing. In this case, that someone was talking about how he recently went into the vicious cycle of The Laundry Pile and couldn't get out until he took the whole pile to a laundry service. If you feel like going through my blogroll on the right-hand side, looking for that particular blog entry, and if you find it, please let me know. Oh, and I'm not 100% sure if it was actually someone on my blogroll or someone whose blog was linked to from a blog of someone on my blogroll. Confusing enough?
So, without further delay... Part 2 of my Cheap Clone of Erik's Linkblog for Agile Java Developers!
Joe has managed to express the dilemma of 100% code coverage quite well and managed to use the phrase "pissing away money". Quite impressive.
Michael Harmer, the Nerdherder, has posted three excellent aphorisms on software development.
Pip has posted his 4th lesson, which -- unfortunately -- strikes gold with regard to my current project (in which I'm still not able to participate in coding...).
Perryn Fowler managed to revive my interest towards Agitator.
Matt Albrecht has been playing around with JUnit and IoC. An interesting combo...
Matt Snyder, Cedric and Jason van Zyl have been discussing about writing with a plain text tool set and lead me to discovering yet another CodeHaus project that has absolutely no documentation whatsoever. Dammit.
Dan Creswell, who usually blogs about Jini/JavaSpaces stuff, wrote about "thinking in the small" (project awareness, bliss of denial, that sort of things).
Someone mentioned jBehave in a blog entry (see, it happened again!) that made me think real hard if I should come up with my own programming language called "O" (that's "oh", not zero). Why? Because then someone could port jBehave into oBehave ;)
Also, I just took a look at iBatis SQL Maps for the first time and I certainly like what I see. Note that I haven't yet verified my initial gut feeling with actual code. Maybe I'll get around to do that and write up the experience.
Hooray! Hani is back to his normal self again!
Ted revived my longing for OODBMS technology. The real OODBMS technology, not just object-relational mapping (which I'd definitely love to see get some more traction as well).
Talking of which, Versant has posted some big numbers. I'll leave it to others to analyze the imaginary and real parts of said numbers.
It's great to see a mature open source project getting even more mature.
And it's nice to see that Simon is keeping up his pace.
Getting one of these should do...
ThoughtWorks has snatched CV. I wonder if weirdness counts as a positive thing in their selection process? I also wonder if they'd appreciate my weirdness... (No, Mike, I am still not ready to jump ship;)
Talking of pleas, Marty's got one for all you project managers out there.
Well, I don't actually hate .NET blogs but I definitely dislike the way how they often don't play nice with non-IE browsers. For example, try Steve Eichert's blog with Mozilla FireFox.
Luckily, I usually read the RSS feeds which work just fine as long as the feed includes full entries.
I know all about the 90+ percent marketshare that IE has but if you're running a technical weblog, the numbers just might look a bit different and you might want to consider testing with FireFox/Netscape as well...
This is not a directed attack against Steve (whose blog I love to read!) but a plea to the .NET blogging community in general. Please, don't forget the little people. Even if I am developing in Java for a living.
Cedric always comes up with the good stuff.
Here's a quote from an article posted to TSS:
Data Logic and Business Logic Code in PL/SQL will
enable you to considerably reduce the risk
You can't be serious?
Aslak Hellesoy revealed a new toy from the CodeHaus crew: Guantanamo.
It's a tool that takes your code and simply deletes any code that isn't being used by your tests. Yes, you heard me correctly. It deletes code that isn't being tested.
Whether this is a good idea or not, I'll let you decide for yourself. Personally, while I am intrigued by the idea, I'll probably wait until others have tried it out...
Disclaimer:
That error message comes from Eclipse, not WSAD itself although WSAD might be the root cause.
Running multiple development branches isn't just asking for trouble,
it's inviting it in with the dinner hot on the table.
-- John Roth







