The Clever App Company

So here it is. After what seems like forever my business is up and running🙂
It’s been a challenge to get this far and many sacrifices have been made along the way but it feels like things are slotting into place nicely. I gave up a senior position in my last role to embark on this journey so fingers crossed for the future.

I’ve built complex desktop apps and software for almost 15 years, and more recently iOS apps for iPhone, iPad & Apple Watch which I’ve been coding since 2011 and have been involved with 50+ apps, in one way or another, on Apple App Store. I bring experience to my company that can help it thrive using the latest technology to build innovative apps. I work at my best when pushing the boundaries of the latest tech by compiling algorithms and methods that push the capabilities of hardware and software. I was asked recently to produce a ‘Call Me’ button for use on websites to make the customer’s phone ring within five seconds of clicking the button. I wrote an algorithm that does it in three. It takes the customer phone number from an online environment, transfers it through multiple levels of hardware and software into the offline world of fixed lines, to finally make their phone ring. It is currently used across multiple websites for different sectors. I’ve also built a number of desktop apps that have grown to become business critical at various sites in the UK, being robust enough to be relied on day after day for the smooth running of businesses. I’ve also worked with startup companies to help them hit the ground running with my software – installation, training, support, bug fixes and on-going change requests & improvements.

Why am I taking this journey now? Well, there are times in life when circumstances out of your control dictate your actions and shape, or more appropriately re-shape, your future. For me this was being diagnosed with a second tumour, this time at base of my brain. I will not go into any detail here but needless to say it had an immediate and long lasting affect on my priorities. I don’t want this post to be about the tumour but at the same time I also don’t want the tumour to be a thing that no-one dares talk about – so I’m putting it out there. I’m fine with answering questions about it, I’m also fine if we never talk about it again.

Tomorrow, or next week, or next year is not something that should be taken for granted. It has long been a dream of mine to set up business on my own to use my experience to build clever apps my way. So I decided not to wait any longer, take the gamble, and go for it.

The Clever App Company
– App development iOS for iPhone, iPad & Apple Watch (Watch OS)
– App development for Mac OSX
– App development for Windows & Windows Server.

Pleeeese like, share, follow and all the other wonderful ways to get social if you want to help me raise some awareness and profile of my company. If you don’t, that’s fine too but please keep me in mind if you happen to have that genius idea for the next big app and want some some help building it🙂

Thanks for reading, much love x

Mac OSX – Stop OS X apache service and prevent automatic running (OS X SERVER)

I already run MAMP as a local server environment for apache and MySQL, so when I installed Mac OS X Server, which runs it’s own instance of apache, my server encountered problems with MAMP which failed to start.

After some investigation I found the OS X Server instance of Apache started with the system resulting in MAMP failing to start, with no obvious setting to disable the in-built apache services in the OS X Server app settings.

Here’s how to prevent the service starting automatically, then kill the existing service:

Step 1: Locate the following file: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf

Step 2: Comment out the listening ports in the file

Example using standard ports, change:
Listen 80
Listen 443

# Listen 80
# Listen 443

This prevents apache from starting.

Step 3: Stop inbuilt apache server. Open Terminal, type: sudo killall httpd

Type the following to check http instance have stopped: ps -Al | grep httpd

Inbuilt apache service should now stop and won’t re-start.

Windows – How to free disk space by deleting previous Window(s) installations

Step 1: Click on the Windows search bar or press the start key on your keyboard, type cleanup, then select Disk Cleanup.

Step 2: Click ‘Clean up System file’

Step 3: Scroll to, and select, Previous Windows Installations. Click start to begin the cleanup process which will include the removal of previous Windows installations from your disk.

This freed almost 30Gb on my disk. This, of course, means you’re unable to revert back to your previous Windows installation so proceed with that in mind. I found the disk space more valuable than holding on to the files.


Mac OSX – How To Connect To A Remote Mac Using Apple Screen Sharing, For Free!

This article describes how to remote view another Mac using Apple Screen Sharing. There is no need to run any third party software as it can all be done using apple’s built in Screen Sharing services, for free! I’m using OS X EL Capitan, Version 10.11.13.

There is just one catch; both devices must use the same iCloud account. If you’re looking to connect to a Mac using different iCloud account then VNC is a good option. For now, I’ll concentrate on connecting to another Mac logged in with the same iCloud account.

Step 1: Open System Preferences on the Mac you plan to connect to from another device. click the Apple icon in the top-right bar, then select System Preferences

Step 2: Click the Sharing icon.

Step 3: Tick Screen Sharing in the Service list

Step 4 (Optional): That’s all the configuration required to access you Mac remotely if on the same WLAN/LAN. The following step is required if you plan to connect to your Mac from a separate network. Head back to System preferences then select iCloud.

Tick Back To My Mac.

<img src=

Step 5: Head over to your other Mac device and open Finder. You should now see your remote Mac’s name under Shared devices. Click your device, then click Share Screen

NOTE: If your remote Mac doesn’t appear in your Shared list, you may need to re-start Finder to scan for your device. (Apple Menu —> Force Quit… —> Select Finder and hit Relaunch)

The Share Screen button will Launch Apple’s built in Screen Sharing app allowing you to view and control your remote Mac.

You can right-click the Screen Sharing app icon from the dock while the app is running, then click Options, then Keep In Dock. This makes it easier to find the app in future. When the app is closed you can you can now right-click the app icon from the dock, then select your remote Mac to quickly connect.




SQL – How To Return Ref of Inserted Row

It is extremely useful to return the URN, or any other field, of a newly inserted row for a given table in a single query. The OUTPUT clause makes this possible.

insert into MY_TABLE (Field_1, Field_2, Field_3)
values (‘Foo’,’Bar’,’Example’)

The above example returns the REF field, which contains auto-incremented urn in MY_TABLE.

Mac OSX – How to switch between windows of same application

You can switch between applications by using the keyboard shortcut [ Apple + tab ]. Switching between Safari and XCode for example.

This is an invaluable time saving shortcut. But what about switching between windows of the same application?

Thats covered too. You can switch between windows of the same application by using the keyboard shortcut [ Apple + ` ]. Switching between multiple Finder windows or between XCode projects for example.

the ` key is located left of the z-key on a standard keyboard.

SQL – View SQL Server Database Mail Log (All / Successful / Failed)

SQL Server keeps a log of mail sent via Database Mail and the sp_send_dbmail Stored Procedure.
I find these code snippets useful to view mail history including sent and failed items. You can view address, subject & body, file attachment(s), status, sent date, etc.

All Messages – regardless of status and deliverability
SELECT top 50 *
FROM [msdb].[dbo].[sysmail_allitems]
ORDER BY [send_request_date] DESC
Sent Items
FROM [msdb].[dbo].[sysmail_sentitems]
ORDER BY [send_request_date] DESC
Failed Items
FROM [msdb].[dbo].[sysmail_faileditems]
ORDER BY [send_request_date] DESC

SQL – The EXECUTE permission was denied on Stored Procedure

The EXECUTE permission was denied on the object ‘STORED_PROC’, database ‘MYDB’, schema ‘dbo’

This massage is received when the SQL Server account under which you make the request doesn’t have permission to execute the stored procedure. you can overcome this problem by modifying the permissions of the SP.
If you want to grant public access, so all users can execute the procedure:



If you want to tighten security to allow only specific users to execute the SP, which is advisable, then its: