Friday, November 30, 2007

Which certifications are worth your time?

Project management certs in vogue; tech less so, but security, storage certifications have pull

For years, the key to jumpstarting a network professional’s career was getting a Cisco, Microsoft or other technical certification. But now CIOs, IT recruiters and salary specialists say demand is waning for hardware- and software-oriented certifications.

Instead, companies are looking for IT professionals with business-oriented certifications in such areas as project management and Six Sigma (read about how engine maker Cummins has used Six Sigma to slash IT costs by millions), a statistical quality improvement technique that is being adopted by more IT shops.

"The [Project Management Institute] certification is the big one for us," says Jack Harrington, co-founder and principal of Atlantic Associates, a Boston IT staffing firm. "We see some demand for Six Sigma, but not as much as for PMI. If I had one recommendation about professional development for IT employees, it’s to get a PMI certification because it helps develop broad skills that can be applied across technologies and vertical industries."

Most technical certifications are losing value when it comes to salaries, says David Foote, president of Foote Partners, which conducts IT salary surveys nationwide. As part of its regular surveys, Foote tracks 159 certified skills and 156 non-certified skills to see which affect salaries most.

"Networking certifications lost 4.1% of their value in the last year, 9% in the last two years. That’s pretty horrible. That’s even worse than the average loss across all IT certifications," Foote says. "Networking and communications-related non-certified skills gained 2.8% of value in the last year."

Foote says the trend is a big turnabout from recent years.

"Employees with certifications were earning more than non-certified skills for some time," Foote says. "The last time non-certified skills were more valued than certifications was the third quarter of 2001."

Experts agree that some technical certifications are still worth the time and effort. This includes the Cisco Certified Internetwork Expert (CCIE), EMC Technology Architect and storage-area networking certifications from companies such as Brocade.

"In networking, one of the hottest areas is storage-area networking," Foote says. "Companies aren’t demanding certifications for storage-area networking, but they are looking for people who understand storage-area networking and the role it plays in the enterprise."

Security certifications also are in demand, particularly the Certified Information Systems Security Professional (CISSP) and Certified Information Systems Auditor (CISA).

Security is "certainly a hotbed," says Matt Colarusso, branch manager for Sapphire National Recruiting in Woburn, Mass. "Our clients are looking for hands-on technical people who understand firewalls, VPN set-ups and router controls."

Investing in tech certification

Technical certifications remain valuable enough that most CIOs will reimburse their employees for the cost.

Jeff Ton, vice president of enterprise processes, information and technology at Lauth Property Group in Indianapolis, recently began a certification program for his 25-person IT shop.

"For systems engineers and desktop technicians, they see it as a way of personal growth,” Ton says. “We help pay for certifications. If they get the certification, we give them a bonus. We feel it’s important because we value the employee."

Bob Veeneman, director of IT integrated planning with Blue Shield of California, says about 25% of his IT training budget goes toward technical certifications for IT staff.

"We heavily invest in those," Veeneman says. "It’s good for us, and we’re contributing to people’s increase in knowledge and capability."

But for the future, Blue Shield of California is focusing on business-oriented certifications. The company is training 50 of its directors and managers in Information Technology Infrastructure Library (ITIL) Version 3, a business process model.

And for seven years, Blue Shield of California has required PMI certifications for all of its project managers and project directors.

"The business-oriented certification is in addition to, not instead of, a technical certification," Veeneman says.

Experts say technical certifications are most helpful for entry-level and junior positions.

"Most employers would say that technical certifications are like a great academic record: They may get you noticed and in the short stack of resumes being considered, but it’s what roles you’ve played and what you’ve done on previous jobs that will get you hired," Colarusso says. "We see technical certifications making the most difference in employers filling entry-level positions."

In the case of mid-level and senior positions, on-the-job experience trumps certifications, experts say.

Technical certifications may help you get hired, but "experience matters more," says Henry Eckstein, senior vice president and CIO of York Insurance Services Group in Parsippany, N.J. "People can cram for their certifications and get their certifications. So it’s not just certifications but how long have they had them and how have they used them that matters. Technical certifications are less valuable than experience."

Foote adds: "When it comes to hiring, if you have everything else -- experience with customers, functional experience -- and if you’re not certified, who cares? A lot of people never got certified because they were so busy doing [implementations]."

AddThis Feed Button

Google Mobile Maps PinPoints Your Location Without GPS

Google has been adding features to its maps at a fast and furious pace. Yesterday, it was terrain and wiki-style collaboration for its Web-based maps. Today, it updated its mobile maps to pinpoint your locations by triangulating between cell towers (or if you have GPS on your phone, it uses that, but only 15 percent of phones sold this year even support GPS). I just downloaded the My Location app to my Blackberry (sans GPS), and it pinpointed me to within a block of my location in Manhattan. I’m a little blinking blue dot on the map. Although, if I move around the office, it picks up another set of cell towers and puts me nearly six blocks away. Oh, wait, now it has me nearly perfectly on the right block. Now it has be around the corner again. At least it’s got the right neighborhood—and Manhattan does have a lot of cell towers.

Here’s a video explaining how it works:

AddThis Feed Button

Microsoft Sued Over Halo 3's 'Consistent' Crashes

A San Diego man says Halo 3 is a faulty product that frequently crashes when played on the Xbox 360.
Master Chief better get a good lawyer to go along with his plasma gun.

A San Diego resident who recently purchased Halo 3, which stars the pistol packing super soldier, has filed a lawsuit against Microsoft -- alleging that the company released a faulty product that frequently crashes when played on the Xbox 360.

In court papers filed this week, Randy Nunez charges that Halo 3 "consistently causes the Xbox 360 to crash, freeze, or lock up while the game is being played."

Along with Microsoft, Nunez also is suing Bungie, which developed Halo 3 along with Microsoft and recently spun off from the software maker. The action was filed in U.S. District Court in Southern California.

Nunez said he purchased a copy of Halo 3 at a Gamestop store in San Diego in mid-October. When he tried to play it on his Xbox 360, the system "repeatedly locked up, froze and/or crashed," Nunez said in court papers.

The lawsuit contends that the problem is widespread, and that Microsoft and Bungie haven't taken any steps to fix it.

"Although faced with repeated and mounting consumer complaints and inquiries concerning this operational flaw in Halo 3, the defendants have failed to recall Halo 3 or otherwise remedy its failure to function on the Xbox 360," the suit alleges.

As a result, Nunez charges that Microsoft and Bungie are in violation of consumer protection laws. Nunez is asking the court to give the suit class action status and is seeking unspecified damages.

Microsoft and Bungie have yet to file a formal response to Nunez' allegations.

Halo 3 smashed video game industry sales records when it debuted in September. It took in more than $300 million in sales during its first week on the market, including $170 million in first-day receipts.


Steve Jobs Anointed Fortune's Most Influential Exec

Bill Gates, Eric Schmidt, Larry Page, Sergey Brin, and Mark Hurd also made the top-25 list.

Apple CEO Steve Jobs, the man behind the popular iPod, is the world's most powerful businessman, according to Fortune Magazine's list of the 25 most influential executives.

PepsiCo CEO Indra Nooyi, who reshaped the soft drinks giant, is the most powerful businesswoman, said the magazine, which made its selection partly based on executives' "world-class oomph".

The heads of conglomerates including Procter & Gamble, General Electric, Goldman Sachs, Toyota, Boeing and BHP Billiton made the list, as did the men behind search engine Google -- Larry Page, Eric Schmidt and Sergei Brin -- who jointly came in at number 4.

Following is the Fortune "Power 25" list: 1. Steve Jobs, CEO and Chairman, Apple 2. Rupert Murdoch, Chairman and CEO, News Corp 3. Lloyd Blankfein, Chairman and CEO, Goldman Sachs 4. Eric Schmidt, Larry Page, Sergey Brin, Google 5. Warren Buffett, Chairman and CEO, Berkshire Hathaway 6. Rex Tillerson, Chairman and CEO, Exxon Mobil 7. Bill Gates, Chairman, Microsoft 8. Jeff Immelt, Chairman and CEO, General Electric 9. Katsuaki Watanabe, President, Toyota 10. A.G. Lafley, Chairman and CEO, Procter & Gamble 11. John Chambers, Chairman and CEO, Cisco 12. Li Ka-shing, Chairman, Cheung Kong Holdings/Hutchison Whampoa 13. Lee Scott, CEO, Wal-Mart 14. Lakshmi Mittal, steel magnate 15. Jamie Dimon, Chairman and CEO, JPMorgan Chase 16. Mark Hurd, Chairman and CEO, Hewlett-Packard 17. James McNerney, Chairman and CEO, Boeing 18. Marius Kloppers, CEO, BHP Billiton 19. Steve Schwarzman, CEO, Blackstone 20. Carlos Slim, Chairman, TelMex and Carso Foundation 21. Steve Feinberg, CEO, Cerberus 22. Indra Nooyi, Chairman and CEO, PepsiCo 23. Ratan Tata, Chairman, Tata Group 24. Bob Iger, CEO, Walt Disney 25. Bernard Arnault, chairman and CEO, LVMH (Writing by Miral Fahmy; Editing by Ian Geoghegan)

News By: Reuters

What the Google Intranet Looks Like

What do around 16,000 Google employees stare at in the morning when they’ve arrived at the office? They might be looking at Moma, the name for the Google intranet. The meaning of the name of “Moma” is a mystery even to some of the employees working on it, we heard, but Moma’s mission is prominently displayed on its footer: “Organize Google’s information and make it accessible and useful to Googlers.” A “Googler,” as you may know, is what Google employees call themselves (they have other nicknames for specific roles; a noogler is a new Google employee, a gaygler is a gay one, a xoogler is an ex-one, and so on).

A Google employee in Hamburg (photo taken in mid-2007).

In the beginning, as ex-Google employee Doug Edwards told in a blog post in 2005, Moma “was designed by and for engineers and for the first couple of years, its home page was devoid of any aesthetic enhancements that didn’t serve to provide information essential to the operation of Google. It was dense and messy and full of numbers that were hard to parse for the uninitiated, but high in nutritional value for the data hungry.”

Here’s a picture of the Moma homepage that we got hold of – please note that large areas have been grayed out or whitened out:

On the top of the Google intranet homepage, you’ll find the logo reading “Moma - Inside Google.” Next to it is a search box allowing you to find information from Moma in general, information on specific Google employees, information on availability of meeting rooms, building maps and more. You can choose to include secure content or not via a checkbox. Another checkbox offers you to use “Moma NEXT" for a more experimental variant of search results.

To the top right, there’s an option to switch to iMoma, an iGoogle-style tool prepared by the company which allows further customization of the intranet start page. This way, employees may be able to select their own news and service widgets of interest to be displayed when they log-in.

The actual content of the homepage in the picture is split up into 4 columns. To the left, there’s a “My Office” section, with information for employees and a way to choose your own office for more relevant links. It’s followed by the sections “Survival Kit” and “My shortcuts.” In the middle columns, news gadgets are headlined “Welcome to Google!,” “Communications,” “HR” (human resources), “Company Info” and “Internal Google news,” all in common soft shades of Google base colors. The right column is listing Google teams.

Searching Moma

When you perform a search on Moma, you will see a result similar to the following; this screenshot, which was edited by Google to include comments, has been published by the Google Enterprise Blog in a post of theirs in July to show-case the kind of functionality available:

On the image, you will see a “universal search" style result including employee information, bookmark results, documents hosted on Google’s intranet, and a list of related queries. Users get to choose between ordering by date or by relevance. One can also limit the results to different segments like “Tech,” “Official,” or “Community.” Google in their blog said the use the Google Search Appliance to power this service.

Ex-employee Doug Edwards mentioned how he came to take for granted everything was available on the intranet, “from the status of products in development to the number of employees at any point in the company’s history.” He adds that the transparency was also a motivator, as “Your failures are also visible to everyone in the company, which provides an even greater motivator to continuously improve performance in the areas for which you are responsible.” These days however, as Doug writes, Google “clamped down on who had access the complete state of the business.”

The following photo shows a result for what seems to be an employee search. The photo is used with permission from Zach at, though Zach tells me it had been anonymously submitted to him (note we added blurring to the phone numbers of the zoom version):

On the employee results page, everyone is listed with their name, a photo, their job title, telephone number and more. Clicking through to an employee lands you on their full profile page. Ex-Googler Doug Edwards remembers how many Google employees used “alternative images and titles" for their Moma listing. “I recall photos of samurai warriors and masked figures with titles like ’Shadow Ops’ and ’Black Ops.’ These were later weeded out as part of an upgrade”.

Employee data may also be rendered in different forms. Below is a screenshot we first posted on in February of an internal application called Google Percent:

This service simply shows how many employees are newer than a particular other employee (some areas in the image have been blackened out).

How employees access the intranet

Photo courtesy of Zach, again. The dialog reads, “Many internal apps. One login page.” The input boxes ask for the user’s LDAP (Lightweight Directory Access Protocol) credentials.

A Google employee can log-in to the intranet from within the office, or with a so-called Virtual Private Network (VPN) connection. This connection comes pre-installed on laptops Google hands out, and can be reached via a desktop icon. A Google employee is required to authenticate their sign-in with account credentials.

From within a Google building, an employee may likely reach the intranet via the address We previously found out Google additionally uses many sub-domains in their intranet, like,,,,, You may also likely just enter e.g. “m” (which maps to “http://m” which is “”) to be taken to a service like your Gmail-powered email account.

Externally, like from a laptop at a conference – or if you’re one of the employees mainly working from home, as there are some – employees can access the VPN servers located on sites like Mountain View or Dublin, Ireland, with different hostnames each like or (we depleted part of the hostname).

Google “eating their own dog food”

Google employees use many of the tools Google produces. They even have launched an internal “dogfood” campaign in 2006. But what they see may be newer versions of the services than those released to the outside.

Photo by Andrew Hitchcock from July, Creative Commons-licensed (edited for brightness/ contrast).

If you work in a team for a product, you may also get a prototypical version of the service. Below for instance is a screenshot from a nightly build of Google Spreadsheets – codename “Trix” – which we were able to take a look at (note several areas in this image have been grayed out):

In above image you can see the disclaimer “Warning: This is NOT production. Data can be lost.” Special links to debug windows are offered to developers as well, one of them being opened in the screenshot. Google employees also get to see previews of completely unreleased tools, such as wiki service JotSpot (which is being integrated into Google Apps), or Platypus, the internal Gdrive client for file-sharing.

For code reviews, Google created Mondrian, a “Perforce backend with some custom Google wrappers on top,” as Nial Kennedy, who shot the following photo (Creative Commons-licensed), notes:

And the following image shows Google in-house tool Trax (this is part of a larger photo by Google employee Andrew from Flickr, but it is not available anymore; we’re not quite sure how this tool works or what it achieves):

But, Google doesn’t just use their own tools. For instance, we came across information indicating that many Google employees prefer social network to their own production, Orkut (e.g. some Google employees considered Orkut too spammy, or too buggy in the past).

If a Google employee encounters trouble with any Google tool, they can call their internal support hotline named “Tech Stop.” The hotline promises 24-hour availability. Numbers like +1 877... (last part depleted) are partly toll-free and partly with toll, and accessible from all over the world. Internally, a Google employee may also simply press 3-HELP (3-4357). Tech Stop centers aren’t just located in the US, but also in places like Hyderabad, India.

Tech Stop support wasn’t always that luxurious though, as Doug Edwards noted in another article. When he left the company in 2005, a supportive Tech Stop was available in every building – but in the beginning when he joined, he notes that for instance not all operating systems were supported. When you were facing an issue with corrupted Windows DLL files, a common response was, “Why aren’t you running Linux?”

Stop writing garbage HTML!

In a world full of broadband connections, it can be tempting to let your page weight to creep up a bit. While a bit more heft in a page is probably acceptable, it still is silly to write wasteful HTML. Wasteful HTML needlessly increasing bandwidth bills, increases load times, and can (depending on how it is done) increase the browser render times.

One of the things I noticed on a project that I am currently working on, is that the HTML generated dynamically is about three times as large (measured in KB) as it needs to be, primarily due to whitespace. It is not the kind of whitespace that HTML writers put in to make things easy like indentation. It is just wasteful whitespace. For example, in one generated table, for every table cell, there are about 40 lines with 30 – 50 spaces per line between the tags. On this particular page, just removing the uselessly generated whitespace would reduce the page weight by 50%. On the same page, there are tables with alternating row colors. Instead of defining two cell classes in an external style sheet which gets downloaded once as cached, and using the right class in the tag, the HTML writers used an inline style attribute on every row tag. Wasteful!

All said and done, this particular page is about three times as heavy as it needs to be, simply due to poor coding. And that does not even touch the JavaScript which could and should be stored in an external file. Another killer is that many dynamic Web pages are set to not be cacheable, which means that instead of being wasteful one, they are wasteful on every page view. I can understand that many dynamic pages should not be cached. But on these types of pages, it is especially crucial that the HTML be kept to an acceptable minimum.

These kinds of coding practices are what separate the “shake ‘n bake‿ programmers from even the moderately decent ones. There is absolutely no acceptable excuse for this kind of coding. Not only is your HTML or templates more difficult to maintain, but all of the inline JavaScript and CSS styling discourages reuse, standardization, and other good habits. It also makes a site significantly harder to maintain. It makes for a miserable user experience. And it sends the bandwidth bills through the roof. Not only should you be writing better HTML, but if your Web server has the CPU power to spare, you should turn on HTTP compression. HTML compresses quite well. In addition, you may want to investigate a post-processing engine (again, CPU needed for this) that strips all unneeded whitespace, comments, and other cruft from your HTML output. Even if none of that is an option, consider using such a weight reducer at the time of deployment on your static pages and templates, to reduce the page weight. Such a system would probably be under ten lines of Perl to write; for this particular project, this ten line Perl script can save my employer probably 50% on their bandwidth bills for this particular project. Who can object to that?

courtesy @TechRepublic

Sun’s Java certifications: Are they worth the effort?

Sun’s Java certification track

Sun’s Java certifications are designed to be focused on particular roles in the software development cycle and, therefore, are more useful than all-in-one certifications such as IBM’s XML certification.

Sun currently offers eight Java certifications, which are classified by level and specialization. Most of the certifications require you to pass a multiple choice exam, but some also require you to write an essay. It is recommended to have six to twelve months of actual job experience before attempting to pass any exam.

  • Sun Certified Java Associate (SCJA): This entry-level exam certifies only knowledge of basic Java language concepts and general knowledge of Sun platforms.
  • Sun Certified Java Programmer (SCJP): At the “foundation” level, there are exams for Java 1.4 and Java 5.0. These exams certify solid knowledge of the Java language. (Note: It is not required to have SCJA to get SCJP, which makes me wonder why SCJA certification is needed at all.)
  • Sun Certified Java Developer (SCJD): Many employers may focus on this level of certification for two reasons: You need to be an SCJP (any version) before you can try to become an SCJD. Also, the SCJD requires candidates to develop a small business system according to the problem and write an essay defending the solution and explaining the design and programming decisions.
  • Sun Certified Web Component Developer (SCWCD): This exam can be of interest for Web developers who specialize in using Java technologies such as Java Server Pages (JSP) and servlets. SCJP is a prerequisite for taking this exam.
  • Sun Certified Business Component Developer (SCBCD): This certification, which consists of only one exam, is the kernel of J2EE certification — as long as it certifies your knowledge of Enterprise Java Beans (EJB). The exam is pretty hard to pass if you do not have any Enterprise JavaBeans (EJB) project experience. SCJP is a mandatory prerequisite. This certification can be of interest to employers who use EJB for project development.
  • Sun Certified Developer for Java Web Services (SCDJWS): This certification is for Java developers who build Web services. You have to take one exam for this certification, and SCJP is a prerequisite.
  • Sun Certified Mobile Application Developer (SCMAD): This is a certification for developers of Java applications for cell phones or any other devices containing J2ME onboard. You have to take one exam for this certification, and SCJP is a prerequisite.
  • Sun Certified Enterprise Architect (SCEA): This is what the Sun certification program is all about. This certifies enterprise architects responsible for architecting and designing J2EE-compliant applications from scratch. There are no prerequisite requirements even though it is the most advanced certification. In fact, if you cannot pass any of the previously listed certifications, you will never succeed with this one. To achieve this certification, candidates must complete three steps: a multiple choice exam, a development assignment similar to SCJD (but on a much larger scale), and a final essay exam where you will defend your solution.

See the Sun Microsystems Web site for more information about Java certifications, including the cost of the exams.

Is the effort you expend worth the result?

I have two Java certificates: SCJP and SCWCD. I earned the first certification while I was student at university; my professor awarded students with vouchers for attempting to take the SCJP exam. With the second certification, Sun contacted me about its new certification program and invited me to assess my skills for free (and take the actual exam) in exchange for my feedback about the questions and about the certification itself.

I think both of my certifications are pretty much useless pieces of paper. The main reason why I got these certifications was to prove to myself that I am proficient in Java. While preparing for these exams, I learned a lot; also, since I was engaged in real production projects at that time, I immediately started applying my newfound knowledge. This is the only reason why I would recommend that Java developers pass the entry- and mid-level exams. None of my employers showed interest in looking at my certifications.

The SCEA certification, however, is a completely different story. If you peruse career sites, there are lot of vacancies for which SCEA is considered highly desirable. Developers can only earn this certification after having a lot of experience in software architectural design and working with J2EE, i.e., with a broad range of Java technologies. SCEA is the most attractive certification for developers who are seriously thinking about becoming a software architect. I don’t think the other certifications offer much value.

It’s been my experience that most employers will overlook your certifications unless your resume shows that you have hands-on experience working with a particular technology. At the other end of the spectrum, I have seen examples of successful career building on the base of certifications. In my opinion, this is more a question of a particular certification program and particular holder’s attitude to the certification. Most IT pros take certification exams more for self-learning than for their employer.

courtesy @TechRepublic

Thursday, November 29, 2007

Did The Wall Street Journal sabotage businesses by publishing tips on how to circumvent IT?

In the Monday, July 30, edition of The Wall Street Journal, there was a special section on technology that led with the article “Ten Things Your IT Department Won’t Tell You” by Vauhini Vara. If you haven’t read the article, you should take a look because some of your users may have have already seen it, and as a result they may be engaging in activities that put themselves and your IT department at risk.

The Journal Report front page for Monday, July 30, 2007

Here is the list of the 10 items in Vara’s article:

  1. How to send giant files
  2. How to use software that your company won’t let you download
  3. How to visit the Web sites your company blocks
  4. How to clear your tracks on your work laptop
  5. How to search for your work documents from home
  6. How to store work files online
  7. How to keep your privacy when using Web email
  8. How to access your work email remotely when your company won’t spring for a BlackBerry
  9. How to access your personal email on your BlackBerry
  10. How to look like you’re working

Vara breaks down each item into four sections — The Problem, The Trick, The Risk, and How to Stay Safe.

Make no mistake, this article was extremely popular. The Wall Street Journal publishes its list of the Most Viewed and Most Emailed articles on for each day, and for July 30, “Ten Things Your IT Department Won’t Tell You” was one of only two articles that made the top five on both lists. It was No. 1 on both.

Sanity check

The problem is that the information in this article is unequivocally damaging for businesses and their IT departments, as well as for the users that The Wall Street Journal is supposedly trying to serve.

While I am generally a fan of The Wall Street Journal — and its tech coverage is typically rock solid — I was very disappointed by this piece. Although it did not reveal any information that couldn’t be found elsewhere, I don’t like the fact that the Journal spoon-fed a bunch of dangerous tips to users and all but encouraged a quiet revolt against the IT department.

A few of Vara’s tips are fairly innocuous, such as “How to send giant files” and “How to clear your tracks on your work laptop.” In fact, many IT pros could pass those items to users along with some tips of when and how to use them. The large file issue can ease the burden on e-mail attachments and storage and the “clear your tracks” tip can be turned into a good privacy and security practice.

However, several of the other tips are dangerous to the point of idiocy, especially “How to use software that your company blocks,” “How to visit Web sites your company blocks,” “How to search your work documents from home,” and “How to access your work email remotely when your company won’t spring for a BlackBerry.”

The issue of showing users how to access software and sites that the company has filtered is a recipe for disaster. Often the stuff that is banned is banned because it can introduce spyware and malware to the system or it can bog down the computer and/or the network. When users find ways around that, they introduce significant security and privacy risks to the company, and they can potentially decrease their own productivity by clogging up their machines with spyware and adware.

In terms of “How to search your work documents from home,” Vara recommends using Google Desktop to sync documents between a work PC and a home PC. That might be okay for a few consultants and small businesses, but it’s a terrifically bad idea for anyone in the corporate world (The Wall Street Journal’s core audience). The implications for privacy, confidentiality, and compliance are severe and serious, especially if any of the files involved contain customer or financial data. Plus, there are easier ways to handle the issue that preserve security, such as a VPN connection and Remote Desktop from a home PC to a work PC.

And then there’s the issue of “How to access your work email remotely when your company won’t spring for a BlackBerry.” Forwarding work e-mails to personal e-mail accounts and devices — as the Journal article advises — is another potential disaster waiting to happen. It raises the same issues of confidentiality and compliance because when you forward all mail, it is very likely that you’ll end up sending customer data and corporate financial information to your personal accounts.

While the Journal article ostensibly shows some responsibility and restraint by including sections on “The Risks” and “How to Stay Safe” for each of the 10 items, the author either does not fully understand all of the security and compliance risks involved or simply chose to make light of many of them. Either scenario is a strong indictment against the article.

The compliance issues, while mentioned in the article, are much more serious than Vara seems to realize because they can expose a company to major financial risk (in the form of fines, lawsuits, and legal fees). Likewise, the security issues are much more serious than the Journal article presents them. Hackers have gone professional (and in some cases joined forces with organized crime) and are out there looking for employees and companies to steal data from and use for blackmail or money laundering. The TJX security scandal could serve as a sober warning to that effect, once all of the details come to light.

While users often get frustrated with the IT department and the restrictions that it puts in place, the answer is not to train people how to make an end run around IT. In many companies, there’s already too much of a disconnect between IT and the rest of the organization because of the fact that IT often plays the role of a police officer — to serve and to protect.

The root problem that The Wall Street Journal was trying to address is that many users want and need to do some personal computing on their work machines and/or access work apps and data from their home machines or devices. That’s a reality that businesses and IT must face, and they must come up with some workable solutions.

Since many of today’s users access their e-mail and work during “off hours,” it’s certainly reasonable that they should also be able to do a little bit of personal computing during company time. There simply needs to be a safe and relatively easy way for them to do it. Some companies have solved this with separate virtual machines, using VMware or Virtual PC or a Web-based solution like Other solutions need to be explored, and big players such as Apple and Microsoft, as well as small vendors with creative solutions, need to all be involved. This will be an important part of the next generation of operating systems, devices, and a borderless information security strategy.

For The Wall Street Journal, which depicted itself as a “public trust” during its recent acquisition tug-o-war with News Corp, fueling a turf war between IT and its users is not the kind of journalism that meets the high mandate it has set for itself.

For IT departments, the genie is out of the bottle on many of these tips and tricks that allow users to circumvent IT procedures. As a result, IT departments need to aggressively partner with employees, educate them on the severity of security and compliance risks, and find ways to meet the needs of users whose computing experience now overlaps between work and home.

What do you think about The Wall Street Journal’s list? How do you think IT can help users bridge work computing and home computing while still maintaining data security?

courtesy @TechRepublic

Wednesday, November 28, 2007

Google Reportedly Plans To Offer Online Storage Service

The product would be a kind of umbrella service for the storage Google already offers with some of its Web-based applications, such as e-mail and photo sharing.

Google is planning an online storage and backup service that would essentially offer people a Web-based hard drive for accessing and sharing information that resides in their home computers.

The product would be a kind of umbrella service for the storage Google already offers with some of its Web-based applications, such as e-mail and photo sharing, the Wall Street Journal reported Tuesday, quoting anonymous sources. No timetable was given, and there was no guarantee that future developments wouldn't cause Google to shift tack or cancel the project.

Google has declined comment on the report.

Online storage and backup services aren't new to the Web. Google rivals Microsoft and Yahoo offer services called SkyDrive and Briefcase, respectively. In addition, there are a variety of niche players, such as; and companies like Mozy that provide a fairly extensive backup service.

Google, however, believes it can differentiate itself by developing a user interface that's easier to use than other services. One obstacle that Google may not find a way around is the slow upload times for many broadband connections, particularly DSL. If a person, for example, creates large video files, then it may take hours, if not more than a day, to upload files to Google, like any other online storage service.

The report on the effort, which according to the Wall Street Journal was known internally at Google as "My Stuff," comes three months after Google started offering paid storage options for its Web applications. Users of Picasa Web Albums and Gmail, for example, could pay annual fees of $20 for 6 Gbytes, $75 for 25 Gbytes, $250 for 100 Gbytes, and $500 for 250 Gbytes. Picasa offers 1 Gbyte of free storage, and Gmail gives users 2.8 Gbytes at no charge.

Google unveiled its storage options shortly after Microsoft launched its free online storage service SkyDrive, which offers 500 Mbytes. At about the same time, Apple upgraded its .Mac service to include 10 Gbytes for $100 per year.

It's unclear how Google's new offering would compete in price and features with its competitors' services. But the growing number of online storage options indicates vendors see a lucrative opportunity. In the case of Google, knowing more of what's in a person's hard drive could broaden the possibilities for targeted advertising.

Google's Goal: Renewable Energy Cheaper than Coal

Creates renewable energy R&D group and supports breakthrough technologies

Mountain View, Calif. (November 27, 2007) – Google (NASDAQ: GOOG) today announced a new strategic initiative to develop electricity from renewable energy sources that will be cheaper than electricity produced from coal. The newly created initiative, known as "RE
"We have gained expertise in designing and building large-scale, energy-intensive facilities by building efficient data centers," said Larry Page, Google Co-founder and President of Products. "We want to apply the same creativity and innovation to the challenge of generating renewable electricity at globally significant scale, and produce it cheaper than from coal."

Page added, "There has been tremendous work already on renewable energy. Technologies have been developed that can mature into industries capable of providing electricity cheaper than coal. Solar thermal technology, for example, provides a very plausible path to providing renewable energy cheaper than coal. We are also very interested in further developing other technologies that have potential to be cost-competitive and green. We are aware of several promising technologies, and believe there are many more out there."

Page continued, "With talented technologists, great partners and significant investments, we hope to rapidly push forward. Our goal is to produce one gigawatt of renewable energy capacity that is cheaper than coal. We are optimistic this can be done in years, not decades." (One gigawatt can power a city the size of San Francisco.)

"If we meet this goal," said Page, "and large-scale renewable deployments are cheaper than coal, the world will have the option to meet a substantial portion of electricity needs from renewable sources and significantly reduce carbon emissions. We expect this would be a good business for us as well."

Coal is the primary power source for many around the world, supplying 40% of the world's electricity. The greenhouse gases it produces are one of our greatest environmental challenges. Making electricity produced from renewable energy cheaper than coal would be a key part of reducing global greenhouse-gas emissions.

"Cheap renewable energy is not only critical for the environment but also vital for economic development in many places where there is limited affordable energy of any kind," added Sergey Brin, Google Co-founder and President of Technology.

courtesy @

Use these techniques to build a high-performing team

High-performing teams are a magical, but rare, convergence of the right people, processes, and environment. They work much more effectively and have a much higher productivity rate than most teams. Best of all, they are extremely fun and motivating to work on.

There are some common characteristics of high-performing teams. Knowing these characteristics can help you move your team down this path.

Set common objectives. Teams cannot perform at a high level unless all of its members are striving toward a common set of objectives. Even if members of your team do different jobs, you can usually write a set of objectives that will encompass all of them. If possible, the team should also be rewarded based on achieving this common set of objectives.

Establish good internal work processes. You can’t build consistently good products or deliver good services with poor work processes. The high-performing team has a set of internal processes that guide how members act and react in particular circumstances. For instance, if problems arise, they know how to invoke problem-solving techniques. If a customer makes a request for a change to specifications, they know to invoke scope change procedures.

Instill good work ethic. This probably goes without saying. High-performing teams rarely form in an environment where people complain about their workload or where team members complain about the work habits of other team members. High-performing teams find the challenges associated with their work and work hard to complete their assignments within expectations.

Keep everyone focused. The high-performance team is focused on the objectives and the deliverables, and understands how to achieve them. They don’t get sidetracked by rumors or politics. They don’t get absorbed in gossip. They don’t spend more time complaining than working. They know what is expected of them and do the best they can to meet those expectations.

Strive toward a balanced set of key skills. A high-performance team has all the skills needed to complete the work on its plate. Team members have the skills needed from a technical standpoint, as well as the right set of role-based skills. For instance, it’s hard to be a high-performance team when everyone wants to be the Team Leader. If some of these “leaders” are asked to build deliverables instead, they may not have the right skills or the right motivation for the team to be successful. In a high-performing team, people understand their strengths and weaknesses, but they’re also willing to work outside their comfort area when needed.

Foster mutual respect. Members of high-performance teams typically get along with each other and like each other. They have respect for each other and trust that the others are working as hard as they are. They assist other team members when they’re in need and understand that team members will do the same for them if needed.

Tuesday, November 27, 2007

What causes a great performer to go sour?

A lot - maybe most - of my work for companies has to do with “remedial” coaching. In HR-speak, this translates to something like, ” He/she was really good for a while; but now they just aren’t performing at the level we need. If they can’t get back in the game, we probably won’t be able to keep them. We want you to help them to get re-engaged.”

Occasionally, I am also asked to work with stellar performers to help them move up the ladder more quickly. But those situations are few and far between. I think this simple fact says a lot about most organizations and their management styles. And what it says is important…..

See if this next sound bite sounds familiar - you may have had it said to you; or you may have said it to a member of your own team:

” (Insert name here), you’re doing a great job! We’re very impressed with the way you get things done; and to show you that we think you’ve got real potential, we’re going to let you take over a bigger responsibility. You’ve shown us you have the skill, talent and dedication to move forward in this organization and we like that. So, here you go - more people working under you (or more job scope, or more dollars in a bigger budget, or more whatever). We’re going to keep an eye on you (insert name again) and if you perform like we think you’re gonna; we’ll keep giving you more responsibility. Everyone will see that you are a key player.”

In most cases, the person who was given this new extra responsibility is very happy with the verbal pat on the head and moves into her or his new role with great enthusiasm.

Often, they continue to excel and the boss sees this. And then to show appreciation, the boss gives the high performing person another level of responsibility or a promotion. And both sides feel good again. But this is where things may get a little sour.

Some people refer to what happens next as The Peter Principle in action. If you’re not familiar with the term it’s from Dr. Laurence Peter, who said back in 1968 that “..every employee tends to rise to his level of incompetence.” Peter intended it to explain the upward, downward, and lateral movement of personnel within a hierarchically organized system of ranks. You have probably seen this occur - may have had it in your own career. This is when the HR department calls on a success coach to help “fix” the situation.

I don’t think Peter’s concept was exactly sound however because it contends that the team player was responsible for the poor outcome. I believe that the manager is the one responsible for the situation when the team member started to fail.

Many managers do this when they should do precisely the opposite. They take their great players and burden them, little by little, until they finally go sour. They use the great ones to offset the weaknesses of other team members, picking up more work while the slackers or incompetents get away with doing less. Often what occurs is that the great ones end up working 10 or 12-hour days and the weak links in the chain get to work 8 or 9 hours because they have less to do.

Inadvertently, the stars get penalized for being stars!

What to do?

1. Re-think your use of talent. When you’ve got a great one under you; use them to help you run a better group.
2. Rather than job enlargement - go for job enrichment. Give them juicy-but-challenging special projects that will help develop new skills.
3. Or let them have the luxury of time to help you by studying and examining processes or tasks to determine how they can be improved.
4. Let them see that you value them by treating them special. They’ll perform with continually renewed enthusiasm which helps make you shine at the same time.
5. And when they need some help that you or others can’t provide, bring in others from the organization or even outsiders to mentor and coach them to help them grow even more quickly.

Your organization will gain a reputation as a place where people want to work. You will attract and retain the best available.

Adobe AIR brings the Web to the desktop

One of the points of my article about the qooxdoo JavaScript library was the concept of building Web applications with a rich user interface that mimics desktop applications. This is good if you want to mimic the look and feel of a desktop application within a Web page. On the flip side is bringing the Web to the desktop - that is, leveraging Web development skills on the desktop. The Adobe Labs has released the Adobe Integrated Runtime (AIR), which provides this functionality.

Adobe describes AIR as a cross-operating system runtime that allows developers to leverage existing Web development skills to build and deploy rich Web applications to the desktop. It provides support for Flash, Flex, HTML, JavaScript, and AJAX.

Getting it

To get started with AIR development, you must install the AIR runtime on your computer. Once it is installed, you may download sample applications to see AIR in action and possibly take a peek under the covers at its code.

There are two downloads relevant to AIR development:

  • Runtime provides the runtime environment for running AIR applications. Downloads are available for both Windows and Macintosh operating systems.
  • Software Development Kit (SDK) provides everything necessary to build AIR applications. This includes templates, Adobe AIR APIs, and debugger and developer tools. The SDK is available for both Windows and Macintosh platforms. The command line debugger and developer tools require a Java installation (JRE or JDK version 1.4.2 or newer).

Additional downloads are available that allow you to build AIR applications within specific Web development tools:

  • Adobe Flex Builder 3: Includes support for building Flex applications on Adobe AIR from within Flex Builder.
  • Adobe Flex SDK: Allows you to build AIR applications via Flex.
  • Adobe AIR Extension for Dreamweaver CS3: Adds support for building AIR applications within Dreamweaver CS3.
  • Adobe AIR Extension for Flash CS3 Professional: Allows you to build AIR applications with Flash CS3 Professional.

In addition, a plug-in is available for the Aptana IDE. Once the runtime is installed, you can easily install and run AIR applications, and the SDK allows you to build AIR applications.

AIR HTML application basics

This article focuses on using standard Web technologies HTML and JavaScript to build an AIR application. AIR uses WebKit to parse, layout, and render HTML and JavaScript content. The AIR API provides host classes and objects for providing desktop applications functionality like reading and writing files and managing windows. In addition, an HTML-based AIR application has the Flash API available to it.

An important distinction of HTML-based AIR applications is that the use of the AIR API is optional. That is, you may choose to use only standard HTML and JavaScript to build an application and run it via the AIR runtime. The runtime includes an HTML renderer and JavaScript interpreter in addition to other features.

There are at least two files in every HTML-based AIR application. The first is an application descriptor file that specifies the application metadata via XML. The second file is a top-level HTML page. Also, AIR provides a JavaScript file (AIRAliases.js) that provides aliases for AIR API classes. More robust applications will include more files like Web pages and JavaScript code.

The AIR SDK includes plenty of sample code for getting a feel for the platform. The following sample code is included in the documentation to get you going with a first, simple application (the ever present Hello World demo).

The following descriptor file provides the details of the application. It references the AIR namespace and assigns a name to the application (Hello World!). The initalWindow element defines application startup behavior as an HTML file (Hello.html) is loaded.

The HTML file (Hello.html) defines the user interface displayed when the application is launched via the AIR runtime. First, the JavaScript aliases file is included to make it easier to work with AIR classes. Next, the JavaScript appLoad function defines what happens when the application loads (function called by onLoad event of page).

The JavaScript function loads data from a simple text file via AJAX and places the text from the file in the HTML element with the ID called replace.

Once the application is developed, the AIR command line tools can be used to package and distribute it. The AIR Developer Tool (ADT) creates installation packages, but it requires a digital certificate.

A simple approach

The AIR platform offers a great approach to building desktop applications. I love the fact that it allows me to use existing skills like HTML and JavaScript.

The AIR API offers additional functionality for building client interfaces. The API is JavaScript, so it is easily used within your application. While the qooxdoo approach is the exact opposite, I find the AIR model much more intuitive and easy-to-use. Everything necessary to get started with AIR is freely available online.

Leverage existing skills

A key point of AIR is the ability to port Web development skills to desktop development. Also, using Web technologies like HTML and Flash deliver a familiar interface to users, and developers do not have to spend time learning a new technology such as Microsoft .NET for thick client development. Another strong point is the cross-platform support that is not readily available in other development platforms. If you are interested in desktop applications, take a look at AIR.

The Web browser has evolved into the de facto standard application interface these days, but client applications are still necessary. Have you been faced with developing applications for the desktop? Have you taken a look at AIR?

Highly superior gifts for the Linux geek

  1. Lockpick Tool Set - I’m not giving you any suggestions for how this might come in handy.
  2. Ubuntu with Support - If you’re a true believer, and money is no object, you not only can give a copy of Ubuntu to friends or family, but spring $250 for a year’s desktop support to completely win them over.
  3. Daisy MP3 Player Kit - It’s Cracked Open before we crack it open!
  4. Giant penguin - I think this is self-explanatory.
  5. Star Theater 2 - Creates a home planetarium on your walls and ceiling. BABE MAGNET.
  6. Storm Hawk - PDA-based real-time weather forecasting and monitoring system that delivers weather info for your surrounding (250 miles) area. Expensive, but very handy — it could even be a lifesaver — and super-geeky.
  7. The Design of Future Things - Donald A. Norman, a Computer Science prof at Northwestern University has written this new book about what’s wrong with the design of emerging products like “smart” cars.
  8. Basic Black Tee - It’s very slimming.
  9. Screaming Monkey Slingshot - I like the looks of this little guy. It makes annoying sounds and is capable of flinging random objects at The Man…or maybe just your coworkers.
  10. USB Mini Lava Lamp - It’s a lava lamp — and it plugs into your computer! Awesome.

Master Tutorial to Make Your Windows XP Super Fast

This tutorial is meant for increasing the performance of Windows XP, either it can be a fresh installed windows or an old windows.

Actually these r some tips/tricks, which I always apply whenever I do a fresh installation of windows. So here I’m sharing many of those tips-n-tricks:

1.) First I’ll tell some Registry tricks, which can be applied without any problem or doubt and I believe these tricks will surely help in increasing the performance of ur windows. Just download the attached ZIP file, extract it and then run the file:

2.) Right-click on Desktop and select Properties, Now in the new window goto Appearance tab and click on Effects button. Now in the new opened window uncheck the following options:

a.) Use the following transition effect for menus & tooltips.
b.) Show shadows under menus.
c.) Show window contents while dragging. (you may remain this option checked as I hv in my screenshot. It depends upon ur choice.)
d.) Use the following method to smooth edges of screen fonts. You may select “Standard” for this. I hv selected “Clear Type” coz I hv a TFT, it doesnt work properly for CRT monitors.

3.) Right-click on My Computer icon on Desktop and select Properties (or press key + key), now goto Advanced tab in new window and click on Settings button in Performance section:

Now uncheck all the options in Visual Effects, but u can remain following options checked acc. to ur choice:

a.) Show window contents while dragging.
b.) Smooth edges of screen fonts.
c.) Use common tasks in folders (If u use the left side pane in My computer, I don’t use it.)
d.) Use drop shadows on icon labels on the desktop. (to make the desktop icons label transparent.)
e.) Use visual styles on windows and buttons. (If u use XP themes.)

4.) Open Tools -> Folder Options and click on View tab:

Now uncheck following options:

a.) Automatically search for network folders & printers.
b.) Display file size information in folder tips.
c.) Display simple folder view in Explorer’s Folders list.
d.) Show encrypted or compressed NTFS files in color. (I don’t use this option.)
e.) Show pop-up description for folder and desktop icons.
f.) Use simple file sharing.

Other remaining options are totally based upon user’s requirements, they usually don’t affect the performance! So u can enable/disable them acc. to ur requirements.

5.) Right-click on My Computer icon on Desktop and select Manage. Now goto Services & Applications -> Services. Here you can set many services to Manual, which u don’t want to start as soon as the windows starts. Following is a thread, in which I posted a small tutorial for knowing about which service should be set to MANUAL and which should be set to AUTOMATIC:

Windows XP Services that can be Safely set to MANUAL

6.) Start -> Run and type msconfig, now goto Startup tab and uncheck the entries, which u don’t want to start automatically with the windows, like u can get display settings utility entry there, and many more.

7.) Open Sound & Audio Devices in Control Panel (or type mmsys.cpl in RUN), goto Sounds tab and select No Sounds in Sound Scheme section. Or u can remain some of ur favorite sounds there but set Exit Windows, Start Windows, Windows Logoff, Windows Logon to (None).

8.) For more options/tips-n-tricks for better performance, u can use TweakUI, Tuneup Utilities 2006 and gpedit.msc (Windows XP Professional built-in tool)!

Microsoft set to ship Visual Studio 2008 and .NET Framework 3.5

Microsoft is set to ship the next version of its Visual Studio IDE (Integrated Developer Environment) and .NET Framework. Visual Studio 2008 comes packed with more than 250 new features while .NET adds SOA, Web 2.0 and SaaS.

Features in Visual Studio 2008 include:

  • Support for LINQ : A new Language Integrated Query (LINQ), to handle query operations directly from the various languages supported within .NET.
  • Write applications that work with multiple versions of .NET Framework such as 2.0, 3.0 and 3.5.

Features in .NET Framework 3.5

  • Support for Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) and Windows Communication Foundation (WCF).
  • Support for Ajax, JSON (JavaScript Object Notation), REST (Representational State Transfer), POX (Plain Old XML), RSS (Really Simple Syndication), Atom, and several new WS-* standards.

More information:

Microsoft ships Visual Studio 2008 (PC World)

Latest Visual Studio Ready Ahead of Schedule (Internet News)

MS Unwraps Latest Visual Studio and .Net Framework (TechNewsWorld)

Microsoft ships Visual Studio 2008 and .NET Framework 3.5 (Ars Technica)

Setting up a BBPress dev environment with XAMPP

I’m just lazy so when it comes to my personal Web sites I tend not to do the right thing and set up a dev environment first. Instead I just deploy stuff and work on the templates directly in my live Web site. I do keep copies of the templates locally before I go messing around so I figure the worst that can happen is the pages on my site will go down briefly if I accidentally put in a syntax error. I can back it out pretty quickly and restore the site, so why bother with a dev or test environment first?

Recently though I wanted to upgrade the software on my site to the most recent release. And when the upgrade process failed utterly I realized I would need to go ahead and revert the entire site to the original templates, then set up a dev environment somewhere so I could test out the upgrade and figure out what I did wrong.

Now this was a site I slapped together one January afternoon last year, when I was banging my head against yet another weird set of bugs in the Oracle Portal. I got so frustrated I had to find some avenue to vent so I registered the domain, and since I already had a hosting plan I was able to get the site online within a few hours of registering it. I uploaded BBPress, which is a powerful yet easy to manage bulletin board system from some of the same folks who created WordPress. But then I haven’t really touched the site since. It was the attempt to upgrade BBPress to the latest version that blew up for me.

So first step was to set up a local development environment to support BBPress. That means Apache, MySQL, and PHP. I really like the way XAMPP rolls all those into a single ZIP file, and wraps a simple GUI around the whole package to let you start and stop the various components. Plus it’s great because it doesn’t have to be installed — you can run it immediately after un-zipping the whole mess as long as you unzip into the root directory of your hard drive with the \xampp folder. So I downloaded the latest version and unzipped it onto the C drive, thus it’s in C:\xampp.

Inside that xampp directory you should see a file called xampp-control.exe. Double click that to launch the administration utility:

XAMPP Control Panel

I don’t use the options to install and set up the components as services, because I don’t use this all the time. I just click Start next to the components I need. In this particular case you’ll need both Apache and MySql, so start both of those.

Now launch a browser and go to the http://localhost address. You should see the XAMPP Web site.

XAMPP start page

In the left-hand menu bar, scroll down until you see the Tools section. Click on phpMyAdmin.

From the phpMyAdmin page, click the Privileges link and then click on the Add a New User link. Here I created a database and user to match the configuration used in my existing OraclePortalSucks BBPress setup. Of course you can create whatever name and database you like, just jot it down because you’ll need the info to edit the config.php later. Then scroll to the bottom of the page and click the Go button.


So now I had to get the PHP templates and the database contents from my site. The PHP templates were easy, just FTP them into a local folder. I called the folder “portalsucks” and put it in the C:\xampp\htdocs directory. Then I edited the config.php file in that portalsucks directory. Since I had created a database and useraccount with the same name as in the actual site, I only had to change the host string:

define(’BBDB_HOST’, ‘localhost’);

I also changed the domain and path from the original settings:

$bb->domain = ‘’;

$bb->path = ‘/’;

To something appropriate for my local configuration:

$bb->domain = ‘http://localhost’;

$bb->path = ‘/portalsucks/’;

Last step was to download the database. Luckily my hosting company uses phpMyAdmin as well. So I selected the database and clicked the Export option. I just left all the default values and licked Go. That generated a textarea
that I cut-and-pasted into a local file. Which I could then import into my local phpMyAdmin.

Now since I had already created the database, I did have to edit the SQL to comment out the CREATE DATABASE command. Otherwise phpMyAdmin complains because you’re trying to create a database that already exists.

That’s it. I now have a fully functional development copy of my site. Now I just have to roll up the sleeves and figure out why my attempt to upgrade BBPress failed.

Save time with Visual Studio 2005 project templates

While application development provides plenty of opportunities to be creative, there are numerous aspects of every project that require developers to perform the same tasks over and over again. Automating such tasks provides you with more time to concentrate on the more challenging aspects of your work. Visual Studio 2005 provides numerous ways to boost productivity; templates are just one example. This article describes creating and using project templates.


Visual Studio 2005 has two different kinds of templates. The first is a standard template. Standard templates are included with a Visual Studio 2005 installation. You can find these templates in the Visual Studio 2005 directory under the Program Files directory (assuming the default directory is used during installation). On my system, the following directory points to the standard templates:

C:Program FilesMicrosoft Visual Studio 8Common7IDEProjectTemplates

The second type of template is user or custom templates. A registry key (HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0) specifies where custom project templates are stored on a development machine. The default directory for these templates is contained in the templates subdirectory of the project’s directory of the Visual Studio 2005 installation. The default directory is:

C:Documents and SettingsMy DocumentsVisual Studio 2005Templates

To control where project templates are stored via Visual Studio 2005, you simply select Tools | Options from the drop-down menu to open the Options window. In this window, expand Project and Solutions and select General. It includes a field for designating where project templates are stored.

Template file structure

Templates are contained in compressed files. A good example is the directory for standard Windows C# applications:

C:Program FilesMicrosoft Visual Studio 8Common7IDEProjectTemplatesCSharpWindows1033

By default, the following template files are included in this directory:

  • Project template for a Class Library project.
  • Project template for a Windows console application project.
  • Project template for a Crystal Reports Application project.
  • EmptyProject: An empty project.
  • Project template for a Web Control Library project.
  • Project template for a Windows Application project.
  • Project template for a Windows Control Library project.
  • Project template for a

The compressed files are standard, so you can easily view the files’ contents with a project like WinZip or via Windows XP compressed folder.

The zip files contain all files necessary for creating a project. In addition, it contains an extra file with the extension vstemplate. This template file contains all information necessary to create a project and add appropriate files to the project.

The vstemplate file stores project template meta data as XML. In addition, it includes the details of how the template is displayed and what is included with it. As an example of a standard project template, the file contains the following files: assemblyinfo.cs, consoleapplication.csproj, csconsoleapplication.vstemplate, and program.cs.

Creating your own template

The simplest way to create your own template is by using another template as the starting point; that is, create a new Visual Studio 2005 project by selecting a template. Once the project has been created, you can make your changes like adding forms, classes, and so forth. Finally, save the project.

Once the project has been saved, you can select Export Template from the File drop-down menu within Visual Studio 2005. This opens the Export Template Wizard window, which guides you through the creation of the project template.

First, you select the template type (which is project template in this example). A drop-down list is available to specify the project to be used as the base for creating the template (it defaults to the currently open project that you just saved). Another drop-down selection is present for choosing the language (your choices depend upon what is installed) that the template will exist.

At this point, you select the next button and a final window appears. This window allows you to specify an icon for the project template (it appears in the Create A New Project window) along with assigning a template name. Also, a field is provided to type a description of the template. The output location of the new project template file (compressed file) is displayed, but it may not be edited.

Finding templates online

In addition to the previously described standard templates that are included with Visual Studio 2005, there are starter kits available from Microsoft as well. The starter kit concept promotes the consumption of sample code applications and projects through community sites. These samples may be downloaded from the community Web sites.

You may search online for templates or starter kits when creating a new project. The New Project dialog box provides an option called Search Online Templates. This option allows you to search for starter kits online by keyword. If a match is found, you can choose to download and install it into the appropriate directory so it may be used as a template. These starter kits provide an opportunity to learn via code that has been tested and developed by professionals. The MSDN and MyCodezone sites are examples of online template resources.

Conserve time and energy

The main selling point of Visual Studio 2005 templates is the ability to automate redundant steps, thus saving developers time. Many organizations include a base set of features in new Visual Studio 2005 projects, including standard graphics, splash page, login form, specific references and so forth. By including these elements in a project template, you can easily create new projects with the template and avoid having to manually do it each time.

Stop the systematic abuse of object-oriented programming

Object-oriented programming (OOP) has become the dominant type of programming over the last 10 years or so; a major driver of this has been Java, VB.NET, and C#. But what I keep seeing more and more is that too many programmers using object-oriented languages really do not understand OOP.

A huge misunderstanding is the concept of encapsulation. Encapsulation is meant to hide the underlying implementation of a concept from the code that makes use of the object — not to expose it. The idea is that the consuming code does not need to know or care about the particular implementation “under the hood,” so it can be changed without affecting anything else. Encapsulation works hand-in-hand with polymorphism.

Between encapsulation and polymorphism, code can (and should) be extremely loosely coupled. But really it isn’t in many pieces of code that I have seen. Far too many objects end up simply being equivalent to a Pascal “type” structure, a strongly typed collection of other types, gathered in one spot for easy reference. Another fairly common misuse of OOP is to write “classes” that play out like hashtables of hashtables of hashtables. While that type of programming made sense in Perl for a variety of reasons (not the least of which is the lack of a comprehensible object system in Perl), it is not in the spirit of OOP.

Why are these techniques a problem? For one thing, they require too much knowledge by the consumer of the underlying functionality. The first example leads to these statements that look like this:

FooObject.Property.Item(Index).Method(Parameter 1, Parameter2).Property = BarObject.Method(Parameter 1).Property.ToKludgeObjectType()

If the consumer has no idea what any of those sub-properties, methods, and so on do, they cannot get too far using either of these classes. On top of that, by exposing so many of the internals to the consumer in what will need to be a full-access manner, the encapsulating object hands over full control. This can cause some real damage, particularly if those contained classes have properties or methods with negative consequences.

The second type that I describe typically looks something like this:

FooObject("Property").Item(Index).Method(Parameter 1, Parameter 2)("Property") = CType(BarObject.Method(Parameter 1).Item("Property"), KludgeObjectType)

Wow… what an utter disaster. Can you imagine working with this? The worst part is that, with all of those collection lookups, you can throw compile time checking out of the window. The person who writes this manages to combine a very dangerous aspect of dynamic languages (lack of compile time checking) with the worst of compiled languages (design time knowledge of types) into something that derives none of the benefits of either type of language. One “fat finger mistake” in all of those lookup values will compile just fine, but come run time, they will become errors of one sort or another. It would not be so bad if a simple mistake just lead to an outright exception like “Index out of range,” but if the mistake just happens to be purely logical (e.g., the item named does exist, but the wrong item was named), there is a solid chance that the code will keep running but with silent and hard-to-detect corruption of data and/or logic.

I know part of the problem here is simple laziness. I am guilty of it plenty of times. For me, what usually happens is that I am using an OO language for something that I really just need a procedural or mostly procedural language for. Let’s face it, not every application requires too much OO design — they really just need a way of quickly passing a bunch of loosely related data around. But these “shuttle classes” always seem to take on a life of their own, and the next thing you know, you are writing static/shared classes with static/shared members to process the data within the “shuttle classes.” Why? Because you really meant to be using Perl, Pascal, or maybe even Smalltalk or a simple shell script, not C++, Java, C#, or VB.NET (at least for this one part of the project, that is).

Folks, this is where the rubber stops meeting the road. Those earliest experiences with programming will always color our current thought process regarding programming. And nearly universally, we were introduced to programming with a procedural language or a very procedural use of a non-procedural language. Add to that the fact that contrary to popular belief, Java, VB.NET, and C# are not purely noun-oriented OO. After all, they have some primitive verbs in there. What we really just want to do sometimes is to extend the language itself (add new primitive verbs) –that is where those anti-OO static classes of static methods come from, and it is the only way we can really add a new verb to the language. Those pseudo-procedural-functions end up needing a ton of parameters passed to them (just like procedural code), since the data that they are working on is no longer included in the class that they are members of.

At the end of the day, this type of programming is indicative of one or more of the following things:

  • The programmer was “born and bred” in a non-OO environment and is untrained in proper OO.
  • The programmer does not feel like using the proper OO techniques for whatever reasons.
  • The language being used is the wrong language for the job.

I think the last item is a lot more common than most of us care to admit. After all, we turned to OO to save us a lot of headaches, increase code reuse, etc. But none of the OO promises can be fulfilled when we treat an OO language like it is something that it is not. And if we are going to program away the benefits of OO, why bother using the languages?

I guess this is yet another reason why I am fairly pro on the .NET CLR (and would be on the JVM if Sun was more supportive of other languages). It is possible (in theory) to write the right code in the right languages. Sadly, the only two languages with massive support in .NET right now are the nearly identical twins, VB.NET and C#. It looks like the first language to get formal “kid brother” status is the functional language F#. IronRuby and IronPython are still “CodePlex cousins,” in which Microsoft might donate some time, server space, and documentation but little real support. Ruby is also attractive to me because it seems to blend procedural and OO code pretty well. I really, really need to try Ruby out.

The takeaway here is that you really need to get off the couch, learn proper OO, and use it correctly. Otherwise, you are hurting your own efficiency, writing slow code (all of those collection lookups and OO tree traversals are rather expensive!), and making your code difficult to maintain. If you still cannot figure out how to write what you need in an OO-friendly manner, you may need to think about switching languages.

courtesy @TechRepublic

Monday, November 26, 2007

Windows XP SP3 boasts speed boost, testers claim

Windows XP Service Pack 3 (SP3), the update scheduled to release next year, runs Microsoft Corp.'s Office suite 10% faster than XP SP2, a performance testing software developer reported Friday.

Devil Mountain Software, which earlier in the week claimed Windows Vista SP1 was no faster than the original, repeated some of the same tests on the release candidate of Windows XP SP3, the service pack recently issued to about 15,000 testers.

"We were pleasantly surprised to discover that Windows XP SP3 delivers a measurable performance boost to this aging desktop OS," said Craig Barth, Devil Mountain's chief technology officer, in a post to a company blog Friday.

Devil Mountain ran its OfficeBench suite of performance benchmarks on a laptop equipped with Office 2007, Microsoft's latest application suite. The notebook -- the same unit used in the Vista/Vista SP1 tests earlier -- featured a 2.0GHz Intel Core 2 Duo processor and 1GB of memory. The results reported a 10% speed increase under XP SP3 when compared to SP2, the service pack released in 2004.

"Since SP3 was supposed to be mostly a bug-fix/patch consolidation release, the unexpected speed boost comes as a nice bonus," Barth said. "In fact, XP SP3 is shaping up to be a 'must-have' update for the majority of users who are still running Redmond's not-so-latest and greatest desktop OS."

According to the Office performance benchmarks, Windows XP SP3 is also considerably faster than Vista SP1. "None of this bodes well for Vista, which is now more than two times slower than the most current builds of its older sibling," said Barth.

While Microsoft was not available for comment over the weekend about XP's performance, it defended Vista SP1 after Devil Mountain's first round of tests. "We appreciate the excitement to evaluate Windows Vista SP1 as soon as possible. However, the service pack is still in the development phase and will undergo several changes before being released," a spokeswoman said in an e-mail.

Microsoft has at times struggled to wean users from the six-year-old Windows XP and get them to migrate to Vista. During 2007, for example, it made several XP concessions, including adding five years to the support lifespan of the Home edition and extending OEM and retail sales of XP through June 2008, as it recognized that customers wanted to hold on to the older OS.

Recently, Forrester Research said that XP remained Vista's biggest rival, and cited survey data that showed American and European businesses would delay Vista deployment, in part because of application incompatibility issues with the new OS. "That's causing a lot of XP shops to take a wait-and-see approach to Vista," said Forrester analyst Benjamin Gray two weeks ago.


Must-have gadgets for the discerning geek

Sure, you're getting an iPhone. But real techies will want these cool toys, too

It's that time of year when even adults' thoughts turn to toys. For IT pros and technology lovers, that means gadgets and cool apps. Chances are that you've got an Apple iPhone or iPod Touch on your list, if not already in your pocket. And a high-def TiVo, Apple MacBook Pro with Leopard and Parallels Desktop are all old news to you.

So you want something that not everyone else has already discovered.

You've come to the right place. InfoWorld has looked beyond the merely cool to uncover seven items that the truly leading-edge tech cognoscenti will want on their holiday lists.

InfoWorld's must-have gadgets
Sun Microsystems Project Sun Spot Development Kit sensor and robotics kit
Vudu Box movies-on-demand server Kindle wireless e-book reader
Fujitsu PalmSecure PC Login Kit biometric mouse
AMD ATI TV Wonder 650 Combo USB HDTV converter for PCs and Macs
T-Mobile HotSpot @Home base station for cellular/Wi-Fi combo phone service
Data Robotics Drobo intelligent backup drive

Sun Microsystems Project Sun Spot Development Kit sensor and robotics kit
Why you must have it:
If your happy childhood centered around your Heathkit radio, computer, or home audio electronics kits, you'll drool over Sun Microsystems' Project Sun Spot Development Kit, a battery-operated platform for development of radio-controlled sensor networks, robotics, and personal consumer electronics. Each kit comes with a base station and two Spot devices, each of which, in turn, includes a processor, a radio, a sensor board, and battery. You can also add servo motors and your own sensors on top of the acceleration, temperature, and light sensors that come with each Spot. You program and build the Java VM-based Spots to do whatever it is you want to build; examples of Spot applications developed so far include microwave detection, robotic-arm control, and slot-car control.

Project Sun Spot was the brainchild of Sun Labs, which developed the basic technology but soon realized it had more possibilities than its team could research. So Sun Labs has made the technology available to anyone willing to purchase a kit for $499.

Your chances of having the first one on the block: Very high, as supplies are limited and frequently need to be back-ordered.

What you should know: The Sun Spot technology is decidedly not commercial — it's more like an open source hardware/software platform. So be warned: If you're not willing to go deep into the tech thicket and work with an evolving technology, Sun Spot is not for you. The kits can be ordered only from Sun.

What you need: A PC running Windows XP, Mac OS X 10.4 (only PowerPC Macs are supported now, though Intel Mac compatibility is planned), and Linux (Fedora Core 5, SuSE 10.1, and Ubuntu 6.06 have all been tested). Sun has not tested Sun Spot on Vista or Leopard, but users report that it works on those operating systems. Each kit costs $499.

Vudu Box movies-on-demand server
Why you must have it:
Sure, it's a bit cliched to get yet another entertainment box, but the ongoing industry transformation to digital media delivery gives you no choice. The cable and satellite companies have been pushing video on demand for years, so why bother with the Vudu Box? The answer is that you get to keep your movies with Vudu — sort of like an iPod that can store your digital movie collection and move them to your TV. And you're not tied into your current TV provider's offerings. Vudu uses a broadband connection to download the movies, which you can either rent for 24 hours or buy, and there's no monthly subscription fee. The HD-capable Vudu Box can access about 5,000 movie titles — though it only store about 100 movies at a time. When Vudu upgrades its software next year, you'll be able to store movies on a USB 2.0 hard drive (the Box has two USB ports). Another option: Store them on Vudu's Web site, and they'll be streamed back down when you want to watch them.

Your chances of having the first one on the block: High, as this movie server has been available only since September.

What you should know: The encoding technology is proprietary, so you cannot move over TiVo'd or other view files to the Vudu Box. The company offers about 5,000 titles, so the selection is about as much as a large video-rental store's inventory. There's a risk that if the company goes under, you'll lose access to any movies you've bought but not stored locally. HD films play only over the Vudu Box's HDMI connections, not over its composite interface.

What you need: A broadband connection of at least 2Mbps, plus the ability to run an Ethernet cable from the Vudu box to your router. HDMI input is required for HD playback. The Vudu Box costs $399. Kindle wireless e-book reader
Why you must have it:
E-book readers have always sounded like a great idea. But until now, they've generally fallen short. The Kindle is the first e-book reader you might actually want to use in real life. What makes Kindle different from predecessors such as the Sony Portable Reader and various PDA-based software readers is that it doesn't need a computer. Instead, it uses Sprint's EvDO (evolution, data optimized) 3G cellular connection to download the books you buy or the magazines, newspapers, and blogs you subscribe to, such as the New York Times, Le Monde, Time, Atlantic Monthly, and the Huffington Post. About 88,000 titles are available. You don't pay for the wireless access, just the books you buy or publications you subscribe to, as their price covers the wireless charges.

The reader is about the size and weight of a paperback book, with search capabilities, adjustable text size, and a nonbacklit screen, so it can be read in daylight. We didn't get our hands on a Kindle in time for this piece, but its resolution is similar to that of e-book readers that have gotten good marks for readability. It has a few bells and whistles such as free (that is, no data charges) access to Wikipedia, a built-in copy of the "New Oxford American Dictionary," and some annotation capabilities, including bookmarking and notes. Each Kindle has a customizable e-mail address through which you can receive HTML, ASCII, and Microsoft Word documents and pictures in a variety of formats for 10 cents each. With its USB port, the Kindle lets you transfer audiobooks from your PC; it should be noted, however, that the audiobooks are too large to send over the EvDO network.

Your chances of having the first one on the block: High, as the Kindle was released just before Thanksgiving.

What you should know: The biggest issue for most tech-savvy buyers is that the Kindle does not support the Adobe PDF format. The battery life is good for about two days of "normal" use, and it takes two hours to recharge The Kindle holds about 200 titles (books cost about $10 each), so you're not likely to run out of reading material in a hurry. The inventory of books is relatively low, though Amazon says it is adding several dozen a month. Books and publication subscriptions can be purchased through's Kindle Store only. Books with images that are complex or that require color reproduction, will not be made available, given the Kindle's 167-pixel, grayscale display.

What you need: A PC with a USB 2.0 port if you want to transfer audiobook files. The Kindle costs $399.

Fujitsu PalmSecure PC Login Kit biometric mouse
Why you must have it:
Biometric security is both easy to use and hard to defeat, so it's no surprise that finger scanners are popping up on notebooks and as PC peripherals. But once you've swiped them, anyone can use the computer. Fujitsu has taken the biometric protection concept one step further, making it continuous. It's done so with its PalmSecure mouse, which has an infrared scanner that reads the pattern of the veins in your palm as you hold the mouse (check out our video preview), all without adding more desktop clutter or replacing your biometric-less laptop.

Fujitsu has had its PalmSecure technology available for a while, but only in a version that required an authentication server. That tended to limit its uses to enterprises such as hospitals, where users might work on multiple PCs during the day. What's changed is the availability of the PC Login Kit, which has translated that authentication server into software that can run on your PC.

Your chances of having the first one on the block: Extremely high, as Fujitsu has not yet begun selling the PalmSecure PC Login Kit.

What you should know: The PalmSecure works only on Windows XP and Vista. If you want to have managed multiuser authentication across an enterprise's PCs, you'll need the authentication server edition.

What you need: A Windows XP or Vista PC with USB 2.0 port. Pricing is not yet available.

AMD ATI TV Wonder 650 Combo USB HDTV converter for PCs and Macs
Why you must have it:
For many of us, our PCs double as a TV — at least occasionally. There's been no shortage of cards and dongles to bring TV into a PC, but chances are the gadget you have isn't ready for HDTV. The ATI TV Wonder 650 Combo is. When an HD antenna is attached, this inexpensive USB-connected box will pick up HD signals over the air, as well as conventional analog signals. (There's also a PCI version for desktop PCs.) It can not only receive digital signals from the standard free networks and local stations; it also has cable/satellite inputs to get signals from your paid service, including the unencrypted ClearQAM HD channels that you may be getting from your cable provider but can't see on your regular TV without a compatible HD tuner.

As with previous ATI Wonder models, the 650 Combo comes with TiVo-like ability to pause TV while you're watching it, as well as DVD-burning capabilities.

Your chances of having the first one on the block: Medium, given the mania around digital TV and the low cost of the device.

What you should know: Use of ClearQAM to transmit unencrypted HD signals to digital TVs is very uneven, so there's no guarantee that the Wonder 650 will give you access to HD channels your analog converter box can't detect. There's also no guarantee your provider will continue to send any ClearQAM transmissions it now delivers in this transition period to the FCC's 2009 digital TV mandate. So consider ClearQAM support as a bonus that may in the end deliver little or nothing at your specific residence. Check out AntennaWeb to see what your over-the-air HD signal coverage is.

What you need: A USB 2.0-equipped Windows XP or Vista PC with a DirectX 9 or later graphics card, or USB 2.0-equipped Mac running Mac OS X 10.4.10 or later (an OpenGL 2.0 or later graphics card is recommended). An HD antenna (about $30 to $50) is required to receive HDTV signals over the air. The ATI Wonder 650 Combo costs $150.

T-Mobile HotSpot @Home base station for cellular/Wi-Fi combo phone service
Why you must have it:
It's nuts to have a cell phone and burn minutes at home, where you're already paying for broadband service and probably a regular or VoIP line to boot. For several years, T-Mobile has said it would change that equation, delivering cell phones that use your broadband connection at home — without incurring minutes — and then switch to the cellular network when you're out of range. This year, T-Mobile delivered, with its HotSpot @Home service. Plus, when in range of a U.S.-based T-Mobile HotSpot (such as many Starbucks Coffee stores) anywhere else, your phone also uses Wi-Fi rather than the cell network so that you're not burning minutes in those locations, either.

If the service replaces just one fixed-line phone at home, the service cost is usually paid for by those savings. Even if you keep a landline number as a general line, you could save enough cellular minutes at home to at least make a dent in HotSpot @Home's cost. And you can have multiple phones work over the HotSpot @Home router, perhaps significantly decreasing the cellular minutes you need to buy.

Your chances of having the first one on the block: High, given T-Mobile's small market share compared to AT&T, Sprint, and Verizon Wireless.

What you should know: You'll need a compatible phone, which means you're limited to the Samsung T409 and the RIM BlackBerry Curve. You can use the Wi-Fi connection outside your home network and T-Mobile HotSpots, but only over unsecured wireless LANs, as there's no way to enter SSID and other access permissions from the phones. T-Mobile's coverage can be weak out of major metro areas, and the carrier has no 3G offerings and almost nothing in the way of data services on its cellular network. As with a Wi-Fi network, the service is subject to interference, which is more noticeable on a phone call then when browsing the Web.

What you need: A T-Mobile cellular service plan, plus the additional HotSpot @Home service ($20 per month). You'll also need a $50 T-Mobile router at home because it contains the SSID the phones seek out to connect via Wi-Fi. However, this T-Mobile device can work in access point mode when it's attached to your existing router, rather than force you to replace what you already have in place.

Data Robotics Drobo intelligent backup drive
Why you must have it:
MP3 files, TiVo videos, vacation photos, you name it — a lot of precious information now resides on our hard drives, vulnerable to becoming so much electronic dust in case of a system crash or a drive failure. The Drobo takes a step beyond the large external drives widely available today by adding intelligence and configurability to the device, both simplifying operations and giving you more control. The Drobo enclosure can take up to four half-height or full-height SATA hard drives and combine them into a massive, multiterabyte backup system — no need to figure out RAID settings or worry about whether the drives are the right capacities to work together. And as you add or replace drives within Drobo, it handles the updating and migration of affected backup data automatically. It also initiates the backup for you, so there's no need to have backup software on your PC or Mac.

You can use the Drobo with multiple PCs, backing each up on it. The Drobo personal storage array is also compatible with Mac OS 10.5 Leopard's Time Machine, letting you back up your data and allowing access to the various changes to individual files that Time Machine provides.

Your chances of having the first one on the block: Very good, as Drobo has been available only a few months.

What you should know: To support both Macs and PCs simultaneously, Drobo drives should be formatted with FAT32 partitions. Drobo has no network interface for LAN-based backup, but users have successfully connected it to a USB-equipped Apple AirPort Extreme wireless router to enable network backup in all-Mac environment. The company says Windows-only and mixed-platform network backup should be possible if you use another vendor's USB 2.0-equipped router (AirPort requires that attached devices use Apple's HFS+ partitions for storage).

What you need: A USB 2.0-equipped PC running Windows 2000, 2003 Server, XP, or Vista, or a USB 2.0-equipped Mac running Mac OS X 10.4 or later.

Still not sure what to put under the tree? Maybe you're torn between buying an iPhone or some other mobile device. (After all, as cool as the iPhone is for personal use, it's not yet enterprise-class.) Not to worry. InfoWorld can make help you make that decision a little more easily, too:

Read Tom Yager's iPhone review, then watch our two video reviews of the iPhone: one of the device as a combo MP3 player, Web browser, and cell phone, and the other of it as a multimedia device.

Read our Test Center comparison of seven supersmart phones for extreme mobility: the AT&T 8525 (a.k.a. the HTC Hermes), HTC Advantage X7501, Nokia E61i, Nokia E65, RIM BlackBerry 8300 (a.k.a. the Curve), RIM BlackBerry 8800, and T-Mobile Wing (a.k.a. the HTC Herald). Watch our handy slideshow for a quick take on each.