Skip to main content

· 6 min read

Cloudflare provides a generous free tier for many of their useful products. I list them below (and will keep them updated as I use more). Some products do have some downsides during development, even when working at small-scale. I'm happy to say I overcame them, and want you to help you do the same.

⚠️ Warning ⚠️: This page also includes random technical details to help you solve issues. ⚠️

· 4 min read

TensorFlow models are saved in the protocol buffer format, which is an efficient way of storing and transporting data. I first heard and used it when I worked at Popsa where we used them to speed network requests between mobile apps and the backend. I then realised TensorFlow also uses this format to store models, including the weights and metadata. Popsa had a github repo specifically used to design and agree upon the interface between the backend and the mobile applications. gRPC also uses protocol buffers as the format. gRPC also uses protocol buffers as its format, by default. You can generate the classes to create, serialize and deserialize these objects in your preferred language with the protobuf compiler, protoc.

· 14 min read

Once you've built your CLI tool and you're happy with the functionality, you want to share it with others. This is called distribution. You'll need the Apple Developer Program membership ($99) to perform "Software distribution outside the Mac App Store" as per Apple. This post goes over making a CLI tool in Xcode, including Building, Signing and Notarizing, on macOS Big Sur.

When users download your app from outside the App Store, macOS (GateKeeper) adds an attribute to the file (the Quarantine flag). When users try to launch the downloaded application (or cli tool), GateKeeper checks that the files meet certain requirements, and either allows the user to launch the app, or restrict the launch and shows the following UI instead:

· 3 min read

👋 Hello! This page might help you if you're deciding on doing a degree in computing, especially if you're considering Imperial College. You might be a student about to start a Computing Science Masters at Imperial, the same course I'm doing right now.

I'm documenting what I learnt and the people that taught/ challenged me, and also reflect on my decisions so far. I've just finished all exams for this degree, and so am concluding the 'taught' part of the course. Onwards, to the individual project!

· 6 min read

Read this if you want to know what mistakes I made, so you can decide for yourself if you want to make them too.

Someone told me earlier today to get a good job, you can't just apply (he meant, you need to network/ have existing connections). Then I thought, he's right: I've never gotten a job by applying, except the one at an Ice Rink. My first software job was when I was randomly called by a recruiter, and they pitched a job to me. I didn't even do Computer Science, and graduated from Engineering a few months before their call. I was spending my days, weeks and months coding, learning to become a software engineer! A few weeks later, I was a Backend Software Engineer at a really cool company. Don't worry, I didn't get fired, but I made some mistakes and this article helps me reflect on what I should do now & beyond.