Android is not Google and Google is not Android anymore?

I like Android a lot. It’s Linux’s biggest end-user success story. Android has great applications. Moreover, Android’s smartphone market-share is growing fast. Eventually Android will become the number one smartphone operating system in the world. If, that is, everything goes right.

Android’s biggest worry is not the iPhone, the Blackberry, or Windows Phone 7; it is that it will fragment into multiple incompatible, brand-specific versions. With a large number of custom versions of the Android platform emerging, the concern is that interoperability will be weakened because of the potential for applications built specifically for one variant or device not being able to work with others.

You see, all the original equipment manufacturers (OEMs), like Motorola and HTC put their own software, Sense UI and Motoblur respectively, on top of Android. Then, all the carriers add their own special-sauce of applications. It can get messy.

If the makers of the number one mobile game in the world are concerned, it’s a real concern. It’s not just a scary story for baby programmers.

Android: in pieces?

If there's one complaint you hear about Google's Android platform, it is about fragmentation. It happens at the device level, the OS level, with the UI, and even with specific apps and services some carriers or manufacturers use. There are plusses and minuses to all of these, and it looks like Google has lost control, ceding the problems to the licensees. Google has almost lost control of Android and has zero chance of regaining it. Android has become something that is independent of Google.

Well there are five axes of fragmentation: Device, OS, User Interface, Marketplace and Services.

For a mobile platform, a different degree of fragmentation can exist along each of these axes. For example, Apple's iOS platform has almost no fragmentation along the Marketplace axis because Apple has been so hardcore about ensuring that the iTunes marketplace is the only marketplace supported. A relatively small amount of fragmentation on the User Interface axis exists because Apple has been extremely consistent with UI. Likewise, there is a bit of device fragmentation in iOS due to different generations of iPhones having different hardware capabilities (such as a front-facing camera).

The fragmentation of Android is severe, across all of these axes, regardless of how Google’s Eric Schmidt tries to spin it. In addition, because of the complexity of the mobile ecosystem (and the other ecosystems Android is part of), the effect is more multiplicative than additive.

Google's options: Google has some tactics that it might try (is trying) to use to rein in fragmentation. Like investing in the Nexus brand as Nexus is Google's "pure" Android play, Holding Back Access to the Latest Version of Android. However, none of these will have a significant impact; in fact, most will make fragmentation worse.

If you do not feel so good about so called fragmentation, check out - Google TV. Remember, Android is not just about mobile…

Tablet Buying Guide for 2012

So you’re looking to buy a tablet. The good news is that this is the most exciting time yet for the form factor, with exciting and competitive products available or coming soon from Google, Amazon, Microsoft, and Apple. The bad news, of course, is that all this choice makes buying decisions that much harder. Let’s take a closer look at each of the major players. Here’s our tablet buying guide for summer 2012.


No need to describe this one for you. For the time being, the iPad still dominate the tablet field. It commands the most apps and, in its newest generation, an absurdly high-resolution display. Bluetooth and software like Pages, GarageBand, and iMovie make it a device for both creation and consumption (though it’s still a bit awkward to pair with a keyboard). If you know someone with a tablet, it’s probably an iPad.

Here are the three most important questions, then: Do you enjoy or prefer iOS? Are you willing to pay at least $400? And do you want a 10-inch tablet? If you answered yes to all of these, you’re probably in the market for an iPad. One caveat, though: Bloomsberg and the Wall Street Journal are reporting that Apple is putting a new, smaller iPad into production, likely for release this fall. Most tech pundits predict that the product will feature a 7.8 inch screen to allow for easy scaling of apps, and that Apple will shoot for a price range between $200 and $300. If you’re intrigued by the thought of a smaller, cheaper iPad, and you’re not necessarily looking to buy something right this minute, it might be worth waiting a couple months.


Google Nexus 7

Google made waves in tech circles with the unveiling of the Nexus 7 at its I/O event. This 7-inch, $200 tablet features Jelly Bean, the newest and smoothest iteration of Android yet, and it’s pretty much fully-featured: GPS (with the ability to download Google Maps to the device), Bluetooth, and elegant design. The base model comes with 8 GB of storage, and for another fifty bucks you can upgrade to 16 GB.
It’s available now, and if you enjoy or prefer Android, this is probably your safest bet — since Google is selling these tablets at cost, you’re unlikely to see another similarly high-end device for this price in the near future. Moreover, Android’s getting more and more popular, premium apps such as Flipboard, Instapaper, and Temple Run. There’s no longer much reason to covet your iPad-owning neighbor’s app selection.



Amazon Kindle Fire

At this point, there’s virtually no reason to buy a Fire, even if you’re in love with the UI or the brand. Rumor has it that Amazon will announce a new model (or two) this summer, perhaps in the next few weeks, so even if you’re a Fire devotee, you’ll want to wait a bit. In the meantime, you won’t have any problem using the full Amazon infrastructure on a Nexus 7, including both Kindle books and Amazon-curated apps.




Microsoft Surface

In a lot of ways, this is the big question mark in the tablet market. Microsoft’s Surface makes a lot of bold moves — by running Windows 8, it’ll command a software library arguably much larger and more flexible, especially for creative work, than the iPad. Its magnetic foldout cover/keyboard may finally make the tablet a total laptop replacement. But without a firm release date, price point, or hands-on demonstration, waiting for the Surface could be a gamble. It looks like a truly exciting game-changer, but we might not see it until late 2012.


Overall Verdict

Everyone’s tablet needs/wants are a little different, but for the general buyer, I’d recommend waiting a couple weeks, both to see if Amazon makes any announcements and to see how customers receive the Nexus 7. Barring any nasty surprises (or competitive new products in the Kindle line), go with the Nexus.

How to hack a computer with IP address

There are plenty of papers out there that go into how to obtain an IP Address from the preferred mark of your choice. So I’m not going to go into that subject. Alright so say we got the targets IP Address finally. What do we do with this IP Address. Well first ping the IP Address to make sure that its alive. In other words online. Now at the bottom of this document I have included some links where you can obtain some key tools that may help on your journey through the electronic jungle. So we need to find places to get inside of the computer so we can start trying to find a way to “hack” the box. Port Scanners are used to identify the open ports on a machine that’s running on a network, whether its a router, or a desktop computer, they will all have ports. Protocols use these ports to communicate with other services and resources on the network.

1) Blues Port Scanner
This program will scan the IP address that you chose and identify open ports that are on the target box.

Example 1:

Idlescan using Zombie (; Class: Incremental
Interesting ports on
(The 65522 ports scanned but not shown below are in state: closed)
Port State Service
21/tcp open ftp
25/tcp open smtp
80/tcp open http
111/tcp open sunrpc
135/tcp open loc-srv
443/tcp open https 1027/tcp open IIS
1030/tcp open iad1
2306/tcp open unknown
5631/tcp open pcanywheredata
7937/tcp open unknown
7938/tcp open unknown
36890/tcp open unknown

In example 1 now we see that there are a variety of ports open on this box. Take note of all the ports that you see listed before you. Most of them will be paired up with the type of protocol that uses that port (IE. 80-HTTP, 25-SMTP,  and so on…) Simply take all that information and paste it into notepad or the editor of your choice. This is the beginning of your targets record. So now we know what ports are open. These are all theoretical points of entry where we could wiggle into the computer system. But we all know its not that easy. Alright so we don’t even know what type of software or what operating system that this system is running.

2) NMAP – Port Scanner

Has unique OS fingerprinting methods so when the program sees a certain series of ports open it uses its best judgement to guess what operating system its running. Generally correct with my experiences.

So we have to figure out what type of software this box is running if we are gonna start hacking the thing right? Many of you have used TELNET for your MUDS and MOOS and weird multiplayer text dungeons and many of you haven’t even heard of it before period. TELNET is used to open a remote connection to an IP Address through a Port. So what that means is we are accessing their computer from across the internet, all we need is their IP Address and a port number. With that record you are starting to compile, open a TELNET connection to the IP Address and enter one of the OPEN ports that you found on the target.
So say we typed ‘TELNET -o 25′ This command will open up a connection through port 25 to the IP Now you may see some text at the very top of the screen. You may think, well what the hell, how is that little string of text going to help me. Well get that list you are starting to write, and copy the banners into your compilation of the information youve gathered on your target. Banners/Headers are what you get when you TELNET to the open ports. Heres an example of a banner from port 25.

220 ESMTP Sendmail 8.12.8/8.12.8; Fri, 7 Oct 2011 01:22:29 -0400

Now this is a very important part in the enumeration process. You notice it says ‘Sendmail 8.12.8/8.12.8′
Well what do you guess? we now have discovered a version number. This is where we can start identifying the programs running on the machine. There are some instances in which companies will try and falsify their headers/banners so hackers are unable to find out what programs are truly installed.

3) Netcat – Network swiss army knife
Like TELNET only better and with a lot more functionality. Both can be used when you are trying to fingerprint software on open ports.

Now just copy all the banners from all the open ports (Some Ports May Have No Banners) and organize them in the little record we have of the target. Now we have all the open ports, and a list of the programs running and their version numbers. This is some of the most sensitive information you can come across in the networking world.
Other points of interest may be the DNS server, that contains lots of information and if you are able to manipulate it than you can pretend to be gmail, and hack a bunch of people’s email. Well now back to the task at hand. Apart from actual company secrets and secret configurations of the network hardware, you got some good juicy info. is a very good resource for looking up software vulnerabilities.
If you cant find any vulnerabilities there, search on google. There are many, many, many other sites that post vulnerabilities that their groups find and their affiliates.

At SecurityFocus you can search through vendor and whatnot to try and find your piece of software, or you can use the search box. When i searched SecurityFocus i found a paper on how Sendmail 8.12.8 had a buffer overflow. There was proof of concept code where they wrote the shellcode and everything, so if you ran the code with the right syntax, a command prompt would just spawn. You should notice a (#) on the line where your code is being typed. That pound symbol means that the command prompt window thats currently open was opened as root. The highest privilege on a UNIX/Linux Box. You have just successfully hacked a box. Now that you have a command shell in front of you, you can start doing whatever you want, delete everything if you want to be a fucking jerk, however I don’t recommend that.
Maybe leave a text file saying how you did it and that they should patch their system…..whoever they are. And many times the best thing you can do is just lay in the shadows, don’t let anyone know what you did. More often than not this is the path you are going to want to take to avoid unwanted visits by the authorities.

There are many types of exploits out there, some are Denial of Service exploits, where you shut down a box, or render an application/process unusable. Called denial of service simply because you are denying a service on someones box to everyone trying to access it.
Buffer Overflow exploits are involved when a variable inside some code doesn’t have any input validation. Each letter you enter in for the string variable will be 1 byte long. Now where the variables are located at when they are in use by a program is called the buffer. Now what do you think overflowing the buffer means. We overflow the buffer so we can get to a totally different memory address. Then people write whats called shellcode in hex. This shellcode is what returns that command prompt when you run the exploit. That wasnt the best description of a buffer overflow, however all you need to remember is that garbage data fills up the data registers so then the buffer overflows and allows for remote execution of almost every command available. There are many, many other types of attacks that cannot all be described here, like man-in-the-middle attacks where you spoof who you are.
Performed correctly, the victim will enter and his connection will be redirected to your site where you can make a username and password box, make the site look legit. And your poor mark will enter their credentials into your site, when they think its really You need to have a small script set up so it will automatically display like an error or something once they try and log in with their credentials. This makes it seem like the site is down and the victim doesn’t give it a second thought and will simply try again later.
Such an attack is popularly known as “Phishing”

So as a summary of how to own a box when you only have an IP Address
Method Works On BOTH Unix and Windows Boxes

You can do the same with domain names (for example than what you can with IP Addresses. Run a WHOIS Lookup or something along those lines. Or check up on InterNIC you should be able to resolve the domain name to an IP address. Then follow the usual attack.

    Run a Port Scan the IP Address And Record Open Ports
    Telnet To Open Ports To Identify Software Running On Ports

    Records Banners And Take Note Of The Application Running and The Version Number
    Take a glance at or If you cant find any vulnerabilities then search google.
    Make a copy of some Proof-Of-Concept code for the vulnerability.

This document does not go into covering your tracks. If you dare try any of this stuff on a box you don’t have consent to hack on, They will simply look at the logs and see your IP Address and then go straight to your ISP.


The Ultimate Quick CSS Guide

CSS – Cascading Style Sheets, the hidden heroes of the world wide web. These unsung heroes take a plain page of text and turn it into visually stimulating, aesthetically pleasing works of textual art. But what exactly is CSS and how do you use it? 

You needn't head off to Amazon or your local bookstore to drop $50 on a massive tome that will give you back problems. There's a very structured logic behind CSS and you can learn some of the basics in just a matter of minutes. While the scope of this guide will not give you magical powers over the layouts of your pages and allow you to make the most intricate and complex pages available today, it will certainly get you on your way.

The cascading part of the CSS is one of the most important. It means that instead of editing each and every page on your website manually to give them flair and style, you simply point them all to the style sheet and have them incorporate the styles. It has been one of the most important additions to HTML over recent years.

CSS Structure
First let's look at a very quick CSS section to get a feel for the structure of CSS and to see how it looks and what it means:


CSS is made of 3 pieces a selector, in the example p for paragraph, the logical grouping on the HTML page. The second piece is property in the example text-align, color and font-family are all properties of the selector. The final piece is the value which is center, black and arial in the example. The standard format is Selector {property:value;} Each property must be paired with a value and closed with a semi colon. Each group of properties must be enclosed in curly brackets and the selector must be placed directly before the properties.

Every element on a web page can generally be styled in some way, whether it's where it shows up on the page, what color the text or the background is or what size. Here is a list of the most common and useful CSS elements that generally show up in every page of text:

Basic Concepts

Property Description
Grouping Multiple selectors separated by commas. Allows for assignment of properties to elements (selectors). H1, H2, H3, H5 { color: blue;}
Contextual selectors One or more selectors H1 B {text-decoration: underline;} Bold Header 1 will be underlined as well.
(tag attribute)
A class selector is a name preceded by a period. Do not use the period when referencing the class. Called by using the class= attribute. Do not begin a class name with a number
.CSSguide {color: blue;}
>This is blue.
(tag attribute)
An ID selector is preceded by a hash mark (#), and is called using the ID= attribute. The hash mark does not appear in the value of ID. Works like the class selector except that the ID can be used only once in the document.
#Once {color: red;}
>This can only be used once.
Anything between /* and */ will be a comment and have no effect on the page. Used to document changes etc. /* This is a comment. */
DIV and SPAN tags
A Div is a block where the content within can all be styled at once


SPAN is used for inline formatting inside of another styled element like a paragraph
This is blue in a regular paragraph
Many properties can accept a shorthand list of values. Values are read from the top clockwise.
DIV { padding: 5px 10px 5px 10px }
is the same as:
DIV { padding-top:5px; padding-right:10px;
padding-bottom:5px; padding-left:10px }

Background Properties

Sets any background properties in one selector.
Sets whether a background image is stationary or scrolls with the page.
Sets the background color of a selector. Accepts HTML color names and Hex Color code i.e. #ffffff
Sets the background image for a selector
Sets the starting position of a background image in pixels
Sets if a background image will repeat horizontally, vertically or not at all.
Border and Outline Properties
Sets all the border values in one property declaration
Sets all the bottom border values in one property declaration
Sets the color of the bottom border
Sets the style of the bottom border
Sets the width of the bottom border
Sets the color of the four borders
Sets all the left border values in one property declaration
Sets the color of the left border
Sets the style of the left border
Sets the width of the left border
Sets all the right border properties in one property declaration
Sets the color of the right border
Sets the style of the right border
Sets the width of the right border
Sets the style of the four borders
Sets all the top border properties in one property declaration
Sets the color of the top border
Sets the style of the top border
Sets the width of the top border
Sets the width of the four borders
Sets all the outline properties in one property declaration
Sets the color of an outline
Sets the style of an outline
Sets the width of an outline
Font Properties
Property to choose specific fonts from generic families: serif, sans-serif, monospace, cursive and fantasy. Selector {font-family: "Courier New”, serif;} Can be applied to any text Selector.
Selects between italic and normal. Selector {font-style: italic;}
Choice of two values: small-caps and normal. Allows for special formatting, will probably expand eventually beyond just 2 choices. Selector {font-variant: small-caps;}
Values are: bold, normal, lighter, bolder and numeric values 100-900. Selector {font-weight: 700;}
Sets the absolute size (pt, in, cm, px), relative size (em, ex), or percentage of normal size.
Can be size: xx-large, x-large, large, medium, small, x-small, xx-small, larger, smaller or numeric value. Selector {font-size: 200%;} Selector {font-size: 36pt;} Selector {font-size: x-large;}
Sets all font values in one property declaration. Best order of values is
font {font-style font-variant font-weight font-size/line-height font-family;}. Not all are necessary Selector {font: bold 16pt “Times New Roman”;}
Dimension Properties
height Sets the height of a selector
max-height Sets the maximum height of a selector
max-width Sets the maximum width of a selector
min-height Sets the minimum height of a selector
min-width Sets the minimum width of a selector
width Sets the width of a selector
List Properties
list-style Sets all the properties for a list in one property declaration
list-style-image Specifies an image as the list-item marker
list-style-position Specifies where to place the list-item marker
list-style-type Specifies the type of list-item marker
Margin Properties
margin Sets all the margin properties in one property declaration
margin-bottom Sets the bottom margin of a selector
margin-left Sets the left margin of a selector
margin-right Sets the right margin of a selector
margin-top Sets the top margin of a selector
Padding Properties
padding Sets all the padding properties in one property declaration
padding-bottom Sets the bottom padding of a selector
padding-left Sets the left padding of a selector
padding-right Sets the right padding of a selector
padding-top Sets the top padding of a selector
Positioning Properties
bottom Sets the bottom margin edge for a positioned selector
clear Whether a selector allows floating elements on the sides or not.
cursor Specifies the type of cursor to be displayed i.e. crosshair, help, wait
display Specifies the type of box a selector should generate
float Specifies whether or not a box should float
left Sets the left margin edge for a positioned box
overflow Specifies what happens if content overflows a selector's box
position Specifies the type of positioning for a selector
right Sets the right margin edge for a positioned box
top Sets the top margin edge for a positioned box
visibility Specifies whether or not a selector is visible
z-index Sets the stack order of a selector like layers above or below others.

For further information there are a great amount of resources online including those that were drawn upon for this article.