Monday, November 29, 2010

My ray tracing project

When I finished about 80% of this project, I have to submit it. It is not because the time is due, but I have to do other more important things.

First, I have to finish the cmpt376's writing, assignment 3 rough version. I almost did not leave enough time for it; Second, tomorrow there is a cmpt454 quiz, which is 20% score for that course. The decision of just finishing 80% in ray tracing project will leave me enough time for writing and preparation for database quiz.

The decision is difficult since I already have a beautiful ray tracing framework, and add more functions are just time-consuming thing.

Sometimes people have to give up, right?

Sunday, November 28, 2010

car problem

My car had problem about 10 days ago. When turning sharply, its steering wheel might be stuck. Obviously, it is not safe for driving. I drove it to dealer for repairing immediately. I thought fixing might need 2-3 days, and I did not ask for rental car from dealer. Next day, dealer called me and said they found the problem: one part were damaged and need to replace. They didn't have this part in stock and they are not sure when the part would be there. I still thought it is OK for me without car for a week. But last Thursday, They were still waiting. I had to ask they for a rental car. I got rental car yesterday, and still do not know when my car would be fixed.

My lesson is when repairing a car, ask a rental car immediately.

Friday, November 26, 2010

More advantages of ray-tracing

Ray tracing algorithms have some advantages and disadvantages. Because ray tracing follow the path of THIS ray, it is some kind of independent to other rays. this features is controversial. The biggest drawback of this is that it is very expensive (costs too much time), and its benefit is that it makes ray tracing algorithms very easy to be parallelized. This is very important for modern computers framework since nowadays main stream CPUs have over 4 cores.

I hope I could see PC game using ray tracing algorithms in near furture.

Thursday, November 25, 2010

Ray tracing

Recently, I'm working on the ray tracing assignment of cmpt361. Ray tracing is a very interesting algorithms for rendering; it does not need 3D transformation. Instead, it uses each ray from a camera ( or a eye ) to calculate each pixel. Another feature is that it recursively calculates specular reflection, and then get more realistic picture.

One big drawback of ray tracing algorithms is that it can not be used in real-time render because it need too much time. Otherwise, quality of computer games will be much better.

Tuesday, November 23, 2010

Busy time is coming

This Friday, I need to hand in a draft writing. Next Monday, a project, building a ray tracing system, is due. Also, there is a 20% test of database II in next Tuesday. Finally, final is coming next next week. Moreover, the final of cmpt361 is Dec 8, and cmpt454 is Dec 9. Oh, man, give me a break.

Wednesday, November 17, 2010

The different between vector and arrayList in Java

In Java, vector and arrayList are very easy to be confused. Both arrayList and vector are dynamic array. what are they different?
1.vector is synchronized. Therefore, it is safe to use in multithread programs. On the other hand,arrayList is not synchronized, it need to call a function to synchronize. Therefore, it is faster than vector.
2.Vector is build on old framework, it does not need to indicate a type of this vector, for example:
Vector v = new Vector();
arrayList, on the other hand, need to indicate the type of this array.
ArrayList myArr = new ArrayList();

Vector and arrayList in C# is very similar to Java. However,vector in C++ is more like arrayList, not vector in Java.

Friday, November 12, 2010

“Inception” and programming

I heard a very interesting point of view about the movie “Inception”, and it says that “Inception” is a movie about computer programming. We could see those concepts: recursion, concurrency, exception handle, share memory, thread (process), system fail-over, global variables, local variables, etc..

In “Inception”, dreams are a child processes (or function? Recursion?). Therefore, characters could go down next layer, a dream in another dream. If a child process did not return properly (Cobb in beginning), system may interact to help him to end the dream (fail-over). Or, child process may be stack in limbo forever (zombie in OS).

A person in another person's dream looks like a process communicates with another, having shared memory (the same scene).

And, also, we could get different interpretations from “Inception”. In my point of view, its director must be a programmer. Is Christopher Nolan a programmer?

Tuesday, November 9, 2010

QQ vs 360

QQ is the most popular IM in China, and it has been installed in almost every computers in China . 360 is a free anti-virus software having only Chinese Version.

Recently, 360 claimed QQ scan user's personal data, and send back to QQ's server. Then, 360 published a software “QQ guard” to prevent scan user's privacy data from QQ.

Now, QQ announce that QQ will not run on computers if 360 installed.

In my point of view, QQ is using its monopoly in IM market to eliminate a potential market adversary. On other word, if Microsoft said Windows will not operate if Chrome is installed, the result is that MS will be fined by court, and enforce MS to cancel its decision.

What is the final result of QQ vs 360? I'm waiting...

Saturday, November 6, 2010

My computer was stoned

After I installed an application downloaded from Internet, I felt my computer had some virus symptoms. I had AVG free version in my laptop, and it gave some alerts. SFU wireless network also alert me that my laptop was stoned and cut my lapton's connection to SFU network. Then, I installed McAfee and full scaned my laptop. But SFU network still warned me that having virus on my laptop.

Finally, I uninstalled McAfee, and try MS essential. This free antivirus software really give me a surprise, it found a Trojan:WinNT/Bubnix.gen!A on my system\driver\, and show "Trojan:WinNT/Bubnix.gen!A is a generic detection for a kernel-mode driver installed by other malware that hides its presence on an affected computer by blocking registry and file access to itself."

It looks MS still has backdoors that other antivirus companies do not know. Therefore, after the virus in system, McAfee can not find it, but MS can.