Estimated reading time: 23 minsIn the previous post I showcased how we could use our test suite to help us find potential memory leaks. This novel approach to Unit Tests was good at catching instances where we forgot to cleanup our properties and SUTs during the tearDown, but let’s not kid ourselves, short of adding assert clauses at the end of each test, we wouldn’t be detecting sneakier leaks. What’s more, that solution didn’t handle more complex testing scenarios with non-class entities and constants. Fret not. What if I told you we could narrow those gaps? (leak pun intended 🚱)
Detecting memory leaks via tests
Part 2 - Harder. Better. Faster. Stronger.23 Jul 2021
Estimated reading time: 16 minsIt’s happened to most of us in one form or another. Your iOS app keeps crashing for no apparent reason, you can’t really reproduce it consistently, and it seems like it’s affecting older devices more often. If you’ve been in this situation, you probably witnessed first-hand the side-effects of memory leaks. But what are memory leaks and how do you plug them, and perhaps more importantly, how do you find them?
Detecting memory leaks via tests
Part 1 - What, How, Why?24 Jun 2021
Estimated reading time: 14 minsThe other day I was trying to make due with an existing enum that used it’s raw values and add associated values to it. I eventually found out the hard way that in Swift you can’t extract a raw value if the enum has associated values, but I wasn’t going to let that stop me from achieving my goal.
Enums with Associated values & Raw values05 May 2021
Estimated reading time: 12 minsAny iOS developer worth his salt has probably faced the dire realization that handling environment variables through Xcode is anything but intuitive. This post will analyze several solutions to address this issue; some taken straight out of apple’s playbook and others that people far smarter than me have come up with. In the end, I propose a new approach, inspired by everything I’ve seen and learnt thus far.
Securing your secrets for fun and profit06 Aug 2020
Estimated reading time: 3 minsAs with anything that is meant to grow over time, when starting out you are often faced with the harsh reality that it’s going to be a while until you can show off the fruits of your labour. This blog is no different, and if you’re following it at the time of writing (thanks for being an early supporter by the way! 🥳) you might have noticed that, even though it’s 2020 I have already posted some entries dating back as far as 2017. What’s going on here?
Seeding a barren wasteland29 Jul 2020
Estimated reading time: 5 minsNot all launches go as smoothly as planned, and launching this blog wasn’t as easy as I though it would be. I had already setup Jekyll and a github repository to host my static pages, but something was off… I couldn’t serve them from the base url https://aclima93.github.io as I had initially planned, at least not yet. 🤨
Houston, we have a problem20 Jul 2020
Estimated reading time: 2 minsThis time around I wanted to add a niche feature to the blog that I think could greatly improve it. We’ve all been there, so picture the following scenario: You’re scrolling through Reddit, YCombinator, or whatever news aggregator you use; spot a title/thumbnail that’s just clickbait-y enough to make you open the URL or thread and… BAM!
So much text, so little time08 Jul 2020
Estimated reading time: 1 minFor the past few days I’ve been setting up this blog, and one thing i noticed the lack of was a proper referencing system, something to help me and my potential readers sift through what I aim to be hundreds of post entries. I was missing a categorization and tagging manager.
Let there be references02 Jul 2020
Estimated reading time: 1 minSo I decided to start using Foam. I see much potential in it as a thought organizer, so I thought I might as well give it a go.
In the beginning, there was nothing30 Jun 2020
Estimated reading time: 11 mins
ARKit — A simple hands-on experience
Build an AR app that shows you nearby points of interest, how far away they are, and how to reach them23 Aug 2018
Estimated reading time: 12 minsHey guys, it’s me, António again. 👋 Last time we interacted I was writing about how we used an external sensor to turn iPhones into breathing rate monitors for Brythm. This time however, I’m going to tell you all about the amazing world of Augmented Reality (or AR for short). This sudden thematic shift didn’t come out of nowhere but rather from Apple’s WWDC 2018 event, where they showcased many projects they are working on, how far they’ve come, and how there is still so much to improve upon. Among their many keynotes, one of them touched on their latest AR endeavor: ARKit 2. This in turn peaked my interest in the subject and, since I had some free time on my hands and wanted a new pet project, well… here we are 😅 so without further ado, let’s dive right in.
Augmented Reality — A Simple Technical Introduction20 Jun 2018
Estimated reading time: 5 minsI’ve been working with Deemaze Software for approximately 2 years now, and since my debut I have learnt more than I could have ever anticipated. It turns out, being a programmer isn’t just about coding. I know right, who would have thought?! There’s loads of management tips, tricks and nuances, business lingo, client expectations, internal and daily standups, quality assurance, code reviews, design specifications, alternating tight and lax schedules, cool and boring projects, etc. etc. It can be quite a handful! Thankfully, the team I work with has mastered the a̶r̶t̶ ̶o̶f̶ ̶w̶a̶r̶ art of juggling all of these concerns and taught me a great deal, so without further ado, here are some of the important lessons I’ve learnt throughout this incredible journey.
Lessons learned while working with Deemaze03 May 2018
Estimated reading time: 4 minsHere at Deemaze, we are constantly looking for challenges outside of our comfort zone, and this project is far from what we are accustomed to producing for our clients. While most products have a keystone that defines their solidity as a tool for management or business, Brythm is not intended as a commercial endeavor for either its owners or users, no; it was imagined, designed and built as a means to help attain a more noble goal.
Brythm — breathing with rhythm20 Dec 2017