Sat 07 Oct 2017
SSL Libraries and High Sierra
Category : Technology/HigHSierraSSL.txt
Apple’s move away from OpenSSL towards LibreSSL (and I’ve seen mention of BoringSSL, whatever that means), has caused problems with MailServe and DNS Enabler for High Sierra. It means that both Dovecot and the named server can’t find the ssl libraries in their usual places.
To solve this I have to bundle OpenSSL libraries inside MailServe and DNS Enabler for High Sierra, so Dovecot and the named server can find them.
Initially, for versions 11.0.1 of MailServe and DNS Enabler, I've placed my bundled openSSL libraries inside /usr/local, and everything works again.
But then I thought better of the location. Some users may already have their own custom versions of ssl libraries inside /usr/local, which is a popular location for such things. So, in order not to clash with them, the better place to put the ssl libraries specifically needed by MailServe and DNS Enabler is to put them inside /usr/local/cutedge.
So the latest version, 11.0.2, of both MailServe and DNS Enabler for High Sierra does that. But in order to do this, the user has to do a De-Install from the Help menu, so that the app has a chance to clear the previous stuff and make the new linkages for things to work again.
Very sorry about that. But Apple changes, relentlessly, and I’ve got to do my best to patch up and trudge along.
Wed 04 Oct 2017
Category : Technology/HighSierra.txt
Do check it out, thanks.
Wed 05 Oct 2016
How to Digitally Sign an Installer Package
Category : Technology/HowToDigitallySignAnInstallerPackage.txt
After using the Packages app to build my MySQL and Postgres installer packages, this is how I “looked into” them to see how they’ve been built and make any last minute edits, and then digitally signed them with my Apple Developer ID Installer certificate:
(1) cd to the directory with the built .pkg
(2) pkgutil --expand PostgreSQL-Installer.pkg output/
(3) do any edit of the distribution.dist file in output/
(4) pkgutil --flatten output/ PostgreSQL-Installer.pkg
(5) productsign --timestamp --sign FAEEV5252R PostgreSQL-Installer.pkg PostgreSQL-Installer.signed.pkg
where FAEEV5252R is my Apple Developer ID.
(6) spctl -a -v --type install PostgreSQL-Installer.pkg
to check that the signing is OK and that it won’t be rejected by macOS’s Gatekeeper.
And that’s it.
Tue 04 Oct 2016
MySQL and PostgreSQL Database Installers for Sierra
Category : Technology/SierraDatabases.txt
I have new MySQL (5.7.9) and PostgreSQL (9.4.5) installers that will work specifically with macOS Sierra. They come properly signed with my Developer ID certificate, so you don’t get these nasty Gatekeeper warnings. And they come with their respective Sierra-compatible Preference Panes.
Thu 29 Sep 2016
Postfix Logging Stops in Sierra
Category : Technology/PostfixStopsLoggingInSierra.txt
Postfix stopped logging to /var/mail/mail.log in Sierra. And after I’ve updated Dovecot to 2.2.25, Dovecot stops logging, too.
I’m guessing that both could be the result of Apple’s move towards the Apple System Logging (ASL) facility.
But I have no solution yet.
I feel like Sisyphus, rolling the boulder up the Mac OS mountain, every time at this time of the year.
Update: looks like this is a known problem on macOS Sierra Server. Will put this aside and work on something else, for now.
Wed 21 Sep 2016
MacOS Sierra is here!
Category : Technology/Sierra.txt
The following page contains the download links for all the MacOS Sierra versions of our apps:
They’re all free – I’ve removed all that serial number code. But gimme a break if I don’t get back to you quickly for support. It’s supposed to be a self-help thing. I’d rather spend more of my time building these apps.
Thanks for staying with us all these years, through thick and thin :)
(PS: Documentation pages not ready yet. This is for all those who can’t wait. And bug reports are welcome. Thngs that will break, will break).
Tue 03 May 2016
Category : Technology/DuomoIntro.txt
I'm working on this app, which I'm calling Duomo, that I hope can make a user (me, first of all) super-productive when working on web site design.
The picture shows how it's organised.
Window 1: The user might be managing the design for several sites. So this window stores the connection parameters for each site – account ID, password, how to connect, where the root folders are, that contain all the web site resources (pages, images, downloadable files, etc), for each site.
Window 2: For each site, this window connects the designer's private copy of the web site resources with the one that's sitting on the live web server, and its job is to keep both ends synchronised. A lot of designers, like me, work from places like Starbucks that have very slow Internet connections. So there's some Unix magic done here so that the uploading/downloading can go reasonably fast.
Window 3: This is where the design of a single web page gets done. You see how the web page looks like, but you also see how the page is structured. Panel 4 shows you the content of the web page – how it is structured into sections, articles, headers, footers, asides, pictures, navigation links, summaries, etc. And panel 5 shows you how each element, listed above, looks like (with respect to colours, type-faces, spacing, margins, etc) and where each element sits, precisely, on the web page, whether absolutely, or relative to some other element.
The most powerful idea here is that you separate the content of a web page from the way it looks (its presentation, as controlled by something called a stylesheet). This way, the same content can be easily depicted in any number of ways, and each way can be designed to evoke a different sentiment from the viewer/reader.
The first time I saw this concept at work was at the csszengarden web site many years ago (css means cascading style sheets).
And I felt, this concept is so powerful.
In my work with databases I can see, in the future, that a lot of the content will be automatically collected, generated and filtered. That's what shows up on Panel 4 in the picture. You want the content and the structure here to be very clean (and accurate and verifiable).
Then in Panel 4, this is where you play with the way the content looks, where you are concerned with colouring and the emotions.
So this why I wanted a tool that will work like that – you work with both your left brain and your right brain. And you go back and forth like that. Like a Renaissance Man, where there were no boundaries between knowledge. And things can move effortlessly between the arts and the science.
So I thought, Duomo would be a nice name for an app like that (like in building a great cathedral – the Renaissance people worked with their whole brain; there was no separation between engineering and architecture). if I can actually build it, by hacking Apple's WebKit and Web Inspector. This is, of course, still a work very much in progress. But it's getting clearer, I think it can be done.
Thu 21 Apr 2016
Category : Database/FixXcode.txt
I have been searching Google for the solution to this very cryptic error message, "target specifies product type com.apple.product-type.tool but there’s no such product type for the iphonesimulator platform", for months.
We've now come to trust Google to index even the minutest and most inconsequential of web pages so that if anyone in the world had mentioned that they've been stymied by a problem and, better still, they've found a solution to get past it, then Google would have found it on our behalf. Right? That's Google's prowess, and that's why they're worth billions, trillions even. Right?
But, no. I've searched fruitlessly for months. Nothing turned up. I was building libmysqlclient as an Xcode project, but every time the build will halt when it hit that "com.apple.product-type.tool" error. I have since found a way to hack around that problem, but it held me up for months
Today, I restarted work on my Duomo project, my own replacement for Dreamweaver, etc. To do that I need to understand Safari WebKit. And the first thing I read today while working on Safari WebKit? "The first time after you install a new Xcode, you will need to run sudo Tools/Scripts/configure-xcode-for-ios-development in the Terminal to enable Xcode to build command line tools for iOS Simulator. Otherwise you will see the [stupid] error message ...”.
There. So big. The solution's there. On Apple's web page. Or does Google avoid indexing Apple's web pages : )
Wed 20 Apr 2016
MySQL Connector – Or how to build libmysqlclient with just one click
Category : Database/libmysqlclient_intro.txt
I’ve created a project that could build libmysqlclient (for macosx, iphoneos, and iphonesimulator), with just one click.
libmysqlclient is a small client-side software, that will allow a Mac or iOS device to connect to a remote MySQL database. Once you have the ability to make such a connection, you could build complete database-driven apps that will store/retrieve data from the remote database, as though the database sits right inside your device. This really is magic. You could do lots of useful stuff with it.
I’ve had a hard time figuring out how to build the libmysqlclient, especially for iOS and iphonesimulator, ever since MySQL decided to use cmake for their builds. But I had to persevere, because a lot of my apps depend on this crucial piece of "plumbing”.
I’ve seen a lot of people looking to do the same thing. So, here’s the way to do it. You could download the folder that contains the project here. It’s called BuildMySQLClient
(download by clicking on that link).
Once downloaded, you should see two folders:
The "Building libmysqlclient” folder contains the Xcode project that actually builds the libmysqlclient. Hit Build (Command-B) and the project will build the required libs and include folders for all three variations (for macosx, iphoneos, and iphonesimulator). Once the build is complete, you can find them inside the user’s ~/Library/SDKs folder, which the project will create.
The “TestMySQLConnection” folder contains another Xcode project that will allow you to test that the connection works, while showing you how to use the lib and include folder inside your own project. Again, it shows all three variations (for macosx, iphoneos, and iphonesimulator).
The example project shows just the rudiments of connecting programmatically to a MySQL server from a Mac or iOS device, using a C programming interface. The complete language guide can be found at the MySQL C API site
To help you get everything you need, at one go, to test/learn about using a MySQL database programmtically, I have a MySQL 5.7.x database installer
you can download.
And you can use my other app, Liya, on the Mac
, to very quickly set up a “test” database that the example code, above, uses. It just requires that you have a table called “Table1” with any number of string/character fields, and you can enter any number of records, like I’ve shown below:
On the Mac, you can set all this up very easily. Install and run the MySQL database on the same development Mac. You can connect to this database simply, using Liya, via the localhost connection, using the account root without password, and look for the database test. Set up the test database, as shown. Install libmysqlclient. Use the latest Xcode (Version 7.3). Build for the latest Mac OS X (10.11) and iOS and simulator (9.3). And then run the example code to test the connection. And you can build from there.
That’s all there is to it.
As usual, this is all fun to do, but this is provided without guarantee and without offer of support. Please don’t write in to get me to hand-hold you every step of the way. I’ve spent countless hours figuring this out. You could at least put in a bit more effort. But I would love to hear how, and if, this has helped you, and if you have better ideas on how we could improve the process. Thanks.
DNS Enabler 9.0.4
Category : Technology/DNSEnabler9dot0dot4.txt
Released a new version of DNS Enabler 9.0.4 today, which includes a new binary of BIND 9.10.3.
Tue 08 Dec 2015
MariaDB for El Capitan
Category : Technology/NoMariaDBForElCapitan.txt
I’ve given up trying to build MariaDB 10.1.9 from source for El Capitan. It’s too difficult and they don’t seem interested. I’m not interested in using HomeBrew. I want to be able to build it from source cleanly, without using an intermediary, like on other Unixes. Life is too short to waste on unnessary complexity.
Mon 07 Dec 2015
New SQL Installers for El Capitan
Category : Technology/LatestSQLInstallersForElCapitan.txt
I’ve built the latest MySQL 5.7.9 Installer for Mac OS X El Capitan, as well as the latest PostgreSQL 9.4.5 Installer.
Both are available from my home page at :
Read more ...