Thursday, 15 January 2015

Co-op Reflections 1.0: The First Week

2015 sure came in fast around the corner; before I knew it, shortly after celebrating the New Year, my suitcases were packed yet again and I set off for Ottawa.

First impressions: Left: a very snowy landing in Ottawa. Right: the colourful waterfall, one of
the first sights after arriving
in the airport
.

Now, over a week later, I am continually amazed by how quickly time manages to fly by. From my very first day on the job at Savision Canada, I was put right to work, figuring out how to fix the first bug we came across, and gain a better understanding of the code from the project that I'd be working on. As my manager put it that day at lunch, "you're already doing more than 95% of your classmates on co-op today," and he was right - by getting to work directly with the code as I looked it over, I began actual work on my project right from day 1, and it's only continued to go up from there. And I'm grateful for this approach; despite the initial "I-have-no-idea-what-I'm-even-looking-at" moments, I feel that by jumping right in, I've learned a lot more in a faster amount of time, simply because I had to in order to determine the issue and solve it.

Differences
The one thing they never told us about in our programming class was just how different learning programming is from applying it. Last term, we only had to worry about three or four C# classes at max, all located conveniently in one file, but my project involves flipping through interactions between countless classes and their respective interfaces, namespaces, and files. Perhaps the most significant thing that I've taken away from my first week is that you don't need to understand every part of the code to do the work; in fact, that would be nearly impossible as there are files that I haven't seen or touched yet. Instead, as I work on different tasks, I'm slowly being exposed to different aspects of the application I am working on.

At the Office
One of the most important aspects of the job is the work environment and the people that you work with. Because the Canadian branch of the company is quite small, our office is open-concept meaning everyone sits together. I didn't realize that the Canadian office only works on research and development; this is great because although everyone around me is working on different projects, they never hesitate to try and help. Generally, we work in a very quite atmosphere where everyone focuses on their own tasks, but every now and then a random conversation that's completely unrelated to work will pop up. And I can honestly say that my co-workers are all very open and friendly; it's been really nice in these past few days to hear about their variety of experiences both inside and outside of work. My manager, in particular, has been wonderful about checking in about my progress as I work, and breaking down my project into meaningful yet manageable tasks. Being able to break down the large amount of work into smaller pieces and complete them one by one has definitely helped me to not be as overwhelmed and just generally work more efficiently.


All in all, I'm happy to say that I am truly pleased with what I'm working on. I think it's safe to say that you've found the job for you when time just seems to fly by at work. Although a day doesn't go by without their own issues and challenges to overcome, it's been interesting to work through them one by one and I've been learning so much throughout the entire process. At the end of week one, it was fun to see a quantification of the progress that I'd made:

The green column indicates how many lines of code I added/changed, while the red column indicates how many lines I deleted. While it's interesting to look at to see how much I did, these numbers are trivial compared to what I have learned from the week, not only about programming itself, but the process of going about it. As I continue in my work, look out for more updates as I look forward to what's coming next.

Sunday, 4 January 2015

AirDroid: Your Android Phone On Your Computer


I discovered AirDroid while searching for a way to relocate photos from my phone to my laptop, in order to free up some memory. I was having trouble with my laptop not recognizing my phone via USB, and Bluetooth wasn’t a viable option as only one photo can be transferred at a time. Browsing the web for alternatives, I came upon AirDroid, a pretty useful service that syncs your phone to your computer via the internet.

AirDroid offers to Android users the convenience of being able to control certain key features of your phone from your computer straight from the web. After downloading the app and signing up for an account, just log in online and the service will connect to your phone. Initially, I was only going to use AirDroid to back up my photos so I could delete them from my phone. The one downside to this feature is that it can take a while to download large files or many at once, especially if your internet connection isn't great. However, it still proved to be a good backup plan.

After finishing up, and subsequently solving my USB connection problem a few weeks later, I didn't think I'd need to use AirDroid again. But after revisiting AirDroid today out of the blue, I soon found that there are a few other useful features to take advantage of. 

Convenience
This can definitely be considered a first-world problem, but if you're busy at work on your computer and want to quickly check your phone for any calls or texts, yet your phone isn't beside you, just log on to AirDroid. You'll receive live notifications when you receive calls/messages, and you can even call/text straight from your computer. It can come in handy when you just want a quick glance at important phone notifications (or, let's be honest, you're a bit lazy).

Ringtones/Alarms  
This feature allows you to access the ringtones and alarms folder on your phone easily, to add or delete new sounds. For me, this comes in handy because the alarms on my Nexus 4 are the most non-intrusive, serene sounds that I've ever heard. Since I started using my phone as an alarm clock, I prefer to customize my morning alarm so that I can actually hear it blare in the morning.

Find Phone
Mac + iPhone users know that Find Your iPhone is a useful feature that comes from being able to sync up Apple products. Android users don't have a native phone-finding service, so this would be very helpful for those of us who misplace things easily. I haven't actually tried the feature yet (which is good news!), but from what I've read it allows you to locate your device on a map, call it, erase personal data, and also lock your phone. Now I'm sure that there are many similar services out there, but AirDroid conveniently bundles this together with other nice features.


AirDroid is an unexpectedly useful service that I'll definitely be reaching for from time to time and further exploring what it has to offer. I'm not sure if there are other similar services out there but I found it interesting so I thought I'd share my initial thoughts on it. If you're interested, be sure to check it out and let me know what you think!