Tuesday, October 09, 2007

Here is a great site which aggregates all gPhone news & rumours in one place: http://gphone.corank.com

posted @ 3:20 PM

Wednesday, May 23, 2007

http://www.news.com.au/heraldsun/story/0,21985,21741980-5006024,00.html

Definitely a must read into how music labels are shooting themselves in the foot.

 

posted @ 11:43 AM

Thursday, May 17, 2007

The hard they try to faster they fail... so far all HD-DVD and Blu-ray encryption schemes fell apart.

Slysoft have already released AnyDVD HD 6.1.5.1which kicks AACS MKB v3 swiftly to the curb.

posted @ 9:32 AM

Friday, April 13, 2007

Interesting read:

ABSTRACT

Open source software has changed the rules of the game, impacting significantly the economic behavior of stakeholders in the software ecosystem. In this new environment, developers strive to be committers, vendors feel pressure to produce open source products, and system integrators anticipate boosting profits.

 

http://www.riehle.org/computer-science/research/2007/computer-2007-article.html

posted @ 10:39 AM

Monday, November 20, 2006

"There's no way to rule innocent men. The only power government has is the power to crack down on criminals. When there aren't enough criminals, one makes them. One declares so many things to be a crime that it becomes impossible for men to live without breaking laws."

 

posted @ 10:46 AM

Tuesday, April 11, 2006

Visit http://www.chatterboxchallenge.com/ and try out any of the chatter bots currently registered. This will allow you to vote on bots you feel are closest to chatting with real human being.

 

posted @ 9:54 AM

Wednesday, March 22, 2006

http://www.mozilla.org/developer/#builds

Releases 3.0x alpha have some cool new features, improved new mail notification as well as RSS feeds support.

 

posted @ 2:39 PM

Monday, March 20, 2006

Great discussion at regarding String.Format(...) calls, it's a good summary and referrence for dates and other types.

http://blog.stevex.net/index.php/string-formatting-in-csharp/

 

posted @ 10:20 AM

Saturday, November 12, 2005

I bought this camera as gift for my wife, only to fall in love with it myself. :-) Self pat, “good move“ -- she approved the budget. Actually, she's pretty good with the lenses herself. Let me just say this camera kicks ass! I decided to go with the 8 megapixel camera versus Nikon D70 which is 6 megapixel SLR.

 

Instead of boring you with lots of details, for full review go to http://www.dpreview.com/reviews/specs/Canon/canon_eos350d.asp.

 

The hardest thing for me was deciding which camera body to purchase. Initially I wanted to go with Canon EOS 20D body, (http://consumer.usa.canon.com/ir/controller?act=ModelDetailAct&fcategoryid=139&modelid=10464), however after reading the review above and not noticing hardly any difference in image quality. So, I decided to save some cash and purchase the 350D and upgrade my lenses to EF-S 17-85MM f4-5.6 IS USM
(http://consumer.usa.canon.com/ir/controller?act=ModelDetailAct&fcategoryid=149&modelid=10511).

 

My current setup:

 

EOS 350D Body (Digital Rebel XT), EF-S 17-85MM f4-5.6 IS USM, and SpeedLite 430EX Flash (http://consumer.usa.canon.com/ir/controller?act=ModelDetailAct&fcategoryid=141&modelid=11923)

The only disappointing thing is, there's no way to get the camera driver to work with Windows 2003 server operating system, if you want to hookup your camera to your computer you must use Windows XP. I guess transferring my pics via memory card reader will have to do instead.

 

posted @ 5:11 PM

Thursday, July 28, 2005

Good article for basic understanding of thread safety and static utility methods. I think the article does a good job with data sharing examples.

http://http://odetocode.com/Articles/313.aspx

I would only add that it is not only important to watch out for data sharing between threads, but also access and sharing of I/O resources like db connections, files and sockets.

One way would to use lock(obj){ ... } mechanism, where the system runtime will manage its own queue (serialized access), or another way would be to implement your own access queue mechanism.

Implementing your own queue mechanism can give you advanced features, should you need to implement them, such as priority scheduling and better micro-level locking.

By micro-level locking I mean the following. Let's say you have a function named 'SaveFile(...)' which uses lock(obj){...} mechanism to serialize access to a particulat file resource, it is possible to implement this in such a way that a unique lock object is used for each unique file name.

Better, queue can be scanned/sorted by resource objects being accessed and allow concurrent queue processing as long as each work item in the queue processed is accessing a different resource.

In essence, this turns one queue into a multi-queue mechanism where each shared resource has it's own queue. This greatly improves performance and would be similar to record-level locking mechanisms in databases, but instead could be applied to sockets, files, etc...

Lastly, in such multi-queue system priority scheduling can be implemented where queue management code can select by weight or some other calculated heuristic how much time should be dedicated to each queue.

 

posted @ 11:47 AM