• Winning Tech Interviews Through Mock Interviewing

    Technical interviewing is truly a skill. Like all skills, to get better at technical interviews, one must practice technical interviewing. For candidates looking to move into new software roles, there exist a myriad of resources on the internet to aid interview preparation. However these resources offer a self-paced approach to improving one’s technical skills. They are not a true representation of an interview environment. Similarly, for working professionals looking to get better as interviewers, one option is to experiment with new questions in a real-life interview setting. However this runs the risk of jeopardizing candidates’ experiences and performance in the hiring process. Enter mock interviewing. In this post, I will share some valuable resources that helped me refine my interviewing skills via mock interviews.

    Read on →

  • Deploying a Spring Boot API to AWS Elastic Beanstalk with GitHub Actions

    Recently, my software engineering graduate degree culminated with the completion of a capstone project, where students organized into teams to build a real software product with practical value. I had the pleasure of working on a team of excellent engineers to design and develop a Yelp-esque business reservation and management system. Given the time constraints of the semester, we scoped the project such that it was achievable within 3 months. We presented RestoHub, a restaurant-focused reservation management app. We took an experience-based approach with deciding our tech stack, where we picked frameworks and libraries that the team was already familiar and comfortable with – sticking with tried and tested tools. After all, we needed to deliver an MVP by the end of the semester.

    Read on →

  • Scraping Apple's Refurb Store with Ruby

    Last week Apple announced their new lineup of iPhones, just like they do every year. This time though, it seems like they’re pushing to make $1000+ smartphones the norm. They’ve also completely removed fingerprint authentication from their phones in favor of Face ID, which they claim is more secure. If you’re like me and you don’t want to spend an absurd amount of money on a phone, and want fingerprint authentication, chances are that you’re better off purchasing an older, marked-down iPhone model.

    If you want to save even more money (like myself) and still want a premium Apple warranty, you buy refurbished! The nice thing about refurbished Apple products is that they are in essence, products that were originally in great condition – either returned by unhappy customers or pulled from Apple’s display units in stores. The refurbishment process includes swapping the old battery for a new one, wiping the phone clean and replacing parts that had cosmetic damage. So what you end up getting is basically a brand new device for cheap. The thing about these refurbished devices though, is that people seem to jump on them very quickly, so they sell out just as fast. What we are going to do is devise a system that will notify us when the iPhone 8 is available for purchase on Apple’s Refurbished Store. Let’s get started!

    Read on →

  • Prelude

    Updated: 10/17/2023

    Welcome! I used to have more words in this prelude post, but that post was too stale (and too cringe!). This is a programming blog, but I will try to treat it like a programming “diary”. Yes, I know GitHub and Gists already exist for exactly that purpose. But I like Jekyll, and I like Ruby and this platform just gives me more of an excuse to use these tools. It will also (hopefully) force me to be intentional about what I think is important, and what I think might be valuable information for other people to have. Posts shall try to be as short and sweet as possible, while still being thorough.