Pre-University Preperation

It’s been a while since I’ve written anything here, but I’ve been updating Quora quite frequently, do check out my recent travel diaries, and also a project diary here!

From now till school starts, it will be hell of a ride.

I’ve got a trip to China from 9th May to 20th May, after which school will start from 11th August, right after National Day in Singapore! From now till then, I’ve got a couple of goals set. And I really hope to crush these goals. 

First, brush up on my math. 

I’ve selected a few math courses from MIT’s OpenCourseWare. It’s been 2 years since I’ve done any challenging math questions, and walking right into NUS with math abilities like that is instant suicide. I suppose I’m going to need a few visits to the library to get some textbooks, since I’ve thrown all of my JC notes away. (I know, I threw them away the day A levels ended) Other than brushing up, I need to expose myself to new concepts of math that CS needs. I read on Quora that it’s a totally different field, and it’s mind-blowing. That’s great, I love mind-blowing. Moving on…

Work on projects, and finish the projects. 

What’s good if you learnt a programming language, and leave it as it is? Over my USA trip, I’ve designed a website by making use of HTML/CSS and JS skills acquired over my 6 months of learning. It isn’t very complete yet, but at least it got shipped. I still have to make a few adjustments. Check it out here! Recently I’ve been working on different algorithm implementation with C++ as well, and it’s not been going good. I didn’t want to finish CS50 to forget all of it the next day. Thus I’ve been revising some fundamental concepts which I should have mastered, but didn’t. Projects are a great way of making sure of such things. Even if the project isn’t an actual project, i.e. just tinkering with code, it offers as a platform to learn. And learn is exactly what I need to do right now.

Write. 

I’ve been shortlisted for NUS’s University Scholar’s Programme (USP) interview, and I ought to prepare for it. Preparing for the interview is one thing, but if I get admitted, with my writing skills as such, I wouldn’t survive the massive amount of essays that will head my way. I love to write, but I’m not good at it. There’s always room for improvement, and to do so, MIT OpenCourseWare is my best friend right now. There is a course on Essay Writing, and it provides lots of readings coupled with assignments. I would need a mentor for my work though, got to keep looking. I have to get it that I’m not good at writing, despite my love for writing. I definitely need to work on it. This doesn’t mean if I don’t get into USP, I would give up on this. I think writing is going to be important even after university. There’s that. 

Set out my priorities for university.

I’ve seen some of my friends entering university and suffered through it, while some were having fun and enjoying themselves. I think this would be the code that I’ll live by in university:

Be yourself, be free, have fun and don’t forget to DOMINATE.

I’ve written that down on a card, and it should be up on my wall/pin-board when school starts. Nobody would care about you if you’re just a cool dude with great attitude and personality. I have to dominate in my field, which is also my studies. Give in my best and I’m sure this wouldn’t be that difficult. Let’s see what happens when the ball starts rolling. 

Exercise, exercise, exercise. 

Recently I’ve been working out every morning, since I’m waking up at 6am due to jet-lag. This habit has to continue though, because it gives me that pick-me-up everyday. Also, I’ve lost plenty of weight due to a bad traveller’s diarrhoea that I suffered in the States. Now that I’m back, it’s time for some recovery workout! There’s an IPPT waiting for me to take too, it’s $200 bucks if I get a silver and I’m not going to let that money slip away, now that I’m unemployed. 

That’s all my plans so far, and I do hope it would be sufficient enough to prepare me for university life. Once again, let’s just see what happens when the ball starts rolling. 

Till next time! 

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!