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.

Tue 02 Nov 2004

DNS Enabler 1.0

Category : Technology/DNSEnabler1dot0Desc.txt

I've got a more "useful" version of DNS Enabler done. It's meant to be used by people who don't know and don't care about things like CNAMES, MX records, PTRs,and A-RECORDS. But they know enough about the domain name system to want to be able to reference machines by human-understandable names.

The people who're downloading DNS Enabler now want to be able to do things like this, for a private 10.0.1 network :

This is because, for one reason or another, they may not be able to hit their server using a domain name, from a machine on their internal network, even though people outside, on the public network, can see the server just fine. For example, you may be acquainted with this problem if you're using the earlier batch of Airport Base Stations.

Running a DNS service on their server for the benefit of the machines on the private network will help these internal machines to "see" the server.

But you might want to set up a domain name service for a private network for a whole host of other reasons. For example, for doing demos or for testing, where you have no connection to the Internet, but want to simulate your own private Internet.

Now, the new version of the Airport Admin Utility allows you to create a private network on any of the three known ones (10.0.1.x or 192.168.1.x or 172.16.1.x). So, I've also allowed the user to set things up on DNS Enabler according.

DNS Enabler 1.0 allows a user to set up more than one server. And they can be on any other address beside 201 (which I had hard-coded in the "old" DNS Enabler). And, it allows you to set up more than one domain name pointing to the same machine so you can set up and do virtual hosting in the web and mail servers.

I find the ability to change, temporarily, which machines the domain names cutedgesystems.com and roadstead.com are pointing to very useful when I'm doing testing on my iBook. E.g., now that I'm doing a series of tests on the latest UW/IMAP binaries that I have built, using my iBook as both server and client. I find it very useful to be able to tell Mail.app on my iBook that cutedgesystems.com is now also on my iBook because I can re-use the mail accounts that I've already set up on Mail.app.

DNS Enabler will create the correct DNS entries and files - as far as I can tell (though I'm still learning and may yet get things wrong). So, after building it, I realised that it can also be used to set up a fully-functional DNS server for the public network, including handling the setting up of the Classless Inter-Domain Routing file (how's that for a mouthful), like the setup shown below:

And, finally, I'm finding that it works great as a teaching tool. The interface will allow me to explain to someone how the domain name system works and why it was meant to work that way. Then I can go into the system files that DNS Enabler generates automatically and show how all these settings get translated into the proper A-RECORDS and CNAME records, or whatever, that the Domain Name system requires.

I've yet to write the documentation. But if anyone wants to try it out before I've got a proper download page set up, you can write to me.

Posted at 7:29AM UTC | permalink

Mon 01 Nov 2004

A UW/IMAP Update

Category : Technology/IMAP2004Update.txt

I've built a new 2004 version of the UW/IMAP (POP3 and IMAP) binaries. And I took the opportunity to correct a mistake I made with the mail sub-directory path that led to problems like these (as excerpted from this page on the Squirrel Mail Wiki) :

"(1) Do NOT use the raw uw imapd that is installed by Postfix Enabler. This sets the imapd root directory on your server to ~/Library/Mail/Mailboxes, which is a folder that has special meaning for Mail.app. If you ever run Mail.app (ie Apple's Mail program) on your server it will put it's own stuff in that directory, imapd and Mail.app will fight about how it should be organized, and your life will be miserable."

With this new version, these problems should go away.

I should plan on releasing a new version of Postfix Enabler (1.1.10) soon (?) but I've got a series of courses that we're set on doing in a couple of weeks, so there's going to be a lot of things to do.

Posted at 4:48PM UTC | permalink

Address Book Plug In Update

Category : Technology/addressBookPlugInUpdate.txt

I've updated my Singapore Map Plug-In for Address Book so that it will try searching by Postal Code first. If it can't find a Postal Code, then it will try Street Name and Number.

You can download it from here.

I realised later, from monitoring the referrers on my webserver log, that Takashi Yoshida had already built something like this, so I am probably reinventing the wheel (except maybe for the one-click installer that I'm fond of building).

But I had fun doing it. And I did learn something more about scripting the Address Book that, I am sure, will come in handy in a future project.

Also, there should be a way to make this a general purpose Map plug-in - like, making it easy for people to set it up so that it'll work for any country/ mapping-site combination. E.g., providing a way for the user to add a new country and then enter the URL pattern of the relevant mapping site. The problem is to work out a smart way of deducing where the postal codes, street names or street numbers are in the URL of any mapping site.

Posted at 12:13PM UTC | permalink

Fri 29 Oct 2004

The Developer's Mac

Category : Technology/devTalk.txt

"Time is a jet plane, it moves too fast". So sang Bob Dylan on Blood On The Tracks. And I've got blood splattered all over my brain reading Mark Bowden's un-put-downable "Black Hawk Down", which I've reluctantly set aside just to get some work done.

Last week, at this time, I was wrapping up my stuff after doing the presentation at Apple WWDR (Asia)'s Mac OS X Development Seminar.

Leon Chen's put the photos from the seminar up on his .Mac page. It was pretty warm where I was standing and I think I looked a wreck. But I enjoyed it all the same. To think that I was once so shy, I'd die every time I had to get up and say something in class. But I was forced to overcome it when I was made an instructor while in the Army, and that was the best thing I ever got out of doing National Service.

Just one thing I forgot to mention during the talk, and I'd like to address it here. I was showing a series of demos based on the hostel system that we did, below, and I covered the variety of technologies that we exploited:

And the thing that may have crossed a person's mind, who's currently doing the same on the PC, is "So what?". And I wished I had stopped a while to address that.

I think the point I'd like to make is that we're really in the business of helping people understand information. That was the point of the demo - that we could tell a story from the point of view of a person booking a hostel bed, and of the person whose job is to operate the hostel, and of the owner of the hostel. The system proceeds to provide information from all three angles, so that the work could be coordinated. And that's why we have a system - to help people work better.

Now, it's very difficult to go a person, whose head is stuck in DLL hell, and ask, "Say, do you know what business we're in? Like, you know, the way Revlon knows that it's not simply in the business of making cosmetics" What business are we really in? It's like having someone coming to you and ask, "Do you know the true meaning of Christmas?" You'll say, "Go away, I've got to get this machine fixed and get back to doing some coding".

Now, if you could provide your programmers with tools that will just snap on and work, like the Mac, then you could go, "Now, do I have your attention? What else do you really need to do? So can I ask now, what's really going on here? What story are you telling your users? Can they understand it? And why does it matter?"

The tools that we use do shape what we are, what our priorities are, and what we care for. If we want to work like a craftsman, where we're told people enjoy using our products, then we've got to choose our tools carefully, and make sure we understand what we're really doing. And why we're doing it.

We're really in the business of helping people understand information better, through cutting away at complexity, and making the difficult things understandable. But we can't do that if we're always quarelling with our tools, or spending most of our time feeding it, or worse, intentionally complexifying things in the hope that that will protect our "marketability". In our age of the Internet, the truth will come out sooner rather than later.

Posted at 11:11AM UTC | permalink

Tue 19 Oct 2004

A Little Learning

Category : Technology/aLittleLearning.txt

They say that a little learning is a dangerous thing. But there's so much information out on the Internet, and so many things to understand, that you've got to figure out how to learn quickly from scraps of knowledge.

Take DNS, for instance. I've just finished a version of DNS Enabler that I can use for the upcoming developers' seminar. It's "better" than the one I had left around for download (in the article "OS X, Broadband, and the Airport Base Station"), in the sense that you can set the location of the server (it was always set at 10.0.1.201 in the "old" DNS Enabler). And you can set the IP address range (it used to be only for 10.0.1 networks).

And you can set up more than one machine on that network to be addressable by domain names. (In the seminar, I'm using this so that I can let the audience access both a PC and a Mac by domain names, if they want to see how well the same pieces of code run across the two platforms.)

So, at the moment, I have a DNS Server that is safe to use in a private network. But by building this, I now know what I don't yet know, and where to look, if I want to go one step further and make it a fully functioning DNS server that can be exposed to the Internet.

I remember the first time I attempted to set up a Domain Name Service, using MacDNS, back in the days of OS 9. I repeatedly brought down the Internet connection of our customer, out where we were camped then.

I only made progress when I bought QuickDNS Pro from Men and Mice (but they're not looking much like a Mac-type company anymore). They had a nice little DNS Expert application, which can be used to troubleshoot DNS set-ups, and that helped me built knowledge about all these arcane stuff bit by bit - including something called "classless reverse domains".

I remember the technician from our ISP throwing out these superior terms, when I had to tell him I was using a Mac, and I was expected to bow down and grovel because the Mac wasn't expected to have "it". I later learnt (rather painfully because this was before the days of the fire hose we now know as Google) that he was only speaking Unix-geek and that there was an equivalent way of setting this up using the more Mac-like QuickDNS Pro. Once I did that, plus a few other new things I learnt to check, the router stopped crashing on me.

When OS X came out, QuickDNS Pro didn't work on it. But I had OS X Server, and I could click the DNS-related buttons in Server Admin and go to the command line to see what changed underneath. That was my first taste of BIND. When I realised that even a stock OS X client had a working BIND built-in, I switched and ditched Server. Hurray, but I'm no DNS guru (yet!), and probably never will. But the thing is to be able to do productive things with each little piece of knowledge, because there is way too much data out there.

We've got to learn how to learn from the scraps that we get. I have people writing in wanting step-by-step instructions to do this or that. Well, I have the DNS and BIND book next to me and it's 600 pages long. I've got no choice, I can't read more than 10 pages at a time. The more important thing to do, always, is to create a skeleton framework of key concepts - something that will make sense to yourself and, more importantly, that you can use to try to explain to another person. Once you've caught the key concepts (and one should train oneself to do this very quickly), you can use that framework to hang the little pieces of information that will come your way, just-in-time, so that you can get things done when you need them.

Don't bother to memorise things. It's not an effective way of learning. Take the trouble to understand concepts. The problem I had with the ISP's technician was that he learnt things by rote. If he had understood things in terms of concepts, he would be able to describe the real issue, and then it would have only taken me a bit more time to say, hey, I have an equivalent way of doing that on my Mac, and thus solve the problem sooner.

I know I've got to get down from my soapbox but this is one way I've found that is effective for living in a world of information overload. Understand, don't memorise - that is what we should teach our kids.

Posted at 1:10PM UTC | permalink

Sat 16 Oct 2004

A New DNS Enabler

Category : Technology/NewDNSEnabler.txt

I'm working on an "enhanced" version of DNS Enabler. I haven't worked on this for ages. But, for the upcoming OS X Developers' Seminar (for which, Leon Chen says, almost 50 people registered within the first hour), I'd like to create a local network using my Airport Express Base Station, and then allow people to interact with our demo using domain names rather than IP addresses. (... for people who've brought along their iBooks or PowerBooks or PC laptops, that is).

I've finished the interface (more or less) and was going to wire it up with the Unix shell scripts when I realised I've forgotten to bring home the picture I drew of which files go where in /var/named and how they should be configured.

Now, I drew that on a piece of paper but my first thought was to wish I could somehow just ssh (remote log-in) back to the office and pull that piece of paper back through the Internet and plonk it on my desk in front of me.

The fact that I could get so frustrated is a sign of how much my mind had wired itself to the idiom of the Internet. I've spent a lot of time drawing up the connections for just so I could move faster when I got to the Unix scripts. But I'll just have to work from memory. This part of a lazy Saturday afternoon, with my kid having a nap and the birds singing along outside, it's a great time to do some programming.

My friend, Hai Hwee, took one look at this yesterday and said, hey, we could be our own dyndns.org - especially since she's written her own code to update dyndns.org when we were having some problems with the DNSUpdate application. It's not quite so simple because I know just enough to build a little DNS system for a local network - to get around an earlier problem with the original Apple Airport Base Station. But it's set me thinking. Why not?

Anyway, I've noticed quite a few people downloading DNS Enabler. I found that surprising. I wouldn't have known until I started checking the web server log to see how my Address Book Plug-in had been doing. So, people are using it. And Sendmail Enabler continues to be downloaded a lot. I hadn't had PayPal payments coming in for Sendmail Enabler for a long time, so who would have thought? ;-) (And Luca, too. About once a day. Interesting.)

Posted at 9:05AM UTC | permalink

Thu 14 Oct 2004

The Mac OS X Developer Seminar @ The Temasek Life Sciences Laboratory

Category : Technology/DevSeminar.txt

There's a Mac OS X Developer Seminar next Friday at the Temasek Life Sciences Laboratory at 1.00 pm (to 5.00 pm). It's free. Just register.

Leon Chen from Apple will be covering Mac OS X 10.4, the Tiger release, and some of its cool features.

I'm also going to be presenting but I'm staying on Panther (10.3.x) and showing how we can go under the hood (of the OS X Aqua interface) and turn on all those delightful stuff in the Unix layer.

I'm calling my talk, "The Developer's Mac - Productivity, Power and Portability".

I'm showing how productive we can be when we have all these tools on tap, ready to use. And we use tools that cut across the arts and sciences, moving effortlessly from one mode of thinking to the other.

So, I'll show a complete application built using tools like Photoshop, GoLive, iPhoto, Apache, PHP, Java, WebDav, MySQL, Postfix, etc, all the while sustained by the great music coming out of iTunes (no, I won't show the iTunes part).

The power comes from simplicity, from being able to find just the right tool to solve any problem, and being able to express any solution, on a single computing platform. And you do get computational power - you can do a lot on an iBook, let alone an Xserve.

Finally, the portability comes from being able to move the work around, both in the sense of being mobile and being platform-agnostic. We can move our finished product to just about any hardware platform on earth.

It'll be great if I can show the complete demo on my iBook and then show everything running the same on our PC laptop - with no change of code. We're working on it.

Posted at 11:21AM UTC | permalink

Reflections on Man United, iCal, and a life well lived

Category : Commentary/ManUtdiCal.txt

I thought there would be something like this - Manchester United's fixtures on iCalShare.com (where you can also find Arsenal's fixtures if you follow the gooners). This is what I now have on iCal.

It's wonderful - iCal displays the time as local time, from whatever locale you view the calendar. No need to check the newspapers or guess if it's a Wednesday or Thursday morning that United is playing.

See what I mean about how the technology is helping us to merge work life with the rest of our lives.

The calendar with the orange tab, above, shows the Singapore Public Holidays. You definitely don't want to schedule a business meeting on a holiday. And my wife updates an Appointments calendar for me, when she needs me to know when I have things to do for the family. I also publish my work calendar, of course, so that's where she goes to get an idea of my schedule.

It's all very easy to set up, if you have your own server. iCal calendars are published using WebDav servers and it's not that difficult to turn on WebDav support using the Apache web server that Apple builds into every OS X machine.

It's the little things that count, and these little things do add up to quite a lot, if what you're looking for is a quality life, or a life well-lived.

I was reading this review of the Mac by a "die-hard" PC user, the other day. It's interesting reading, if only to understand how PC users think and it'll be a useful reminder for when I'm teaching our OS X courses. A PC user is very concerned about speed - e.g., how fast a window opens or scrolls - but what I observe is an absence of context.

Context is what your inner eye is looking for when you think about what you want to do with the machine. For example, using iCal to coordinate a family's schedules. Or using the Font Book, below, to organise the typefaces on my Mac, so that I can use them to add colour to the messages I'm trying to communicate - on a web page or on a piece of printed page.

I love reading Allan Haley's "The A B C's of Type" and I often have it by my side when I work. I've created a collection containing some of the typefaces that Allan Haley covers in his book and I can make them available with just one click in the Font Book.

But I digress. Yes, the Mac may be slower than a PC when it scolls or opens a window. But I don't often notice it because my mind's usually on the context, on what I'm trying to communicate or achieve, and what I can tell you is that the Mac's usually faster than the time I take to find solutions or ideas. Context is the key. Without it, we're always going to be pointlessly arguing about the merit of one tool or the other. With it, the choice is so clear - at least to me.

Posted at 10:20AM UTC | permalink

Wed 13 Oct 2004

ISP blocks port 25? No problem

Category : Technology/Port25.txt

Ronnie Teo found the solution to a problem that quite a few people have encountered - the case of an ISP blocking port 25, the default port that mail servers use to contact each other. This is what he says :

Just to share with you some good news. ÊMy Tarawerkz.com mail server is up again. Finally. ÊThe mailhop relay service offered by Dyndns was the solution. ÊThis was what I had to do:

1. In Custom Postfix Settings (in Postfix Enabler, below), two parameters were added: soft_bounce=no, and, unknown_local_recipient_reject_code=550

2. On the Dyndns website, I chose an alternate port on offer from a list including 24, 25, 587, 2525, 10025 and 52525. ÊI chose 587.

3. Then I forwarded this port on my Linksys router.

4. Lastly, I went into master.cf file to add a line to make postfix listen on the alternate port 587 (instead of just SMTP 25 port)

That's it. ÊThe last thing is to wait. ÊI thought it didnÕt work initally because nothing happened. ÊThen this morning when I came to the station, all the incoming mail sent over the the last 4 days were there (including the one from Hai Hwee); all automatically retrieved by Spamfire.

Now I am happy and relieved and I have you to thank for it. ÊSo, thanks again.

Thanks for sharing the solution, Ronnie. For point 4, the line to add in the /etc/postfix/master.cf file is :

587 inet n - n - - smtpd

There is already a line that says :

smtp inet n - n - - smtpd

so you add the 587 line to it.

As Ronnie mentioned, you can chooose to use 24, 25, 587, 2525, 10025 or 52525, if your ISP blocks more ports than port 25.

I'm thinking of making this even easier to do by incorporating it into the Postfix Enabler interface - probably the version that I'm preparing for Tiger. But, for the moment, this looks easy enough to do, manually.

So, there. I ought to look into all my mail about Postfix Enabler and do an FAQ. Oughta. Shoulda. Gotta find the time.

Posted at 4:22AM UTC | permalink

Tue 12 Oct 2004

Postfix Enabler speaks Italian

Category : Technology/ItalianPFE.txt

Thanks to Joram and Daniele from the University of Rome's Mac Users Group (MugRoma), we've got an Italian localisation for Postfix Enabler.

Postfix Enabler 1.0.9 now works in English, French, German, Italian, and Traditional Chinese.

Posted at 4:38AM UTC | permalink

A Correction

Category : Technology/correction.txt

Sorry, I made a mistake. Matthew Hall doesn't write TheJouleBlog. He sent me the permanent link to the IMAP+Fetchmail article and I made the wrong assumption.

Posted at 3:38AM UTC | permalink

Mon 11 Oct 2004

PacNet is so slowwww today

Category : Technology/pacnetslowDNSaddresses.txt

Seems like a day for short posts. PacNet users who are seeing a slow-down in web access to sites outside Singapore should add these two IP addresses into (and right at the top of) the DNS field of their Network Preferences set-up : 203.120.90.40 and 192.169.33.3

Looks like they're having problems with their usual DNS servers. These alternate DNS servers help a whole lot. Just don't tell them you're using a Mac. If you're unlucky to get a PC-centric support person, that's the first thing these guys always think is wrong.

If you don't want to be thrown red herrings, always tell them you're using a PC and then translate their instructions into the equivalent (and often shorter) concepts on the Mac.

Though it's somewhat self-defeating in the sense that it will only confirm, in the minds of these PC-centric techies, that the world only consists of PC Windows users.

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