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.

Sat 23 Jan 2010

MailServe Snow 4.1.3

Category : Technology/MailServeSnow4dot1dot3.txt

There is now a new 4.1.3 version of MailServe Snow (as yet unreleased). I've added the ability to create new OS X users from within MailServe.

The administrator has the option to create standard OS X users (with the full complement of folders inside their home folder) or ones with only a minimal home folder (to contain only the IMAP folders) and these latter type of users are hidden in the OS X login window.

It needs more testing before I'll release it. I'm using it now on my live server.

There's one more new feature - the ability to indicate that spam for a specific user should be sent straight to the black hole, via /dev/null, with just one click. I've used this to make sure that my son Brendan never ever gets to see the spam/junk/filth that was heading his way (or at least the ones that were filtered off by SpamBayes - a few still get through unfortunately).

Because the users thus created who have a minimal home folder do not appear in the login users list, they will also not show up in Systems Preferences' Accounts pane. So, how do we delete them when necessary? I've given the mail administrator the ability to delete users but, to be safe, MailServe will not delete admin-level users.

Current MailServe Snow users who would like to try it can just contact me and I'll send the copy over.

Posted at 10:52AM UTC | permalink

Mon 18 Jan 2010

Designing Software Cinematically

Category : Commentary/Story.txt

Actually there's one book I'd like to recommend that software developers read (okay, only if you also love movies) and that's Robert McKee's "Story: Substance, Structure, Style and The Principles of Screenwriting".

Long ago in the '80s, Brenda Laurel made the analogy that designing computer systems is a lot like figuring out the manifold activities that go towards putting together a play. That was in her book, "Computers as Theatre" which, though rather dated by now, is still a classic. And one can argue that with the Internet, YouTube and all, its time has come.

So, if you're of such a persuasion, you can find much of relevance in Robert McKee's exhortation to tell good stories always. For in telling good stories, you pare away at the details, so that what you have left is all that you need to keep the viewer on the message.

Where computer-systems design and story-telling diverges is when after you've set up a sense of expectation (via the layout of the "scene"), in computer-systems you must go on to fulfill the expectations, but in a play, the playwright often does just the opposite, building suspense and creating the drama that keeps the audience transfixed.

But the point is, the principal creative activity in both endeavours is the setting up of the scene (because in computer-systems, if you create in the user the right expectations, he will already know what to do, and you save yourself the bother of having to write a thick user guide). And the principles are quite similar in both cases, which shouldn't be surprising if you're a software designer who also loves watching movies.

Just one more thing. Reading the book, you'll enjoy movies a lot more because Robert McKee deconstructs famous scenes from e.g., Casablanca and also one from Chinatown, which struck me because, watch this. In the scene the detective slaps the woman, saying, "You're lying. Tell me who she is!". "She's my daughter." Slap. "She's my sister." Slap. "She's my daughter." Slap. "She's my daughter. And my sister!" Slaps. Then the horror, as the truth dawns on the detective (and also on us, the audience).

Now watch how Steve Jobs uses this technique, in the launch of the iPhone. "We're launching three products today. An iPod. A phone. And an Internet communicator. An iPod, a phone. Are you getting it?" And the crowd goes wild.

Posted at 1:50AM UTC | permalink

Sun 17 Jan 2010

The Apple Licensing Myth

Category : Technology/AppleLicensingMyth.txt

Glad to see that Jean-Louis is still a fan. What's with the Apple Licensing Myth? Let's hear it from one who should know.

P.S.: Jean-Louis Gassée lost out to Steve Jobs when Apple chose NeXT instead of his Be to build what became Mac OS X. Yet he's generous in his assessment of what Steve Jobs had done to turn around Apple. Unlike most business failures, Apple's problems in the John Sculley / Mike Spindler eras weren't in the strategy. The "build the whole widget" idea really does work. The problem was in the execution and also, in some small part, due to the fact that Apple was way ahead of its time.

Posted at 11:32PM UTC | permalink

WebMon Snow 4.0.4

Category : Technology/WebMonSnow4dot0dot4.txt

I've just released WebMon for Snow Leopard 4.0.4 with two new features. WebMon now allows Server Aliases to be changed, rather than be set to the default *.domain, so that server admins can easily set up sites with sub-domains.

Also WebMon now allows Custom Apache Directives to be set for each hosted domain (called Domain-Specific Directives), on top of the ones that are set for the server as a whole (called the Server-Specific Directives).

And I've re-arranged the GUI so that, as the user's eye moves down the window, his mind concentrates first on the domain-specific settings before moving on to the increasingly server-specific. (Or at least that's what I hope will happen.)

P.S.: I'm now working on some enhancements to MailServe Snow. I hope to be able to release them by next weekend or the one after. Then I'll work on one new feature for DNS Enabler Snow.

Posted at 4:17AM UTC | permalink

PostgreSQL Installer

Category : Technology/PostgresInstaller.txt

This is Hai Hwee's PostgreSQL installer. It's almost done and will include a Preference Pane.

There's a Postgres installer for OS X at the Postgres site but it doesn't work very well. It changes some memory settings on the Mac, requires a reboot (always a sign that things are not quite right), and the Mac will refuse to go to sleep on its own after that. So we need our own installer.

So now, knowing how the OS X installer and preference pane work, we can easily make installers for custom builds of MySQL and PostgreSQL.

Between Maven and these installers, there's just one missing piece - something in Maven that will allow us to create database users and their access rights quickly and in a consistent way across the two databases. Once we have that done, it will be very easy to set up new database-driven web sites with just a few quick clicks. We should be able to get there soon.

Posted at 4:15AM UTC | permalink

Mon 04 Jan 2010

Twitter, Facebook, and the Blog

Category : Technology/TwitterFacebook.txt

I'm exploring the social media tools - Facebook and Twitter - figuring out how they work and how I can make use of them.

I've had an entry on Facebook for some time, but I've just come back to it.

I think it's also the iPhone. I've set the iPhone up so I can see incoming messages on SMS, email, Facebook, and Twitter, and I can respond accordingly.

My tweets appear automatically on FaceBook and on this blog.

And I can send my photos from the iPhone to either Twitter or Facebook. So the mechanisms are all pretty slick.

If I can update my blog from my iPhone, I'm all set. But I want to use my own tool and I think I know how. It just needs time.

For a start, I'm going to use Twitter to give quick updates to Hai Hwee on what I'm working on. This way, she doesn't always need to make the long commute over to my place.

If I become a convert to this way of life, you'll hear it here.

P.S.: Thanks, Chih Chao, Clarence & Shoop for turning me on to this. It's like drinking water from a fire hose. But I'm drinking deep.

Posted at 9:47AM UTC | permalink

Thu 10 Dec 2009

Maven for both Leopard and Snow Leopard

Category : Technology/MavenForBothLeopards.txt

The best thing about getting Hai Hwee back working with me full time on Luca and Maven is that both apps can get moving a lot faster again.

One immediate effect - she's done a separate build for Maven on Leopard (because I'm still getting people coming over looking for Maven.zip) so we can keep the Snow Leopard-specific technolgies to Maven on Snow Leopard (MavenSnow.zip).

Then we'll go back to improving Luca with all the things we've thought of doing, like concurrent processing to take advantage of the multiple processors in our modern-day Macs, and concurrent database access with deadlock prevention for those people using Luca with MySQL and PostgreSQL.

Hai Hwee's Snow Leopard-native build for Luca is coming along quite well. And as we improve the database access code, we'll generalise them so that it'll work in Maven and, one day, we may be able to make the database access APIs that we use in Maven (to access three or even more different database systems with one common piece of code) available for other people to use.

And we'll make these database-access stuff work on the iPhone. I've had this working for a year now and I've faithfully kept that prototype working through all the stupid iPhone SDK updates that kept breaking it because I didn't have to energy to dive in further, until now.

Posted at 12:50AM UTC | permalink

Tue 08 Dec 2009

Bandung

Category : Travel/Bandung.txt

Just got back from a week in Bandung, a one-and-a-half hour plane ride from Singapore. Bandung is Indonesia's 4th largest city and the capital city of West Java. It's on relatively high ground (2500 ft), so it's cooler, less humid than Singapore. And it offers great food, pleasant shopping, and friendly hosts.

Bandung is also Factory Outlet Central. There are textile factories presumably for fashion brands like Zara, Hugo Boss, Ralph Lauren, etc., outside the city and you can find their goods, marked "sisa export" (rejected or over-produced export quality items), in the dozens of factory outlets at the three or four major shopping districts - Setiabudi, Dago, Riau and Cihampelas.

We stayed for half our week at the very nice Hotel New Sany Rosa at Setiabudi (but do take note that it's close to a mosque and you'll be greatly disturbed in the small hours of the morning by the call to the devout for prayers). One other thing to recommend this hotel. It is only a 10 minute walk away from the delightful Rumah Mode.

Ahh, Rumah Mode. I would go to Bandung again just to re-visit it. It's like a Bali-themed Polo Ralph Lauren, with a nicely integrated food court. And such great service - have your jeans potong'ed (cut and altered), gratis (a word that seems to have been absorbed into their language), while you wait.

Two other notable factory outlets, as much for their decor as for their range of quality merchandise, are The Secret and the Heritage/Cascade (bottom right corner picture, above), both at the Riau district.

We stayed at a hotel near the Riau road for the second half of our stay but that hotel wasn't too good and will remain nameless.

But Bandung is not all shopping. You can visit a volcano crater, strawberry fields, and hot springs, and these are all cool (even chilly) places on the mountain ranges around Bandung.

It wasn't always so easy to get to Bandung. You had to take a plane to Jakarta and then take a bus trip to Bandung. But now, with budget airlines like Air Asia providing daily cheap flights direct from Singapore, going to Bandung is like hopping on a bus.

I've been to Shanghai, Beijing, Saigon, and now Bandung and the things you can get at each of these places are of very good quality, though significantly cheaper (I don't even bother to go out shopping in Singapore anymore), and they're all so easy to get to, with better climate (though not Saigon). These are all going to clobber Singapore's future as a shopper's paradise. I think you can bet on it. If we are to survive and remain prosperous, the solution has to be found elsewhere. But how do you Think Different if you're so conditioned to think the Microsoft way?

Posted at 9:51AM UTC | permalink

Sat 28 Nov 2009

"If you have land, how can you not have money?"

Category : Commentary/PresentAtTheCreation.txt

I've been reading "Prisoner of the State: The Secret Journal of Premier Zhao Ziyang". I think it's a very important book - essential reading for anyone who's fascinated by China's rapid development. There's a "present at the creation" quality to all these pages.

For example, if you've ever been to Shanghai you'd invariably hear about how the east bank of the river Pu, across from the Bund, had all been farmland just a few years back. Now it's full of skyscrapers. How did it all happen? How were the seeds laid from which this growth occurred.

'During the early days of reform, the first problem in attracting foreigners to open factories and businesses was that our infrastructure was not good enough. ... We had no funds to build roads for cities or to bring in water and electricity. A lot of land was lying idle.

It was perhaps 1985 or 1986 when I talked to Huo Yingdong [a Hong Kong tycoon better known as Henry Fok] and mentioned that we didn't have funds for urban development. He asked me, "If you have land, how can you not have money?"

I thought this was a strange comment. Having land was one issue; a lack of funds was another. What did the two have to do with one another? He said, "If municipalities have land, they should get permission to lease some of it, bring in some income, and let other people develop the land."

Indeed, I had noticed how in Hong Kong buildings and streets were constructed quickly. A place could be quickly transformed. But for us, it was difficult. ... We had land but no funds, while the Hong Kong government auctioned off a piece of land every year, not only bringing in income for the government, but also allowing the area to develop quickly.

I thought about this later when visiting Shanghai. The Pudong area was right across the river from Shanghai's city center. In order to develop Shanghai, building up this area would require less investment and be more efficient. It was an extremely good location. However, in order to develop this area, we needed a huge amount of funds to build infrastructure and then attract foreign businesses.

It was around 1987 when Shanghai referred a Chinese American, Lin Tung-Yen [the founder of T. Y. Lin International], to speak with me in Beijing. He asked whether it was possible to rent Pudong. The term of the lease had to be long enough: thirty to fifty years. After leasing the land, he would need to have transfer rights. Investors would then get mortgage loans from the banks. I asked him if foreigners would be willing to invest after such a land transfer and what else was needed. He said it was easy and that the conditions of the SEZs [Special Economic Zones] were not needed; the conditions for Shanghai's Minhang economic zone were sufficient. I had thought that the conditions offered could be even more preferential than Minghang's, approaching those of the SEZs, so I was indeed interested.

Because this was Shanghai, the move was sure to attract everyone's attention...'

And so it did, with predictable results, and the development of Shanghai was delayed much longer than it should, until 1992, when Deng Xiaoping, worried that the Tiananmen incident had forever tarnished his legacy, took his famous tour of the southern regions to revive reform.

But Shanghai eventually did develop, and at such frightening pace, probably because it was filled with people "skilled and familiar with capitalist behaviour", as anti-reform hardliner [party elder] Chen Yun had feared.

Posted at 2:34PM UTC | permalink

Wed 18 Nov 2009

Death to the Spinning Rainbow Beach Ball

Category : Technology/MavenSnowAndDeathToRainbowBeachBall.txt

On the Mac, if your application doesn't respond to user events for more than 5 seconds (e.g., on Maven when it's searching through 15,000 records looking for just the one you want), the cursor changes to the Spinning Rainbow Beach Ball. To the user, the application looks like it's gone dead and you're tempted to force-quit it.

So I've always wanted to kill this Spinning Rainbow Beach Ball of Death. On the latest release of Maven Snow, I've been able to do just that.

Snow Leopard brings with it Grand Central Dispatch which makes it easier for a Cocoa programmer to take advantage of the multiple CPUs we have in modern-day Macs to do concurrent programming without getting down and dirty with threads.

But I've started off with a slightly older technique - Operation Queues, which will also work on the iPhone (one day, it'll have a multi-core). On Maven for Snow Leopard, you can have multiple windows open and trigger a search on each window without waiting for the previous one to finish. In a long search, you never get the spinning beach ball. The application remains responsive to user action and it feels more natural working with the app.

The best thing is, it takes only four to five lines of additional code to do all that. Smart programmers will love Cocoa. The others, being Ballmer's Hordes, continue to extol the virtues of Microsoft and they're welcome to stay that way.

I've added this to the latest development build of Luca that I'm working on in Snow Leopard. I can do a Trial Balance, and while it's doing that, do a Statement of Accounts report simultaneously, and it doesn't tie up the GUI.

On my Snow Leopard iMac it works great and both reports finish not much longer than it took one report on the current Luca on Leopard. Of course, there you had to run each report sequentially, waiting for one to finish before starting the other. So the world looks good, going forward.

But the problem is that Snow Leopard breaks a lot of things in Luca, especially the date handling routines which are at the core of a lot things we do in Luca. So I'm still struggling to get thru all of these. But I'm enthusiastic about Snow Leopard and what it can do to help Luca become an even more powerful and useful system, so I'm not complaining.

Posted at 2:57AM UTC | permalink

Tue 10 Nov 2009

Snow Leopard 10.6.2 and WebMon Snow 4.0.3

Category : Technology/SnowLeopard10dot6dot2.txt

Snow Leopard 10.6.2 is out but it brings with it a few problems that I have to solve in a hurry.

WebMon Snow was hit. I had just updated it to 4.0.2 but now I have a new 4.0.3 version out.

The problem is, the Apache web server in Snow Leopard 10.6.2 has been updated to version 2.2.13. With Apache 2.2.13, SSL only works for the primary domain.

Prior to 2.2.13, we can still turn on SSL for the secondary virtual domains (but, of course, the cert can only be associated with the primary domain).

But with 2.2.13, we cannot even turn on the Virtual Host directive for the secondary domains within the IfModule SSL_module block. If we do that, we get an "[error] Illegal attempt to re-initialise SSL for server (theoretically shouldn't happen!)" message.

WebMon Snow 4.0.3 has been updated to disable attempts to turn on SSL for secondary domains.

Other problems with 10.6.2 - I had some problems wth the Snow Leopard firewall - the SMTP port refused to accept connections. I had to Stop and the re-Start the firewall and also reboot the system once or twice to make the firewall work properly again.

I'm not sure about the other ports. I had to do things in a blur because my server was down for too long. Next time, I'd better do the OS X updates on a test server before doing in on the live server. But Apple had been quite good with the updates for quite a while. Getting lax.

Posted at 9:31AM UTC | permalink

WebMon Snow 4.0.2

Category : Technology/WebMon4dot0dot2.txt

I've updated WebMon Snow to 4.0.2. WebMon Snow can now set up WebDAV folders for each and every domain, instead of only for the primary domain. However, WebDAV over SSL will only work for the primary domain.

I also fixed a problem where WebDAV folders appear to be read-only when the root folder for the domain is changed from the default "/Library/WebServer/Documents".

Posted at 9:13AM 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.