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


BookJetty


Creative Commons License

Copyright © 2003-2012
Bernard Teo
Some Rights Reserved.

Fri 12 Oct 2012

Liya 2.0.9 and The Long Wait at the Mac App Store

Category : Technology

Liya 2.0.9 has finally been released at the Mac App Store, three weeks after I've submitted it for approval (from September 18th till October 11th 2012).

I have mixed feelings knowing that I'm not the only app developer hit by Apple's increasing tardiness at the Mac App Store. For one, I'm comforted that this affects the great and the small. But then, knowing that iOS apps don't have to wait much more than a week, it leaves a bad taste that Mac apps are increasingly viewed by Apple as second class citizens. That, I think, would be a grievous mistake.

Posted at 11:58PM SGT | permalink

New Versions of MailServe and WebMon Coming

Category : Technology

I've finished a new version of MailServe for Mountain Lion, that I should be able to release tomorrow. It includes the latest 6.3.22 build of Fetchmail.

I'm now working on a new version of WebMon for Mountain Lion. Will release more news when I get this done.

Posted at 11:41PM SGT | permalink

Wed 10 Oct 2012

Enablers on Mountain Lion Server

Category : Technology

I've been working on making all my "enabler" apps work on Mountain Lion Server. If you want to track my progress, check out this Facebook page: http://www.facebook.com/CutedgeSystems, where you can leave your comments and any queries you may have.

Today, I've managed to get MailServe, DNS Enabler and even WebMon working on Mountain Lion Server.

I can confirm that the current latest shipping versions of MailServe (6.0.3) and DNS Enabler (6.0.2) will work without problems on Mountain Lion Server.

Unfortunately WebMon needs some further work.

So, I'm now working on an update to WebMon so that one single version will set up the web server and WebDav for both Mountain Lion client and Mountain Lion Server. Hopefully I can get this version done by this weekend.

Posted at 6:35PM SGT | permalink

Fri 05 Oct 2012

Mountain Lion Server

Category : Technology

I've finally managed to clear out a partition I can run a copy of Mountain Lion Server on. (Thanks, Tony Simek, for your encouragement :-)

I'm going to do a clean install of Mountain Lion. And then load Mountain Lion Server on top of it. 

I'll document my journey through it and my findings. Right now, I've heard from our users that DNS Enabler and MailServe will work right off on Mountain Lion Server, but not, it seems, WebMon.

I'll now get direct experience myself for how my apps work on ML Server. And I'll try to fix WebMon so it will work correctly on Server.

I'm deciding whether to document my journey through Mountain Lion Server here in the weblog or on our Facebook page. I'm starting to think about moving my weblog to the Facebook page because it's easier to update Facebook from my iPhone and iPad, and now with Facebook integration baked into Mountain Lion, I'll probably be able to get screen shots of work in progress directly into Facebook as I'm working on the projects.

Also, there's the small matter of getting comments and feedback. For a long time, I've wished I had a comments and feedback mechanism on my weblog, but it's a home-made weblog and I've never had the time to go back to improve on it. So Facebook might be a better way to go. I'm going to use this Mountain Lion Server project as a test of whether the weblog or the Facebook page will prove to be a better channel for communicating the status of all my on-going projects to all our users who are interested in following the journey.

So, if you're reading this weblog, do visit Cutedge's Facebook page if you're interested in following my journey through ML Server.

Posted at 8:09AM SGT | permalink

Tue 25 Sep 2012

Xcode 4.5 for Mountain Lion 10.8.2 and iOS6

Category : Technology

I've just upgraded Xcode to version 4.5, running on Mountain Lion, and it includes the SDK for iOS6. The upgrade went well and all my apps—like Luca and Liya—compiled well. 

Sometimes, when we get these upgrades, everything breaks. For example, quite often I can't build the MySQL, PostgreSQL or SQLite connectors anymore. Or I can get an error that stops me from building one of my "enablers" or installers. And so I have to spend time hunting for fixes.

But this time, all went well, and I can look forward to carry on doing the enhancements that I've planned to do.

Posted at 2:22PM SGT | permalink

Wed 19 Sep 2012

Liya on the Mac App Store

Category : Technology

The Mac App Store released version 2.0.8 of Liya but I'm already at 2.0.9 on the Liya web page. This is the one with the new field for entering a socket location, for when you're opening an alternate port for MySQL (or MariaDB) running on localhost.

Liya209.gif

It shows the perils of depending on the curators of the Mac App Store. I may have urgent bug fixes to rush out to our users. But it'll get on the App Store when it gets on the App Store. This time it took almost a whole month, from submission to review and release. I'll let you decide if that's way too much or not.

Posted at 4:43PM SGT | permalink

Sun 09 Sep 2012

Things I'm Working On Next

Category : Technology

A couple of things I'm working on next. 

One, I know that MailServe and DNS Enabler will work on Mountain Lion Server. But not, at the moment, WebMon. So I'm going to see why WebMon for Mountain Lion won't work on Mountain Lion Server.

Two. I worked on a version of DNS Enabler once, that implements split views. But that didn't work out because I couldn't quite figure out how to design the user interface. I'm going to pick that project up again and make another attempt.

Maybe, one more thing. For years, while watching my kid grow up, I worked from my own home. I worked in semi-retirement and turned away more jobs than I can remember.

But one thing I really liked doing, was to teach Mac OS X programming. But I didn't have the space to do it—it would have been inconvenient to have people traipsing through my bedroom-converted-to-workroom. 

But now I do have a proper working space—at a shop that I own, that I used to rent out. When the previous tenancy ran out, I decided to keep half the shop space for my own use, and rent the other half to a cafe. I actually like working out of Starbucks. So now, I sort of have my own personal Starbucks space. Sort of. But the thing is, for the first time in years, I have a space I can do Mac/iOS programming courses from and I'm figuring out how to get this thing started.

SecretHideout.gif

MySpace.gif

So, if you interested to learn how to do the things we do, just contact me and let me know what you would like to learn. Check out this page, http://cutedgesystems.com/school, which includes a link to my Facebook page (my weblog doesn't have comments—it's home-made, so I'll use Facebook to talk back to anybody who wants to leave comments). Thanks.

Posted at 12:00PM SGT | permalink

Sat 08 Sep 2012

Liya and the Mac App Store

Category : Technology

It's been two weeks since I submitted Liya version 2.0.8 the Mac App Store. It's still under review.

Meanwhile I've already updated Liya to version 2.0.9 and that's available from Liya's web page.

That's the peril of being dependent on the Mac App Store. That's why a software developer always needs to have his own store front on the web.

Posted at 3:23PM SGT | permalink

Mon 03 Sep 2012

New Preference Panes for our SQL Databases

Category : Technology

I've wanted to be able to run both MySQL and MariaDB databases concurrently. So, since they both can't run on the same port 3306, which is the default for both, I need to be able to allow one of them to start up on an alternate port.

So, this is our new MariaDB Pref Pane. And I've changed the MySQL and PostgreSQL Preference panes to make them work the same way.

MariaDBPrefPaneWithPortField.gif

These Pref Panes are included in each of the respective SQL installers that we've built : MySQL_Installer_For_MacOSX, MariaDB_Installer_For_MacOSX, and PostgreSQL_Installer_For_MacOSX. 

I've tweaked the installers so they'll work well with the new Preference Panes.

Note: When you run MariaDB off a different port from MySQL, you also need to change the location of MariaDB's socket. Our Pref Pane does that for you (it creates a socket for MariaDB at /tmp/mariadb.sock so that it avoids clashing with MySQL's /tmp/mysql.sock). 

When you access MariaDB (or MySQL for that matter because they work exactly the same way) over localhost, the client doesn't use TCP ports. Instead the client and server connect over Unix sockets. 

So, if you have either MySQL or MariaDB running on a non-standard port, and you want to access it via localhost, you need a way to specify the non-standard socket location. 

This necessitates a change to Liya. So Liya 2.0.9 now has a feature whereby the user can specify the socket location, as shown below :

MariaDBSocket.gif

So, all in all, I've had a rather busy week.

Posted at 8:43AM SGT | permalink

Thu 30 Aug 2012

MySQL & MariaDB - Stuck

Category : Technology

I've finished the Pref Panes and updated all my database installers so that the user can set up alternate port numbers for each of these databases to use. And all should be fine, so I can test and then release them.

And then I fnd that I'm stuck.

MariaDB tries so hard to be a "drop-in" replacement for MySQL that it also uses the same Unix sockets - /tmp/mysql.sock.

So I'm trying to get MariaDB to start off /tmp/mariadb.sock, say, for localhost connections, which seems to work, i.e., in the sense that MariaDB now listens to connections coming through /tmp/mariadb.sock. By using a custom my.cnf, that I get MariaDB to read its custom configuration parameters from, I can also get MariaDB to listen to port 33306, say, for incoming TCP connections.

So far, so good.

Now, I just need to get MariaDB's mysql command line program to know that the ports have now been changed from the defaults. 

/usr/local/mariadb/bin/mysql goes back to /tmp/mysql.sock when it attempts a database connection. So, MariaDB's own mysql client continues to talk to the existing MySQL installation, rather than to MariaDB. There's where I am stuck.

How to break this?

Posted at 12:25PM SGT | permalink

Tue 28 Aug 2012

Pref Panes With Port Number Field

Category : Technology

I've created new Pref Panes for each of the installers that we support—MySQL, PostgreSQL and MariaDB. These versions now include a Port Number field.

MySQLPrefPaneWithPortNo.gif

I built these so that I have a way to run MariaDB and MySQL at the same time (by default, they use the same port, 3306).

And also to figure out how Network Preferences and Sharing Preferences, among others, could have that lock icon at the bottom left hand corner and how to make that work for my own Pref Panes.

I'm now going back to change the way my MariaDB Installer for Mountain Lion works. In its first incarnation, it pretended to be MySQL and, if you have a running MySQL installation, the MariaDB installer will move all the databases you have on MySQL over to MariaDB.

But now, if I'm going to have MariaDB running as a separate database on its own right, the user may not want to mix the MySQL and MariaDB databases. So I'm going to make the MariaDB installer only upgrade a previous MariaDB installation and leave existing MySQL databases alone.

Note : It's actually very easy to copy MySQL databases over to MariaDB. You'll find the databases inside a "data" folder within the MySQL-x.x.x folder, with each database in its own folder (you can recognise them by their database names). Just copy them over to the corresponding "data" folder in the Mariadb-x.x.x main folder.

I'll release them when I'm done changing the MariaDB Installer.

Posted at 1:36PM SGT | permalink

Thu 23 Aug 2012

Liya & Luca

Category : Technology

Although Luca is a paid app and Liya is free, both share the same database connector frameworks that allow the apps to access MySQL, Postgres, SQLite and, now, even MariaDB databases.

The value of keeping Liya free is that it's become very popular, especially among other software developers. 

Liya is today at the top 29th position among US business Mac apps, and is consistently within the top 20 positions in places like Japan, South Korea, Germany and Israel—places where you're likely to get quite sophisticated users.

And because these developers push the use of the Liya further and deeper than any Luca user, more bugs surface and get reported about the quality of our very crucial database connectors than if I didn't have Liya widely-used in the first place.

I wouldn't have been able to spot all the date—and especially time-stamp—handling bugs in Postgres and SQLite, if it's just me and Hai Hwee working on Luca. You need a wide net of other users working on a wider-range of their own stuff to push the use of the database connectors to the limits. 

And because we've fixed another one of these quite subtle date-time handling bugs, I've just updated Luca for Mountain Lion to 5.0.2.

I couldn't over-emphasise how crucial these database connectors are. They're what allows Luca to tap on to SQL databases, wherever in the world these databases are, and from whatever Mac OS X or iOS device the user happens to be running an app like Luca on.

Since the days when we were 4D (4th Dimension) developers and had to rely on third-party developers for 4D for Oracle, etc, (and to pay through our noses for them), I've been determined to build these connectors ourselves—to control their quality, their speed, and their dependability in mapping data values and data types between the client and its permanent data store.

We've reached this stage of control over our own work and I want to build on them to improve Luca and more apps like Luca in the coming months. Otherwise we would have wasted all these earlier years of hard work.

Posted at 11:33AM 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

MailServe for Mountain Lion

DNS Enabler for Mountain Lion

DNS Agent for Mountain Lion

WebMon for Mountain Lion

Luca for Mountain Lion

Liya for Lion & Mountain Lion

Postfix Enabler for Tiger and Panther

Sendmail Enabler for Jaguar

Services running on this server, an iMac 2.66 GHz Intel Core 2 Duo, 4 GB RAM, 320 GB hard disk, Ethernet, Airport Extreme, Mac OS X 10.6.7 Snow Leopard:

  • Apache 2 Web Server
  • Postfix Mail Server
  • Dovecot IMAP Server
  • Fetchmail
  • SpamBayes Spam Filter
  • Procmail
  • BIND DNS Server
  • FTP Server
  • WebDAV Server
  • PHP-based weblog
  • MySQL database
  • PostgreSQL database

all set up using MailServe, WebMon, DNS Enabler, DNS Agent, Liya and our SQL installers, all on Snow Leopard.