The
Ultimate
Business Machine

Technology, business
and innovation.

And, not least, about
the Mac.

Weblog Archive RSS

by: Bernard Teo






Latest Joy of Tech!

Joy of Tech ... from Geek Culture



BookJetty



Creative Commons License

Copyright © 2003-2010
Bernard Teo
Some Rights Reserved.

This work is licensed under a Creative Commons License.


Thu 17 Jun 2010

Liya's Multi-Lingual Support

Category : Technology

I remembered, a couple of days ago, that a design objective for the database frameworks we've been building has been to support data entry and search in any language - Chinese, Japanese, Thai, whatever, so that, e.g., for the case of an insurance system used in Thailand, motor policies can be recorded with their underwriting terms written in Thai, and the system will all just work.

But I realised that I hadn't tested this notion in quite a while. So we put Liya to the test and found that it already supported input in multiple languages for PostgreSQL, but not for MySQL. Debugging this, we found that we only had to fix a couple of lines of code, and Liya (connected to MySQL) can do entry and searches in Chinese, say, as shown below :

And, since these fixes were at the database frameworks level, Maven automatically gets multi-lingual support, and Luca too.

Shows the importance of good design. Instead of adjusting two lines of code to get something so enormously useful, we would have had to comb through any number of programs, at any number of levels, simply for a lack of foresight and discipline in coding.

So, Liya 1.0.1 with multi-lingual support has been submitted to the App Store. It'll probably be available for download in a week (well, I just submit it & forget it, the App Store way).

And there'll be new versions out soon for Luca and Maven for Snow Leopard.

I'm going to rename Maven to Liya for Snow Leopard. So, we have the odd couple - Luca and his girlfriend Liya. I seem to have two completely different group of users - Luca and Liya users on one side, and users of the Enablers on the other. And they don't usually cross over. I find that interesting. Had expected different.

Posted at 5:24PM SGT | permalink

Mac OS X 10.6.4 Snow Leopard Software Update

Category : Technology

I've updated my live server to 10.6.4 and all the services (mail, web server, DNS server, ftp, ssh, fetchmail, SSL, WebDAV, etc...) continue to work.

So I think it's safe to upgrade, in case you've come on over here to find out.

P.S.: It's not always like this. Sometimes things break, and they break horribly, and we've got to scramble to fix things in Apple's wake. So I'm never complacent about OS X Software Updates. All's well, for now, until the next time it breaks. In the mean time, we get some peace to work on some new stuff.

Posted at 4:27PM SGT | permalink

Wed 16 Jun 2010

MySQL & PostgreSQL Installers

Category : Technology

So, I managed to bug Hai Hwee into doing a MySQL installer to add to the one she did for PostgreSQL. And she's just updated both to their latest (generally available) versions.

Once installed, new versions of these installers will upgrade the previous version automatically, including bringing over existing data.

They'll also install Preference Panes that'll work reliably. They're 32/64 bit Intel fat binaries, Snow Leopard only.

The MySQL installer installs version 5.1.47 of MySQL, whereas it is version 8.4.4 for the PostgreSQL installer.

Posted at 4:51PM SGT | permalink

Liya on the App Store

Category : Technology

Liya for the iPhone is now available on the App Store, exactly within 7 days of app submission.

[As Steve Jobs said on D8, 95% of the apps are approved within 7 days].

It's a free download.

Now that I know that the system works, I'm going to submit an update that'll make Liya work with data in any language (Chinese, Japanese, etc).

This is all so fun. Now watch out for Luca on the iPhone. Coming soon.

Posted at 4:35PM SGT | permalink

Tue 15 Jun 2010

Berlin Wall Comes to Bedok Reservoir

Category : Commentary

Fragments of the Berlin Wall at Bedok Reservoir, depicting two kings, one bright and joyful, the other blind to the wishes of his people :

It made me think of the book about North Korea that I've just finished reading - "Jia by Hyejin Kim". That was harrowing, like living inside a Hieronymous Bosch painting. I finished it with a sense of gratitude that the author did not turn the screws on our emotions but kept her touch light. But still, your heart will go out to the North Koreans.

Now, if you switch media for the moment and compare that with this viral YouTube video of a South Korean applegirl002 making music with four (count 'em) iPhones. She looks so bright and happy, it doesn't leave much doubt that South Korea has the better political/economic climate, does it? The "Dear Leader" up north is the King on the right, "oblivious to the wishes of his people".

Posted at 11:02PM SGT | permalink

Goodbye, Twitter

Category : Commentary

I'm game to try anything once but I really don't understand Twitter and can't quite figure out what it is that it does that isn't already covered by the other stuff, like Facebook and the blog.

So, goodbye Twitter and all that.

Posted at 10:39AM SGT | permalink

Mon 14 Jun 2010

Where did the Time Go?

Category : Commentary

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 7:27PM SGT | permalink

Twiddling Away

Category : Technology

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 11:27AM SGT | permalink

Sat 12 Jun 2010

Melbourne

Category : Travel

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 7:27PM SGT | permalink

Liya For iPhone

Category : Technology

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 4:06PM SGT | permalink

Thu 29 Apr 2010

DNS Agent updated

Category : Technology

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 9:05AM SGT | permalink

Mon 05 Apr 2010

Luca for Snow Leopard

Category : Technology

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 9:35AM SGT | 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

MailServe for
Snow Leopard

DNS Enabler for
Snow Leopard

DNS Agent for
Snow Leopard

WebMon for
Snow Leopard

Luca Accounting
for Snow Leopard

Liya for
Snow Leopard

Postfix Enabler
for Tiger and Panther

Sendmail Enabler
for OS X Jaguar



Liya for the iPhone


Luca for the iPhone


Services running on this server, an iMac 2.66 GHz Intel Core 2 Duo, 4 GB RAM, 320 GB hard disk, Ethernet, Airport Extreme, Mac OS X 10.6.4 Snow Leopard:

  • Apache 2 Web Server
  • Postfix Mail Server
  • Dovecot IMAP Server
  • Fetchmail
  • SpamBayes Spam Filter
  • Procmail
  • BIND DNS Server
  • FTP Server
  • WebDAV Server
  • PHP-based weblog
  • MySQL database
  • PostgreSQL database

all set up using our own tools - MailServe, WebMon, DNS Enabler, DNS Agent and Liya, all on Snow Leopard.