Ted Leung on the air: Open Source, Java, Python, and ...
I spent some time tonight listening to Dave Winer's Coffee Notes regarding the open source release of Frontier. I remember when Frontier came out -- it was during my first Macintosh user lifetime. Listening to Dave's notes took me back to those days -- 3M Machines -- 1 MHz, 1 MB RAM, 1 MegaPixel display. And here I sit at 1.25GHz, 1GB RAM and more than 2M 24bit color pixels. I'm glad that Dave was able to convince UserLand to do this. There's been a ton of software over the years that's just died and gone away, which is real shame. That entire effect is one of the reasons that I want to see open source software succeed.
I'm curious to see the internals of Frontier. The integration of a scripting language and an object database is exactly what we're building at OSAF. The outliner in Frontier is a cousin of the ThinkTank/More outliners, which are still better than any other outliner (commercial or open source) that I've seen. Just getting a glimpse of that will be worth it.
I like the thought of Frontier as a message in a bottle for the future. I also wonder how many other bottles there could be if we could unlock some of the software that's died away. Symantec More? Apple Dylan? Symbolics Genera? Lotus Agenda? Common Knowledge Arrange?
Early Tuesday, Mark Fletcher posted the news on Bloglines' new REST based web services API. I'm glad to see that NetNewsWire and FeedDemon, the RSS aggregators of choice in our house, among the initial supporters. Marc Hedlund has an article showing a Groovy implementation of RSS aggregator that leverages the Bloglines services. The initial support in the API is for notification, syncing and getting a blogroll.
A rich client like NetNewsWire/FeedDemon integrated with a web based service like Bloglines has the potential to offer users the best of both worlds, and I believe this is a glimpse of the world yet to come. While I've looked at Bloglines and seen some features that I like (most of which related to social aspects like recommending feeds that I'd like), I've never considered using it seriously because it won't work for offline mode, and because I believe that RSS aggregators are going to talk to my mail, address book, calendar, and other applications running on my machine. If Bloglines services exposed that social information, then I could have my rich client that integrated with local services, and still get the benefits of the Bloglines service -- that means being able to leverage the social information harvested by Bloglines within NetNewsWire. The API doesn't support it today, but there's no reason that it couldn't.
This general architecture applies to situations other than RSS aggregation, of course. This sort of thing is what I envisioned when I read Tim O'Reilly's essay All Software Should be Network Aware.
[ via BuzzMachine ]
Excite founder Joe Kraus has started a blog about life as an entrepeneur
Sander Temme is back to working on mod_zeroconf. The thing I'd really like to see is a version of mod_zeroconf or Apple's mod_rendezvous the works for apache2. I'd like to switch over from Apache 1 to Apache 2 (mod_dav_svn), but I'd like to have zeroconf support.
A few weeks ago there was a trio of long discussion threads on Lambda the Ultimate. The title of the threads was "Why type systems are interesting". In part II there was an very interesting exchange between (mostly) Paul Snively and Anton van Straaten that is a good summary of my thoughts on programming language design/evolution. Some comments which are especially representative are titled: Short Uptime, Striving for Positivism, and Sliders Are Fascinating! I've been trying to advocate that the current generation of dynamic language folks learn from previous generations. In the meantime, those previous generations have also been moving forward. I hope to see languages which have a slider between dynamic and static typing. Mostly I've been looking at the example of the Lisp derived languages. The LTU thread has given me a few things to put on my "to learn list":
For completeness, here are the other two parts of the thread:
Why type systems are interesting - part I
Why type systems are interesting - part II
The wired world is slowly absorbing pieces of me. There's the weblog, where I write prose, del.icio.us has my bookmarks, and now Flickr has got my pictures. Never mind the social networking sites. And the feeds, the RSS and Atom feeds. The blog feed, the category feeds, the comment feed. All the del.icio.us feeds. Flickr feeds from friends. Feeds, feeds, feeds. Oh, and don't forget to feedburner your feeds into one mega feed. I have microcontent personality disorder. I won't even start on multiple e-mail, IM, and IRC personality disorder -- I need a whole display just for communications!
Brent Simmons has announced the NetNewsWire 2.0 public beta, so now I can talk about this excellent product.
Everyone has their favorite features in NNW2, and I'm no exception.
- The embedded browser. When Brent first put this in, I ignored it. Once it got tabs, I loved it. I'd say that more than 75% of my web browsing is now done using the embedded browser. It can can open way more tabs than Firefox can, and NNW preserves your tab settings across sessions and (rare crashes). The only thing I miss from Firefox are bookmarklets and ad killing (does PithHelmet work on embedded Webkit browsers?)
- Brent did a bunch of performance work that really helped my long feed subscription list.
- Marsedit is a great editor -- it worked out of the box with my Metaweblog support for pyblosxom, although that's probably because Adriaan broke the support in with Ecto. Actually I'm torn on this at the moment, because I finally got around to trying Ecto 2, and it has a lot of the features that were MarsEdit only, particularly multiple posting windows. Ecto 2 also has nice support for del.icio.us.
- The Dinosaurs and Bandwidth stats windows. Now I can find out who's slacking on their blogs, and which blogs dont' support gzip and 304 handling.
All in all, NNW2 is the only aggregator that I've tried on any platform that fits my style of reading. I've tried Shrook PulpFiction, and NewsFire on the Mac. Bloglines isn't an option for me -- I am disconnected enough that a web app doesn't cut it (although I'd love a way to get those social statistics that Bloglines has). There are still bugs in the beta (I helped report them) but Brent has be really responsive to bugs on the beta list, and I am very confident that the bug count is going to go down. If you're on the Mac and have a heavy feed load, go give it a try.
(As an aside, it's also been interesting to see the difference between NNW's combined view, which creates a Webkit browser instance for every post in the combined view (in my case, that's a lot), compared to FeedDemon, which uses the Windows IE browser component and an XSLT stylesheet. Webkit is doing something right because NNW's combined view works pretty well even with all those instances. Meanwhile, on Julie's Thinkpad, FeedDemon, which uses the IE component, and Outlook, which also uses the component, are constantly locking up, running out of memory etc. )
We've been fooling around a bit with Flickr this weekend. Here's my Flickr page. Flickr's been very easy to use, and the iPhoto Plugin has made it very easy to upload photographs. I also managed to figure out how to e-mail pictures from my cell phone, although I'm not fast enough with T9 to be effective at titling and describing photos. I've been shooting pictures on the phone and then using the Bluetooth connection with the Mac to upload the photos to a holding directory and then importing them to iPhoto. But the repetitive keystroking needed to upload the photograph and then delete it (on the phone side) is making me nuts. If anyone has a good way to batch transfer photos from a Nokia 6600 to a Powerbook, I'd love a tip!
Ben Hyde (Chooce me Matie: get things done or it’s a flogging:) and Oliver Steele (Responsive User Interfaces and Effective People) have each written posts looking at David Allen's Getting Things Done (GTD) from a software architecture point of view. GTD means many things to many people, and I always learn something from the various viewpoints. Ben likened GTD to "a real time control system master scheduling module", while Oliver described GTD as
a really sophisticated priority queue, and a decision procedure for deciding what to execute immediately and what to place in the queue. Each item in the queue has metadata: whether it has multiple steps, whether it requires additional information, its priority, external deadlines, and the context that the item requires: people, place, time, and energy
Oliver had begun by looking at how to make a responsive user interface, and then went on to describe the application of a sophisticated GTD priority queue to user interface architecture. I really agreed with many of the ideas that Oliver talked about in his post. I found the reference to SOAR and blackboard architecture to be interesting. We are reaching the point where lots of systems need to incorporate "AI"-like functionality in them. Witness the JSR for rule-engines, as an example of this trend.
I've always found it hard to remember where stuff on my system came from. I download a large amount of stuff, and keeping track of it is a real pain. On Mac OS 9, the origin of a downloaded file used to be stored in the Finder's Get Info comments. Recently I discovered the Download Comment extension for Safari, which restores this functionality for Safari. Unfortunately, I don't use Safari as my primary browser (I do use it as a secondary browser -- yeah call me crazy). At the moment Firefox is my primary browser because of the ability to save groups of tabs of bookmarks, the tabbrowserextensions plugin and the excellent Adblock plugin. Unfortunately, I'm stuck on Firefox 0.8, because that's the last working Firefox, tabbrowserextensions setup that I could get to work. I haven't tried the Firefox 1.0PR, but probably will this weekend.