My first ebook

My first ebook is Raible's Spring Live. Roller now ships with the Spring jar (but currently only for Acegi), so I figured I should read up on Spring. I'm looking forward to having more time to read it next month.

Today's links [January 03, 2006]

Day 2: Tigers!

It took a bit longer than I'd expected, but I made it through the Tigers upgrade. I'm now working with J2SE 5.0 Tiger on my Solaris x64 box, my Powerbook and as of a couple of minutes ago, this site is running on  5.0 as well.

I also upgraded my Powerbook from Panther to Mac OS X 10.4.3 Tiger. Along the way I learned that you shouldn't try to use Carbon Copy Cloner to clone to a network mounted drive (it will work, but it's extremely slow) and that I didn't really need to buy iLife (the old versions of iMovie, iDVD and iPhoto continue to work). Migrating to the new took all morning, so I'm only now getting to my overflowing mailbox.

Atom protocol draft 7

I was planning on submitting Chapter 8 of RSS and Atom in Action to Manning today, but Atom protocol draft 7 has appeared. The changes look good and the only really significant one for me is the move from list templates, which allowed indexing into a collection, to next/previous paging as we had in draft 4. I'm going to revise my implementation, Chapter 8 and turn it in on Wednesday. Once that's done, I'll release Blogapps v0.1.

Day 1

After wrapping up writing last night, I took a break from the book for most of the day with some shopping and some time with our neighbors. Our neighbors across the street, invited us over for some candle lighting, latkas and dreidling -- a very nice way to wrap up the holidays.

One of my non-health related resolutions for 2006 is to switch over to Tiger, by which I mean Mac OS 10.4 Tiger and Java 5.0 Tiger. So I dragged the boys over to CompUSA and bought a LinkSys NSLU2 Network Storage Link and a Maxtor 200GB external USB drive. They didn't have Mac OS X, so I drove over to the Apple store in Durham. I bought both Mac OS Tiger and iLife, because I was warned Tiger doesn't include the Apple software goodies I've been digging recently (iMovie, iDVD and iPhoto, grumble grumble). All and alll, a way too expensive day. Once I use my Carbon Copy Cloner to back up my Powerbook (hmm, is that gonna work with a network mounted drive?), I'll feel comfortable installing the new Mac OS.

Another resolution on my list is to do some 'casting. I'll be making the first non-snapshot release of Blogapps this week, so I'd like to make a couple of screencasts. I've got two ideas in mind. One screencast will walk you through the installation and setup of the Blogapps server (i.e. my Roller/JSPWiki bundle). The other will explain Atom protocol (as it stands today) using the Blogapps server and some command-line utillities I wrote for the Atom protocol chapter. I was quite impressed with what Brian McAllister did with Snapz Pro X in his ApacheCon talk, so I'm thinking that is the package to buy for Mac screencasting. Please pipe-up if you know better.

RSS and Atom in Action: chapter complete!

I've been ignoring the blogs, mailing-lists and just about everything else this week as I worked to finish Chapter 8 Publishing with Atom of RSS and Atom in Action -- the one chapter that's been holding up the whole book. After a quiet and early New Years eve celebration tonight with the family, I've just wrapped the last couple of paragraphs and the book is now chapter complete. I'll be working nights and weekends in January to push the remaining chapters through production, but now it's time to party. The kids are still up (three hours past their bed time) and we're breaking out the sparkling grape juice and some Moscato del Solo for us grownups. So... Happy New Year!!!

Today's links [December 27, 2005]

Comparing features: Atom protocol vs. MetaWeblog API

For RSS and Atom in Action I developed a simple blog client API, which I've written about before. This week I'm wrapping up my chapter on the Atom protocol and doing some testing of both a) the MetaWeblog/Blogger API and b) the Atom Publishing Protocol implementations of my simple API. To guide my testing, I created a matrix on my white board that looks something like the table below.

Feature a) MetaWeblog
Blogger API
b) Atom Publishing
Protocol (Draft 6)
Multiple blogs per user
Save, update and delete entries
Entries with multiple categories
List available categories
Save drafts
List entries (with paging)
 yes but no paging*
Upload and update uploaded files
Delete uploaded files
List uploaded files (with paging)
 no yes
Get and set templates
Delete templates
List templates (with paging)

* The Blogger / MetaWeblog API getRecentPosts() methods allow you to list recent blog entries, but there's no way to page through or request a range of entries.

As you can see, Atom protocol is not finished. I hope that when it's finished it'll have the features listed above, but that remains to be seen. In the latest Atom protocol spec (Draft 6), there's no way to get a list of the categories available in a blog and there's no way to get and set templates. Personally, I don't think anybody would miss get/set templates, but List categories is pretty valuable. IMHO, if we could get List categories into Atom protocol (instead of bickering about collection representations and introspection), we'd be done.

Update: I just made a couple of tweaks to the list of features and I may do a couple more.

Tags: topic:[Atom], topic:[Atom Publishing Protocol], topic:[Web Services], topic:[MetaWeblog API]

If is able to scam so well, bring home "1000's of laser targeted keyword specific backlinks" and works so amazingly well then...

...why does the product's own homepage have only a measly 2 links on Technorati (and 6 on Google)?

Don't waste your money on that trash folks. Spam blogs don't work. You'll be out fifty bucks and your crappy little internet marketing site will be banned by Google.

Tags: topic:[VooDooBlogger], topic:[Malware], topic:[Spamblog], topic:[Loserware]

Back to work

I'm back, but this week I'm not working for Sun. Instead, I'm focused on finishing the book. Over the weekend, the technical editor turned in the remaining chapters. He ran into a couple of problems with the example code, which I'll try to address this week. But before I review and turn those chapters over to the copy editor, I'm going to finish Chapter 8 Publishing with Atom.

XMAS for morons

Apparently, a bunch of morons bought themselves blog spam software for XMAS and spent the holidays setting up blogspot blogs and trying (unsuccessfully, thanks to Roller 2.1-dev) to spam my site via trackback. I took the time to visit each one of the splogs and to set the "objectionable content" flag -- not sure if that'll do much, but it felt good just the same.

Home for the holidays

See you next week...

Today's links [December 22, 2005]

Yet another Roller release

Allen's written a short post about the cache changes in Roller 2.1 (which is  almost ready for release) and the caching challenges ahead.

Blogapps server and examples snapshot release available

I just uploaded a snapshot release of the examples for my book RSS and Atom in Action. There are separate downloads for the Blogapps server and the example code available now on the Blogapps project web site.

If you want to get a sneak-peek at the soon to be released Roller 2.1, download the Blogapps server. It includes the latest Roller code, JSPWiki, Tomcat and HSQLDB -- all in one super-easy to install bundle. Instructions are on the Blogapps site. If you have a Java 1.4.2 JDK, then all you have to do is unzip the release and type startup.

Raleigh bloggers meetup tonight

Join us at Cafe Cyclo in Cameron Village tonight for the last Raleigh bloggers meetup of the year.

Josh has the details.

Roller news

Here's a couple of items of interest to Roller watchers.

Longtime Roller user and contributor Matt Schmidt, director of technology at Javalobby and the guy who keeps humming along, has ageed to join the Roller project. Matt's been helping out with Roller for a long time, some this is mostly a formality -- but working more closely with the project should help Matt keep up to date with Roller releases (and hopefully help us snag some of his enhancements).

Thanks to Patricio Martínez Ros, who has contributed a complete Spanish (es_ES) for Roller 2.1. Our translations have fallen behind a bit and we need all the help we can get. If you'd like to help out, let us know (on the roller-dev mailing list). There are some docs to get you started in Anil's Localization Guide and we can help you get the files you need (or a snapshot build).

Sun portal 7 to include JSPWiki, hey what about LGPL?

I had no idea. I've read a number of presentations and internals docs about our portal product, but somehow I completely missed the fact that Sun portal 7 (or for the lawyers in the audience Sun Java™ System Portal Server 7) will include my favorite wiki software JSPWiki.
Rich Shaples: this means you can deploy and manage the wiki infrastructure centrally yet allow communities to maintain their own sites - so you get the benefits of centralized management without the inflexibility. As well as support for Wiki Portlets (and Portlets within wikis), Portal Server 7 introduces the new concept of communities - to reflect the informal. non hierarchical nature of many workgroups (ie. virtual teams). There is also great support for AJAX in Portlets to enable you to develop apps. with a much richer user interface.
Cool beans. And that got me thinking. Sun's open source java projects (e.g. Glassfish and eventually Portal) will have an advantage of sorts over Apache's open source Java projects (e.g. Geronimo and Pluto) because Sun can include LGPL components. Apache policy forbids ASF products from having dependencies on components with licenses more restrictive than the ASL. Sun has no such policy. So for example, Sun can bundle JSPWiki, use Hibernate and have bundelicious relationships with other LGPL goodies. Very interesting...

Tags: topic:[wiki], topic:[JSPWiki], topic:[Sun], topic:[LGPL], topic:[Apache]

I'm back

And it's very nice to be home.

« Previous page | Main | Next page »