Time is an odd concept

Time is an odd concept. It’s suppose to be linear but sometimes you can watch the clock and 5 minutes seems like an hour. At other times you can look up from your desk after what barely seems like 5 minutes and find the night settling in.

It’s been 8 months since my last blog post and I hadn’t meant to leave it so long but I’ve been busy with a few things… I architected in-app subscriptions into my weather app for drones, released a brand new version with new features, joined a new startup, studied for a number of flying exams, lost a few hours to Starcraft Remastered, rebuilt Pac-Man from scratch, forked and heavily updated an open source project, started work on a prototype AI concept, watched a whole season of Game of Thrones, went to the gym a lot, learnt an old song on guitar, remembered to socialise oh and got quite into Rick and Morty again. Hence why I haven’t found the time to blog! However I should be posting again soon.

In the mean time, you should watch this interesting TED talk about a guy who thinks the brain hallucinates your reality which could have some interesting applications for AI.

Machine Learning and AI with Prof. Brian Cox

Last month I attended an interesting discussion panel on machine learning and artificial intelligence held by The Royal Society. This was presented by the ever warm and friendly Professor Brian Cox, everyone’s favourite TV astronomer. The video is online now and very gentle on technical details so worth a watch even if you know nothing about the gooey parts of a robot’s brain!

How to declare a block

Are you really sure on how to declare a block? How about all 4 variations? On iOS and macOS, it can be easy to forget Objective-C block syntax as it isn’t the most intuitive, especially now Swift is becoming the main language of new projects. Remembering the syntax is actually just a short click away but here are easy-to-read example uses with nullability tips and things to watch out for when declaring a block.
Continue reading

Encrypt data using AES and 256-bit keys

AES stands for Advanced Encryption Standard and is an industry-standard algorithm for encrypting data symmetrically which even the US government has approved for SECRET documents. If you don’t know what symmetrical encryption is, it means that you use the same key or password to encrypt the data as you do to unencrypt it. So you need to keep the key extremely secret however it’s still incredibly useful. I’ll show you how to use openssl to encrypt some data and decrypt it using the Common Crypto libraries on iOS.
Continue reading