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.
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. 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. 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.
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. 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.
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.
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. 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 ...
|