Overview This blog post goes over the homepage rebuild project for the Firefox iOS app, which I led and was dev complete by release version 138. This post is mainly a self reflection of the project and I hope to share my thoughts for those who are interested. Homepage Feature Before I dive in, this post assumes some knowledge of how the Firefox homepage works from the user perspective. If you are…
Part of the Mobile Development series Overview This blog post assumes you have some familiarity with Xcode and tests. Here are some Xcode tools that I use when writing tests to make sure that my tests are valuable. Run tests repeatedly Running tests repeatedly helps catch issues early and provide a level of confidence that the tests are not flaky. In order to run tests repeatedly, this can be…
Part of the Mobile Development series Quick + Nimble Overview This blog post will document my initial investigation in using Quick + Nimble. What is Quick + Nimble? Quick is a behavior driven development (BDD) testing framework and Nimble is a matching framework that helps make tests easier to read. Coupled together, they provide the advantage of being able to be very descriptive when writing unit…
Part of the Mobile Development series SwiftUI Overview This blog post will go over my current understanding of SwiftUI and existing architectures that can be used to apply. What is SwiftUI? In iOS development, there are two popular frameworks used to build user interfaces for apps in the Apple ecosystem, which are SwiftUI and UIKit. SwiftUI is a UI framework that takes a more declarative approach…
Part of the Mobile Development series Xcode Debugging Tools As I started my official iOS career in 2020, there were some tips and tricks in using Xcode to debug issues that I picked up along the way. This is an ongoing post in which I’ll continue to add my lesson learns as I become exposed to them and find it useful to share with others. Most of the tools that we will be going over are listed in…
Part of the Mobile Development series SwiftLint Overview What is SwiftLint? A tool that allows us to enforce certain Swift style guide and conventions. It is an open source library and more details can be found here: https://github.com/realm/SwiftLint What are the benefits? Having a consistent style guide across a codebase helps the repository become more readable and maintainable. Also,…
Part of my OMSCS Review series INTA 6450: Data Analytics + Security In Summer 2022, I completed my sixth course in the OMSCS Program at Georgia Tech, Data Analytics and Security (INTA6450) . I was interested in this course because of the course project, which students can hone their data analytics skills on real world cybersecurity data. The data comes from NowSecure, a mobile app security company…
Part of the Book Review series Book Review: Essentialism by Greg Mckeown Essentialism walks you through the mindset of an Essentialist and discusses how we can develop a systematic approach for determining what are the important things in our lives and how we can focus our energy in contributing to those essentials when making a decision. It is not about getting more things done, it is about…
Part of my OMSCS Review series CS7632: Game AI In Fall 2021, I completed my fourth course in the OMSCS Program at Georgia Tech, Game AI (CS7632) . I love playing video games and I was curious to see how AI agents are working behind the scenes, especially in games like Chess. Last semester, I took Artificial Intelligence and this class gave me a better insight on how it can be applicable to games.…
Part of my OMSCS Review series CS6300: Software Development Process In Spring 2021, I completed my second course in the OMSCS Program at Georgia Tech, Software Development Process (CS6300) . I wanted to take this course because I am at the entry point of my career and wanted to get better insight on improving my software engineering skills. As someone who didn’t graduate from a CS degree, I…