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.

Wed 18 Dec 2013

VPN Enabler 1.0.1

Category : Technology/VPNEnabler1dot0dot1.txt

I’ve updated VPN Enabler to make it more helpful. I’ve added a “Suggest IP Addresses” button. (Download VPN Enabler 1.0.1)

If you’re running VPN Enabler on the single machine, on the local network behind the router, that has all the Internet services loaded on it (e.g., web, mail, and dns server, all on one machine, which is quite a reasonable assumption for the user base that is running all my “enabler” apps), then when you click on that “Suggest IP Addresses” button, it’ll try to provide you with reasonable values that you can use.

These values are provided to an incoming VPN client, which is joining your private local network, so it’ll firstly be assigned an IP address within the range you provided, and then it’s told where to go for DNS services. Basically, the VPN Server acts like a DHCP Server for the incoming VPN clients.


If you hadn’t noticed, I’ve added a Step 4. It reminds the user to set up the router to forward three known UDP ports (500, 1701, and 4500, used by VPNs) to the VPN Server’s IP address. If you had clicked the “Suggest IP Addresses” button, it’ll helpfully tell you the exact IP address of your VPN server machine. Enjoy! Really.

Posted at 11:21PM UTC | permalink

Let a Thousand VPN Servers Bloom

Category : Technology/VPNEnabler.txt

I’m releasing Version 1.0 of VPN Enabler (this is the download link). I used this to set up a VPN Server on OS X Mavericks before I went to China, so I can access Facebook, etc, while I was on wifi networks in Chengdu, Sichuan. As far as I can test myself, the VPN Server works (wonderfully, if I may add :)


Only three steps and one click. That’s all it takes to get your own VPN Server running. Of course, your Mac server must be accessible from the Internet. If you’re on a dynamic IP address, sign up with DNS providers like, and use my app, DNS Agent (for Mavericks), to keep your IP address in sync with your domain name, no matter how often that changes.

On the Mac client, set up your VPN configuration like this, in Network Preferences :


Click the Authentication Settings… button:


And click the Advanced… button to set the “Send all traffic over VPN connection” option:


For iOS clients, look for Settings > General > VPN. Add a VPN Configuration:


and, in the Add Configuration panel, do this:


And that’s all there is to it. Enjoy!

Important Tech Note :

If you’re running the VPN Server on a local network behind a router, you need to set up your router to forward UDP (not TCP) ports 500, 1701, and 4500 to the IP address of your VPN Server.

This is not as difficult as it sounds. Your router (which might be bundled with a wifi base station) would have a setup page that you can access using a web browser. Look for the Port Forwarding setup page, which is probably lumped with the Firewall settings. Then use that setup page to create three port forwarding records to associate UDP ports 500, 1701, and 4500 with the local IP address of the Mac that is running your VPN Server. This way, when network traffic comes in from a VPN client, the router will know which machine to route them to for processing.

Posted at 1:37AM UTC | permalink

Wed 13 Nov 2013

VPN Server

Category : Technology/VPN.txt

I’ve got a VPN Server running on the plain client version of Mavericks. As usual with these installations, I did so many things to get this to work. I’ll need to figure out what I did that actually worked, and then put them all into a “VPN Enabler” app.

There are many uses for a VPN server. I’ll be going to Chengdu in China in a little less than three weeks’ time. I’ll be able to see if this helps me get past that Great Firewall of China, so I’ll still be able to get through to Facebook, etc, while I’m surfing the public WiFi over there.

I’m going to start work putting together this VPN Enabler app. If there is anyone interested in trying it out when I’m done, just drop me a note.

It felt great to get this working. I couldn’t get LDAP working properly on Mavericks (it doesn’t authenticate for Postfix or Dovecot anymore), so I was worried I was on a losing streak :) 

I’m like a junk man poking inside Mavericks, to see what’s there and what I can do with it. That’s why I hate the “iOSification” of Mac OS X. Lock up iOS all you want (though I could argue even against that). The Mac’s got all the power of Unix on tap. Don’t emasculate it.

Posted at 1:08PM UTC | permalink

Thu 31 Oct 2013

LDAP and slapd Version

Category : Technology/LDAPErrorOnMavericks.txt

I’m still trying to figure out why LDAP authentication for Dovecot and Postfix will work on Mountain Lion but not on Mavericks. 


I’m baffled because the slapd server’s version is the same on both systems - version 2.4.28. So I’m going through every single configuration parameter - on LDAP, Dovecot and Postfix, and the configuration directories they use on the system, like /usr/lib/pam and /etc/pam.d.

I keep getting this error - "pam_ldap: error trying to bind as user (Insufficient access)”. Lots of leads on Google but no real breakthrough.

I’m hoping to find a solution and get this out of the way, so I can work on two things next - IPv6 support for DNS Enabler and a VPN Server Enabler - things I should have started work on for a long time already.

Posted at 8:44AM UTC | permalink

Wed 30 Oct 2013

Broken LDAP on Mavericks

Category : Technology/LDAPMavericks.txt

I’ve released a new version of MailServe for Mavericks with the LDAP authentication feature hidden because this broke on Mavericks and I’m struggling to find a solution for the time being.

This new version of MailServe (7.0.2) comes with one tiny new feature, though. There is now an option to inhibit the sending of the job completion report whenever the SpamBayes training job completes. I guess having that message clog up the in-tray gets tiresome after a while.

I’ve also updated LDAP Enabler for Mavericks (3.0.1) to fix a bug with its De-Install process. I’ll continue to work on LDAP on Mavericks. If you’re interested in its progress, just let me know and I will send you any new updates I make. If I can solve it, that is.

Posted at 2:15PM UTC | permalink

Mon 28 Oct 2013

LDAP Enabler for Mavericks

Category : Technology/LDAPEnablerForMavericks.txt

I’ve finally time to make and test a version of LDAP Enabler that will work with Mavericks.

Screen Shot 2013-10-28 at 4.41.37 pm.png

Version 3.0 is available here.

Posted at 8:44AM UTC | permalink

Thu 24 Oct 2013

BookNapper for iOS 7

Category : Technology/BookNapperiOS7.txt

I’ve released a slew of updates the last few days, including BookNapper for iOS 7, which reminds me—I haven’t updated its screen shots on the App Store.

BookNapper is an app I wrote to allow me to keep a list of books that I’ve chanced upon in book stores, that I might like to read later on, if I can find it in our local library.

This is how it looks like in iOS 7 :


The point is, I’ve come to think that it looks better now in iOS 7 than in iOS 6. Here’s the screen shot from iOS 6.

Which comes to the point I really want to make—Jony Ive’s remake of the iOS interface seems to have worked. There’s a vibrancy that’s apparent in spite of the “flatness”, or maybe because of the flatness. Now, looking at Mavericks, I believe we’re due a similar make-over for the Mac. It really needs a clean up.

Posted at 9:11AM UTC | permalink

Mavericks Torture Tests

Category : Technology/MavericksTortureTest.txt

I’ve tested MailServe for Mavericks (and all the other Enablers) as much as I can before placing them on my web site for people to use.

MailServe is a pretty deep product, with plenty of components and moving parts underneath. I thought I’ve tested every feature and fixed all the things I could see that had been broken — different versions of Postfix requires different configuration parameters and Apple is in the habit of swapping out Unix level command line tools without warning.

But I’ll still get mail like this


and I’ll have to scramble to test everything again. 

So, if things don’t look like they’ve changed, it doesn’t mean that nothing has changed. Sometimes a lot has changed, underneath.

For example, do people who’ve downloaded DNS Enabler for Mavericks realise that Apple has left out BIND and the named daemon in Mavericks? Never mind :) But, by knowing (just) enough to build my own binary, I could custom-build one now that will take advantage of the multiple CPUs in the Mac to process the incoming DNS queries in parallel. So going forward, having been forced to figure out how to build my own binary from source, it means I can go ahead, in spite of what Apple might want to do, to explore things like BIND10, the latest incarnation of the named server.

Posted at 8:11AM UTC | permalink

Wed 23 Oct 2013


Category : Technology/Mavericks.txt

I have new versions of MailServe, DNS Enabler, DNS Agent, and WebMon for Mavericks.

They can be found here:

Pardon me if I take a break. I’m quite exhausted getting them out and tested. I’m still working on them. I wish sometimes that Apple will stop making so many changes so often, if only to get some breathing space to actually build on this fantastic platform.

I also have new versions of our very popular SQL database installers, for MySQL, PostgreSQL and MariaDB. They’re accessible also from the Cutedge home page today, together with a new update to Liya. Enjoy, while I take a break watching the Apple Keynote. :)

Posted at 2:23PM UTC | permalink

Thu 22 Aug 2013


Category : Technology/BookNapperPlusGoodReads.txt

I built this app called BookNapper so I can keep a list of books I want to read. Then when I'm in any one of the very excellent public libraries that we have here in Singapore, the app will tell me which of these books I want to read can be found there.


It's been working quite well and you can find it at the App Store. But what I want to do now is make it work with Goodreads, so the books that are napped goes into a Goodreads Currently-Reading shelf and eventually to a Read shelf. 

This is what I'm working on now (besides all the Mavericks stuff, that is, which I find a pain. Can't Apple leave us alone for a while so we can catch up with the technology, rather than change things every year?).

Posted at 6:53AM UTC | permalink

Wed 02 Jan 2013

Luca in Chinese

Category : Technology/LucaInChinese.txt

Hai Hwee has been working on a Chinese-localised version of Luca:


That's how it will look like.


This version includes various bug fixes and speed improvements. It's a version we hope we'll be able to sell on the Mac App Store.

And then onwards to a version of Luca for the iPad.

Posted at 4:38AM UTC | permalink

Thu 29 Nov 2012

Bug Fixes for Liya and LDAP Enabler

Category : Technology/NugFixesForLiyaAndLDAPEnablerforML.txt

I've fixed some bugs for Liya and LDAP Enabler for Mountain Lion.

Liya is now at version 2.0.11 (while the Mac App Store version remains stuck at version 2.0.9). I've fixed Liya so it'll handle SQLite fields declared as Bool. Liya will treat it as an integer, and map it to the NSNumber Cocoa data type.

LDAP Enabler is now at 2.0.2. In version 2.0.1, the password was not set correctly when a user was first created. You had to do a Change & Save Password explicitly to set the password correctly. Version 2.0.2 fixes this bug.

Posted at 2:37PM UTC | 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.