Saturday 12 November 2011

CS3216

First, I'd like to say that CS3216 is a really wonderful class. It teaches so much in so many areas. We learn about technical stuff, get to meet successful people and most importantly, we get free, valuable life lessons. The last fact alone makes this class worth every moment.

Technical stuff:
Theres just so so much prospects for web developers, and this class really embraces this fact. I'm really grateful for the opportunities to learn the new web dev technologies available out there such as HTML5 Ajax and stuff. To be honest, I'd had some prior experience, but never this extensive. The 3 assignments really put to test these skills, and through that we have practiced, improved and learnt new things with every feature we implemented. Some stuff that i really learnt from this class were RESTful, FB app integration etc. I'd wanted to explore them myself before, but wasnt successful, until we received help from the manuals and some of the TAs, (thanks Eldwin). Some of the stuff were too technical, lol, like the lecture given by Zit Seng. Good for general knowledge though :). Thats what i liked about this class, theres so much exposure.

Meeting successful people:
Really, how many opportunities do you get to meet and talk with a millionaire?  Its not everday that we get to see one, much less interact with them. On top of that, these successful people are all willing to share their success stories and tried methods about what they did, how did they do it etc. Most importantly, they also shared what they did wrong. So that we may avoid walking into the same traps. People pay lots for opportunities like that, and they are given free here. right in this class. You cant get them anywhere else. Key takeaway: Perseverance goes a long way.

Life Lessons:
From the prof himself. I've always liked listening to life stories. No matter who it is talking, you can always get somethin out of it. Well i can't say I agree totally with him about everything, but I'd definitely keep them in mind. I do agree that life, on the whole, seems to be getting better, but really isnt. Because of technology, life has improved, but also because of that life becomes more complicated- theres much more competition and theres so much more to do just to catchup to times. Gone are the good ole days where we can sit back and relax and gaze at the stars. Cavemen didnt have to slog through a rat race just to get food on the table. BUT, cavemen didnt have cars, and cavemen didnt have medicine. Theres always the good and the bad. And i know its going to get worse too. There might be a shortage of jobs because of too many qualified people. There might be a day when oil runs out and technology dies. But theres so many new TYPES of jobs appearing. And theres so many breakthroughs on energy technologies that people are rumouring that its being hidden and tabooed by the oil dealers for fear of going out of business. It just might be true. No matter what, things WILL happen and things WILL change. We just gotta learn to embrace it.

Key takeaway:
I'd have to say its definitely the chance of having worked in what I believe to be an ace team. We had the best marketer(JH), best designer(YS) and the best coder(XY). Me? Hmm.. just a mediocre i guess - i did some coding. It was really great working with these guys. I know every team has communication problems, but this team had none. Everyone was always willing to compromise. The team just synergised. And everyone was really good at what they do! To be honest, I was a little apprehensive of having a designer on the team. I couldnt see any value - I've never been more wrong lol. Our app is where it is because of him, because of his designs. And i believe the other 2 would agree that YS was the one that contributed the most.

Afterthoughts:
My first thoughts when taking this class was - Its called "Software Engineering on evolving platforms" so i should be expecting alot of technical stuff, like Obj-C, C#, JS lessons etc. Thats how Engineering classes usually are. The content is heavy and we get examined on that. So in the first few weeks when all we got were like workshops and talks from various people - no content lectures - i was disappointed. Now i know i'm wrong. I've come to realise that its not so much the technicalities in Software Engineering. Theres so much more involved Blah i dunno how to put it, but technical stuff is barely 10% of it, and this class is really explaining the other 90%. It was a paradigm shift for me, and I am thankful for it.

Wednesday 2 November 2011

The last lap

The semester is finally coming to an end. Everyone is especially busy around this time. Projects would be due, typically in 2 weeks or so. I've got 3 projects due this week myself, but I guess i'm still doin fine. Last week was PE2 for CS1010, and it took me close to 10 hours to finally complete grading the scripts. That was took way longer than expected and I've fallen behind schedule for my tasks.

These past two weeks had been like a roller coaster ride. My capstone project died,lived, then died and lived again. LEDs can stop functioning during a demo. After almost 5 hours of debugging we find the wrongly wired pin (how did it work in the first place i wonder). Managed to revive it, while blowing 6 latches in the process. Then suddenly, it started to cough and choke, and died again. Another 2 hours of debugging to find out the uP blew.

Well we learn stuff both ways. When I thought that I was 99.9% sure that the hardware is correct, and believed that it was heaven's will going against me preventing it from working, I learnt that it really is that 0.1% in reality. That was a harsh reality check for me: whatever can go wrong, will go wrong. Murhpys law. Another thing i thought was well, 2 wrongs really can make one right! lol

Of course, when things are working (finally), we are happy. for awhile. Cuz we look around and realised that we are sooooo far behind all the other teams. Just thinking about how we might end up the only group that won't finish gave me the jitters and made me lose sleep. Spent the next 2 weeks at the lab, literally whenever it was open and whenever we could. I dunno if this can be considered learning something but, but i realised this. Hardwork DOES pay off. Becuase we are once again on track, possibly even ahead. Cheers ;)

That was 3002. Theres still 3207. Computer architecture. More like computer anatomy, lol. Through that i really learnt something, not just academically. What do you do when your project mate cant deliver. It's really difficult to handle, and i believe at some point in life we would expect to encounter such a situation at least once. Well, for me its a first time and it was frustrating, because without his part we wouldnt be able to proceed. He showed up at the lab, not having made any progress since week 5 (it was week 10 btw). I was like, thats it we're screwed. I really wanted to curse and swear but didnt(luckily) because he was a friend of a close friend lol. Grit my teeth, spent the next 3 hours which was supposed to be for the next part of the project, helping him finish his part. Well, i guess its not so bad, cuz when you do more you learn more. Finally. Was i angry? Not really, more disappointed rather. Like i said, roller coaster ride

So now i've finally got time to come writing this blog. I know i shouldnt be writing about these, but whatever, its a blog.  And for the past 2 weeks, its what i've been experience and learning. As for 3216, we thought things were going steady. Final project seems to be progressing smoothly as well, we managed to clear out the presentation, and we seem to be receiving some good responses. We're still thinking of implementing a few other features, some small and some key ones.

Aside from final P, we had 2 very cool lectures. The first lecture was given by successful local entrepreneurs. I particularly liked Jay, lol. Like when he said, "I'm telling you these figures not so that I can showoff, but so that you can start taking me abit more seriously". I LOLed at that haha. But then it made me realise how cynical i was =/. They were all pretty established speakers, easily in the millions range. Successful entrepreneurs that most of us would like to be in the position of. Listening to all their stories, i found that some of the cases can be reproduced, while some of them are probably not reproducible. Street Sine for example. No doubt the tech support was important in the success, I strongly believe that bulk of the credit would go to the marketer. I mean, being able to convince all the players in a field as competitive as real estate to compromise and share information openly on their platform, that to me is not reproducible.

After the lecture, we had to privilege to chat up with some of the presenters and one which was RedSports. They have close to a 400k user base, which grew from only less than 5 years. Definitely amazing, but after the conversation I kinda felt that the context was rather different. For red sports, his primary concern was the delivery of sports news, and has less to do with technology or app scalability. We did realise that our app(betterme) can sort of relate to it, because it sorta involves teaching, so it could possibly involve schools. We learnt Mr RedSports' (whose name has unfortunately escaped me) story. Of how he first began, and how he managed to become the 'unofficial' sports reporter for singapore schools. Dedication is one thing we definitely need to learn from this guy. Next we managed to steal a few moments with developers of Mobdis (pardon my bad memory with names). They were really kind and I was very grateful to them for sharing their startup tips so humbly. If I ever were to begin an entrepreneurship, I'd have saved myself alot of time thanks to his tips. I also picked up some advice from him. Also, I'd been using Malls@SG for quite sometime now, and only then i realised that it was an amazing solo volunteer's work, and that amazing person stood right before me.

This mondays presentation. I just stood there like a block, but oh well I'm not complaining. I know presentation is my weakness, and I'd really like to overcome it. But this presentation is important, because we need to sell our app well and I'll definitely not be able to do it. I must say, I really felt Yong Shen did a very good job. Aside from our app, I finally got to see what all the other groups have been doing. Everyone's projects were interesting, especially 'Letters to Amanada'. It could be due to the fact that the presenter (Zul?) was just amazing and managed to capture my attention throughout his presentation. Cabs.sg was also another decent idea. It won't fail, because  premeire is gonna need an app to compete ;) Then theres' touch appetit(sp?), already clinched a deal. Amazing

I'm really grateful for having such wonderful teammates. (Really). I'd like to think we make a pretty good combination. Like in games, you'd need a tank, a nuker and a stunner/CCer. Basically you need to have a good setup, and that was what we had. Theres hardly any conflict and the workload is spread out very evenly. No matter what happens for the outcome, I'd always remember the experience of being in this group. to my mates: The last lap liao CHIONG AH! Betterme FTW :)

Thursday 20 October 2011

FP Ch2 n stuff

This past 2 weeks have been nothing less than hectic. Stress levels are approaching critical limits and everyone's barely hanging in there. Despite that, the team remains motivated and are sticking to the appointed deadlines, which is great.

Our prototype's almost done up. With an extremely competent designer (Yong Shen) in our party, the UI designs are on a completely different level from the projects i did before. I hope this would make our app appeal to many more people. I am convinced of how important having a good designer in a team is. 

Somethings i learned thus far are how important it is to have good team synergy. Having a good designer to work out all the UI aspects, coders have a much easier time just implementing the required design specifications. And it makes it so much easier knowing that the designs came from reliable hands. No need to worry about rejection lol. Also, having a dedicated designer means no disputes between coders on aesthetics. 

Of course, with such good UI we must not disappoint on the features and functionalities. Our team has not really come up with a complete scope for features yet, but the simple functionalities are already available. Even for features, we need to count on our very valuable, overworked designer, lol. Working with more competent coders are also great and theres so much to learn. XY is just amazing. He can code faster on that little Vaio toy =x. 

Try out our app :). Better you better everyone :)
http://vickyhuttons.com/betterme

Past 2 weeks' lectures had been very insightful. It got me to think about the importance of scaling in an application. This aspect is as important if not more, than the UI or any other. The materials covered by Mr Lai were very technical and probably too deep for the audience, myself included. It really did get me to appreciate the operations going on beneath the OS layer. In fact, as a computer engineer i can sort of relate to some of the topics, but i'd still be a long away from being an expert. 

The other lecture covered by Mr Chiang was also another aspect that i'd been exploring - computer security. He covered some examples of simple SQL injection (but don't really work nowadays lol). I guess they don't and will never teach you stuff like that directly. The lecture also did get me to appreciate the importance of security in our applications. I did wish he would share more examples of security bypassing though, that would've been really helpful, hehehe


Friday 7 October 2011

FP stage 1..

We're finally at the final project. The time just passed so quickly, it feels surreal. It feels like just last week when we made a decision to enter this class to achieve our dreams lol. 

Brainstorming for ideas was itself a huge obstacle. Until now we have not actually settled on a fixed direction. We're still figuring out which way to go. There were a number of ways, and some of em were really interesting. Initially, JH and i wanted to refine our BTDT idea. Then we got to Timeline. Then Events, and then, and then and then. I realized that, more important than coming up with a good idea, is to know how to sell the idea.

Until this monday's consultation, we were still going around in circles. The team seemed to have settled on Choices. The rationale behind the app is definitely remarkable. However, it seemed that we did not put enough consideration in its practicality. Big mistake there. So back into the jungle we go..

Through our app, we hope to bring back some of the traditional values that appears to be lost in the newer generations. Society has definitely changed a lot in the last couple of decades, mostly due to the tech advances and whatnot. We feel that people seem to be paying less attention to things like respecting the elderly or the need to be considerate to others etc. We think we have found a good problem statement. But how to go about solving it? Is it even possible, hmm. Well if it isn't as a whole, maybe we could break it into many processes to eventually achieve the goals. So, finally we have - Better Me (haha the name's not finalized :P). It would be the first step, and there are many changes to the original idea that we hope would overcome the practicality issues faced before.

Things I've managed to take away. 
Before, to me app development was just: identify a problem, write a good program. 
Now its: identify a good problem, prepare a good marketing proposal, think of ways to solve the problem, write a simple but interactive program.
Programming is still important, but it really makes up barely 20% of the package. It's beginning to piece together now, why this software engineering course does not have any technical lectures or tutorials, its so different from my other engineering courses. Perhaps i'd been a little slow, but i think I'm finally learning how to learn.

Monday 26 September 2011

Blog, my real thoughts

I've just received the peer appraisals. Normally I wouldn't read stuff like that. I mean, way I see it, judging people is.. not very nice. You wouldn't know what the heck is going on in some one else's life unless you've walked in their shoes. But what prof mentioned is also right, the most important thing we should learn about is ourselves and this is the best opportunity to do so.

Actually, a big part of it was because I was afraid of what would be in there. I mean, I do have a vague idea of my weaknesses, and having someone else throw it at your face is not something I exactly look forward to. Well after reading them, I was really blown away. I definitely learnt alot from there. Thank you all that wrote in it, I'll definitely make an effort to work on the points I was lacking. As for the good points, I "tried" not to read it but something really interesting caught my eye and I couldn't escape it. That little part really did brighten up my day. Thank you (whomever) very much for that! Even though you prolly didn't mean it lol

This past week finally concluded our mobile app. I'm really excited about this and I totally enjoyed every moment of it. I would like to think that this app was really quite nicely done, and I'd really like to thank my team members from the bottom of my heart. Qing Wei came up with a prototype even before our second meeting and that really got us fired up. I used to think, you can't be an engineer and a designer at the same time. Not that well at least. Shaohuan definitely proved me wrong there. Lastly, biggest thanks to Leon. This guy is simply the unix god. I learnt so much from this guy.

At some point, I got really disappointed with this course. I thought this course would have lectures covering technical stuff, with tutorials each week to help pick up a skill. So at some point I got really bored and foul. I thought it was a mistake to have enrolled. Well, turns out I did make a mistake - I thought I wouldn't learn anything but really I am learning so so much. I just didn't expect it, because it wasn't directly from the prof. Learning from peers. There are so many significant advantages. You can argue with peers, win and convince them how wonderful your ideas and methods are (hardly in my case), or lose and be blown away by amazing methods they use, at the same time learning about the weaknesses of your own. It was especially the case for my team, where all four of us were considered programmers. 

This method of learning is definitely my first experience and I must say it is a.m.a.z.I.ng. Can't say I'm enjoying it but it's definitely worthwhile. Also, though it sounds like I'm trying to curry favor, I think only a brilliant person can come up with a brilliant method like such.

So this week's lecture is about the 2 case studies. The first one was on the emphasis of GUI and apparently the first team supposedly did a 'bad' job, and we are supposed to criticize it. How 'kind'. I must say that I really admire the two people that presented. Chin Su Yuen and Kent Nguyen (it rhymes). Standing in front of public audience and opening themselves to criticism like that. I know I wouldn't be able to do that for sure. I don't like people rubbing in my sensitive patches but that's just me. I personally think that the GUI was not that bad?! Okay what..! My BTDT seems to pale in comparison.. Oops.
Then again I was never the designer type. All the while, I was looking more at the implementation and that is really really well done IMO. It really pains me when they said they decided to reduce from 20 over features to just 4 simple features, just to make it more 'design fit'. If I were a programmer on that team, I would be really heart broken. And the fact they could redo the app in 24 hours shows how amazing the developer team is. IMHO, design is something really objective. If too much stuff and features means bad, then what about IVLE? (I'm not saying IVLE was done badly)

Case study two. A business guy for a leader is something that I definitely won't agree on, even if I am the only programmer. It takes more than just talk and business sense to be a leader.  There's a reason why 2LT needs to go through 9months of hellish training to get commissioned. It's for a very good reason. And if a business guy leader were to come and tell me hey why didn't you get this or that done, I'd be really pissed lol. When something doesn't get done, help them, or if you can't, don't make it worse. That's the policy I follow.
Always solve the problem at hand first, then worry about other stuff later. One of the phrase I felt strongly against was where it said "serene and I were so....., the programmers just couldn't deliver" - or something like that. If I were that programmer and if I had been working my ass off to receive something like that, I would pop. The person who wrote that just showed me how selfish a person he is. Wow.

Well I feel that I'm getting more agitated on that topic so i'm gonna switch. My macs acting up again, damn it's only 3 months old. Argh.
There were some good points too I picked from the presentation. Team first or idea first? I hadn't ever thought that deep into that, but it's interesting. How it works both ways. But for me it's pretty much team first. It's like prof said, like marriage. Ideas can be developed much easier than bonds IMO.

Sunday 18 September 2011

Get Help

Wow I didn't know such an app existed? I totally agree with the problem they envisioned. We may have hundred(s) of friends but we won't know who to look for when we need help. Neither do we know when a friend is in particular need of help on a certain issue. A friend in need is a friend indeed.

I thought the screenshots of the initial version looked pretty decent. It was quite a bunch to see, but I felt that there weren't any really unnecessary stuff. There were a lot of functionalities implemented which is pretty cool. As for user experience, I like how easy it is for a user to create a new project request. What could have been done perhaps was to separate the process into stages so that the input fields wouldn't be so cluttered. Otherwise, the design was okay, if not perhaps needed some improvement.

One of the functionalities was to let users choose the audience for the request. The implementation would have been difficult, and the developers must have took a great deal of time in getting it to perfection.
Its definitely needed and they have done a good job implementing it. However sometimes too much functionalities might not really mean a good thing. People like choices, but dislike choices. Especially when the choices are not self explanatory. Like: what is "Post to all my friends" and yet, "No! show only reliable people" ? probably a glitch lol.

I guess the way it works is that it sends a feed to your friends' walls when you push a request. That would be a problem because its hard to monitor walls sometimes and important information would easily slip us by when we do not pay attention at the particular moment. So i guess the developers decided to implement SMS feeds, but wouldn't that turn out too costly?

Perhaps a really minor issue would be the alignment of the input fields. I believe the improved version would have been much more appealing.

Overall, i feel the UI was the one that pulled the score down. Too much words, and the uneven sizes of words and icons makes it look rather unappealing. The idea behind the app was really great and could have brought in so much more social interaction. But even good ideas might not work out. It seems nowadays that its either of the 2: it snowballs and you can't stop it even if u want to, or it never gets enough popularity ever. 

Wednesday 14 September 2011

Here and now

Oops its been like 3 weeks since my last blog. I totally forgot about this.

A lot has happened this last 3 weeks, FB app was finally over and we are onto mobile apps. From FB App, I realized how easy it was really to integrate an app with Facebook lol. So now for every new project I do, I tend to set up FB utilities first. Even if I don't use any information, allowing users to login and see their own info is already pretty awesome. At least to me it was lol, until I learnt how to do it. And Google analytics, its so easy why not.

I'd probably spend some time after the term to explore Twitter and Google+ APIs, since that seems to be the norm for all websites now. And maybe yahoo and bing analytics(if it exists).

Also, working on this app has given me an experience like no other. All through out school, I have never worked on a project like this, or worked on any project in this manner. A project that is actually to be launched and seen by the public. And the deadlines, whew. It was thrilling. In between, we had some good times and some bad times. Our group grew closer, i felt. Spending so many days and nights coding (sometimes through the night). We shared the pressures of the deadlines, and the fulfillment in the completion.

We did have some rough times as well. To my group members if you're reading this, I hope we can get over it as theres nothing personal to it.

Its been about 2weeks since we kicked off on mobile apps. The feeling is quite similar. I realized that creating a mobile application is really not so difficult. I used to download sample programs on objective-c to try and understand them while i was trying to explore on my own, but lol. I didn't realize that creating a mobile app can be as simple as using a webpage. So thats definitely a huge takeaway! Also, I've been experimenting on the free frameworks and I realized that most required functionalities can be implemented rather easily. The really important thing here is the idea and well, I hope our idea works out.

Another thing I've learnt so far is on REST API. I spent 3 whole days thinking about its implementation. Like how to create a clean URL. Implementing SQL queries is not difficult, but how do you make it RESTful? In particular, how does one create a clean URL interface for quering like graph api does it? I searched for days for the answer!!! And got nothing.
I was finally shone the light by Eldwin (thank you man). This, i wouldn't have learnt if not for this course.
Who would've thought it was a hidden url-redirect that maps a clean URL to a ?var dirty URL? I don't think i'd ever think of that lol.

A couple of days ago we also had a rather distinguished guest over. Milton Chen, CTO of VSee, came down and shared with us some of his experiences, as well as his video conferencing software. At first glance, he really didn't seem like much(sorry). And the app, well - its just another video conferring tool. Until he said it was running on 3G. That got me. I don't do video conferencing a lot, but I know how unsmooth it usually is, even with a good broadband. My team did VNC Viewer for FBSeminar, and to be absolutely honest, VNC Viewer was terrible. The delays make me never want to use it ever.
So when i saw VSee and how smooth it was, I realized the difference. This wasn't just ANOTHER video conferencing tool.

Also I've heard of CISCO telecasts and their amazing clarity, its as if the other person is right in front of you. I've also heard of their exorbitant rates. So I'm looking forward to when VSee brings their telecast technologies to NUS.

The stuff Milton shared, well i only managed to catch a few points. Particularly one that struck a chord was when he said we can't achieve everything. Go back and think of a few things that you always wanted to do, and think about not doing them. You'll be fine, was what he said. Hey, I agree with this. Not because I am a slacker (i really am) but because its true. I mean, Milton himself, a workaholic, is saying this. The underlying message is not to discourage, but really more like, i feel, to learn to give up certain things in life. It's absolutely necessary. Like they say, aim for the stars so you land on the clouds. You can't have everything in life. Of course, if you don't fight then you would have nothing (i know that, were you gonna say it? :) ).

Then the talk got a little... hmm, touchy? Relationships and stuff.. lol

Alright, better get back to working on app.

Tuesday 30 August 2011

PeKay's Little Author

This presentation was actually the first time I had heard of this application. So in order to get familiarized, i decided to go ahead and try it myself. This app apparently originated from Japan, which i thought was really cool. It has some really cool features and the UI is really cute. Users can basically create little story books and share them across the board with other users of the application. Last I saw, the app has about 127 monthly users, which is not a lot but still significant. I was also amazed at the depth of implementation of the app. 

Initially I thought it would be a flash plugin, but actually it really is all HTML and javascript. That's pretty amazing to me, as the implementation is definitely not something trivial.

The presenting team did a wonderful job with the presentation. I found it really engaging and the layout of the slides were very attractive and really relates to the application. They also brought up a number of points which i agree with, one of which was the interactive UI of the application, particularly the drag and drop feature. This makes it really appealing for kids (thats what they usually like to do right?). In applications like this, I feel the UI can be considered more important than any functionality. There would hardly be a point in implementing many features if the targeted audience didn't know how to use em. And honestly, I have never really given much thoughts about UI until now so I guess I have a lot of catching up to do.

Another point that really got my attention during the presentation was that the app seems to behave like two different entities on Facebook and the iPad. I wasn't really sure what that meant as I don't have it on my iPad to try it out. My guess is that it is still under implementation and it's likely that users will then be able to view books created on their Facebook accounts on their iPads. This kind of situation, to me, is really confusing? lol. I feel that developers should have focussed on setting up the integration before launching or the effects might actually be detrimental. Just my 2c =/.

The group also pointed out the possibility of implementing more sophistication targeted at a wider age group. The purpose of the app seems to be for social networking and encouraging wider social interactions for children. Children can design personal story books to share with other children. For older users, perhaps the idea of sharing books could also be attractive. Currently, its possible to share photos, albums or events, so perhaps sharing a book should not be so surprising. In fact, it might even take social interaction to a whole new level. Imagine sharing your albums in the form of a book, dragging and dropping your pictures and putting text by the side. Books shared can also be about experience and expertise, anything. That would be cool to me. Though, I think youths in the age group of 13-18 would probably find DotA more engaging. 

So, my thoughts for this application - well it is targeted for kids, so it's really kinda hard for me to relate to it. I did manage to create one book though, and I found the process rather, hmm .. 'okay'. It wasn't that boring (which was what i expected, sorry). But I can see how an app like this would be appealing to children. Its pretty much human nature to want to share stuff, like to recommend a good experience, or to advice against bad ones. For children, this would be more apparent as they would have less tendency to wanna keep things secret? haha. Anyway, I'm guessing this is the direction that this particular app is heading. A medium thats dedicated for children to share.

But really, is this feasible? As pointed out in the presentation, the age limitation for users of Facebook seems to go against this very purpose. On top of that, very few kids around the intended age group would actually understand how to use the app properly. The UI is good, but is still not so trivial that a kid could use.

After really looking into this application, I have also come to realize that the market targeted at kids is actually quite remarkable. There are so many apps aimed at children (i mean in the case of the iPad) and some of them have really good responses. Parents nowadays might want to let their children become more tech savvy by exposing them to such applications on the iPad as early as possible. I've never seriously considered this area of the market, but now i know its definitely worth investing time in.

Just my 2c, and i sincerely apologize for any offense made.. ^^;




Friday 26 August 2011

HTML5

So the buzz this week is about HTML5. The features that caught my interests in particular are:
1) <video>
2) <audio>
3) <canvas> maybe?

Video. Awesome (because i don't know flash and am too lazy to learn about it). Its intuitive. just point it to a certain video file in your server and that should be all thats needed.

Audio. Same as above.

Canvas. This one was interesting. The potential of such a tool is too great to imagine.  For one that i can think of is fancy shaped divs. How i think it could be done :
1) Draw a large canvas area
2) Draw the shapes and use javascript to reference them as objects or DOM objects.
3) Allocate the div certain event listeners.

Imagine having a non-flash world map element divided into continents and being able to program those continents for various effects! (thoughts for a project that i am working on)

Other things that came with HTML5 are supposedly newer JS functions and CSS3. I don't know yet but I usually search for a functionality that i need on the internet or on jQuery. So far I've been able to get most of em easily, i don't know if they were JS from HTML5 or not. Or perhaps it referred to the new functions made to handle the canvas elements, which is a pretty huge framework from what i saw while exploring the tutorial. As for CSS3, I've actually been using them since some time back. and i didn't even realize that it was CSS3, lol.

Now for some doubts. From what i have understood so far, there are various ways to program stuff on iOS. Some are Xcode (which i have but am noob at), objective-C (no experience), or HTML5. So, that means within the core, an iOS is able to render HTML5? Will JS/CSS will be in as well?
Does it mean that Safari App actually uses the innate HTML parsing, but simply with the ability to point to other URLs? Really looking forward to some trial runs soon.

Finally, as a close heres some food for thought: Who initiated the development for HTML5?

APPLE (:


Friday 19 August 2011

Back to SChool

Finally back. Already the third day in fact, but been too caught up in catching up. I mean, like wow.

Missing the first 2 weeks of curriculum didn't seem much to me. I thought it'd be mostly intro lectures like it had always been for the past 4 sems of experience. But no. It didn't occur to me that this time, the first 2 weeks can be considered the most important?  Because its this time that u try to form groups, which will be with you throughout the entire course line -- AND ultimately determine your fate. Twas kinda late that i realized that.

Having said that, I am really thankful of my group mates who were kind enough to take me in. I mean, even I know how bad it would look when you don't even show up for 2 lectures or can't attend group meetings. I'm not proud of it, but please believe me that it was not the outcome that i had wished for. Im really really thankful for the understanding shown to me by these good people. I know it hadn't been easy on them, and I will make it up to them.

Its finally the weekend, and the pace is slowed down a little. Finally less admin issues and requirements (except for 2 minus this one blogs which I'm behind for). Project group assignments, tutorials and tutorings are done too. So whats next? hopefully rest? haha. FBAssignment =/

Well this assignment experience has been, pardon my poor ability in expression, like a roller coaster ride. When things work out or when your animations turn out like the way u want them to, morale goes sky high. You keep coding for the next 3 hours. But when things don't turn out the way you want em to, div box aint showing the correct format, queries returning rubbish, morale goes ground zero. You spend the next 5 hours figuring out whats wrong. And so on. The result? A tired, but satisfied coder. lol

Then theres disagreements. Put in a nice way that is. Sometimes things aren't so nice though. We argue, i think every group does. and that sucks. I want things done my way, you want them yours, well.....so how?
It can be hard to appease everyone. I just hope that at the end of the day, they realize its nothing personal. I still like them as friends.

Coded from 12pm yesterday till 10am today. The original intention was to code through the night and attend the seminar, but guess the mind is just too weak. Actually, the body was weaker lol.

Enough rambling for now, gonna get some z's. Continuing the discussion online later at night.

To be continued (:


Saturday 30 July 2011

Be cool. Be a developer.

The age of technology has arrived, no doubt. The emphasis on IT is definite. Nowadays, IT speaks with more weight than any other industry. People make informed decisions on political affairs; stocks and banks compete for the edge in better software technology; the implication of the word "Netizens"; and so on. Seeing all these, especially the development of the internet and hardware (remember back when Nokia 8250 was the 'in'?), I feel that the age is moving faster and faster, and it will be a very, very bad move to be left behind.

Over the course of these 2 years in NUS, i've come to like programming a lot. And through 3216, I would like to learn to program something that is ACTUALLY useful. Programming is fun and gives a great sense of achievement when you see something you design actually works out. But, still the feeling turns sour when you think about how the program you just developed will not be used (like CS1102 Labs, even CS2103 project). Things started to change a little, when I had the opportunity to pick up PHP during my internship. I was able to help a friend create a simple application (not an 'App' application, i know the word app means so many things now) for his website. When I saw how people were actually USING something i wrote, the gratification was ... (:

So now here i am. On my first step to being cool. To be a developer. I really like using cool applications like Facebook, OSX, and iPhone etc. But id LOVE to be more than just using too. Nowadays i look at every  application i come across  with a different viewpoint. Like "How did they do this? what language? what algorithm?" Now, even CORS and IVLE excites me when  i think of how powerful they are, when i used to take them for granted before.

Wow, didn't realize i've written so much BS (sorry Prof). Key things i'd like to get out of this course:
1) Learning new SDKs? (will we cover iOS? Java? FB API since we are tasked to write one fb app?)
2) Systematic Development flow? ( like OOP, or other architecture besides OOP. OOP rocks thou, imo)
3) Testing and creating an actual application!!!! (yep this is in for sure, i know).

thats about it (: Looking forward to enjoying the course! xD