computers&technologys

We Need Wireless Power

New Hampshire was hit by a major ice storm last Thursday night. The power at my house went out initially around 7:30PM but my UPS system kept the Internet modem and Wi-Fi access point up for a while. The power came back briefly around 10PM but went out for good at midnight. This time the storm took out the cable so there was no Internet. After almost 36 total hours without power or heat (it dropped to 20F or –6C outside) the power finally came back Saturday morning. Now on Monday there is still no cable or high speed Internet at home. I was able to get to the Internet on my cell phone using EDVO and also make phone calls. The wireless networks were a lot more resistant to the effect of the storm than the other utilities. If only Tesla had been more successful with his research on the wireless transmission of power.

Schools are pretty much closed state-wide in New Hampshire as much of the state is still without power. The north side of my town is still without as are several near by towns. You really don’t realize how dependent we are on electric power until you have to go without it. The same is true for the Internet. I found myself stopping several times a day thinking “Oh I’ll look that up on the Internet.” only to catch myself with the memory that the Internet was not available. No looking up bank balances. No looking up that company someone told me about. No ordering that Christmas gift. It felt weird.

How did we get along before? Well my neighbor who has a very old house had a gas stove that didn’t need electric power and a fireplace. We were able to cook and stay warm there. But somehow I don’t see us going back to encyclopedia in place of the Internet. Not for full time at least. And have you seen a typewriter lately? I saw some in a store recently and they were clearly labeled for collectors rather than for people who wanted to use them. Long term there is no going back.

Well that is my observation for today. More useful posts once I have had time to tap the network for a while.

Microsoft, Michigan Department of Education and Michigan Virtual University offer CareerForward to help students prepare for a 21st-century workplace.

SEATTLE — Dec. 2, 2008 — With financial support and assistance from Microsoft Corp.’s U.S. Partners in Learning, students across the nation now have access to CareerForward, a powerful, free online course covering globalization, career planning, financial literacy and entrepreneurship. CareerForward empowers students at any grade level in middle and high school to take charge of their own education, career path and future prosperity. Global education leaders from more than 30 nations are learning how to implement this program in their home countries this week at the School of the Future World Summit in Seattle hosted by Microsoft Corp.

Increasingly, multinational corporations are seeking young people who possess a global perspective and an appreciation that their academic preparation is vital to their future. Students who take the new online CareerForward course will better understand the crucial importance of their education and have the ability to improve their motivation and choices in high school and college. Students, parents and teachers can access the course at http://review.careerforward.org/careerforward.

“This course will help students understand how to thrive in a global economy,” said Michigan Governor Jennifer Granholm. “It also will teach them to learn online — something they’ll need to do throughout their work lives.”

Michigan ranks No. 2 in the nation for its online learning policy and practice according to The Center for Digital Education. CareerForward first launched in Michigan two years ago when the state became the first in the nation to require online learning as a requirement for high school education. This year alone, 18,000 Michigan students have pledged to complete the course.

“Students and the career choices they make are critical to the talent pipeline and future business prosperity in the U.S.,” said Anthony Salcito, general manager of U.S. Public Sector Education at Microsoft. “CareerForward encourages the development of a skilled work force, as it helps young citizens explore global opportunities and recognize the importance of technology in jobs of the future.”

CareerForward is a media-rich online learning program, developed through a unique public-private partnership between the Michigan Department of Education, Michigan Virtual University and Microsoft. The program helps students wrestle with some of the burning questions about their futures: What am I going to do with my life? What is the world of work like? What will I need to succeed? What’s next for me? Using a variety of multimedia, course topics explore these questions and more. Throughout the course, students are asked frequently to reflect on what they’re learning, to write their thoughts down as a continual refinement of their thinking, and to discuss their thoughts with other students, either in-person or online.

Students can work with local educators to access the online course, which takes about four to six weeks or approximately 20 hours to complete. The course is designed to be facilitated by a local teacher and can be used independently or as part of an existing face-to-face course in career planning, business or global studies.

“This course helps students realize the crucial importance of education to their future,” said Mike Flanagan, Michigan’s Superintendent of Public Instruction. “By integrating technology into every student’s education, this allows them to experience their education outside of the classroom — in the world of technology. It helps bring relevance to their learning.”

“We are excited about the national launch of CareerForward,” said Jamey Fitzpatrick, president of Michigan Virtual University. “This innovative online course is something that every parent in the country will want their son or daughter to experience.”

Further information on CareerForward is available at http://review.careerforward.org/careerforward. More information about Michigan Virtual University is available at http://www.mivu.org. More information about Microsoft U.S. Partners in Learning is available at http://www.microsoft.com/education/pilus.mspx.

Free Online Career Development Course Now Available to 16 Million Students Nationwide

Do you know students who are wondering “What do I want to be when I grow up?” It’s a hard question and students look in all directions for answers. Recently Microsoft and the Michigan Virtual University released an online “course” for students to use to do some self evaluation to try to help answer that question. The course covers a number of topics that includes things like globalization, career planning, financial literacy and entrepreneurship. I don’t usually copy complete announcements but I did today. Check out CareerForward today.

Teacher Tech Tuesdays January 2009

The Teacher Tech Tuesday program (last blogged about here) is dedicated to helping teachers and academic administrators get more out of Microsoft products. The goal is to help bring technology in to classrooms as a tool to teach other subject and not just to teach technology for the sake of technology. I just received the schedule for Teach Tech Tuesdays for January 2009 and they look interesting. Podcasting in history class, getting more dynamic content using MS Office, increasing collaboration using OneNote and using Microsoft Math in math classes. And if you need more incentive there are special offers for each program. Yeah, free, is a good price. :-)

Free EBooks From Microsoft Learning

I was checking the Microsoft Learning blog the other day and saw this announcement of some free eBooks as Microsoft Press continues its 25th Anniversary eBook giveaway. The books below are only available until December 24th so grab them now if they look interesting. I’ve grabbed a copy of Writing Secure Code for Vista myself. Writing secure code is something I think is very important and something that I think students should at least discuss from their earliest programming experiences.

Understanding IPv6, by Joseph Davies
Writing Secure Code for Vista, by Michael Howard and David LeBlanc

Also you can sign up for a newsletter that will let you know as soon as additional free eBooks become available. Visit one of those book links for more information.

3Leaf Systems to Demo Silicon Enabled Server Virtualization Technology at Supercomputing 08

3Leaf Systems (www.3leafsystems.com), a provider of next-generation virtualization solutions for enterprise data centers, today announced that the company will showcase new silicon enabled virtualization technology enabling dynamic resource utilization using commodity servers from Super Micro Computer Inc. 3Leaf will demo the solution at Supermicro’s Booth# 1033 at SC08 being held in the Austin Convention Center, Austin, Texas from November 15-21.
Virtualization within high performance computing (HPC) environments presents particular challenges to today’s enterprises. HPC environments require ultra high speed message passing between applications in order to operate in high computing environments, and many of today’s virtualization solutions fall short in providing this capability. In addition, CPU and memory demands from HPC applications continue to drive over-provisioning of servers within the data center.

Now, rather than having to overbuild their infrastructures to allow for high compute or memory intensive jobs, and/or sacrificing performance to achieve virtualization, enterprises have another choice. 3Leaf’s silicon enabled technology demonstrates how enterprises can pool CPU and memory resources across multiple x86 servers to create a cloud environment, enable up to one terabyte of DRAM for memory intensive applications, and achieve low-latency messaging between applications.

“Virtualization, along with compute and memory constraints within today’s scale-out servers, provides many challenges for HPC environments,” said B.V. Jagadeesh, CEO and president, 3Leaf Systems. “With this technology, working together with companies like Supermicro, 3Leaf helps enable virtualization for HPC environments while lowering the capital and operational costs of their HPC infrastructures. Supermicro shares our vision and we are pleased the company is an early adopter of this revolutionary technology.”

“We recognize the strong, unique value that the 3Leaf technology achieves, and are excited to partner with 3Leaf to help enterprises overcome pain points in their HPC environments by optimizing resources and dramatically reducing data center costs,” said Charles Liang, CEO and president, Supermicro. “With the 3Leaf enabled Supermicro servers, enterprises can achieve a terabyte of DRAM at a dramatically low cost and enable low-latency messaging for fast performance.”

About SC08

SC08, sponsored by the ACM (Association for Computing Machinery) and the IEEE Computer Society Technical Committee on Scalable Computing and the IEEE Computer Society Technical Committee on Computer Architecture, will showcase how high performance computing, networking, storage and analysis lead to advances in research, education and commerce. This premiere international conference includes technical and education programs, workshops, tutorials, an exhibit area, demonstrations and hands-on learning. For more information, please visit http://sc08.supercomputing.org/.

rPath's Billy Marshall Interviewed on how Enterprises can Virtualize Applications as a Precursor to Cloud Computing

Billy Marshall, founder and chief strategy officer of rPath, recently spoke with Dana Gardner to find out more about how enterprises should begin moving to application-level virtualization that serves as an onramp to cloud benefits.

Many enterprises are factoring how to bring more applications into a virtual development and deployment environment to save on operating costs and to take advantage of service oriented architectures (SOA) and cloud computing models.

Finding proven deployment methods and governance for managing virtualized applications across a lifecycle is an essential ingredient in making SOA and cloud-computing approaches as productive as possible while avoiding risk and complexity. The goal is to avoid having to rewrite code in order for applications to work across multiple clouds -- public, private or hybrids.

The cloud forces the older notion of "write-once, run anywhere" into a new level of "deploy correctly so you can exploit the benefits of cloud choices and save a lot of money."

Here are some excerpts from that interview:


We're once again facing a similar situation now where enterprises are taking a very tough look at their data center expenditures and expansions that they're planning for the data center. ... The [economic downturn] is going to have folks looking very hard at large-scale outlays of capital for data centers.

I believe that will be a catalyst for folks to consider a variable-cost approach to using infrastructures or service, perhaps platform as a service (PaaS). All these things roll up under the notion of cloud.

Virtualization provides isolation for applications running their own logical server, their own virtual server. ... Virtualization gives you -- from a business perspective -- an opportunity to decouple the definition of the application from the system that it runs on. ... Then, at run-time, you can decide where you have capacity that best meets needs of the profile of an application.

I can begin sourcing infrastructure a little more dynamically, based upon the load that I see. Maybe I can spend less on the capital associated with my own data center, because with my application defined as this independent unit, separate from the physical infrastructure I'll be able to buy infrastructure on demand from Amazon, Rackspace, GoGrid, these folks who are now offering up these virtualized clouds of servers.

That's the architecture we're evolving toward. ... For legacy applications, there's not going to be much opportunity. [But] they may actually consider this for new applications that would get some level of benefit by being close to other services.

[If] I can define my application as a working unit, I may be able to choose between Amazon or my internal architecture that perhaps has a VMware basis, or a Rackspace, GoGrid, or BlueLock offering.

Intel Core i7 chip launches in Tokyo


Irasshaimase! Stores in Tokyo districts such as Akihabara have launched sales of Intel's Core i7 processor, due to be officially rolled out at U.S. resellers on Monday.

Computerworld reported that "several hundred people crowded stores" that opened around 10 p.m. Saturday. The top-of-the-line 965 chip sold out, according to one retailer.


Sofmap store in Akihabara is selling boxed Core i7 processors

(Credit: Sofmap)The Core i7 represents the vanguard of Intel's new Nehalem microarchitecture. The i7 is a desktop processor targeted initially at gaming boxes.

(See CNET review of Falcon Northwest Mach V tower system based on Core i7-965 processor.)

Sofmap, a large Japanese computer reseller, is showing Core i7 processors, motherboards, and systems on its Web site.

Sofmap lists the boxed Core i7-920 (2.66GHz) at 32,800 yen or close to $340. The i7-940 (2.93GHz) is listed at 63,800 yen or about $660. The high-end i7-965 (3.20GHZ) goes for 112,800 yen or $1,160.

A series of i7-920 processors bundled with Windows Vista Home Premium "DSP version" are shown ranging in price from 45,800 yen ($470) to 54,800 yen ($565).

Specification details (listed by Sofmap) include: LGA1366 socket, Quick Path Interconnect (QPI) rated at 4.8GT/sec (gigatransfers per second), 8MB L3 cache, and a 130 watt TDP (Thermal Design Power).

The DSP, or Delivery Service Provider, version of Windows Vista is being promoted heavily in Japan and is typically bundled with other components.


Sofmap advertisement for Core i7

(Credit: Sofmap)Motherboards and systems are also on sale. Motherboards are based on the Intel X58 chipset. DDR3 memory is being promoted along with the i7 too.

Tower systems using the Core i7 chip range in price from 179,800 yen ($1,852) to 219,800 yen ($2,264).

Where is Google voice-powered search?


Reporters were put into a frenzy this week when Google announced it was set to launch version two of its mobile search application for the iPhone that included the addition of voice-powered search, allowing you skip the keyboard altogether. But now the question is, where is it?

My colleague Josh Lowensohn reported on the application on Thursday, and duly noted on Friday afternoon that it still wasn't available in Apple's App Store. But as of Saturday afternoon, the application was still MIA. A search on the App Store returned only the older version of the Google Mobile App.


According to The New York Times, Google planned to release the free application through the iTunes Store "as soon as Friday." The application, an update to Google Mobile App, is meant to allow you to talk into your phone, ask any question, and the results of your query will then be offered up on your iPhone.

One reason for the delay could be that it has been bogged down by Apple's App Store approval process, which can take days or even months. Indeed, the Google Earth app for the iPhone took several days to appear in the App Store after its release. And Buzzd CEO Nihal Mehta noted that it took three months for his company's application to arrive in the App Store after it had been submitted. In other words, it's difficult for third-party developers to determine exactly when the application is going to be made available.

Perhaps from now on, when developers release an iPhone app, they'll learn to add a caveat that while the application has technically been released, it may take several days or even longer for it to actually show up in the App Store.

Adobe wants to bridge gap between PCs and cloud


Adobe Systems wants to have it both ways.

Microsoft's power with programmers is tethered to desktops and laptops, the vast majority of which run Windows. Google is trying to dominate what it believes is the new frontier, cloud computing, where applications run on the Web. Adobe, though, is trying to run down the middle with a strategy that touches on both domains.


"It's a balance of the client and cloud together that makes for the most effective applications and the best development," said Adobe Chief Technology Officer Kevin Lynch, who's planning to speak on the subject in a keynote speech Monday at the company's Max conference in San Francisco.



Adobe CTO Kevin Lynch

(Credit: Stephen Shankland/CNET News)
Since Adobe's $3.4 billion Macromedia acquisition in 2005, programming technology has been rising in importance within a company that got its start with publishing software such as Photoshop. The technology that brought the two companies together, Flash, will hog the spotlight at the conference.

Flash got its start as a way to give Web pages animations and basic applications such as games, but it's grown up since then. The Flex technology has given developers a more mature programming model, and the addition of video-streaming abilities to the Flash Player that's plugged into the vast majority of Web browsers has given Adobe's technology incumbent status. Who can live online without YouTube?

Adobe is still working on Flash, releasing Flash Player 10, aka Astro, in October. At Max, though, a Flash cousin called AIR--the Adobe Integrated Runtime--will share the stage with the release of version 1.5.

Flash and AIR are key to bridging the cloud-PC gap. For example, Adobe has launched an online Photoshop.com service, where members can upload, edit, and share photos. The site uses Flash to run the processing-intensive editing software on people's own computers, not Adobe's servers, Lynch said.

"Our operational costs for hosting that application are much lower than if we had server-side processing," and users get better performance, Lynch said.

But Flash still lives largely within the browser. Adobe hopes to uproot it with AIR, a "runtime" foundation for housing applications. AIR runs Flash programs but also has a built-in engine for showing Web pages and for running programs written in JavaScript, which is widely used for Web-based applications. And AIR is available for Windows, Mac OS X, and Linux, and programmers who write AIR applications don't have to worry about what operating system is on a person's computer.

But there's a risk to choosing a hybrid strategy: gains in flexibility often come at the expense of specialization, and specialized applications often work better. Sun Microsystems tried for years to get Java to catch on as a cross-platform runtime, but 13 years after its launch, it has yet to catch on with mainstream computing applications.

Google's cloud computing is limited by the comparatively feeble abilities of JavaScript running in Web browsers, but extensions such as Gears are bringing some advanced features. But Google gets the advantage of software that's available from all sorts of computing devices--your own, a friend's, a kiosk in an airport, your iPhone--as long as you have a network connection. And there's a natural collaboration component that comes with online applications that matches well with business needs.

Microsoft is moving slowly cloudward, but its cash cows remain Windows and Office. Its software is more powerful and responsive than any Web-based application--as long as you have your PC with you.

AIR applications can take advantage of local computing power, though--and the big new feature of AIR 1.5 is that it uses Flash Player 10, which brings 3D graphics, better text handling, the ability to mix different audio signals, and other abilities that make it a more reasonable competitor to Windows.

Revived Fervor for Smart Monitors Linked to a Server

SAN FRANCISCO — Instead of having a big, loud and complex computer on your desk, what if you could have a quiet, thin machine that rarely needed an upgrade or a fix?

Skip to next paragraph

Hewlett-Packard’s version of a so-called thin client and monitor, top, and the Hot-E device from ThinLinX, above.

Enlarge This Image

JetBlue Airways
Employees of JetBlue at Kennedy Airport using thin clients connected to remote servers that handle the processing of data.
That has been the goal of many technology companies over the last 15 or so years. They have tried to disrupt Microsoft’s dominance of the PC desktop by creating what amount to intelligent monitors.

Rather than relying on their innards for handling work, these so-called thin clients send it out over the network to much larger servers that hold all of the necessary software and handle data-processing jobs.

For a variety of reasons, including slow data connections and clunky software, this model failed to live up to its promise and turned into an industrywide joke. But now the technology is making a comeback, and large companies like Hewlett-Packard, Sun Microsystems and Samsung are increasing their investments in thin client systems. Plenty of start-ups are looking at the market as well.

Thin-client backers have by now mostly given up on challenging Microsoft — in fact, in most cases they make it easy to use Windows over the network. But they continue to bill thin clients as a way to save companies money and make their systems more secure.

“The hype cycle that has followed thin clients started at this enormous level, disappeared into negativity and now is bubbling back up,” said Bob O’Donnell, an analyst at the consulting firm IDC.

The benefits of the technology seem obvious. Software glitches, updates and security are much less of a problem. The thin-client model places the burden of managing computers on professionals monitoring servers in a large warehouse.

Perhaps best of all, the users’ data is stored on the network. If the machine on your desk breaks, you just get another one and connect to the data warehouse, and off you go.

The biggest changes driving the interest in thin clients stem from networking and software improvements. The spread of high-speed Internet connections means that people working in a cubicle and at home can rely on an effective link back to the data warehouses.

H.P., Citrix Systems, Microsoft and others are also fine-tuning the software that controls communication between thin clients and the servers. This has led to smoother-running machines that can handle even video and audio applications.

Most significantly, the pool of programs thin clients can use has grown thanks to so-called virtualization software, which lets companies package up an entire operating system and all of its applications. Instead of picking and choosing certain software to send over the wire, companies can ship entire “virtual desktops.”

The reinvigorated buzz around thin-client technology has caused a scramble to address the market in innovative ways.

For example, Teradici, a start-up near Vancouver, produces a microprocessor that can speed the flow of software from data warehouses to thin clients. Dell and I.B.M. offer systems based on this chip and say that they can deal with even the most demanding software, like design programs.

Next month, Samsung will ship the 19-inch SyncMaster 930ND monitor, which relies on Teradici’s chip. Business customers can plug an Ethernet cable into the monitor and turn it into a full-fledged computer by connecting back to their data centers.

Customers of the Silicon Valley start-up Pano Logic plug their monitors, keyboards and mice into a small device that manages connections with servers holding full virtual desktops. The Hot-E from the Australian company ThinLinX is similar. One longtime player in the thin-client business, Wyse, manufactures an array of slim hardware, including laptops, that handle much the same work.

Noting rising interest in thin clients and virtual desktops, H.P. created a new group six months ago to address the technology, after buying the thin-client company Neoware for $214 million in late 2007.

“What you are seeing is that a lot of the right technology elements are starting to be there,” said Roberto Moctezuma, the vice president in charge of H.P.’s “desktop solutions” organization. “I think five years from now you will see a lot of thin computing in businesses.”

JetBlue has bought into thin clients for 20 percent of its computers using a combination of H.P.’s hardware and Citrix’s software. The technology will take center stage at the airline’s new terminal at Kennedy Airport.

“Thin clients represent a strategic direction for us,” said Pat Thompson, director of technology operations at JetBlue. “They are pretty much behind every customer-facing piece of technology that you see out there.”

By next January, the Regional Transportation District of Denver, which handles public transit in the Denver area, plans to replace about one-quarter of its systems with thin clients from Wyse running virtualization software from VMware.

“We’re looking at saving about $30,000 per year just in energy costs,” said Trent Ratcliff, the technology infrastructure manager. “And we’ll probably replace these every seven to nine years instead of every three years with PCs.”

Despite the budding interest, thin clients remain a tough sell for cultural reasons. People are used to keeping confidential and personal information on their own machines, and many companies see moving away from traditional desktops as a risk. In 2008, only 3.7 million thin clients were shipped, compared with 300 million PCs, according to IDC.

That should start to change in 2009 as companies begin a number of test projects and in 2010 when large-scale commitments to the technology begin, Mr. O’Donnell said.

Wall Street firms looking to make things easier for employees and save money, especially in these tight times, are driving some of the early tests.

“Financial services companies in the U.S. are very interested in using thin clients,” said Scott Woodgate, director for the Windows business group at Microsoft.

Microsoft has developed its virtualization software and acquired a pair of software makers — Calista Technologies and Kidaro — whose products could complement thin client technology.

Looking ahead, the thin client model could creep into the home, with PC-like functions arriving via TV set-top boxes or through devices that plug into the back of televisions. Internet service providers have started to explore the idea of selling these products to consumers and then offering monthly subscriptions to computing services.

Consumers would benefit by buying a device that’s cheaper than a PC but can still tap into a full virtual computer back in a managed data warehouse.

“There are companies that are talking about peeling off an infinite number of virtual systems and renting them to consumers,” said Roger L. Kay, president of the analysis firm Endpoint Technologies. “This is an idea whose time has come, and the argument is growing every day in favor of thin computing of some sort.”

Tech Tips for the Basic Computer User

“One of these days, I’m going to write a book called, ‘The Basics.’ It’s going to be a compendium of the essential tech bits that you just assume everyone knows–but you’re wrong.
“(I’ll never forget watching a book editor at a publishing house painstakingly drag across a word in a word processor to select it. After 10 minutes of this, I couldn’t stand it. ‘Why don’t you just double-click the word?’ She had no clue you could do that!)”
Many readers chimed in with other “basics” that they assumed every computer user knew–but soon discovered that what’s common knowledge isn’t the same as universal knowledge.
I’m sure the basics could fill a book, but here are a few to get you started. All of these are things that certain friends, family or coworkers, over the years, did *not* know. Clip, save and pass along to…well, you know who they are.
* You can double-click a word to highlight it in any document, e-mail or Web page.
* When you get an e-mail message from eBay or your bank, claiming that you have an account problem or a question from a buyer, it’s probably a “phishing scam” intended to trick you into typing your password. Don’t click the link in the message. If in doubt, go into your browser and type “www.ebay.com” (or whatever) manually.
* Nobody, but nobody, is going to give you half of $80 million to help them liberate the funds of a deceased millionaire…from Nigeria or anywhere else.
* You can hide all windows, revealing only what’s on the computer desktop, with one keystroke: hit the Windows key and “D” simultaneously in Windows, or press F11 on Macs (on recent Mac laptops, Command+F3; Command is the key with the cloverleaf logo). That’s great when you want examine or delete something you’ve just downloaded to the desktop, for example. Press the keystroke again to return to what you were doing.
* You can enlarge the text on any Web page. In Windows, press Ctrl and the plus or minus keys (for bigger or smaller fonts); on the Mac, it’s the Command key and plus or minus.
* You can also enlarge the entire Web page or document by pressing the Control key as you turn the wheel on top of your mouse. On the Mac, this enlarges the entire screen image.
* The number of megapixels does not determine a camera’s picture quality; that’s a marketing myth. The sensor size is far more important. (Use Google to find it. For example, search for “sensor size Nikon D90.”)
* On most cellphones, press the Send key to open up a list of recent calls. Instead of manually dialing, you can return a call by highlighting one of these calls and pressing Send again.
* When someone sends you some shocking e-mail and suggests that you pass it on, don’t. At least not until you’ve first confirmed its truth at snopes.com, the Internet’s authority on e-mailed myths. This includes get-rich schemes, Microsoft/AOL cash giveaways, and–especially lately–nutty scare-tactic messages about our Presidential candidates.
* You can tap the Space bar to scroll down on a Web page one screenful. Add the Shift key to scroll back up.
* When you’re filling in the boxes on a Web page (like City, State, Zip), you can press the Tab key to jump from box to box, rather than clicking. Add the Shift key to jump through the boxes backwards.
* You can adjust the size and position of any window on your computer. Drag the top strip to move it; drag the lower-right corner (Mac) or any edge (Windows) to resize it.
* Forcing the camera’s flash to go off prevents silhouetted, too-dark faces when you’re outdoors.
* When you’re searching for something on the Web using, say, Google, put quotes around phrases that must be searched together. For example, if you put quotes around “electric curtains,” Google won’t waste your time finding one set of Web pages containing the word “electric” and another set containing the word “curtains.”
* You can use Google to do math for you. Just type the equation, like 23*7+15/3=, and hit Enter.
* Oh, yeah: on the computer, * means “times” and / means “divided by.”
* If you can’t find some obvious command, like Delete in a photo program, try clicking using the right-side mouse button. (On the Mac, you can Control-click instead.)
* Google is also a units-of-measurement and currency converter. Type “teaspoons in 1.3 gallons,” for example, or “euros in 17 dollars.” Click Search to see the answer.
* You can open the Start menu by tapping the key with the Windows logo on it.
* You can switch from one open program to the next by pressing Alt+Tab (Windows) or Command-Tab (Mac).
* You generally can’t send someone more than a couple of full-size digital photos as an e-mail attachment; those files are too big, and they’ll bounce back to you. (Instead, use iPhoto or Picasa–photo-organizing programs that can automatically scale down photos in the process of e-mailing them.)
* Whatever technology you buy today will be obsolete soon, but you can avoid heartache by learning the cycles. New iPods come out every September. New digital cameras come out in February and October.
* Just putting something into the Trash or the Recycle Bin doesn’t actually delete it. You then have to *empty* the Trash or Recycle Bin. (Once a year, I hear about somebody whose hard drive is full, despite having practically no files. It’s because over the years, they’ve put 79 gigabytes’ worth of stuff in the Recycle Bin and never emptied it.)
* You don’t have to type “http://www” into your Web browser. Just type the remainder: “nytimes.com” or “dilbert.com,” for example. (In the Safari browser, you can even leave off the “.com” part.)
* On the iPhone, hit the Space bar twice at the end of a sentence. You get a period, a space, and a capitalized letter at the beginning of the next word.
* Come up with an automated backup system for your computer. There’s no misery quite like the sick feeling of having lost chunks of your life because you didn’t have a safety copy.

Top 5 High Tech Infantry Guns

Five of the best and most innovative weapons which could be made available to our foot soldiers.

When the Pentagon announced that it adjusted its future Combat Systems Initiative, the Secretary of Defense, Robert Gates voiced his concerns regarding the slow pace of fielding weapons to infantrymen who needed them now.

When the Pentagon recently tweaked its Future Combat Systems initiative, Secretary of Defense Robert Gates made noise about fielding weapons to infantrymen who need them now, rather than planning for hypothetical dogfights and sea battles.

So, what are currently the most innovative systems available to our soldiers? Here are five of the best weapons either in use on the battlefield or in development stages to be issued in the near future.

SCAR-Light

* Developer - FNH USA (USA)
* Caliber – 5.56mm
* Features – More accuracy and less prone to jamming than an M-16 or M4 rifle. SCAR barrels can be change with ease on the battle filed using a minimal number of tools.
* Progress – The original release of the SCAR was planned for 2006, but after a limited production run last year, there’s hope for the SCAR.


High Tech Infantry Guns - SCAR Light

Replacing the M-16 as well as the compact variant, the M-4 has been a largely tragic tale. One attempt was the Objective Individual Combat Weapon (OICW), which came with an integrated grenade launcher and laser-rangefinder.

Unfortunately the OIWC was scrapped due to excessive weight adding to the list of non contenders against the M-16 and M4.

In an effort to over come the seemingly impossible task of replacing these two assault rifles, the Special Operations Command (SOCOM) held a competition to aid the development of a new rifle to be deployed with Special Forces personnel.

The competition led to the development of the SCAR, and after having passed rigorous test to ensure the weapon was more accurate and reliable than the M-16 and M4, FHN USA landed the contract to mass-produce the FN SCAR.

The SCAR comes in two calibers—5.56 for the SCAR-Light, and 7.62 for the SCAR-Heavy. The weapon also meets SOCOM’s requirements for quick changes in the field. Using a minimal amount of tools the SCAR’s 18 inch barrel can be replaced with a standard 14 inch or shorter 10 inch barrel within minutes.

Although the SCAR-Light is likely to be more common than the more powerful SCAR-Heavy, both two weapons share 99 percent of the same parts, making field repairs easier and streamlining the overall logistics.

XM-25

* Developer - Alliance Techsystems (USA)
* Caliber – 25mm
* Features – Computer-aided targeting system which allows the user to aim quickly to adjust the range of the air-bursting round.
* Progress - The XM-25 is still in development, but in this industry—and particularly for a system that survived the OICW debacle—that amounts to very good news.

High Tech Infantry Guns - XM 25

The grenade launcher is often envisioned as an under-the-barrel weapon attached to an assault rifle; however the self-contained XM-25 is an entirely new concept.

Using the onboard ballistic computer and laser rangefinder, the user can set the exact range at which the 25mm round will explode. This feature allows the Xm-25 to negotiate almost any kind of cover a target could find, especially in an urban environment.

For example, rounds could be set to go off, in midair, just past the corner of building, just inside a sniper’s window, or directly above a group of hostiles hunched behind a concrete barrier.

The company behind the development of the XM-25, Alliance Techsystems credits the overhead airbursts with the potential for five time greater lethality, compared to other grenade launchers such as the M203. This is because the shrapnel will be more likely to drop on the targets head.

While this may seem like a gruesome point of pride, more direct strike means less civilian casualties.

SAR 21

* Developer - Singapore Technologies Kinetics (Singapore)
* Caliber – 5.56mm
* Features - Integrated visible/ infrared laser sight and 1.5x optical scope, translucent ammo magazines.
* Progress - The SAR 21 became standard issue for Singapore’s armed forces in 1999, but there are no plans for adoption elsewhere.

High Tech Infantry Guns - SAR 21

While the United States has had trouble replacing the M-16, Singapore have been using a newer and perhaps better performing assault rifle since 1999.

The SAR 21 replaced Singapore’s licensed version of the M-16, and has since gained a reputation among gun experts as one of the best “bullpup” (where the action and magazine are behind the trigger) assault rifles on the market.

While the SAR 21 has a smaller profile than the M-16, it doesn’t sacrifice barrel length (shorter barrels have less accuracy over longer distances). It also has a more manageable recoil due to the weapons center of gravity, the recoil tends to kick directly back toward to firer, instead of pushing upwards.

The SAR 21 has a Kevlar cheek plate to deal with chamber explosions occurring next to the user’s face (a regular safety issue for bullpup weapons). It’s also one of the few assault rifles in the world equipped with an integrated laser aiming device.
Corner Shot Launcher

* Developer - Corner Shot (Israel), Dynamit Nobel Defence (Germany)
* Caliber – 60mm
* Features - A collapsible firing-post, which is fitted with a camera and video screen, attaches to a disposable, one-shot 60 mm grenade launcher. Rounds can be fired at a 90 degree angle—other Corner Shot devices fire at up to 60 degrees.
* Progress – Unveiled in 2004, the Corner Shot is still awaiting deployment.


High Tech Infantry Guns - Corner Shot Assault Rifle

To read our original post on the Corner Shot Assault Rifle, Click Here>>>

Thanks to a hinged frame, an under-the-barrel camera and a video screen, the Corner Shot can basically shoot around corners. There are currently three different versions available; a pistol, a compact assault rifle or a 40mm and 60mm grenade launcher.

Designed for urban combat, where the ability to see around corners and open fire while behind cover is a huge advantage.

FMG9 Folding Machine Gun

* Developer - Magpul Industries (USA)
* Caliber – 9mm
* Features - Spring-loaded design transitions from a box to a gun, with a 31-round Glock 18 magazine loaded and ready to fire, at the press of a button.
* Progress - Nonfiring semiautomatic prototype shown in March 2008. Unfortunately no word yet on when a firing model—much less a fully automatic one—might be available.

High Tech Infantry Guns - FMG9

The concept of folding guns is not entirely new, legendary gun designer Eugene Stoner developed one in the 1980s, but Magpul Industries still made news earlier this year when it unveiled a prototype model of its FMG9 (short for Folding Machine Gun).

The folded gun resembles a small tool box with a flash light mounted on the top but with one push of a button the box suddenly transforms into a fully loaded, ready to fire 9mm submachine gun.

The gun also has an integrated laser sight, and can be carried without the handle and flashlight, for a sleeker, more pocketable profile.

Related posts

* Invisible Forcefield by Trophy Active Defense System (0)
* The Navy 10 Megajoule Railgun (0)
* Paintball and Gun Gear (6)
* More 1950s Experimental Aircraft (0)
* Military Super Suit Exoskeleton (12)

101 Google Tips, Tricks

1. The best way to begin searching harder with Google is by clicking the Advanced Search link.

2. This lets you search for exact phrases, "all these words", or one of the specified keywords by entering search terms into the appropriate box.

3. You can also define how many results you want on the page, what language and what file type you're looking for, all with menus.

4. Advanced Search lets you type in a Top Level Domain (like .co.uk) in the "Search within site of domain" box to restrict results.

5. And you can click the "Date, usage rights, numeric range and more" link to access more advanced features.

6. Save time – most of these advanced features are also available in Google's front page search box, as command line parameters.

7. Google's main search invisibly combines search terms with the Boolean construct "AND". When you enter smoke fire – it looks for smoke AND fire.

8. To make Google search for smoke or fire, just type smoke OR fire

9. Instead of OR you can type the | symbol, like this: smoke | fire

10. Boolean connectors like AND and OR are case sensitive. They must be upper case.

11. Search for a specific term, then one keyword OR another by grouping them with parentheses, like this: water (smoke OR fire)

12. To look for phrases, put them in quotes: "there's no smoke without fire"

13. Synonym search looks for words that mean similar things. Use the tilde symbol before your keyword, like this: ~eggplant

14. Exclude specific key words with the minus operator. new pram -ebay excludes all results from eBay.

15. Common words, like I, and, then and if are ignored by Google. These are called "stop words".

16. The plus operator makes sure stop words are included. Like: fish +and chips

17. If a stop word is included in a phrase between quote marks as a phrase, the word is searched for.

18. You can also ask Google to fill in a blank. Try: Christopher Columbus discovered *

19. Search for a numerical range using the numrange operator. For example, search for Sony TV between £300 and £500 with the string Sony TV £300..£500

20. Google recognises 13 main file types through advanced search, including all Microsoft Office Document types, Lotus, PostScript, Shockwave Flash and plain text files.

21. Search for any filetype directly using the modifier filetype:[filetype extension]. For example: soccer filetype:pdf

22. Exclude entire file types, using the same Boolean syntax we used to exclude key words earlier: rugby -filetype:doc

23, In fact, you can combine any Boolean search operators, as long as your syntax is correct. An example: "sausage and mash" -onions filetype:doc

24. Google has some very powerful, hidden search parameters, too. For example "intitle" only searches page titles. Try intitle:herbs

25. If you're looking for files rather than pages – give index of as the intitle: parameter. It helps you find web and FTP directories.

26. The modifier inurl only searches the web address of a page: give inurl:spices a go.

27. Find live webcams by searching for: inurl:view/view.shtml

28. The modifier inanchor is very specific, only finding results in text used in page links.

29. Want to know how many links there are to a site? Try link:sitename – for example link:www.mozilla.org

30. Similarly, you can find pages that Google thinks are related in content, using the related: modifier. Use it like this: related:www.microsoft.com

31. The modifier info:site_name returns information about the specified page.

32. Alternatively, do a normal search then click the "Similar Pages" link next to a result.

33. Specify a site to search with the site: modifier – like this: search tips site:www.techradar.com

34. The above tip works with directory sites like www.dmoz.org and dynamically generated sites.

35. Access Google Directory – a database of handpicked and rated sites – at directory.google.com

36. The Boolean operators intitle and inurl work in Google directory, as does OR.

37. Use the site: modifier when searching Google Images, at images.google.com. For example: dvd recorder site:www.amazon.co.uk

38. Similar, using "site:.com" will only return results from .com domains.

39. Google News (news.google.com) has its own Boolean parameters. For example "intext" pulls terms from the body of a story.

40. If you use the operator "source:" in Google News, you can pick specific archives. For example: heather mills source:daily_mail

41. Using the "location:" filter enables you to return news from a chosen country. location:uk for example.

42. Similarly, Google Blogsearch (blogsearch.google.com) has its own syntax. You can search for a blog title, for example, using inblogtitle:

43. The general search engine can get very specific indeed. Try movie: to look for movie reviews.

44. The modifier film: works just as well!

45. Enter showtimes and Google will prompt you for your postcode. Enter it and it'll tell you when and where local films are showing.

46. For a dedicated film search page, go to www.google.co.uk/movies

47. If you ticked "Remember this Location" when you searched for show times, the next time you can enter the name of a current film instead.

48. Google really likes movies. Try typing director: The Dark Knight into the main search box.

49. For cast lists, try cast: name_of_film

50. The modifier music: followed by a band, song or album returns music reviews.

51. Try searching for weather London – you'll get a full 4-day forecast.

52. There's also a built-in dictionary. Try define: in the search box.

53. Google stores the content of old sites. You can search this cache direct with the syntax keyword cache:site_url

54. Alternatively, enter cache:site_url into Google's search box to be taken direct to the stored site.

55. No calculator handy? Use Google's built in features. Try typing 12*15 and hitting "Google Search".

56. Google's calculator converts measurements and understands natural language. Type in 14 stones in kilos, for example.

57. It does currency conversion too. Try 200 pounds in euros

58. If you know the currency code you can type 200 GBP in EUR instead for more reliable results.

59. And temperature! Just type: 98 f to c to convert Fahrenheit to Centigrade.

60. Want to know how clever Google really is? Type 2476 in roman numerals, then hit "Google Search"...

61. You can personalise your Google experience by creating a Google account. Go to www.google.com/account/ then click "Create Account".

62. With a Google account there are lots more extras available. You'll get a free Gmail email account for one...

63. With your Google account, you can also personalise your front page. Click "iGoogle" to add blog and site feeds.

64. Click "Add a Tab" in iGoogle to add custom tabs. Google automatically populates them with suitable site suggestions.

65. iGoogle allows you to theme your page too. Click "Select Theme" to change the default look.

66. Some iGoogle themes change with time..."Sweet Dreams" is a theme that turns from day to night as you browse.

67. Click "More" under "Try something new" to access a full list of Google sites and new features.

68. "Custom Search" enables you to create a branded Google search for your own site.

69. An active, useful service missing from the list is "Personalised Search" – but you can access it via www.google.com/psearch when you're logged in.

70. This page lists searches you have recently made – and is divided into categories. Clicking "pause" stops Google from recording your history.

71. Click "Trends" to see the sites you visit most, the terms you enter most often and links you've clicked on!

72. Personalised Search also includes a bookmark facility – which enables you to save bookmarks online and access them from anywhere.

73. You can add bookmarks or access your bookmarks using the iGoogle Bookmarks gadget.

74. Did you know you can search within your returned results? Scroll down to the bottom of the search results page to find the link.

75. Search locally by appending your postcode to the end of query. For example Indian food BA1 2BW finds restaurants in Bath, with addresses and phone numbers!

76. Looking for a map? Just add map to the end of your query, like this: Leeds map

77. Google finds images just as easily and lists them at the top, when you add image to the end of your search.

78. Google Image Search recognises faces... add &imgtype=face to the end of the returned URL in the location bar, then hit enter to filter out pictures that aren't people.

79. Keeping an eye on stocks? Type stocks: followed by market ticker for the company and Google returns the data from Google Finance.

80. Enter the carrier and flight number in Google's main search box to return flight tracking information.

81. What time is it? Find out anywhere by typing time then the name of a place.

82. You may have noticed Google suggests alternate spellings for search terms – that's the built in spell checker!

83. You can invoke the spell checker directly by using spell: followed by your keyword.

84. Click "I'm Feeling Lucky" to be taken straight to the first page Google finds for your keyword.

85. Enter a statistics-based query like population of Britain into Google, and it will show you the answer at the top of its results.

86. If your search has none-English results, click "Translate this Page" to see it in English.

87. You can search foreign sites specifically by clicking "Language Tools", then choosing which countries sites to translate your query to.

88. Other features on the language tools page include a translator for blocks of text you can type or cut and paste.

89. There's also a box that you can enter a direct URL into, translating to the chosen language.

90. Near the language tools link, you'll see the "Search Preferences". This handy page is full of secret functionality.

91. You can specify which languages Google returns results in, ticking as many (or few) boxes as you like.

92. Google's Safe Search protects you from explicit sexual content. You can choose to filter results more stringently or switch it off completely.

93. Google's default of 10 results a page can be increased to up to 100 in Search Preferences, too.

94. You can also set Google to open your search results in a new window.

95. Want to see what others are searching for or improve your page rank? Go to www.google.com/zeitgeist

96. Another useful, experimental search can be found at www.google.com/trends – where you can find the hottest search terms.

97. To compare the performance of two or more terms, enter them into the trends search box separated by commas.

98. Fancy searching Google in Klingon? Go to www.google.com/intl/xx-klingon

99. Perhaps the Swedish chef from the muppets is your role model instead? Check www.google.com/intl/xx-bork

100. Type answer to life, the universe and everything into Google. You may be surprised by the result...

101. It will also tell you the number of horns on a unicorn.

Hack Available to Download Windows XP SP3 RC from Microsoft

That's right! Now you can get your hands on the first Release Candidate for Windows XP Service Pack 3! And all it will take is the implementation of a simple registry hack designed to allow Windows XP users to access, download and install Service Pack 3 Release Candidate straight from Microsoft.

You are not one of the 15,000 testers that have been so far permitted access to the RC build? No problem. And on top of that, there is no need to wait for a public version of one of the upcoming development milestones of XP SP3. If you really can't wait to get your hands on XP SP3 RC, then all you have to do is play around with the registry a tad.

The fact of the matter is that a registry hack to access a testing build of Windows Vista SP1 debuted in mid October. Modifying the registry allowed Windows Vista users to grab the Beta of Service Pack 1 straight from the Microsoft Windows Updates servers. The same is now the case for Windows XP. In order to understand what the hack is, you have to know that as of now, Windows XP SP3 RC is available exclusively to over 15,000 testers via Microsoft Connect. The Redmond company is delivering all members of the beta testing program of XP SP3 with a script set up to introduce a registry key, that subsequently permits access to the Release Candidate of XP SP3, according to Daniel Melanchthon, Technology Advisor for Microsoft Germany.

Well, the hack is nothing more, and nothing less than this script coming from Microsoft. Of course all participants in the beta testing process of Windows XP SP3 are under a strict non-disclosure agreement with Microsoft. But there are leaks, of course. You will be able to find the hack in question on WinFuture. Don't worry if you cannot speak German, it's not relevant in the least. Just copy the code that starts with "@echo off" into a text editor, Notepad will do fine. It doesn't matter the name under which you save it, but what does matter is the extension. Save As "WinXPSP3RC.cmd" for example, but pay attention to the .CMD, and in notepad select the All Files option and not .TXT. Apply the hack; it may require a restart, and then just check for Updates. You will be able to find Windows XP Build 2600.xpsp.071030-1537: Service Pack 3, v.3244 weighing in at some 337 MB – namely the Release Candidate for XP SP3.

How To Get Your Blog Ranked High on Google

1. Select Your Keywords and Keyword PhrasesChoose the keywords and keyword phrases you want your blog post to rank high for on the Google search engine results page. For example, I want my blog post to rank high for the term, "blog ranked high on Google." Currently there are approximately 286,000 pages using this term so I'll have to do everything in my power to compete with these web pages to get my blog post on the first page of the Google results page for that term.My keyword phrase also includes other keyword phrases like, "ranked high on Google" with about 310,000 competing pages and "high on Google" with over 71 million competing pages. Getting to the first page for these terms would be a bonus.

2. Use Your Keywords in Your Blog TitleGoogle pays very close attention to the words and phrases you use in your blog title. Notice how I used the term, "blog ranked high on Google" in the title of this article. It's important to use your keyword phrase in your blog title if you want to rank high for that phrase on the Google results page.Another reason you want to use your keyword phrase in your blog title is to give your reader an immediate understanding as to what your blog post is about. If your blog is listed at the top of the search engine results page for your keyword phrase but no one reads it, it's of no value. Use a title that will cause people to click through to your blog post.The New York Times creates two different titles for their articles. They use a catchy, creative or humorous title for their newspaper, and a keyword specific title for the articles and blogs they post to the Internet. They do this because people looking for jokes about the eating habits of nuns generally go to a search engine and type, "jokes about the eating habits of nuns," not "Nuns, Buns and Puns."

3. Use Your Keywords in Your Blog TextNotice how the keyword phrase, "blog ranked high on Google," is used throughout this blog post. Google pays attention to the text on a blog in order to understand what the blog post is about. Once Google comprehends the content of the blog post, it will categorize the blog based on that information. By using your keyword phrase in your text, both Google and your readers can quickly understand what your blog post is about, allowing Google to accurately categorize your blog making it easy for your clients to find. In the past, search engine consultants encouraged writers to use their keyword phrase in the first 25 words of their text and again in the last sentence. Today, the search engines don't seem to pay as much attention to word placement, but reader's do.If your article is about your keyword phrase, it's a good idea to use it in the first and last sentence because it helps your reader quickly know what your blog post is about. It's also a good idea to use your keyword phrase in the first sentence because that is the text that is most likely to show in the description text on the search results page.

4. Link To Your Blog With Keyword Rich Anchor TextGet as many one-way links leading back to your blog post as possible from as many quality blogs and websites as you can. Do your best to insure that the text people click on to get back to your site includes your keywords and keyword phrases. This is known in Internet marketing circles as anchor text.In this example I want the anchor text leading back to my blog post to have the keyword phrase, "blog ranked high on Google," as the clickable text. The clickable text is the means by which all of those other web sites and blogs tell Google what your blog post is about.Google provides far more weight to the theme of your blog post based on the quality and size of the sites linking back to your blog than the text on your blog. For example, if you do a Google search for the term, "click here," you will be taken to the Adobe Reader download web page. It's interesting to note the term "click here" doesn't appear anywhere on that page. The reason the Adobe Reader download page comes up first for this term is because there are millions of other sites that use the anchor text, "click here," to direct people to the Adobe Reader download page.There are two wonderful ways to get keyword rich anchor text directing people back to your blog post. The first is to write and submit an article about your blog post to other web site and blog owners who will upload your article to their site. In return those web site and blog owners will provide you with a keyword rich anchor text link from your article back to your blog. They get great content for their web site and you get a valuable one-way link back to your blog post.The second way is to encourage other blog owners to write about your blog post. In doing so, they are very likely to use your blog title as the anchor text leading readers back to your post. This is another reason why it's so important to use your keyword phrase in your blog title.

5. Ask Your Readers To Digg Your Blog Post. Ask your readers to tell the rest of the world about your blog post by submitting it to one of the social bookmarking sites. They include DIGG, Stumble, Blink and many others. If the title of your blog post includes your keyword phrase, it is likely that this is how your readers will describe your blog post to the social bookmarking sites. This helps Google decide where to rank your site on the search results page.

6. Blog On A Community Site Recognized Expert, Active Rain, and Christian Blog are all examples of niche community blog sites. Recognized Expert is a site for marketing experts, Active Rain is for real estate professionals and the Christian blog is for, you guessed it, Christians. These niche sites have tons of traffic along with the undivided attention of Google and the other search engines.

Concurrent Computer posts $301K profit

Concurrent Computer Corp. was in the black in the third quarter of fiscal 2008, and it reported plans for a reverse stock split.

The Duluth, Ga.-based provider of real-time Linux software and technology for commercial and government markets (NASDAQ: CCUR) had net income of $301,000 on $19.4 million in revenue. This compares with a net loss of $3.1 million on $16.1 million in revenue in the third quarter of 2007.

Concurrent has break-even earnings in the third quarter, compared with a loss per share of 4 cents in the same period last year.

The Company also said its that its board of directors has stamped its approval on asking Concurrent's stockholders for a reverse split of common stock at a ratio of one-for-10, meaning every 10 shares of common stock of Concurrent will be combined into one share of common stock. Concurrent plans to schedule a stockholders' meeting in the next two months.

Google Chrome...is Windows inside, which may be a strategic error

In a fascinating post, Scott Hanselman pulls apart the Google Chrome browser to discover Windows inside or, rather, Windows Template Library (WTL). WTL was open sourced by Microsoft back in 2004 and went somewhat silent until now, when it popped up in Google's open-source browser.

Hanselman calls out the reason for WTL's inclusion:

Chrome uses abstraction libraries to draw the GUI on other non-Windows platforms, but for now, what sits underneath part of ChromeViews is good ol' WTL. Makes sense, too. Why not use a native library to get native speeds? They are using WTL 8.0 build 7161 from what I can see.

Speed matters, and getting top speeds on Windows may require using native Windows libraries, graciously offered by Microsoft back in 2004 as open source.

However, not everything came free of charge (and effort) from Microsoft, as Hanselman points out, and it appears from a recent PCWorld article by Neil McAllister that the effort to bring Chrome to the Mac and Linux will be even harder. Hanselman writes:

Looks like The Chromium authors may have disassembled part of the Windows Kernel in order to achieve this security feature [Data Execution Protection] under Windows XP SP2. Probably not cool to do that, but they're clearly doing it for good and not evil, as their intent (from reading their code) is to make their browser safer under XP SP2 and prevent unwanted code execution.

So the Chrome authors have had to cut some corners to make the browser secure on Windows. Microsoft may not like the approach, but as Hanselman notes, at least Google is doing it for benevolent purposes.

Fine. But what I really want to see is Chrome for the Mac (and Linux). For this, however, PCWorld's McAllister suggests that we "shouldn't hold our breath," as the "Mac build is a work in progress that is much closer to the start than the finish." In part, this is because Google needs to code around Windows platform-specific elements like WTL.

All of which means that while Microsoft's open-source efforts may ensure it will take first place in the Chrome bake-off, Google is forcing the early adopters to stick with Firefox, rather than experiment with Chrome. The trendsetting crowd is with the Mac and, to a lesser but still significant extent, Linux, not Windows. (Of course, some data doesn't support this contention.)

It might make sense to aim for the mainstream (i.e., corporate IT, which would get the most benefit from an JavaScript-optimized Web browser), but the mainstream isn't in the habit of trying out the latest and greatest.

Personally, I think Google needs the entrepreneurial CIO and CTO if it hopes to make Chrome stick. That crowd, however, is likely not a Windows crowd. Time will tell if this was a strategic error on Google's part.

Top 5 List On How To Pick The Right Motherboard

I decided to make a top five list on motherboards because, in building a computer, it’s the hardest component to pick. It’s pretty much the nervous system of the PC, so proper selection is crucial to ensure your new computer performs as well or better than expected. Anyway, on with the top five!

1. Make Sure you pick the right size motherboard for the case you have chosen to use. If you have a micro at ATX case then your motherboard cannot be an ATX. Larger cases sometimes allow you to have smaller motherboards. Check the specs on the case before you continue looking for a motherboard.
2. Count how many SATA or IDE connections are available. I learned the hard way — I bought a CD drive and a hard drive — both IDE — and I only had one IDE connection and six SATA connections on the board I bought. I had To send the hard drive back and get a SATA.
3. Price isn’t everything! a motherboard that costs $80 can just as easily run as well if not better than a motherboard that costs $1000. Check the specs for features you want and also that you don’t need. If you’re not a gamer, chances are you don’t need something like SLI.
4. Do your research! Check and see what other people are saying about the motherboard. Again, just because the motherboard is expensive doesn’t necessarily mean it’s a beacon of quality!
5. Never buy from a third party like a flea market, a friend, or a guy in a van.

Strong Passwords, Passphrases, and Keys

Internet Fixes has an article this week about using passphrases instead of passwords. That would involve using Windows’ ability to utilize 127 character passwords, and using a random phrase instead of using a random password.

Example: My Aunt Nellie eats cat food!

Here we have 29 characters, including spaces, three capitalized letters and a punctuation mark. This is a pretty strong passphrase. In theory, it would require a supercomputer working for millions of years to solve a random key involving 29 units. Of course, that isn’t really a random key. It’s a random phrase that, again in theory, could be cracked by a brute force attack on a fast computer, or a distributed computing network using botted machines with a sophisticated cracking program using a good dictionary.

Also, some programs and web pages will not accept passwords that long, and some will not accept spaces. For those problems, the article suggests eliminating the spaces. That pulls the length down to 24 characters, still plenty strong enough (and perhaps even harder to crack).

Another method, and the one I prefer myself, is to use the first letter of each word, along with the punctuation and capitalization. I like to use favorite quotations, and throw in a curve like a misspelled word or two commas instead of one. That way you can actually write the thing down and (a) it won’t look like a password or passphrase at all, and (b) it becomes so random that it’s hard to imagine a program that could crack it between now and the end of the universe.

Example: The woods are lovely, dark and deep, but I have promises to keep, and miles to go before I sleep becomes Twal,dad,bIhptk,amtgbIs — also 23 characters but even closer to truly random. Change those commas to something else, toss in an extra character or add an exclamation point, and you’ve got a very secure key.

Why is this important? Well, you have to be able to remember at least a master password to get into RoboForm or other password managers. [What? You don’t?] Second, someone else has to be able to do so too, in the event of an emergency. They aren’t likely to have memorized “Twal,dad…” but they can write that quote down and, knowing the trick of converting it, drag that sucker out years down the road. Just remember to tell them if you change it, and to use something else for your “private” files — you know, the ones you get from that Russian site.

We’ll discuss strong encryption of files and drives another time.

Top Five Tips On How To Use An Old Computer

1. Fix it up. If the computer’s not too old, you should be able to buy some new RAM and some more hard drive space to extend its life. Before you buy a hard drive, just make sure you know the right connections. If you have enough money, buy a new processor (at least a Pentium 3 or higher).
2. Turn it into a sub-woofer! I know you’re like Coolio. Well I did it by using this PC World article. I found it quite interesting.
3. Donate it or recycle it. Yeah not the coolest thing, but it’s pretty obvious.
4. Turn it into a home server. As long as you have Windows 95 or higher, this shouldn’t be too much of a problem. You might need to get a router and a few other things at your local computer store.
5. Take it apart. If you don’t know much about computers, you can get a “how to build a computer” article and practice building a computer before you spend your hard earned cash.

The Weekly Source Code 33 - Microsoft Open Source inside Google Chrome

First, let me remind you that in my new ongoing quest to read source code to be a better developer, Dear Reader, I present to you thirty-third in a infinite number of posts of "The Weekly Source Code."
That said, what does Microsoft Code have to do with Google Chrome, the new browser from Google? Take a look at the Terms and Conditions for the "Chromium" project up on Google Code. There are 24 different bits of third party software involved in making Chrome work, and one of them is WTL, the Windows Template Library, which was released as Open Source in 2004.
Chrome's use of the Open Source Windows Template Library
WTL is distributed under the MS-PL or Microsoft Public License. This is a VERY relaxed license that basically says "have fun, and don't call if there's trouble." In the Open Source world, licenses like that make people smile.
WTL is a C++ library for Win32 development and is kind of like MFC (Microsoft Foundation Classes), but a lot more lightweight. It was originally worked on by Nenad Stefanovic as an internal thing at Microsoft that was then released as an unsupported sample. Nenad is still listed on the old SourceForge project.
WTL embraces ATL (Active Template Library) which is a series of C++ template classes made to make COM development easier. It was more or less patterned after the STL (Standard Template Library). You may remember that folks like Chris Sells were hard-core ATL wonks. Chris and Chris Tavares (of P&P fame) worked on the ATL Internals book.
WTL was well loved going back to 2002. There's a great post from back then by Simon Steele about The Joys of WTL. Simon says:
The Windows Template Library (WTL) is MFC on template-based steroids - after a successful stretch on the slimfast plan. WTL provides the user-interface frameworks that we need to write proper GUI applications without resorting to the bloated MFC or complicated pure Win32 API programming. A number of the "must-have" classes from MFC are also available as WTL utility classes too, welcome back your old friends CPoint, CSize, CRect and most importantly CString! WTL produces small executables that do not require the MFC run time libraries - in fact if you stay clear of the Visual C++ runtime functions (strcpy and friends) you can dispense with msvcrt.dll as well - leading to really small programs, which run fast too
Windows Template Library was released as Open Source over 4 years ago which is like 28 Internet years. May of 2004 was a long time. I didn't think Microsoft was doing much Open Source that far back, but it appears they were. In fact, back as far as April of 2003 there was talk on the WTL Yahoo Group by Pranish Kumar, then of the Visual C++ team, of trying to figure out how to get the product out into the community in a way that would let it live on.
History: How WTL Became Open Source
I had an IM chat today with Pranish Kumar about how WTL made it out of a 2004 Microsoft as an Open Source project. I'd also encourage you to check out both the Shared Source page at MSFT, the Open Source page, and most importantly, Port 25.
Here's part of my IM with Pranish about how WTL was released:
[WTL] was one of the first if not the first OSS things from Microsoft and it was a tough sell. There was a meeting with some bosses where we were presenting 3 potential OSS items. I guess it was the first "real OSS" with joint MS/Community involvement as opposed to just us posting something externally. WTL was the only one that got approved.
Me: Did it start the Shared Source Initiative?
Yes in the broader sense, I think we took the basis for the license/process from Win CE and a few other components which Microsoft made available (in some form) as shared source. They also looked at BSD and some other licenses.
It was a fascinating experience for many reasons. One of them was seeing the reaction of various Microsoft execs to the whole open source/shared source idea. There was a lot of concern about OSS = Linux, and questions on whether there was business value in us engaging
It's pretty amazing how our stance/attitude has changed, one of the reasons WTL got through is because we convinced management, it had a passionate community base and would really help us foster that base.
I check in on the community now and then (not as regularly as I'd like) and I'm always impressed how it's remained strong.
One of the reasons I wanted to work for ScottGu was because of Microsoft's always improving attitude about releasing source. It's a big company and sometimes moves slow, but more people "get it" now than before.
Digging In
Chrome uses abstraction libraries to draw the GUI on other non-Windows platforms, but for now, what sits underneath part of ChromeViews is good ol' WTL. Makes sense, too. Why not use a native library to get native speeds? They are using WTL 8.0 build 7161 from what I can see.
Chromium is a lot of code. The source tarball is over 400 megs, if you want to try to compile it yourself with VS2005. Let's try to look at a few tiny interesting bits, though. You can check out their "Build Bot" if you like, and watch the development on the Linux and Mac Versions as they progress each day.
In some places, Chrome uses WTL for little stuff, like macros. For example, in the Chrome AeroTooltipManager, GET_X_LPARAM is a macro:
1. ...snip...
2. if (u_msg == WM_MOUSEMOVE || u_msg == WM_NCMOUSEMOVE) {
3. int x = GET_X_LPARAM(l_param);
4. int y = GET_Y_LPARAM(l_param);
5. if (last_mouse_x_ != x || last_mouse_y_ != y) {
6. last_mouse_x_ = x;
7. last_mouse_y_ = y;
8. HideKeyboardTooltip();
9. UpdateTooltip(x, y);
10. }
11. ...snip...
In other places, they rely on it more, like in text_field.cc that includes atlcrack.h. These are not drugs, mind you, but rather "message crackers" to help get at, and react to, the information inside Window Messages. These are used to create a "message map" of all the events you're interested in. These are macros that expand into an obscene amount of code. They are exceedingly handy.
1. // CWindowImpl
2. BEGIN_MSG_MAP(Edit)
3. MSG_WM_CHAR(OnChar)
4. MSG_WM_CONTEXTMENU(OnContextMenu)
5. MSG_WM_COPY(OnCopy)
6. MSG_WM_CUT(OnCut)
7. MESSAGE_HANDLER_EX(WM_IME_COMPOSITION, OnImeComposition)
8. MSG_WM_KEYDOWN(OnKeyDown)
9. MSG_WM_LBUTTONDBLCLK(OnLButtonDblClk)
10. MSG_WM_LBUTTONDOWN(OnLButtonDown)
11. MSG_WM_LBUTTONUP(OnLButtonUp)
12. MSG_WM_MBUTTONDOWN(OnNonLButtonDown)
13. MSG_WM_MOUSEMOVE(OnMouseMove)
14. MSG_WM_MOUSELEAVE(OnMouseLeave)
15. MSG_WM_NCCALCSIZE(OnNCCalcSize)
16. MSG_WM_NCPAINT(OnNCPaint)
17. MSG_WM_RBUTTONDOWN(OnNonLButtonDown)
18. MSG_WM_PASTE(OnPaste)
19. MSG_WM_SYSCHAR(OnSysChar) // WM_SYSxxx == WM_xxx with ALT down
20. MSG_WM_SYSKEYDOWN(OnKeyDown)
21. END_MSG_MAP()
They also use some handy helpers that are C++ classes around Windows structures. For example, the Windows POINT structure is a class in WTL called CPoint. The class actual derives from the struct. Lots of interesting stuff in there, and WTL is at a pretty low level helping out and keeping things tidy.
Now, moving on to something I found fascinating because it's not documented and may or may not have required some disassembling to accomplish.
Chrome's Odd Use of Data Execution Prevention
This part isn't explicitly about use of open source, but it's darned interesting. This is part of Chrome's WinMain(). It's long, but check out a few interesting bits. First, the big if/else at the beginning. They look at the command line and determine if they (the EXE) are one of three flavors...either a Renderer, a Plugin [host] process, or the Browser process. Notice that they have DEP (Data Execution Prevention) turned on for the Renderer and main Browser, but have to enable ATL7 thinking because there are plugins that weird build in older ways still out there. They are ultimately calling SetProcessDEPPolicy and passing in a flag to enable DEP, as well enabling ATL7 compiled processes. From MSDN help:
"Disables DEP-ATL thunk emulation for the current process, which prevents the system from intercepting NX faults that originate from the Active Template Library (ATL) thunk layer."
These new APIs were added in Vista SP1, Windows XP SP3 and WIndows 2008. Why is ATL special cased? From Michael Howard:
"Older versions of ATL, and by older I mean pre-Visual C++ 2005, used dynamically generated code in small isolated cases. Obviously, without the appropriate APIs this is going to cause problems on a DEP-enabled computer, because you can't execute data. This code is referred to as a "thunk" and versions of ATL in VC++ 2005 and later work correctly with DEP."
Some plugins that might run in a Chrome sandboxed process might be compiled in this way, so that process has a different security DEP setting than the others.
1. int APIENTRY wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
2. wchar_t* command_line, int show_command) {
3. // The exit manager is in charge of calling the dtors of singletons.
4. base::AtExitManager exit_manager;
5.
6. // Note that std::wstring and CommandLine got linked anyway because of
7. // breakpad.
8. CommandLine parsed_command_line;
9. std::wstring process_type =
10. parsed_command_line.GetSwitchValue(switches::kProcessType);
11.
12. const wchar_t* dll_name = L"chrome.dll";
13. if (process_type == switches::kPluginProcess) {
14. // Plugin process.
15. // For plugins, we enable ATL7 thunking support because we saw old activex
16. // built with VC2002 in the wild still being used.
17. sandbox::SetCurrentProcessDEP(sandbox::DEP_ENABLED_ATL7_COMPAT);
18. } else if (process_type == switches::kRendererProcess) {
19. // Renderer process.
20. // For the processes we control, we enforce strong DEP support.
21. sandbox::SetCurrentProcessDEP(sandbox::DEP_ENABLED);
22. } else {
23. // Browser process.
24. // For the processes we control, we enforce strong DEP support.
25. sandbox::SetCurrentProcessDEP(sandbox::DEP_ENABLED);
26. }
27. ...snip...
28. }
When you dig into their use of DEP, notice this interesting comment, as they try to get DEP working under Windows XP SP2 and Windows Server 2003 SP1. They are using the totally unsupported technique outlined in this article from 2005 to try to turn on DEP. If you try to call this on Vista you'll get back STATUS_NOT_SUPPORTED, of course. ;) There's an official Vista API, and that's SetProcessDEPPolicy.
As an side, and interestingly enough, this undocumented API has been added as a patch just last week to WINE (Windows Emulation) for those who try to emulate Windows under Linux, but outside a VM.
Note the most interesting comment in the method:
"// Completely undocumented from Microsoft. You can find this information by
// disassembling Vista's SP1 kernel32.dll with your favorite disassembler.
enum PROCESS_INFORMATION_CLASS {
ProcessExecuteFlags = 0x22,
}"
Looks like The Chromium authors may have disassembled part of the Windows Kernel in order to achieve this security feature under Windows XP SP2. Probably not cool to do that, but they're clearly doing it for good and not evil, as their intent (from reading their code) is to make their browser safer under XP SP2 and prevent unwanted code execution.
This internal and totally unsupported API is in the Microsoft Windows Internals 4th Edition, Chapter 6, on download.microsoft.com (PDF). It's also mentioned in a Microsoft Research PowerPoint (PPTX). An architect on the Windows Kernel team point out in a forum posting that this was internal:
"I want to stress as a disclaimer that NtSetInformationProcess, class ProcessAccessToken, is an undocumented and unsupported infterface. It is reserved for system component use and is subject to change between operating system releases"
You can see the dance Chrome does below or on their source site. They poke around looking for a method that does what they want, using GetProcAddress:
1. namespace sandbox {
2.
3. namespace {
4.
5. // These values are in the Windows 2008 SDK but not in the previous ones. Define
6. // the values here until we're sure everyone updated their SDK.
7. #ifndef PROCESS_DEP_ENABLE
8. #define PROCESS_DEP_ENABLE 0x00000001
9. #endif
10. #ifndef PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION
11. #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002
12. #endif
13.
14. // SetProcessDEPPolicy is declared in the Windows 2008 SDK.
15. typedef BOOL (WINAPI *FnSetProcessDEPPolicy)(DWORD dwFlags);
16.
17. // Completely undocumented from Microsoft. You can find this information by
18. // disassembling Vista's SP1 kernel32.dll with your favorite disassembler.
19. enum PROCESS_INFORMATION_CLASS {
20. ProcessExecuteFlags = 0x22,
21. };
22.
23. // Flags named as per their usage.
24. const int MEM_EXECUTE_OPTION_ENABLE = 1;
25. const int MEM_EXECUTE_OPTION_DISABLE = 2;
26. const int MEM_EXECUTE_OPTION_ATL7_THUNK_EMULATION = 4;
27. const int MEM_EXECUTE_OPTION_PERMANENT = 8;
28.
29. // Not exactly the right signature but that will suffice.
30. typedef HRESULT (WINAPI *FnNtSetInformationProcess)(
31. HANDLE ProcessHandle,
32. PROCESS_INFORMATION_CLASS ProcessInformationClass,
33. PVOID ProcessInformation,
34. ULONG ProcessInformationLength);
35.
36. } // namespace
37.
38. bool SetCurrentProcessDEP(DepEnforcement enforcement) {
39. #ifdef _WIN64
40. // DEP is always on in x64.
41. return enforcement != DEP_DISABLED;
42. #endif
43.
44. // Try documented ways first.
45. // Only available on Vista SP1 and Windows 2008.
46. // http://msdn.microsoft.com/en-us/library/bb736299.aspx
47. FnSetProcessDEPPolicy SetProcDEP =
48. reinterpret_cast(
49. GetProcAddress(GetModuleHandle(L"kernel32.dll"),
50. "SetProcessDEPPolicy"));
51.
52. if (SetProcDEP) {
53. ULONG dep_flags;
54. switch (enforcement) {
55. case DEP_DISABLED:
56. dep_flags = 0;
57. break;
58. case DEP_ENABLED:
59. dep_flags = PROCESS_DEP_ENABLE |
60. PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION;
61. break;
62. case DEP_ENABLED_ATL7_COMPAT:
63. dep_flags = PROCESS_DEP_ENABLE;
64. break;
65. default:
66. NOTREACHED();
67. return false;
68. }
69. return 0 != SetProcDEP(dep_flags);
70. }
71.
72. // Go in darker areas.
73. // Only available on Windows XP SP2 and Windows Server 2003 SP1.
74. // http://www.uninformed.org/?v=2&a=4
75. FnNtSetInformationProcess NtSetInformationProc =
76. reinterpret_cast(
77. GetProcAddress(GetModuleHandle(L"ntdll.dll"),
78. "NtSetInformationProcess"));
79.
80. if (!NtSetInformationProc)
81. return false;
82.
83. // Flags being used as per SetProcessDEPPolicy on Vista SP1.
84. ULONG dep_flags;
85. switch (enforcement) {
86. case DEP_DISABLED:
87. // 2
88. dep_flags = MEM_EXECUTE_OPTION_DISABLE;
89. break;
90. case DEP_ENABLED:
91. // 9
92. dep_flags = MEM_EXECUTE_OPTION_PERMANENT | MEM_EXECUTE_OPTION_ENABLE;
93. break;
94. case DEP_ENABLED_ATL7_COMPAT:
95. // 0xD
96. dep_flags = MEM_EXECUTE_OPTION_PERMANENT | MEM_EXECUTE_OPTION_ENABLE |
97. MEM_EXECUTE_OPTION_ATL7_THUNK_EMULATION;
98. break;
99. default:
100. NOTREACHED();
101. return false;
102. }
103.
104. HRESULT status = NtSetInformationProc(GetCurrentProcess(),
105. ProcessExecuteFlags,
106. &dep_flags,
107. sizeof(dep_flags));
108. return SUCCEEDED(status);
109. }
110.
111. } // namespace sandbox
It's a really interesting read and there's a lot of stuff going on in the comments, like TODOs, HACKs, and the like. All the stuff you'd expect to see any application of significant size. Funny, it's been at least 5 years since I've thought about C++ deeply. And to think I used to do all this -> stuff full time for money!
There's lots more to see. Check out the About Box version checks where they were blocking on Vista SP1 with UAC disabled. Also, the Threading stuff is interesting as they have a Thread Class that was ported to Mac and Linux. Finally check out Pickle.cc, as they serialize objects by "pickling them." Pickle is serialization for Python, and this looks like they're serializing between C++ and Python, and this is a C++ implementation of Pickle.
Back on WTL, you can download the final MS release of WTL 7.1 at Microsoft Downloads if you're interested. However, the more interesting release is the 8.0 release from June of 2007. This was the most recent release from the community! WTL 8 includes full support for Vista!
I think it's great that Microsoft is releasing more and more code in either Shared Source, Reference Source, or my favorite, Open Source as MS-PL. The fact that Google was able to use it, even this small part, really speaks to the spirit of Open Source.
Related Links
WTL on Code Project by Michael Dunn
Part I - ATL GUI Classes
Part II - WTL GUI Base Classes
Part III - Toolbars and Status Bars
Part IV - Dialogs and Controls
Part V - Advanced Dialog UI Classes
WTL Yahoo Gruop - Still Active with 4500+ members
WTL SourceForge Project

11 Top Tips for a Successful Technical Presentation

Over five years ago I posted Tips for a Successful MSFT Presentation. Yesterday I watched the video of my Mix Presentation all the way through. It's always very painful to hear one's own voice but it's even worse to watch yourself. I never listen to my podcast and I avoid watching myself. It's like watching a person in parallel universe and it inspires self-loathing. However, if you are someone who values continuous improvement - and I am - you need to do the uncomfortable.

Here's my five-years-later Updated Tips for a Successful Technical Presentation.

1. Have a Reset Strategy (One-Click)
If you're going to give a talk, you'll probably have to give it more than once. If you have demonstrations of any kind, have a "one-click" way to reset them. This might be a batch file or Powershell script that drops a modified database and reattaches a fresh one, or copies template files over ones you modify during your demo.

Personally, I'm sold on Virtual Machines. I have seven VMs on a small, fast portable USB drive that will let me do roughly 12 different presentations at the drop of a hat. You never know when you'll be called upon to give a demo. With a Virtual Machine I can turn on "Undo Disks" after I've prepared the talk, and my reset strategy is to just turn off the VM and select "Delete Changes." A little up-front preparation means one less thing for you to panic about the day of the talk.

2. Know Your Affectations (Ssssssseriously)
I have a bit of a lisp, it seems. I also hold my shoulders a little higher than is natural which causes my neck to tighten up. I also pick a different word, without realizing it, and overuse it in every talk. This is similar to how Microsoft Employees overuse the word "so" (which is actually Northwestern Americans, not MSFTies) too much.

It's important to know YOUR affectations so you can change them. They may be weakening your talk. Don't try to remember them all, though. Just pick two or three and focus on replacing them with something less detracting. Don't overanalyze or beat yourself up, though. I've spoken hundreds of times over the last 15 years and I'm always taking two-steps forward and one step back. The point is to try, not to succeed absolutely.

3. Know When To Move and When To Not Move (Red light!)
One of the most powerful tips I ever received was this: "When you move, they look at you. When you stop, they look at the screen." Use this to your advantage. Don't pace randomly, idley or unconsciously. Don't rock back and forth on your heels. Also, empty your pockets if you tend to fiddle with lose change or your keys.

4. For the Love of All That Is Holy, FONT SIZE, People (See that?)
It just tears me up. It physically makes me ill. To give a presentation and utter the words "um, you probably won't be able to see this" does everyone in the room a disservice. Do NOT use the moment of the presentation as your time to do the font resizing.

Lucida Console, 14 to 18pt, Bold. Consider this my gift to you. This is the most readable, mono-spaced font out there. Courier of any flavor or Arial (or any other proportionally spaced font) is NOT appropriate for code demonstrations, period, full stop. Prepare your machine AHEAD OF TIME. Nothing disrespects an audience like making them wait while you ask "Can you see this 8 point font? No? Oh, let me change it while you wait." Setup every program you could possibly use, including all Command Prompt shortcuts, before you begin your presentation. That includes VS.NET, Notepad, XMLSpy, and any others, including any small utilities.

I've found that the most readable setup for Command Prompts is a Black Background and with the Foreground Text set to Kermit Green (ala "Green Screen." Yes, I was suspicious and disbelieving also, but believe it or not, it really works.) I set Command Prompts to Lucida Console, 14 to 18pt, Bold as well, with much success.

Also, set the font size to LARGEST in Internet Explorer and remember that there are accessibility features in IE that allow you to include your own Large Font CSS file for those web pages that force a small font via CSS.

Learn how to use ZoomIt and practice before-hand. It can be an incredibly powerful tool for calling out sections of the screen and making it so even the folks way in the back can see what's going on.

For simplicities' sake, I like to keep a separate user around call "BigFonty" (choose your own name). He's an Administrator on the local machine and he exists ONLY for the purposes of demonstrations. All the fonts are large for all programs, large icons, great colors, etc. It's the easiest way to set all these settings once and always have them easily available.

5. Speak their Language (Know the Audience)
When I was in Malaysia for TechEd, I spent 3 full days exclusively with locals before the talk, I learned snippets of each of the languages, tried to understand their jokes and get an idea about what was important to people in Malaysia. American analogies, much humor, and certain "U.S. specific" English colloquialisms just didn't make any sense to them. When it came time to give the presentations, I better understood the Malaysian sense of timing, of tone and timbre, and I began each of my presentations by speaking in Bahasa Malaysia. I changed aspects of my slides to remove inappropriate content and add specific details that would be important to them.

I've used this same technique in a half-dozen countries with success. While this is an extreme example, the parallels with any audience are clear. If you're speaking to a room full of IT guys who work in the Automotive field, or the Banking industry, the fact that we are all programmers only gives you a small degree of shared experience. Remember no matter the technical topic, try to get into the mind of the audience and ask yourself, why are they here and what can I tell them that will not be a waste of their time. What would YOU want to hear (and HOW would you like to hear it) if you were sitting there?

6. Be Utterly Prepared (No excuses)
Short of an unexpected BSOD (and even then, be ready) you should be prepared for ANYTHING. You should know EVERY inch of your demos and EXACTLY what can go wrong. Nothing kills your credibility more than an error that you DON'T understand. Errors and screw-ups happen ALL the time in Presentations. They can even INCREASE your credibility if you recover gracefully and EXPLAIN what happened. "Ah, this is a common mistake that I've made, and here's what you should watch for." Be prepared with phrases that will turn the unfortunate incident around and provide them useful information.

7. CONTENT, CONTENT, CONTENT (Have some)
Every move, phrase, mistake, anecdote and slide should actually contain content. It should be meaningful. Your mistakes should teach them, your demos should teach them; even your shortcut keys, utilities and menu layout should teach them. A presentation isn't an opportunity to read your slides. I'll say that again. Don't READ your slides. I can read faster than you can talk.

Remember that most people can read silently to themselves 5 to 10 times faster that you can read to them out loud. Your job as a presenter is to read in between the lines, and provide them structure. Your slides should be treated as your outline – they are structure, scaffolding, nothing more. If you jam your slides full of details and dozens of bullets, you might as well take your content and write an article. It's difficult to listen to someone talk and read their slides at the same time – remember that when you design your content. YOU are the content, and your slides are your Table of Contents.

8. System Setup (Be unique, but don't be nuts)
When you a presenting, remember that you are looked upon as an authority. Basically, you are innocent until proven guilty. It's great to have a personality and to be unique, but don't let your personal choice of editors or crazy color scheme obscure the good information you're presenting. I appreciate that you may like to use VI or emacs to view text files, but let's just say that sometimes Notepad has a calming effect on the audience.

I give Microsoft talks, usually, so I tend towards Visual Studio, but 99% of my talks use a limited number of tools. Basically Visual Studio, Notepad, the Command Prompt and a Browser.

Remember that while you may prefer things a certain way while your face is a foot away from the screen, it's very likely the wrong setup when 500 people are more than 100 feet away.

I really like to get Toolbars and things out of the way. I use F11 (Fullscreen) in the Browser a lot, as well as Visual Studio's Shift-Alt-Enter shortcut to FullScreen. Turn off unneeded flair and toolbars. Also, turn on line-numbering so you can refer to lines if you're presenting code.

9. Speaking (Um…)
"Volume and Diction," my High School Drama teacher said to me. Speak clearly, authoritatively, project your voice to the back of the room. The best speakers don't even need microphones. If you have a speaking affectation (I had a lisp growing up) or you tend to say, um, etc, or find yourself overusing a specific phrase ("a priori", "fantastic", "powerful", etc) take it upon yourself to NOTICE this mannerism and avoid it.

Practice multi-tasking. It seems silly to say, but although we can all multitask to a certain degree, when we hit a real snag in a presentation, many of us tend to freeze. Silence is deadly. Remember, since all eyes are on you, complete silence and apparent introspection says "I don't know know what I'm doing." When you need to get to a particular file, don't make the audience wait for you while you putter through explorer. Have shortcuts ready (and explain when you use them). Move fast and efficiently, but annotate your actions. You should continue to "color-commentate" your actions like a sports announcer. Don't allow "dead-air," unless it's silence for effect.

10. Advancing Slides (No lasers!)
I always used to hate slide-advancers, you know, those little remotes with forward and backward buttons. Then I tried one and I'm hooked. I use the Microsoft Presenter Mouse 8000 and totally recommend it. It isn't just a great Bluetooth mouse, but flip it over and it's a great Powerpoint slide advancer.

Take a look at Al Gore's excellent presentation in "An Inconvenient Truth." It's seamless and flows. Now imagine him running over to his laptop to hit the spacebar each time he wanted to advance a slide. My presentations have gotten better as I've started incorporating this technique.

11. Care (deeply)
I really avoid presenting on topics that I don't care about. I avoid it like the Plague and I encourage you to do so as well. There's nothing more important that truly caring about your topic. If you care, it'll show. If you eschew all the other tips, at the very least care.