Monday, December 14, 2009

c-objectives

1) #define assert(cond) if(!(cond)) \

(fprintf(stderr, "assertion failed: %s, file %s, line %d \n",#cond,\

__FILE__,__LINE__), abort())

void main()

{

int i = 10;

if(i==0)

assert(i <>

else

printf("This statement becomes else for if in assert macro");

}

Answer:

No output

Explanation:

The else part in which the printf is there becomes the else for if in the assert macro. Hence nothing is printed.

The solution is to use conditional operator instead of if statement,

#define assert(cond) ((cond)?(0): (fprintf (stderr, "assertion failed: \ %s, file %s, line %d \n",#cond, __FILE__,__LINE__), abort()))

Note:

However this problem of “matching with nearest else” cannot be solved by the usual method of placing the if statement inside a block like this,

#define assert(cond) { \

if(!(cond)) \

(fprintf(stderr, "assertion failed: %s, file %s, line %d \n",#cond,\

__FILE__,__LINE__), abort()) \

}

2) Is the following code legal?

struct a

{

int x;

struct a b;

}

Answer:

No

Explanation:

Is it not legal for a structure to contain a member that is of the same

type as in this case. Because this will cause the structure declaration to be recursive without end.

3) Is the following code legal?

struct a

{

int x;

struct a *b;

}

Answer:

Yes.

Explanation:

*b is a pointer to type struct a and so is legal. The compiler knows, the size of the pointer to a structure even before the size of the structure

is determined(as you know the pointer to any type is of same size). This type of structures is known as ‘self-referencing’ structure.

4) Is the following code legal?

typedef struct a

{

int x;

aType *b;

}aType

Answer:

No

Explanation:

The typename aType is not known at the point of declaring the structure (forward references are not made for typedefs).

5) Is the following code legal?

typedef struct a aType;

struct a

{

int x;

aType *b;

};

Answer:

Yes

Explanation:

The typename aType is known at the point of declaring the structure, because it is already typedefined.

6) Is the following code legal?

void main()

{

typedef struct a aType;

aType someVariable;

struct a

{

int x;

aType *b;

};

}

Answer:

No

Explanation:

When the declaration,

typedef struct a aType;

is encountered body of struct a is not known. This is known as ‘incomplete types’.

7) void main()

{

printf(“sizeof (void *) = %d \n“, sizeof( void *));

printf(“sizeof (int *) = %d \n”, sizeof(int *));

printf(“sizeof (double *) = %d \n”, sizeof(double *));

printf(“sizeof(struct unknown *) = %d \n”, sizeof(struct unknown *));

}

Answer :

sizeof (void *) = 2

sizeof (int *) = 2

sizeof (double *) = 2

sizeof(struct unknown *) = 2

Explanation:

The pointer to any type is of same size.

8) char inputString[100] = {0};

To get string input from the keyboard which one of the following is better?

1) gets(inputString)

2) fgets(inputString, sizeof(inputString), fp)

Answer & Explanation:

The second one is better because gets(inputString) doesn't know the size of the string passed and so, if a very big input (here, more than 100 chars) the charactes will be written past the input string. When fgets is used with stdin performs the same operation as gets but is safe.

9) Which version do you prefer of the following two,

1) printf(“%s”,str); // or the more curt one

2) printf(str);

Answer & Explanation:

Prefer the first one. If the str contains any format characters like %d then it will result in a subtle bug.

10) void main()

{

int i=10, j=2;

int *ip= &i, *jp = &j;

int k = *ip/*jp;

printf(“%d”,k);

}

Answer:

Compiler Error: “Unexpected end of file in comment started in line 5”.

Explanation:

The programmer intended to divide two integers, but by the “maximum munch” rule, the compiler treats the operator sequence / and * as /* which happens to be the starting of comment. To force what is intended by the programmer,

int k = *ip/ *jp;

// give space explicity separating / and *

//or

int k = *ip/(*jp);

// put braces to force the intention

will solve the problem.

11) void main()

{

char ch;

for(ch=0;ch<=127;ch++)

printf(“%c %d \n“, ch, ch);

}

Answer:

Implementaion dependent

Explanation:

The char type may be signed or unsigned by default. If it is signed then ch++ is executed after ch reaches 127 and rotates back to -128. Thus ch is always smaller than 127.

12) Is this code legal?

int *ptr;

ptr = (int *) 0x400;

Answer:

Yes

Explanation:

The pointer ptr will point at the integer in the memory location 0x400.

13) main()

{

char a[4]="HELLO";

printf("%s",a);

}

Answer:

Compiler error: Too many initializers

Explanation:

The array a is of size 4 but the string constant requires 6 bytes to get stored.

14) main()

{

char a[4]="HELL";

printf("%s",a);

}

Answer:

HELL%@!~@!@???@~~!

Explanation:

The character array has the memory just enough to hold the string “HELL” and doesnt have enough space to store the terminating null character. So it prints the HELL correctly and continues to print garbage values till it accidentally comes across a NULL character.

15) main()

{

int a=10,*j;

void *k;

j=k=&a;

j++;

k++;

printf("\n %u %u ",j,k);

}

Answer:

Compiler error: Cannot increment a void pointer

Explanation:

Void pointers are generic pointers and they can be used only when the type is not known and as an intermediate address storage type. No pointer arithmetic can be done on it and you cannot apply indirection operator (*) on void pointers.

16) main()

{

extern int i;

{ int i=20;

{

const volatile unsigned i=30; printf("%d",i);

}

printf("%d",i);

}

printf("%d",i);

}

int i;

17) Printf can be implemented by using __________ list.

Answer:

Variable length argument lists

18) char *someFun()

{

char *temp = “string constant";

return temp;

}

int main()

{

puts(someFun());

}

Answer:

string constant

Explanation:

The program suffers no problem and gives the output correctly because the character constants are stored in code/data area and not allocated in stack, so this doesn’t lead to dangling pointers.

19) char *someFun1()

{

char temp[ ] = “string";

return temp;

}

char *someFun2()

{

char temp[ ] = {‘s’, ‘t’,’r’,’i’,’n’,’g’};

return temp;

}

int main()

{

puts(someFun1());

puts(someFun2());

}

Answer:

Garbage values.

Explanation:

Both the functions suffer from the problem of dangling pointers. In someFun1() temp is a character array and so the space for it is allocated in heap and is initialized with character string “string”. This is created dynamically as the function is called, so is also deleted dynamically on exiting the function so the string data is not available in the calling function main() leading to print some garbage values. The function someFun2() also suffers from the same problem but the problem can be easily identified in this case

Thursday, December 10, 2009

5 Ways Google's New Search Tools Go Wide And Deep

Google (NSDQ:GOOG) is the barely challenged leader in search enginemarket share and, thanks to new tweaks like Real-Time Search and GoogleGoggles, it has no plans to slow down, either.

This week, Google introduced a number of search capabilities that promise to broaden its search reach and continue to keep would-be competitors like Microsoft's Bing and Yahoo under Google's thumb. Here's how Google is doing it:

1. Google Real-Time Search

Google this week said that it would integrate realtime search results in search engine queries, meaning that social networking sites like Facebook andMySpace that have content based on realtime status and other updates will be more easily found on Google. Microsoft's Bing also offers realtime searchability from social networking platforms, but the breadth and depth of Google's realtime search capability appear to be stronger.

Burning question: What does Google need to do to make that realtime capability even more comprehensive?

2. Google Goggles

The new Google Goggles allows users to take photos of something they're trying to identify using a mobile device (for now, an Android mobile device). Google's visual search will capture the image and return information, as if a user had typed in relevant search terms.

Burning question: When will Googles, available for Android phones, be made available for other platforms? And will it?

3. Google Favorite Places

Google is apparently providing more than 100,000 bar-code decals to various businesses around the country. Google is hoping that those businesses will post the bar codes so that mobile device users -- iPhone, Android and BlackBerry alike -- can scan those bar codes and instantly call up information such as reviews and promotions related to that business.

Burning question: Will businesses find Google Favorite Places as helpful a promotional tool as, say, offering coupons through Twitter or advertising promotions in Facebook communities?

4. What's Nearby for Google Maps

Google's What's Nearby for Google Maps is a mobile device feature through which users are supposed to be able to find landmarks, businesses and other local attractions based on where they are. Google also said it had updated Google Suggest to customize search results based on location. Typing in certain beginnings of words will yield different results depending on the city.

5. More languages in Google Voice Search

Google's voice search feature now supports Japanese in addition to English and Mandarin.

Thursday, October 8, 2009

10 TECH CAREER BOOSTERS

This guide is for students just starting out in the IT industry, but could just as well apply to anyone who wants to set themselves apart in a competitive global environment.

By JAMSHED AVARI

Going by most media and industry reports, technology industries in India are starting to bounce back from the global slowdown. Our country might not be faring as badly as others are right now, but that still doesn’t mean all is well on the job search front. Many of the workers laid off earlier this year are still finding it hard to get new jobs, since companies are only just starting to recover and aren’t looking at expansion opportunities yet. With so many experienced workers and so few job openings, things don’t look very good at all for the lakhs of freshers who will be graduating six or eight months from now and entering the job market for the first time.

“IT” as a career option is a fairly vague, nebulous idea. Everyone knows that IT is hot and there’s lots of money to be made if you’re young and well educated, but no one can actually pin down a single, specific path to follow that guarantees you’ll make it big. IT encompasses careers in hardware administration, networking, chip design, coding or programming, software development, testing and validation, database management, business analysis, security, visual design, animation, and dozens of other avenues. Additionally, each of those can encompass multiple potential careers, each of which would require additional specialized knowledge, such as game development for mobile devices or enterprise-level data center security.

Added to this, many graduating computer science and IT students don’t feel very well prepared for jobs in the real world. A random sampling of students and recently employed workers CHIP spoke to expressed the common concern that their specializations, usually Java and C, aren’t exactly the best tools to take them beyond entry-level jobs in coding. Recruiters shared the same concern, but rationalized that by saying that tech companies usually hire freshers for very specific jobs such as data entry or a single type of programming, and will put them through a few weeks or months of training in that field. This illustrates the difference between an IT job and an IT career: students who don’t know exactly what they want to pursue will end up being molded by the immediate requirements of the industry. Those who find themselves surrounded by hundreds of others doing exactly the same work will quickly find things repetitive and stifling. Worse, those who don’t have the aptitude for whatever they’ve been pushed into won’t do very well, won’t rise in the company’s hierarchy, and might even get put off by the industry as a whole.

Some students who find themselves unaware of what options lie ahead of them because of this vagueness s only wind up following the herd and joining large companies en masse in the hope of picking up some skills along the way, an attitude that doesn’t necessarily go down well with HR managers or bosses. Employees who have a well thought out growth plan or at least some specific goals and understanding of their own aptitudes will always stand out.

10.

Take charge of your future with PARALLEL COURSES

If you’ve just entered college and are wondering how to make the most of a course that isn’t really keeping you interested or engaged, find something to do alongside. College won’t take up every single waking moment you have, and there are dozens of institutes in every city offering part-time morning, evening and weekend courses. Sure, it might cut down on your social life a bit, but it’s the kind of move that will really set you apart when a recruiter is flooded with hundreds of resumes with identical college degree qualifications.

There are dozens of choices available. Several major institutes with hundreds of branches across the country offer career-focused multi-year diploma courses that allow you to pick and choose from various modules, include training in soft skills, and even promise job placements. These courses, however, are fairly expensive and require serious commitment. On the other hand, short term courses are a great way to pick up secondary skills that will not only help to pad your resume but also give you an edge in your college work. A few months with Photoshop and Illustrator will help you create high-quality graphics for your college Web design projects, and some hands-on experience with hardware assembling and troubleshooting will be a nice balance to a software engineering degree. Everything extra you do will result in a more rounded application and personality, which could work to your advantage in the future.

Such courses are also great for students who feel that their colleges aren't really preparing them for the careers they are interested in, or who didn't manage to get into exactly the course of their choice.

You could also opt for something completely offbeat. Several institutes are beginning to offer courses in ethical hacking, typography, game development, jewelry design, and other things that might not only interest you, but also give you a unique skill that could come in handy later.

09

Exploit your INTERNSHIPS TO THE MAX


If your college doesn’t make it compulsory to do an internship, do one anyway. In fact, try to do more than one! Of course it’s nice to relax and wake up late every day, but summer vacations can also be used productively to enhance your career prospects. On-the-job training is invaluable and is completely incomparable to just classroom experience and college projects. Not only will you get an idea of how the industry works, but you’ll have a glimpse of your own potential future. As an intern you might get stuck doing menial tasks for a while, but if you show good aptitude, you’ll almost certainly be trusted with regular, more important work as well. If you intern at a smaller company, chances are you’ll become one of the team and share in their work. At the end of your time there, you’ll have something you can really show off to future potential employers.

Interning is about more than just showing up at an office and earning a recommendation letter. Take every opportunity you have to chat with everyone from senior managers to fresh staffers. You’ll learn tons about the job, the industry, competing companies, plans and expectations, and the kind of lifestyle you’ll have if you make this your career. It’s important to make friends and stay in touch with them. If they remember you, joining the company as a permanent staffer a year down the line will be a whole lot easier. And because churn is fairly high and people change jobs often, you’ll end up with friends in a whole host of companies who can alert you to job openings and put in a good word for you with their recruiters.

08

Work at a NON-IT OUTFIT


It isn’t the end of the world if all the big IT houses have frozen hiring. There are hundreds of other companies that can use your skills if you’re talented enough. Every company has IT infrastructure that needs to be maintained, so hardware and networking skills are sought after. In-house Web developers can be found in diverse fields, as can database architects and experts in many verticals. As always, you could get noticed and later be pushed to work on bigger and better projects, or you could even wind up influencing all tech-related decisions within the company because your bosses will recognize your skill in areas they don’t fully understand!

Media houses, ad agencies, law firms, hospitality establishments, logistics operations, and pretty much all types of small/medium enterprises and even family business need staff with tech skills. You can help them save money on infrastructure, Web hosting, replacing outsourced skills, information security, new media strategies, SAP implementation, etc. Many companies just don’t know how badly they could do with technically-oriented staff until the potential for improvement is demonstrated to them. So don’t scoff at an offer for a boring-sounding job at a non-IT firm; chances are once you’re inside, you’ll be able to spread your wings.

07

Network, network, network— ONLINE AND OFFLINE

With all the regular channels of interaction such as placement agencies and HR recruiters drying up, it’s important to have your own connections. Well-placed friends and colleagues can alert you to positions that need to be filled and recommend you to their superiors. Stay in touch with your classmates and seniors as well as anyone else in the industry you meet along the way.

One great way to do this is through specialized online social networks such as SiliconIndia, LinkedIn and Ryze. Regularly updating your profile and whereabouts ensures that you’ll be seen in your contacts’ news feeds, keeping you visible and relevant to them. You can also use Facebook and other regular social networks, but remember to restrict access to your drunken party photos: these might work against you when it comes to finding someone suitable for a job. Offline networking is also important. Friends, family, visiting faculty—anyone at all could become a valuable resource. Check out communities in your town or college such as linux user groups, barcamps, and other places where those with common techie interests meet. You could end up impressing someone in a high position.

06

Learn to make JOB SITES WORK FOR YOU

Job sites are widely used by recruiters to select a few promising candidates for any vacancy that might arise. Make sure your profile is visible and relevant by exploiting all the features of the sites, such as supplying the right keywords to make you show up in searches. Regularly updated profiles with as much information as possible will help you get noticed. You can even pay a small fee for preferred listings in many cases.

Job sites also offer plenty of additional help, including articles about proper interview etiquette, job search strategies, tips for negotiating salaries, and even pointers on the kind of brain teasers software companies like to surprise interviewees with.

05

Brush up on your INTERVIEW SKILLS

This is a pretty general tip, but it’s important nonetheless. First impressions count, so make sure you’re on time for your interview, study a bit about the company’s profile and background, and rehearse answers for common questions. Take very opportunity to say something positive about yourself, even when asked “What do people say your worst trait is?”

Carry copies of your resume and recommendation letters, in case they’re required. Don’t jump into salary negotiations or make demands if you aren’t specifically asked what how much you’re expecting. Sit up straight, speak clearly, and don’t fidget with pens or papers. If you get the chance, you can engage the interviewer by asking questions about the work environment, expected projects and clients, and any concerns you might have.

04

Don't underestimate your PORTFOLIO


Just like a recruiter will scrutinize your resume without needing to be technically minded, your potential bosses might not care at all about academic marks. In this case, they’re trying to see how good you are at what you do, and how well you’ll fit in. A slick portfolio or showreel will go a long way in showing off your previous work, even if it’s only academic assignments. Make liberal use of screenshots and captions to highlight any particularly innovative approach to problem solving. If possible (and if suitable to your work), create an interactive Flash demonstration that you can host online as well. Even a simple slideshow of photos could be impressive if done well.

03

Know your basics, KNOW YOUR TRIVIA


It might not sound important, but a lot of interviewers will quiz you on trivia such as Cobol concepts or legacy networking architectures and protocols. This is actually quite a good sign, since it is more likely to occur with smaller companies where you're expected to have more of an individual personality and be less of a code-writing zombie.

The questions asked might be to throw you off, to see what you’ve learnt on your own, or to check your background and the kind of context you have while working on problems. It shouldn't be a negative thing to say you aren’t familiar with these things, but actually knowing them will give you an edge. Besides, if your interviewer is an old timer who likes sharing war stories, you’ll score points by knowing what he’s talking about and laughing along with the inside jokes. After all, you are in the company of geeks!

02

Pay attention to INDUSTRY TRENDS

This one really should go without saying, but it’s one of the most important things you can do. You need to follow magazines, websites, job portals, business newspapers, trade publications and any sources you have within the industry to keep your finger on the pulse of the industry. Do all this for a few months and you’ll be able to predict which niches and verticals require skilled staff and which ones offer the maximum potential for growth. Are there any specializations that are always in demand? Are there any fields with a dearth of qualified candidates? The answers to these questions evolve over time, so you’d do well to track them.

Combining your research with specialized courses could additionally work to your advantage because you’ll give yourself a unique set of talents and you’ll be able to present this to recruiters with confidence. Especially if you’re undecided about what to pursue, you’ll get a lot of insight and might come across something that really captures you interests.

You could even find yourself looking at an extremely fulfilling career outside of mainstream IT, such as technology journalism, legal consultation, PR and corporate communications, teaching, or loads of other areas in which your knowledge and background will give you an edge, while simultaneously letting you avoid the crunch that the IT industry is now facing. Again, it all comes down to being an intelligent, informed person with a well-rounded personality—exactly the kind of thing that impresses recruiters and bosses.

Continuing to keep abreast of the industry and economy will always help you grow, long after you've landed a job and have embarked upon your career.

01 Blaze your own CAREER PATH

Most important of all, don’t just follow the herd! Even at the best of times, you could be hired to just sit behind a desk and churn out hundreds of lines of code everyday alongside a thousand other sheep doing exactly the same thing. If you really want to set yourself apart, you have to rise above the herd and do your own thing. All the tips outlined here will help you become unique and valuable, both inside and outside a tech company. Don’t be afraid to take a lesser-known path; many of the sectors which are still booming today were unheard of niches a few years ago.

If at any point you begin to feel burnt out (like thousands of formerly enthusiastic graduates who joined the BPO industry for its glamor and fat pay packets have been), you can always make a change and switch streams. Once you have your basics in place and you understand how the job market functions, and if you have carefullyl evaluated the risk with the present economic scenario, you can make your jump—although this becomes a lot easier if you have a lot of work experience.

Even if you didn’t graduate in a specific stream or specialization, there’s nothing stopping you from switching paths later on if you really want to. A few people have grown to become CTOs without any formal education in technology at all, and some have left engineering careers to be perfectly happy and well paid in other peripheral or even unrelated fields. Your future is in your own hands, so don’t be afraid to spend time exploring different things before you finally settle on what’s right for you.

Monday, September 14, 2009

Answer : An Interesting C Program and Puzzle

It's a great example of how not to write a program.

#include
_(__,___,____){___/__<=1?_(__,
___+1,____):!(___%__)?_(__,___+1,0):___%__==___/
__&&!____?(printf("%d\t",___/_
_),_(__,___+1,0)):___%__>1&&___%__<___/__?_(__,1+>__<__*__?_(__,___+1,____):0;}main(){_(100,0,0);
}


Guess the output before compiling.

It should
compile
and run but you may find it crashes.

So the puzzle is, what do you need to do to make it run.
Don't change any of the source code.
------------------------------------------------------

Answered by:
Mr.Suhas Sonavane(B.E.-IT)

------------------------------------------------------
Logic

Observe the code, that having underscores but with 2, 3, 4 underscores combination just like for function name they used the single underscore( _ ). For first argument they used double underscore combination ( __ ) for second three ( ___ ) and so on for all variable arguments.
======================================
0:#include 1: _(__,___,____) 2:{ 3: ___/__<=1?_(__,___+1,____):!(___%__)?_(__,___+1,0):___%__==___/__&&!____? 4: (printf("%d\t",___/_ _),_(__,___+1,0)):___%__>1&&___%__<___/__?_(__,1+> 5: (___/__% ___%__))):_ 6: _<__*__?_(__,___+1,____):0; 7:} 8:main() 9:{ 10:_(100,0,0); 11:}
==============================
========
Now see the code line by line...
1: Is the functiona call name as _ (underscore say fun). that having three arguments say __ (double
underscore a), ___ (three underscore b), ____ (four underscore c).
2:opening brace.
3:the magic is begin here.We assume
underscore combination as variable from that we trace the code.
var b/a<=1?fun(a,b+c):!(b%a)?.....
........)) like that upto the last brace of unction)closing brace).
8: main()
9:opening brace of main
10: function call with valid arguments.
11: closing brace.

==============================
To avoid the crash and run the program try cc or gcc compiler.

Wednesday, August 26, 2009

Browse the Web Faster on a Slow Internet Connection

If your current Internet speed is very slow and you are living in an area where broadband connections are still not available, here are some ideas to help you download web pages faster on your computer. You may use the same tips to improve your web browsing experience on a sluggish USB modem.

Surf the Web Faster on Slow Internet

1. Turn off web images, the Adobe Flash plug-in, Java Applets and JavaScript from your browser settings as these files are often the bulkiest elements of any web page.

2. Increase the size of your browser cache. If the static parts of a site (like background graphics, CSS, etc) are stored in the local cache, your browser can safely skip downloading these files when you re-visit the site in future thus improving speed.

3. Sometimes the slow DNS server of your ISP can be a bottleneck so switch to OpenDNSas it can resolve website URLs into IP addresses more quickly. If you aren’t too happy about OpenDNS redirecting your Google queries, follow this simple hack.

4. Finch can serve a light-weight version of any website in real-time that is free of all bells and whistles. For instance, the New York Times homepage with all external resources can weigh more than a MB but Finch trims down the size by 90% so the site loads more quickly on a slow web connection.

5. Flinch (mentioned at #4) is good for reading regular websites but if you just need to check the latest articles published on your favorite blogs, use BareSite. This service will automatically detect the associated feed of a website and render content quickly inside a minimalist interface.

6. The Google Transcoder service at google.com/gwt/n can split large web pages into smaller chunks that will download more quickly on your computer (or mobile phone).

7. Monitor your Internet speed to determine hours when you get the maximum download speed from the ISP. Maybe you can then change your surfing schedule a bit and browse more during these "off peak" hours.

8. You can use a text browser like Lynx or Elinks for even faster browsing. It downloads only the HTML version of web pages thus reducing the overall bandwidth required to render websites.

9. When searching for web pages on Google, you can click the "Cache" link to view the text version of a web page stored in the Google Cache. Alternatively, install this GM script as it adds a "cached text only" link near every "Cached" link on Google Search pages.

10. Move your web activities offline as far as possible. You can send & receive emails, write blogs and even read feeds in an offline environment. Also see: Save Web Pages for offline reading.

11. You can interact with websites like Flickr, Google Docs, Slideshare, etc. using simple email messages. Uploading a new document to Google Docs via email would require less bandwidth than doing it in the browser because you are avoiding a trip to the Google Docs website.

12. Applying the same logic, you may also consider using tools like Web In Mail or Email The Web as they help you browse websites via email. Just put the URL of a page (e.g., cnn.com) in the subject field of your email message and these services will send you the actual page in the reply.

13. Bookmarklets are like shortcuts to your favorite web services. You neither have to open the Gmail Inbox for composing a new email message nor do you have to visit Google Translate for translating a paragraph of text. Add relevant bookmarklets to your browser bar and reduce the number of steps required to accomplish a task.

14. Use the netstat command to determine processes, other than web browsers, that may besecretly connecting to Internet in the background. Some of these processes could be consuming precious bandwidth but you can block them using the Firewall.

15. Use URL Snooper to determine non-essential host names that a website is trying to connect while downloading a web page. You may block them in future via the hosts file or useAdblock Plus to filter out advertising banners on web pages.

16. If you don’t want to spoil your web surfing experience by stripping images and other graphic elements from a web page, get Opera Turbo. It will first fetch the requested web page on to its own server and then send it to your machine in a compressed format. Opera Turbo won’t change the layout of a web site but can lower the image resolution so that they load faster on slow Internet.

17. Change the user agent of your desktop browser to that of a mobile phone like Apple’s iPhone or Windows Mobile. This will help you browse certain web sites like Google News, WSJ, etc. much faster because they’ll serve you a light-weight and less cluttered mobile version of their sites thinking you’re on a mobile phone.

Thursday, July 16, 2009

Goofram Neatly Combines Google And Wolfram Results


As soon as Wolfram Alpha launched as a computational knowledge engine, avid searchershacked up tools to combine its results with standard Google searches. The Goofram site is a clean-looking site that does all that mashing for you.

That’s just about all the main Goofram site provides, although with the two search sites’ results fit well enough to the page that it almost looks like a natural app. If the idea of broad search reach appeals to Firefox users, they can install a Goofram Firefox add-on that automatically brings Google searches back to Goofram. If you just want Goofram for occasional searching, the site also offers a link for installing the site as one of your Firefox quick search box options. Free to use, no sign-up required.

Tuesday, July 7, 2009

Sixth Sense Technology May Change How We Look at the World Forever







Basically, Sixth Sense is a mini-projector coupled with a camera and a cellphone—which acts as the computer and your connection to the Cloud, all the information stored on the web. Sixth Sense can also obey hand gestures, like in the infamous Minority Report.

However, instead of requiring you to be in front of a big screen like Tom Cruise, Sixth Sense can do its magic—and a lot more—everywhere, even while you are jumping hysteric over Oprah's sofa.

The camera recognizes objects around you instantly, with the micro-projector overlaying the information on any surface, including the object itself or your hand. Then, you can access or manipulate the information using your fingers. Need to make a call? Extend your hand on front of the projector and numbers will appear for you to click. Need to know the time? Draw a circle on your wrist and a watch will appear. Want to take a photo? Just make a square with your fingers, highlighting what you want to frame, and the system will make the photo—which you can later organize with the others using your own hands over the air.

But those are just novelty applications. The true power of Sixth Sense lies on its potential to connect the real world with the Internet, and overlaying the information on the world itself. Imagine you are at the supermarket, thinking about what brand of soap is better. Or maybe what wine you should get for tonight's dinner. Just look at objects, hold them on your hands, and Sixth Sense will show you if it's good or bad, or if it fits your preferences or not.

Now take this to every aspect of your everyday life. You can be in a taxi going to the airport, and just by taking out your boarding pass, Sixth Sense will grab real time information about your flight and display it over the ticket. You won't need to do any action. Just hold it in front of your and it will work.

The key here is that Sixth Sense recognizes the objects around you, displaying information automatically and letting you access it in any way you want, in the simplest way possible.

Clearly, this has the potential of becoming the ultimate "transparent" user interface for accessing information about everything around us. If they can get rid of the colored finger caps and it ever goes beyond the initial development phase, that is. But as it is now, it may change the way we interact with the real world and truly give everyone complete awareness of the environment around us.