End of Polycademy

Posted: May 3, 2013 in Uncategorized

OK, so i didn’t manage to keep up with my blog posting after all. The last few weeks was extremely hectic, what with everyone scrambling to complete their web app! The last 3 days of the course, in fact, before the demo day on 19 April, were seriously full blown crazy. We experienced the true life of programmers! -> Working 6pm to 6am, eating pizzas and drinking coke! Even more champ for me, because I was working 8am – 5pm before going to code!

But anyway, now that Polycademy is over, where do I stand? I must say I’m still hell of a long way from completing my app, but that I am happy with the outcome of the course – I now feel confident of being able to build a web app from scratch, even though it will be a lot more work to get this chess app to work. After all there’s so much logic needing to be coded! But I’m proud to say that in the last few days of the course, I managed to push myself to at least complete the bulk of the chess move validation in PHP, and some of the frontend stuff in javascript and using KineticJS and HTML5 Canvas!

They say the end of something is the beginning of something new. Even though Polycademy is now officially over, I’m determined to continue coding, and make use of these precious skills i’ve picked up. I wanna carry on with my chess app, and see it to completion. FIGHT ON!

For anyone who’s interested in seeing the (currently still extremely ugly and trial version) of Chess Dimension, you can do so at http://chessdimension.ap01.aws.af.cm/canvas (note: currently only working in Chrome)

Special thanks to Roger and my mentor Ross for their invaluable help and motivation! It is greatly appreciated.

Week 7 and 8 of Polycademy

Posted: March 28, 2013 in Uncategorized

Week 7 and 8 of Polycademy flew by, like so fast. 3 more weeks to complete the app but I’m hardly anywhere near completion. Its worrying. Will make this a short one so I can go back to the javascript/Angular JS readings.

Last week marked the transition from Server Side programming (in PHP) to client side programming (javascript, AngularJS). Actually took 2 days off work, on tuesday and wednesday to work on my PHP, and managed to get a few things done, like getting the chat and login controllers done, and successfully updating my database using JSON data from the RestClient addon to firebug, which really is a very useful tool once you’ve routed your site RESTfully. Basically it allows you to apply the HTTP methods- get, post, put, delete, even though only get and post are normally available! Was pretty pleased with myself but then now i’m worrying, because the main bit (the chess game) is still close to 0. I’ve ploughed through about 1500 lines of code in this chess PHP library I downloaded, but still I’m confused as to how I can actually implement it and use its API to create a chess game. Well I guess I might just scan through the rest of the 2000 lines of code, and get Roger to give some explanation on how the implementation is done. Really got to get this going, because it is key for the client side stuff to work.

So, on Thursday (Week 7) we started on the JS. Went through quite a number of things, like the Object Orientated Programming style in JS (using prototypes instead of classes). I actually got quite lost in class, not having time to read the JS documentation before hand, but I think everyone else was pretty much in the same situation.

For Week 8, there really isn’t much to say. My mum came to visit (from Singapore) on Week 7 Saturday, and will be staying till Week 9 Wednesday. Wasn’t well on Mon and Tues so gave Polycademy a miss. And then a full day meeting in Melbourne for work came up on Wednesday, so I fell further behind. Finally got back to class yesterday (Wed) and found myself trailing, hardly understanding what’s going on in class. ARGH. I shall endeavour to catch up by this weekend – watch the Egghead.io videos on AngularJS, play with the AngularJS phonecat tutorial, and finish my reading on Javascript. Might actually give class tonight a miss because it’s just not productive time going to class and not understanding anything. Might as well stay at home and read through more notes and catch up. But we’ll see.

Hopefully it all works out.

Week 6 of Polycademy

Posted: March 22, 2013 in Uncategorized

Fallen further back- it’s almost the end of Week 7 and here I am reflecting on Week 6. A minor consolation is that I’m still alive – despite having a number of sleepless nights, working on both ChessDimension and my Macquarie uni course. Anyway I’ll make this reflection short, I’m currently at work and writing it during my lunch break…

Week 6 proved to be more comprehensible than Week 5 (thank God)! On Monday, we went through the rest of the Server Side Architecture stuff, and learnt some theory on concurrent processing, Web Sockets and RTC. The theory is really massive, but Roger did a good job of summarising it, so I have some idea now, and can probably use it as a base for further research down the road when I actually need to implement multi-threading or multi-processing. Really grateful for all the links on the wiki for things like job managers, hosts that support them, etc. because they are going to make things so much easier! I mean there’s always google, but it’s hard to google for something when you don’t even know what you’re looking for! Anyway, about web sockets, to be honest, I didn’t know prior to this course that it was so tough to send info from one user to another user immediately. Have gotten so used to facebook chat instantly popping up, that I think it’s just a simple User A sends chat, User B receives chat thing? Then, I learnt that it’s easy for User A to send the chat to the server, but then for User B to get the chat, it requires getting the chat from the server, and that’s not easy. How does User B know that User A has sent something? Anyway, to answer my own question with knowledge i’ve acquired, there is this thing called polling, where User A polls the server at regular intervals to check if there are any new updates, and if there are, then grab the information back! But then my next question was: how then can you make it real time, unless you poll the server at like millisecond intervals? And doesn’t that take up a lot of resources? The answer to that was: there’s this other thing called long polling – where User B sends a request to the server, which stays there and waits for something to reach from User A. Once it reaches, it’s sent back to User B, who then immediately sends another long-poll to the server, awaiting more info from User A.  Complicated eh? But then Roger exposed us to this new concept called WebSockets, where it’s possible to have an connection between the two computers, where you don’t have to poll the server to pull information, instead everything that’s sent can be received directly! Really awesome stuff. If you want to see it in action, go google Ratchet. Really looking forward to implementing this.

The rest of the week- we covered more concepts – design patterns in PHP and had some time to do the PHP programming for our apps. It’s been really crazy, there’s just so much to do. But at least I can be proud to say I managed to implement a login system (based on IonAuth), mind you it’s really basic, but at least there’s something there. I’ve also done a CRUD for a chat system, and implemented the RESTful stuff, which is pretty cool! Lots more to be done, especially understanding the available chess PHP libraries out there, and actually manipulating them so they fit my project.

But more of that in the Week 7 reflection. Back to work.

Week 5 of Polycademy

Posted: March 13, 2013 in Uncategorized

Week 5 of Polycademy marks the week that I start drifting. Not in terms of interest- I’m still adamant on getting this project done- but that I’m actually feeling really lost in class. It’s not a good feeling 😦 I blame it on my having far too many activities- full time work, Macquarie University, and Polycademy all at once. But there’s no point crying over spilt milk, so I shall complete this reflection, and get back to working on my MVC. 

Week 5- Mon to Wed was still manageable. Monday, we covered some stuff on Database schemas and migrations. Basically this involved brainstorming what MySQL tables I would need in the database (for the app), and relating them to each other. The idea is- you would have a model for each table, and then when your website page requires to do something with the dynamic info, you would use the controller to call the model which in turns interacts with the database to Create, Read, Update or Delete (CRUD) records. So basically, I came up with some tables I’d need in the app, namely the user profile table, payments table, game data table, move log table, permissions group table, ratings table and chat log table. I’m pretty sure I missed out some that would be crucial, but I guess these 7 tables are more than enough to work with for now. After the database schema was completed, we implemented the tables into our actual database using this thing called Migrations. Roger explained that it was possible to simply go to PHPMyAdmin and add the tables manually, but the problem with doing that would be that when you want to change servers from say development to production, or in the future from one database to another, it would be a huge hassle inputting all the fields one by one again. The Migration capabilities of CodeIgniter really makes it much easier- all you have to do is to write your tables (migrations) in code using CI’s DBForge and ActiveRecords, and once you visit the migrations controller of your home page your database is updated to the latest migration. Way simpler than inputting everything manually again in PHPMyAdmin! Thought that was pretty cool.

Tuesday- We covered some concepts of stateless security- some elements of which included input validation (constraints, XSS/CSRF, Isolation and AJAX&CSRF), handling passwords and using SSL. It was quite complex but interesting stuff, learning about how hackers could potentially come to ruin your website. The mentality is that you have to assume that everyone coming to your website is here to be destructive, so you have to come up with ways to ensure these idiots don’t put your hard work to waste with a simple rm-rf function (!) Actually found the part about passport hashing and one-way encryption particularly intriguing -how a hacker would use brute force to try and break in, and how you would prevent it. In fact I was so interested in it that I spent 3 precious hours in the office today doing some research, going from one article to another trying to figure out how the notion of a one-way encryption was possible. For a while, I was like huh? If someone knows your encryption algorithm, can’t he just simply break it right away? But after reading some insightful articles (http://security.stackexchange.com/questions/11717/why-are-hash-functions-one-way-if-i-know-the-algorithm-why-cant-i-calculate-t), I understand it better now. 🙂 Really liked the simple but realistic example of say having two prime numbers, 10000019 and 9999991, and your algorithm is just to multiply them together to give 100000099999829. Even if a hacker knew this algorithm, and wanted to reverse engineer the two prime numbers, he would have to spend a fair amount of time to brute force it, testing number after to see if they were a factor! (i did something similar in my free time at projecteuler.net for fun). Imagine applying such an algorithm many many times – and the task of the hackers get much tougher. The adding of a salt further increases your security manyfold.

Wednesday- We started on stateful security, going through sessions, and using this library called IonAuth. This was still manageable, and I managed to understand the bulk of what Roger explained in class. We also learnt how to edit the .htaccess file so that we could access a http://www.example.com/index.php/home/controller by simply typing example.com/home/controller, making the url much more compact and pleasant! Another concept we went through was compression – the amount of space you can save is tremendous when you use gzip compression! So with compression, users can load your website faster, and you save money because you need less space to host your page.

Thursday and Friday, I basically just half listened in class because I got totally blown off my feet in the first hour of lecturing. Well to be fair, it wasn’t Roger’s teaching, more of I was dead tired and struggling to keep my eyes open. Then after missing the basics, I totally couldn’t catch up in the next hour/ day, so I pretty much just hecked and continuing catching up on my view/templating which I had missed out the previous week due to having to send my girlfriend to Sydney. It’s a vicious cycle really – once you’re behind, you can only get more behind. I’ve gone through this cycle way too many times in uni, and I know its not a good path to go down. 

Anyhow, didn’t get a chance to meet up with my mentor last weekend as he was in NZ (hope you had fun, Ross!), but looking forward to catching up with him this weekend and picking his brains on how to do some of this php stuff!

For now, got to get my models actually implemented, and catch up on the stuff I missed out in class on last Thurs and Fri, namely stateful security – including RESTFUL routing, which will be necessary to be REST compliant. Just hope I can get through this by Fri, leaving some time for me to catch up on this week’s material on the weekend. Not to mention having to spend at least 1 full day studying for the Macquarie Uni stuff. ARGH. 

Feeling this huge sense of inertia to actually get my models done, because i’m not sure how to do them at all. So I’ve been spending my time reading the wiki, and trying to understand. But ultimately I’ve got to get the MVCs done ASAP so I can use them in the client side programming starting next week. Perhaps friday I’ll spend the whole day focusing on doing that, while tomorrow I’ll try and finish the reading required. JIAYOU timwee!

seriously toying with the idea of getting my boss to approve me taking two weeks or so break. God knows how badly i need it. 

Week 4 of PolYcAdeMy

Posted: March 5, 2013 in Uncategorized

It’s been a long week. Again I find myself lagging behind- which is evident to all from my blogging on Tuesday of Week 5! Just thought I’d record some interesting things that happened today, even though I’m really supposed to be reflecting on the things I learnt last week. So, today… I was really tired driving to Polycademy from work, like to the extent that I was trying to powernap at every traffic light and awaking whenever I heard the Vroom Vroom of cars revving to accelerate. Anyhow, I was planning to drive to class, but somehow my mind totally didn’t register it, and I subconsciously drove towards home instead. Fortunately, I realised early enough and made a slight detour. Then I reached the NICTA offices, and I made a beeline for the lift. I totally forgot that the lift required an access card to work, and was thinking for a few moments why the level 5 button refused to stay lighted up. While I was still dazed, the other lift door opened, and a guy exclaimed “Hey Tim, what are you doing here?” I looked up an saw a colleague from work, and got quite disorientated for a bit. I was like “huh?”, did I just drive back to the office? Why am I seeing him here? LOL turned out he came here for a meeting with someone. So he left, and I continued to stone outside the lift. DING, the lift doors opened again and out came a stranger. “Hi, Tim”, he offered. This time I was totally stunned- who was he? I managed a weak “hey” when he asked “Are you here for the video conference?” Before I could say anything else, another guy sitting at the sofa walked over and shook his hand- The real Tim who was here for the conference. Haha the stranger in the lift must have mistook me for him because I was in business dress right outside the lift, as though waiting to be welcomed in.

OK, more about Week 4 (last week). Last week we started on PHP, basically focusing on the server side architecture. This was one of the parts I was looking forward to most, because I quite enjoy programming. But I soon found myself swept away by the pace. In 3 days, we skimmed through PHP syntax, using Codeigniter, Object Orientated Programming, the MVC, templating, and autoloading. I think what made it worse was the fact that I hadn’t managed to find the time to do the readings beforehand, so I was pretty lost in class. 

Then on Thursday, some quite horrible news came. My girlfriend’s grandmother had suddenly passed away. So I had to give class a miss on Thursday night, to accompany my gf. I also booked a flight for her to return back to Singapore on Friday immediately. So Friday I drove her to Sydney to catch her flight. The weekend was really hectic too, as I had to spend some time in Sydney. At least I managed to do some readings- up to the MVC bit, and some of databases section. But as the chinese saying goes “祸不单行” – bad things seem to come all at once. Basically, my Actuarial Part II classes at Macquarie University had started, and the workload was really crazy. I mean, I was prepared to have to study, but little did I expect to have to do assignments every week (!) Doing the readings required to do the assignments pretty much took up the rest of the weekend, and even part of monday in the office. It’s really getting tough.

So where I stand now: Still kinda behind the rest of the class, not having set up the templating and views. And kind of losing the energy to rush home after class to continue working. I could do it the first 4 weeks, but the sleep deprivation is sort of getting to me. ARGH i need some help, or some company to help me focus.

Hopefully the rest of this week goes better. Really looking forward to the weekend cuz it’s a long weekend. I need all the time I can get. Wish me the best of luck, because I need it. Back to read more about templating now. 

PS: I know this blog is getting really emo, but it really can’t be helped – it’ll be a miracle if I manage to pull through. But I must! Still loving all this, and really glad to be able to learn these skills 🙂

 

 

Week 3 Polycademy

Posted: February 26, 2013 in Uncategorized

So i forgot to write my weekly update last week. Was just too busy working on my app that I didn’t even have time for reflection! Then just yesterday I received a notification that a certain polyashemy.wordpress.com had been updated, and it occurred to me! (polyashemy is written by this dude in class called Ash, and he writes really humorously and pleasantly that I’m an avid follower of his blog now).

Anyway, to put things into context, I’ve just finished a gruelling 3.5h class on PHP. Today Roger lectured on Object Orientated Programming (OOP) and Model View Controller (MVC). It was extremely tough- especially since I didn’t have time yesterday to read the documentation so I could at best understand half of what he was teaching today. But anyway, that’s blog material for Week 4. What I wanted to say (… pause for dramatic effect…) was that I’m sooo busy that the only time I can spare to write this blog post, is after the 3.5h class, while waiting for my pizza order at Dominos (WOOT) now. I’ve been given an estimated waiting time of 15 min, so hopefully within that time I’ll be done reflecting on what progress I made last week. 

Okay, so back to Week 3. Last week we focused on learning HTML, CSS and LESS. We also used the HTML5 and Twitter Bootstrap frameworks (by downloading Initializr). Basically, HTML would allow us to enter the desired website content, while CSS (short for Cascading Style Sheets) would allow us to style the page- make it all pretty and such. LESS was a language extension to CSS which really simplified the writing of CSS code – with CSS alone we had to specify styles for every element individually, while with LESS, it works like a programming language- we could simply nest CSS elements within each other, and so some elements would inherit certain styles etc. It was pretty cool- all we had to do was to write LESS code, then use a program called SIMPLESS (or lessphp on cloud9) to convert the code into CSS. Then what HTML5 provided was a default spreadsheet with some default code embodying best practices, while Twitter Bootstrap provided alot of custom-made CSS styles – like premade carousels, modal-boxes etc. Indeed, Twitter Bootstrap really reduces the work of web designers ALOT, you can just use the custom stuff and tweak it some to give the look you want- so you don’t have to start from scratch! However,the trade-off involved is that your website could end up looking extremely like other websites which use the same template!

So we basically stepped straight into it, applying what we learnt directly into implementing our photoshop mockup into an actual webpage! It was very frustrating at times, especially when you spent half an hour on an element and couldn’t get it right. For the most bit, your website looks extremely horrible until you get everything right. I had a lot of problems particularly with the modal box and carousel, but I pretty much managed to smooth things out after many hours of arduous work. It’s really a huge sense of satisfaction when you finally get your website to look the way you wanted! Even learnt how to host my website- it’s currently hosted on Appfog: http://chessdimension.ap01.aws.af.cm/ At this point it’s not connected to my domain yet, just want to keep it private and low profile for now till I actually get it right, and put in real images instead of the placeholders I’m currently using.

Just so I remember, things that still need work are –

1) I’ve currently got placeholder images and logos on the website- these have to be exchanged for actual ones.

2) my modal box that launches on clicking the play button has been styled, but the register modal box is yet to be completed. I expect quite a few problems because I was unable to style the modal box by id, and simply used common classes – will need to figure out a way to distinguish the second modal box from the first, and apply new attributes to it! (still can’t figure out why my CSS code doesn’t work when i specify the modal id).

3) I tested the website on my huge desktop in the office today, and it appears that on a big screen, my content is not long enough, and the footer ends up being 4/5 down the page, leaving an extremely ugly white space below. Done some research on how to fix that (using this thing called sticky footers), and will have to implement that.

4) My website is currently not responsive – just resize it a bit and all kinds of holes start appearing – things shifting into weird positions, basically its a mess. i’ll have to find some time to fix that – we don’t have any more time allocated in class for website design, so it’ll prove a challenge to find the time to actually sit down and fix it all. 

Other than that, I think I’ve made good progress! Learning how to code a website within a week, is quite impressive (if I may say). While there can be loads of things to improve on, I guess I must draw the line. As my mentor Ross commented “You can spend days and months and years on CSS, to customise your stuff. But you shouldn’t get too carried away”. Words of wisdom.

Anyway, one last thing before I put down my pen (figuratively). Just a shoutout to Ross, if you’re reading this, thanks for being the best mentor ever! Really appreciate you taking your own time to help me research on how to make the chess board thing work! 🙂

OK, so that’s it from me for now. Just in case you’re interested, I’m already back home, munching on my pizza as I type. Got to watch some shows with my girlfriend before I go to bed, hopefully I manage to catch more than 5 hours of sleep tonight before another long day tomorrow. Will have to do some reading at the office just so I don’t get totally lost at class again tmr. 

<?php 
Echo “Over and Out”;
?>

On the bright side, I just wanted to say what a great mentor I have. Appreciate him spending a precious Saturday afternoon mentoring me. Thanks so very much, Ross! 🙂

Aside  —  Posted: February 16, 2013 in Uncategorized

just realised i still have to let a few people test drive this car i’m selling for my friend. ARGH. time is so precious now.

Aside  —  Posted: February 15, 2013 in Uncategorized

Week 2 of Polycademy was even more tiring than week 1 of Polycademy. I’ve even managed to clock a possible lifetime record of 41 hours without sleep spanning Thursday 7am – Sat 12am. It’s really getting crazy. Again the thing keeping me going is this great hope that so long as I pull through, everything will work out.

This week, we basically focused on creating a mock up of our app homepage in Photoshop. We took the wireframe iterated in Week 1, and actually designed what our website would exactly look like. I felt a little out of place- everyone else was taking their high def wireframes developed online using Moqups, whereas all I had was a rough wireframe done using pen and paper. My biggest problem is that I simply do not have enough time. I caught myself wishing for an extra 6 hours a day so I can actually work on this, but the reality stings. I’ve got a couple of major projects to do in my day job at ActewAGL, so I don’t have the luxury of studying during work hours. The couple of hours I have before bed and before work isn’t really sufficient for me to do much work on this project at all.

Anyway, so the 1st draft of my homepage is out.

websiteV2

There’s still a lot of things that need to be changed, but I think I’ll just leave it for now. Because as my boss reminds me at work, project management is all about Scope, Time, Cost. And with the limited time I have, I really don’t have the luxury of customising everything. At least this should work in allowing me to pick up the concepts in Week 3 about actually changing this mockup into an actual website.

But just in case I forget, this is what I need to change:

-The logo is just a placeholder, we need to design our own

-Need to rework colour scheme

-The icons for play and register look horrible

-Need to develop the next few slider pages

-Possibly make the words in the boxes more compact

Comments from my partners in the project also yield that I shouldn’t try to put too much stuff about how the app works on the front page, these can be put in a support page where people click to if they’re interested in finding out more. Instead, there should be more “persuasive, emotive words that grab attention”, things like “variety, convenience, fun, enjoyable new way to play, out of the world (hence the name dimension)”.

So that’s where I’ve got up to so far. Pretty proud of my myself for making it this far, but of course there is much to be improved, and I need to work on my time/result efficiency ratio. I guess it’s taking me much more time compared to the other guys with everything I design, because I previously already had so many “ideals” as to what I wanted it to look like. So I am trying to make it suit what I envision it to be. Plus the fact that I’m a perfectionist, makes it super time consuming. Really got to get into my head that this is NOT the end product, and that the important bit is getting through this so I can actually do some coding.

I really need to catch up. This week I somehow managed to pull through the photoshop bit WITHOUT any prior experience in photoshop, and only watching 20 minutes of video tutorials. But that’s NOT going to work out with the coding and scripting. So I’ve got to step it up.

I’ve got a LOT of reading and videos to do this weekend – got to get myself familiarised with HTML and CSS syntax, LESS syntax, get InitialZer installed AND export all my images from my Photoshop mockup. I’m allocating 14 hours arbitrarily to doing this, hopefully that is enough. Then I’ll have to start researching on my technology stack – things like game canvas, AJAX etc.

This two days are going to be jam-packed. Preliminarily, my plans are: 9am – 1pm -> readings. 2pm- 4pm -> meetup with my mentor Ross who’s very kindly already sent me some relevant material on transmitting and receiving data. 4pm – 7pm -> spend time with girlfriend. 7pm -> 11pm, more readings. Need to somehow fit in a squash exercise session somewhere too.

So there’s not a moment to lose. BACK TO WORK.

 

 

 

So the web design/development course here at Polycademy is now officially 9.090909% (1/11) complete. 10 more weeks to go to make my dream come true. Or at least a first iteration of it. I’m excited, and nervous at the same time.

This week was, to say the least, a crazy week.

1) Monday

Monday started off normally. I lazed to work as usual at 9.15am. (Most people in the office start around 8.30am – 9am, but my boss was pretty flexible with me, allowing me to follow a come late leave late scheme). I was working on this project (still am) that I totally detested – 1) I didn’t know how to do it, 2) my boss didn’t know how to do it, 3) we didn’t have enough data to do it. I found it a total waste of time, so I ended up spending more time on w3schools.com trying to learn some HTML and CSS. I had just had a major discussion with my fellow partners on Saturday and simply couldn’t think of anything else. And I was waiting for a reply from the founder of Polycademy, Roger Qiu, who I had PMed on facebook. Simply put, I was frustrated. Monday night, Roger replied, telling me I could come and sit in class on Tues before I decided if I wanted to join. I was elated.

2) Tuesday

Tuesday, I barely did any work in the office. I managed maybe 2h of productive work, while spending the rest of the time rereading the Polycademy website, looking at other web development related websites and basically just being unproductive. Had I known how taxing the rest of the week would be, I might have just taken an afternoon nap. Time passed really slowly, but finally it was 5pm. I rushed home, packed my laptop into my backpack, and off I went to Polycademy. 5.55pm – I parked my car outside the glass building where Polycademy was located (according to the website). I smiled to myself- I managed to make it on time. But then I realised the building was in lockdown mode. I got a little frustrated, but finally found a break when someone opened the door to leave the building. I dashed in before the door shut and entered the lift. Dang, the lift buttons required card activation too. I was getting desperate. I climbed up the stairs, hoping to get to the fifth floor without further complications, but at the 3rd floor my progress was hindered by an access door. I almost decided to leave.

The turning point came when I succeeded in finding Roger’s phone number on his facebook profile. In a jiffy, I was upstairs in Room 570. I met Ash, Matt and Phuong who were also taking the course, and Maria, who helps with the admin. Everyone was really friendly and I soon felt comfortable. Roger did a pretty good job teaching, getting us to come up with ideas for apps, develop the ideas, and think of the workflows. Each of us would be developing an app by the end of the course. I was probably the only one who had the end product decided even before any brainstorming. But the others came up with very interesting ideas as well. We then figured out the technology stacks we would each require to make our apps work, and discussed that in some detail. I remember being impressed how Roger seemed to know everything – what javascript code could be used to come up with what effect, etc.

Time flew and 9.30pm soon came. It was time for me to make a decision, whether after this trial lesson I would take up the course. Honestly, it was a bit of a struggle. I had two major concerns. The first was that I was working full time, and I was unsure if I could get the most value out of the course if I didn’t have enough time to practice and do readings everyday (especially since this is a highly intensive course that runs all weekdays). Moreover, 11 weeks seemed like a terribly short time for me to come up with a first draft of my app, not to mention learning how to code in many different languages. I wasn’t sure if I could cope, or if my partners could keep in pace. The second concern was … money. The course fees weren’t expensive at all compared to DevBootCamp and other comparable courses, but for someone who just started working rather recently (in 2012) and supporting 2 people, it wouldn’t be easy. Not even if I took up the option of weekly payment instead of lump sum. I was kind of torn apart. My mind told me- “Be practical, you can’t afford the time nor the money.”, but my heart was longing to just jump in, throw all cautions to the wind, and actually do what I had dreamed about. After talking to Roger about a few more details, I finally jumped into the deep end. My heart had won the battle. 

 

3) Wed, Thurs, Fri

The last three days were some of the most exhausting of my life. Of the last 72 hours, I barely spent 12 hours asleep. Which is OK if you’re lazing around, meeting friends, having fun but SO EXHAUSTING if you’re working 8.30am-5pm, going for class 6pm-10pm, spending time with your girlfriend from 10pm- 1am, and waking up early to read the course material at 7am. Oh and not to mention skipping lunch so you get more time at the office to download the relevant programs. The only thing I looked forward to was the 6-9pm class, where I could amass more knowledge about Web Design/ Development. I found that I wasn’t interested in it simply for my app, but also because I liked it. Much more than doing some stat analysis using rubbish data. If only I could change work fields and work in the web design industry. But I seriously doubt that would be met with much parental support. 

I must say I learnt a lot in this 3 days, even though I didn’t really get to do any programming yet (which is the part I’m looking forward to most). I figured whatever I thought I knew was essentially nothing. There were so many terms in the course notes that I had to google, and look up wikipedia for. Even after I had read everything the worldwide web had to offer on it, I was still kind of lost. Terms like SSH, WAMP, FTP, AJAX, JSON. I mean, I had a rough idea what they were, but how they fit into web design, I was clueless. Well, at least I’m slowly getting familiarised with the terms and hopefully by the end of the course I’ll be able to use everything.

Class was pretty informative as well, and we were inducted into the world of design theory (user experience) on Wednesday and Thursday. I was fascinated how there was so much theory on things like colour, font etc. which could make your website as attractive as possible! Today (Friday) we did user interfaces. What particularly interested me was the idea of fluid design – making sure your website can be suited to various browser sizes; and progressive enhancement/ graceful degradation – making sure your website can be suited to different versions of browers. One insightful comment that Roger made though, was the idea of “effort vs reward”, and the need to sometimes cut some users off (for e.g. if they’re still running Internet Explorer 6, which is outdated by like 10 years now). The other thing that I really pricked my ears up for was the discussion on AJAX, and how that can be used to load content into a webpage dynamically without the need for refreshing. (e.g. Facebook where more posts are loaded automatically when you scroll down). My chess app would have to use something like that, because we can’t have players refreshing the board to keep checking for moves. 

So that pretty much sums up Week 1 at Polycademy. I’m pretty behind in terms of coursework, and I’ll have to do quite a fair bit of catching up on the weekend. I can only hope I’ll be able to, because this weekend is Chinese New Year and my girlfriend’s cousin is here to stay. Hopefully I can manage to strike a balance – complete all my readings, installations, and user interface iterations, while also being a good host. Tomorrow already seems packed. 9am – Farmer’s market. Hopefully get started on work by 10.30, until maybe 4pm, at which time I’ll probably go for the multicultural festival in Civic, either with Roger and Maria and co., or with my gf and her cousin. Then there’s the meetup with mentors which i’m really looking forward to at tongue and groove until 7.30, and then CNY reunion steamboat dinner at home. Probably will have to play some games after that. So I will really have to make full use of that 5.5 hour stretch in the afternoon. 

It’s really a race against time. I need to find a way to better manage my time, because this sleep deprivation can’t continue. The only thing that’s kept me alive this week is that burning passion. OK I had better go to bed now, my eyes are closing.

 

PS: One thing I’m really happy about though, is the company I get from being in Polycademy. It’s been really lonely the last 8 months, with all of my friends graduating and leaving Canberra. It’s soooo good to finally have people to chat with and hang out with again. *falls asleep smiling*