gurupanguji's blog

360* spaces

Well, Google is definitely setting and paving way for some of biggies in the Internet world today. They are definitely "THE" trendsetters as I have noticed in the recent past.

Google bought over Blogger.com and a plethora of other companies to well BRAND Google on practically every avenue open in the Web today that is in the hands of MSN and Yahoo! - still the major players by sheer number.

This has led to a few changes in the services provided by Y! and MSN. They HAD to shift over to more e-mail space with GMail providing now well over 2GB. They HAD to move in new features to their Instant Messenger services with Google planning to release and now having released Google Talk! Well, not to mention MSN Spaces and Y! 360*!

Well, good to see Google is indeed paving the way to an uhum "free" future. Let's see when this starts to shed and they get money minded over technology minded. [As that happened with Y! and MSN]. The future is indeed worth the wait. ;)! Until then, let's enjoy these goodies :)!

Wanted to ADD!!! Google TALK IS AVAILABLE FOR DOWNLOAD!! Try it out! And someone post a review on it :)!

The Year 2038 problem revisited...

The Year 2038 problem has been noted and been changed since MFC 6.0 release for Windows programmers. Here's an excerpt from Programming Microsoft (R) Visual C++(R) Fifth Edition, by Kruglinski et al.

Lost in Translation...

Google's Language tools are amazing :)! Indeed [without any smirk on my face], I tried them out and I found them to be pretty cool, well actually really cool, especially when I tried this particular task out! :D

PROCEDURE
1. Go to Google.com [http://google.com/].
2. Click on "Language Tools"
3. Type in "Aishwarya's mom is very nice".
4. Choose "English to Spanish" from the below combo and submit using "Translate Text"
5. Now copy the translated Spanish text and translate it back into English by choosing "Spanish to English" in the combo and submitting it
6. Check out the translation :D

Indeed, LOST IN TRANSLATION :)!

Generic Specifics

Templates!! Aaah, we have all heard that name. But, have we ever used it? Well, I hadn't until recently, when during work, I was asked to generate a generic piece of code that can manage records. Please NOTE, this is NOT Siemens proprietary and it is just a simple record system asked by my mentor to start off my training skills. But, to be on the safer side, I will not post the code here HEHE!! :D

The objective of the record system is to be as scaleable, reusable as possible. So, obviously, Object Oriented programming is the solution to that problem for it to be reusable and scaleable. Now, how can it be generic enough that the record can manage ANY type of data?

HELLO TEMPLATES!!! Never fear, the templates are here. A beautiful concept of generic programming starts with something known as templates. It's a very simple concept as well. There are two types of templates - FUNCTION TEMPLATES AND CLASS TEMPLATES.

For the people who are aware of and use STL and MFC Container classes, STL's are THE example of function templates and Container Classes are the example of a class template.

So, what is this thingamajig ya call template? Well, lemme elaborate with a simple example - the tried and tested and easy to understand example of a max function!! We have in all probability used the max(x,y) function, where the function will return the larger of x and y.

Now, in C++ we used to generate overloaded functions of max(x,y) for the various data types, including user defined types. So what did we do to save time? Copy, Paste, Find, Replace and all the editing works that the editor provides us, and those of us who are seriously demented wrote a piece of code to replicate this and change it!! Hehe. Anyhoo, there is a much simpler way to do this using the concept of function templates. Aaaarrrrgggghhhh!! Ya keep talking about this damn thing - templates, when are you gonna show us how it looks? Well, here it is...

template /*Actually you are supposed to use the jargon "typenames" instead of class, as in template */
T max(T x,T y)
{
if(x > y)
{
return(x);
}
else
{
return(y);
}
}/*End of code*/
So, there it is mates! Now, all you need to do is call the function as you would normally ANY function. Reference it with its paramenters and BOOM, it works. You don't have to overload it for the enormous amounts of primitives.

The only thing extra you need to do to make it work with user defined types is to overload the ">" operator and BAM! there ya have it, a perfectly reusable piece of code.

Some Interesting things about templates :D!! Well, we know that code reuse is present in C++ through inheritance. When you think about it, some simple differences between ala Template and ala Inheritance.

Ze main difference is in how the reuse is happening? Templates are a sorta macro substitution of the typename to generate code for that typename whereas, inheritance is the code reuse across inherited classes. [PLEASE NOTE: It's more complicated than macro substitution and has proficient error checking during compilation].

So mate? Got 'e general 'dea o' 'em 'emplates? k?? Enough of Hagrid talk... let's get on with Class templates, where templates can be used to contain data and attribute and reuse them across the same functionalities across varied data types. :)!

As it's gonna take some time for me to code the damn thing and format it in html and I have to add more functionalities to the record system, I was talking about, lemme take leave now. But, to come back and prolly give another quill at class templates. More and more interesting things are taking place with programming.

On a high and mighty note, I am being put into development in SISL. It's an amazing place, highly knowleadgeable people, totally friendly and comfortable working environment :)!

Until next break... ENJOY!!!\:D/

---
As Always
Guru Panguji
http://members.lycos.co.uk/gurupanguji/

The History of Tux!

[img_assist|fid=52|thumb=1|alt=Linux]

Well, I was reading a book on Visual C++ programming based on the Windows API without using the AppWizards and the rest, and somehow, I was compelled to learn the origin of that little penguin called "Tux". Well, surprise surprise [not really], a simple Google did the job and came across a healthy site.

The history is filled with geeky humor, so typical of anything remotely related to Linux [wink]. Baker has kept a tab on why penguins? How the name came to TUX and so on... It's an interesting read, if you don't have much to do! You can find more about it here - SJ Baker.org/Tux. Also please check out the different logos amongst which our Tux competed and won.. They are all put up here - Linux Logo Competition!!

The Year 2038 Problem

[img_assist|fid=59|thumb=1] Just when you thought that world was saved from a mammoth of a problem called Y2k[check out Y2k for an associated set of problems], up comes another one. This time, the premise is on a more beautiful date setting.

The Matrix Online

The movie trilogy is over. Although Matrix Reloaded and Matrix Revolutions sucked big time, the original - The Matrix still has a lasting impression on the common. So, what does Warner Bros do to capitalize on this? Well, the next best thing - a game - a multiplayer game - a Massively Multiplayer Online Role Playing Game : The Matrix Online. Released with apparently breathtaking visual world, and a slightly reworked story, it allows you to further involve yourself into the Matrix. The game publishers have also taken pain to repen the story for a better involvement in the game [and for those who took it off their brain, once the sequels were released].

So, what is the deal with the game? No official reviews are out, although keep a watch out @ Game spot http://gamespot.com

The classifications unclassified!

"Life is a game. Think about it. As time passes, life's little problems pur down in chunks. Somehow, someway, you must conquer these hurdle, fitting them together, solving them so that they disappear and you move on. As you grow older, these challenges come at you faster and faster, until they become so difficult, they overwhelm you."

A brilliant idea or is it?

Just thought about something that has been nagging me for quite a while. I was browsing in my mind of mass storage devices and the immediate things that pop up at the 3 levels of storage, and the related stuff. Now, looking at ternary storage devices, right now completely monopolized by tape devices, I hit up on an idea. Why not, make the entire system (a database/storage information system) a 4 level system of storage. The tapes go back down to the 4th level, and in its place comes the set of Recordable discs. I am saying Recordable discs for the following reasons
Syndicate content