Monday, June 27, 2011

June 23, 1983: First Successful Test of the Domain Name System Description: http://www.howtogeek.com/geekers/up/sshot4e03506a2ed1d.jpgNearly 30 years ago the first Domain Name System (DNS) was tested and it changed the way we interacted with the internet. Nearly impossible to remember number addresses became easy to remember names.

Without DNS you’d be browsing a web where numbered addresses pointed to numbered addresses. Google, for example, would look like http://209.85.148.105/ in your browser window. That’s assuming, of course, that a numbers-based web every gained enough traction to be popular enough to spawn a search giant like Google. How did this shift occur and what did we have before DNS? From Wikipedia:

The practice of using a name as a simpler, more memorable abstraction of a host’s numerical address on a network dates back to the ARPANET era. Before the DNS was invented in 1983, each computer on the network retrieved a file called HOSTS.TXT from a computer at SRI. The HOSTS.TXT file mapped names to numerical addresses. A hosts file still exists on most modern operating systems by default and generally contains a mapping of the IP address 127.0.0.1 to “localhost”. Many operating systems use name resolution logic that allows the administrator to configure selection priorities for available name resolution methods.

The rapid growth of the network made a centrally maintained, hand-crafted HOSTS.TXT file unsustainable; it became necessary to implement a more scalable system capable of automatically disseminating the requisite information.

At the request of Jon Postel, Paul Mockapetris invented the Domain Name System in 1983 and wrote the first implementation. The original specifications were published by the Internet Engineering Task Force in RFC 882 and RFC 883, which were superseded in November 1987 by RFC 1034 and RFC 1035.Several additional Request for Comments have proposed various extensions to the core DNS protocols.

Over the years it has been refined but the core of the system is essentially the same. When you type “google.com” into your web browser a DNS server is used to resolve that host name to the IP address of 209.85.148.105–making the web human-friendly in the process.

 

Sunday, June 19, 2011

How To Forward Ports on Your Router


banner-01

We cover a lot of articles that feature accessing files and features from inside and outside of your network. This usually entails forwarding ports, something that may seem daunting for beginners, but it's actually pretty simple to do.

There are plenty of projects we've covered that use your computer as a server for other devices. When you're inside of your network, things are great and they work. When you're trying to access things from outside of your network, things get significantly hairier, so let's take a look at why that is.

Port Forwarding

From Inside of Your Network

Here's a map of a simple home network.

map intranet fin-01

As you can see, you've got three computers with unique IP addresses all connected to a router. You can easily access the other computers, but when they all access the internet, they go through the router. The router has an IP address that's relative for you network, but it also has an external IP, one that it uses when interacting with things outside of your network. Whenever these computers make a request towards the internet, they all use the same IP – 127.34.73.214 in our example. Simple requests, such as loading web sites, are automatically handled by the router and are sent to their appropriate places. It's not too difficult because each computer starts with a unique request, so it's not hard for the router to figure out where things should go.

Ports and Protocols

Ports help make this process easier. If an IP is like a building's address, then ports are like the apartment numbers for the residences in the building. Lower numbered ports have specific applications which are standards throughout the computing industry. When you fetch a web page, for example, it uses port 80. The receiving computer's software knows that port 80 is used for serving http documents, so it listens there and responds accordingly. If you send an http request over a different port – say, 143 – the web server won't recognize it because it's not listening there, although something else might be.

Secure shell uses port 22, and VNC is usually done over port 5900. These ports can be changed for different uses, like when you have multiple instances of programs running for different purposes. To avoid interfering with other standard-abiding applications, it's best to use larger numbers for these alternate configurations. Plex Media Server uses port 32400, for example, and Minecraft servers use 25565 – both numbers that fall into this "fair game" territory.

Each port can be used via either TCP or UDP. TCP, or Transmission Control Protocol, is what's used most commonly. UDP, or User Datagram Protocol, is less widely used in home applications with one major exception: BitTorrent. Depending on what is listening, it'll be expecting requests to be made in either one or the other of these protocols.

From Outside Your Network

Now let's take a look at what happens when a device outside of the network starts a request.

map internet qs-01

Let's say you're out and about and what to access a file on your network. Your computer makes a request to your home network's IP, 127.34.73.214, which then goes to your router. Your router doesn't know which computer to send it to.

Thankfully for us, we can configure our router to forward ports. This means that depending on the port number that the request is sent over, the router can pass it along to different IP addresses.

map internet check-01

So in this example, when you're out and about and using your laptop, you use different ports to make your requests. When you access your home network's IP address using port 22, your router at home knows that this should go to 192.168.1.100 inside the network. Then, the SSH daemon on your Linux installation will respond. At the same time, you can make a request over port 80, which your router will send to the web server at 192.168.1.150. Or, you can try to remotely control your sister's laptop with VNC, and your router will connect you to it at 192.168.1.200. Pretty clever, right?

You can even tell the router to change ports! For example, let's say you have two web servers.

map port forwarding fin-01

When you access your home network via the standard port, 80, you can tell your router to send it to 192.168.1.150. The web server there will be listening at port 80 and will respond accordingly. But, you can tell your router that when you access it via port 10,000, that it should go to another computer, 192.168.1.250, but also at port 80. This way, the second computer doesn't have to be reconfigured to use a different port, but you can still manage traffic effectively.

Before Configuring Your Router

There are a few things you need to be aware of when you decide on setting up port forwarding.

  1. If you're using DHCP, then each device's IP has the potential to change in the future, and when it does you'll need to reconfigure your port forwarding settings. For this reason, it's best to configure your "server" computers with a static IP. Some routers have the ability to "reserve" or "assign" IPs via DHCP that will NOT change in the future, allowing you the best of both worlds, but not all do.
  2. When you access your network externally, you will need to know your router's external IP address. This can be easily found from someone inside the network by visiting whatismyip.com. This address can also change. One way to avoid this is to get a domain name redirect, so that when you go to http://myreallyawesomedoman.com, it'll be your home network regardless of its changing IP.
  3. Using custom ports may trigger your antivirus or firewall, so you may have to add exceptions on your home computers to allow outside access on whatever ports you specify. This is a security risk to some extent, so be careful and take proper precautions!

That being said, if you're careful and configure things properly, you'll never have to worry once you're all set up.

Router Brands

Each manufacturer has different software that they use on their routers. We took screenshots of the port forwarding settings from each of the major brands as well as our near and dear DD-WRT. We're assuming that you know how to access your router and you know the proper username and password. If you don't, check out your documentation, your router's label, or your manufacturer's website.

Cisco/Linksys

linksys

You'll see port forwarding under Applications and Gaming. Under "Single Port Forwarding," you can add individual ports to specific IPs. Under "Port Range Forwarding," you can easily forward whole ranges of ports at a time.

DLink

dlink

On DLink's routers, you'll find your port forwarding settings in the Advanced section, under the Port Forwarding tab.

Netgear

netgear

Netgear's routers have a side menu. Look under Advanced and click on "Port Forwarding / Port Triggering." If you use the Smart Wizard, you'll also get the opportunity to configure port forwarding there.

DD-WRT

dd-wrt

DD-WRT and similar third-party router firmwares will usually have port forwarding as a tab under the NAT/Quality of Service section. Remember, clicking "Save" in DD-WRT saves your changes but doesn't apply them immediately, so be sure to hit "Apply Settings," too.

Basic Instructions

snippet

Regardless of what software is on your router, you'll be required to enter the same type of information. First, you'll see a text field where you can type in the name of the application or service. Next, you'll see which incoming port your router should watch for. Then, you'll be able to choose which protocol to watch for. A little online research should be able to tell you which one, but if you're not sure you can choose both. You'll need to choose which IP address is the destination for this port's requests. Lastly, you'll be able to choose which port the request should be targeted to on the destination IP.

Many firmwares will allow you to save many rules but selectively enable them as needed. If yours does it, be sure to check the "Enable" column's boxes for all the rules you want active.

Now, if you want to check and be sure your router's port is open and functioning, there are plenty of tools you can use to help you determine this. My favorite, however, is a web-based tool – the You Get Signal Port Forwarding Tester.

port forward tester 1

All you have to do is enter your port number in the box. Your external IP should be provided already, but if not, just click the "Use Current IP" link, then hit the "Check" button. This will check if your router has the port open and if it's getting to a place on your network that can handle it.

port forward tester 2

If everything's good, you'll see a green flag icon and a message that says that your port is open. Ultimately, though, you can try to access your forwarded service by using your external IP address. For example, to check to see if your SSH server is properly forwarded, try to connect to it using the IP reported on whatismyip.com and the proper port.


Now that you know how configure your router to forward ports, you may want to revisit some of our articles and try to enable access from outside of your network. If you've got any interesting experiences or tips, share them in the comments!

The Top Five Supercomputers, Illustrated


  • Like this story? Get the latest data center news by e-mail or RSS, or follow us on Twitter or Facebook.

    The twice-a-year list of the Top 500 supercomputers documents the most powerful systems on the planet. Many of these supercomputers are striking not just for their processing power, but for their design and appearance as well. Here's a look at the top finishers in the latest Top 500 list, which was released Monday, May 31 at the ISC10 conference.  

    JAGUAR, Oak Ridge National Laboratory

    jaguar-470

    Jaguar is located at the Department of Energy's Oak Ridge Leadership Computing Facility in Tennessee, and retains the top spot in the latest ranking. Jaguar was upgraded last year, helping it post a 1.75 petaflop performance speed running the Linpack benchmark. The upgrade of Jaguar's Cray XT5 from four-core to six-core processors, funded with $19.9 million under the Recovery Act, will enable scientific simulations for exploring solutions to climate change and the development of new energy technologies. Jaguar now uses 37,376 six-core AMD Istanbul processors.

    NEBULAE, China
    Nebulae, which is located at the newly build National Supercomputing Centre in Shenzhen, China, achieved 1.271 PFlop/s running the Linpack benchmark, which puts it in the No. 2 spot on the TOP500 behind Jaguar. This is the highest rank a Chinese system has ever achieved, topping last year's fifth place showing by the Tianhe-1 system. Nebulae was built from a Dawning TC3600 Blade system with Intel X5650 processors and NVidia Tesla C2050 GPU. Nebulae reports a theoretical peak capability of almost 3 petaflop/s, the highest ever on the TOP500. We don't yet have images of the new system.

    ROADRUNNER, Los Alamos National Laboratory

    Roadrunner

    The Roadrunner supercomputer (Credit: LeRoy Sanchez, Wikimedia Commons)

    When the Roadrunner system at Los Alamos first appeared at the top of the June 2008 TOP500 list, it was the world's first supercomputer to achieve a top performance of more than 1 petaflop/s (1015 floating point operations per second). This time around, Roadrunner recorded a performance of 1.04 petaflops, dropping from 1.105 petaflop/s in June 2009 due to a repartitioning of the system.

    KRAKEN, National Institute for Computational Sciences

    Kraken

    The Kraken supercomputer at the University of Tennessee/NICS (Credit: Oak Ridge National Labe, Wikimedia Commons)

    Kraken, another upgraded Cray XT5 system at the National Institute for Computational Sciences (NICS), claimed the No. 3 position with a performance of 832 teraflops. Kraken is used to enhance the efficiency of biofuels, develop more effective climate and weather modeling, and analyze disorders that throw the heart out of rhythm. The NICS is a partnership between the University of Tennessee and Oak Ridge National Lab.

    JUGENE, Juelich Supercomputing Centre, Germany

    jugene

    The Jugene supercomputer at the Juelich Supercomputing Centre in Germany (Credit: Juelich)

    The Jugene supercomputer is housed at the Juelich Supercomputing Centre built on IBM BlueGene/p technology. With its 72,000 processors, Jugene is used for very compute-intensive simulations in materials science, environmental research and particle physics. See Pingdom for additional photos and data on Jugene.

    PLEIADES, NASA Ames Research Center

    NASA-Pleiades

    The Pleiades supercomputer at NASA's Ames Research Center. (Photo Credit: David Robertson, NASA Ames Research Center)

    Landing in the number 6 position in this year's Top 500 was the Pleiades supercomputer at NASA's Ames Research Center in Mountain View, Calif. Pleiades is an SGI Altix ICE system with 14,080 Intel Xeon quad-core processors. That comes to 56,320 cores in 110 racks,  running at 544 teraflops. NASA says Pleiades features the world's largest InfiniBand interconnect network, which requires nearly 24 miles of cabling.

    TIANHE-1, China
    Dropping from fifth to seventh is the Tianhe-1 (meaning River in Sky) system installed at the National Super Computer Center in Tianjin, China and to be used to address research problems in petroleum exploration and the simulation of large aircraft designs. The Tianhe-1 is a hybrid design with Intel Xeon processors and AMD GPUs used as accelerators. Each node consists of two AMD GPUs attached to two Intel Xeon processors. There's no public domain art of Tianhe-1, but you can visit  China Defense Mashup to view their photos.

21 Reasons why English Sucks



1. The bandage was wound around the wound.

2. The farm was used to produce produce.

3. The dump was so full it had to refuse more refuse.

4. We must polish the Polish furniture.

5. He could lead if he would get the lead out.

6. The soldier decided to desert his dessert in the desert.

7. Since there was no time like the present, he thought it was time to present the present.

8. A bass was painted on the head of the bass drum.

9. When shot at, the dove dove into the bushes.

10. I did not object to the object.

11. The insurance was invalid for the invalid.

12. There was a row among the oarsmen on how to row.

13. They were too close to the door to close it.

14. The buck does funny things when does are present.

15. A seamstress and a sewer fell down into a sewer line.

16. To help with planting, the farmer taught his sow to sow.

17. The wind was too strong to wind the sail.

18. After a number of injections my jaw got number.

19. Upon seeing the tear in the painting I shed a tear.

20. I had to subject the subject to a series of tests.

21. How can I intimate this to my most intimate friend?

*22. Catch up on your favorite TV Series online on my other sit

Use Email to Send Text Messages (SMS) to Mobile Phones for Free


Sometimes being able to send out a quick text message to someone you know would definitely be helpful. But what if you are at your computer and can not use your mobile phone? Just fire up your favorite email account and get that message out using the SMS Gateway addresses that we have collected together for you.

sms-gateway-addresses-00

Photo by Steve Webel.

Note: Sending an email is always free, but the person that receives the message will probably be charged for a text message. Keep that in mind when using this.

Sending Text Messages

To get started simply enter the SMS Gateway address in the same way that you would with an email address, compose your message, and then send it on its' way.

sms-gateway-addresses-01

In just a short while your family, friends, or coworkers will have the new SMS show up on their mobile.

sms-gateway-addresses-02

SMS Gateway Listing

To use the SMS Gateway addresses shown here enter the 10 digit mobile phone number for the person you are sending a message to in front of the appropriate address (i.e. 1234567890@carrier.com).

Note: SMS Gateways shown here are for U.S. carriers only (links for additional U.S. & International carriers at end of article).

Alltel Wireless mobile-number@message.Alltel.com (SMS & MMS)
mobile-number@text.wireless.alltel.com (SMS) mobile-number@mms.alltel.net (MMS)
AT&T Wireless mobile-number@txt.att.net (SMS)
mobile-number@mms.att.net (MMS)
AT&T Mobility (formerly Cingular) mobile-number@cingularme.com
mobile-number@mobile.mycingular.com
Boost Mobile mobile-number@myboostmobile.com
Cricket mobile-number@sms.mycricket.com (SMS)
mobile-number@mms.mycricket.com (MMS)
Metro PCS mobile-number@mymetropcs.com
Sprint (PCS) mobile-number@messaging.sprintpcs.com SMS)
mobile-number@pm.sprint.com (MMS)
Sprint (Nextel) mobile-number@page.nextel.com (SMS)
mobile-number@messaging.nextel.com (Rich Messaging)
Straight Talk mobile-number@VTEXT.COM (SMS)
mobile-number@mypixmessages.com (MMS)
T-Mobile mobile-number@tmomail.net (MMS)
U.S. Cellular mobile-number@email.uscc.net (SMS)
mobile-number@mms.uscc.net (MMS)
Verizon mobile-number@vtext.com (SMS)
mobile-number@vzwpix.com (MMS)
Virgin Mobile mobile-number@vmobl.com (SMS)
mobile-number@vmpix.com (MMS)

Finding Additional SMS Gateway Addresses

sms-gateway-addresses-03

Photo by keepthebyte.

If your mobile phone carrier is not listed here you can find additional SMS Gateway addresses for the U.S. and International companies using these websites.

List of SMS gateways (Wikipedia)

Email to SMS Gateways, Complete List

Simple Mail Transfer Protocol (SMTP) email delivery



--
Thanks&Regards 
sravan

FUNS

  • A work in progress - 'Solitude' 2010/2011
    I started work on this image back in 2010. It is 8ft across & 5ft high. In these photos I am only working in graphite. Later I will go in with ink and acrylic. 
  • Solitude


--
Thanks&Regards 
sravan

Everything You Ever Wanted To Know About CAPTCHAs But Were Afraid To Ask [Technology Explained]



what is captchaLove them or hate them – CAPTCHAs have become ubiquitous on the Internet. What is CAPTCHA anyway, and where did it come from? Responsible for eye-strain the world over, the humble CAPTCHA has been the centre of much attention as the single most effective weapon in the fight against web spam. But are they effective? Are there any other kinds of CAPTCHA other than the basic "tilt your head, squint and read me"?

You Shall Not Pass (The Turing Test)!

Captcha's were invented by a team of Carnegie Mellon professors and put into first use around the year 2000 by AltaVista and Yahoo, in an attempt to prevent automated chat bots and URL submissions. It is in fact an acronym for Completely Automated Public Turing test to tell Computer and Humans Apart.

For those of you who don't know what that means, it may help to explain what the Turing test is. Named after British professor Alan Turing, the Turing test is the standard test of an Artificial Intelligence based machine, whereby if a machine can pass the test, it is considered to exhibit intelligent behaviour. Essentially the test involves conversing with a number of judges through a text interface – if the judges can't tell they are chatting to a computer, it passes the test. Personally, I'm of the opinion that the Turing test is useless, on the basis that a dolphin couldn't converse with a human either, yet we attribute them with a higher form of intelligent behaviour. But I digress.


what is captcha

The CAPTCHA therefore, is an automated Turing test. There are a number of different ways of doing this, but the most common one that we seem to have settled on is to present the user with a scrambled form of text, assuming (often incorrectly) that any normal human will be able to decipher the text.

how captcha works

The CAPTCHA has evolved over time, but has ultimately been defeated as we'll find out later.

Text-Based CAPTCHAs & The Re-CAPTCHA Project

The reCAPTCHA project, now owned by Google, decided that instead of inanely deciphering cryptic text for no real good, it presented a fantastic opportunity to correct the shortcomings of computer-based Optical Character Recognition. For older books especially, computers find it very hard to recognise the words, whereas a human finds the tasks trivial. Combine the task of digitising old books with spam prevention, and you're onto an absolute winner.

how captcha works

However, if the computer had trouble recognising the word in the first place, how can it tell if what you wrote in is nonsense? Simple – present the user with TWO words – one of which is known. The system assumes that if the user correctly types the known word, then the chances are that the unrecognisable word is also correct.

Another ingenious idea is to combine the CAPTCHA with some form of advertising.

Math Problem

how captcha works

OK, the picture is a joke, but essentially the user is presented with a basic math problem. We use a similar system on the Answers site right now. It needn't be difficult, just some basic addition.

Image-Based CAPTCHAs

As difficult as some of the ReCAPTCHA codes can be for you and I sometimes, software has already been developed which can break the code with about a 30% success rate – which for a spam campaign with millions of tries is quite an acceptable rate. Images on the other hand are extremely difficult to process for computers semantically. Think about a simple cat picture – programming a computer to recognise a human face is hard enough, but to distinguish a cat from all the other animals and objects in the world is pretty much impossible at this point in time.

what is captcha

Logic-Based

These rely on logical and semantic intelligence about the world, or just basic common human sense. Some examples might be:

  • Identify the food in this list: asphalt, bacon, cloud, dagger.
  • Identify the weapon in this list: asphalt, bacon, cloud, dagger.
  • How many doors are on a four-door car?
  • What is the third word in this sentence?
  • What's left if you remove the B from ABC?

A great plugin to integrate these kind of tests into your WordPress comment system is WP-Gatekeeper, by the way.

De-CAPTCHA Services

The sad fact is that while CAPTCHAs are a necessary evil, they are easily overcome by spammers nowadays. While some spammers have indeed developed sophisticated software that can mimic the human eye and brain to decode like a human does, the truth is far more simpler and more horrific. Why develop expensive software when you can pay someone pennies to do the CAPTCHA for you? The current cheapest going rate is $1.39 for 1000 CAPTCHAs, with a 98% accuracy rate, and services such as Death By Captcha have developed elaborate APIs for developers to use. The only person being slowed down by CAPTCHAs nowadays, is you!

The Future Of The Captcha

Like everything else in life, CAPTCHAs are not impenetrable to hacking or spamming. As new and more ingenious tests are devised, ever more sophisticated ways of breaking them will be developed – and the solution of paying someone else to do them for you can never be defeated. Even so, it's our responsibility as web developers and admins to keep spammers away from our sites without degrading user experience.

Are you shocked to learn how cheaply a CAPTCHA can be defeated for? Have you seen any other kind of CAPTCHAs out in the wild that impressed you? Let us know in the comments! Also, be sure to check all the funny pictures tagged "captcha" over on Geeky Fun.


How To Turn On Your PC With Your Android Phone Using Wake-On-LAN




android wake on lan appIf you're a techie, one of the first things you do when you walk in the door is turn on your computer. Perhaps you simply tap your keyboard or mouse, or maybe you press the power button. Either way, you have to be at your computer before you can start it.

Wouldn't it be easier if your computer was ready for you as soon as you sat down? If you own an Android device, that's possible thanks to a free app called PC Auto Waker. The setup can be a little complex, but the payoff makes it worthwhile.

The Quick & Easy Setup

android wake on lan app

Once you've downloaded PC Auto Waker off the Android marketplace, you'll need to set it up so that it has the ability to communicate with your computer. It depends on 802.11 WiFi, but it's not necessary for each computer to have WiFi hardware. The PC you'd like to wake only needs to be connected to a broadcasting WiFi router.

The basic setup consists of three steps. First, you'll need to enter a name for the computer you're going to wake. This name DOES NOT have to be the same as the computer's network name. This is merely a way of identifying the computer in the app's interface.

android wake on lan

After that, you'll need to enter the MAC address of the target computer. Do a Windows Search for  "cmd" to open your command line interface, then type ipconfig/all and press enter. The MAC address will appear as a string of six two-digit numbers labeled Physical Address.

Finally, you need to enter the SSID of the wireless network the target computer is connected to. It's not necessary to enter any security information, regardless of whether the WiFi network is secured or not.

Once you've handled all of that, it's time to see if you're set! Place your computer into sleep or hibernate mode, and press the Wake All button in the PC Auto Waker app. If it works, great! If not, you have a few other settings to mess with.

The Nitty-Gritty Setup

If your computer did not wake it's probably because the computer is not set up to accept a Wake-On-LAN packet. Fortunately, most computers can be configured so that they will accept it.

android wake on lan

First, restart your computer and enter BIOS. This is done by entering the correct key at boot, which should be indicated on the POST screen that appears before Windows beings loading. Once you've entered BIOS, look for the Wake-On-LAN setting and enable it. You're likely to find this along with other settings related to power management or networking, but BIOS vary from computer to computer, so you'll have to do some digging of your own.

android wake on lan app

Once you've enabled Wake-On-LAN in BIOS, you'll need to make sure Windows is configured properly as well. Do a Windows Search for Device Manager and open it, then navigate down to Network Adapters. Right-click on the one you use to connect with the Internet and then click Properties. On the Power Management tab you will find three checkboxes. If they're not already checked, do so.

This should clear up any trouble that's causing PC Auto Waker to malfunction.

Conclusion

PC Auto Waker is an awesome app. Once you have it set up, your computer will start as soon as your phone makes a connection with your WiFi network. This means you can walk in the door knowing that your PC is already starting. It's magic!

What do you think about it?  Are there any similar Android wake on LAN apps that do a better job?  If so, let us know about them in the comments.

Thursday, June 16, 2011

How to Clean Your Filthy Keyboard in the Dishwasher (Without Ruining it)

Description: sshot-386

We’ve already shown you some great ways to get your keyboard clean. For geeks that aren’t faint of heart, check out how to make your keyboard dishwasher safe and clean it with half the work and in half the time.

Keyboards can be, and often are, literally dirtier than toilets. But taking off keys and swabbing with alcohol can really be time consuming and painstaking work, where making a keyboard dishwasher safe is a simple ten or fifteen minute job. Here’s how to clean and sanitize your keyboard the How-To Geek way!

Description: DSC_0155

This is a very common PS2 keyboard, as you can see from the prominent Dell logo. You may have a slightly different keyboard, but the fundamentals of this how-to are going to be the same for virtually all readers.

(Author’s Note: As with any how-to involving opening up equipment, you’re risking damaging it if you don’t know what you’re doing. However, most keyboards are extremely simple, so this is more or less safe for anyone with enough skill to operate a screwdriver. Still, DIY is only for the brave at heart!)

Description: DSC_0167

Start with a dirty keyboard, full of caked on food, drink, bacteria, sneeze, and whatever else you might have done to it over the years since you either bought it or—ahem—cleaned it last.

Description: DSC_0158

Don’t’ worry about all the dust bunnies, etc that live between the keys. Pretty much, for our purposes, the dirtier, the better. But, if you like, you can always give it a quick blast with a can of compressed air, or spend some time pre-treating it to get it extra clean.

Description: DSC_0160

Flip the keyboard around to the back, where we’ll need to pop out several of the screws holding the keyboard case together.

Description: DSC_0162

You’ll find there are rather a lot of them. Check all of the visible screw holes, including some of the deeper, counter sunk ones hidden beneath the outer surface.

Description: DSC_0166

An ordinary Philips head screwdriver will get the job done for nearly all keyboards. You may find that some Apple models or various other keyboards may use less common screw heads like hex or torx, in which case you’ll need an allen key, or some other tool. However, most keyboards should be assembled with basic screws and require only basic screwdrivers.

Description: DSC_0169

They keyboard assembly should basically fall apart without the screws. Your keyboard may have a snap or other catch that allows the assembly to fall apart, but most likely if it does not immediately come open, you’ve still got screws holding it together.

Description: DSC_0174

Let’s take a quick look at the parts inside the keyboard. This is the back of the actual “keyboard” part of the keyboard, made with purely mechanical buttons and keys. Nothing but plastic and metal here.

Description: DSC_0170

This is the controller and the dome-switch membrane. You can easily reach in and pull out the membrane with your hands—it is likely not attached to anything.

Description: DSC_0175

The controller will be held in by several screws and attached to the PS2 or USB cable that leads out of the case. Your same screwdriver should remove them without issue.

Description: DSC_0178

Gently remove the cable and controller in one piece, then remove the flexible circuit board beneath. These are the only parts of the keyboard that are water sensitive. Put them away where they’ll be safe, so you can put them back together in this same order.

Description: DSC_0179

Here is the disassembled, disgusting keyboard case.

Description: DSC_0184

And your various parts, including the flexible circuit board, controller and cable, dome-switch membrane, and all the various screws. Again, keep these in a safe place. You won’t be cleaning these.

Description: DSC_0196

And—yecch—here’s a bunch of the dirt that fell off during this process.

Description: DSC_0199

Toss the board in the dishwasher just as if it was a ketchup-covered plate, and wash away. Once it is dry, simply re-assemble it the same way we took it apart, taking care to install the flexible circuit board, controller, dome-switch membrane, and finally keyboard top properly. Not re-installing any single part will cause your keyboard to not work. However, it’s not terribly sensitive, so simply try again until it does.

It may seem sort of risky, but this method is no more likely to ruin your keyboard than spilling alcohol on it while swabbing the keys. The total time taken, apart from the time it takes to run it through the dishwasher, is around 15 minutes, and that is if you’re really taking your time. All things considered, this is quite a fun way to learn about how keyboards work, and get it clean and sanitized without a lot of effort.