Business Machine

Technology, business
and innovation.

And, not least, about
the Mac.

Weblog Archive Cutedge

by: Bernard Teo

Latest Joy of Tech!

Joy of Tech ... from Geek Culture

Creative Commons License

Copyright © 2003-2012
Bernard Teo
Some Rights Reserved.

Sat 21 Nov 2015

MailServe for El Capitan 9.0.5 with Dovecot Replication

Category : Technology

I love the Dovecot Replication feature. I have always wanted to set up a backup of my live server, that is ready to go if (and when) my live server goes down.

I thought the hardest problem that I’ll need to solve to solve is to find a way to do a live backup of the mail server, so that one is a perfect, totally up-to-date replica of the other. 

That was until I discovered that Dovecot has a most excellent replication feature. It took me some time to figure out how to do all the Unix incantation to make it work – the documentation being quite sketchy. But here it is, in all its glory :)

I’ve implemented the user interface for the replication feature in MailServe 9.0.5.


Just 4 steps : 

1) enter the address of the replica server (that is also running Dovecot, as set up by MailServe), 
2) enter a shared secret between the two servers, 
3) turn the replication feature on, 
4) Restart Mail Server. 

And you need to mirror the same steps on the replica server. 

That’s it.

If one fails, you’ve got all your users’ mail folders completely backed up on the other. And it runs automatically. When new mail comes, or when a user rerranges the contents of his mail folders, the backup mail server gets all the changes, within seconds. And it works in both directions. Make changes in one server – the changes will all automatically show up on the other. Great?!

Dovecot and its author(s) – they’re so brilliant.


Posted at 7:05PM SGT | permalink

WebMon For El Capitan 9.0.2 • new version released

Category : Technology

I have a new version of WebMon for El Capitan. Details are on :


Posted at 6:19PM SGT | permalink

Wed 14 Oct 2015

El Capitan Server Upgrading

Category : Technology

I’ve finished moving my live server to El Capitan. It took too long. This is the first time I’ve done an upgrade instead of a clean install. I upgraded from Mavericks, actually, rather than Yosemite, and I’m already seeing quite a few problems.

For example, the Apache files on my upgraded Mac Mini look to be different from the Apache files on my development machines, which I’ve always kept clean by doing clean installs (mostly). So my web server couldn’t start up and it took a while to debug it. Mail and the DNS server both started up fine.

But I’m having problems with the Keychain. My apps can’t seem to be able to save passwords onto the upgraded Mac Mini’s keychain.

So, quite a few puzzles to sort out.  It wasn’t as smooth as I hoped it would be.

Posted at 12:56PM SGT | permalink

Upgrading to El Capitan

Category : Technology

I’m upgrading my live server to El Capitan. As in, right now. If you see the server disappear, it’ll hopefully be only for a while.

I’ve only got this Mac Mini that I’m using as a server because I’ve been saving my money for the next incarnation of the Mac Mini from Apple and that’s taking too long to appear. So if I want to move my one and only server right now to El Capitan, I’ve got to move it in-situ.

Once I finish typing and uploading this post, I’m going to start the upgrade process. 

And then start up all my Internet services using my own “enabler” apps. Time to eat my own dog food...

Posted at 8:44AM SGT | permalink

Mon 05 Oct 2015

El Capitan News

Category : Technology

If you happen to be looking for El Capitan versions of my apps ...

Posted at 4:59PM SGT | permalink

Mon 27 Oct 2014

Liya 3.0.5 now works with iCloud Drive on Yosemite

Category : Technology

I have a new version of Liya on the Mac App Store. This latest version, 3.0.5, when run on Yosemite, now works with the iCloud Drive :


Liya’s iCloud folder now appears with other iCloud-compatible apps’ folders (like Pages and Keynote) inside the iCloud Drive folder, allowing you to easily share SQLite files with other apps, on both Mac OS X and iOS devices.

Posted at 10:25PM SGT | permalink

Tue 21 Oct 2014

Free iOS Apps

Category : Technology

If you’ve been to our home page, you might see that I’ve featured two free iOS apps you can download:


WordScanner is the OCR scannning app I’ve always wanted to have on my iPhone. I read a lot of books and I often want to share what I’ve found on my Facebook page. So, what I wanted was to have an app on my iPhone where I can simply take a shot of the page I’m reading and then hope to lift the text right out of it so I can paste it onto Facebook or the Notes app or an email message.

And I wanted it all to be so drop-dead easy — I wanted it to work even if I can’t position the page precisely on the iPhone camera viewer, or if the lighting is not particularly good. And I need to be able to crop out my fingers holding the edges of the page. And I wanted it to work so fast that I can get the text onto Facebook before I lose inspiration for whatever I wanted to write about that I was reading.

I want it to never crash because OCR is particularly finicky and memory intensive. So I decided to write the app myself, using the open-source Tesseract OCR engine and some image editing code I found on the web. The result is WordScanner. I’ve had this app for a couple of months and I’ve used it to share a lot of stuff I’ve read on Facebook. And it hasn’t yet crashed, so that’s what I’m very happy about. When I first did this, it would crash every short while.

I really love this app, maybe because I had built it myself, but I’m happy to share it. It’s available for free.

BookNapper is another app for a book lover, but in this case it would only be really useful if you’re in Singapore. We’ve got this lovely, first-class public library that I always think of as our national treasure. It’s very current, so if you’re in a nice book shop and you see a nice book, chances are that our library would have it.

So what I do is, I scan the book’s ISBN number into BookNapper, which will then keep a list of books I want to read. BookNapper tells me if this book is available in our library’s collection , and if so, in which particular branches of the library system. (It also gives me the Amazon and Goodreads reviews). Then when I step into any branch of the library, Booknapper tells me which of the books I want to read is available in that library for borrowing, right then. And leads me precisely to the right shelves.

So it’s like a precision heat-seeking missile for taking out good books! And it’s available also for free.

WordScanner and BookNapper are both available on the iOS App Store now.

Posted at 6:26PM SGT | permalink


Category : Technology

New Yosemite versions of all our apps (except for Luca which will take a bit longer) are out now. 

MailServe has a new Dovecot binary (version 2.2.14). And so does DNS Enabler with a new BIND binary (version 9.10.1).

Actually I would be happier if Apple slows down the OS X releases because this way, we are struggling just to stay in place — we’ll never get much time to build new stuff if we keep going back to the apps to fix things that used to work on the previous releases.

Anyway, you get to all the Yosemite apps by going to our home page:


Posted at 5:45PM SGT | permalink

Thu 29 May 2014

Liya 3.0.4 does Chinese and UTF8 better

Category : Technology

I’ve released Liya 3.0.4.

Bug fix: Custom SQL Command field didn't allow the use of the Character Input Menu, e.g., to choose Pinyin to enter Chinese characters into the SQL query string. This has been fixed. 


Made MySQL connections work more like PostgreSQL connections, in terms of the choice of character set used. The character set used in each connection to the database follows that of the database. If at the point of the connection, no database has been chosen, then the connection defaults to using UTF8. New databases in Liya are created using UTF8 as the default character set. 

Also fixed a crash while importing and exporting databases that occurred after version 3.0.3, when Liya was made to be Sandbox-compliant.

Posted at 6:40PM SGT | permalink

Sat 03 May 2014

Liya 2.0.1 for iOS

Category : Technology

Liya on iOS is now a Universal binary that works for both iPhone and iPad, thanks to the AutoLayout feature in Xcode. 

With AutoLayout in place, it’s getting to the point where it really doesn’t matter what exact size an iOS device is anymore. Even if the iPhone gets larger, or we get an iPad that is intermediate in size between the iPad mini and the classic iPad, or even a giant iPad, it’ll all just (mostly) work. I love having just that single code-base to work with on iOS. Already I’m able to share a lot of code between the iOS and OS X versions of Liya (as with Hai Hwee on Luca). I have an idea to do a web app framework, something like PHP but in Objective-C—something like WebObjects. Then I can do a project that straddles iOS, OS X and the web—all accessing the same database libs to get to SQL databases.

There’s this Steve Jobs quote: "We used to dream about this stuff. Now, we get to build it. It's pretty neat."


Oh, and I’ve added an option for the port number to be given as a connection parameter.

The iCloud part continues to work well. We’ve been told that SQLite on iCould is not recommended. But it’s worked OK so far. So much so that I’m now quite far along with an iCould version of my BookNapper app (available on the iOS App Store), where you can run BookNapper on both your iPhone and iPad, accessing the same list of books on iCloud, to organise your search for good books to read. That’s also almost done now.



Posted at 4:09PM SGT | permalink

Fri 25 Apr 2014

Liya 3.0.2 Available Now on the Mac App Store

Category : Technology

Liya 3.0.2 has finally passed the Mac App Store review process. This version adds iCloud support and I finally found the time to fix some user interface oddities, so it’ll now work exactly the way I had wanted it.


Notice that there is a new error log. This had been an oft-requested feature, and with this I’m now moving towards making Liya work better as a database design tool. I’d love to be able to set up compound keys and views using Liya.

If I can design an interface to allow the user to specify custom views of the database data—by dragging in tables and connecting keys between the tables, dropping columns that are not needed in the views, then I’m just one step away from making Liya work even better as a data mining tool. I’d love to be able to analyze the data across any number of dimensions, e.g., sales by product type by quarter or financial year, just by dragging visual representations of keys around the user interface, so the user can pivot the data around any focal point.

That’s the dream.

Liya’s interface had been quite “quirky” because it really was very difficult to get the programming and user interface done right. Once I decided that I really must have this three-panel interface—with the tables, table columns, and table contents made visually accessible to the user all the time and all available to be edited at will—I created a mountain of a challenge for myself. 

That’s because I have to decide where and when to impose “pockets of modality”, so that reasonable things that the user wants done—like changing the data itself, removing a database column, and renaming yet another column—can all be effected at once when the user hits “Save”, thus preserving the smoothness of action and thought, the “in-the-flow state-of-mind" you want to be in when you’re doing deeply-thought-out database design. I know that’s how I want to design a database—like I’m working with play-doh or similarly plasticine material. And yet I want the system to catch the obvious errors and throw me into modal dialogs so I can’t do anything other than to fix the errors right now.

So the user interface design (and programming) for Liya was very hard. I’ve had to put aside the other things I want to do until I can get this concept done right.

But now that this version is done, it’ll provide the harness from which all the other good stuff can come into play, and I’m going to move on ahead. All I need is time :)

Another aside. Liya is also on the iPad. You can find Liya for the iPad on the App Store and you can share SQLite files moved to iCloud by Liya for the Mac. Enjoy...

Posted at 9:04AM SGT | permalink

Tue 22 Apr 2014

Luca 6.0.3 works with iCloud

Category : Technology

We’ve released Luca 6.0.3. The Mac App Store version allows the user to move the accounting database to iCloud, thereby making it possible for the user to review the accounting data from another Mac or even an iPad (using a forthcoming version of Luca for iPad).


Actually Luca is pretty powerful. It allows the user to manage the accounting data for more than just one company, or many branches of the same company, and you can move all of these information to iCloud. I’m looking forward to releasing the iPad version. It’s easier to move around with an iPad, and being able to review the state of the accounts with a variety of relevant people while on the move could make work (and life) more convenient for some accountants.

Luca is actually the reason why we work so hard on Liya. Both use the same database access software and programming libraries that we’ve developed to store data into SQL databases—like MySQL, MariaDB, PosgreSQL and SQLite. But we test them out on Liya in a variety of general purpose situations. Liya is the test-bed, with many eyeballs bearing down on it. It’s been used by almost 25,000 people (mostly developers) since the time we’ve placed it on the Mac App Store. As they say about eyeballs—with many eyeballs, bugs tend mostly to be shallow. Report a bug on Liya and we’ll fix it quickly—because Luca benefits from having a clean, safe, precise database engine. After all, we’re dealing with people’s precious accounting data on Luca and we want these records to be kept pristine.


Just one more aside. See how for so many years at the start, Liya’s download numbers barely registered. We do zero advertising. It’s not that we’re proud of that fact. It’s just that, with limited resources, we tend to allocate most of our energy towards building great products for Mac and iOS users, with very little left over for “marketing". But, as with our “Enabler” products, and with the phenomena variously described, e.g., by Chris Anderson in "The Long Tail”, with the search tools on the Internet, people invariably find us. Well, initially the people on the fringes. Then word spread through word of mouth. And that’s how we get our users. It’s amazing, this Internet. We build the tools. And somehow the people who will like us, find us. It just takes time. But we still get there. After all, I’ve always believed in The Journey Is The Reward. That’s my favourte Jobsian phrase of all time :).

Posted at 7:59PM SGT | permalink

Read more ...

Put your Mac to Work 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.