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.

Fri 14 Jul 2006

Bonjour Mystery Update

Category : Technology/BonjourMysteryUpdate.txt

I ended my last post with "I'm starting to hate this thing called Bonjour". Actually, I don't - hate Bonjour, that is.

I've watched Stuart Cheshire's demo of Bonjour on Google Video a couple of months ago, and I've been looking forward to seeing if I can extend DNS Enabler to aid wide-area browsing/discovery of Bonjour services.

I'm planning to update DNS Enabler, WebMon and MailServe, all in the latter part of the year, as soon as I can get a Luca Accounting version released that works with MySQL rather than just SQLite. I'm getting quite close to it.

For more on Bonjour, see this, this, and this. So, I do think Bonjour's good and I'm just being ironical when I say I'm starting to hate it. But what I do hate is that Workaround Error and the hanging that accompanies it.

Stuart Cheshire tells me that the error has nothing to do with Bonjour, which is reasonable considering that you get the error even when you disable Bonjour. "The person who wrote the code that logs that message thought the problem it's reporting might be something related to Bonjour, but it's not." So, Bonjour gets a bad rep and I'm sorry I added to it.

But we're not anywhere nearer finding an answer to the mystery. I hope Apple hurries up and solves it. I'm seeing a lot of people hitting these pages from Google, searching for Bonjour+Workaround, and not just from MacFixIt (who's just linked to it). So, from just a trickle a week ago, there are now a lot of people wondering how this came to insinuate itself into our systems since 10.4.7.

It's an Apple bug and I've given up thinking there's anything I can do about it. Since DNS Enabler, MailServe and Postfix Enabler continue to work, though a bit hobbled on 10.4.7 and only on 10.4.7, I'm going back to working on Luca.

Posted at 1:58PM UTC | permalink

Tue 04 Jul 2006

Bonjour Mystery

Category : Technology/BonjourMystery.txt

The 10.4.7 "launchctl load / Bonjour Workaround Error" mystery deepens. I've been searching for an answer for hours. Nothing turns up from a Google search and I wonder who else is affected by it.

Launchctl is used to turn or off the network-related daemons, like Bind, Fetchmail, Postfix, POP, IMAP, and even the Bonjour (previously known as Rendezvous) service itself.

I've turned off Bonjour (not that I want to, because it's built so closely into the fabric of Mac OS X, e.g., BBedit crashed as soon as I turned off Bonjour), to see if it'll stop the workaround error from occuring. But no change, it still does.

Even reloading Bonjour will throw up the "Workaround Bonjour: Unknown Error" as shown below :

So, in 10.4.7, Workaround Bonjour occurs every time a call to /bin/launchctl is made, no matter which services are launched. And it affects both PPC and Intel Macs updated to 10.4.7.

The thing is, the launchctl command actually succeeds and completes. But it'll be followed by the Workaround Bonjour command(?) which executes and then just hangs there. Where did that come from? That's the big question.

From the point of view of a user using DNS Enabler, or trying to enable Postfix, IMAP, POP or Fetchmail (as opposed to just restarting Postfix, POP or IMAP), he'll see the progress indicator spin for a long time, until the application decides to time out and return control to the user.

Actually all the services have completed successfully - if the user has the patience to wait for a minute or so - and all the Postfix, DNS, POP, IMAP, Fetchmail services would have been set up correctly, even before the Bonjour Workaround Error hang-up occur.

But watching the progress indicator spin for a minute or so, I'm sure the user would (reasonably) feel that something has gone wrong. Wait is what the user should do, because the Bonjour Workaround would eventually time out.

Remember this only came with 10.4.7. And the services, once enabled, will work correctly as usual, even across reboots. It's just that the "enabling" process will seem to take longer (when it used to take a mere few seconds).

So, don't be in a hurry to update your server. Wait for things to be fixed.

Conversely, that's why I do the updates as soon as they appear - it's better that I know before I'm swamped with mail from the users. The search continues. I'm starting to hate this thing called Bonjour.

As an aside, I'm learning to appreciate how having a weblog helps in a situation like this. It's a low-overhead communications tool, to keep the communications channel open, for when the time is better spent searching for solutions. I say this because I've often wondered what a weblog is worth - surely it's not meant to be a diary because who cares what I think or do? - surely there's got to be a more potent use.

Posted at 8:33AM UTC | permalink

Mon 03 Jul 2006

Bonjour Error in 10.4.7

Category : Technology/BonjourError.txt

This snippet from my Terminal session shows when the Bonjour error occurs, when I try to restart Fetchmail :

The problem is at the "launchctl" line, which launches the Fetchmail launchdaemon (which is also used to launch the BIND launchdaemon and that's why DNS Enabler is also affected).

The launchctl command executes and returns quickly, as it is expected to, but after that we get the "Workaround Bonjour: Unknown error: 0" line, which hangs indefinitely until both MailServe and Enabler give up and return control to the user. In both cases, Fetchmail and DNS services are launched correctly, but the user thinks that the system hangs because the progress indicator spins for a very long time before control is returned to the user.

So the question is : why did this Bonjour thing appear in 10.4.7 and how do we get rid of it?

Posted at 8:03AM UTC | permalink

Fetchmail and 10.4.7 Problem

Category : Technology/MailServeBonjourError.txt

I'm seeing a problem that has been introduced with the OS X 10.4.7 update that affects Fetchmail. I get a "Workaround Bonjour: Unknown error: 0" when I try to restart Fetchmail.

From the MailServe interface, if you try to Restart Fechmail, you will see the progress indicator spinning for a long tme before it stops. If you look into the Console log, you'll see that Bonjour-related error, though how Bonjour got into the picture is beyond me at this point. This affects both PowerPC and Intel Macs.

I'm going to trace through this and hope I find a solution.

I've just realised that this Bonjour error affects DNS Enabler, too, when I try to restart the BIND server.

Posted at 7:12AM UTC | permalink

Fri 30 Jun 2006

Google Checkout vs PayPal

Category : Commentary/GoogleCheckout.txt

I've been waiting for this for some time. Google Checkout has just been launched. It's good to have an alternative to PayPal, at last. Here's a link to the Developer's Guide.

Oops, but I can't use it yet until they make this available internationally. Probably a matter of time.

Posted at 1:58PM UTC | permalink

Thu 29 Jun 2006

Mac OS X 10.4.7

Category : Technology/10dot4dot7Problem.txt

I updated my Intel iMac and my iBook to 10.4.7 with no problems, via Software Update. But when I upgraded my server, a PPC-based Mac Mini, the installation aborted half-way, leaving me with a Finder that looked like this when the Mac Mini restarted :

Yikes! I downloaded the Combo updater and did the upgrade again this afternoon when things were relatively quiet. This time, though, all went well.

All the mail server, DNS, PHP, and MySQL stuff still work. So I think it's OK to upgrade, in case you're wondering.

Posted at 2:02PM UTC | permalink

Thu 22 Jun 2006

The Luca Class Model - and what it means

Category : Technology/LucaClassModel.txt

I generated this class model diagram from within Xcode. It shows a portion of the Luca class hierarchy. I was going to draw this manually when I remembered that Xcode has this feature - so, with just one click, it's done :

We've ported Luca, from its beginning as a 4th Dimension (4D)-based application, through PHP, Java, Java-Cocoa, and now to Objective-C, all the while using it to learn about the capabilities of each language.

While MailServe and DNS Enabler were technically difficult because of the need to know enough Unix, these were single-window applications, after all.

Luca is a better example of a real-world business application. It gives us a chance to see how well an object-oriented language like Objective-C performs when we use it to model real-world business processes.

The point is, you can use an object-oriented language like Java or Objective-C without using any of its object-oriented features. Until Luca version 2.1 (that we've just released), Luca was a straight port from its 4D days, and its code was largely procedural, except where we make the Cocoa calls.

Luca 2.1 was where we try to take advantage of the underlying object-oriented language. For example, we recognise that a Balance Sheet or Profit/Loss report is a special case of a Trial Balance report, and we factored the code so that we make one a sub-class of the other.

What we've found, from re-organising the code this way, was that we can cut down the total number of lines of code in the project by half, through elimininating a lot of repetitive code (by making specialised code inherit the behaviour of more general-purpose code).

What this says is that people can, and do, teach the use of Java, etc, in colleges and universities, without exploiting its power as a modelling tool. And even when they do, they miss the point, for want of good examples. How many polytechnics or universities teach the Mac as an example of good object-oriented design? Yet I know, for sure, that we had actually learnt a lot about how to build our own classes from observing how well the Cocoa classes work. The Mac has been largely ignored in the IT (as opposed to art/design) curriculum and the IT industry everywhere remains all the poorer, in terms of imagination, for it.

In art and architecture, there had been the Bauhaus school and Frank Lloyd Wright's Taliesin. In the use of computers, we can do something similar to create a new kind school that combines both art and technology, with a wide reading of the humanities, to build systems that humans would find a joy to use. For example, right now Luca's got a basic utilitarian interface, but I'd like to, some day, build it so it looks as appealing as some of these Dashboard widgets, and yet work as sleek, quickly and accurately as possible.

The second point I'd like to make, through the Luca example, is that IT is a very hard activity to manage. How would a mere "human resource" manager know that the number of lines of code that a programmer writes is a very tricky indicator of programmer productivity and ability?

"The best code is the code you don't have to write", so says Steve Jobs famously while introducing (what became) Cocoa to the Mac world, because each code we write introduces a possibility for error. The best programmer will use the least number of lines of code to do the most number of things, without sacrificing readability or maintainability of the code. Lines of code get whittled away by the quality of the thought.

But which manager, weighing the lines of code each programmer produces, will be able to tell the good guy from the bad?

There was a story a few weeks back about the Singapore Stock Exchange ditching its new system after spending $2 million on its development. The report mentioned how the developer responsible for it, an Indian company, had somewhat dubious credentials since it only had 250 programmers, unlike the one that replaced it which presumably has thousands. I'd never get any of these jobs because I'd want to do it with 5 good guys if 10 is humanly possible.

Posted at 6:54AM UTC | permalink

Mon 19 Jun 2006

About the AEBS Firmware Update 5.7 & iChat AV

Category : Technology/AEBS5dot7.txt

The last time I updated my Airport Base Station with the 5.6 firmware update, I promptly lost connection with my ISP. Something went wrong with PPPoE and the Base Station refused to connect with the ISP. I had to revert the firmware back to 5.5.1 to salvage the base station.

This time, the 5.7 firmware update went much better. Apple seems to have fixed the PPPoE problem, whatever that was.

I've needed to update the base station to test out iChat AV on my iMac, which seems to require a base station with at least a 5.6 firmware update, if you're sitting behind an Airport Base Station.

Hai Hwee has a new MacBook, and a black one, too, and I've now someone to talk to over iChat AV.

It's working well and this is great (I'd be able to see my wife and kid even when I travel). Even over Airport. Imagine connecting up a few retail outlets with these Intel-based iMacs, and using the built-in camera to double-up also as a bar-code reader. I'd like to figure out how this can be made to work, but I can already see the business processes this can be made to support. As usual, there's so much to do, and so little time ...

I had this email last week from Yves Filiatro, whom I was helping with MailServe :
"I don't know how old you are but I am amazed by the changes that happened in the last century, it is not long ago that the first flight was made by the wright brothers and now I don't even have to go to take my car to the post office to buy a stamp to post my letter and to wait a few weeks to get an answer from you. Just a thought as I think we take all of this for granted too often. Good night from the other side of the world".

Posted at 2:53PM UTC | permalink

Dying by a thousand cuts

Category : Commentary/piracy.txt

We've crossed the 5500 figure for the number of registered users of Postfix Enabler, DNS Enabler, et al. But, if you go to Version Tracker or MacUpdate, you'll see download figures at least 10 times that number.

That's the point of that article : "Piracy bleeds Mac game makers dry". Piracy bleeds all software developers dry.

"The software's overpriced; I want to try it before I buy it (but then never get around to buying it); I can't afford it on a student's income." And so on...

I've read that software publishers factor the cost of lost sales due to piracy into the retail cost of their products, in effect punishing the people who pay for software by getting them to bear the cost for those who don't.

I've never wanted to do that. I'm working towards the day when we'll lick this problem. Price the software low - but make everyone who use it pay for it.

Nothing gets me down more than having someone who pirates the software write in to ask for support. We have an efficient back-end database, so it's very easy for me to tell when someone's had the gall to do that. Chutzpah's not the word. You go through highs and lows. These are the lows.

Postscript : But how do you get out of this funk? Salespeople keep themselves pumped up reading Anthony Robbins, and (the early) Zig Ziglar. Me? I dive into books like How I Made It, to remind myself that others may have gone through worse. And let Bruce Springsteen scream my pain away in Thunder Road.

Posted at 10:09AM UTC | permalink

Thinking Different about Thinking Different

Category : Commentary/aboutThinkingDifferent.txt

I was reading this article about "Why Startups Condense in America". Going down the list of reasons :

1. The US Allows Immigration,
2. The US Is a Rich Country,

until I reached
3. The US Is Not (Yet) a Police State,

and I read :

"Another country I could see wanting to have a silicon valley is China. But I doubt they could do it yet either ... Singapore would face a similar problem. Singapore seems very aware of the importance of encouraging startups. But while energetic government intervention may be able to make a port run efficiently, it can't coax startups into existence. A state that bans chewing gum has a long way to go before it could create a San Francisco."

See what I mean? About people rejecting perfectly workable solutions to societal problems on the grounds of ideological purity. "Banning chewing gum? What sacrilege."

Actually, thinking different for a moment, I've often felt that a student of business could learn a lot from studying two lessons - 1. from Apple (about how to break through against a strong incumbent in the face of overwhelming odds), and 2. from the founding of modern-day Singapore (about how to create something from out of absolutely nothing - no hinterland, no agriculture, no water, on an island the size of a postage stamp).

There's a book I have, "Heart Work" (you can't find it on Amazon), that tells the story about how these guys in the economic development board brought business to Singapore over the last 40 years and there were some amazing stories, stories of spunk and resourcefulness, of what Guy Kawasaki would call chutzpah, e.g.,

"... the story of Philip Yeo selling land to a chemical company CEO while it was still underwater ..."

So, there are start-up lessons to be learnt here. The point I am making is that Thinking Different cuts both ways, and we can question the received wisdom, even those of the progressive, liberal persuasion.

Posted at 9:04AM UTC | permalink

Sun 18 Jun 2006

Sinistra

Category : Commentary/sinistra.txt

I've often wondered about the terms "left" and "right", as in "the countercultural left".

I happened upon the answer among a pile of newspapers that I've just had the time to catch up on. Janadas Devan, in the Sunday Times, explains :

"The political distinction between "left" and "right" arose from the seating arrangement in the French National Assembly during the Revolution. Those for the Revolution sat on the left, and those against, on the right."

He was explaining, in an article on The Da Vinci Code, how Dan Brown got it wrong in assuming that radical thought is called "left wing" because the left had always had negative overtones, from the Italian sinistra, meaning sinister.

So, there's nothing sinister about having radical left wing ideas.

Posted at 12:11PM UTC | permalink

Mon 05 Jun 2006

The Rebel Sell

Category : Commentary/TheRebelSell.txt

I hadn't done much work lately. But I did do a lot of reading. I found a book The Rebel Sell (also known as Nation of Rebels on Amazon) - "how counterculture became the consumer culture" - which I found fascinating because I always thought of myself as having counter-cultural leanings.

But what does that mean?

Rebellion, perhaps, authenticity, the search for meaning, the need to question everything, to find the path less travelled - these are some of the things that come to mind.

And these drive our choice of music, the films we watch, the clothes we wear - in other words, the things we buy - to simultaneously define who we are and set ourselves apart.

I love reading many different kinds of books to find the connections between them. Here's one book where the authors do the same, for example, where they linked Hitler's use of symbols, myths, motifs, art and design in Nazi Germany, with the emergence of broadcast media, advertising, and consumer marketing.

There's one point that the authors bring up often, that the countercultural left often reject perfectly workable solutions to societal problems on the grounds of ideological purity. You can see echoes of this whenever people like William Gibson and Paul Theroux call Singapore a "boring antiseptic police state". I live here, so if I honestly think through if I can do a better job than the ones who're running this place, then on an 80/20 rule, I'd say Singapore does OK as far as I'm concerned.

So I think the point the authors are making is that the counterculture is the consumer culture, and they show how or why, but as a positive force for societal change, its effects are zilch (and therefore damning for its posturing). Or something like that.

Posted at 6:49AM 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.