Framed in an interview!

Recently I have been interviewing and it is eye opening to be the other side of the interview table/Zoom chat! Having been an iOS developer for 14+ years, I think there are things you learn very early on in your career that you never question or need to revisit it again and it can catch you a little off-guard. One of those areas that I got asked about recently was about the relationship between the frame, bounds and transforms in a `UIView`.

Continue reading

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