Monday, June 23, 2008

Visual C++ BrainBench Certification

I boldly went and took the Visual C++ BrainBench Certification without preparing myself in any refreshment task. I am very much caught in a surprise as i notice that the Visual C++ BrainBench actually means Windows programming in C++ , that includes OLE/COM, WndProc from scratch, device context and loads of other stuffs which frankly i have not been coding these natively but took the easy IDE way out.

It was a good test i must admit, it reveals to me how much i have taken for granted the advance tools and how much less i remembered of these subjects.

Here are the results anyway ( :-( scored within 3.x python was 3.3, i was expecting a 4.x for a familiar language): BrainBench Visual C++ supervised :

Results for xxxxx

Test Takers Email: xxxxx

Date Taken: 23-Jun-2008
Test Event ID: ZC11178-CKQSJHX6

Overall Score: 3.56
Weights: 100% Visual C++
Elapsed time: 53 min 9 sec
Visual C++
Score 3.56
Percentile : Scored higher than 85% of previous examinees

Proficiency Level:
Advanced (Master)

Demonstrates a clear understanding of many advanced concepts within this topic. Appears capable of mentoring others on most projects in this area.

Strong Areas
General C++ Language
General Windows Programming

Weak Areas
None noted

Sunday, June 22, 2008

Python BrainBench Certification

I have been playing periodically with Python for a few months, i decided to take the BrainBench Certification was carried out by Deltaknot ( Brainbench by Deltaknot however appoints a supervisory staff to monitor the test taken so as to avoid where "few people answering a question"and other forms of "cheat".

Anyway, the test clearly shows some weakness in my understanding of Python, which will be the article for this blog.

But first, here is the result :-

Python 2.4 Assessment Report

Report Information
Examinee Name: (my name)
Date of Report: 6/23/2008
Prepared For: Deltaknot International Sdn Bhd
Prepared By: Brainbench

Assessment Results
Assessment Taken: Python 2.4
Date of Assessment: 6/23/2008
Overall Score: 3.32 (1.0 - 5.0, where 5 = best)
Worldwide Percentile: 67 (99 = highest)

Additional Score Data

Demonstrates a solid understanding of core concepts within this topic. Appears capable of working on most projects in this area with moderate assistance. May require some initial assistance with advanced concepts, however.

Standard Library

Weak Areas
Built-in Features

Ranking Information
.: 1 of 1 (99th Percentile)
.: 1 of 1 (99th Percentile)
.: 1 of 1 (99th Percentile)
Worldwide: 292 of 886 (67th Percentile)

First notice that my weakness as listed by BrainBench here are "classes and built-in features". Ironically after taking the test, i could identify these areas as well. Thiese are probably the same weaknesses that most seasoned programmers in other languages might encounter in the test.

This is because some of the ideas that we have learn from other languages, for eg, C++ naturally becomes the point of association and provides the learning platform when you learn other language. In my case, i skip most of the specific features of Python Classes since i believe i have a strong grasp of the C++ classes and thus didnt bother to pay much attention to it. The built-in features of Python are often viewed and subjected to my understanding of other languages and again which i ignored because i have never used them in practical programming.

For example the usage of : yield and function generators in python, now that is something you are not constantly exposed to in C++ and thus i have the tendency to ignore and skip over such topics, however in the test, these weaknesses are revealed.

This kind of remind me of Forbidden Kingdom, yes the girl is chun (Liu Yi Fei), but i am referring to the drunken master asking the disciple's cup to be emptied before he could teach him. There are some element of truths to this.

After coding in C# for the last few weeks, i found myself doing this in my C++ code :-

std::list listStrs = new std::list()

which is of course an error, since objects in C++ does not need to be "new" unless its a reference or pointer, but in both python and C#, you cannot instantiate any class member like a built in type.

Overall, i would say the BrainBench certification provides a good assessment since i agreed with the results and cheats are avoided due to supervision.

Thursday, June 12, 2008

Malaysia Downloads

Sometimes as programmers we need to download a large project from the internet for R&D or use. Often some of these are commercial frameworks or Open source projects.

Today i bought the Wing-ide 3.1.1 professional version and found the download speed from Malaysia is just 2.5kb and it will take 2 hours to download a 17 mb file.

So the trick is to use an alternate proxy site that has much faster connection to this download and at the same time a fast connection with Malaysia .

I tried : and it was fantastic. The download bumped from 2.5kb to 99kb/s.

The whole download took just 2 minutes. Now that is what i call productive bandwidth ;-)