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.

Thu 10 Mar 2005

Makmal means Lab

Category : Technology/Makmal10.txt

I spent most of the last three days at Makmal 10, the Mac Lab at Fakulti Teknologi Maklumat Sains Kuantitatif (the Faculty of Information Technology and Quantity Sciences) at Universiti Teknologi MARA in Shah Alam, Selangor, Malaysia.

I was teaching Java on Mac OS X to people who, themselves, teach Java, operating systems, computer security, multimedia, etc, to students at various Universities in Selangor.

These people know a whole lot more about their respective areas of expertise than I do, and so I tried to find ways to help them map what they know to how things work on the Mac - so that, hopefully, something lights up in their minds that a tremendous potential - of exciting discovery and infinite usefulness - awaits them.

I hope I have achieved that. But I did enjoy myself immensely. They, of all people, should know that a teacher draws his energy from his students. And I found energy I didn't know I had, over the two days of teaching, because I had great, attentive, and very bright students.

So I'd like to say thanks to : Mohd Shahril Razali, Hanizah Anuar, Hayati Abd Rahman, Salyani Bt Osman, Suriana Bt Ismail, Suzana Bt Ahmad, Nur Atiqah Sia Abdullah, Noor Elaiza Abd Khalid, Anita Bt Mohd Yasin, Syed Ahmad Aljunid, Mohd Ali Mohd Isa, Anusuyah Subbarao, Azlan Bin Ismail, Mohd Yunus Mohd Yussof, Normi Sham Bt Awang Abu Bakar, and Aminuddin B. Mohammad.

I put down the names and remember the faces. It was a memorable experience.

And Shah Alam is a very pretty part of the state of Selangor. A friend brought me around the place years ago and I remembered being impressed with the beauty of the trees that lined the roads, plus the ponds, and the hills. Shah Alam is the capital of Selangor. The Federal Government's moved to Putrajaya.

Posted at 2:27PM UTC | permalink

Sat 26 Feb 2005

Brilliant!

Category : Technology/UserDefaultsBindings.txt

I was playing around with that part of Cocoa Bindings that allows you to save the user's preferences without writing any code.

The window above shows a slider, colour well, popup menu, switch, radio buttons, and a text field - covering, more or less, all the things you're likely to use in a preferences panel.

The User Defaults Controller mechanism, which first appeared in Panther, worked very well, saving the state of your preferences when you quit the application and restoring everything when you came back.

It was all so easy to set up.

The "Helvetica" text on top of the window also shows the power of Cocoa Bindings to synchronise the appearance of an object dynamically with the state of your preferences - e.g., its size, font, colour, and even its contents.

No code. Yet, you get neat entry points into the system to exert control, if and when you need to. For example, I could save the location of the circle, which doesn't have a user interface control, together with the rest of the preferences, so that it reappears at the exact same position when I quit and come back into the system.

Amazing stuff, because it's neat and easy to understand.

It just encourages you to build things. In over twenty years, this must be the best software development environment I've ever had the pleasure of using.

Posted at 3:35PM UTC | permalink

Wed 23 Feb 2005

Cocoa, AppleScript Studio, Objective-C, and Java

Category : Technology/courseSummary.txt

We've now created material for three courses - Java on Mac OS X, AppleScript Studio, and Objective-C. We've now done Java on Mac OS X and AppleScript Studio a few times each, improving the material with each round.

On reflection, I think probably the best entry point for learning Mac OS X programming is through AppleScript Studio. This is because, with just a modest investment of effort in learning how to use the tool, you can start to get quite a lot of useful things built with it.

Then, while working with AppleScript Studio, you're also getting familiar with all the commonly used Cocoa objects (like windows, buttons, check boxes, radio buttons, menus, etc), and learning that there is a pattern to using them.

So, you might end up with a lot of things you can use (that you built with AppleScript Studio), that are probably slower than if you built them with Objective-C, but which do the job reasonably well. These are like protoypes and proof-of-concepts.

Then, the day may come when you're ready to get them more professionally done. And you may be ready to pick up Objective-C. After all, you already know how to find your way around Xcode and Interface Builder. And Cocoa.

I'm starting to think that learning Objective-C is not such a fearsome prospect (at least for "normal" people) after all. It used to be, in pre-OS X days, that you've got to have at least some level of technical competence to work with things like PowerPlant or MacApp, or whatever people used to build commercial OS 7, 8, or 9 applications.

Cocoa makes it possible for people who can handle 4th Dimension-type development work to really build commercial-quality applications - without the overheads that tools like 4D brings (not least the overheads associated with development software costs).

This is what I'm watching as I teach the current Obj-C/Cocoa course that I'm doing now. How fast can people pick it up?

If the idea works, that "normal" people can pick it up and develop useful stuff right away, then you can extrapolate this from it - that exceptional people are going to do some wonderful stuff with it. Give it time, you'll see some interesting things happening (as though they're not already happening), and it'll be a great time to be a Mac user.

Posted at 1:57PM UTC | permalink

Java on OS X in KL

Category : Commentary/JavaOSXKL.txt

It's virtually confirmed that we'll be doing the Java on Mac OS X course up at Kuala Lumpur, Malaysia, on the 8th and 9th of March. The venue is: Makmal 10 (Apple Mac G4), Fakulti Teknologi Maklumat Sains Kuantitatif, UiTM, Shah Alam, Selangor.

I've just finished the first of a three-day course for Objective-C and Cocoa that I'm conducting for a group at Apple Singapore. I thought I would have problems explaining the Objective-C memory management mechanism and things like autorelease pools, etc, but that seemed to have gone down well. So I'm finding that there's possibly a way to teach all these in the least amount of time and get people really productive as soon as the course finishes. We'll see.

Java on Mac OS X in Singapore - that was originally scheduled for 1st and 2nd of March. That's definitely being re-scheduled. No further news at the moment.

Posted at 1:14PM UTC | permalink

Tue 22 Feb 2005

Of cults and zealots, or,
The case of the blind leading the blind

Category : Commentary/cultsAndZealots.txt

I found this book, "The Cult at the End of the World - The Incredible Story of Aum", at the library. Since, we're always being called Mac zealots or Mac cultists, I thought I'd go read what a real cult feels like. I'll let you know when I've finished it.

Now, the thing that irks me about Michael Malone's book "Infinte Loop" is the pointed jab in the direction of Mac users who stayed loyal to the platform through all those lean years - zealots and cultists, indeed. Like we're so blind, we couldn't see through the faults of the company who built those machines we insist on using.

But the question is, who's the one that's really blind?

The thing I learnt while working in an IT company is that there're two kinds of people. The ones who put their heads down and build stuff. And the ones who hate to build stuff but love sitting in committees and making pronouncements - like who's "standard" and who's not, and which ones win and which loses, which products are "wildly successful" and which won't get pass the door.

The thing is, I much rather make stuff, but I've learned that you've got to look up from your work and join in the debate. Otherwise, those other guys can do a lot of harm.

Where the problem is, if you're not into "building stuff", is that you don't have any real point of reference. Your head becomes an empty vessel those confident, influential people like Malone and Jim Carlton can do weird things with.

For example, when you're into "building stuff", you know your enemy is not Steve Jobs but Chaos. Anarchy. Entropy. You're forever struggling with keeping things from popping out. You're watching the interfaces, keeping things simple, making sure things will work with just one click.

You understand about trade-offs. You know what's practical, and what's purely theoretical. You start to get a feel for design. For simplicity. And a healthy fear of what a monster Complexity can turn out to be.

The thing is : what Apple has chosen to do - building the whole widget (what's called vertical integration) and taking responsibility for delivering the whole usage experience - that's a pretty reasonable, defensive, complexity-containing engineering design strategy.

But in Malone's and Carlton's book, that's greed and myopia, not-invented-here. They're right because Microsoft won.

Look around you, in nature, in a water droplet. It's firm and round. Engineers understand surface tension. Things occur in nature up to a certain size and then they get tucked in.

Megalomania. That's what Malone and Calton wants us to believe is the natural order of things. Horizontal integration. The things we use have to be used by everybody. Or not at all. Everybody's got to use Windows.

Building things in layers is, actually, another reasonable, engineering way of building things.

Except that it's not one or the other. You often use both, horizontal and vertical integration, in combination. The trick is to know when to use one and when to use the other.

The Microsoft Way, where things are built wholly in layers; it doesn't work. But working, I mean, working well, and not working as in being dictated upon, by political will. We all know Mac users love their machines, while Windows users barely tolerate using it. Nobody (is it Dell, MS, or Intel?) takes responsibility for anything.

Malone talked about how the Mac was a closed, dead-end system. Yet, my experience was, the Mac had built-in networking, first with LocalTalk (admittedly slow but it worked, even an idiot could use it). Then it had peer-to-peer networking. Then ethernet, then mail, then it connected to Novell and DEC and IBM. I went through all these progressions. The Mac was the easiest to network. The PCs. We had ethernet cards for PCs that worked with DEC but not Novell, and worked with Novell but now Microsft's own server, and you need to understand things like "shims". It was a whole tortuous mess with lots of options. Reading Malone, you could believe it was the other way round. Like the Tao, "Those who know do not speak, those who speak, do not know".

If the Microsoft model really works, you would see it occurring more in nature. For example, we must all be of one race, one physical specimen, otherwise how could we all talk together. ("Everybody must standardise on Windows, otherwise how could we exchange correspondence efficiently").

We all know how God did it. We're all splendidly different from each other - singularly compact and graceful in design. How we're able to communicate is that we agreed upon the interfaces - like the English language (or the Internet protocols) - which is where we agree to keep things non-proprietary. We know what's proprietary. You, me, myself, I.

The Microsoft Way is a topsy turvy world. Where things which didn't work were held together by dictate.

Let these guys, the pundits, say what they want. But they love being influential, so let's not let what they say go un-challenged. Otherwise, it'll lead to a rule by fiat.

It's not that I love Apple. I love it's products, and the way their engineers build stuff, and the way good design seems to be a way of life. But I definitely hate their sales team. And like a good Taoist, I can see the seeds of future destruction strewn in current successes. But so what? Things go round in circles. Do I cheer when Carly Fiorina got thrown out? I much rather worry about my own compay. How anyone can generate so much bile to kick a man when he's down is beyond me.

I'm getting back to building stuff. Zealot or not, you've got to say what you've got to say.

Actually I found another book I'm re-reading now, "The Outsider" by Colin Wilson. I found it among a stack of my old books. Like why do I bother to write all these things? A reviewer of the book says, "(Wilson) defines the outsider as a person that 'sees too deep but can't help it', a person that instinctively feels he doesnt fit in, becomes troubled by that, and sets out on a personal journey of discovering himself and his position in everything else."

When Sim Wong Hoo says that he's on Microsoft's camp because he thinks "Microsoft is so rich, has so much money to pour into the fight that it'll surely win the war" (I paraphrase it but that''s the gist), he's not plugged in to that other parallel universe that people live their lives in - one that is not governed by pure logic and calculation. We'll see just who The Force chooses to be with.

Posted at 3:46PM UTC | permalink

Server Down

Category : Commentary/serverAccessDown22Feb05.txt

Our server was not accessible for four hours just now because of some problems at Singnet. Seems like broadband access was down all over Singapore, if you're on Singnet. Looks OK now. In case, you're wondering.

Posted at 12:55PM UTC | permalink

Sun 20 Feb 2005

Infinite Loop

Category : Commentary/infiniteloop.txt

I've just finished reading Michael Malone's "Infinite Loop". I'm wondering about how people like Malone and Jim Carlton could write their books with so much bile.

"For he who innovates will have for his enemies all those who are well off under the existing order of things, and only lukewarm supporters in those who might be better off under the new." - Niccolo Machiavelli - (that was the passage that came to mind) - from The Prince.

Actually, if you've ever run your own company, you might take a little more sympathetic view of much of the same events described by Malone in his book.

In the twenty years that went by, most of the companies Malone extolled for their virtues, as much for their contrast to Apple - DEC, Compaq, even IBM's PC business - they're all dead and gone. Or languishing (HP, Sun). And we're still using Macs.

Here's a guy who seems to have a desperate need to be the one who declares the winners and the losers. Like God. Like I could imagine, on Judgment Day, Malone snucking a seat next to God so he could make the pronouncements - hero here, shit-head there.

It's an interesting read (for other reasons), so long as I don't have to pay for it and send money his way (I borrowed it from our wonderful library).

The lesson for the entrepreneur or the innovator - build it and they won't necessarily be allowed to come. Watch for the gatekeepers and opinion formers. (I'm tempted to add, parasites all.) Make sure you have a lot more iron in the soul. It's going to be a long haul.

Posted at 11:53AM UTC | permalink

Will we get an Apple Store?

Category : Commentary/applestorequestion.txt

Will we see an Apple Store (a physical one, that is) in Singapore? I was at that AppleCentre at Wheelock, above the Borders book store, during lunch. It's right next to the sushi joint, where my wife likes to take the kid, and I think you can get a feel for how well the Mac market is doing from watching the size of the crowd.

By a lot of accounts, this place isn't synonymous with good or pleasant service, but still, the crowd's pretty big. Huge, actually.

So, I think an Apple Store in Singapore will do very well. Note that this is only conjecture. I don't have too many friends in Apple's sales team and I'm definitely not privy to any plans. But to me, it's a no-brainer. What are they waiting for?

Posted at 10:09AM UTC | permalink

USB Flash Drives & The Little Mac Shop That Could

Category : Technology/USBFlashDrives.txt

I bought a couple of USB Flash Drives yesterday from a Mac shop called SGL Marketing at Sim Lim Square. It's a little, hole-in-the-wall, almost impossible-to-find niche near the overhead bridge between Sim Lim Square and Albert Complex across the road. But Mac users in the know will make our way there because you get the best deals and the most pleasant Mac-like service.

I actually bought one 1 GB drive first but I found it was slow and, at that rate, I'll never be able to fill it up. So S. G. Lee allowed me to swap it (even though I've already tried it) for two 512 MB versions, which turned out to be cheaper, and she surprisingly returned me the difference with a smile. (Now where else would you get that? At that AppleCentre at Wheelock? Don't make me laugh). Don't let that dingy, worn carpeting fool you. They're the real class act.

I'm really behind the curve with USB thumb drives. I realised that it's great for copying over the course materials quickly when people turn up for our courses. I believe that a very high percentage of the attendees actually own iBooks or PowerBooks. So it's possible to see the day when we don't have to set up the lab machines. Everybody will bring their own.

Also, while copying over stuff to the thumb drives, I kept getting errors and I realised that application bundles couldn't be copied over. So something must be wrong. That's when I found that you can re-format the drives to OS X Extended format (they were originally in the old OS 9 Mac-PC Exchange format, I think). After that, things speeded up a lot and the copying errors went away. So the 1 gig drive should have worked well, after all.

Posted at 9:34AM UTC | permalink

Sat 19 Feb 2005

An Update on the Next OS X Java Course

Category : Commentary/Java1and2MarchUpdate.txt

We're supposed to have a Java on OS X course on the 1st and 2nd of March. But this is going to be postponed towards the end of March because Leon Chen (at Apple WWDR) is helping us arrange to do one instead in Kuala Lumpur during the week of the 7th of March.

We'll get confirmation of that next week. If you're waiting for the OS X Java Course in Singapore, I'll try to find out what would be the re-arranged date as soon as I can.

I'm ready with our material for Objective-C and Cocoa, a course we'll be doing for a group at Apple next week, 23rd to 25th February.

Hai Hwee's done with her SQLite Cocoa framework, which allows me to embed a SQLite database into our Objective-C applications and training material. It'll save us a lot of time preparing the machines for a course without having to take care of the MySQL installation.

Now, to get a SQLite JDBC connector done for Java, also. We're trying to encourage everyone to come for our courses with their own PowerBooks. This will only be workable if we can cut down on the number of things we need to have loaded on their machines to the least possible. We're getting there.

Posted at 5:07PM UTC | permalink

AppleScript Studio Course (17th & 18th Feb 2005)

Category : Technology/AS1718Feb2005.txt

We did the AppleScript Studio Course on 17th and 18th February at Apple Singapore. It gets easier to teach, each time, as I figure out how to streamline the material to get the ideas flowing into the people's heads at an easy pace.

The first problem doing these courses is that the attendees come with varying levels of familiarity with the course topic. So the first part of the day, it takes a lot of energy to reach into their minds to try to pull everybody along at the same pace.

Then there's the problem of figuring out what we really want to achieve with doing the course. Of course we want to teach people how to make use of AppleScript Studio. But how? It's only after doing it two or three times that the way ahead starts to clear up.

This is what I mean. We could teach Xcode, and then the AppleScript language, and then the way to control Cocoa objects using AppleScript, and we could do all these pedantically, step by step, one after another, systematically, exhaustively. But you could do all these on your own without attending a course. In a two-day course, this method takes too long. And it's boring.

What I think we could do is to teach people how to learn how to learn - quickly - to introduce a system so that they can figure out the key concepts, which forms a framework to which they can add new knowledge, on-demand, at their own time, which supports an engine that can get productive work done, almost as soon as they're out of the course.

In the AppleScript Studio case, I try to take advantage of AppleScript's English-like syntax to help people read AppleScript code, to catch the flavour of the language so that they can understand what's going on, as soon as they can, so that they can start doing fun things with the language, and not get too hung up with the details, because you can always search the reference guides later.

AppleScript Studio is fun. And it's not a toy. It is a seriously malleable material to build a lot of useful tools with. What I am finding is that it's possible to use this platform introduce ideas about good design, to show how you can use the object-oriented nature of the language to bring a structure to your program, to program defensively, and to design sub-routines and functions with real conceptual power, rather than just be formed simply because the program got too long.

AppleScript Studio and Objective-C with Cocoa - these development environments make building GUI-based applications easier than ever before, which should make them, at least, easier also to teach. What we could do is to use the space that's opening up to help people think more creatively about design, so that they do things better rather just doing things with the tool.

A lot of people have come to the courses to evaluate what they could do with the tools on OS X. All we could do is to continue to try to teach it well, so that they may be inspired to do things they couldn't have done before. It'll be interesting, down the road, to see what turns up.

Posted at 4:42PM UTC | permalink

Thu 10 Feb 2005

A New Year

Category : Technology/PayPalPaymentTechnology.txt

It's Chinese New Year in Singapore, the beginning of the Chinese lunar year, but I'm working through it, preparing for a series of course that we'll be doing from next week. At times like this, my house is a sanctuary, untouched by the hubbub that is going on around it.

It's also the beginning of something, I'm not sure what, but I'm sure it will amount to something significant. I've just received notification from PayPal that we're able to receive credit card payments from people without their having to sign up as PayPal members.

That is a big deal to us. We've been waiting for months for this to happen outside of the US. (Hai Hwee just sent me this link - looks like we were not alone in agitating for its release).

We talk about being on-line, 24x7, high-tech and high-touch, but wait till you try to get a merchant account to do on-line credit card processing. That's somehow still handled by the analogue world of form-fillers, everything in triplicate and high annual, monthly and set-up fees. And we look across back to our PayPal set-up. That was so easy and money comes in to our Singapore-based DBS account at the end of the chain.

Before today, people who want to pay us, on-line via credit card, have to sign up first as a PayPal member. Now, even that step is optional.

The process is almost perfect. If you're not a PayPal member, there's (thankfully) not too much more details to provide, when compared with other systems. There's one problem, though, if you are already a PayPal member - "Just remember the account optional (is) not all it seems to be. It(')s only optional if the credit card and email address being used are not associated to (with) a PayPal account. If one or the other is, then the customer must use their PayPal account. Its a start, but no(t) quite what it seems by the name." - from the PayPal developer site.

If you watch how PayPal's grown and the steps it's taking, you're seeing the beginning of a powerful beast. Watch out WorldPay, Planet Payment, and all of that ilk. Somebody's going to be eating your lunch.

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