FCAL to C++ translator
A semester-long project for my Program Design and Development class. The entire program was written in C++ with a project partner. We had guidance in designing a translator and how to approach the problem of parsing the Forest Cover Analysis Language (academic language) into C++ code to ensure portability. I learnt about regex matching, tokenization, lexemes and abstract syntax trees. We were given framework code for the parser but had to implement regular expressions as well as the entire abstract syntax tree. It was interesting having a project partner as it was my first time formally working on code with someone else. We used test driven development in an iterative model as well as pair programming. The class definitely exposed me to programming in a professional environment and widely accepted code formatting and best practices. Thinking about lexemes, regular expressions and parsing with abstract syntax trees were also a new field I never thought about before too.
This was originally a project I worked on back in another college, it was made to assist other students with estimating how they will do in their semester, as well as keep track of their grade point averages. The entire project was made in Excel using simple formulas and macros. This was to ensure that it remained usable even after I stopped maintaining it. The initial version of this project received good feedback and I made one for my University as well. This isn’t really a programming project, just bending Excel to my will with simple features.
The interesting thing about this Excel-based calculator was that it went up to the directors of the university website. Unfortunately they could not include it in the website (the online calculator on the website at that time was pretty lackluster and didn’t have what students needed).
You can find the first version here, as well as the version I’ve written for the University of Minnesota here, which pretty much allows any student in a university following the US Semester System (sorry Quarter people) to use. The analytics for the University version can be accessed here. You’ll also need Microsoft Excel (no love for Google Sheets Apple’s Numbers since it relies on macros.)
Space On Tech
This isn’t programming or CompSci related at all, just … technology. Back in 2012 I had the idea of having a Facebook Page (it was the rage back then) to bring more awareness to people of my generation about technology. At that time when smart phones were pretty mainstream, I noticed how most of my friends didn’t exactly know what CPU, RAM, 1080p actually meant. So I started a simple WC’s Tech Word of The Day (first word being Luddite), and discussed a word when I can. Eventually I ran out of relevant words, and my buddies Natthan Leong, who also designed the logo for Space and Kapil Haresh decided to team up and bring relevant tech news, and so was ‘Space, for your e-news’ born, which eventually became ‘Space on Tech’ today. It isn’t that relevant anymore (only has 195 likes now, if you’re measuring popularity by likes) because most of the audience became a lot more tech-literate, but a nice side effect is that Nate, Kapil and I would regularly share and discuss all things programming, tech and computers.
Back in 2009 up till 2011 (high school days) I was largely involved with a lot of multimedia production (and simultaneously IT Support tasks like deploying software for labs), where I used professional recording equipment and the Adobe Creative Suite (mainly Photoshop, After Effects and Premiere Pro) to create video montages for the entire school. This was a request by the school teacher and principal for the Honor’s Day presentation (video here). I was also asked to do a video montage for another headmaster’s retirement (video here) as well as additional Editorial duties like designing segments of a school yearbook, newsletters and concert handouts. It was definitely a stressful (but eye-opening) experience dabbling into multimedia production and learning concepts of keyframes, templates, renders, audio mixing, and handling real-world issues like difference of requirements, organizational politics, leading a team and sudden changes nearing the deadlines. That said those 3 years of work on multimedia have told me not to go down the path of design and multimedia as a full profession, just to keep it as a side skill set.
Oh, lastly, this Jekyll site is also a personal project of mine ☺ Read about how this site was set up here.