Welcome to my new blog. This platform will be used as a way for me to share some of my knowledge and experience with everyone in my journey as a software developer. I am currently a student at NUS, in my second year of studying Computer Science. Through this blog, I hope to be able to share some of the things I have learnt, and to document them for future reference. It is also a way for me to learn a little bit of web development - although currently the site is largely powered by jekyll and setting up was pretty trivial, I hope to perhaps improve on this site in the future.

To start off, I want to talk about my development interests. I am a big fan of Apple products even before I began studying CS at NUS, so I guess it is natural that I would be interested in developing applications that I can use on my Apple products as well. Little did I expect that developing applications for Apple products could be so intriguing, challenging and fun all at the same time.

It started during my freshman year summer holidays at NUS, where I took part in the Orbital summer programme hosted by my school (School of Computing). It was a summer-long programme where participants teamed up in pairs to create any sort of application/software they desired either on a website or as a mobile application. I decided to work on an iOS application since I had the right tools for it, and I thought it would be a fun and rewarding technology to pick up.

The name of our project is EzDrive, developed in Swift. It is an application build around the idea of providing a platform for car-sharing locally in my country (Singapore!). When we first started in this project, we were really clueless developers and dove head-first without any plan or roadmap. We didn’t even know how to use source control then (which explains the 0 commit repo, unfortunately)! Mid-way through the project, my teammate was busy with other school-related activities and unfortunately he couldn’t contribute much, and so I was tasked with completing most of the coding and designing of the application while he handled the poster presentation of the project closer to the end of summer. No complaints from me however, because I was hooked! The project really taught me about proper development, including design patterns and architecture, good UI/UX design especially in an iOS application, and above all it was extremely fun and exciting to watch my application go from a simple print statement to its final form.

Ever since that summer, I haven’t stopped developing more applications (personal projects) and learning more about Swift. I wouldn’t call myself a guru or expert by any means, but I can confidently say that I can create a simple application from scratch easily now. My Swift and iOS programming knowledge has come from numerous avenues, including YouTube tutorials, online written tutorials, blogs, and reading open source code on GitHub. I find that a good way to practice iOS programming is to try and recreate a popular application from the AppStore (such as YouTube, Reddit, Facebook, Twitter, etc.), and see how close you can get it to be like those large applications. Through doing such practices, I found that I was able to learn a lot about different tricks I can do to create a certain animation, effect, transition, etc, all which can be useful for my own projects and applications.

And of course I do not hope to stop here. I plan to write a bunch of posts regarding some of the more interesting and useful things I have learnt from iOS programming, hopefully they will be informative and useful for all readers!

Thank you for reading.