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.

Tue 21 Oct 2014

Free iOS Apps

Category : Technology/iOSApps.txt

If you’ve been to our home page, you might see that I’ve featured two free iOS apps you can download:

iOSApps.png

WordScanner is the OCR scannning app I’ve always wanted to have on my iPhone. I read a lot of books and I often want to share what I’ve found on my Facebook page. So, what I wanted was to have an app on my iPhone where I can simply take a shot of the page I’m reading and then hope to lift the text right out of it so I can paste it onto Facebook or the Notes app or an email message.

And I wanted it all to be so drop-dead easy — I wanted it to work even if I can’t position the page precisely on the iPhone camera viewer, or if the lighting is not particularly good. And I need to be able to crop out my fingers holding the edges of the page. And I wanted it to work so fast that I can get the text onto Facebook before I lose inspiration for whatever I wanted to write about that I was reading.

I want it to never crash because OCR is particularly finicky and memory intensive. So I decided to write the app myself, using the open-source Tesseract OCR engine and some image editing code I found on the web. The result is WordScanner. I’ve had this app for a couple of months and I’ve used it to share a lot of stuff I’ve read on Facebook. And it hasn’t yet crashed, so that’s what I’m very happy about. When I first did this, it would crash every short while.

I really love this app, maybe because I had built it myself, but I’m happy to share it. It’s available for free.

BookNapper is another app for a book lover, but in this case it would only be really useful if you’re in Singapore. We’ve got this lovely, first-class public library that I always think of as our national treasure. It’s very current, so if you’re in a nice book shop and you see a nice book, chances are that our library would have it.

So what I do is, I scan the book’s ISBN number into BookNapper, which will then keep a list of books I want to read. BookNapper tells me if this book is available in our library’s collection , and if so, in which particular branches of the library system. (It also gives me the Amazon and Goodreads reviews). Then when I step into any branch of the library, Booknapper tells me which of the books I want to read is available in that library for borrowing, right then. And leads me precisely to the right shelves.

So it’s like a precision heat-seeking missile for taking out good books! And it’s available also for free.

WordScanner and BookNapper are both available on the iOS App Store now.

Posted at 10:26AM UTC | permalink

Yosemite

Category : Technology/Yosemite.txt

New Yosemite versions of all our apps (except for Luca which will take a bit longer) are out now. 

MailServe has a new Dovecot binary (version 2.2.14). And so does DNS Enabler with a new BIND binary (version 9.10.1).

Actually I would be happier if Apple slows down the OS X releases because this way, we are struggling just to stay in place — we’ll never get much time to build new stuff if we keep going back to the apps to fix things that used to work on the previous releases.

Anyway, you get to all the Yosemite apps by going to our home page: http://www.cutedgesystems.com

Enjoy!

Posted at 9:45AM UTC | permalink

Thu 29 May 2014

Liya 3.0.4 does Chinese and UTF8 better

Category : Technology/Liya3dot0dot4.txt

I’ve released Liya 3.0.4.

Bug fix: Custom SQL Command field didn't allow the use of the Character Input Menu, e.g., to choose Pinyin to enter Chinese characters into the SQL query string. This has been fixed. 

Liya3dot0dot4.png

Made MySQL connections work more like PostgreSQL connections, in terms of the choice of character set used. The character set used in each connection to the database follows that of the database. If at the point of the connection, no database has been chosen, then the connection defaults to using UTF8. New databases in Liya are created using UTF8 as the default character set. 

Also fixed a crash while importing and exporting databases that occurred after version 3.0.3, when Liya was made to be Sandbox-compliant.

Posted at 10:40AM UTC | permalink

Sat 03 May 2014

Liya 2.0.1 for iOS

Category : Technology/Liya2dot0dot1.txt

Liya on iOS is now a Universal binary that works for both iPhone and iPad, thanks to the AutoLayout feature in Xcode. 

With AutoLayout in place, it’s getting to the point where it really doesn’t matter what exact size an iOS device is anymore. Even if the iPhone gets larger, or we get an iPad that is intermediate in size between the iPad mini and the classic iPad, or even a giant iPad, it’ll all just (mostly) work. I love having just that single code-base to work with on iOS. Already I’m able to share a lot of code between the iOS and OS X versions of Liya (as with Hai Hwee on Luca). I have an idea to do a web app framework, something like PHP but in Objective-C—something like WebObjects. Then I can do a project that straddles iOS, OS X and the web—all accessing the same database libs to get to SQL databases.

There’s this Steve Jobs quote: "We used to dream about this stuff. Now, we get to build it. It's pretty neat."

Liya2dot0dot1@2x.png

Oh, and I’ve added an option for the port number to be given as a connection parameter.

The iCloud part continues to work well. We’ve been told that SQLite on iCould is not recommended. But it’s worked OK so far. So much so that I’m now quite far along with an iCould version of my BookNapper app (available on the iOS App Store), where you can run BookNapper on both your iPhone and iPad, accessing the same list of books on iCloud, to organise your search for good books to read. That’s also almost done now.

iPadBookNapper1@2x.png

iPadBookNapper1@2x.png

Posted at 8:09AM UTC | permalink

Fri 25 Apr 2014

Liya 3.0.2 Available Now on the Mac App Store

Category : Technology/Liya3dot0dot2.txt

Liya 3.0.2 has finally passed the Mac App Store review process. This version adds iCloud support and I finally found the time to fix some user interface oddities, so it’ll now work exactly the way I had wanted it.

Liya3dot0dot2.png

Notice that there is a new error log. This had been an oft-requested feature, and with this I’m now moving towards making Liya work better as a database design tool. I’d love to be able to set up compound keys and views using Liya.

If I can design an interface to allow the user to specify custom views of the database data—by dragging in tables and connecting keys between the tables, dropping columns that are not needed in the views, then I’m just one step away from making Liya work even better as a data mining tool. I’d love to be able to analyze the data across any number of dimensions, e.g., sales by product type by quarter or financial year, just by dragging visual representations of keys around the user interface, so the user can pivot the data around any focal point.

That’s the dream.

Liya’s interface had been quite “quirky” because it really was very difficult to get the programming and user interface done right. Once I decided that I really must have this three-panel interface—with the tables, table columns, and table contents made visually accessible to the user all the time and all available to be edited at will—I created a mountain of a challenge for myself. 

That’s because I have to decide where and when to impose “pockets of modality”, so that reasonable things that the user wants done—like changing the data itself, removing a database column, and renaming yet another column—can all be effected at once when the user hits “Save”, thus preserving the smoothness of action and thought, the “in-the-flow state-of-mind" you want to be in when you’re doing deeply-thought-out database design. I know that’s how I want to design a database—like I’m working with play-doh or similarly plasticine material. And yet I want the system to catch the obvious errors and throw me into modal dialogs so I can’t do anything other than to fix the errors right now.

So the user interface design (and programming) for Liya was very hard. I’ve had to put aside the other things I want to do until I can get this concept done right.

But now that this version is done, it’ll provide the harness from which all the other good stuff can come into play, and I’m going to move on ahead. All I need is time :)

Another aside. Liya is also on the iPad. You can find Liya for the iPad on the App Store and you can share SQLite files moved to iCloud by Liya for the Mac. Enjoy...

Posted at 1:04AM UTC | permalink

Tue 22 Apr 2014

Luca 6.0.3 works with iCloud

Category : Technology/LucaForiCloud.txt

We’ve released Luca 6.0.3. The Mac App Store version allows the user to move the accounting database to iCloud, thereby making it possible for the user to review the accounting data from another Mac or even an iPad (using a forthcoming version of Luca for iPad).

Luca6dot0dot3.png

Actually Luca is pretty powerful. It allows the user to manage the accounting data for more than just one company, or many branches of the same company, and you can move all of these information to iCloud. I’m looking forward to releasing the iPad version. It’s easier to move around with an iPad, and being able to review the state of the accounts with a variety of relevant people while on the move could make work (and life) more convenient for some accountants.

Luca is actually the reason why we work so hard on Liya. Both use the same database access software and programming libraries that we’ve developed to store data into SQL databases—like MySQL, MariaDB, PosgreSQL and SQLite. But we test them out on Liya in a variety of general purpose situations. Liya is the test-bed, with many eyeballs bearing down on it. It’s been used by almost 25,000 people (mostly developers) since the time we’ve placed it on the Mac App Store. As they say about eyeballs—with many eyeballs, bugs tend mostly to be shallow. Report a bug on Liya and we’ll fix it quickly—because Luca benefits from having a clean, safe, precise database engine. After all, we’re dealing with people’s precious accounting data on Luca and we want these records to be kept pristine.

LiyaLifeTimeUsageInAppStoreTillNow.png

Just one more aside. See how for so many years at the start, Liya’s download numbers barely registered. We do zero advertising. It’s not that we’re proud of that fact. It’s just that, with limited resources, we tend to allocate most of our energy towards building great products for Mac and iOS users, with very little left over for “marketing". But, as with our “Enabler” products, and with the phenomena variously described, e.g., by Chris Anderson in "The Long Tail”, with the search tools on the Internet, people invariably find us. Well, initially the people on the fringes. Then word spread through word of mouth. And that’s how we get our users. It’s amazing, this Internet. We build the tools. And somehow the people who will like us, find us. It just takes time. But we still get there. After all, I’ve always believed in The Journey Is The Reward. That’s my favourte Jobsian phrase of all time :).

Posted at 11:59AM UTC | permalink

Sat 19 Apr 2014

HuaWei E3276 Dongle and the Retina MacBook Pro

Category : Technology/HuaweiE3276Dongle.txt

I’ve been using the Huawei dongle to get onto Singnet Mobile Broadband at LTE (4G) speeds. Unfortunately it doesn’t work with my new Retina MacBook Pro.

HuaweiDongle.jpg

It took me some time to find a driver installer for this particular product that will make it work again with the Retina MBP. It’s actually a driver for the 2013 MacBook Air but it works for the Retina MBP, fortunately, and you can find it here at the Huawei support page.

I’ve kept a copy of the installer on my own download page, in case that Huawei page should move or be deleted in the future. This is the link. Hope this helps someone.

Posted at 6:09AM UTC | permalink

Liya for the iPad 2.0

Category : Technology/LiyaForiPad2dot0.txt

Liya for the iPad is now available on the App Store.

LiyaForiPad2dot0.png

This new version 2.0 can access SQLite files moved onto iCloud by Liya version 3.0.2 for the Mac, which unfortunately is still stuck in review for the Mac App Store.

Posted at 6:04AM UTC | permalink

Sun 13 Apr 2014

Liya 3.0.2 Released

Category : Technology/Liya302.txt

A Fresh New Liya. This a bumper bug fix release. Fixed some of the more quirky user-interface oddities, so it’ll work as modelessly (and smoothly) as I can make it. 

This is the first version to get iCloud support for the App Store version. You can share SQLite files in iCloud with the (soon-to-be-released) iPad version of Liya. 

Fixed a bug when working in Mavericks where the smart quotes get in the way of entering custom SQL commands. 

Also, at some point, MySQL stopped allowing the time zone to be included in a timestamp field. Updated Liya to handle this rejection more gracefully. 

Finally, one oft-requested feature - Liya now reports SQL command line errors when users run custom SQL commands (or when Liya has a bug). 

Liya302.png

I’ve made so many changes in this version that I could have introduced even more bugs. As usual bug reports are very welcome.

Posted at 10:14AM UTC | permalink

Tue 25 Mar 2014

Signing Mobile Configuration Profiles

Category : Technology/VPNEnabler1dot0dot3.txt

I’ve figured out how to get VPN Enabler to sign the configuration profiles that it produces. 

If the server VPN Enabler is running on has either a valid SSL cert in OS X’s OpenSSL folder, or even a test cert generated by apps like MailServe or WebMon, then VPN Enabler will give the user a choice to generate and sign a mobile configuration profile, as shown below, when he is creating or editing a VPN user account :

VPNSignedMobileConfig.png

The mobileconfig profile that is generated here will contain the user’s VPN password, in Base64 format. It’s not human-readable, preventing casual snooping, but Base64 is not encryption. It is easily decipherable by any knowledgeable techie. I’m still looking for a way to encrypt the profile data, but this version is useful enough to be released. It can be downloaded now.

Posted at 3:50AM UTC | permalink

Fri 21 Mar 2014

VPN Enabler & Mobile Configuration Profiles

Category : Technology/VPNMobileConfig.txt

I love how mobile configuration profiles work—how it does all the job of setting up network clients to access Internet services (e.g., mail or VPN servers, etc), without users having to enter all the torrid details manually.

So, in version 1.0.2 of VPN Enabler, I included a “Create Config Profile” button that will light up when you click on a VPN User account name. You can save the resulting .mobileconfig file and send it to the user’s mobile device.

VPNConfigProfile.png

When the user opens that .mobileconfig file, e.g., on a MacBook, he’ll see the dialog box below. Go ahead and install it. You’ll be amazed how easily everything gets set up—the system uses the information in the profile to set up all the fields the user has to, otherwise, enter manually into Network Preferences. All the user needs to do is to give the password for the VPN user, when he’s accessing the VPN Server.

VPNConfigProfileInstall.png

The ability to do that is such a God-send. For one, it eliminates the tons of documentation one has to write to guide a user on how to set up Network Preferences, or create mail user accounts on Mail.app, etc. Secondly, it also eliminates some significant hours of support calls, because even if you have the patience to write detailed step-by-step guides, there’ll still be users who can’t, won’t or are simply unable to follow any kind of instruction. 

Finally, it streamlines organisational processes—like hiring, outfitting, training, and bringing new hires up to speed quickly. One mobileconfig profile can contain, in one packet, all the data needed to help each user gain authenticated access to all kinds of server resources, without too much handholding overheads.

If you have a server with its own digital certificate, like an SSL certificate, you can go one step further—encrypt the mobileconfig file, so it’s not humanly readable. Then, if encryption is available, you can go yet another step further—include all the passwords, so the user doesn’t even need to enter the password on logging in.

You can mail these mobileconfig files to the users, or let them access a password-protected web page to download, install and configure their iPhones, iPads and MacBooks—all at one go, automatically.

It all works so automagically. It’s not like you can’t do this on PCs, or Android devices, but on the Apple ecosystem, everything fits in so snugly and wonderfully, that when you layer such a capability on top, you can get unprecedented levels of efficiency and productivity.

The Mac, complemented by the iOS devices—they’re the Ultimate Business Machines. I shake my head in wonder that I can still hear the familiar refrain—Real Businesses Don’t Use Macs. Well, use Macs. And kill the competition.

As if to underline my point about efficiency and productivity, in the manual setup of the VPN client, there’s one obscure button called “Advanced” that we have to teach the user to click, just so he can access this dialog box to set a particular checkbox, the one titled “Send all traffic over VPN connection”. It’s obscure and difficult to explain to a user, but without this option being selected, he can’t go out through the VPN connection to access (otherwise) blocked sites like Facebook and Twitter, which is the whole point of using the VPN. 

VPNConfigSendAllTraffic.png

But the .mobileconfig file can be made to select this option for the user automatically, so you don’t even have to trouble yourself to explain all the drab technology things that go with it. 

Just click, install, run, enter the password, and go. What could be easier than that?

And even the password step can be eliminated, if we can encrypt the mobileconfig file—which is what I’ll be working on next.

Posted at 1:53PM UTC | permalink

Mon 17 Mar 2014

Liya 3.0.1

Category : Technology/Liya3dot0dot1.txt

I’ve figured out how to tell whether a running app was downloaded from the Mac App Store, or directly from our web site. With that, I can now build in features for the non-App Store version that go beyond the constraints placed by Apple in their curated wall-garden. For example, there is no need to Sandbox apps that are not going to be distributed from the App Store. The Sandbox is a pain and makes the user interface clunkier than it should be.

In Liya’s case, the Sandboxed App Store version requires all SQLite files to be opened via NSOpen Panels. Therefore I can’t just let the user type or paste the URLs directly into the relevant entry fields in Liya’s interface. They’re forced to navigate everywhere via the Open Panel dialog box. It’s a pain, and the users complain about the loss of freedom to move from point A to point B.

The non-App Store version of Liya retains the purity of the original idea - you can go from A to B in at least a couple of alternatve ways and you choose the faster one always.

So, so long as Apple remains determined to close up the Mac the same way they did to iOS, we’re going to have to live with this.

Liya without the closed up URL box can be found in Liya 3.0.1, which also restores the app’s ability to let the user check back with our site for updates. You can get it from the Liya web page now.

Posted at 1:59PM 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.