Wednesday 5 March 2014

Head First Android Development

Book Description

Android devices are stealing market share from the iPhone with dramatic speed, and you have a killer app idea. Where to begin? Head FirstAndroid Development will help you get your first application up and running in no time with the Android SDK and Eclipse plug-in. You'll learn how to design for devices with a variety of different screen sizes and resolutions, along with mastering core programming and design principles that will make your app stand out.

Whether you're a seasoned iPhone developer who wants to jump into the the Android Market, or someone with previous programming skills but no mobile apps in your resume, this book offers a complete learning experience for creating eye-catching, top-selling Android applications.

Book Details

Publisher:O'Reilly Media
By:Jonathan Simon
ISBN:978-1-4493-9330-4
Year:
Pages:608
Language:English
File size:48.5 MB
File format:PDF

eBook

Download:Head First Android Development

Paper Book

Buy:Head First Android Development

Monday 3 March 2014

How To Set Up SSH Keys

About SSH Keys


SSH keys provide a more secure way of logging into a virtual private server with SSH than using a password alone. While a password can eventually be cracked with a brute force attack, SSH keys are nearly impossible to decipher by brute force alone. Generating a key pair provides you with two long string of characters: a public and a private key. You can place the public key on any server, and then unlock it by connecting to it with a client that already has the private key. When the two match up, the system unlocks without the need for a password. You can increase security even more by protecting the private key with a passphrase.

Step One—Create the RSA Key Pair


The first step is to create the key pair on the client machine (there is a good chance that this will just be your computer):
ssh-keygen -t rsa

Step Two—Store the Keys and Passphrase


Once you have entered the Gen Key command, you will get a few more questions:
Enter file in which to save the key (/home/demo/.ssh/id_rsa):

You can press enter here, saving the file to the user home (in this case, my example user is called demo).
Enter passphrase (empty for no passphrase):

It's up to you whether you want to use a passphrase. 

Entering a passphrase does have its benefits: the security of a key, no matter how encrypted, still depends on the fact that it is not visible to anyone else. Should a passphrase-protected private key fall into an unauthorized users possession, they will be unable to log in to its associated accounts until they figure out the passphrase, buying the hacked user some extra time. The only downside, of course, to having a passphrase, is then having to type it in each time you use the Key Pair. 

The entire key generation process looks like this:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

The public key is now located in /home/demo/.ssh/id_rsa.pub 

The private key (identification) is now located in /home/demo/.ssh/id_rsa 

Step Three—Copy the Public Key


Once the key pair is generated, it's time to place the public key on the virtual server that we want to use. 

You can copy the public key into the new machine's authorized_keys file with the ssh-copy-id command. Make sure to replace the example username and IP address below.
ssh-copy-id user@123.45.56.78

Alternatively, you can paste in the keys using SSH:
cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "cat >> ~/.ssh/authorized_keys"

No matter which command you chose, you should see something like:
The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
user@12.34.56.78's password: 
Now try logging into the machine, with "ssh 'user@12.34.56.78'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Now you can go ahead and log into user@12.34.56.78 and you will not be prompted for a password. However, if you set a passphrase, you will be asked to enter the passphrase at that time (and whenever else you log in in the future).

Optional Step Four—Disable the Password for Root Login

Once you have copied your SSH keys unto your server and ensured that you can log in with the SSH keys alone, you can go ahead and restrict the root login to only be permitted via SSH keys.

In order to do this, open up the SSH config file:
sudo nano /etc/ssh/sshd_config

Within that file, find the line that includes PermitRootLogin and modify it to ensure that users can only connect with their SSH key:
PermitRootLogin without-password

Put the changes into effect:
reload ssh

Digital Ocean Addendum


The Digital Ocean control allows you to add public keys to your new droplets when they're created. You can generate the SSH Key in a convenient location, such as the computer, and then upload the public key to the SSH key section.

Then, when you create a new VPS, you can choose to include that public key on the server. No root password will be emailed to you and you can log in to your new virtual private server from your chosen client. If you created a passphrase, you will be prompted to enter that upon login.

Saturday 1 March 2014

What is Cloud Hosting?

Cloud hosting describes a method of configuring servers in a flexible way
to allow for the most affordable, scalable, and reliable web infrastructure.
Cloud hosting is...
Simple (or at least it should be!)
Our cloud servers launch in under one minute. This lets you focus on delivering content instead of server setup. An intuitive user interface makes controlling servers quick and easy—securing data, resizing servers, and creating new servers takes only a few clicks.


Affordable
Cloud hosting only charges people for the resources they use. Hosting costs are measured per hour to provide the most control over the hosting budget. Additionally, DigitalOcean offers affordable bandwidth pricing, ensuring that sudden traffic spikes do not drive up the monthly bill.
Scalable
Cloud servers scale with incredible speed. You can expand or reduce servers in seconds to ensure that the server keeps up with demand without wasting money on unnecessary resources. Adding new servers or upgrading current offerings is a click away—no complicated architecture required.




Reliable
Cloud hosting is more reliable than shared hosting, where issues in one account may spill over into other sites on the same physical server. Cloud hosting isolates each server, ensuring that possible stress on one does not affect another server’s performance.


Customizable
Cloud hosting lets you customize your server. When spinning up a cloud server, you can specify the server’s processing power, location, and operating system, as well as configure the server itself to present your content in the best possible way.
Secure
Cloud hosting keeps your content safe. By distributing server data across redundant servers, information hosted in the cloud is protected against hardware failure. Automated backups and snapshots ensure that server content stays safe and up-to-date.

Friday 28 February 2014

Debian 7: System Administration Best Practices

Book Description

Debian is one of the most popular Linux-based operating systems, with over 37 thousand software packages available in several architectures. Debian 7 is the latest version of this universal operating system and provides the foundation for thousands of web servers. It is easy to install, stable, and provides mechanisms for system security.

Debian 7: System Administration Best Practices provides valuable background information, tips, and advice on the major areas of installing, maintaining, and administering Debian Linux, from single systems to clusters. Learn what makes Debian the most stable and popular Linuxdistribution for Internet sites.

Book Details

Publisher:Packt Publishing
By:Rich Pinkall Pollei
ISBN:978-1-78328-311-8
Year:
Pages:124
Language:English
File size:1.8 MB
File format:PDF

eBook

Download:Debian 7: System Administration Best Practices

Paper Book

Buy:Debian 7: System Administration Best Practices

Online Book

Read:Debian 7: System Administration Best Practices

Wednesday 26 February 2014

Instant Ubuntu>Your complete guide to making the switch to Ubuntu

Book Description

Ubuntu is widely considered the worlds' most popular Linux distribution. Focusing on simplicity and ease of use, it provides an intuitive desktop environment suitable even for the novice user. Built by a worldwide team of developers, Ubuntu provides a welcoming approach to software.

Instant Ubuntu will guide you through the steps required to begin using the Ubuntu Linux distribution on your desktop or laptop. This book provides a guided tour of the installation, followed by an overview of the desktop environment, and an introduction to all of the top applications.

Book Details

Publisher:Packt Publishing
By:Christer Edwards
ISBN:978-1-78328-087-2
Year:
Pages:54
Language:English
File size:2.3 MB
File format:PDF

eBook

Download:Instant Ubuntu

Paper Book

Buy:Instant Ubuntu

Online Book

Read:Instant Ubuntu

Monday 24 February 2014

Java Network Programming, 4th Edition


Book Description

This practical guide provides a complete introduction to developingnetwork programs with Java. You'll learn how to use Java's network class library to quickly and easily accomplish common networking tasks such as writing multithreaded servers, encrypting communications, broadcasting to the local network, and posting data to server-side programs.

Author Elliotte Rusty Harold provides complete working programs to illustrate the methods and classes he describes. This thoroughly revised fourth edition covers REST, SPDY, asynchronous I/O, and many other recent technologies.

Book Details
Publisher: O'Reilly Media
By: Elliotte Rusty Harold
ISBN: 978-1-44935-767-2
Year: 2013
Pages: 502
Language: English
File size: 9.1 MB
File format: PDF

eBook
Download: Java Network Programming, 4th Edition

Paper Book
Buy: Java Network Programming, 4th Edition

Online Book
Read: Java Network Programming, 4th Edition

Saturday 22 February 2014

Python Data Visualization Cookbook

Book Description

Today, data visualization is a hot topic as a direct result of the vast amount of data created every second. Transforming that data into information is a complex task for data visualization professionals, who, at the same time, try to understand the data and objectively transfer that understanding to others. This book is a set of practical recipes that strive to help the reader get a firm grasp of the area of data visualization using Python and its popular visualization and data libraries.

Python Data Visualization Cookbook will progress the reader from the point of installing and setting up a Python environment for data manipulation and visualization all the way to 3D animations using Python libraries. Readers will benefit from over 60 precise and reproducible recipes that guide the reader towards a better understanding of data concepts and the building blocks for subsequent and sometimes more advanced concepts.

Book Details

Publisher:Packt Publishing
By:Igor Milovanovic
ISBN:978-1-78216-336-7
Year:
Pages:280
Language:English
File size:15.8 MB
File format:PDF

eBook

Download:Python Data Visualization Cookbook

Paper Book

Buy:Python Data Visualization Cookbook

Online Book

Read:Python Data Visualization Cookbook