Hobbies.

Everyone has got to have a hobby, right?

Recently I’ve developed an interest for two things, photography, and RC helicopters.

First up, Photography.

I’m going to Chicago pretty soon in mid-March to visit my aunt, and at the same time help her out with a small project which has a bit of coding and design involved. During my one month stay there, we’ve planned a trip to Peru, Machu Picchu! It’s an amazing place for those of you who don’t know yet. Here’s a picture of it.

Image

Pretty damn amazing huh?

I thought that such a magnificent place shall not escape the lenses of my dad’s Nikon D90! So I spent the past few days messing around with the DSLR and read up online guides on photography. I liked it. It made me feel good when I take a photo that defines a moment. Here are two of the photos I’ve taken.

Image
Dumpling making in progress…

Image
My beloved WL-V911 4-channel single rotor RC helicopter that I’ll be talking about soon.

I know these photos cannot compare to the ones we see on Flickr and Tumblr by professional photographers. In fact, they are really far off from being even decent. But it is the constant “If others can do it, why can’t I?” thought that fuels my curiosity for photography. I want to be good just like the others, I want to take photos that people can relate to. I want to create pictures that matters. This is probably what I feel every time I snap a shot. Just like coding, every line I write, I want to make it matter. I want people to look at it and say “Wow that’s a beautiful piece of code”. So much similarities in two totally different activities.

Next up, my RC helicopter.

This might sound really child-like, but there’s a certain kick to flying this little thing. My dad saw a couple of videos on YouTube and the amazing things this small, whizzing gadget can do. Soon enough, he got one for himself. But as time went by, he slowly lost interest in it. You need to invest lots of time to learn how to fly it properly, and my dad’s a pretty busy man, I think.

So I took over! 

It was pretty difficult at first, getting the left/right hand coordination correct. Even doing a simple hover over a certain spot takes months to perfect. I still cannot do it properly, but I’m sure with practice comes results. Maybe I’ll upload a few videos of what I can do with this small little thing in time to come.

The kick that I’m talking about. You feel in control, satisfied when the helicopter flies the way you want it to. I can really relate to this feeling because in coding, it is somewhat similar. You write code, the machines obey. “Thy bidding master.” To me, nothing beats the feeling of being in control of a certain situation. I don’t particularly see this as a strength, nor a flaw. Just a small characteristic of Bili.

That’s pretty much it.

Both these hobbies somehow relate to coding. Maybe that’s why I was hooked on to both of them so quickly! Hopefully these two hobbies would last, and take some steam off my head during tough times. (Considering NUS Utown has a really great grass patch to fly my copter next time… And also to attract certain amount of judgement)

Oh and did I mention, I’m gonna ORD in 17 days!

Daily Coding Plan

It’s the end of the year, and while everyone is busy doing up their 2013 reflections and 2014 resolutions, I’m here to construct an effective coding plan for myself.

I discussed with my friend recently and came to a conclusion that I’ve been coding daily, but have not been making (significant) progress. It’s probably because I have…

Lack of a mentor, and lack of structure.

Everything I’ve learnt so far was based on my own effort and tinkering during the ample amount of free time I had. I don’t think I have fully utilised the time to make the best out of it, so here are my plans for 2014, at least before school starts. I’m going to dedicate at least an hour a day for each of them.

1. Take time to learn my current language well.

It’s tough to learn alone from resources such as Codecademy and Code School, but with the right mindset and attitude, learning definitely becomes easier. I am currently doing Objective-C, and coming from C++ background, it’s a whole new level. The length of methods, difference in syntax, etc. But as Eustace (a fellow coder who was from the same CCA as I was back in Secondary School) told me, don’t learn the language by syntax, learn it by concepts. Which is really great advice. Most languages do the same thing, in different syntax. So once you get the logic behind programming, learning a new language would be easy as pie! Gotta thank him for this golden advice! :)

2. Work on my web app, which is a blog.

For people who don’t know, I built my blog with Express, a node.js framework, which I learnt from hackerschool by NUSHackers. It doesn’t function as I expected it to, yet. Probably because I’m still a novice in many of the web development concepts such as AJAX. Most of the time I’m just rewriting the same app over and over again because I can never get it to work. But from doing this, I find joy in solving problems and bugs. I get that epic “YAY” feeling every time it works. I suppose this mini project of mine is a morale booster for me.

3. Revise fundamental computing concepts

I am definitely not exposed to many of such concepts. But here are a few of them that I do know, and is able to master:

  1. Search and sort algorithms
  2. Memory allocation (stack and heap)
  3. Data structures (hash tables, linked list etc)

It’s not very possible to go in depth with the limited amount of knowledge that I have, but for a start, it is good enough. All that I’ve learnt was from Harvard’s CS50. Thank God that I went through at least 6 of the problem sets in my free time. It has opened up the world of algorithms to me. I can’t be anymore thankful for this online course. :)

4. Reading, and immerse myself in the community

Spend more time reading what others have done, and contribute your own ideas. I think a great place for this is Quora. I’ve never felt so enriched and inspired by what others have to say on it. Immersing myself in the community is essential as well, because it helps when you know you’re not alone in this scary world. I almost always smile to myself when I discover another friend who’s coding. Medium has a decent amount of great articles, for both self improvement and coding. I just hope that I could utilise more of the resources I have at my disposal to my advantage.

As for the mentor, I could not wait until school starts where I can get consultation from at least a professor or a senior. It seems to me that the only ‘mentor’ that I have right now is Google and StackOverflow. (Quora sometimes too)

Here’s to half a year of coding, since June 2013, and as 2014 approaches, I do hope that I will only climb higher from where I am now.

Happy New Year! :)

Learning alone is really tough…

But it’s the only road that I could take for now, NUS hackerschool went on hiatus due to the school holidays and, yeah that was basically the only place where I talked to someone else about coding. 

I finished problem set 4 of Harvard’s CS50, and I guess I’ve made a great leap forward by learning the FILE stream. There’s still about 3 more problem sets and I’m determined to finish them all! 

I’ve read on Quora here that learning alone is painful. Yes it is. It’s been a tough journey so far, trying to figure out everything I know by myself. I’m quite proud of it, but at the same time, I have to remain humble because I know those with mentors would have probably covered at least 5 times more content than me. I really hope for a mentor who would guide me in the right direction. Hell, I would be happy enough to have a friend who’s into coding as well. 

Maybe I’m just not lucky enough to have such people in my life. 

Honestly I don’t know how long more can I sustain learning by myself, but so far I’ve been doing fine for the past 6 months. It’s been half a year since I’ve started coding! 

Other than coding, I’ve been working out quite a lot too. Basketball and swimming. Trying to maintain an active lifestyle. Christmas is coming, and I do hope there’ll be great plans this year! (Considering that I missed last Christmas due to standby duty in camp)

That’s it, and I’ll probably do a 2013 wrap-up and a 2014 resolution post soon! 

It’s been a great six months of coding, and I’m looking forward to many many more! :)

Reserve.

I’m not a ‘sports person’, but I somehow decided to join swimming for my division’s Sports Day. Well, it was a great experience overall, despite the fact that I was only a reserve in the end.

Couple of reasons why I really enjoyed past month training for this event:

  1. Keeps me exercising everyday! I think it’s done a great deal to my physical strength after these two weeks of training. I don’t want to stop this habit of a morning swim session, I feel good for the rest of the day after every swim session.
  2. Corrected my strokes. I finally got used to swimming freestyle for long distances, and also a more efficient breaststroke. Butterfly and backstroke aren’t my thing, but still… Better than before. Which means improvement. Improvement makes everything much more worth it. 
  3. Great company! The people whom I met at swimming were really friendly and great. Conversations about anything and everything. Mostly about swimming (duh) and some great tips on University education!

Other than these, I think swimming has made me realise something too.

Being very good at something isn’t easy.

Till now I still wonder why wasn’t I good enough to make it for the team, but it appears that other people were simply just better than me. It was for the best of the team to do without me. That’s still a contribution, giving them a choice. :)

But from now on, I think it is important to push myself to be the best at whatever I do, be it swimming, coding, or anything that I love. As Mike reminded Walter White:

No more half measures.

That Breaking Bad reference. :P

That sums up what are my thoughts for the swimming event that I just (sorta) was a part of.

It’s November.

What a lame and boring title, right? 

It isn’t for me. November signifies yet another month closer to ORD. It also reminded me of how long have I been coding, and how much I’ve improved. So, without further ado… 

I built a Griddler app for my unit. It was just a small project which I wanted to try out with Express.js and Jade. It has really basic functions and I’m just going to leave it as it is. Also I hosted it on Heroku and GitHub

Why? I guess I just wanted to fool around with a small little project, not to really build a working app that could be widely used. I think I’ve achieved my goal, and it’s time to move on. My next little ‘venture’ would be coming up soon enough. I would really want to redesign a certain app to test my coding abilities. There isn’t much that I could do now, but I’m bettering myself over time.

Currently I am:

  1. Taking Harvard’s CS50 through iTunes U. It focuses on programming fundamentals, which I’ve been tackling for the past 6 months. Also, it adds in C, together with PHP. It’s what most employers want nowadays, for Singapore at least. I’ve looked through several job requirements and most requires PHP with SQL knowledge. Well, . 
  2. Taking Stanford’s Algorithms module, through iTunes U as well. It’s important I guess, to understand algorithms. Let me share the bubble sort algorithm! I understand basic syntax and functions of my languages, it’s time to up my game, again. 
  3. Reading. Lots. I have several unread books that are rotting away at home. So I decided to tidy up my room, and place those books on the ‘unread’ shelf. Some of it includes J.K. Rowling’s The Casual Vacancy, and also Charlotte Bronte’s Jane Eyre. Mixture of classics and modern fiction, but the point is to keep reading. How we portray ourselves is reflected by what we know. Books fuels our thirst of knowledge, just as petroleum fuels the need for speed. 
  4. Swimming. I joined our Division’s swimming competition. Well I’m really slow, and I don’t expect myself to compete. But the training is every morning (it’s crazy) and very much intense. When there’s intense training, it gives your body a good tone, coupled with a great tan too. ;) I sleep better and feel much healthier lately too. 

I have around three more months left before I end my service with the SAF. Some may say it wasn’t a pleasant journey, some may miss the life and companionship of great army buddies. But for me, I’m just gonna say it was part of life. We move on. (I’ll save this for my ORD post)

Until then, keep hacking!

Due for an update

I’m back with an update for what’s up lately. A few things!

First, I’m focusing a lot on C++ depth.
I brought my Primer C++ textbook into camp, so that I could focus on a topic a day, be it the basic arrays/variables, or the advanced classes and polymorphism. Learning something new a day would really help me in the long run. This is good, since I almost always have a bit of time at night for myself to improve.

Next up, digging into JavaScript.
I had completed Codecademy’s JavaScript course quite a while back, but haven’t really put it to good use yet. I understand the basic syntax, classes and way of using it. But to understand a framework would take it to a whole new level. 

I’m currently struggling with node.js and express.js, but struggling is good. It means that after the struggle, progress is made. What I realise is that after a few tutorials watched and forgotten, you eventually remember all the important details. 

How? 

The tutorials are all similar in some way or another. The similar portions are usually the important parts of whatever you’re learning. Thus, I’m in a way absorbing information from multiple “teachers”, trying to catch the common gist of it. (It works, really, especially when you’re venturing into a totally unknown field)

Last but not least, relax… 
Your entire life shouldn’t be about coding. Coding is your life, but your life isn’t coding. I started watching Breaking Bad and Suits, two of the better television dramas out there. I’ve considered getting back to gaming again, but seeing how sucked into it I was back then, maybe not. Leave that for when the PS4 comes out. I’d really like to get one to bond with family/friends. Those type of gaming is actually beneficial! :)

Other than that, I’m certainly more excited for my ORD which is coming up in approximately 5 months time. But I like to think of it another way…

It’s just another month to it. 

Well, I got my way of interpreting it. That’s classified. :P