computers&technologys

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.

Is HP building a custom Linux distro for home computers?

Business Week reports that sources inside HP claim the company is readying a custom operating system based on Linux for home computer users. There are practically no details about the rumored OS at this point, aside from the fact that it's supposed to be "easier" to use than most Linux distributions.

Why would HP, a company that has made billions of dollars by selling machines designed to run Windows want to build its own operating system? Two words. Vista and Apple.

First of all, Microsoft is in the process of killing off its most popular operating system ever, Windows XP. But many home and business computer users are reluctant to install Windows Vista. So if HP wants to continue selling computers over the next few years while waiting for Windows 7 to arrive, it might not be a bad idea to offer customers an alternative to Windows Vista.

The Business Week article also quotes someone who claims that Apple could be preparing to enter the sub-$1000 laptop game soon. That's an area where companies like HP, Dell, and Acer haven't really had to worry about Apple so far. But one of the reasons Apple laptops have been gaining steam in the last few years is because the same company is behind the software and the hardware. That means you don't run into the kind of hardware compatibility issues you find with Windows Vista. A custom HP operating system could ensure that as long as you buy HP peripherals, everything you plug into your computer will work.

HP has already begun dabbling in Linux. Earlier this year the company released the HP 2133 Mini-Note, a low end ultraportable laptop designed to compete with the popular Asus Eee PC. The cheapest versions of the Mini-Note run SUSE Linux Enterprise Desktop.

The 5 most annoying programs on your PC

Elephantware. That is what we are talking about. Bloated programs that make brand new PCs boot like Pentium 2s with 64 MBs of RAM.

This is software that causes your screen to freeze while it works, consumes enough system resources to display a reminder box letting you know there is a new, even bigger, version available for download. Software we've been forced to install so we can read some special document format, enjoy some DRM infected piece of media, or communicate with others who also live with the same brand of behemoth riding on their backs.

We all have it. We are all stuck with it. And, aside from a glimmer or two of hope, we can't expect to escape their boot screens, quick launch icons, or update reminders anytime soon.

This is the worst of the worst.

1. Acrobat Reader

Adobe Acrobat Reader is like a stocky frat guy you never want to invite to your Halloween parties, because he'll show up wearing a giant gift-wrapped box with a "To: Women, From: God" label on top. He thinks he is all that, but he really just wore a costume so big he can't get through the front door and has to stay outside by the fire all night (true story!).

Back on topic though, Acrobat reader does one thing poorly -- read PDFs. To do this it needs to download updates at least twice a month. Acrobat's other big feature is the ability to bring your system to a roaring halt while it boots up its massive amount of plugins and libraries. All this to display (wait for it) -- a page.

FoxIt Reader is a much better solution. Download it, and you'll no longer cringe each time your accidentally click on a PDF link while browsing the internet.

2. iTunes

I CAN HAZ MANY HOURS OF IPOD SYNCING? KTHXBYE!

For the love of Apple, why is iTunes such a cow of an application? It is a media player! It should be light and the media should be heavy. Instead we have a bloated and increasingly complex application that takes so long to load, is so ugly, and takes up so much memory the only option is to not use it and pull up Pandora. And let's not even talk about the painful process of syncing a new iPod using this pile of cowplop.

3. Real Player

Real Player could have been YouTube. Instead it is, well, Real Player. Like a pushy kid on your front lawn trying to sell you a magazine subscription, Real Player just doesn't leave you alone. It is constantly trying to take over all the media on your hard drive, your web browser, and your MP3 Players. To make matters worse it continuously tries to upsell you on Rhapsody and SuperPass. Yeah, let's just SuperPass on those options. Thanks.

You might try Real Alternative instead.

4. Internet Explorer

Yes, the great drunk-and-raving-at-family-Christmas-gatherings granddad of bad software. Will Microsoft ever fix this? Sure IE 7.0 is better than IE 6.0, but that is only in a "at least Mussolini made the trains run on time" sort of way. It is still evil. Can't believe it? Ask any web developer to explain how many hours they've spent in the last month getting their site to work in IE and you'll get the picture.

If you aren't using FireFox, do.

5. Microsoft Outlook

Hello Microsoft! Please! It is nearly 2008! How is it possible GMail and Yahoo Mail are so much faster and so much more feature-rich than your flagship mail client? How is it, in the world of 500 spam messages a day, that Outlook becomes pitch-drip slow as soon as you have a couple thousand messages? How is it your business contact manager is always trying to do mysterious things, always failing to do them, and always complaining about it in the middle of startup? And how, oh please tell us how, can you justify a message search that scans a folder at the same speed we do?

Let's face it, no matter how fast your processor, how big your hard drive, or how many Gigs of RAM you have -- your PC will still never run like a gazelle. With junk like the aforementioned software cluttering up your C Drive from day one, you'll always be stuck waddling along at Winnie-the-Pooh speeds. And if that is too fast for you, perhaps a downgrade to Vista is in order.

Secret Websites, Coded Messages: The New World of Immersive Games

Interview: Trent Reznor on Year Zero, Planting Clues, and What's Ludicrous About Being a Musician Today
...- .. -.. . ---: .-..-. .-. . -.. / .... --- .-. ... . / ...- . -.-. - --- .-. .-..-.
...- .. -.. . ---: .-..-. - .... . / -... . --. .. -. -. .. -. --. / --- ..-. / - .... . / . -. -.. .-..-.
NinWiki: Guide to Year Zero
The initial clue was so subtle that for nearly two days nobody noticed it.
On February 10, 2007, the first night of Nine Inch Nails' European tour, T-shirts went on sale at a 19th-century Lisbon concert hall with what looked to be a printing error: Random letters in the tour schedule on the back seemed slightly boldfaced. Then a 27-year-old Lisbon photographer named Nuno Foros realized that, strung together, the boldface letters spelled "i am trying to believe." Foros posted a photo of his T-shirt on the Spiral, the Nine Inch Nails fan forum. People started typing "iamtryingtobelieve.com" into their Web browsers. That led them to a site denouncing something called Parepin, a drug apparently introduced into the US water supply. Ostensibly, Parepin was an antidote to bioterror agents, but in reality, the page declared, it was part of a government plot to confuse and sedate citizens. Email sent to the site's contact link generated a cryptic auto-response: "I'm drinking the water. So should you." Online, fans worldwide debated what this had to do with Nine Inch Nails. A setup for the next album? Some kind of interactive game? Or what?
A few days later, on February 14, a woman named Sue was about to wash a different T-shirt, which she had bought at one of the Lisbon shows, when she noticed that the tour dates included several boldface digits. Fans quickly interpreted this as a Los Angeles telephone number. People who called it heard a recording of a newscaster announcing, "Presidential address: America is born again," followed by a distorted snippet of what could only be a new Nine Inch Nails song. Then, a woman named Ana reported finding a USB flash drive in a bathroom stall at the hall where the band had been playing. On the drive was a previously unreleased song, which she promptly uploaded. The metadata tag on the song contained a clue that led to a site displaying a glowing wheat field, with the legend "America Is Born Again." Clicking and dragging the mouse across the screen, however, revealed a much grimmer-looking site labeled "Another Version of the Truth." Clicking on that led to a forum about acts of underground resistance.
All this activity had been set in motion months before. Trent Reznor, the singer — songwriter behind Nine Inch Nails, had been recording Year Zero, a grimly futuristic suite evoking an America beset by terrorism, ravaged by climate change, and ruled by a Christian military dictatorship. "But I had a problem," he recalls, lounging on a second-floor deck of the house he's remodeling in Beverly Hills: how to provide context for the songs. In the '60s, concept albums came with extensive liner notes and lots of artwork. MP3s don't have that. "So I started thinking about how to make the world's most elaborate album cover," he says, "using the media of today."
Years earlier, Reznor had heard about a complex game played out over many months, both online and in the real world, in which millions of people across the planet had collectively solved a cascading series of puzzles, riddles, and treasure hunts that ultimately tied into the Steven Spielberg movie AI: Artificial Intelligence. Developed by Jordan Weisman, then a Microsoft exec, it was the first of what came to be called alternate reality games — ARGs for short. After leaving Redmond, Weisman founded a company called 42 Entertainment, which made ARGs for products ranging from Windows Vista to Pirates of the Caribbean: Dead Man's Chest. Reznor wanted to give his fans a taste of life in a massively dysfunctional theocratic police state, and he decided that a game involving millions of players worldwide would help him do that in a big way.
Reznor was stepping into a new kind of interactive fiction. These narratives unfold in fragments, in all sorts of media, from Web sites to phone calls to live events, and the audience pieces together the story from shards of information. The task is too complicated for any one person, but the Web enables a collective intelligence to emerge to assemble the pieces, solve the mysteries, and in the process, tell and retell the story online. The narrative is shaped — and ultimately owned — by the audience in ways that other forms of storytelling cannot match. No longer passive consumers, the players live out the story. Eight years ago, this kind of entertainment didn't exist; now dozens of such games are launched every year, many of them attracting millions of followers on every continent.
How could this work for Year Zero? Reznor had spent a long time thinking and writing about the future dystopia he imagined. Now he wanted to share this story with his fans. He filled in the contact form on 42 Entertainment's Web site and clicked Send.

Alex Lieu, Susan Bonds, and Jordan Weisman of 42 Entertainment, which pioneered alternate reality games.
Photo: Robert Maxwell
When Weisman opened Reznor's email at his lakefront house near Seattle, he had barely heard of Nine Inch Nails. Slender and soft-spoken, with curly dark hair and a salt-and-pepper beard that gives him a vaguely Talmudic appearance, he's not big on hardcore industrial rock. His experience is more in game design and social inter-action, two fields he views as intimately conjoined. "Games are about engaging with the most entertaining thing on the planet," he says, sipping coffee in his guesthouse, "which is other people."
In 2001, Weisman was creative director of Microsoft's entertainment division, which was developing the Xbox and a number of videogames — including one based on AI — to support its launch. The AI game never materialized, but the ARG Weisman created was phenomenally successful. He left Microsoft and in 2003 decided to do ARGs full-time, launching 42 Entertainment as a boutique marketing firm. He took the name from The Hitchhiker's Guide to the Galaxy, which maintains that "the Answer to the Ultimate Question of Life, the Universe, and Everything" is in fact 42. The company's first game, ilovebees, had people answering pay phones around the world in the weeks leading up to the release of Halo 2. One player even braved a Florida hurricane to take a call in a Burger King parking lot.
Similar games have been used to launch scores of products in the years since. GMD Studios, a Florida outfit, staged a fake auto theft to begin a game for Audi that drew more than 500,000 players. A London studio called Hi-Res used television ads and specially made chocolate bars, among other things, in a still-talked-about game touting JJ Abrams' Lost. More recently, someone — not 42 — has been planting enigmatic clues on Web sites and fake MySpace profiles to promote a film Abrams is producing that so far is best known by the codename Cloverfield. What's all this about a Japanese drink called Slusho? And what does it have to do with the sudden appearance of a Godzilla-like monster in New York Harbor? Abrams fans have been falling all over themselves to figure it out.
"When done well, ARGs can be extraordinarily effective," says Ty Montague, creative director of the J. Walter Thompson ad agency. That's because the games offer marketers a solution to a growing problem: how to reach people who are so media-saturated they block all attempts to get through. "Your brain filters it out, because otherwise you'd go crazy," Weisman says. That's why he opted for a "subdural" approach: Instead of shouting the message, hide it. "I figured that if the audience discovered something, they would share it," he explains, "because we all need something to talk about."
The ARG for AI began with an obscure credit for a "sentient machine therapist" in both the trailer and a prerelease promotional poster. Soon someone — all signs point to a member of Weisman's group — wrote Harry Knowles at Ain't It Cool News, suggesting he Google the therapist's name. That led to a maze of bizarre Web sites about robot rights and a phone number that, when called, played a message from a woman whose husband had just died in a suspicious boating accident. Within 24 hours, thousands of people were trying to figure out what had happened.

Weisman had long been working toward that moment. Severely dyslexic as a kid, his world changed when he was introduced to Dungeons & Dragons. "Here was entertainment that involved problem solving and was story-based and social," he says. "It totally put my brain on fire. What we're doing now is a giant extrapolation of sitting in the kitchen playing D&D with friends. It's just that now our kitchen table holds 3 million people" — the number that ultimately engaged with the AI game.
During the development of that first ARG, Weisman argued that no puzzle would be too hard, no clue too obscure, because with so many people collaborating online, the players would have access to every conceivable skill set. Where he erred was in not following that idea to its logical conclusion. "Not only do they have every skill on the planet," he says, "they have unlimited resources, unlimited time, and unlimited money. Not only can they solve anything, they can solve anything instantly." Weisman dubbed his game the Beast, because originally it had 666 pieces of content. But as the players burned through those and clamored for more, the name took on a different meaning. He had created a monster.
Weisman and Spielberg viewed the Beast as an extension of AI. But the bill to fund it came out of the film's marketing budget, and the ARG certainly created buzz for the movie. Meanwhile, the Internet was transforming marketing. Western commerce had been built on a clear proposition: I give you money, you give me something else of value. But like a rug merchant who offers prospective buyers tea before discussing his wares, the Internet was beginning to engage and entertain customers — whether with free singles on iTunes or an ARG that could run for months — before asking them to part with their money. "All marketing," Weisman says, "is headed in that direction."
For Nine Inch Nails fans, the unfolding of the Year Zero game was as puzzling as it was exciting. "We didn't know where it would go," says Cameron Ladd, a 19-year-old community college student in rural Ohio who helps moderate the Nine Inch Nails fan forum Echoing the Sound. "We had no idea of the scope. That was the most fun — not knowing what would come next." Debates raged as to whether it had anything to do with Philip K. Dick or the Bible, how it compared with Children of Men or V for Vendetta, and why the Year Zero Web sites kept referring to something called the Presence, which appeared to be a giant hand reaching down from the sky. The band's European tour dates became the object of obsessive attention. "It was like, bang-bang-bang — there were so many things happening at once," Ladd says. "It was one gigantic burst of excitement."
Fans in Europe were so eager to find new flash drives that they ran for the toilets the moment the concert venue doors opened. On February 18, at the Sala Razzmatazz in Barcelona, someone scored. The drive contained an MP3 file of a new Nine Inch Nails song that trailed off into the sound of crickets.
But when the cricket sounds were run through a spectrograph, they yielded a series of blips that gradually resolved into a phone number in Cleveland, Ohio. People who dialed this number (and some 1.7 million did) heard a horrific recording from a mysterious organization called US Wiretap: a young woman on her cell phone at an underground nightclub, with shrieking and gunshots in the background, screaming hysterically that someone had come into the club and killed her friend and that the cops had locked everybody inside and she was going to die.



A visit to uswiretap.com ("A Partnership Corporation of the Bureau of Morality") revealed that federal agents had bolted the doors to the club, a known "resistance" hangout, while the 112 people inside spent two days tearing one another to shreds in a mad frenzy.
The clues on the flash drives were typical of what makes a good ARG work. They were hard to spot and even harder to decipher, but because the narrative was being pieced together online, you didn't have to be a propellerhead to follow it. "Our assumption," says Sean Stewart, the game's head writer, "was never that there's a continent of people who love nothing better than to do spectrogram analysis. But there are always a few, and if you make a world that's compelling enough, there'll be a lot to do even if you're not interested in the really arcane stuff."
Most fans didn't realize their progress was being monitored nonstop. Unlike less interactive forms of entertainment, ARGs require a close collaboration between the puppet masters — the unseen figures who create the story — and the audience. "The makers and the consumers are in a tango," Stewart says. "It's a dance, it's passionate, and sometimes there are sinister overtones. It creates a unique dynamic."
After every gig, Reznor rushed back to his hotel so he could watch the action on fan forums and in chat rooms unfold on his laptop. "I couldn't wait," Reznor says. "'Did they find it? Did they find it?' I know it sounds nerdy, but it was exciting." The 42 Entertainment team, working out of a cramped loft in downtown Pasadena, California, kept an even closer watch. They had to make sure the players didn't get frustrated or go too far down a wrong path.
It didn't take long to spot the first problem. On several sites, brief snippets of text from mildly subversive books — One Flew Over the Cuckoo's Nest, Slaughterhouse-Five, Heather Has Two Mommies — had been scanned into the background to provide visual interest. Players, however, were interpreting them as clues and trying to figure out what they meant.
At 42 Entertainment, panic set in. "It's a silent contract," explains Steve Peters, the game designer charged with tracking player progress. "We respect you — which means we're not going to lead you along by the nose and then not give you anything." They decided to add a clue suggesting that the texts were from banned books.
There were more complications to come. Reznor presumed that weeks before the CD reached Wal-Mart and Best Buy, someone would upload it to the BitTorrent sites, which his most avid fans would be carefully monitoring. So he planted hints in the music — a few seconds recorded out of phase on "The Great Destroyer," for instance. Played on a monaural device, the music briefly canceled itself out, leaving nothing except a barely audible voice saying something like "red horse vector." At redhorsevector.net, players would find a top-secret report suggesting the source of the nightclub massacre — a weaponized virus called Red Horse that caused acute homicidal psychosis.
Surprisingly, though, no one was uploading the album. Reznor had assumed it would hit the peer-to-peer sites by mid-March, but at the end of that month there was still no sign of it. Without the music, only a handful of new clues were coming out. "The fans were getting antsy," says Alex Lieu, 42 Entertainment's creative director. "So were we. Trent was stunned. And the whole time we were thinking, 'When is someone going to steal this album?'"
Reznor would like to make one thing about the Year Zero game perfectly clear: "It's not fucking marketing. I'm not trying to sell anything." That's why he paid for the game himself, out of his recording budget. For a while, he didn't even tell his label what he was doing. But the game was extremely effective at generating excitement. Every time a song was leaked, the message boards were swamped. By the time the album hit store shelves in April, 2.5 million people had visited at least one of the game's 30 Web sites. The buzz was so great that Interscope chair Jimmy Iovine — Reznor's label boss at Universal Music at the time — called Weisman to talk about buying 42 Entertainment.
From 42's perspective, it hardly matters whether you call the game "marketing" or not. What matters is that someone — Reznor, Microsoft, Disney — writes a check. And, for now, the checks generally come from companies trying to sell something. As a result, many ARG developers want to break out of marketing entirely and find another way to make money. Novelists, film directors, and television producers get to tell their own stories; why not ARG-makers? GMD Studios, the company behind the ARG for Audi, has been running a game that it hopes will spawn graphic novels and maybe a TV show. In September, Stewart and two other longtime associates of Weisman's left 42 Entertainment to start a new company, Fourth Wall Studios, with similar ambitions.
So far, however, no one has managed to create an ARG that can sustain itself through advertising, subscription fees, or any other model. The most ambitious attempt was Perplex City, a vast treasure hunt staged by a London company called Mind Candy, which has received $10 million in venture capital — a first in ARG-land. Perplex City was said to be a locale in an alternate universe whose most powerful artifact, a polished metal cube, had been stolen and buried somewhere on Earth; whoever found it stood to receive a $200,000 reward. Clues were hidden on a series of cards sold in toy shops, bookstores, and online for about $1 apiece.
VCs had visions of Pokémon dancing in their heads. But though 50,000 people in 92 countries registered for the game, the cards turned out to be difficult and expensive to produce. Last June, not long after the cube was unearthed in a forest in England, a planned second season was abruptly canceled. "I'm still convinced there are exciting commercial models that no one has found just yet," says Michael Smith, Mind Candy's CEO. "It's a wonderful world we created, and I very, very much want to relaunch it." Unfortunately, he doesn't know when that will happen.
As the album's release date approached, the game hit the peer-to-peer sites and regained its momentum. Reznor and the team from 42 Entertainment had a critical planning session in London to figure out a way to wrap it up. Elan Lee, the game's chief designer, suggested an explosive finale: Stage a surprise concert and blow up a building on the way out. A building? Reznor was awestruck: "These are my kind of people!"
"I'm still trying to work an actual cadaver into a campaign," Lieu says. "You'd think Year Zero would be the one, but it wasn't."
Blowing up a building wasn't practical, so they came up with something else. On April 13, all the players who had signed up at a subversive site called Open Source Resistance were invited to gather beneath a mural in Hollywood. Some of those who showed up were given cell phones and told to keep them on at all times. Five days later, the phones rang. The players were told to report to a parking lot, where they were loaded onto a ram-shackle bus with blacked-out windows.
The bus delivered them at twilight to what appeared to be an abandoned warehouse near some railroad tracks. Armed men patrolled the roof. The 50-odd players were led up a ramp and into a large, dark room where the leader of Open Source Resistance (actually an actor) gave a speech about the importance of making themselves heard. Then they were led through a maze of rooms and deposited in front of — a row of amps?
With the sudden crack of a drumbeat, Nine Inch Nails materialized onstage and broke into "The Beginning of the End," a song they had never before played in the US. "This is the beginning," Reznor intoned, as guitar chords strafed the room. He got out one, two, three, four more songs before the SWAT team arrived. Then, as flashing lights and flash bombs filled the room, men in riot gear stormed the stage. "Run for the bus!" someone yelled, and the players started sprinting. The bus sped them back to the parking lot and the cars that would take them safely home. But before they drove away, they were told they'd be contacted again.
Now that the album is out, the game has gone cold. "I don't know if the audience was ready for it to end," says Susan Bonds, the president of 42 Entertainment. "But we always expected to pick it up again." Reznor, after all, had conceived Year Zero as a two-part album. "Those phones are still out there," she adds. "The minutes have expired. But we could buy new minutes at any point."

Hackers Assault Epilepsy Patients via Computer

RyAnne Fultz, 33, says she suffered her worst epileptic attack in a year after she clicked on the wrong post at a forum run by the nonprofit Epilepsy Foundation.
Photo courtesy RyAnne Fultz Internet griefers descended on an epilepsy support message board last weekend and used JavaScript code and flashing computer animation to trigger migraine headaches and seizures in some users.

The nonprofit Epilepsy Foundation, which runs the forum, briefly closed the site Sunday to purge the offending messages and to boost security.

"We are seeing people affected," says Ken Lowenberg, senior director of web and print publishing at the Epilepsy Foundation. "It's fortunately only a handful. It's possible that people are just not reporting yet -- people affected by it may not be coming back to the forum so fast."

The incident, possibly the first computer attack to inflict physical harm on the victims, began Saturday, March 22, when attackers used a script to post hundreds of messages embedded with flashing animated gifs.

The attackers turned to a more effective tactic on Sunday, injecting JavaScript into some posts that redirected users' browsers to a page with a more complex image designed to trigger seizures in both photosensitive and pattern-sensitive epileptics.

RyAnne Fultz, a 33-year-old woman who suffers from pattern-sensitive epilepsy, says she clicked on a forum post with a legitimate-sounding title on Sunday. Her browser window resized to fill her screen, which was then taken over by a pattern of squares rapidly flashing in different colors.

Fultz says she "locked up."

"I don't fall over and convulse, but it hurts," says Fultz, an IT worker in Coeur d'Alene, Idaho. "I was on the phone when it happened, and I couldn't move and couldn't speak."

After about 10 seconds, Fultz's 11-year-old son came over and drew her gaze away from the computer, then killed the browser process, she says.

"Everyone who logged on, it affected to some extent, whether by causing headaches or seizures," says Browen Mead, a 24-year-old epilepsy patient in Maine who says she suffered a daylong migraine after examining several of the offending posts. She'd lingered too long on the pages trying to determine who was responsible.

Circumstantial evidence suggests the attack was the work of members of Anonymous, an informal collective of griefers best known for their recent war on the Church of Scientology. The first flurry of posts on the epilepsy forum referenced the site EBaumsWorld, which is much hated by Anonymous. And forum members claim they found a message board thread -- since deleted -- planning the attack at 7chan.org, a group stronghold.

Fultz says the attack spawned an uncommonly bad seizure. "It was a spike of pain in my head," she says. "And the lockup, that only happens with really bad ones. I don't think I've had a seizure like that in about a year."

But she's satisfied with the Epilepsy Foundation's relatively fast response to the attack, about 12 hours after it began on Easter weekend. "We all really appreciate them for giving us this forum and giving us this place to find each other," she says.

Epilepsy affects an estimated 50 million people worldwide, about 3 percent of whom are photosensitive, meaning flashing lights and colors can trigger seizures.