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.

Mon 05 Apr 2010

Luca for Snow Leopard

Category : Technology/LucaSnow.txt

We have also got a new Luca for Snow Leopard.

This breaks with previous Tiger & Leopard-compatible releases because, from this version on, we're using Snow Leopard-only Cocoa APIs (application programming interfaces) to take advantage of new Snow Leopard features, e.g., to make better use of the multiple CPUs in modern-day Macs to process as many tasks in parallel as we can.

This is the platform on top of which we'll build all future enhancements. Most of the changes in Luca 3.0 are thus "under the hood", though there are a couple of changes that are visible in the GUI, e.g., the ability to print invoices for accounts receivables.

This is also the first version of Luca to make the transition from free community-service app to being a paid-for commercially-supported product. But Luca has been free for five years now, so is $29 an unreasonable price to pay for it (or too little)? We'll know in time.

But I'm amazed at some of the features we have in Luca, even if we built it ourselves (i.e., Hai Hwee and me). Mainly it's because of the Cocoa APIs. The other day we were fixing a bug in Luca introduced by our switch to 10.6.3-only Cocoa APIs. This bug only surfaced when the user changed locales, e.g., from English to German or Chinese.

This was a rather subtle bug and I was deep into it but when the fog in my mind cleared, I was looking at a table of vouchers with dates in German and then Chinese, and we were switching locales, and so we got dates like "12.Mrz.2010" or "12 3月 2010". And as we sorted the table, the records sorted correctly by dates, not alphabetically, which would have been rather useless in such a case (because we couldn't just set the format to "2010 03 12" and assume it'll work for all locales).

And the vouchers we were looking at were, e.g., for a German company doing business in Vietnam using Vietnamese dong, with payments and receipts coming in French francs and US dollars, among others. What other accounting systems can do that?

We know we couldn't ever do that years before when Luca was built using 4th Dimension. That's what keeps our creative juices going. We can do so much more with the tools we have now. Don't even mention the iPad. Now that would be something.

Posted at 1:35AM UTC | permalink

New MailServe Snow and WebMon Snow Releases

Category : Technology/MailServeSnowAndWebMonSnowNewReleases.txt

I have a couple of new releases today.

MailServe Snow 4.1.5. This is a minor user preferences update. If you have both a test SSL cert, as well as a "real" cert from a Certification Authority installed, MailServe will now "remember" which version the user prefers to use, rather than default to the use of the test cert if the user didn't choose the use of the real cert explicitly.

WebMon Snow 4.0.6. WebMon Snow now takes advantage of Snow Leopard's ability to spawn off tasks in parallel to the multiple processors in modern-day Macs. If you're accessing the log records from a remote server over a slow Internet connection, the spinning beach ball cursor doesn't appear, the Mac appears to work faster and continues to be responsive even if you launch another log window to monitor a different server. This version also includes an up-to-date IP address-to-country mapping database.

Posted at 12:44AM UTC | permalink

Tue 30 Mar 2010

Mac OS X Snow Leopard 10.6.3

Category : Technology/10dot6dot3.txt

I've updated my live server to OS X 10.6.3.

Everything still works - web, mail, fetchmail, dovecot, procmail, spambayes, dns, apache, SSL certs, etc... - so it looks like it's safe to say it's okay for all our users on Snow Leopard to move to 10.6.3.

Posted at 7:02AM UTC | permalink

Wed 24 Mar 2010

PostgreSQL 8.4.3

Category : Technology/PostgreSQL8dot4dot3.txt

Hai Hwee has updated our PostgreSQL Installer to use the latest 8.4.3 release of PostgreSQL.

If you've used her installer to install the previous 8.4.0 version, you can now simply upgrade to 8.4.3 and the installer script will also move your data over. Just one click and you're done. It's so simple.

Available now for Intel-based Macs running OS X 10.5 and greater - in 32-bit and 64-bit versions.

I'm bugging Hai Hwee to do a MySQL equivalent. Now with the MySQL installer for OS X from the MySQL site, it's always a pain to upgrade to the latest version of MySQL because you have to move your data over yourself. So most of the time, I'd just leave things alone and never upgrade. So if she can just find the time to do this, too, we will have a pretty sleek development platform on our Macs.

Posted at 5:02PM UTC | permalink

Wed 17 Mar 2010

A Better PostgreSQL Installer

Category : Technology/PostgreSQLInstaller.txt

When you download and install PostgreSQL from the Mac OS X links at the PostgreSQL website you'll find, after a while, that your Mac refuses to go to sleep automatically. When this happened to my MacBook Pro a few times, because I left it running thinking that it would go to sleep on this own (as this is a habit that dies hard), the battery was severely drained and eventually damaged. (It's now always grumbling at me to "Service Battery").

Somehow, after the PostgreSQL installation, the Mac is left with a setting that interferes with its ability to go to sleep normally. It took me a long time to finger PostgreSQL as the culprit. So I really wanted to find out precisely what was the cause and fix it. (And learn how to work with the Mac OS X package installer at the same time so I could build my own Postgres installer.) But I couldn't find the time, until my friend, Hai Hwee, took on the job.

So, this is Hai Hwee's PostgreSQL installer with the sleep problem fixed. The Mac goes to sleep when it should - great for a development machine.

She's also built a Preferences Pane for PostgreSQL - to start and stop the server - and that actually works (as a dig at the MySQL prefs pane because that doesn't really work properly).

So, the PostgreSQL installer that doesn't suck - available now for Intel-based Macs running OS X 10.5 and greater - in 32-bit and 64-bit downloads.

And Hai Hwee has made the installer able to upgrade the Postgres version if you already have one running. Currently we're installing the 8.4 version, so this will be handy when we find the time soon to bundle in the latest PostgreSQL 8.4.x release.

For MySQL, the Mac OS X downloads at the MySQL site are quite adequate, except for the Prefs Pane which sometimes doesn't work or require a reboot. Maybe, next time, we'll build an installer for MySQL, too, for completeness. Then between these two installers and our soon-to-be-renamed Maven, I'm only missing a tool that'll help a database administrator to set up users and groups in an easy and consistent way across the two databases. Then I'll be getting closer to an end-to-end solution, including tools that'll run on the iPhone and iPad. That's going to make the Mac and iPhone and the iPad serious business machines (at least, as far as the things we dream of building are concerned).

Posted at 12:55AM UTC | permalink

Thu 11 Mar 2010

DNS Enabler Snow 4.0.4 wth Dynamic DNS Updates

Category : Technology/DNSEnablerSnow404DynamicDNS.txt

I've released DNS Enabler Snow version 4.0.4. This is the one with the ability to listen to DNS update notifications from clients on dynamic IP addresses and keep their host names always in sync with their current IP addresses.

This is how it looks like :

The new control is the "Allow Dynamic DNS Updates" check-box.

Once this is set and the name server restarted, the DNS Server will be able to listen to dynamic DNS updates from clients on dynamic IP addresses, or clients that are constantly on the move, like MacBooks. This is so that everybody can refer to them simply by their domain names and not worry about which place or even which country they happen to be currently on.

The clients need to run the companion application to DNS Enabler Snow, called DNS Agent. The only thing the DNS administrator needs to do is to transfer an authorisation key generated by the server to each of these clients so they can be given the credentials to update the server without any user intervention.

Clicking the question-mark icon next to the "Allow Dynamic DNS Updates" opens up a dialog box where you can find the Authorisation Key. The administrator can drag the authorisation key onto the server's desktop and copy it to each of the clients whose IP addresses need to be tracked, either via file transfer or email.

Once on the client, if it has the DNS Agent application on it, the user can simply double-click on the key file to open the DNS Agent application to install the key. Then its a simple matter of entering the address of the DNS Server and the host name of the client machine. Then he can start the IP address-monitoring daemon and close the application.

The daemon continuously monitors the state of the IP address and updates the DNS Server whenever the IP address changes. It continues to run, even across shutdowns and reboots, until the user stops it from the DNS Agent interface.

If you leave the DNS Enabler Snow application on in the server, you can see the updates appearing automatically, but a few minutes later (say, 10 minutes). Why so late? This is because updates are cached by the server but not written straightaway to disk because the updates have to be fast in case they come in in volume (the way dyndns.com's server's load would probably be). They're registered immediately by the server and you can check that it's true if you do a dig on the server in Terminal. But the zone files are batch-updated later. When they do get updated, you'll see that reflected on the DNS Enabler interface immediately.

Both DNS Enabler Snow 4.0.4 and DNS Agent 1.0 are available now.

And so, I can continue now with my iPhone/iPad exploration.

Posted at 7:17AM UTC | permalink

Wed 10 Mar 2010

Introducing DNS Agent

Category : Technology/IntroducingDNSAgent.txt

For a long time, I've been wanting to replace DNSUpdate with my own app (DNSUpdate had been keeping my server's IP address record on dyndns.com updated in sync with my domain name whenever that IP address changes).

Ever since the Work Around Bonjour troubles we've had on OS X 10.4.7, DNSUpdate hadn't been working quite right, always stalling when you try to install its IP-monitoring daemon, and even now on Snow Leopard.

So building something to replace it had been on my radar for some time. And the time came when I received a request to add dynamic DNS client support to DNS Enabler Snow. I worked on this over the last couple of months and I have now a new version of DNS Enabler Snow to release, which I'll do next, but first I'll introduce its companion app, DNS Agent :

DNS Agent can update a DNS Enabler Snow-enabled DNS Server with a client's ever-changing IP address (i.e., those machines on dynamically assigned IP addresses or those machines always on the move), as shown above.

Or, DNS Agent can update dyndns.com, if the user has a member's account with dyndns.com (see below).

Setting it up to use with dyndns.com is dead easy - just enter your members.dyndns.com userID and password by clicking on "Set Up Update Keys" button, enter the host name(s) of the machine for which you want DNS Agent to update dyndns.com, start the IP-address monitoring daemon, and you're good to go (as shown above). You can then close the app because the daemon continues to run, even across reboots, until you stop it.

Setting DNS Agent to work with a DNS Enabler Snow DNS Server is just as easy. I'll come to it next when I've finished updating DNS Enabler Snow's web page.

But DNS Agent is available now. Only for Snow Leopard.

Posted at 2:34AM UTC | permalink

Sat 06 Mar 2010

MailServe Snow 4.1.4

Category : Technology/MailServeSnow4dot1dot4.txt

I've updated MailServe Snow to 4.1.4, so that it can also handle 2048 bit length SSL keys.

On top of that, I've also added a new custom Procmail settings button to the Spam panel.

MailServe Snow uses Procmail to integrate Postfix, Dovecot and SpamBayes to implement spam filtering. With version 4.1.4, the user can now set up custom Procmail directives to be processed before or after the default procmail directives for handling spam filering.

The default procmailrc can also be edited and there's a button to revert the directives back to their default state if, for some reason, the user's custom edits fail to work.

Download the latest MailServe 4.1.4 now.

I have a new version of DNS Enabler Snow to be released next. Plus a new companion app, DNS Agent. They will work in concert to allow client machines on dynamic IP addresses to update the DNS server whenever their IP addresses change. With this, users can now set up their own dynamic DNS service, much like dyndns.com.

Actually, I've made DNS Agent able to also update dyndns.com so that I can now use my own app instead of DNSUpdate. It seems to be working well on my live site but I'll need to test it for a few days more.

Plus, I'm also working (with my friend, Hai Hwee) on the iPhone and the iPad simulator to port Maven (which will soon be renamed) and Luca to these platforms. So lots of work. More work, less talk, more reading, and more time with the family - that comes pretty close to paradise on earth, at least for me.

Posted at 4:31AM UTC | permalink

WebMon Snow 4.0.5 Released

Category : Technology/WebMonSnow4dot0dot5.txt

I've updated WebMon Snow to 4.0.5.

From this version, on WebMon Snow will create SSL test certs and cert requests at a default 2048 bits instead of the previous 1024 bit standard.

There is a movement towards supporting only 2048 bit length keys by Certificate Issuers and browser makers by December 31st 2010 and this is to prepare for it.

According to the GoDaddy link that I quoted, above, "It is estimated that the computer power required to break 1024-bit length secure certificate private keys will exist by 2011."

But it seems like it's already been broken yesterday. (See "RSA 1024-bit private key encryption cracked").

So, right on time. And I'll be updating MailServe Snow, too.

Posted at 1:49AM UTC | permalink

Fri 29 Jan 2010

MailServe Snow 4.1.3 Released

Category : Technology/MailServe4dot1dot3Released.txt

I've released MailServe Snow 4.1.3.

It includes a few new features. I've added the ability to create and delete mail users from within MailServe, and decide if the user should be hidden from the Login Window and whether he has the full complement of the standard OS X home folder or a minimal home folder to store only the IMAP folders.

The administrator can also decide for this user if his spam mail will be deleted right away or continue to collected in the spam folder.

Dovecot has been updated to the latest version 1.2.10.

Fetchmail was updated by Apple to 6.3.11 via the latest software updates, and this version has a much less chatty log and so the Fetchmail log has been merged with the Postfix and Dovecot log in the MailServe Log Panel.

Finally, there used to be a 16K limit to the size of the Aliases field (and all other similar fields). This limit has been removed and they can now contain as much information as the mail admin wants.

This is a release that includes a substantial amount of code changes, plus a lot of tweaks that the user don't see underneath - unless I left some bugs and, of course, hell may then break loose. But I've tested as much as I can and I've been using it on my live server for a week now. Hope that I've done enough.

This is really the time to put in the new features - when Snow Leopard has already settled in for a while. It would have been unwise to attempt all these when Snow Leopard just came out. So it's a bit of an inversion (in terms of business practice) from what the users would have expected. But this is dictated by the realities of living at the cutting edge of technology. I think this works. (And I'm now going to work on a major new feature addition to DNS Enabler Snow, though there's a new toy - the iPad simulator - that's calling out its siren song.)

Posted at 3:38AM UTC | permalink

Wed 27 Jan 2010

Dovecot 1.2.10

Category : Technology/Dovecot1dot2dot10.txt

Dovecot 1.2.10 is out, so I've updated the latest test version of MailServe Snow 4.1.3 to include it.

I might also be able to include a feature that'll allow the user to set up his own custom procmail recipes, in addition to the one that's set up for the SpamBayes junk-mail filtering to work.

This is going to be a pretty significant update.

Posted at 8:42AM UTC | permalink

Mon 25 Jan 2010

Dovecot 1.2.9

Category : Technology/Dovecot1dot2dot9.txt

I forgot to mention that the latest (testing-stage) MailServe Snow 4.1.3 also includes the latest Dovecot 1.2.9 release.

But you'll need to save your MailServe config and then do a de-install of MailServe so that MailServe can then replace it with the new version of Dovecot when you start up all the services again.

I'm starting on a new version of DNS Enabler for Snow Leopard that will hopefully make it able to support dynamic DNS updates from client machines that are on dynamic IP addresses.

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