|
Sun 29 Feb 2004
If we build it, nine of them will (probably) come
Category : Commentary/9willcome.txt
We've got nine people each for the Java on Mac OS X course on Tuesday & Wednesday, and the AppleScript Studio course on Thursday & Friday. The course material's ready. Or just about. We've been so busy preparing the notes and tutorials that I've had little time to think about how I'm going to go about delivering it. But without my friend Hai Hwee's help, I wouldn't even have made it here. The Java on Mac OS X tutorials, as we build it up, will contain a lot of original solutions she discovered as we went about building our Accounting application (called Luca) on Java and Cocoa. There may be the basis of a book in there, somewhere. It's not easy to find Cocoa on Java material anywhere out there. I grabbed hold of the Big Nerd Ranch book on Cocoa programming because it, at least, had a section on using Java. But when I went home and read it, it said something like, "Doing Cocoa programming using Java? Don't." So much for that and not much help elsewhere, too. But I'm more convinced than ever that, from the point of view of enterprise computing - i.e. building systems for use by businesses - Java on OS X, including building stuff on Cocoa, has got a tremendous potential. What I am seeing is the power to express and deliver solutions that can address all the fronts that a business is likely to face - on the web, in the back office, in retail point-of-sale terminals, and on hand-held palm-sized computing devices. What I am trying to communicate, through the courses, and wherever I can, is the concept of code reusability. Say, from the point of view of an insurance system, 80% of the code deals with modelling the business processes - e.g., creating an insurance policy object, then teaching it all about computing premiums and the various levels of taxes and commissions, and then making subclasses of it for motor policies and marines policies, and underneath these we have subclasses for private cars and commercial vehicles, ocean tankers and pleasure crafts, etc. The idea is all about containing complexity, and once you have done that, reusing the core of the code for supporting the e-commerce applications, client-server applications at the back-office, and for building web services for interfacing with other companies' systems and the regulatory agencies. So, Java on OS X allows me to think like a corporate IT guy (or at least how they are supposed to think, rather just spouting Microsoft-centric geek-speak), and yet use the best computing platform there is to give form to the ideas. There's a strong, and very troubling disconnect in the IT world. Or at least, as I've felt it. Why is so much of the corporate IT computing experience so much like being in a totalitarian world? It's like the Chinese movies about olden times. When they mention the emperor, even in passing, they cup their hands in salute and do their obeisance, even where the emperor is nowhere to be found. Life with IT should be lived with so much more joy and verve. And we shouldn't have to live among the Mac (lunatic) fringe to find it.
Posted at 7:13AM UTC | permalink
A Web and Mail Server on a Clamshell iBook
Category : Commentary/oldmacusers.txt
Rob Duncan is running a mail server for two domains (turned on using Postfix Enabler), as well as a web server, on an original clamshell iBook. As for us, I rotate our server between a Graphite (original) iMac, and an old G4 PowerMac. And I remember a comment someone made about running Internet servers on old Macs. So I searched my mail archives and, yes, it was Terry Allen, "Just a quick email to separate my last comments/suggestions, I noticed your point about older macs being useful - quite right - I have OSX 10.3.1 running on my old blue & white G3 450 with 256MB RAM & an 18GB Seagate Cheetah 10000rpm HD - it is running Tenon's iTools 7.2 & quite a few virtual hosts - runs great, thought you'd be interested in it. No need to chuck out those older macs." Also, I know my cousin is among the huge contingent of Mac users over at Sun (count James Gosling, Richard P. Gabriel, John Gage, and Bill Joy among the luminaries), though he uses the sleek Pismo-era PowerBook that he upgraded with a G4 processor and is now running Panther on. So there is plenty of life left in old Macs. I bet Apple's "share of use" is a lot higher than its so-called market-share numbers, whatever they mean.
Posted at 5:40AM UTC | permalink
Sat 14 Feb 2004
Low Power, High Performance, 64-Bit, 32-Bit Backwards-Compatibility, Symmetric Multi-Processing
Category : Technology/970FX.txt
Just announced. The IBM PowerPC 970FX. All good things in one unified package. And potentially much cheaper, too. It's going into volume production just in time to go into the new Xserve G5's. It's the one number we need to remember. Looks like we're going to see the whole Mac line coalesce around this chip in the years to come.
Posted at 4:27AM UTC | permalink
Thu 12 Feb 2004
Projectory - An open-source web-based Project Management System
Category : Technology/Projectory.txt
Just got this e-mail from Corey Ehmke. He has just released Projectory, an open-source web-based Project Management System that runs on any platform with Apache, Perl, and MySQL installed, but was created completely on the Mac. Projectory is free and is released under the GPL. Full information is at http://projectory.sourceforge.net. I haven't had the time yet to look further into this but I think it's a great thing for developers on the Mac platform to have, as an alternative to the Windows-only project management systems. I hope to have checked it out in time for the Java on OS X course because it may be just what these people are looking for. In the mean time, this is Corey's short description of Projectory : "Projectory is a platform-independent, web-enabled project management tool designed to track software projects through all phases of development. Where traditional project management software is primarily useful only for planning and reporting purposes, Projectory lets you track actual development effort expended by teams or individuals across multiple projects and activities. It's easy to configure for small or large software development groups, and its streamlined user interface makes it easy for individuals to enter and manage their work entries. Its comprehensive reporting capabilities serve the needs of team leads and managers alike. You can get an accurate snapshot of current development activity, track effort on planned vs. unplanned work, and compare actual effort expended to the estimates in your project plans. Its project-agnostic activity tracking functionality makes it a great tool for improving estimation on new projects, as you can mine historical data to determine real-world development metrics." And I reproduce below the Projectory team's full press release : "The Projectory development team is proud to announce that after two years of development and extensive beta usage in a rapid software development environment, Projectory 1.0 has been released under the GPL. "Projectory is a platform-independent, web-enabled project management tool designed to track software projects through all phases of development. "Where traditional project management software is primarily useful only for planning and reporting purposes, Projectory lets you track actual development effort expended by teams or individuals across multiple projects and activities. It's easy to configure for small or large software development groups, and its streamlined user interface makes it easy for individuals to enter and manage their work entries. "Its comprehensive reporting capabilities serve the needs of team leads and managers alike. You can get an accurate snapshot of current development activity, track effort on planned vs. unplanned work, and compare actual effort expended to the estimates in your project plans. Its project-agnostic activity tracking functionality makes it a great tool for improving estimation on new projects, as you can mine historical data to determine real-world development metrics. "Projectory is platform-independent and can be installed on any web server that supports Perl CGI applications and MySQL databases. Installation and configuration instructions are provided for *nix (including Mac OS X) and Windows 2000. "Full details, including a feature overview and screenshots of the application in action, are available at http://projectory.sourceforge.net "You can support future development of Projectory by making a donation to the project. 10% of all donations will go to the Electronic Frontier Foundation (EFF). For details please see http://sourceforge.net/project/project_donations.php?group_id=57546"
Posted at 2:50AM UTC | permalink
Tue 10 Feb 2004
If we build it, people will come
Category : Commentary/JavaOSXCourseUpdate.txt
We've got four people, and maybe three more, on board for our Java on Mac OS X course. So it's panic time, as Ian Beattie, the Final Cut Pro guy, would say. Three weeks more to make sure these guys will get their money's worth.
Posted at 9:46AM UTC | permalink
Mon 09 Feb 2004
Build Your Own Browser
Category : Technology/buildownbrowser.txt
Try this exercise at MacDevCenter, if you have the OS X Developer Tools installed (and have upgraded to OS X 10.3.2 and Java 1.4.2). In five minutes, without writing a single line of code, you would have built your very own web browser. Wait, that's not all. Log on to the bank where you do your Internet banking. In my case it's at the Development Bank of Singapore (DBS). Be prepared to be amazed as your very own web browser does Internet banking. It's jaw-dropping, eye-popping time. For good measure, I transferred some money from one account to another. It all worked, flawlessly. And fast, too. And all without having written a single line of code. This is going to enable a totally new class of web applications. I'm not sure how it is all going to work out, but there's going to be a hybrid between client/server and webserver/browser -based applications. If you've ever used 4th-Dimension before, you may be aware that its client-server architecture was, for some time, quite ahead of its time. But it wouldn't scale across the web. Web-server-based applications will, of course, work across the web, but the browser cannot come close to matching to the kind of end-user interactivity we used to be able to build into client-server applications. I've often wished I could get the best of both these worlds (e.g., get the web-based application to do some pretty complicated computation as I tab along from one field to another, without having to do a POST everytime). Now, I think there may be a way to do it. But how? Not sure, but I believe it'll work in combination with the technology called Web Services. And I believe also that the breakthrough will appear first on a Mac, if only because Mac developers can now cut the crap and start experimenting.
Posted at 12:59PM UTC | permalink
Wed 04 Feb 2004
Courses at Apple : Java on OS X and AppleScript Studio
Category : Commentary/Applecourses.txt
It's been announced. I'll be conducting these two courses at Apple Singapore - Java on Mac OS X on the 2nd and 3rd of March, and the AppleScript Studio Course on the 4th and 5th of March. We've completed development on Luca, an accounting application on OS X that was written using Java. So the Java on OS X course will use this as a case study to show how a Java application could be constructed on OS X. And we'll also cover areas like code re-usability, showing how most of the Java code can be re-used to build a web-services-aware accounting application that will work over the web - great for consolidating information from several physical locations. Postfix Enabler will be used as the case study for the AppleScript Studio course. I hope to get more people building such applications on OS X after the course. But will they come? We'll soon find out.
Posted at 9:32AM UTC | permalink
Tue 03 Feb 2004
Java 1.4.2, Safari 1.2 and LiveConnect
Category : Technology/liveconnectishere.txt
Downloaded these two updates and I'm now able to do Internet banking using Safari. The key improvement is the existence of LiveConnect support - at long last. Now I can connect to DBS Bank and I've heard others say they've got good results with UOB and Citibank, among others. So Netscape Navigator is out of my dock, now, and I won't ever miss it.
Posted at 6:13AM UTC | permalink
Mon 02 Feb 2004
Category : Technology/polyglot.txt
We now have two (contributed) localisations for Postfix Enabler, one in Traditional Chinese and one in French. In case you're wondering how people could contribute a localisation, this is the way it's done in OS X. If you click on Postfix Enabler in the Finder, and simultaneously hold down the Control (Ctrl) key, you will see a pull-down menu appear, so you can do a Show Package Contents, which will open up Postfix Enabler as though it's a folder. Navigate down the folder until you find the Interface Builder file (in Contents/Resources/English.lproj/MainMenu.nib). If you've installed the OS X Developer Tools, you will have Interface Builder installed, which will allow you to make a copy of MainMenu.nib, open it, and also edit it. If you take care not to disturb the structure of the interface, e.g., the size of the windows and other parameters, and restrict yourself to working on the textual elements in the interface, it's quite easy to change the words on the interface into any language you want, if the you have the text input method installed on your Mac. You can open the International panel under System Preferences and switch the Mac to use any of a dozen other languages, and then it's a simple matter of highlighting a text field anywhere on the interface and overwriting it with an equivalent text string in the language that you want to translate the application into. Then you send the "localised" MainMenu.nib file back to the author of the application, and, in less than a minute, he has a French or Chinese localisation bundled in and ready to be used. It's really that simple. The problem comes when the author makes a new version of the software. If you're the translator, you can take the new version, make a new copy of the Interface Builder file, and do the translation all over again. Without automated tools, all you can do is to look into the older version that you did the translation on (if you did remember to keep a copy), and do a lot of copy and paste to get the new version up to where you were last on, and then work on translating whatever is new on the new version. After doing this a few times, it all starts to be tedious, and you wished you never volunteered to do the trsnslation in the first place. Now what we need are automated tools that will magically compare the new version with an older localised version, somehow bring all the translations that were done before over to the new version, and then let the translator concentrate only on the new things that have appeared on the interface. Mistakes can crop up if the translator works on the Interface Builder files, so it'll be better if the translator does the translations on a text file which, again magically, can be used by the system to create the new version of the localised application, automatically. I say "magical" but such a tool indeed exists. It can be found, if you are a subscriber to the Apple Developer Connection, in the monthly CD/DVD mailer. The tool is called AppleGlot, and I've just discovered, it is also available for download on-line. It's a wonderful tool. I've got my friend, Hai Hwee, to try it out updating Kuo Yuan-Fen's Traditional Chinese localisation of Postfix Enabler from 1.0.7 to 1.0.9 and it works. We've just bumped our productivity up several notches. Now, when I update Postfix Enabler to version 1.1 from 1.0.9, I just have to work on the English version, send the new version to the translators so that they have a context to work on, but they will work on a text file (called the Glossary file), and send that back to me, which I will use to create new localised versions of the application automatically. Today, Singapore; tomorrow, the world. Did I ever mention why I call the Mac the Ultimate Business Machine?
Posted at 1:34PM UTC | permalink
The Postfix Enabler Logo
Category : Commentary/PFEIcon.txt
I wrote to Wietse Venema, the creator of Postfix, and asked for permission to incorporate the Postfix logo as a background in our Postfix Enabler icon, as it was designed by Michel Poulain. To my surprise, he actually replied and said yes. So we're now spotting a spanking new icon. Thanks, Wietse, and also to Mike Poulain.
Posted at 8:48AM UTC | permalink
Sat 31 Jan 2004
Spam Block
Category : Technology/SpamBlock.txt
Lots of junk mail coming in, no doubt due to the MyDoom virus, and variants. I don't have time to add these to Postfix Enabler yet, but you can add these lines (combining contributions by Terry Allen and Michel Poulain) to the Custom Postfix Settings field in the second panel : maps_rbl_domains = sbl.spamhaus.org, relays.ordb.org, cbl.abuseat.org, bl.spamcop.net smtpd_client_restrictions = hash:/etc/postfix/access, reject_rbl_client sbl.spamhaus.org, reject_rbl_client relays.ordb.org, reject_rbl_client cbl.abuseat.org, reject_rbl_client bl.spamcop.net default_rbl_reply = $rbl_code Service unavailable; $rbl_class [$rbl_what] blocked using $rbl_domain${rbl_reason?; $rbl_reason} - see http://$rbl_domain. smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, reject_unknown_hostname Another thing to do is to un-set the LUSER_RELAY parameter, i.e., do not nominate a user who will receive all the mail addressed to unknown users in your domain. These mail will be bounced back to the sender. I think it works because the mail server has quietened down quite a bit.
Posted at 5:15AM UTC | permalink
Thu 29 Jan 2004
Friends
Category : Commentary/friends.txt
Mike (Michel Poulain) sent me a bunch of stuff - a nice little script to attach to a mail server to stop viruses coming in (it works with Virex which comes with a .Mac account), a collection of PC viruses to test on, and, best of all, a nice icon for Postfix Enabler. All these, plus the French localisation that I've already released on the Postfix Enabler page. He says, "It was just to complete your book on the human nature. You get support AND thanks AND money from people too. ;-)". He's right. I told him I was just going to write about this. About how doing shareware is a lot like being a street musician, with people throwing pennies into the open guitar case (and that's when people are at least being appreciative), but there are also times when you've got to put up with a bit of ridicule, and there are, of course, the people who sponge up on your music but wouldn't pay. But, if we don't go out into the street, we wouldn't meet the other wonderful people who're also out there, getting as much out of life as they put into it. So, it's been a wonderful experience about sharing, and that is something that has to be written about. And, just like being a street musician (the last chapter of a pretty fun book that I just read, "Floating Off the Page", ends on that note), you've got to have a higher purpose. I'm curious where this will lead. And when you get people like Mike and also Terry Allen plying you with stuff to add to Postfix Enabler, it's a bit hard to stop, at this point, though I had meant to. So there'll be a next release with RBL (Real-Time Blocking) and anti-virus support. It'll be great to have SpamAssassin but I'm not sure how I would be able to bundle in a binary, and whether I'm allowed to in the first place. But I've got SpamAssassin working on a test server and it works great. The thing is to figure out how you can plug in Mike's solution or Anome, with or without SpamAssassin, depending on what a user wants. Easy to dream about, hard to do.
Posted at 8:54AM UTC | permalink Read more ...
|