The
Ultimate
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

Let a Thousand VPN Servers Bloom

Category : Technology

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 :)

VPNEnabler.png

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 dyndns.org, 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 :

VPNClient1.png

Click the Authentication Settings… button:

VPNClient2.png

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

VPNClient3.png

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

iOSClient1.png

and, in the Add Configuration panel, do this:

iOSClient2.png

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

Wed 13 Nov 2013

VPN Server

Category : Technology

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

Thu 31 Oct 2013

LDAP and slapd Version

Category : Technology

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

LDAPVersion.png

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

Wed 30 Oct 2013

Broken LDAP on Mavericks

Category : Technology

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

Mon 28 Oct 2013

LDAP Enabler for Mavericks

Category : Technology

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

Thu 24 Oct 2013

BookNapper for iOS 7

Category : Technology

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 :

BookNapperiOS7.png

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

Mavericks Torture Tests

Category : Technology

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

ProcmailMavericksError.png

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

Wed 23 Oct 2013

Mavericks

Category : Technology

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

They can be found here: http://cutedgesystems.com

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

Thu 22 Aug 2013

BookNapper

Category : Technology

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.

BookNapperScreen.png

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

Wed 02 Jan 2013

Luca in Chinese

Category : Technology

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

LucaChinese_1.png

That's how it will look like.

LucaChinese_2.png

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

Thu 29 Nov 2012

Bug Fixes for Liya and LDAP Enabler

Category : Technology

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

New PostgreSQL 9.2.1 Installer

Category : Technology

I've built a new PostgreSQL 9.2.1 Installer. It's available here: PostgreSQL_Installer_For_MacOSX.zip

I've built it, this time, with these configuration parameters : '--with-pam' '--with-ldap' '--with-krb5' '--with-gssapi' '--with-bonjour' '--with-openssl' '--with-libxml' '--with-libxslt' '--with-perl' '--with-python' '--with-tcl'

And it should work on both Mac OS X 10.7 (Lion) and 10.8 (Mountain Lion).

I've tested that this latest build of Postgres can now authenticate against an LDAP database (set up by LDAP Enabler for Mountain Lion) via PAM. 

I have still to make all this PAM/LDAP goodness work with just one click but at least the mechanisms work and I'll get there eventually. The idea is that you can set up a single logon mechanism via the LDAP database, and with that one userID/password combination, a user can get into the email, database and any other system. Next - I've got to make this work also with MySQL, which surprisingly, is harder to do than with Postgres.

One more thing - I've been troubled that with I've had to create a postgres user in order to run my previous installers. There's already a _postgres user built into every Lion and Mountain Lion system and I ought to be using it. So I've finally figured out how to make everything work with that built-in _postgres user. So, if you use this latest 9.2.1 Postgres Installer, you can safely delete the postgres user from your users' list in the Users & Groups Preference Pane, after you've run the installer and upgraded your current Postgres installation to 9.2.1.

Posted at 4:58PM 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

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.