Research, Dev, Share

My Career – A year look back and fro

Posted in Career, Intelligent System, Iphone, Software Development, Usability by Khang Vo on October 25, 2010

vodkhang's career stepIt has been almost one year from my first full time job day (4/11) and since that day I have learnt a lot of things and sharing lots of things in my blog, stackoverflow, facebook and twitter. I will try to summarize and make a general view for my career in the last year.

Web Development
My first work is Scala researching – a still hot technology and growing quickly until now.

Although currently, I do not work much in Web Development, but I will try, for sure, come back to this field again. Why? My vision about this field is still hot, highest and most challenging technology for scalable system is still here with the born of lots of things like Cloud Computing, Google App Engine, Scala, Ruby and Clojure. Maybe my next programming language for the web is Ruby. I already have the intention to jump into here. Hope that my colleagues in KMS can help me to catch up this technology fast.

The good thing about Web Development now is that we have Google App Engine and some App Store for the web is growing. With the born of Cloud OS which will happen soon, I hope that I will have the time and chance to come back, either individually or as a developer in the company.

Artificial Intelligence
This area is cool by its name and it is part of a reason I went to Melbourne last year. I had chance to work full time on it and even it was not a success, I learnt a lot from it. What I think is that I will try to focus on Computer Vision and Machine Learning (and may be Agent system) with the intention to apply them into iPhone someday. Why is iPhone? Because I still need to do something with commercial purpose and dealing with iPhone will at least give me some financial benefit in short term. And with iPhone and client technology, I don’t have to deal with massive amount of database problem which I have no chance to practice.

Related to Artificial Intelligence, I intended to take Phd from years ago. However, my decision now is something industry oriented rather than academic environment. I appreciate the academic environment, which is good to work and learn what you like but for now, I think I do not prefer it.

Mobile Development

I came to this area by luck, I didn’t really intend to jump into. iPhone programming is cool by its design, working in limited environment and dealing with memory management. There is another challenge for building iPhone app for me is how to make it the best for user, in other terms, usability.

I learnt lots of things about usability over last few months after reading some books: “Don’t make me think” and “User Interaction Design”. This viewpoint is a little bit from a designer’s perspective rather than a developer’s one. This is cool and make me understand more about users. To be honest, before I do iphone development, I am scared of designing (both in terms of graphics and interaction) and I don’t get love in it. But now, I think I can do at least interaction design well.

Other stuff
Working in iPhone let me have time to learn something else that I am scared about. Git in terminal for example. I am scared of terminal and scripting and all those administration stuff before. I am also trying to do a lot of testing in iPhone, from UI Automation Testing to Unit Testing which make me fall in love. I love the Google Testing Blog’s Term: “If it ain’t broke, you’re not trying hard enough”. Now, I feel so bad for anytime I cannot make a software crashed :). It is also good that I am still looking forward to improving my productivity day by day, automation process, hot keys and dual monitor was what I achieved. The next stuff will be emacs, for example.

My current love in technology can be said: “user, automate and scale”.

PS: To be honest, I hope that this is the first time I can focus 150% into working and researching. For the whole last year, I had to spend so much time in university assignments, exams and then GRE. Those things do not just take off my time but also kill my energy and passion so fast, while those things are either not challenging, boring or just I do not love it.

Advertisements

RoboCode Team Battle (Week 4)

Posted in Algorithm, Competition, Intelligent System, Learning, Robocode, Software Development by Khang Vo on April 21, 2010

Hi, everybody, the robocode competition goes up to another level, promising more fun and more jobs for you guys. We just released a new rule this morning requiring people to compete in team, 2-2 battle. The era of 1-1 battle ended. This morning is just a practice for a new game. You do not have time to improve your robot a lot, that’s ok now. You just need to have a better communication with your ally.

Now, we just take a look at battles between 2-2. There would only have 4 teams this morning but creating a lot of fun and entertain for people. Poor you guys, the people not joining this morning

The first match:

The Red and the Blue guy on the same team while the White and Black on the other team. The match was quite in the first team when the Black guy use the still strategy, which was good for some robot cases that can not shoot the still robot

The second match:

The 2 yellow guys compete with Gray and Blue guy. The 2 yellows shoot quite correctly but the strategy of the other team is against the Yellow team when they move in line but change direction really fast.

The third match:

We found the anti-Indian guy. Welcome to Yellow guys, you guys did a really well job when running in a spin strategy and the Indian strategy almost dies.

[youtube=http://www.youtube.com/watch?v=y8o4WxNhMKw

Wait for tomorrow, when we will have a real team battle. Never have the case that we will shoot each other any more. And AWARDS, will officially be given for the first 2 teams tomorrow.

RoboCode Report Week 2

Posted in Algorithm, Competition, Intelligent System, Learning, Robocode, Software Development by Khang Vo on April 3, 2010

And now, we are already on the week 2. Different than week 1 when I am too busy to write some brief report. I will write some brief report, feedback and evaluation about the second competition.

First, come to the battle between Police and Indian. We can see that Police does not have a big improvement over the last week, while Indian goes into the next level by getting the ideas of running around the opponents from his own opponents (ideas started by Police). We also wait for some peole to kill that suck Indian. Everybody really wants to kill the Indian

Then, we come to the next match between Tester and Rammer. Rammer tried to implements a combining strategy between Rammer, Indian and Spin Bot. But, to be honest, it was an example for what people say : “good idea, bad implementation”. Rammer tried to change the algorithm at the bad times and the RunAway strategy was not good enough. Waiting for the next version when Ramming and Indian shake their hands:D. We also welcome the new comer, a handsome guy, Phan Vo. Hope that we will see a better implementation in the next version

Yeah, now, we see how good Alosa (a loser) is and if it is a real alosa. With a quick implementation in the Web Dev class (Buu will get disappointed for that news), a new version of SweetPo has come into the world. And welcome Huy, another new comer this week. Inherits from the Indian, Huy produced a better implementation. That’s so good and fit exactly what we expect when publishing our source code. I can see a good future for Huy in later versions.

Semantic Technology and its application

Posted in Intelligent System, Semantic by Khang Vo on December 9, 2009

1. Semantic Technology?

Semantic Technology can be briefly understood that it is an text analysis technique that can give us the semantic (the real knowledge) from a raw text data. It can be understood in a larger term that semantic image analysis, semantic video analysis but currently, we focus on Semantic for Text Data

2. Why do we need Semantic Technology?

This is the original problem for every database system ranging from MB to TB of data. We have the whole database of data but we usually do not care too much about these data. We care about the knowledge we can get out from data.  This knowledge can be used in many commercial applications such as Business Intelligence Applications

3. Applications

3.1 / Semantic Web

One of big applications of Semantic Technology is Semantic Web. This is almost the whole decade from the first article on Semantic Web (T.Berners-Lee, 2001). The idea , raised by T.Berners-Lee – creator of web 1.0, is all about linking data from all web sites and create a useful information, a real knowledge from raw data (http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html) .  So that, an agent/robot can go and understand the relationship between these data and give us the real knowledge we want to know. Even the idea of Semantic Web is far from real application into create a real web for machines, the results of all researches worth considering and apply into industrial applications

3.1.1/ What does Semantic Web mean with industry?

The first biggest thing, IMO, must be Semantic Search Engine. It is one of  hundreds of millions industry, and nowadays, if we want to compete with Google, new Search Engine must not index and search in these indexes well but must got the Semantic inside those data. It is really hard now to compete with Google and Microsoft Bing in terms of data structure and system architecture to make system responds in much better in terms of relevance and speed. Microsoft Bing acquired http://www.powerset.com/ (video demo: http://vimeo.com/994819) in an effort to compete with Google.

3.2/ Semantic Web Services

The next application should be Semantic Web Service. A web service that machine can understand and do automatic discovery, invocation and composition. This kind of application is now still only have examples of research applications, not have any real industry application yet. However, whenever, it overcomes the problems with Trust and Cost, I think we can see many enterprise companies apply this technology so that their web services will be discovered directly and invoked automatically.

3.3 Smaller applications

With the development of third party web services like : Open Calais (http://www.opencalais.com/, the website analyze really well about the semantic meaning of a text, a showcase can be seen in :http://semanticproxy.opencalais.com/demo.html ), we can really use this technology for many commercial applications. Some of them can be analyse chat data, analyse the newspapers so that we can know which kinds of customers we are serving and we can give them what they want.

3.4 Reference:

1. T.Berners-Lee, 2001

2. http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html

3. Ph Nguyen, http://ph-nguyen.blogspot.com/, Thanks for OpenCalais suggestion