" /> Marcel Neuhausler's World: May 2004 Archives

« April 2004 | Main | June 2004 »

May 31, 2004

The Weblog APIs in a single JSP

I should be in bed, but I'm still awake messing around with weblog tech. I've been meaning to get around to implementing the Blogger, MetaWeblog, and MoveableType XML-RPC APIs for a while now (think: 2 years) but I just never bothered. Well, that's not true, I'd take a look at it, wonder what the hell a struct was in Java and move on. But now that I'm trying to meet all the criteria on this Blog Feature List both personally and professionally, I figured I'd better sit down for a moment and work it out.


XML-RPC, as most people have pointed out before, isn't particularly hard to get working. The problem is that what is affectionately called the Weblog APIs by some are actually several different groups of methods spread between their respective websites. Though MoveableType does have a nice summary, you still have to go track down and grok the original sources. Then, if you want to get this stuff running in Java, you have to contend with the horrendous samples that most Java programmers out there have created. I grabbed Blojsom, Roller and Pebble's implementations and was completely astounded by their complexity. Simon's is the clearest - and was a great starting point for me, but still. Why do Java programmers have to make this stuff so damn hard?!?!


So here's a single JSP page with an empty framework which supports of all three Weblog APIs.


That's just the original Blogger 1.0 API. The rest of doc has the other method signatures. To use this file, go get Apache's XML-RPC Jar, throw it into your WEB-INF/lib, upload the .jsp file to your server as the endpoint and you'll have a basis to start working with editors like w.bloggar, Zempt and blogBuddy. Easy.


All the JSP does right now is just allow you to connect with those clients and log the methods being called. It's sort of like a JSP based base-class for you to fill in with your own method implementations. But that should be a good enough starting point for most projects. I wish I had this myself. For my personal weblog, I have to now go through and add the SQL queries to validate the user, query posts and update tables, but that's just busy work really. I think it would be really cool if someone just took this JSP as a starting point and instead of filling in the details with SQL stuff, wrote out actual .html files instead, creating a one page XML-RPC based weblog engine. Wouldn't that rock? I wish I had extra minutes to do it myself.


I find it very strange that there isn't a Java example out there like this already. Is there and I missed it?


The one thing that I don't really understand is what exactly the Blogger API has implemented. If you go to the offical Blogger 1.0 API page, it only lists six methods. But w.bloggar expects at least another few methods like getRecentPosts() (but not the metaWeblog version, a different one) that are also mysteriously documented on the MoveableType API page. It's strange. Then there's the Blogger 2.0 API which has been abandoned, but is floating out there, which doesn't match the signatures either. The metaWeblog API is a pretty straight forward addition to the Blogger stuff (if sketchily documented) as is MoveableType's. But in general it's just chaos out there. At the bare minimum someone should create a JavaDoc-like page explaining all these methods. No wonder the Atom guys wanted to organize all this.


Anyways, next up will actually be the AtomAPI after I get the XML-RPC methods implemented (I'll update the linked sample page as I go along)... I will definitely need to sleep before I tackle Atom, and may need healthy amounts of alcohol too.


-Russ
[Russell Beattie]

May 26, 2004

Apple vulnerability

It didn't work. A patch to Mac OS X pushed through Software Update by Apple last Friday did not fix a vulnerability that would allow a malicious web page access to your system. Unsanity is offering a program called Paranoid Android that fixes the problem. Read their white paper to understand why it's so difficult to solve.

[The Laporte Report]

LDAP in Mac OS X Server

Typical network services problems, such as enabling all of your computers to use the same login information to authenticate users, can be solved with directory services. Panther has the built-in tools, but they're still less than elegant. Tony Williams shows you how to piece them together.
[O'Reilly MacDevCenter.com]

Refresh Smart Playlists in iTunes using AppleScript

Anonymous: "A healthy discussion on smart playlists over at the Apple iTunes forum has yielded this tidy little piece of AppleScript, which refreshes a specific list of smart playlists (as long as they have 'live updating' checked."
[Studio Log]

May 25, 2004

HTML parser

Derrick Oswald has released the HTML parser 1.4.1, a free (LGPL) class library for parsing "real-world HTML."
[Cafe au Lait Java News and Resources]

RadioRecorder

RadioRecorder records streaming audio from Internet radio stations. It includes scheduled recordings, optional automatic addition to the iTunes library, optional automatic deletion of older recordings, drag-and-drop of radio stations from iTunes, and more.

May 20, 2004

Integrating Xgrid into Cocoa Applications, Part 2

Last week in Part 1, Drew McCormack showed you how to install and start using Xgrid. Now in Part 2, he covers integration with Cocoa using a little program called Photo Industry. This will be an Xgrid-enabled app, and what's more, it will be a standalone app, not an Xgrid client plugin.
[O'Reilly MacDevCenter.com]

Automated Snapshot-Style Backups with Rsync

A lot of useful information and scripts about talking snapshots using rsync.

May 19, 2004

Network backup

I figured I should keep a PowerBook backup on my Jaguar Server since it has plenty of disk space available, so I searched VersionTracker for a sync utility that could accomplish this with little or no effort on my part.

I tried Retrospect Express, ChronoSync, FoldersSynchronizer, RSyncx and a couple of others.

None of these utilities were able to complete a backup of my 4 GB Documents folder over Ethernet (well, AirPort to enet). Some of the files that did complete the journey had problems, including changed line endings and permission issues.

The utility that finally worked was File Synchronization :

File Synchronization is an utility that, as its name implies, has the ability to synchronize multiple pairs of folders or files. It has been designed to be easy to use and quick to do the job. It was based originally on the File Synchronization tool provided by Apple with the old Mac OS, but has a few improvements and features to help get the job done quickly and efficiently.

[MacIT.org]

May 17, 2004

reach out and zap someone

A post on slashdot pointed me to a hilarious article, "dark tip: reach out and zap someone" on techtv. Its a great little hack that exposes the capacitor in a disposable camera, and allows you to deliver that charge to somebody's skin. awesome and ow.


[mehack]

May 14, 2004

Is Design Dead?

"For many that come briefly into contact with Extreme Programming,
it seems that XP calls for the death of software design. Not just is
much design activity ridiculed as "Big Up Front Design", but such
design techniques as the UML, flexible frameworks, and even
patterns are de-emphasized or downright ignored. In fact XP
involves a lot of design, but does it in a different way than
established software processes. XP has rejuvenated the notion of
evolutionary design with practices that allow evolution to become a
viable design strategy. It also provides new challenges and skills as
designers need to learn how to do a simple design, how to use
refactoring to keep a design clean, and how to use patterns in an
evolutionary style." .. more

[martinfowler.com: Updates]

May 13, 2004

Mac OS X 10.3 running on your x86 PC !

Ok there's no native port of Mac OS X yet, but PearPC does it, by emulating a PowerPC.

They even have a JIT that translates PowerPC code on-the-fly to native x86 code.

WOW !

[Codito ergo sum]

May 06, 2004

Jakarta Slide 2.0 FINAL Released

Jakarta Slide Team is very pleased to announce that Jakarta Slide 2.0 FINAL Release has arrived. Jakarta Slide 2.0 is a content repository and rudimentary content management system. You can download it at: http://jakarta.apache.org/slide/download.html
[Apache News Blog Online]

WebKit & Java Integration

Simple Java web browser based on Apple's WebKit API and CocoaComponent technology.

May 4th, 2004: Mono Beta 1 available

Mono Beta 1 has been released. See our Release Notes, or go directly to the download page.
[Monologue]

Desktop Transporter 1.0

Desktop Transporter makes it possible to share Mac desktops over a network, with Rendezvous for shared display discovery.
[MacInTouch]

Virtuoso MC-500 Digital Media Center

Neuston announced that its Virtuoso MC-500 Digital Media Center is now Mac OS X compatible.
[MacInTouch]

May 05, 2004

Tasks Pro 1.1

This new version of Tasks Pro adds even more RSS feeds. Cool. [ranchero.com]

May 03, 2004

Record and playback high definition TV signals from cable.

Mac OS X Hints: Record and playback high definition TV signals from cable. [Hack the Planet]