Archive for June 2014
Password secrets you must aware
There is one thing that make us so vulnerable is ignorance. Today, everything is going to be depended on the internet. Yes, and you know it better! and a concept that we use to secure our internet accounts and all is our passwords. but is it enough to set password and feel that we are secure? are you really aware about of how to use passwords?
Our lack of understanding about passwords is allowing crooks to spy on us, steal from us, and deceive us into thinking nothing ever happened. Despite the volumes of texts that have already been written about them, how many of us have ever read a single chapter paragraph about the nitty-gritty of passwords?
That’s why i have compiled the following three short lists which outline the most common misconceptions about passwords; the ways in which our passwords can be stolen; and the tools you need to make sure it doesn’t happen to you.
Each of these sections can be read in less than two minutes. But once you’re done, you will have acquired enough information to deal safely and confidently with your passwords.
Read the rest of the article and learn why that statement is no longer true.
Your passwords are secure as long as you only deal with reputable online businesses.
Major online businesses that serve tens of millions of customers worldwide are expected to hold a treasure trove of personal information – the favorite diet of identity thieves. Therefore, these companies are always in the crosshairs of the world’s most highly-skilled hackers.
Take these recent examples, for instance:
LinkedIn - A file with 6.5 million passwords from LinkedIn accounts appeared in an online forum based in Russia.
Yahoo - 450,000 usernames and passwords from Yahoo! were posted online
Sony (Playstation) - This massive breach involved 77 million Sony Playstation user accounts containing passwords and other personal information.
A password input box that obscures characters as you type hides your password from prying eyes.
The dots or asterisks displayed on a password input box are just meant to prevent people near you from seeing what you’re entering in there. How the password is actually stored or sent is a different story.
“Strong” passwords are difficult to compromise.
Even if your password is long and complex (e.g. a combination of uppercase and lowercase letters, numbers and other non-alphanumeric characters), if it is stored or sent in plaintext, you’re toast if the hackers get hold of it.
Plaintext means it can be viewed exactly the way it has been entered, using easily accessible tools. For example, if your password is Super$ecretp@Ss, a free downloadable tool like Ettercap enables your password to be viewed exactly in that form: Super$ecretp@Ss.
If, however, your password is encrypted, it means that it has been scrambled; it cannot be viewed using the same tool (Ettercap). It might be displayed something like this: xt%y&1sm^*gt;>2.
Unfortunately, many software applications still store and send passwords in plaintext. That is why hackers still find the first three items in the next section so effective.
Hackers use sophisticated tools to steal your password.
Actually, many successful hackers don’t require sophisticated tools to acquire passwords. Some simply use crafty conversational skills. In the highly publicised hacking of Wired Senior Writer Mat Honan, the hackers made extensive use of social engineering, a technique that relies heavily on the art of deception. More about this shortly.
In the meantime, let’s talk about how crooks can get a hold of your passwords.
Hacking into a server that stores passwords in plaintext
There are many ways to do this. I won’t delve into the technical details but they can range from sophisticated-sounding methods like an ‘SQL injection’ to “manual” methods like stealing the server’s hard disk.
Once the attacker gets into the system, passwords can be easily retrieved from the database because they are all in plaintext (as previously explained).
Considering the risks of storing sensitive data in plaintext, you’d think it would be unimaginable for big companies to store passwords in this manner. Well, think again. That’s exactly what Yahoo! did, which led to that massive data breach referred to earlier.
Operating as a man-in-the-middle
In a man-in-the-middle (MITM) attack, an attacker hijacks communications between two machines (e.g. a server and a client, two clients, a router and a client, or a router and a server). He then sets up his computer to impersonate both legitimate machines and then makes it appear they are still communicating with one another.
As a result, all of their messages would pass through his computer, allowing him to view any information that is sent in plaintext; including usernames and passwords.
Luring gullible victims using trojans
Trojans are malware, disguised as downloadable programs, that hackers make available through harmless-looking emails or websites. That interesting downloadable freebie online, for example, might be a trojan…
Once downloaded, a trojan can stealthily perform whatever nefarious activity it is programmed to do. One common activity is recording keyboard strokes (keylogging), whenever the victim logs in to a “secure” site; another is scanning the memory and extracting what it suspects to be passwords (“memory dumping”). When done, the malware transmits this information to the attacker.
Employing social engineering
As mentioned earlier, this technique does not require any sophisticated hacking tool.
A commonly used social engineering trick (known as “phishing”) involves sending out fake notification emails informing users of a data breach at a legitimate website where the users have accounts. The email would then instruct the users to reset their passwords by clicking on a link that takes them to a spoofed website, closely resembling the real one.
The fake page asks the users to enter their username, old password, and new password. Those falling for that then pass their login credentials into the wrong hands.
Another example of social engineering is simply calling a company’s tech support, convincing them you’re someone else, asking for a password reset, and then requesting that the temporary password be sent to an email address you control.
Using brute force
Do you know what the crudest way of cracking a password is? Simple. You just make an educated guess.
You can base your guess on the user’s name and a bunch of dates important to him (e.g. his birthday or wedding day). If your first guess doesn’t work, you guess again. And again. And again. Until you get it correctly. Some systems don’t put a limit to the number of times you can enter a password.
Of course, this can take forever… unless you can automate the process.
Brute force attack programs like John the Ripper, Cain & Abel, or TCH Hydra, enable you to do just that. These programs can make a large number of rapid intelligent guesses…which is great for hackers, but not so great for the security of your passwords.
Now that you’re familiar with the common techniques used for stealing passwords, let’s take a look at what tools you can use to foil them.
If hackers use tools to simplify and automate their exploits, then you should have your own tools to make it more difficult for them.
One thing to keep in mind when choosing a security tool, especially if you’re going to let other people use it, is that it should be easy to use, as well as providing the necessary level of security.
Once a security mechanism or tool is too sophisticated, end users will tend to avoid it. This will make you vulnerable again, and the time and money you invested into it will essentially go to waste.
Keeping that in mind, consider acquiring these tools:
A Password Generator - this helps you create passwords; especially handy if you’re tired of composing your own, and if you need very strong passwords. Here’s a tool that allows you to generate both simple and strong passwords: makeagoodpassword.com
A Password Strength Tester - If you really want to compose your own passwords, you should make sure they’re strong enough. Tools like howsecureismypassword.net can help you determine whether your password is difficult to crack.
A Password Manager - This tool helps you securely manage all your passwords in one location and means you don’t have to remember multiple, complicated passwords. You can centralise all your passwords from your email accounts, blogs, social networking sites, online banks, and so on. Here’s a popular one that’s also free: KeePass
A Built-in Volume or Hard Disk Encryption - If you prefer to keep your passwords in files and save them in your desktop or laptop, the easiest way to secure them is to use your operating system’s built-in volume or hard disk encryption programs. Using them is pretty straightforward. In Windows, use BitLocker. And in Mac OS X, use FileVault.
An Encryption-Enabled Password Sharing Tool - When people send passwords to work colleagues they usually email them. However, many email services are vulnerable to man-in-the-middle attacks. Use a free tool like Firepass, which encrypts your password and sends it so that only the intended recipient can access it.
Just employing the above five tools will put you way ahead of the crowd; most people do not put enough thought into creating, storing or sending their passwords; it’s never too late to start getting serious about protecting your most confidential and sensitive information.
Thanks for reading this article carefully. If you did not read it well then my advice is read it again and Please comment your valuable feedback thanks :)
Our lack of understanding about passwords is allowing crooks to spy on us, steal from us, and deceive us into thinking nothing ever happened. Despite the volumes of texts that have already been written about them, how many of us have ever read a single chapter paragraph about the nitty-gritty of passwords?
That’s why i have compiled the following three short lists which outline the most common misconceptions about passwords; the ways in which our passwords can be stolen; and the tools you need to make sure it doesn’t happen to you.
Each of these sections can be read in less than two minutes. But once you’re done, you will have acquired enough information to deal safely and confidently with your passwords.
Password Myths You Should Stop Believing
A file, folder, computer, or account protected by a password is safe.
Read the rest of the article and learn why that statement is no longer true.
Your passwords are secure as long as you only deal with reputable online businesses.
Major online businesses that serve tens of millions of customers worldwide are expected to hold a treasure trove of personal information – the favorite diet of identity thieves. Therefore, these companies are always in the crosshairs of the world’s most highly-skilled hackers.
Take these recent examples, for instance:
LinkedIn - A file with 6.5 million passwords from LinkedIn accounts appeared in an online forum based in Russia.
Yahoo - 450,000 usernames and passwords from Yahoo! were posted online
Sony (Playstation) - This massive breach involved 77 million Sony Playstation user accounts containing passwords and other personal information.
Reputable businesses like LinkedIn, Yahoo! and Sony should be implementing the strongest security countermeasures available. But even these are not strong enough to withstand attacks all the time…
A password input box that obscures characters as you type hides your password from prying eyes.
“Strong” passwords are difficult to compromise.
Even if your password is long and complex (e.g. a combination of uppercase and lowercase letters, numbers and other non-alphanumeric characters), if it is stored or sent in plaintext, you’re toast if the hackers get hold of it.
Plaintext means it can be viewed exactly the way it has been entered, using easily accessible tools. For example, if your password is Super$ecretp@Ss, a free downloadable tool like Ettercap enables your password to be viewed exactly in that form: Super$ecretp@Ss.
If, however, your password is encrypted, it means that it has been scrambled; it cannot be viewed using the same tool (Ettercap). It might be displayed something like this: xt%y&1sm^*gt;>2.
Unfortunately, many software applications still store and send passwords in plaintext. That is why hackers still find the first three items in the next section so effective.
Hackers use sophisticated tools to steal your password.
Actually, many successful hackers don’t require sophisticated tools to acquire passwords. Some simply use crafty conversational skills. In the highly publicised hacking of Wired Senior Writer Mat Honan, the hackers made extensive use of social engineering, a technique that relies heavily on the art of deception. More about this shortly.
In the meantime, let’s talk about how crooks can get a hold of your passwords.
Commonly Used Techniques for Stealing Passwords
Hacking into a server that stores passwords in plaintext
There are many ways to do this. I won’t delve into the technical details but they can range from sophisticated-sounding methods like an ‘SQL injection’ to “manual” methods like stealing the server’s hard disk.
Once the attacker gets into the system, passwords can be easily retrieved from the database because they are all in plaintext (as previously explained).
Considering the risks of storing sensitive data in plaintext, you’d think it would be unimaginable for big companies to store passwords in this manner. Well, think again. That’s exactly what Yahoo! did, which led to that massive data breach referred to earlier.
Operating as a man-in-the-middle
As a result, all of their messages would pass through his computer, allowing him to view any information that is sent in plaintext; including usernames and passwords.
Luring gullible victims using trojans
Trojans are malware, disguised as downloadable programs, that hackers make available through harmless-looking emails or websites. That interesting downloadable freebie online, for example, might be a trojan…
Once downloaded, a trojan can stealthily perform whatever nefarious activity it is programmed to do. One common activity is recording keyboard strokes (keylogging), whenever the victim logs in to a “secure” site; another is scanning the memory and extracting what it suspects to be passwords (“memory dumping”). When done, the malware transmits this information to the attacker.
Employing social engineering
As mentioned earlier, this technique does not require any sophisticated hacking tool.
A commonly used social engineering trick (known as “phishing”) involves sending out fake notification emails informing users of a data breach at a legitimate website where the users have accounts. The email would then instruct the users to reset their passwords by clicking on a link that takes them to a spoofed website, closely resembling the real one.
The fake page asks the users to enter their username, old password, and new password. Those falling for that then pass their login credentials into the wrong hands.
Another example of social engineering is simply calling a company’s tech support, convincing them you’re someone else, asking for a password reset, and then requesting that the temporary password be sent to an email address you control.
Using brute force
Do you know what the crudest way of cracking a password is? Simple. You just make an educated guess.
You can base your guess on the user’s name and a bunch of dates important to him (e.g. his birthday or wedding day). If your first guess doesn’t work, you guess again. And again. And again. Until you get it correctly. Some systems don’t put a limit to the number of times you can enter a password.
Of course, this can take forever… unless you can automate the process.
Brute force attack programs like John the Ripper, Cain & Abel, or TCH Hydra, enable you to do just that. These programs can make a large number of rapid intelligent guesses…which is great for hackers, but not so great for the security of your passwords.
Now that you’re familiar with the common techniques used for stealing passwords, let’s take a look at what tools you can use to foil them.
Must-Have Tools for Maintaining Password Security
If hackers use tools to simplify and automate their exploits, then you should have your own tools to make it more difficult for them.
One thing to keep in mind when choosing a security tool, especially if you’re going to let other people use it, is that it should be easy to use, as well as providing the necessary level of security.
Once a security mechanism or tool is too sophisticated, end users will tend to avoid it. This will make you vulnerable again, and the time and money you invested into it will essentially go to waste.
Keeping that in mind, consider acquiring these tools:
A Password Generator - this helps you create passwords; especially handy if you’re tired of composing your own, and if you need very strong passwords. Here’s a tool that allows you to generate both simple and strong passwords: makeagoodpassword.com
A Password Strength Tester - If you really want to compose your own passwords, you should make sure they’re strong enough. Tools like howsecureismypassword.net can help you determine whether your password is difficult to crack.
A Password Manager - This tool helps you securely manage all your passwords in one location and means you don’t have to remember multiple, complicated passwords. You can centralise all your passwords from your email accounts, blogs, social networking sites, online banks, and so on. Here’s a popular one that’s also free: KeePass
A Built-in Volume or Hard Disk Encryption - If you prefer to keep your passwords in files and save them in your desktop or laptop, the easiest way to secure them is to use your operating system’s built-in volume or hard disk encryption programs. Using them is pretty straightforward. In Windows, use BitLocker. And in Mac OS X, use FileVault.
An Encryption-Enabled Password Sharing Tool - When people send passwords to work colleagues they usually email them. However, many email services are vulnerable to man-in-the-middle attacks. Use a free tool like Firepass, which encrypts your password and sends it so that only the intended recipient can access it.
Just employing the above five tools will put you way ahead of the crowd; most people do not put enough thought into creating, storing or sending their passwords; it’s never too late to start getting serious about protecting your most confidential and sensitive information.
Thanks for reading this article carefully. If you did not read it well then my advice is read it again and Please comment your valuable feedback thanks :)
Monday, June 30, 2014
See realtime Cyber attacks with DDoS Attack Map
DDoS Attack Map showing DDos attacks |
One of the major threats to websites and data centers is DDoS attacks:Distributed Denial of Service. If you’ve ever wondered how many attacks go on per day and now we can see DDoS attacks happen in real time.
DDoS attacks
DDoS attacks are a calculated effort to hit an online service where it matters: uptime. Bringing down a service is achieved by spamming it heavily with traffic from different places by tapping into various computers and requesting them to access the target.
The DDoS attack map shows all the current attacks happening in real time all over the world. Going around the map, you can see where the attack is coming from, who the target is and the severity of the attack based on a variety of factors. It’s an amazing visual to see all the attacks going on at one time, sort of like a colorful rainbow of terror. You can also use the cursor at the bottom to drag to a different date, allowing you to see heavier and lighter days and how that translates to the map.
Protecting yourself from a DDoS attack is crucial for online services—going down due to an attack can not only be bad for your data, but also for your business’ visibility and brand. Taking the necessary steps to be proactive about DDoS attacks can go a long way in saving you some stress and frustration. Setting up a firewall that alerts you of any potential intrusions, network monitoring and managed services can be a great deterrent or prevent some cyber threats.
DDoS Attack Map
Overall, this is a great tool if you ever wanted to see what’s going on in the world of cyber security on any given day.
DDoS attacks
DDoS attacks are a calculated effort to hit an online service where it matters: uptime. Bringing down a service is achieved by spamming it heavily with traffic from different places by tapping into various computers and requesting them to access the target.
The DDoS attack map shows all the current attacks happening in real time all over the world. Going around the map, you can see where the attack is coming from, who the target is and the severity of the attack based on a variety of factors. It’s an amazing visual to see all the attacks going on at one time, sort of like a colorful rainbow of terror. You can also use the cursor at the bottom to drag to a different date, allowing you to see heavier and lighter days and how that translates to the map.
Protecting yourself from a DDoS attack is crucial for online services—going down due to an attack can not only be bad for your data, but also for your business’ visibility and brand. Taking the necessary steps to be proactive about DDoS attacks can go a long way in saving you some stress and frustration. Setting up a firewall that alerts you of any potential intrusions, network monitoring and managed services can be a great deterrent or prevent some cyber threats.
DDoS Attack Map
Overall, this is a great tool if you ever wanted to see what’s going on in the world of cyber security on any given day.
what is Android operating system?
Android is an operating system based on the Linux kernel, and designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Initially developed by Android, Inc., which Google backed financially and later bought in 2005,Android was unveiled in 2007 along with the founding of the Open Handset Alliance: a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices.The first publicly available smartphone running Android, the HTC Dream, was released on October 22, 2008.
The user interface of Android is based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented. Android allows users to customize their home screens with shortcuts to applications and widgets, which allow users to display live content, such as emails and weather information, directly on the home screen. Applications can further send notifications to the user to inform them of relevant information, such as new emails and text messages.
Android's source code is released by Google under the Apache License this permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Most Android devices ship with a combination of open source and proprietary software.As of July 2013, Android has the largest number of applications available for download in Google Play store which has had over 1 million apps published, and over 50 billion downloads. A developer survey conducted in April–May 2013 found that Android is the most used platform among developers: it is used by 71% of the mobile developers population.
Android is popular with technology companies who require a ready-made, low-cost and customizable operating system for high tech devices. Despite being primarily designed for phones and tablets, it also has been used in televisions, games consoles, digital cameras and other electronics. Android's open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which add new features for advanced users or bring Android to devices which were officially released running other operating systems.
As of May 2012, Android became the most popular mobile OS, having the largest installed base, and is a market leader in most countries including the United States; there it has had the highest installed base of mobile phones for years.In the third quarter of 2013, Android's share of the global smartphone shipment market—led by Samsung products—was 81.3%, the highest ever. In most markets Android-powered phones are the most popular comprising more than half of the overall smartphone sales, including the United States market starting with the September–November 2013 period. The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies. As of September 2013, one billion Android devices have been activated
History
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin , Rich Miner, Nick Sears and Chris White to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences". The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realised that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile. Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.
Google acquired Android Inc. on August 17, 2005; key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move. At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006. The unveiling of the iPhone, a touchscreen-based phone by Apple, on January 9, 2007 had a disruptive effect on the development of Android. At the time, a prototype device codenamed "Sooner" had a closer resemblance to a BlackBerry phone, with no touchscreen, and a physical, QWERTY keyboard. Work immediately began on re-engineering the OS and its prototypes to combine traits of their own designs with an overall experience designed to compete with the iPhone. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Sony and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices. That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6. The first commercially available smartphone running Android was the HTC Dream, released on October 22, 2008.
The main hardware platform for Android is the 32-bit ARMv7 architecture. There is support for x86 from the Android-x86 project and Google TV uses a special x86 version of Android. In 2013, Freescale announced Android on its i.MX processor, i.MX5X and i.MX6X series. In 2012 Intel processors began to appear on more mainstream Android platforms, such as phones.
As of November 2013, current versions of Android require at least 512 MB of RAM, and a 32-bit ARMv7, MIPS or x86 architecture processor together with an OpenGL ES 2.0 compatible graphics processing unit (GPU). Android supports OpenGL ES 1.1, 2.0 and 3.0. Some applications explicitly require certain version of the OpenGL ES, thus suitable GPU hardware is required to run such applications.
Android devices incorporate many optional hardware components, including still or video cameras, GPS, hardware orientation sensors, dedicated gaming controls, accelerometers, gyroscopes, barometers, magnetometers, proximity sensors, pressure sensors, thermometers and touchscreens. Some hardware components are not required, but became standard in certain classes of devices, such as smartphones, and additional requirements apply if they are present. Some other hardware was initially required, but those requirements have been relaxed or eliminated altogether. For example, as Android was developed initially as a phone OS, hardware such as microphones were required, while over time the phone function became optional. Android used to require an autofocus camera, which was relaxed to a fixed-focus camera if it is even present at all, since the camera was dropped as a requirement entirely when Android started to be used on set-top boxes.
The user interface of Android is based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching to manipulate on-screen objects. Internal hardware such as accelerometers, gyroscopes and proximity sensors are used by some applications to respond to additional user actions, for example adjusting the screen from portrait to landscape depending on how the device is oriented. Android allows users to customize their home screens with shortcuts to applications and widgets, which allow users to display live content, such as emails and weather information, directly on the home screen. Applications can further send notifications to the user to inform them of relevant information, such as new emails and text messages.
Android's source code is released by Google under the Apache License this permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers. Most Android devices ship with a combination of open source and proprietary software.As of July 2013, Android has the largest number of applications available for download in Google Play store which has had over 1 million apps published, and over 50 billion downloads. A developer survey conducted in April–May 2013 found that Android is the most used platform among developers: it is used by 71% of the mobile developers population.
Android is popular with technology companies who require a ready-made, low-cost and customizable operating system for high tech devices. Despite being primarily designed for phones and tablets, it also has been used in televisions, games consoles, digital cameras and other electronics. Android's open nature has encouraged a large community of developers and enthusiasts to use the open-source code as a foundation for community-driven projects, which add new features for advanced users or bring Android to devices which were officially released running other operating systems.
As of May 2012, Android became the most popular mobile OS, having the largest installed base, and is a market leader in most countries including the United States; there it has had the highest installed base of mobile phones for years.In the third quarter of 2013, Android's share of the global smartphone shipment market—led by Samsung products—was 81.3%, the highest ever. In most markets Android-powered phones are the most popular comprising more than half of the overall smartphone sales, including the United States market starting with the September–November 2013 period. The operating system's success has made it a target for patent litigation as part of the so-called "smartphone wars" between technology companies. As of September 2013, one billion Android devices have been activated
History
Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin , Rich Miner, Nick Sears and Chris White to develop, in Rubin's words "smarter mobile devices that are more aware of its owner's location and preferences". The early intentions of the company were to develop an advanced operating system for digital cameras, when it was realised that the market for the devices was not large enough, and diverted their efforts to producing a smartphone operating system to rival those of Symbian and Windows Mobile. Despite the past accomplishments of the founders and early employees, Android Inc. operated secretly, revealing only that it was working on software for mobile phones.That same year, Rubin ran out of money. Steve Perlman, a close friend of Rubin, brought him $10,000 in cash in an envelope and refused a stake in the company.
Google acquired Android Inc. on August 17, 2005; key employees of Android Inc., including Rubin, Miner and White, stayed at the company after the acquisition. Not much was known about Android Inc. at the time, but many assumed that Google was planning to enter the mobile phone market with this move. At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel. Google marketed the platform to handset makers and carriers on the promise of providing a flexible, upgradable system. Google had lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part.
Speculation about Google's intention to enter the mobile communications market continued to build through December 2006. The unveiling of the iPhone, a touchscreen-based phone by Apple, on January 9, 2007 had a disruptive effect on the development of Android. At the time, a prototype device codenamed "Sooner" had a closer resemblance to a BlackBerry phone, with no touchscreen, and a physical, QWERTY keyboard. Work immediately began on re-engineering the OS and its prototypes to combine traits of their own designs with an overall experience designed to compete with the iPhone. In September 2007, InformationWeek covered an Evalueserve study reporting that Google had filed several patent applications in the area of mobile telephony.
On November 5, 2007, the Open Handset Alliance, a consortium of technology companies including Google, device manufacturers such as HTC, Sony and Samsung, wireless carriers such as Sprint Nextel and T-Mobile, and chipset makers such as Qualcomm and Texas Instruments, unveiled itself, with a goal to develop open standards for mobile devices. That day, Android was unveiled as its first product, a mobile device platform built on the Linux kernel version 2.6. The first commercially available smartphone running Android was the HTC Dream, released on October 22, 2008.
The main hardware platform for Android is the 32-bit ARMv7 architecture. There is support for x86 from the Android-x86 project and Google TV uses a special x86 version of Android. In 2013, Freescale announced Android on its i.MX processor, i.MX5X and i.MX6X series. In 2012 Intel processors began to appear on more mainstream Android platforms, such as phones.
As of November 2013, current versions of Android require at least 512 MB of RAM, and a 32-bit ARMv7, MIPS or x86 architecture processor together with an OpenGL ES 2.0 compatible graphics processing unit (GPU). Android supports OpenGL ES 1.1, 2.0 and 3.0. Some applications explicitly require certain version of the OpenGL ES, thus suitable GPU hardware is required to run such applications.
Android devices incorporate many optional hardware components, including still or video cameras, GPS, hardware orientation sensors, dedicated gaming controls, accelerometers, gyroscopes, barometers, magnetometers, proximity sensors, pressure sensors, thermometers and touchscreens. Some hardware components are not required, but became standard in certain classes of devices, such as smartphones, and additional requirements apply if they are present. Some other hardware was initially required, but those requirements have been relaxed or eliminated altogether. For example, as Android was developed initially as a phone OS, hardware such as microphones were required, while over time the phone function became optional. Android used to require an autofocus camera, which was relaxed to a fixed-focus camera if it is even present at all, since the camera was dropped as a requirement entirely when Android started to be used on set-top boxes.
Tag :
Android
How to become a Good Programmer
A good programmer is not a word that can find its definition in the dictionary. Good programming skills are essential to success and in discovering the joys of programming. As seen with many successful programmers over the past, here are some points that can be followed by those who are in pursuit of a successful career in programming.
Work on Basics
As it is true for any industry and any job, the conceptual understanding is the key for success. Unless one has strong conceptual foundation, he/she can never be a good programmer. The core conceptual understanding helps you in designing and implementing the best solutions in the best possible way. If still you feel gap in core computer science and your programming language specific concepts, it’s never too late to go back and review the basics.
You learn more by helping others
Most of us have a common tendency of turning our heads towards forums or groups only when we need help. And again a clear separation between the good programmer and rest that the formers visit these places more often to help others. This makes them learn more then they learn getting their problem solved by someone else. Within a team as well, help others to solve their problems. Believe me, understanding others’ problem in their context, investigating on that and providing solutions; will leave you much more learned than before.
Write simple, understandable but logical code
As in almost every aspect of life, the formula of 'Keep it simple and short' works in programming as well. Write more logical code and avoid complexity. Sometimes people do write complex code just to prove their capability to write such codes. My experience says that simple but logical codes always works well, resulted in fewer issues and are more extendable. I remember an excellent quote
Spend more time in analyzing the problem, you’ll need less time to fix it
Spend more time in understanding and analyzing the problem and designing solutions for it. You will find the rest of the things quite easily doable. Designing not always mean using modeling languages and tools, it can be as simple as looking at sky and thinking solution in your mind. Those who have habits of pressing keyboard (for coding) the moment get the problem, usually ended us something different than the requirement.
Be the first to analyze and review your code
Although a bit difficult, but try to break your own code before others can and with the time you will learn to write close-to-bug-free code. Always do a close and unbiased review of your code. Also never hesitate to take others view on your code. Working with good programmers and taking their feedbacks will surely help you become a good programmer.
Don’t dismay yourself by looking at changing technology world
Over these periods in IT industry, I met with many people who are either disappointed by their work or even left it to search new job saying they want to learn and work in latest technologies. I don’t see any problem with this aspiration but the very first incorrect word is the ‘latest technologies’. What we are hearing everyday and mean here is new tools, APIs, frameworks and others means coming up everyday to make the programming easier and quicker. This anyway will continue in technology world. But what needs to be understood is that the core and basic technologies changes with much lesser pace than frameworks, tools and APIs around it. This is like the sea where the surface water moves very rapidly but the deep water is relatively calm and concentrated and most of the aqua lives survive here. So, feel yourself in that deep water and close to core technologies. For e. g. in Java enterprise world, lots of web frameworks exist and new ones coming every other week. But the core concepts of request based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing etc remains same. So spend more time in learning these core concepts rather than worrying about ever changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will always find easier to learn new frameworks, tools and APIs.
Don’t work for longer time
Many times software programmers implement work around solutions (may be because of lack of time, lack of problem understanding or lack of technology experience). But over the period these work around solutions always resulted in corrupting the code, making it less extendible and maintainable and lot of wastage of time later on. Always prefer to implement when you know the in-out of the solution. I understand that it becomes unavoidable in some circumstances, but it’s like, one should speak truth always but you tell lie in some circumstances.
Read documentation
One of the essential habits of good programmer is that they read lots of documentation. May it be specifications, JSR, API documents, tutorials etc. Reading documents helps you creating that essential foundation based on which you program in best of the way.
Learn from others code as well
I interacted with some excellent programmers who actually have java source project inside their IDE all the time and read/refer that in daily work. They do it not only to fulfill their appetite of knowing the basics but also to learn ways of writing good programs. Reading and referring reliable and known open source code or your senior’s code, can also help you making your programming better.
Your comparison of yourself with others will only result in evolution of negative feelings and un-healthy competition. Everyone has got his or her strengths and weaknesses. It is more important that we understand ours and work on it. I have seen many times that so called ‘fundoo-programmers’ (fundamentally strong programmer) also make silly mistakes. So, analyze yourself, list down your areas of improvement and work on it. Programming is a real fun, enjoy it.
Work on Basics
As it is true for any industry and any job, the conceptual understanding is the key for success. Unless one has strong conceptual foundation, he/she can never be a good programmer. The core conceptual understanding helps you in designing and implementing the best solutions in the best possible way. If still you feel gap in core computer science and your programming language specific concepts, it’s never too late to go back and review the basics.
You learn more by helping others
Most of us have a common tendency of turning our heads towards forums or groups only when we need help. And again a clear separation between the good programmer and rest that the formers visit these places more often to help others. This makes them learn more then they learn getting their problem solved by someone else. Within a team as well, help others to solve their problems. Believe me, understanding others’ problem in their context, investigating on that and providing solutions; will leave you much more learned than before.
Write simple, understandable but logical code
As in almost every aspect of life, the formula of 'Keep it simple and short' works in programming as well. Write more logical code and avoid complexity. Sometimes people do write complex code just to prove their capability to write such codes. My experience says that simple but logical codes always works well, resulted in fewer issues and are more extendable. I remember an excellent quote
Spend more time in analyzing the problem, you’ll need less time to fix it
Spend more time in understanding and analyzing the problem and designing solutions for it. You will find the rest of the things quite easily doable. Designing not always mean using modeling languages and tools, it can be as simple as looking at sky and thinking solution in your mind. Those who have habits of pressing keyboard (for coding) the moment get the problem, usually ended us something different than the requirement.
Be the first to analyze and review your code
Although a bit difficult, but try to break your own code before others can and with the time you will learn to write close-to-bug-free code. Always do a close and unbiased review of your code. Also never hesitate to take others view on your code. Working with good programmers and taking their feedbacks will surely help you become a good programmer.
Don’t dismay yourself by looking at changing technology world
Over these periods in IT industry, I met with many people who are either disappointed by their work or even left it to search new job saying they want to learn and work in latest technologies. I don’t see any problem with this aspiration but the very first incorrect word is the ‘latest technologies’. What we are hearing everyday and mean here is new tools, APIs, frameworks and others means coming up everyday to make the programming easier and quicker. This anyway will continue in technology world. But what needs to be understood is that the core and basic technologies changes with much lesser pace than frameworks, tools and APIs around it. This is like the sea where the surface water moves very rapidly but the deep water is relatively calm and concentrated and most of the aqua lives survive here. So, feel yourself in that deep water and close to core technologies. For e. g. in Java enterprise world, lots of web frameworks exist and new ones coming every other week. But the core concepts of request based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing etc remains same. So spend more time in learning these core concepts rather than worrying about ever changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will always find easier to learn new frameworks, tools and APIs.
Don’t work for longer time
Many times software programmers implement work around solutions (may be because of lack of time, lack of problem understanding or lack of technology experience). But over the period these work around solutions always resulted in corrupting the code, making it less extendible and maintainable and lot of wastage of time later on. Always prefer to implement when you know the in-out of the solution. I understand that it becomes unavoidable in some circumstances, but it’s like, one should speak truth always but you tell lie in some circumstances.
Read documentation
One of the essential habits of good programmer is that they read lots of documentation. May it be specifications, JSR, API documents, tutorials etc. Reading documents helps you creating that essential foundation based on which you program in best of the way.
Learn from others code as well
I interacted with some excellent programmers who actually have java source project inside their IDE all the time and read/refer that in daily work. They do it not only to fulfill their appetite of knowing the basics but also to learn ways of writing good programs. Reading and referring reliable and known open source code or your senior’s code, can also help you making your programming better.
Your comparison of yourself with others will only result in evolution of negative feelings and un-healthy competition. Everyone has got his or her strengths and weaknesses. It is more important that we understand ours and work on it. I have seen many times that so called ‘fundoo-programmers’ (fundamentally strong programmer) also make silly mistakes. So, analyze yourself, list down your areas of improvement and work on it. Programming is a real fun, enjoy it.