Friday, July 30, 2004

 

Enjoyed our release party!

Finally our next release was out the door today. Well, that calls for a celebration and thats exactly what our project group did today.

The whole team went out for lunch followed by a movie. We watched "Spiderman 2". I think the movie turned out to be a bit more emotional than I had expected it to be. Also, it was less action packed as I had expected it to be. But overall it was fun.

I would say that I enjoyed the first part of Spiderman more than Spiderman 2. Well, I hope our client has many more releases (and so do we too with the client) and more movies/parties to enjoy :)

We have already started working on the next patch release. It would be a smaller one (means a smaller party). Not many things going in for the next release, ofcourse I did mention that it will be a patch release.


Saturday, July 10, 2004

 

Back to reading some good technical stuff

For the past few days I have not been able to add new blog entries. The other day there was a posting in the newsgroup of our company that blog writing is the "IN" thing :)

The books I had ordered a month back have finally been delivered. Actually it’s been over a week that the consignment arrived. There are three new books to my collection:
1. The C++ Object model - Stanley Lippman.
2. C++ gems.
3. More C++ gems.

I had read the first book almost 5 years back from my college library. It is an amazing box. Stanley gives an insight in to the C++ object model and how things get done/generated behind the scene in C++. This helps the programmer figure out the performance costs associated with using certain language constructs like virtual functions or virtual base classes. Also, the discussion about when the compiler generates a default constructor, for the class you have written, is pretty elaborate.

Though I am yet to read the last two books (should happen in about another 6-8 months), I must say that they are simply amazing. I have finished about 3 chapters from the "C++ gems" book. There is striking resemblance to "Programming pearls" - Jon Bentley, which is collection of papers/essays/case studies. Programming pearls is another book that I had read about 5+ years back, while preparing for the campus interviews. And you know what, it helped me crack, not the Oyster, but an important question poised in the interview (Maximum sum found in any contiguous sub vector in an input array).

While we are on the subject, if you are working on a large C++ project, then recommended reading is "Large Scale C++ Software Design" - Lakos.
The problems faced while working on a large project are of a different nature and one needs to focus on physical project organization (files, directories, etc.) in addition to logical project organization (classes, inheritance hierarchies etc). These physical organization issues affect your compile/build times (matters a whole lot for a large C++ project, since you don't want the whole project to be re-compiled due to a header file change!) and also drive the logical organization of things. The book describes these problem in great details and techniques (PIMPL idiom, insulation etc.) to address the problems.

Finally more recommended reading that can be immediately put to use, are the Effective C++ and More Effective C++ books by Scott Meyers.

Happy reading for these bed time story books :)

Monday, July 05, 2004

 

Gotcha ...... Captcha ?

The other day I was at my uncles place and he wanted to create a new email account on hotmail. I thought that I will help him out :)
Most of the procedure required to create a new email account was not new to me (just created my gmail account some time back). However, there was an interesting new element on the account creation form. There was this image displaying some text on it and below it there was a text box asking me to type in the text rendered above.
Now, that got me thinking....if the program which generated the form knows the text in the image then why does it want me to type it out again. For a moment I thought it was something new to do with encrypting stuff :)
I could not figure it out and simply typed in the text and completed the process of creating a new email account. Just last week I came across the following article on 'How to Spoof-proof your logins'

Eureka! Now I get it.....its captcha in action. The basic idea is to differentiate between humans and machines/programs. For example the text in the image on the (gimpy) page is very easy for us humans to comprehend. However, it is much difficult for a program to interpret.

Captcha is a typically employed technique to differentiate humans and programs apart. Captcha stands for "Completely Automated Public Turing Test to Tell Computers and Humans Apart". It has been widely used by Yahoo, Hotmail etc. Note captcha is not simply about a distorted image; it is any test, which most humans can pass but that current computer programs cannot. Captcha can be in various forms: Visual, audio etc.

Reference links (I am yet to read the last two, but they looked interesting enough to list here):
- How to Spoof-proof your logins
- Captcha project - Carnegie Mellon (School of computer science)
- Breaking a Visual Captcha

Labels:


This page is powered by Blogger. Isn't yours?