Monday, 26 September 2011

Top 10 Traits of a Rockstar Software Engineer

It only takes a couple of smart engineers to create quality software of immense value, and below is a list of the top ten qualities you should look for when hiring a developer:
  1. Loves To Code
  2. Gets Things Done
  3. Continuously Refactors Code
  4. Uses Design Patterns
  5. Writes Tests
  6. Leverages Existing Code
  7. Focuses on Usability
  8. Writes Maintainable Code
  9. Can Code in Any Language
  10. Knows Basic Computer Science

1. Loves To Code

Programming is a labor of love. Like any occupation, truly great things are achieved only with passion. It is a common misconception that writing code is mechanical and purely scientific. In truth, the best software engineers are craftsman, bringing energy, ingenuity, and creativity to every line of code. Great engineers know when a small piece of code is shaping up perfectly and when the pieces of a large system start to fit together like a puzzle. Engineers who love to code derive pleasure from building software in much the same way a composer might feel ecstatic about finishing a symphony. It is that feeling of excitement and accomplishment that makes rockstar engineers love to code.

2. Gets Things Done

There are plenty of technical people out there who talk about software instead writing it. One of the most important traits of a great software engineer is that they actually code. They actually get things done. Smart people know that the best way to solve problems is go straight at them. Instead of spending weeks designing complex, unnecessary infrastructure and libraries, a good engineer should ask: What is the simplest path to solving the problem at hand? The recent methodologies for building software, called Agile practices, focus on just that. The idea is to break complex projects into short iterations, each of which focuses on a small set of incremental features. Because each iteration takes just a few weeks to code, the features are manageable and simple. Teams that follow agile practices never create infrastructure for its own sake, instead they are focused on addressing a simple set of requirements. The secret is that when this approach is applied iteratively, a rich, complex piece of software arises naturally.

3. Continuously Refactors Code

Coding is very much like sculpting. Just like an artist is constantly perfecting his masterpiece, an engineer continuously reshapes his code to meet requirements in the best possible way. The discipline of reshaping code is known as refactoring and was formally described by Martin Fowler in his seminal book. The original idea behind refactoring was to improve code without changing what it does, moving pieces of the software around to ensure that the system is free of rot and also does what it is supposed to do based on current requirements. Continuous refactoring allows developers to solve another well-known problem - black box legacy code that no one wants to touch. For decades engineering culture dictated that you should not change the things that work. The issue, though, is that over time you become a slave to the old code, which grows unstable and incompatible. Refactoring changes that, because instead of the code owning you, you own the code. Refactoring establishes ongoing dialogue between the engineer and the code and leads to ownership, certainty, confidence, and stability in the system.

4. Uses Design Patterns

Ever since the so called Gang of Four published their famous Design Patterns book, world-class engineers have been talking about patterns. Patterns are ubiquitous in our world - both in nature and all human endeavors; software engineering is no exception. Patterns are recurrent scenarios and mechanisms that live across languages and systems. A good engineer always recognizes and leverages patterns, but is not driven by them. Instead of trying to fit the system into a set of patterns, the engineer recognizes opportunities in which to apply patterns. Applying a pattern ensures correctness since it leverages existing know-how: a method for solving a particular engineering problem that has worked before.

5. Writes Tests

Long gone are the days when engineers thought of testing as beneath them. After all, how can you be certain that your code is actually working if you never test it? An agile practice called Unit Testing has recently gained popularity because it focuses on writing tests to mirror the code. As the system grows, the body of tests grows with it, providing proof that the code actually works. Experienced engineers know and understand the value of tests, because their goal is to create a working system. Good engineers will always write a test once a bug has been exposed to make sure it does not come back again. But a good engineer also knows not to waste time writing trivial or redundant tests, instead focusing on testing the essential parts of each component.

6. Leverages Existing Code

Reinventing the wheel has always been one of the biggest problems in the software industry. From inventing new languages to rewriting libraries, the strange drive to ignore and redo what is already there and already works has been the cause of a lot of software failures. A rockstar engineer will focus on three essential kinds of reuse. First of all, the reuse of internal infrastructure, the code that he and his peers have written. Secondly, the use of third party libraries, for example, in Java, the libraries that are part of JDK or popular libraries provided by the Apache Foundation. And finally, a good engineer would look to leverage web-scale web service, like the ones offered by Amazon. Correct leveraging of existing infrastructure allows rockstar engineers to focus on what is most essential - the application itself.

7. Focuses on Usability

Good engineers always focus on the users. Whether the user is a business or an individual, whether the engineer works for a consumer software company or an investment bank, the focus is on working, usable software. How will users interact with the system? Does it provide a simple, intuitive, and smooth experience? The notion that because a software engineer is a techie, he or she thus can not relate to how other people interact with the system is deeply flawed. Good engineers work hard to make the system simple and usable. They think about customers all the time and do not try to invent convoluted stuff that can only be understood and appreciated by geeks.

8. Writes Maintainable Code

The other secret of good engineers is that it takes the same amount of time to write good code as it does to write bad code. A disciplined engineer thinks about the maintainability and evolution of the code from its first line. There is never any reason to write ugly code, a method that spawns multiple pages, or code with cryptic variable names. Rockstars write code which follows naming conventions, code which is compact, simple and not overly clever. Each line of code serves its purpose and resides in the right place. The bits that are difficult to understand are commented, but otherwise naming conventions are clear. Expressive names for methods and variables can make the code self-explanatory.

9. Can Code in Any Language

A good engineer might have a favorite programming language but is never religious about it. There are many great programming languages these days and to say that you only can code in one of them is to demonstrate a lack of versatility. In Java, C#, or C++ you can write any modern software. You can code the back end of any web site in PHP, in Perl, or in Ruby. At the end of the day, the language does not matter as much as the libraries that come with it. A good engineer knows that and is willing and able to learn new languages, new libraries and new ways of building systems.

10. Knows Basic Computer Science

The last, but certainly not the least trait of a great engineer is a solid foundation. A good engineer might not have a degree in computer science but must know the basics - data structures and algorithms. How can you build large scale software without knowing what a hashtable is? Or the difference between a linked list and an array? These are the basics that everyone should know. And the algorithms are just as important - from binary search to different sorts to graph traversals, a rockstar engineer must know and internalize the basics. These foundations are necessary to make the right design decisions when building any modern piece of software.

Conclusion

There are many traits that distinguish great software engineers. Among the ones we discussed, passion is certainly very important. Knowing the basics like code reuse, design patterns, fundamental data structures, and algorithms is necessary, while agile practices of refactoring and unit testing help engineers iteratively evolve complex software. Most importantly, rockstar engineers believe in simplicity and common sense. It is these beliefs that help them succeed in building the seemingly impossible, complex software systems that are necessary in today's world.

10 Steps To Securing Firewalls

Most computers now come with a firewall built in, but despite this, the number of computers that are infected with viruses, worms and other types of malware grows by the day. One of the biggest reasons why firewalls are not doing their job, is because many of us have never taken the time to tweak our firewall to make it effective. This 10 step list will help introduce individuals and small business owners alike to some very simple ways that they can tweak, supplement, and support their firewall in order to keep their computer and private information as secure as possible.

1. Install SP2 onto your Windows Operating System


Before you can start supporting or tweaking your firewall, it is important to make sure you actually have one installed. Surprisingly, a large number of individuals who believe they are already protected, have not even taken the most basic step of installing a free firewall.
If you are using Microsoft's Windows XP and just assumed that you were protected by a built-in firewall, you may be wrong. In fact, the standard version of Microsoft's Windows XP is notoriously vulnerable to worms and viruses precisely because it has no substantial built-in firewall. In response to the criticisms, Microsoft created an all-in-one patch (or downloadable add-on) to Windows XP called SP2. By downloading and installing SP2 onto your computer, you will automatically be equipped with Windows Security Center, Windows Firewall, a Pop-up blocker for Internet Explorer, an Email virus scanner for Outlook Express, and a Wireless Network Security system.
Given the standard version of Windows XP's notorious weaknesses against worms and viruses, it is a necessary first step for all individual and small business users who use Windows XP to download the all-in-one patch. Make sure, however, to download the patch directly from Microsoft, as clever spammers often offer a version on their own sites which are full of hidden viruses.
For those individuals that haven't been using any sort of firewall whatsoever, having SP2 in place is a big step up. Unfortunately, however, the Windows Firewall will only block attacks that come from the outside, it just presumes that anything you send out is safe. But, if you have been connecting your computer to the internet without a firewall in the past, that assumption is probably wrong. Your computers may already be infected and you simply have no idea. To deal with this problem you will need to install a 'bidirectional' third-party firewall. For individuals, there are some good free ones available, including Zone Labs' ZoneAlarm. If ZoneAlarm does not fit your needs, there are dozens of other options. Check out PCWorld's firewall review for a few more ideas.
Now that we have made sure that you actually have a firewall in place, it is time to start optimizing it.

2. Enable Auto Updates for the Firewall.


New viruses, worms and other forms of malware are created daily, so it is important that once a firewall is installed in your personal computer or across your company's computers, you develop a plan to regularly check for and install new patches for your firewall. While normally it is a terrible idea to let your computer download anything without your approval, when it comes to fighting viruses, there is a whole new set of rules. Because every small business is strapped for time, the only reliable means of ensuring that your business's firewalls remain up to date is to setup auto-updates. Once automatic updates are set up, your firewall will upload the newest patches each time you have them scheduled or each time you turn off your computer. These updates will enable to firewall to protect your computer against any new viruses, worms, Trojan horses or bugs that have been created since the program was last updated.
If you are using the default Windows XP firewall that you downloaded with the SP2 patch, then you should simply enable Windows Automatic Updates. This is a program for Windows that will actually check to see what patches you need, and then suggest that you download them. Once you are current, the program will frequently check for new updates and when they are created, it will wait for a time when your computer is idle, so as not to interrupt your work, and automatically download the new patch. The setup for Automatic Updates is a simple step-by-step process that will not take more than 15 minutes to complete, even fore the most technically disinclined.
If you decided to opt for greater protection and downloaded or purchased a 'bidirectional' firewall you can still setup automatic updates, and typically the process is very straightforward. If you selected the free version of ZoneAlarm, the setup instructions are here, otherwise you will simply need to check the manufacturer’s website for instructions on how to setup auto updates for your firewall.

3. Tweaking the Settings to your Usage

Firewall settings are designed with the median user in mind. The problem is, none of us is that mythical 'median' user, so almost everyone will benefit from tweaking the settings on their firewall.
One of the most common tweaks is the timing of automatic updates. You enabled automatic updates to take place because they will keep your firewall updated all the time. But that can only happen if the 'automatic update' actually happens. For most firewalls the automatic update is timed to start each night at 3 a.m. If you typically have your computer off and disconnected from the internet at that time, however, your firewall will never update. So, make sure to schedule your updates for a time when the computer is going to be on and connected, but not in heavy use. If you cannot come up with a time that works for your home or business, just select an option that the computer notify you when an update is ready, and then you can decide pick a convenient time that day.
At work, most of us are focused on getting the job done in the quickest way possible. So if your employees are having trouble with a pop-up blocker (e.g. it is blocking pop-ups they need to sign in or fill out a form) often they will just disable the pop-up blocker rather than spending the time to whitelist that site. Very soon, you will find that all the computers in your company now have disabled pop-up blockers, and as a result your firewall has to filter a lot more bad content, and ultimately your computer is less secure. Rather than have that happen, make sure to tweak your firewall to allow exceptions, by listing all the trusted sites that your employees will need to frequently visit throughout their workday. So for instance, if your employees constantly need to sign in to the company email provider, which uses a pop-up, make sure that that site is listed in your 'trusted sites' list so that pop-ups can appear. Just adding the five or ten sites that your employees visit most frequently to the exceptions list, will stop them from disabling that pop-up blocker, and keep your whole network safer.
If you read a lot of newsletters, you may quickly find that after having installed SP2, those newsletters look a lot less pretty. That is because SP2 and other firewalls often block tiny images called 'web bugs' that are placed in newsletters in order to send to the creator information about how much a person is reading of the newsletter, etc. So if you want to view your newsletters in their original form and do not mind the privacy trade-off, you may want to allow the display of these image links in e-mail messages (usually entitled the 'HTML e-mail' option).
For a hacker to be effective, he or she needs a way to get information on and off your computer without you knowing. One of the most common ways they do this is by hiding their malware inside of a legitimate program, and then directing that legitimate program to establish a connection between your computer and the internet. Untweaked firewalls that are left to their default settings can often do little to prevent this, as the firewall does not know which programs need to send and receive messages from the internet and which do not. But, by tweaking the settings of your firewall, you can restrict those of your programs that do not need to send and receive information from the internet from doing so. One of the most common steps is to restrict your printer from having access to anything beyond the local network level. That way, a virus will not be able to embed itself into your printer software and send and receive information through that connection. For those programs that do require internet access, you should consider whether they need to both send and receive information, or whether they might simply send information. If that is the case, you can toggle your settings so that that program is restricted to sending outgoing information, but cannot receive incoming information. While this offers less protection than a total block, it is certainly better than the default firewall setting.

4. Keeping Settings Consistent Across Networks


In most companies and homes, individual users access the internet and use their computers in wildly different ways. Because of these different uses, many individuals and small companies decide to setup the individual firewalls within a network differently according to the usage habits of that individual. For example, if a person accesses a certain site more than the other users, he might authorize that site to show pop-ups by adding it to his ‘trusted site’ list. And even more commonly, an individual employee might decide to toggle their firewall settings to permit Instant Messenger to function without hindrance.
While these sorts of individualized tweaks can seem harmless, in fact they create different attack surfaces for each computer throughout the network, so that when a worm or other malicious program eventually succeeds in breaching the firewall, it is far more difficult to tell where the firewall vulnerability is located, and thus what change needs to be made to close up the weakness. This same reasoning also requires that the firewall administrator not permit different firewall settings for each connection, or profile, on the computer. Just as individualized firewall settings on different computers make it difficult to identify where the firewall weakness is, having different settings for different users within the same computer make the task of identification nearly impossible.

5. Add Multiple Layers to your PC and Security System.


An easy way to think about a firewall, is that it is a program that creates a sort of shell around your computer that lets certain types of authorized information pass through it, while identifying and blocking out other types of code or information that it recognizes as bad. But for all their advancements, firewalls are and will always be defensive in nature. That means, that a firewall can only block malware that humans have coded it to recognize as bad, and that code can only be created for viruses that already exist and have already infected some computers.
Because of the inherent defensive nature of firewalls, they are always fighting an uphill battle against hackers who are creating new sorts of malware. Thus, to help put a firewall on equal footing, it must always be supplemented with an aggressive anti-virus program. Unlike a firewall which tries to form a shell around your computer, an anti-virus program scans information that has gotten through the firewall and quarantines then eliminates the malware that it finds. That way, even if a new virus is quick enough to sneak past your firewall, it will eventually be rooted out by your anti-virus software, once your software is updated to recognize the new virus.
In addition to an anti-virus program, you should also add a pop-up blocker and spam-blocking software to your company's computers. While these two firewall supplements will not directly fight against attacks by viruses, worms, and trojan horses, they will limit the number of these types of malware that your computer faces, and thus help make your firewall more effective overall.
If you use Internet Explorer as your Web browser, the SP2 patch you already downloaded includes a pop up blocker and spam blocker standard. But because many viruses are designed specifically for Internet Explorer, it is safer for you or your company to begin using an alternative internet browser such as Firefox. Firefox comes with a built-in pop-up blocker and spam blocker that are usually regarded as better than most off the shelf third party alternatives. So if you decide to go this route, you won't need add-on spyware or spam blocker protection.
But if you decide to use an internet browser besides Internet Explorer or Firefox, it may not come with a strong pop-up and spam blocker. This means that you will need to download spam and spyware blocking software because the standard version included with the SP2 patch is only compatible with Internet Explorer. Microsoft offers a free program entitled Windows Defender, which will alerts you if viruses, Trojan horses, or worms try to enter your computer and stop them. If you want protection beyond the off the shelf freebie version, you should consider a customized security solution.
By supplementing your firewall with the essential add-ons like a spam blocker, spyware blocker, and of course, an anti-virus program, you add valuable layers to your malware protection and better ensure that your computer remains malware free.

6. Use Strong Passwords


An effective firewall will shield out almost every attack by a hacker to gain access to your computer. No matter how effective a firewall, however, it can be rendered useless if a hacker is able to gain access to your sensitive data through direct means. For example, anyone can access your wireless network if they have the correct WEP encryption key. Similarly, a hacker need not breach your firewall to gain your banking information, if he or she can instead just guess your password. For these reasons, an essential part of supporting the effectiveness of your firewall is to use strong passwords.
Using a strong password requires four things:
1. Length: One of the simplest methods that hackers use to obtain sensitive information is to simply start guessing. The longer a password the more letter and number combinations a hacker will have to try before he or she can guess a password. Even with a computer program designed specifically for trying every letter and number combination, most hackers are quickly frustrated by longer passwords.
2. Structure: Hackers often use a password stealing method in which a computer program repeatedly tries various combinations of words out of a dictionary to guess a password. Consequently, your password should never be a single word found in a dictionary, nor should it be a combination of two or three words. Instead, your password should always involve either fake words or word and number combinations.
3. Distinctness: Around the house, no one uses just one key to open the garage, backdoor, front door, the car, and their safe. Just as in the physical world, you should never use the same password for all of your access codes. If a single password holds the key to all your bank accounts, social security number, personal emails, and work intranet, then a single correct guess by a hacker will leave you and your company irreparably harmed.
4. Frequency: Nobody is perfect, and you should build that assumption in when you consider how often you need to change your password. Eventually your password information will leak out to someone. But as long as you change your password frequently enough, you can minimize the chance that when the information leaks out, it will still be relevant. The frequency with which you change your password will depend upon how important the information it protects is, but under no circumstances should you go more than six months without changing a password.

7. A 128-bit WEP Encryption on your Wireless Network


No one would consider leaving a box of keys to the office laying right out side the office doors. Yet many individuals and small companies do just that when they fail to encrypt or password protect their office's wireless network. With an unencrypted network, anybody can access your network and thus access your company's computers. Even beginner hackers can then use this access to steal company information like credit card numbers and passwords, or barrage your computer with viruses and worms since they have essentially circumvented your network firewall.
While big companies need to undertake major steps to protect their wireless networks, for homes and smaller companies, WEP encryption is an easy and good solution. The most common WEP encryption is a 128-bit encryption, however, encryptions can range anywhere from 40-bit to 152-bit. Practically speaking, the higher the number encryption, the longer the password required to access your wireless network, and thus the harder to hack into. But if you are worried about performance and speed, there is very little difference in security between a 64-bit and a 128-bit encryption, and a 64-bit encryption will require slightly less time to log in to.
Setting up a wifi encryption is very easy to do, and the technology to encrypt comes standard on almost every commercially available wireless router. If you have not purchased a wireless router, you should consider D-Link and Linksys, two cheap but reliable systems. If you already have a wifi system that is not yet encrypted, just check the website of the manufacturer for your particular models instructions. Once the WEP is in place, the network is sealed and only users with the correct WEP can use the network.

8. Standby is your PC's Best Friend


A hacker can only get to your computer remotely if it is accessible to him or her. That is to say, a hacker cannot remotely place a Trojan hore onto a computer that is not connected to the Internet. Consequently, one of the easiest ways to reduce your vulnerability to hackers and thus supplement your firewall's efforts to keep your computer malware free, is to shut down or change over to standby mode whenever you are not actively using your computer.
Remember that no matter how strong you make a firewall or how frequently you update it, a firewall can never provide perfect protection against malware. But by shutting the computer down each night and setting the computer to standby mode when not in use, you can cut your potential exposure to malware like viruses and Trojan horses by more than half.

9. Test #1: Looking for Leaks


Having tweaked and strengthened your firewall by installing certain software and taking certain preventative steps, you should now feel reasonably secure that your computer's firewall and overall safety are reasonably strong. But the only way you will actually know if your firewall is working well is if you do not get infected with malware. Since that trial by fire method of testing can be so dangerous, however, a safe alternative is to undergo firewall leak testing. These firewall leak tests will actually try to bypass your personal firewall and in so doing actually test the firewall's software filtering, and outbound filtering capabilities. Because each firewall link test uses slightly different techniques to try to circumvent your firewall (just like different malware will use different techniques), it is helpful to run a variety of different leak tests in order to ensure that your firewall makes the grade. There are a number of free online versions of firewall leak tests, including GKweb's Firewall Leak Tester and Gibson Research Corporation's LeakTest.

10. Test #2: Checking the Ports


A port is not just a word for the socket that you plug your mouse or keyboard into. Rather, a port also refers to a special number in a data packet that helps route data to and from a particular program running on your computer. Ports can either be open, closed, or filtered. When a port is open, a hacker will be able to use that opening to gain easy access to your computer. Consequently, it should always be a goal to keep as few ports open for as short of time as possible.
Therefore, when you install a new program and find that your firewall is conflicting with it, make sure to tweak your firewall correctly by selecting a 'program exception' rather than a 'port exception' to get the program working. A 'program exception' will open the port only as that particular program needs it opened to function, that way a port will not remain open unnecessarily. A 'port exception' by contrast, will leave the entire port in open status.
Because of the stated security benefits of having ports open only as your programs need then opened, it is important to know exactly which programs use which ports, so that you can make sure that no ports are accidentally left permanently open. Thankfully, there are a number of free port scanners available online that will tell you the status of your computer's ports. A few of the more well-reputed are:
1. Microsoft's Port Reporter Tool.
2. Sygate's Online Scan. An extended security check that also includes a stealth scan and a trojan scan.
3. Planet Security's Firewall-Check. A fast test that checks currently highly endangered ports.
4. AuditMyPC's complete port scanning. An in-depth test which will scan all 65,535 of your computer’s ports.

Conclusion


While no single resource can adequately cover everything you need to know about maintaining your firewall effectively, the ten points introduced in this article should serve as a basic primer of the deficiencies of many firewalls as well as cover a few of the ways to upgrade, tweak and supplement your personal or small businesses’ firewall in order to improve your computer's overall security.

Top 10 Most Famous Hackers of All Time

The portrayal of hackers in the media has ranged from the high-tech super-spy, as in Mission Impossible where Ethan Hunt repels from the ceiling to hack the CIA computer system and steal the "NOC list," to the lonely anti-social teen who is simply looking for entertainment.
The reality, however, is that hackers are a very diverse bunch, a group simultaneously blamed with causing billions of dollars in damages as well as credited with the development of the World Wide Web and the founding of major tech companies. In this article, we test the theory that truth is better than fiction by introducing you to ten of the most famous hackers, both nefarious and heroic, to let you decide for yourself.
Black Hat Crackers
The Internet abounds with hackers, known as crackers or "black hats," who work to exploit computer systems. They are the ones you've seen on the news being hauled away for cybercrimes. Some of them do it for fun and curiosity, while others are looking for personal gain. In this section we profile five of the most famous and interesting "black hat" hackers.
  1. Jonathan James: James gained notoriety when he became the first juvenile to be sent to prison for hacking. He was sentenced at 16 years old. In an anonymous PBS interview, he professes, "I was just looking around, playing around. What was fun for me was a challenge to see what I could pull off."
    James's major intrusions targeted high-profile organizations. He installed a backdoor into a Defense Threat Reduction Agency server. The DTRA is an agency of the Department of Defense charged with reducing the threat to the U.S. and its allies from nuclear, biological, chemical, conventional and special weapons. The backdoor he created enabled him to view sensitive emails and capture employee usernames and passwords.
    James also cracked into NASA computers, stealing software worth approximately $1.7 million. According to the Department of Justice, "The software supported the International Space Station's physical environment, including control of the temperature and humidity within the living space." NASA was forced to shut down its computer systems, ultimately racking up a $41,000 cost. James explained that he downloaded the code to supplement his studies on C programming, but contended, "The code itself was crappy . . . certainly not worth $1.7 million like they claimed."
    Given the extent of his intrusions, if James, also known as "c0mrade," had been an adult he likely would have served at least 10 years. Instead, he was banned from recreational computer use and was slated to serve a six-month sentence under house arrest with probation. However, he served six months in prison for violation of parole. Today, James asserts that he's learned his lesson and might start a computer security company.
  2. Adrian Lamo: Lamo's claim to fame is his break-ins at major organizations like The New York Times and Microsoft. Dubbed the "homeless hacker," he used Internet connections at Kinko's, coffee shops and libraries to do his intrusions. In a profile article, "He Hacks by Day, Squats by Night," Lamo reflects, "I have a laptop in Pittsburgh, a change of clothes in D.C. It kind of redefines the term multi-jurisdictional."
    Lamo's intrusions consisted mainly of penetration testing, in which he found flaws in security, exploited them and then informed companies of their shortcomings. His hits include Yahoo!, Bank of America, Citigroup and Cingular. When white hat hackers are hired by companies to do penetration testing, it's legal. What Lamo did is not.
    When he broke into The New York Times' intranet, things got serious. He added himself to a list of experts and viewed personal information on contributors, including Social Security numbers. Lamo also hacked into The Times' LexisNexis account to research high-profile subject matter.
    For his intrusion at The New York Times, Lamo was ordered to pay approximately $65,000 in restitution. He was also sentenced to six months of home confinement and two years of probation, which expired January 16, 2007. Lamo is currently working as an award-winning journalist and public speaker.
  3. Kevin Mitnick: A self-proclaimed "hacker poster boy," Mitnick went through a highly publicized pursuit by authorities. His mischief was hyped by the media but his actual offenses may be less notable than his notoriety suggests. The Department of Justice describes him as "the most wanted computer criminal in United States history." His exploits were detailed in two movies: Freedom Downtime and Takedown.
    Mitnick had a bit of hacking experience before committing the offenses that made him famous. He started out exploiting the Los Angeles bus punch card system to get free rides. Then, like Apple co-founder Steve Wozniak, dabbled in phone phreaking. Although there were numerous offenses, Mitnick was ultimately convicted for breaking into the Digital Equipment Corporation's computer network and stealing software.
    Mitnick's mischief got serious when he went on a two and a half year "coast-to-coast hacking spree." The CNN article, "Legendary computer hacker released from prison," explains that "he hacked into computers, stole corporate secrets, scrambled phone networks and broke into the national defense warning system." He then hacked into computer expert and fellow hacker Tsutomu Shimomura's home computer, which led to his undoing.
    Today, Mitnick has been able to move past his role as a black hat hacker and become a productive member of society. He served five years, about 8 months of it in solitary confinement, and is now a computer security consultant, author and speaker.
  4. Kevin Poulsen: Also known as Dark Dante, Poulsen gained recognition for his hack of LA radio's KIIS-FM phone lines, which earned him a brand new Porsche, among other items. Law enforcement dubbed him "the Hannibal Lecter of computer crime."
    Authorities began to pursue Poulsen after he hacked into a federal investigation database. During this pursuit, he further drew the ire of the FBI by hacking into federal computers for wiretap information.
    His hacking specialty, however, revolved around telephones. Poulsen's most famous hack, KIIS-FM, was accomplished by taking over all of the station's phone lines. In a related feat, Poulsen also "reactivated old Yellow Page escort telephone numbers for an acquaintance who then ran a virtual escort agency." Later, when his photo came up on the show Unsolved Mysteries, 1-800 phone lines for the program crashed. Ultimately, Poulsen was captured in a supermarket and served a sentence of five years.
    Since serving time, Poulsen has worked as a journalist. He is now a senior editor for Wired News. His most prominent article details his work on identifying 744 sex offenders with MySpace profiles.
  5. Robert Tappan Morris: Morris, son of former National Security Agency scientist Robert Morris, is known as the creator of the Morris Worm, the first computer worm to be unleashed on the Internet. As a result of this crime, he was the first person prosecuted under the 1986 Computer Fraud and Abuse Act.
    Morris wrote the code for the worm while he was a student at Cornell. He asserts that he intended to use it to see how large the Internet was. The worm, however, replicated itself excessively, slowing computers down so that they were no longer usable. It is not possible to know exactly how many computers were affected, but experts estimate an impact of 6,000 machines. He was sentenced to three years' probation, 400 hours of community service and a fined $10,500.
    Morris is currently working as a tenured professor at the MIT Computer Science and Artificial Intelligence Laboratory. He principally researches computer network architectures including distributed hash tables such as Chord and wireless mesh networks such as Roofnet.
White Hat Hackers
Hackers that use their skills for good are classified as "white hat." These white hats often work as certified "Ethical Hackers," hired by companies to test the integrity of their systems. Others, operate without company permission by bending but not breaking laws and in the process have created some really cool stuff. In this section we profile five white hat hackers and the technologies they have developed.
  1. Stephen Wozniak: "Woz" is famous for being the "other Steve" of Apple. Wozniak, along with current Apple CEO Steve Jobs, co-founded Apple Computer. He has been awarded with the National Medal of Technology as well as honorary doctorates from Kettering University and Nova Southeastern University. Additionally, Woz was inducted into the National Inventors Hall of Fame in September 2000.
    Woz got his start in hacking making blue boxes, devices that bypass telephone-switching mechanisms to make free long-distance calls. After reading an article about phone phreaking in Esquire, Wozniak called up his buddy Jobs. The pair did research on frequencies, then built and sold blue boxes to their classmates in college. Wozniak even used a blue box to call the Pope while pretending to be Henry Kissinger.
    Wozniak dropped out of college and came up with the computer that eventually made him famous. Jobs had the bright idea to sell the computer as a fully assembled PC board. The Steves sold Wozniak's cherished scientific calculator and Jobs' VW van for capital and got to work assembling prototypes in Jobs' garage. Wozniak designed the hardware and most of the software. In the Letters section of Woz.org, he recalls doing "what Ed Roberts and Bill Gates and Paul Allen did and tons more, with no help." Wozniak and Jobs sold the first 100 of the Apple I to a local dealer for $666.66 each.
    Woz no longer works full time for Apple, focusing primarily on philanthropy instead. Most notable is his function as fairy godfather to the Los Gatos, Calif. School District. "Wozniak 'adopted' the Los Gatos School District, providing students and teachers with hands-on teaching and donations of state-of-the-art technology equipment."
  2. Tim Berners-Lee: Berners-Lee is famed as the inventor of the World Wide Web, the system that we use to access sites, documents and files on the Internet. He has received numerous recognitions, most notably the Millennium Technology Prize.
    While a student at Oxford University, Berners-Lee was caught hacking access with a friend and subsequently banned from University computers. w3.org reports, "Whilst [at Oxford], he built his first computer with a soldering iron, TTL gates, an M6800 processor and an old television." Technological innovation seems to have run in his genes, as Berners-Lee's parents were mathematicians who worked on the Manchester Mark1, one of the earliest electronic computers.
    While working with CERN, a European nuclear research organization, Berners-Lee created a hypertext prototype system that helped researchers share and update information easily. He later realized that hypertext could be joined with the Internet. Berners-Lee recounts how he put them together: "I just had to take the hypertext idea and connect it to the TCP and DNS ideas and – ta-da! – the World Wide Web."
    Since his creation of the World Wide Web, Berners-Lee founded the World Wide Web Consortium at MIT. The W3C describes itself as "an international consortium where Member organizations, a full-time staff and the public work together to develop Web standards." Berners-Lee's World Wide Web idea, as well as standards from the W3C, is distributed freely with no patent or royalties due.
  3. Linus Torvalds: Torvalds fathered Linux, the very popular Unix-based operating system. He calls himself "an engineer," and has said that his aspirations are simple, "I just want to have fun making the best damn operating system I can."
    Torvalds got his start in computers with a Commodore VIC-20, an 8-bit home computer. He then moved on to a Sinclair QL. Wikipedia reports that he modified the Sinclair "extensively, especially its operating system." Specifically, Torvalds hacks included "an assembler and a text editor…as well as a few games."
    Torvalds created the Linux kernel in 1991, using the Minix operating system as inspiration. He started with a task switcher in Intel 80386 assembly and a terminal driver. After that, he put out a call for others to contribute code, which they did. Currently, only about 2 percent of the current Linux kernel is written by Torvalds himself. The success of this public invitation to contribute code for Linux is touted as one of the most prominent examples of free/open source software.
    Currently, Torvalds serves as the Linux ringleader, coordinating the code that volunteer programmers contribute to the kernel. He has had an asteroid named after him and received honorary doctorates from Stockholm University and University of Helsinki. He was also featured in Time Magazine's "60 Years of Heroes."
  4. Richard Stallman: Stallman's fame derives from the GNU Project, which he founded to develop a free operating system. For this, he's known as the father of free software. His "Serious Bio" asserts, "Non-free software keeps users divided and helpless, forbidden to share it and unable to change it. A free operating system is essential for people to be able to use computers in freedom."
    Stallman, who prefers to be called rms, got his start hacking at MIT. He worked as a "staff hacker" on the Emacs project and others. He was a critic of restricted computer access in the lab. When a password system was installed, Stallman broke it down, resetting passwords to null strings, then sent users messages informing them of the removal of the password system.
    Stallman's crusade for free software started with a printer. At the MIT lab, he and other hackers were allowed to modify code on printers so that they sent convenient alert messages. However, a new printer came along – one that they were not allowed to modify. It was located away from the lab and the absence of the alerts presented an inconvenience. It was at this point that he was "convinced…of the ethical need to require free software."
    With this inspiration, he began work on GNU. Stallman wrote an essay, "The GNU Project," in which he recalls choosing to work on an operating system because it's a foundation, "the crucial software to use a computer." At this time, the GNU/Linux version of the operating system uses the Linux kernel started by Torvalds. GNU is distributed under "copyleft," a method that employs copyright law to allow users to use, modify, copy and distribute the software.
    Stallman's life continues to revolve around the promotion of free software. He works against movements like Digital Rights Management (or as he prefers, Digital Restrictions Management) through organizations like Free Software Foundation and League for Programming Freedom. He has received extensive recognition for his work, including awards, fellowships and four honorary doctorates.
  5. Tsutomu Shimomura: Shimomura reached fame in an unfortunate manner: he was hacked by Kevin Mitnick. Following this personal attack, he made it his cause to help the FBI capture him.
    Shimomura's work to catch Mitnick is commendable, but he is not without his own dark side. Author Bruce Sterling recalls: "He pulls out this AT&T cellphone, pulls it out of the shrinkwrap, finger-hacks it, and starts monitoring phone calls going up and down Capitol Hill while an FBI agent is standing at his shoulder, listening to him."
    Shimomura out-hacked Mitnick to bring him down. Shortly after finding out about the intrusion, he rallied a team and got to work finding Mitnick. Using Mitnick's cell phone, they tracked him near Raleigh-Durham International Airport. The article, "SDSC Computer Experts Help FBI Capture Computer Terrorist" recounts how Shimomura pinpointed Mitnick's location. Armed with a technician from the phone company, Shimomura "used a cellular frequency direction-finding antenna hooked up to a laptop to narrow the search to an apartment complex." Mitnick was arrested shortly thereafter. Following the pursuit, Shimomura wrote a book about the incident with journalist John Markoff, which was later turned into a movie.
We hope you have enjoyed our introduction to some of the most famous real-life hackers, both white and black alike, and have gotten a clearer impression of who hackers really are. To find out more about hacking, cracking, these or other famous hackers, or just how to keep your computer safe from all of the above, check out the following resources:

Friday, 23 September 2011

Most Expensive food

Most expensive foods in the world, most expensive drinks, deserts or spices.

Saffron, a spice grown worldwide, is derived from the saffron crocus flower. Prices for the spice go around US$500/pound to US$5,000/pound (US$1100 to US$11,000 per kilogram).

Macadamia nut. The cost of a kilogram of these nuts exceeds 30$.

Iranian caviar. The luxurious caviar comes from the oldest survivor of the Dinosaur era. Beluga caviar ranges in price from more than $5,000 per kilogram in the United States.

White truffle. This mushrooms are sold at a amazing price of 2,000 and 4,000 per kilogram ($1350 $2700 per pound).

La Bonnotte French potato. The cost of one single kilogram can reach $500 since this type of potato is almost extinct.

The most expensive beef in the world is the type of beef coming from the Wagyu cows from Japan. 200 grams of a fillet cost in Europe more than 100 dollars.

Club sandwich from Essen aka von Essen Platinum Club Sandwich. Costing 100 pounds (almost 200 dollars), this is a must-try for the food fanatics.

The most expensive pizza in the world, valued at 8300 Eur can be tasted in Italy. With generous toppings of caviar and lobster, the pizza has a diameter of 20cm and Louis XIII Remy Martin cognac poured all over it.

Omelet from the Le Parker Meridien restaurant in New York. The $1,000 omelet consists of 10 ounces of sevruga caviar, a whole lobster, and six eggs. To make it in the privacy of your own home, the cost will be only $700.

The most expensive desert in the world the $1000 sundae. It made up of 5 scoops of the richest Tahitian vanilla bean ice cream, Madagascar vanilla, 23K edible gold leaf and one of the most expensive chocolates in the world, Amedei Porceleana.

Chocopologie by Knipschildt. At $2,600 per pound, this handmade chocolate truffle is available only if ordered. t contains a black truffle and 70% Valrhona cacao.

Kopi Luwak. The coffee comes from the Indonesian island of Sumatra and the total annual production is only around 500 pounds of beans. That is why the price of a pound is outrages $300 or more

Chinese green tea called Tieguanyin, which costs 1,700 Yuan ($3,000) per kilo (per 2 lb 3 oz) approximately 8.50 Yuan ($15) for a single cup.
Tea bag for the PG company. Manually decorated with 280 diamonds, the bag made to remind people just how much they love the great British cup of tea is worth £7,500.

The most expensive champagne in the world is Perrier Jouet Belle Epoque Blanc de Blanc, made of specially selected grapes, sold in manually painted bottles and with a price tag of around $1,500.

Macallan Fine Rare Vintage, whiskey. With only 85 bottles being released world-wide, tasting this 30 year old is a rare treat. Price for a single bottle? $38,000!

Wray Nephew White Overproof Rum is merely the top-selling high strength rum in the world, bottled in 1940. Only four bottles are left from this precious liquor, each being estimated at $53,000.

Mehndi Collection

Roads