{
  "attachments": [],
  "comments_archived": true,
  "date": "2003-01-28T07:07:53.000Z",
  "layout": "post",
  "title": "How to make a multi-platform monster",
  "wordpress_id": 372,
  "wordpress_slug": "ooodoc",
  "wordpress_url": "http://www.decafbad.com/blog/?p=372",
  "year": "2003",
  "month": "01",
  "day": "28",
  "isDir": false,
  "slug": "ooodoc",
  "type": "entry",
  "postName": "2003-01-28-ooodoc",
  "html": "<p>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 <a href=\"http://www.decafbad.com/twiki/bin/view/Main/PersonalWebProxy\">PersonalWebProxy</a> exploits - this time in Java.</p>\n<p>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 &amp; 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.</p>\n<p>It's something <a href=\"http://www.decafbad.com/news_archives/000092.phtml#000092\" target=\"_top\">I've rambled on about before</a>, as has <a href=\"http://udell.roninhouse.com/\" target=\"_top\">Jon Udell</a> in his old Byte column: <a href=\"http://udell.roninhouse.com/bytecols/2002-04-10.html\" target=\"_top\">Zope Lessons Learned</a>.  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.</p>\n<p>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!</p>\n\n\n<!--more-->\n\n\n<p>shortname=ooodoc</p>\n<div id=\"comments\" class=\"comments archived-comments\"><h3>Archived Comments</h3>\n<ul class=\"comments\">\n<li class=\"comment\" id=\"comment-221086533\">\n<div class=\"meta\">\n<div class=\"author\">\n<a class=\"avatar image\" rel=\"nofollow\" href=\"http://dannyayers.com\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=ac0d01ebb5e438c029c0764064f70827&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\" width=\"\" height=\"\"></a>\n<a class=\"avatar name\" rel=\"nofollow\" href=\"http://dannyayers.com\">Danny</a>\n</div>\n\n\n<p><a href=\"#comment-221086533\" class=\"permalink\"><time datetime=\"2003-01-28T09:13:58\">2003-01-28T09:13:58</time></a></p>\n</div>\n\n\n<div class=\"content\">Really looking forward to seeing what you come up with. \nNot wanting to suggest feature drift/bloat or anything, but a mail proxy would be nice too...</div>\n\n\n</li>\n<li class=\"comment\" id=\"comment-221086534\">\n<div class=\"meta\">\n<div class=\"author\">\n<a class=\"avatar image\" rel=\"nofollow\" href=\"http://www.decafbad.com\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=2ac2cffd36ada8c734b90e02a1e5c1ac&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\" width=\"\" height=\"\"></a>\n<a class=\"avatar name\" rel=\"nofollow\" href=\"http://www.decafbad.com\">l.m.orchard</a>\n</div>\n\n\n<p><a href=\"#comment-221086534\" class=\"permalink\"><time datetime=\"2003-01-28T12:18:09\">2003-01-28T12:18:09</time></a></p>\n</div>\n\n\n<div class=\"content\">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.\nBut, for now, one protocol at a time for me :)</div>\n\n\n</li>\n<li class=\"comment\" id=\"comment-221086535\">\n<div class=\"meta\">\n<div class=\"author\">\n<a class=\"avatar image\" rel=\"nofollow\" href=\"http://guests.evectors.it/zoe/\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=2d3d8732d4a17d4ad7513b127ce055e7&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\" width=\"\" height=\"\"></a>\n<a class=\"avatar name\" rel=\"nofollow\" href=\"http://guests.evectors.it/zoe/\">Zoe</a>\n</div>\n\n\n<p><a href=\"#comment-221086535\" class=\"permalink\"><time datetime=\"2003-01-28T19:50:41\">2003-01-28T19:50:41</time></a></p>\n</div>\n\n\n<div class=\"content\">\"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.\"\nWell... 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...\nAs somebody green famously said:\n\"Software are like onions.\"\n\"Layers! Onions have layers. Software have layers. Onions have layers. You get it? We both have layers.\"\n-- Shrek, 2001\nZOE integrates with Apple's system services. It uses Rendezvous directly. Integrates with Apple's Mail.app. And even the Finder itself.\nSo, not everything is lost ;-)\nZ.</div>\n\n\n</li>\n<li class=\"comment\" id=\"comment-221086536\">\n<div class=\"meta\">\n<div class=\"author\">\n<a class=\"avatar image\" rel=\"nofollow\" href=\"http://www.deadlybloodyserious.com/Python/\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=11fad486e523536c7d33ea72efbc17cd&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\" width=\"\" height=\"\"></a>\n<a class=\"avatar name\" rel=\"nofollow\" href=\"http://www.deadlybloodyserious.com/Python/\">Garth</a>\n</div>\n\n\n<p><a href=\"#comment-221086536\" class=\"permalink\"><time datetime=\"2003-01-29T06:15:25\">2003-01-29T06:15:25</time></a></p>\n</div>\n\n\n<div class=\"content\">Why not used Twisted?</div>\n\n\n</li>\n</ul>\n\n\n</div>\n\n\n",
  "body": "<p>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 <a href=\"http://www.decafbad.com/twiki/bin/view/Main/PersonalWebProxy\">PersonalWebProxy</a> exploits - this time in Java.</p>\r\n<p>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 &amp; 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.</p>\r\n<p>It's something <a href=\"http://www.decafbad.com/news_archives/000092.phtml#000092\" target=\"_top\">I've rambled on about before</a>, as has <a href=\"http://udell.roninhouse.com/\" target=\"_top\">Jon Udell</a> in his old Byte column: <a href=\"http://udell.roninhouse.com/bytecols/2002-04-10.html\" target=\"_top\">Zope Lessons Learned</a>.  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.</p>\r\n<p>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!</p>\r\n<!--more-->\r\nshortname=ooodoc\r\n\r\n<div id=\"comments\" class=\"comments archived-comments\">\r\n            <h3>Archived Comments</h3>\r\n            \r\n        <ul class=\"comments\">\r\n            \r\n        <li class=\"comment\" id=\"comment-221086533\">\r\n            <div class=\"meta\">\r\n                <div class=\"author\">\r\n                    <a class=\"avatar image\" rel=\"nofollow\" \r\n                       href=\"http://dannyayers.com\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=ac0d01ebb5e438c029c0764064f70827&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\"/></a>\r\n                    <a class=\"avatar name\" rel=\"nofollow\" \r\n                       href=\"http://dannyayers.com\">Danny</a>\r\n                </div>\r\n                <a href=\"#comment-221086533\" class=\"permalink\"><time datetime=\"2003-01-28T09:13:58\">2003-01-28T09:13:58</time></a>\r\n            </div>\r\n            <div class=\"content\">Really looking forward to seeing what you come up with. \r\n\r\nNot wanting to suggest feature drift/bloat or anything, but a mail proxy would be nice too...</div>\r\n            \r\n        </li>\r\n    \r\n        <li class=\"comment\" id=\"comment-221086534\">\r\n            <div class=\"meta\">\r\n                <div class=\"author\">\r\n                    <a class=\"avatar image\" rel=\"nofollow\" \r\n                       href=\"http://www.decafbad.com\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=2ac2cffd36ada8c734b90e02a1e5c1ac&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\"/></a>\r\n                    <a class=\"avatar name\" rel=\"nofollow\" \r\n                       href=\"http://www.decafbad.com\">l.m.orchard</a>\r\n                </div>\r\n                <a href=\"#comment-221086534\" class=\"permalink\"><time datetime=\"2003-01-28T12:18:09\">2003-01-28T12:18:09</time></a>\r\n            </div>\r\n            <div class=\"content\">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.\r\n\r\nBut, for now, one protocol at a time for me :)</div>\r\n            \r\n        </li>\r\n    \r\n        <li class=\"comment\" id=\"comment-221086535\">\r\n            <div class=\"meta\">\r\n                <div class=\"author\">\r\n                    <a class=\"avatar image\" rel=\"nofollow\" \r\n                       href=\"http://guests.evectors.it/zoe/\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=2d3d8732d4a17d4ad7513b127ce055e7&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\"/></a>\r\n                    <a class=\"avatar name\" rel=\"nofollow\" \r\n                       href=\"http://guests.evectors.it/zoe/\">Zoe</a>\r\n                </div>\r\n                <a href=\"#comment-221086535\" class=\"permalink\"><time datetime=\"2003-01-28T19:50:41\">2003-01-28T19:50:41</time></a>\r\n            </div>\r\n            <div class=\"content\">\"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.\"\r\n\r\nWell... 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...\r\n\r\nAs somebody green famously said:\r\n\r\n\"Software are like onions.\"\r\n\"Layers! Onions have layers. Software have layers. Onions have layers. You get it? We both have layers.\"\r\n-- Shrek, 2001\r\n\r\nZOE integrates with Apple's system services. It uses Rendezvous directly. Integrates with Apple's Mail.app. And even the Finder itself.\r\n\r\nSo, not everything is lost ;-)\r\n\r\nZ.</div>\r\n            \r\n        </li>\r\n    \r\n        <li class=\"comment\" id=\"comment-221086536\">\r\n            <div class=\"meta\">\r\n                <div class=\"author\">\r\n                    <a class=\"avatar image\" rel=\"nofollow\" \r\n                       href=\"http://www.deadlybloodyserious.com/Python/\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=11fad486e523536c7d33ea72efbc17cd&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\"/></a>\r\n                    <a class=\"avatar name\" rel=\"nofollow\" \r\n                       href=\"http://www.deadlybloodyserious.com/Python/\">Garth</a>\r\n                </div>\r\n                <a href=\"#comment-221086536\" class=\"permalink\"><time datetime=\"2003-01-29T06:15:25\">2003-01-29T06:15:25</time></a>\r\n            </div>\r\n            <div class=\"content\">Why not used Twisted?</div>\r\n            \r\n        </li>\r\n    \r\n        </ul>\r\n    \r\n        </div>\r\n    ",
  "parentPath": "./content/posts/archives/2003",
  "path": "2003/01/28/ooodoc",
  "summary": "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.\nOne 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.\nIt'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.\nOn 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!",
  "needsBuild": true,
  "prevPostPath": "2003/01/25/ooodob",
  "prevPostTitle": "Etiquette with friends & relationships in FOAF?",
  "nextPostPath": "2003/01/30/ooodod",
  "nextPostTitle": "INN + blagg + plugin = News Aggregation via NNTP"
}