The
Ultimate
Business Machine

Technology, business
and innovation.

And, not least, about
the Mac.

Weblog Archive Cutedge

by: Bernard Teo








Creative Commons License

Copyright © 2003-2012
Bernard Teo
Some Rights Reserved.

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 :

"We're looking ahead to the first MacTels - Macs on Intel chips - probably as early as January.

"We're probably going to be able to run Windows at native speed on these machines. They're going to be the only machines that cover all the bases (Mac OS X, Linux and Windows). They're going to be sexy as hell. They're going to be cheaper even than Dells, or in any case, provide unprecedented value for money.

"And, when we're done crossing over, we'll get to run Mac OS X on those other ordinary PCs."

Well, Macs are running on Intel chips.

"... We're probably going to be able to run Windows at native speed on these machines ..."

And so we are, aren't we?

"... And, when we're done crossing over, we'll get to run Mac OS X on those other ordinary PCs ...

So, is this going to happen or not? We live in interesting times.

PS: What Boot Camp means to me : I'll never ever have to buy a PC again. Ever.

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

One LinuxWorld attendee, who is a J2EE (Java 2 Platform, Enterprise Edition) middleware developer for a Fortune 500 company, wondered why Apple would make such a move. "Why should an app developer write for both Mac OS X and Windows if he doesn't have to?" he asked. - eWeek

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.

Like, how would anybody know to do that? Imagine explaining this to grandma. Better to work a little bit harder at our end. Better still if people would just use a Mac.

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 :

Thanks for your quick response, my whole family's email is on this iMac - (My wife and I have a family of eight =)

I did not discover what caused it, or what the problem wound up being, but...I did recover...after all the tweaking and experimenting...

Anyway - thanks again for a GREAT program and also being willing to offer suggestions to self-inflicted mayhem...

Live In Harmony,
Luke Mazzeri

p.s. Thanks for setting me and my family free from ISP-controlled email
p.p.s. Long Live Apple!

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.

I borrow "Live Strong" from, of course, Lance Armstrong, multiple Tour de France winner, whose books (love him or loathe him) make very interesting reading. There's another one I've just finished - Lance Armstrong's War by Daniel Coyle - exhilarating reading for a sports fan or cycling buff.

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 :

--- Stephen Cranfill :

I ran across this today and it works!! http://dav.lyra.org/pipermail/dav-dev/2002-July/003772.html. One note: this doesn't seem to work if you use the standard "map network drive" command. Instead, I had to use the "add network place" wizard and it it worked. Stupid Windows!

--- Chiang Hai Hwee :

I can duplicate the problem with Windows XP Home Edition SP2. But there's a solution for this, and it also solves for SP1. And, sorry, you may have wasted your time changing the WebMon code. Here's how to get in, without the need to create the additional DOMAIN/Username:

1. Go to My Network Places, and Add Network Place. In the location, type the port after the domain, e.g. http://cutedgesystems.com:80/dav2

2. Enter the usual username and password combination, i.e. username=webdav, password=xxxx :

Note: It's a known issue that the authentication dialog will appear more than once, each time you connect, open a folder, or edit a file. Check the "Remember my password" option will cut down on this.

I've tried with cutedgesystems/dav, where we didn't create the additional Windows user, and it also works. The reason for adding the port number is to force Windows XP to use the "Microsoft Data Access Internet Publishing Provider DAV 1.1" mechanism (used by Windows 2000) instead of "Microsoft-WebDAV-MiniRedir/5.1.2600", which disables Basic Authentication.

I got the solution from http://ulihansen.kicks-ass.net/aero/webdav/. Tried the other client solutions, but seems only adding port number works. Xtremely Painful!

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.

I've released WebMon 2.1.1 - the code is unchanged - I've reverted all my planned changes since they're not needed now, but I kept the new help panel for Windows clients.

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.

Actually, I've also updated Postfix Enabler 1.2, silently, with both a Traditional and Simplifed Chinese Localisation. Didn't think it was worth changing the version number for. But what I hope to have is for every one of our applications to have a Chinese localisation. Will Luca ever hope to replace the abacus in a Chinese business man's heart? Will have to find a Sinicised name for Luca, then.

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.

I'm adding the ability to set up multiple WebDAV folders to WebMon. And to choose whether to turn on auto-listing of directories. It's almost done.

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.

MailServe - I have an update to MailServe, ver 2.1.2, coming. It'll contain support for the Via parameter for Fetchmail, a new Traditional and Simplifed Chinese Localisation (visions of 1 billion customers? that'll be a long time coming, but still, it's good for the soul to do something for the mother tongue), and a user interface bug fix for the log monitor table (seems like we've found a new bug with Interface Builder).

Posted at 6:52AM UTC | permalink

Read more ...

Mac@Work
Put your Mac to Work

Sivasothi.com? Now how would you do something like that?

Weblogs. Download and start a weblog of your own.

A Mac Business Toolbox
A survey of the possibilities

A Business Scenario
How we could use Macs in businesses

VPN Enabler for Mavericks

MailServe for Mavericks

DNS Enabler for Mavericks

DNS Agent for Mavericks

WebMon for Mavericks

Luca for Mavericks

Liya for Mountain Lion & Mavericks

Postfix Enabler for Tiger and Panther

Sendmail Enabler for Jaguar

Services running on this server, a Mac Mini running Mac OS X 10.9.2 Mavericks:

  • Apache 2 Web Server
  • Postfix Mail Server
  • Dovecot IMAP Server
  • Fetchmail
  • SpamBayes Spam Filter
  • Procmail
  • BIND DNS Server
  • DNS Agent
  • WebDAV Server
  • VPN Server
  • PHP-based weblog
  • MySQL database
  • PostgreSQL database

all set up using MailServe, WebMon, DNS Enabler, DNS Agent, VPN Enabler, Liya and our SQL installers, all on Mavericks.