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 14 Jun 2010

Where did the Time Go?

Category : Commentary/WavesAndWind.txt

The tour guide on the Great Ocean Road was a seventies' music kind of guy, so wafting in with the wind and the waves, back from the nether regions of my consciousness, were melodies I hadn't heard in years.

And the names associated with those melodies - Chris Rea, Adrian Gurvitz, Marc Bolan and T Rex, Christopher Cross.

The best that you can do is to fall in love.

Sweet pain. I, too, was young once.

Posted at 11:27AM UTC | permalink

Twiddling Away

Category : Technology/TwiddlingAway.txt

As of now, Liya for the iPhone is still "Waiting for Review". I'd just wanted to feel how easy or difficult this App Store-submission process is before we commit to doing a few other Luca-related iPhone stuff we had planned, e.g., allowing invoices to be entered into Luca via the iPhone, which will open up a lot of other potentialities, like time-billing or making possible other revenue-collection or cost-control activities.

Having the ability to update a database remotely via the iPhone or iPad is the key enabler for a business - or any business. The database represents the state of the business. Every piece of data collected updates this picture. Yet the more layers you have between the data collection point and the database, the more your cost of doing business. Opportunities exist to cut away at these layers whenever technology changes, because that will always make some forms of work obsolete.

As sure as the sun rises tomorrow, the cost of doing business is going to rise - inexorably. Yet it's not quite so sure we can raise prices just as fast - probably not. So we've got to figure out which parts of every business process we can cut, to do more with less of the ever-expensive resources.

And I hope I'm not talking like any sleep-walking IT/business analyst. I mean, that's the way we need to train our minds to think. Like in Melbourne, it costs about $12 in Singapore Dollars to eat at a food court. Singapore is about two-thirds that at an equivalent food court. So you can see, the prices have room to head up. Whether the quality and the consumer's experience go up with it is another matter - the problem is in the aspiration. But systems and processes don't have aspirations, so there'll be resource substitution by the smarter businesses. The dumber businesses, which could include government-linked ones, plus the people with the aspirations - these are the ones who'll get hurt, bad.

So, one step at a time. I need to get Liya out there on the App Store first.

In the mean time, I'm adding a feature to set up database users and groups and their access rights in Maven, which I'll probably rename Liya for Snow Leopard when I'm done. That'll plug one remaining gap and give us a true "end-to-end" database capability - from creating and designing the database, to collecting data and serving information from any end-point, anywhere in the world.

Posted at 3:27AM UTC | permalink

Sat 12 Jun 2010

Melbourne

Category : Travel/Melbourne.txt

Now that Liya the iPhone app had been submitted, and I'm twiddling my thumbs, here are some pictures from our trip to Melbourne last week.

Hai Hwee came along, so we had no one back home to tend to the server, if it went down. Fortunately it never did. But Hai Hwee did manage to set up a back-up server at her own home that duplicated everything the live server did, including getting synchronised updates from the live database - and she did all these in just a few minutes, a few days before we left. This would have allowed us to switch to the back-up quickly, if the main server went down. Just goes to prove you can actually do all these enterpricey things in a quietly efficient way without all these IT Department-like Sturm und Drang.

Posted at 11:27AM UTC | permalink

Liya For iPhone

Category : Technology/LiyaForiPhone.txt

I've submitted this app to the App Store - it's Liya for the iPhone.

Liya connects to MySQL and PostgreSQL databases, and allows iPhone users to access and edit the database contents. It'll be a free download.

I'll have more to say, if and when it gets approved.

P.S.: Liya is a reduced version of Maven for the iPhone. It doesn't allow the user to edit or create the table structure for the database - it'll only allow edits to the contents, plus there is a search function for textual data. But that was useful enough when I was on holiday in Melbourne last week (e.g., to search through my database when I got email from people who'd lost their serial numbers) that I hadn't needed to use my MacBook Pro at all during the trip, what with the 3G Bridge Data Roam feature working so well.

Posted at 8:06AM UTC | permalink

Thu 29 Apr 2010

DNS Agent updated

Category : Technology/DNSAgent1dot0dot1.txt

Our server was not reachable for 5 hours last night. I only discovered it early this morning at 5.00 am when I woke up.

Turns out that at around midnight, our public IP address had a new lease of its IP address. So the IP address changed but DNS Agent, somehow, was not able to update dyndns.com with this latest IP address.

But why? It had been working very well for a couple of months already. By building our own dynamic DNS update mechanism, using DNS Agent, I'm able to update dyndns.com very quickly, restricting our downtime, whenever our public IP address changes, to not more than two minutes.

So why didn't it update dyndns.com this time? Turns out that there seems to be a change at dydns.com's dns server - it stopped responding to ping requests. I designed DNS Agent to ping the DNS Server to make sure it's alive before wasting time trying to contact a particular port. But some admins could turn on "stealth mode", like on our Macs, and make the server refuse to respond to ping requests. That looks what what happened.

So I've built a new version of DNS Agent that will skip the "ping" step but DNS Agent will still make sure that the server will respond to the port relevant for DNS updates before trying to issue the update.

DNS Agent 1.0.1. is available for download now.

Posted at 1:05AM UTC | permalink

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

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.