Ted Leung on the air: Open Source, Java, Python, and ...
There's another thing that I've learned (besides make more backups) from the theft of the Powerbooks. I used to think that I could switch to Linux whenever I felt like it. This incident forced me to do it, if only for a few days, and it turns out that I didn't like it much. Thankfully I won't have to do it because Paul and Jenny were so generous with the iBook.
I used Thunderbird before when I was on Windows, so I figured that it wouldn't be any big deal to go back to using it. I was wrong. In Mail.app I used Mail Act-On to fire an Applescript that would take a bunch of selected e-mails and file them in the correct folders. There's no way to do that in Thunderbird. I also had a combination shell and Applescript solution for killing comment spam on my blog. No way to do that either, because Thunderbird isn't scriptable. My workload is e-mail heavy at the moment, and even small hits to e-mail productivity are multiplied
I tried using GAIM for managing my normal IRC load. Once I got sounds working it was sort of okay. I normally put IRC on a separate display, and I use Snak because I can create multiple windows, and inside each window I can split the window into tiles, one IRC channel per tile. I haven't seen any other IRC program on any platform that will let me do this UI. And for watching several IRC channels at once, this can't be beat.
I tried using my Bloglines and Rojo accounts. I found both of these to be too slow, even when loaded with a much older version of my blog subscriptions. I was able to get a newer version of my feeds and upload them, but both aggregators didn't respect the grouping information that NetNewsWire left in the OPML.
I was already doing most of my development work on Linux, so that's not taking much of a hit, but for all the productivity stuff, going to Linux would be a big step backwards. I guess it says something when I'd rather use a G3 iBook versus the 3.5GHz AMD64 box...
If it can be done with a computer, Thunderbird can do it.
Posted by Fred at Sat Feb 18 03:07:06 2006
I am starting to think about getting a MacBook, though. If they start supporting Windows and Linux on it, for sure.
Posted by Glyph Lefkowitz at Sat Feb 18 03:21:10 2006
P.S. Sorry to hear about the laptops! I hope you get more justice than what tends to happen for car-related crime where I live: a letter from the police a few weeks later saying that they won't pursue the case unless, presumably, someone in a striped sweater and a bag marked "swag" comes and turns themself in.
Posted by Paul Boddie at Sat Feb 18 03:55:54 2006
I slipped into "Apple speak". When I say scriptable, I mean that for example, I can write a Python script that runs outside of any single application, but which can access data in several applications to orchestrate a workflow amongst those applications. That's different from saying that the app is written in a turing complete scripting language like Javascript.
Posted by Ted Leung at Sat Feb 18 12:49:26 2006
Well, I wasn't going to install KDE, unfortuately. Perhaps one of these days I will. I'm sympathetic to the KParts architecture, which reminds me of OpenDoc on the Mac, and the compound document architecture that I worked on at Taligent. Can I script a bunch of Kparts from a command line Python script?
Folks at OSAF are there for many reasons, and from many backgrounds. There are only a few of us using Linux on a regular basis, so people tend to either be focused on the Mac/Windows PIMs. There's an immense number of products which are relevant to what we are trying to do. Many of the most relevant are products like Agenda, Arrange, Ecco and so forth, which are long dead and gone.
Unfortunately, I have little hope of recovering our gear -- the Vancouver police won't even show up in person unless you lost $5k of stuff out of your car, otherwise you just report it on their website.
Posted by Ted Leung at Sat Feb 18 12:58:28 2006
Anyway, enabling sounds on Gaim? I'm known for getting physical towards people who do that here at ork. Brrrrrrr.
Posted by Andreas Sikkema at Mon Feb 20 00:10:11 2006
So whilst the usage of DCOP by various KDE applications is welcome, I can't help thinking that the overly restrictive interfaces exported by things like Kontact and KMail are either driven by security considerations (something which Microsoft learned fairly late), or that they are due to limitations in the DCOP technology itself. The one infuriating thing I've discovered is that (at least with PyKDE and DCOP, although I have reason to believe that it's a general DCOP issue) each exported object has to be published under a special name in some DCOP namespace or other; moreover, there are certain restrictions about what can be passed in and out of methods that make DCOP seem less like a true object system and more like an RPC/serialisation mechanism where you have to pretend you're using objects. Thus, in order to automate KHTML documents, I have to manage access to document nodes in my own code, rather than just export them in some wrapped form or other.
If you look at the reasoning behind KDE's usage of DCOP instead of CORBA [1], it's either all about raw performance - "One test of 10,000 synchronous RPC calls between distributed objects took 4.5 seconds in DCOP and over 8 seconds using MICO. The DCOP result shows how efficient it is: the practical limit for IPC/RPC calls between objects is often shown to be about 3000 discrete calls per second." - or the usual myth creation about CORBA [2] - "These functions were never really intended for Corba usage - which is more appropriate for large, dedicated distributed systems." - whereas airing these views in public [3] has resulted in much debunking of the motivations behind DCOP themselves. Certainly, as I've said publicly, systems like ILU worked incredibly well in the era before the KDE people made their choice, and as intra-process mechanisms, too.
Now, intra-process stuff brings me to KParts which, as I understand it, is all about loading dynamic libraries into the same process (thus having you risk an entire application crash when one of the components segfaults, but that's a side issue and only an occasional inconvenience). KParts appear to be orthogonal to DCOP - each KPart may well communicate with others using DCOP, although I have no experience in the matter - and I think DCOP is more relevant for what you want.
Anyway, aside from my rant about KDE's arguably dubious technical decisions, I wouldn't use anything else. Minor issues aside, the desktop experience plus Konqueror and Kontact are really very good, and I was just surprised that anyone pitching an open source PIM project wouldn't be aware of their nearest neighbour, as it were.
[1] http://www.kde.org/history/kde-two-report.php
[2] http://kdemyths.urbanlizard.com/myth/31
[3] http://www.linuxjournal.com/article/6583
Posted by Paul Boddie at Mon Feb 20 11:20:16 2006
When I go to the office, (which is 3-4 times a year for a week at a time) I turn off sounds. But most of the time I work at home, in an office with a door. I rely on IM/IRC to stay in touch with people I work with, and they with me. In that situation, sound (and speech) alerts help keep me responsive to other people.
Ted
Posted by Ted Leung at Mon Feb 20 12:41:25 2006
Thanks for the info on scripting KParts. KDE is at the back periphery of my memory for desktop environments. It' shouldn't be, especiallly since I like the KParts approach.
Posted by Ted Leung at Mon Feb 20 12:44:54 2006
Posted by Edward O'Connor at Tue Feb 21 10:04:38 2006
I've done the Emacs as my OS thing before, with VM and Gnus and a few other apps. The problem with that approach is that Emacs isn't really designed to have that many "applications" running inside of it.
I tried it, but I didn't like it. I do, however, still use Emacs to edit text.
P.S. Nice emacs blog!
Posted by Ted Leung at Tue Feb 21 22:19:05 2006
Posted by Donnie Berkholz at Thu Feb 23 00:13:23 2006
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk