Mon 17 Apr 2006
The Constant Gardener
Category : Commentary/TheConstantGardener.txt
No, I haven't read the John le Carre book, nor have I watched the film. But this what I've learnt from pottering around the garden - that if you want something to grow, you've got to prune, prune, prune, and prune yet again. It's about letting light into the dark places. It's about watching for the deadwood, and cutting them off. Works for plants. Works for organisations, too (most definitely for organisations). And it works for code. I've put aside the server-side stuff in the last week, and I've been going through Luca instead, looking for patterns in Hai Hwee's code and pruning them off. This has been Hai Hwee's version of The Long March. She's brought Luca from 4th Dimension, through PHP, to Java and now to Objective-C. It's like we had to go through this Hejira to figure out what we really wanted to do. I remember years ago, showing the NeXT machine to a division full of people, and I was asked why we were doing this. I said that there was something there in the Object-oriented way of programming that we ought to take notice of. If I were to be asked the same question now, I would be a lot clearer and a lot more emphatic in my reply. I think I know why, now, this is all going to be good. People who teach programming are missing the point when they focus on syntax in the programming language. The important issue is design. There's such a thing as finding the most appropriate, most natural shape for a program. It affects maintainability. And design is what gives you the leverage to build powerful features into the application. And as for humans, the best and most pleasing shapes are often the slender ones, carrying very little weight. There's an aesthetic to application programming design. If you're equipped with the sensitivity, you can see it in the way Cocoa works, which can serve as inspiration to the way you learn to code. For example, Cocoa has a concept called notifications - where you can set things up so that one part of your program can listen in for changes that happen elsewhere in the program. So I have been working on this : where the changes I make to an account record will be reflected instaneously in all other open windows, keeping all the data views in sync. There's a real world reason why you might want to do this. Accounting, as I have come to see it, is about making an account of the data, telling the story about how the data is related and what it all means to the health of a business. So you're going to be opening quite a few windows, to look at the business from a variety of angles, and at a variety of depths. And you want the changes you make in any corner of that world to be rapidly propagated to the other views. It's about the veracity of the data and about being able to trust what you see. And you can only trust what you see if all the figures line up wherever you look, no matter what you do to the data. It's a small thing but it can throw you off rapidly if you're always needing to refresh the windows to keep everything in sync. When it's done right, it's possible for the user to forget that he's working with a machine, and immerse himself into the flow of the data and divine its meaning. This kind of programming can be very hard to keep in sync, traditionally, because there are an infinite number of permutations. It's so easy to get the signals crossed. In all the versions of Luca we've done, we've never got it perfect. Until today. What has made the difference is Cocoa and object-oriented programming. When you're working with objects, and well-designed objects for that matter, you can look for patterns and factor them out, re-arranging them and the shape of the application, like you're re-working the shape of a plant. There's nothing you can do in traditional "linear" programming that can quite match this in conceptual power. I think we've found the holy grail. My kid was watching a program on Discovery Channel the other day about the making of a Maybach - those expensive, almost hand-crafted, powerful, luxuriously equipped cars from DaimlerChrysler. That got me sitting next to him, watching, too. That's what we want to do. Build applications of such quality. Luca may not yet look it, with its ugly buttons and so on. But underneath, in its engine and its chassis and its cabling, we're getting there.
Posted at 4:42PM UTC | permalink
Sat 08 Apr 2006
Clairvoyance
Category : Commentary/clairvoyance.txt
I was just thinking that I had written something like this, in a posting called "Prescience" on 12th of November 2005 : Well, Macs are running on Intel chips. And so we are, aren't we? So, is this going to happen or not? We live in interesting times.
Posted at 2:27PM UTC | permalink
Fri 07 Apr 2006
"Why should an app developer write for both Mac OS X and Windows if he doesn't have to?"
Category : Commentary/worlddomination.txt
My answer would be : when he would much rather program with Cocoa than anything else in the world, and as long as there are Mac users who appreciate it, which I would bet my life on.
Apple's market share is "miniscule" right now. And yet writing software for it already makes a nice business.
Are there going to be less Macs sold in the world now that a Mac can also run Windows?
There's no point wasting energy arguing against the "This is the beginning of the end of the Mac" people.
All I know is that if Adobe or Quark or anyone who doesn't want to program for the Mac, then that's good because I will. There are so many things I feel that it's now possible to build because Cocoa makes it possible. Anyone remembers Improv? I'd love to build that.
If there are less developers, so much the better for us. But is it better for the users? Well, if these guys prefer to build on Java Enterprise Edition, blah, blah, blah, and we build on what we think works best, let us compete and see who comes up with things that will work better for the user. That's how the user will benefit.
Posted at 8:39AM UTC | permalink
Tue 04 Apr 2006
OS X 10.4.6
Category : Commentary/OSX10dot4dot6.txt
We've updated all our systems to 10.4.6, out today, including our Mac Mini server and our Intel iMac Core Duo. Things look like they're all still okay - SMTP, POP, IMAP, SSL, Apache, WebDAV, PHP, DNS, etc. So it's safe to update.
Posted at 11:37AM UTC | permalink
Taking Care of Windows
Category : Technology/WebMon2dot1dot2.txt
I've updated WebMon so that Windows Explorer users who access our SSL-encrypted pages will not need to set the "Use TLS 1.0" option from the Tools/Internet Options menu. WebMon 2.1.2 is now out.
Posted at 8:17AM UTC | permalink
Live In Harmony
Category : Commentary/LiveInHarmony.txt
I enjoyed this message from Luke Mazzeri : Yes, long live Apple. And cheers, Apple, belatedly, on your 30th birthday.
Posted at 6:42AM UTC | permalink
Sun 02 Apr 2006
Live Strong
Category : Commentary/LiveStrong.txt
I hate Windows and all that it stands for with a vengeance. But I resolved long ago that, if we want to be able to go on using our Macs in business, we've got to be able to handle all that Windows will throw at us without breaking into a sweat. That's how we've been able to hang on to our PowerBooks through some bleak years working with Windows-centric client companies, some of whom were happily using Macs till some "consultant" or IT manager came to throw them out. I've seen them all - Richard Ellis, AGF, among others, and most painful of all, Motorola - home of the PowerPC and 68000 chip. And IT managers gleefully selling off perfectly usable, even brand-new Macs for 20 bucks. It's a question of attitude. I wouldn't do this - ethnic cleansing for the machines. Even if we could do it, "forward migration" as somebody calls it, and move a company from PCs to Macs, I would still find use for the PCs, and use them till they really die. It's about conservation, and cutting down on waste - not least about the waste of the human spirit. That's why although I'll still work on Windows, it's all "aridity and disenchantment" - there's nothing noble behind that spirit.
Posted at 12:02PM UTC | permalink
WebDAV and Windows XP - A Solution
Category : Technology/WebDAVandWindowsXP.txt
We've found a solution for setting Windows XP to access a WebDAV folder. Thanks to Stephen Cranfill and Chiang Hai Hwee who sent me the solution within two hours of each other : Now, a couple of other Windows notes : This should also work for Windows 2000 clients, but Windows 2000 doesn't really need the port number. The WebDAV user name and password are entered the same way as for the Mac clients. If you have SSL turned on at the server, you can enter the URL like this : https://domainName/dav (i.e., with https, you don't need to enter the port number - how inconsistent - there's not enough life times to keep all these straight.) The user name and password, plus all the subsequent WebDAV communications, will then be sent encrypted. If you cannot access the server via https, you need to go to Internet Explorer's Tools/Internet Options menu, and under the Advaned tab, under the Security section, turn on "Use TLS 1.0". Windows does really make you work. It's totally inconsistent and largely illogical. It doesn't try even one bit to conform to open, non-Microsoft, Internet standards - "embrace and extend" being more important than playing nice with the neighbours. It tries to be too smart, remembering URL, user name and password combinations when you don't want it to, even when they are wrong, and ends up tripping the user. It reminds me of how corporate IT departments work - layers of managers and project leaders throwing ideas for features, often without a grasp of the issues or the trade-offs, hoping to impress the superiors or whoever is listening in to the project reviews, and passing all these to one little poorly-paid outsourced programmer to code everything but the kitchen sink.
Posted at 10:31AM UTC | permalink
Thu 30 Mar 2006
Windows XP - Xtremely Painful
Category : Technology/XPWebDAV.txt
I've been trying to get Windows XP to work with the WebDAV folders created by WebMon. WebDAV works very well when accessed from the Mac's Finder, as well as from Windows 2000. But XP is a pain. I thought I had it solved and readied a version of WebMon to include support for XP : But out of four people testing it, two are now OK but the other two still have problems acessing WebDAV from XP. So this is going to be held back. The problem is that Windows XP has a broken WebDAV client implementation and we have to go through some hoops to get this to work. Even when it works, it still exhibits some ugly niggling issues. (Windows 2000 works, Windows XP is broken - so they seem to have gone backwards). This gets me thinking about "Mac marginalisation" - the tendency of IT departments everywhere to ignore support for the Mac. Well, if they're working with Windows, it's no wonder they are always exhausted and have little time or interest in anything else. Throw Windows out of the window, and you free up a lot more space to do the more meaningful things in life. Secondly, it's all about attitude. I don't care about Windows. But we do want to see things "just work", at least for the things within our control. So we'll just soldier on and see if we can find a breakthrough.
Posted at 3:00PM UTC | permalink
XMail and other AppleScript OSAX's
Category : Technology/lestang.txt
Jean-Baptiste LE STANG wrote to me today about a problem authenticating with the SASLDB database, using the CRAM-MD5 mechanism that Postfix Enabler enabled, from an AppleScript OSAX (Scripting Addition) that he's writing. This has since been resolved. But he has an interesting site, with tools that some people who come to my site may also be interested in. So, I point you on to : http://lestang.org/ and hope you'll learn something new, as I have today.
Posted at 7:22AM UTC | permalink
Thu 23 Mar 2006
MailServe 2.1.2
Category : Technology/MailServe2dot1dot2.txt
I've released MailServe 2.1.2. It contains support for the Via parameter for Fetchmail, and a new Traditional and Simplifed Chinese Localisation. There was also a couple of interface bugs at MailServe's Monitor panel. The log monitor table shows an extraneous empty last column when the window is enlarged. (This looks like an Interface Builder bug but we've found a way around it). Thanks to Patricio Mason from Santiago, Chile, who reported this problem, and the next. Saludos, Patricio. Also, the Mail Queue table didn't work right in certain situations. The problem was that the mail queue output is generated by the system in a variety of ways, depending on the problem found during delivery. Sometimes you get a Remarks/Details line about the problem with the mail delivery, and sometimes you don't. And sometimes a few destinations are coalesced into one queue ID and sometimes they're split with one queue ID for each destination. So, we've got to test for as many permutations as we know about. It works OK now for those that we do know of - at least for now. So MailServe 2.1.2 is out and I'm preparing another update for WebMon next.
Posted at 2:45AM UTC | permalink
Tue 21 Mar 2006
WebMon 2.0.7 Released
Category : Technology/WebMon2dot0dot7.txt
I've updated WebMon (ver 2.0.7) to contain an updated IPaddress-to-country mapping database, good as at 16h March 2006.
Posted at 6:52AM UTC | permalink Read more ...
|