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.

Wed 08 Aug 2012

MailServe for Mountain Lion 6.0.3

Category : Technology/MailServeForMountainLion6dot0dot3.txt

In the previous version, 6.0.2, I changed the way de-install works by forcing the user to stop Postfix and Dovecot manually before they can do a de-install. This was to ensure I have given every Postfix process sufficient time to finish their work before I delete the Postfix directory that was set up by MailServe. 

However that wasn't very popular and so I have reverted it. The users are not used to having to stop Postfix and Dovecot manually before they do a de-install. They expect the system to do it for them. I will have to find some other ways of ensuring the completion of Postfix processes before I kill the system.

So I have a new version 6.0.3 of MailServe for Mountain Lion for download.

This version of MailServe also introduces a new field to allow Dovecot users to control the number of concurrent connections a user can make to the server. The default is 10 but the administrator can increase it when it has multiple clients accessing the server from multiple devices. 

Finally this version fixes a bug in the Spam panel whereby the procmailrc file gets saved to the system with environment variables, like $HOME, etc... getting unintentionally expanded to hard-coded paths.

Posted at 4:03PM UTC | permalink

More Mountain Lion Differences

Category : Technology/NSTextFieldsInMountainLion.txt

Luca has been hit by another stealth change Apple made to Mountain Lion. 

NSTextFields in Mountain Lion now appear to have auto-formatting turned on (which is not the case with previous versions of OS X). In other words, when a number value is entered into a text field, the text field will automatically format its appearance according to the number display format the user had chosen in System Preferences. 

For example if 2012 is entered into a text field, NSTextField will automatically format it as 2,012, as shown below. 

NumberTextField.png

If you entered "abcd" into the text field, that will of course be displayed as "abcd". All very convenient. But if 2012 stands for the year we want to capture data for, then displaying it as 2,012 looks rather odd. Worse, when we take the value back as a string value and use it to compare against another string value like "2012", we find we're comparing "2,012" against "2012", thus throwing a lot of the embedded (and assumed) programming logic out of whack. 

And Luca isn't the only app that sits uncomfortably with this latest change that Apple deems fit to make. Look at Network Preferences, when you try to enter a port number for a network proxy :

NetworkPrefsProxy.png

Look at how the port number 8080 ends up looking like 8,080.

So, in Mountain Lion, we've had to go through a lot of our code to clean up stuff like that. There may be more lurking that we have not yet spotted. So let us know as soon as you see something that isn't working as it should.

Luca for Mountain Lion has now been updated to 5.0.1. Available now.

Posted at 2:57AM UTC | permalink

Tue 07 Aug 2012

MailServe on Upgraded Mountain Lion Macs

Category : Technology/MailServe6dot0dot2.txt

If yours is an upgraded Mountain Lion machine, as opposed to one that has been clean installed, you may see this problem in the log :
Aug  6 07:57:41 iMac.local postfix/postmap[2571]: fatal: bad string length 0 < 1: mydomain_fallback = 
Aug  6 07:56:54 iMac.local postfix/postqueue[2537]: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
A clean-installed machine is OK - it doesn't exhibit this problem.

If yours was an upgraded Mountain Lion machine, the problem is that Apple assumes that it is doing a Mountain Lion Server upgrade and gives it the "wrong" main.cf file (meant for Mountain Lion Server).

Don't believe? Look at this in Startup Disk, Systems Preferences :

StartUpDiskAfterMtnLionUpgrade.png

My Lion partition on the left was upgraded to Mountain LIon, as opposed to clean-installed, unlike the partition on the right. The upgraded one shows OS X Server, 10.8, while the clean-installed showed OS X, 10.8, as it should.

I have a new version of MailServe, 6.0.2, that attempts to fix what Apple has wrought.

It attempts to give you a main.cf file in /etc/postfix that is meant for Mountain Lion client. I don't use /etc/postfix (I have my own installation directory in /usr/local/cutedge/postfix) but built-in commands like sendmail, PHP mail, and the mail command line still use the postfix config file in /etc/postfix, and that's the one emitting all these messages.

To fix this, run MailServe 6.0.2 and do a de-install from the Help menu. You must first make sure that Postfix and Dovecot are not running. Option-Click on their respective buttons to stop them. (Note :You may want save the current config from the File menu first). I patch the faulty /etc/postfix/main.cf in the de-install process.

After starting postfix again in MailServe, Mail.app should work with your server, plus all the other command line tools.

Posted at 12:26AM UTC | permalink

Mon 30 Jul 2012

DNS Enabler for Mountain Lion ver 6.0.1

Category : Technology/DNSEnabler6dot0dot1ForMountainLion.txt

I have a new version of DNS Enabler for Mountain Lion out. The Allow Dynamic DNS Updates check box in version 6.0 wasn't being synchronised with the actual state of the system, due to some new case-sensitivity issues in Mountain Lion. Version 6.0.1 fixes that.

Posted at 2:27AM UTC | permalink

MailServe on Mountain Lion Server

Category : Technology/MailServeOnMLServer.txt

Looks like MailServe will work on Mountain Lion Server also. Just leave Server's own mail service turned off. The Fetchmail that's bundled into MailServe will also work correctly then.

I'll test Lion Server more thoroughly when I can find the time, in a couple more weeks.

Posted at 12:28AM UTC | permalink

Fri 27 Jul 2012

Upgrade to Mountain Lion

Category : Technology/UpgradeToML.txt

I've got every one of my apps now running on Mountain Lion. There's a lot of powerful technologies underneath in every level of Mac OS X Mountain Lion (and in iOS 6). So it's something that I really want to build on (if only Apple could slow the pace of the changes so that we can actually build more new features, than re-tooling stuff to fit the changes they wrought).

So I want to encourage every one to get on board Mountain Lion by making any previous version of our apps upgradeable to its Mountain Lion version at the same standard upgrade price of $15 (except for Luca which is a bit more but I'm also thinking about that one), even all the way back to Postfix Enabler.

This way I can focus all our energies on this single latest version of OS X (and on iOS6) and integrating the features across all the Apple devices. Do check out the whole range of all our apps on our main Cutedge web site. Thanks to all the people who're upgrading – it's like seeing old friends once again.

Posted at 11:13PM UTC | permalink

Mountain Lion versions of all my apps

Category : Technology/MLVersionsOfAllMyApps.txt

Ok, I've fixed the problem with Mountain Lion not having Fetchmail built in. So I've built a Fetchmail binary to ship with MailServe.

MailServe for Mountain Lion can be found here :

The other Mountain Lion apps I'm ready to release are : DNS Enabler, DNS Agent, WebMon and Luca.

And there is also a Liya 2.0.7, which can already work on Mountain Lion.

I'm still testing them, so this is like a soft release, so I can fix problems as they come in. 

As Mountain Lion stabilises, I will be building more features on top of these versions, so do come back and check if there are updates. 

And I will update the documentation in the following days (they're still showing the Lion screen shots).

Do also keep your feature requests coming in. Mountain Lion is a promising platform to build more powerful apps (though I hate the sandbox). So I'm looking ahead to the coming work with relish.

Posted at 9:32AM UTC | permalink

Thu 26 Jul 2012

Mountain Lion News

Category : Technology/ML.txt

I'll have Mountain Lion versions of DNS Enabler, DNS Agent and WebMon ready over the weekend. I'll need to test them again on the shipping version of Mountain Lion.

I'm having more problems with MailServe. I was using MailServe to test a more Apple-approved way of setting up the Mac's system files as a super-user, but I've realised that that way opens up more security holes than the one it replaced. So I'm scrambling to put everything back the way it was and only make another attempt when Mountain Lion stabilises. Also there is no Fetchmail in Mountain Lion. I'll have to build my own.

I'll probably have a working version of MailServe again, over this wekend, without Fetchmail, which I'll continue to work on the following week.

It's really too soon for Mountain Lion. As usual, Apple makes tons of changes in the system underneath. So many things break. So sometimes we have to run just to keep up, though it looks like we didn't move one bit. I was looking forward to building on top of Lion before we knew about Mountain Lion. I could do without all these changes. But no point complaining. Just have to get it done.

P.S.: I have a Mountain Lion version of Luca built. But I didn't like the way Luca Preferences work after a change I made. It's OK on SQLite database, but if you're accessing a MySQL or PostgreSQL database on a slow Internet connection, Luca Preferences takes too much time to come up. So I may want to fix this before I release it. Also, I was working on making Luca iCloud-aware, so you can stuff your SQLite LucaDB up to iCloud and access it (maybe, later this year) from the iPhone or, more likely, iPad. Haven't got this solved, as yet.

Posted at 12:07AM UTC | permalink

Wed 25 Jul 2012

Liya 2.0.7 for Lion, also for Mountain Lion

Category : Technology/Liya2dot0dot7.txt

I've updated Liya. With Liya 2.0.7, you can simply double click on a Sqlite database file on your desktop and that will launch Liya.

Liya recognizes .db, .sqlite and .sqlite3 extensions. Please write to me if there are more variations that I should include.

Liya 2.0.7 also works on Mountain Lion. I've been using it on my Mountain Lion development machine for quite a while now.

And Liya seems to be another hit. It's at position 24 in the Mac App Store in the Business category, hovering for most of the year in the top 40. It'll be great to be able to break into the top 10.

LiyaRankings.png

I've compiled these reviews from AppAnnie :

AppAnnieLiyaReviews1.png

Posted at 1:34AM UTC | permalink

Mon 02 Apr 2012

Mountain Lion MacBook Pro

Category : Technology/MountainLionMBP.txt

I've been running Mountain Lion on my MacBook Pro for a week now. I've managed to get almost all my apps re-compiled to run on Mountain Lion (with the inevitable mountain of compile errors out of the way by now), and I'm now ready to make improvements to each of the apps.

Problems remain, of course. There's no Fetchmail in Mountain Lion! Not yet, or not anymore, I can't tell. The mail logging seems to have disappeared. And I've still got to take out the deprecated AuthorizationExecuteWithPrivileges calls and replace them with SMJobBless. But so far, it's going well and I'm enjoying the experience.

If there are people reading this who have in mind new features that they'd like to see supported, this is the time to write to me.

For example, I've learnt that there is a type of SSL cert that allows you to enable SSL support for all the domains hosted on a single IP address (and not just for the primary domain). It's called a UCC/SAN cert. I've just read through the documentation. I think I can make WebMon support this and so I'll work on it.

Also, besides moving the "Enabler" apps to Mountan Lion, I'd like to bring Luca to the iPad.

So, lots of work for the next few months till the end of the year.

The thing about working on an Apple platform is that you got to be ready to throw out the old and get on with the new. Things change all the time, at great speed, and you've got to be agile enough to adjust. You can do great things, still, with this platform, although not all of which can be made into apps that you're allowed to sell on the Mac App Store. But this remains a stellar software development platform. I'm still happy to be a Mac app developer. There's (still) nothing better.

Posted at 8:38AM UTC | permalink

Sat 24 Mar 2012

AirPrint

Category : Technology/AirPrint.txt

I bought an AirPrint-capable printer from HP - the Deskjet 3070 - and I can now send print jobs to it, wirelessly, from every Mac and iOS device that I have in my home. It's the first HP product that I've ever really liked, since the HP calculator that I had in the University, and that, believe me, had been a very very long time ago.

AirPrint.png

It was actually easy enough to set up - initially, via USB. I only tripped up because the printer seemed to need to be turned off, and then on, to get onto my Airport network. But after that, it turned up on its own on all my Macs, iPhones, and iPads. 

If you're using a Lion-based Mac to set up the printer for the first time, you'll need to download the installer from HP because the one on the provided CD only worked for machines on Snow Leopard. On the other hand, Apple's software update mechanism will automatically download the client printer drivers for you when you set up the individual Macs. No special drivers are needed for the iOS devices. They all just work.

AirPrint, from Apple, is wonderful. And so is ePrint, from HP, which goes one step further to allow you to send print jobs to your printer from anywhere on the Internet (with the appropriate security safeguards turned on, of course).

OK, so, a printer to fall in love with. Recommended for small home offices.

Posted at 9:23AM UTC | permalink

Mountain Lion Enablers

Category : Technology/MountainLionEnablers.txt

I've always wondered how Apple's Server Admin app worked, so that it was able to run on any OS X client machine to remotely administer the OS X Server. 

I think I've just found my own way of doing that. Let me backtrack a bit. 

I've been spending the last two weeks or so figuring out how to replace two Cocoa Foundation API calls - namely, AuthorizationExecuteWithPrivileges and AuthorizationCopyPrivilegedReference - that have been deprecated by Apple, meaning they're going away, soon, maybe even in Mountain Lion.

Without them, my GUI apps wouldn't be able to get the elevated administrator level privileges to change things at the system level.

There's another way to do that, that Apple is promoting - via launchd. And with that buzzword as a start, I meandered through a whole stream of other buzzwords - code signing, SMJobBless, launchd.plists, Mach ports, Unix domain sockets and TCP ports - before realising I've just broken through the muck to reach my very own Holy Grail - the ability to remotely administer the server (and safely at that, at least to a certain extent).

And it's fantastic. So much power. I could salivate at the things I could now potentially do. I was getting jaded at the thought of updating my suite of enabler apps for yet another one of Apple's cats. (And so soon, too, after the last one.) 

But now, I'm juiced, thinking about building a version of MailServe that I could run, while on holiday traveling, say, to remotely configure and troubleshoot my server, if it went down.

Of course, these enablers wouldn't ever be allowed in the Mac App Store (because they require elevated privileges). But I'm building them for myself, first of all, and they'll be code-signed by my Apple Developer ID, so they'll still be able to run on Mountain Lion. You just continue to get them from my site. These enabler apps - they have some life left in them, still.

Posted at 8:46AM 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.