0xDECAFBAD

It's all spinning wheels and self-doubt until the first pot of coffee.

How to make a multi-platform monster

So I'm thinking that I might prematurely release some code before the week is out, so anyone who's interested can point and laugh at my PersonalWebProxy exploits - this time in Java.

One thing that disturbs me a bit about this thing so far is that, for what I have in mind, I'll have built a mini-OS when all is said and done. It'll have a web server, a web proxy, telnet-able shell, scripting languages, scheduler, full text search and index engine, persistence & metadata storage, and whatever else I can eventually think to toss in. There are just so many nice toys for Java, and most are a snap to glue together. But, I can't really use any of the toys that come with the OS itself.

It's something I've rambled on about before, as has Jon Udell in his old Byte column: Zope Lessons Learned. If this thing is to run on more than one platform, it can't rely on the facilities of any particular platform. So, all these lovely things I like OS X for are somewhat off limits.

On the other hand, if I get tired of doing this thing in Java, I could always just finally embrace the platform and go straight for Cocoa. :) Yes, that would make for 3 environments tried, but hey - it's still fun for me!

shortname=ooodoc

Archived Comments

  • Really looking forward to seeing what you come up with. Not wanting to suggest feature drift/bloat or anything, but a mail proxy would be nice too...
  • I need to rename this project and stop referring to it as a Personal Web Proxy, though that's the first goal. I want it to be a personal agent platform when it grows up, so a mail proxy would fall under that. But, for now, one protocol at a time for me :)
  • "If this thing is to run on more than one platform, it can't rely on the facilities of any particular platform. So, all these lovely things I like OS X for are somewhat off limits." Well... not necessarily... Taking another "monster" as an example, ZOE interacts with core Mac OS X services even if it's written in Java and cross-platform... As somebody green famously said: "Software are like onions." "Layers! Onions have layers. Software have layers. Onions have layers. You get it? We both have layers." -- Shrek, 2001 ZOE integrates with Apple's system services. It uses Rendezvous directly. Integrates with Apple's Mail.app. And even the Finder itself. So, not everything is lost ;-) Z.
  • Why not used Twisted?