Packt Open Source
Packt Open Source books
Packt Open Source books will continue to be built around the “community experience distilled” motto, focussing on taking real advice from the community around projects, and refining and distilling it into easy to follow specialist information.
Through this, the Open Source Royalty Scheme will continue to support open source projects, offering a royalty for the sale of each book to the project on which that book was written.
Believe in Open Source
Open Source Awards
The Open Source Awards is an annual online event held by Packt Publishing to distinguish excellence among Open Source projects. We aim to play our part in the growth of Open Source software and see the annual Award as the ultimate platform for not only appreciating the great things projects have given back to the community but also supporting projects who have future potential to change things for the better.
Open Source Project Royalty Scheme
Packt believes in open source and helping to sustain and support its unique projects and communities. Therefore, when we sell a book written on an open source project, we pay a royalty directly to that project. As a result of purchasing one of our Open Source books, Packt will have given some of the money received to the Open Source project.
In the long term, we see ourselves and yourselves, as customers and readers of our books, as part of the Open Source ecosystem, providing sustainable revenue for the projects we publish on. Our aim at Packt is to establish publishing royalties as an essential part of the service and support business model that sustains open source.
To read up on the projects that are supported by the Packt Open Source Project Royalty Scheme, click the appropriate categories below:
Content Management System (CMS)
Latest Articles
Loading, Submitting, and Validating Forms using Ext JS 4
Ext JS 4 is Sencha’s latest JavaScript framework for developing cross-platform web applications. Built upon web standards, Ext JS provides a comprehensive library of user interface widgets and data manipulation classes to turbo-charge your application’s development.
In this article, written by Stuart Ashworth and Andrew Duncan, the authors of Ext JS 4 Web Application Development Cookbook, we will cover:
- Constructing a complex form layout
- Populating your form with data
- Submitting your form's data
- Validating form fields with VTypes
- Creating custom VTypes
- Uploading files to the server
- Handling exceptions and callbacks
Infinispan Data Grid: Infinispan and JBoss AS 7
The Infinispan data grid platform is an open source data grid solution written in Java, providing features such as large data sets, heterogeneity, scalability, and much more. The Infinispan API is also embedded into the latest release of JBoss Application Server (7.1 at the time of writing).
In this article by Manik Surtani and Francesco Marchioni, the authors of Infinispan Data Grid Platform, we will cover the following topics:
- At first we will shortly introduce shortly the new application server platform
- Next we will show how you can configure and develop applications using Infinispan API on a JBoss AS 7 server
Read Infinispan Data Grid: Infinispan and JBoss AS 7 in full
HBase Administration, Performance Tuning
Performance is one of the most interesting characteristics of an HBase cluster's behavior. It is a challenging operation for administrators, because performance tuning requires deep understanding of not only HBase but also of Hadoop, Java Virtual Machine Garbage Collection (JVM GC), and important tuning parameters of an operating system.
The structure of a typical HBase cluster is shown in the following diagram:
There are several components in the cluster—the ZooKeeper cluster, the HBase master node , region servers, the Hadoop Distributed File System(HDFS) and the HBase client.
The ZooKeeper cluster acts as a coordination service for the entire HBase cluster, handling master selection, root region server lookup, node registration, and so on. The master node does not do heavy tasks. Its job includes region allocation and failover, log splitting, and load balancing. Region servers hold the actual regions; they handle I/O requests to the hosting regions, flush the in-memory data store (MemStore) to HDFS, and split and compact regions. HDFS is the place where HBase stores its data files (StoreFile) and write ahead logs (WAL). We usually have an HBase region server running on the same machine as the HDFS DataNode, but it is not mandatory.
The HBase client provides APIs to access the HBase cluster. To communicate with the cluster, clients need to find the region server holding a specific row key range; this is called region lookups. HBase has two system tables to support region lookups—the -ROOT- table and the .META. table.
The -ROOT-table is used to refer to regions in the .META.table, while the .META.table holds references to all user regions. First, the clients query ZooKeeper to find the -ROOT-table location (the region server where it is deployed); they then query the -ROOT-table, and subsequently the .META.table, to find the region server holding a specific region. Clients also cache region locations to avoid querying ZooKeeper, -ROOT-, and .META.tables every time. With this background knowledge, we will describe how to tune HBase to gain better performance, in this article.
Besides HBase itself, other tuning points include Hadoop configurations, the JVM garbage collection settings, and the OS kernel parameters. These are as important as tuning HBase itself. We will also include recipes to tune these configurations, in this article.
In this article, by Yifeng Jiang, author of HBase Administration Cookbook, we will cover:
- Setting up Hadoop to spread disk I/O
- Using a network topology script to make the Hadoop rack-aware
- Mounting disks with noatimeand nodiratime
- Setting vm.swappinessto 0 to avoid swap
- Java GC and HBase heap settings
- Using compression
- Managing compactions
- Managing a region split
Mastering the Newer Prezi Features
Prezi is a tool for delivering presentations in a linear or non-linear format. This cloud-based software enables users to structure presentations on an infinite canvass in a way that is much more engaging and visually stimulating to the audience.
In this article by Russell Anderson-Williams, author of Mastering Prezi for Business Presentations, we'll cover:
- Templates
- Shapes
- Drawings
- Text editor
- The plus button
- Grouping
- The play button
Installing and Configuring Drupal
Drupal 7 is a modern Content Management System famed for its flexibility and power. Using Drupal you can easily create custom functionality that would otherwise have to be purchased in many of the other leading CMSs
In this article by Dylan James, author of the book Drupal 7 Cookbook, we will explore the process of setting up a Drupal website. We will see how to install the offcial Drupal 7 release and also how to install third-party Drupal distributions which are preconfigured in a variety of ways.
Following the installation, we will move on to the installation of third-party modules and then how your site can be configured to provide a site search form.
The article culminates with a recipe on setting up Drupal multi-site where two Drupal sites are configured to run from the same core files.
Read Installing and Configuring Drupal in fullUnity 3.x Scripting-Character Controller versus Rigidbody
Character controller is extremely important part of any game. Essentially, it allows us to interact with it, control our alter-ego, shoot, explore, and do all kinds of crazy stuff. Most common character controller is humanoid, in general it needs to know how to walk, run, jump, attack, it needs to camera rig that will be accompanying it throughout play. All these actions need to be supported on a programming level and we will look into a way that it can be done in Unity. This article by Volodymyr Gerasimov and Devon Kraczla, the authors of the Unity 3.x Scripting, will help you to:
- Learn Character Controller versus Rigidbody – pros and cons
- Teach player-controlled character walk, run, jump, and shoot
- Program camera controls and switching between different camera types with a press of a single button
- Learn script animations to follow character's actions
Android Database Programming: Binding to the UI
As mobile developers, our applications will need to both aesthetically display the results of our data queries, as well as give users an intuitive interface to store and insert data.
In this article by Jason Wei, author of Android Database Programming, we will focus on the former – on binding data to the user interface (UI) and will look specifically at various classes that will allow us to bind our data in the form of lists (the most common and intuitive way to display rows of data).
Read Android Database Programming: Binding to the UI in fullConstruct Game Development: Platformer Revisited, a 2D Shooter
Construct Classic is a free, DirectX 9 game creator for Windows, designed for 2D games. Construct Classic uses an event-based system for defining how the game behaves, in a visual, human-readable way - you don't need to program or script anything at all. It's intuitive for beginners, but powerful enough for advanced users to work without hindrance. You never know when you’ll need a helping hand exploring its inner workings, or harnessing its raw power to do your bidding.
In this aticle by Daven Bigelow author of Construct Game Development Beginner's Guide, we shall:
- Learn how to make a two-player platformer
- Learn how to make objects shoot projectiles and create muzzle flashes
Understanding the True Security Posture of the Network Environment being Tested
There is a good possibility that your potential clients will not understand the benefits of performing a full penetration test. Simply enumerating the known vulnerabilities in a network environment is not suffcient to truly understand the effectiveness of the corporation's combined security controls; we need to prove that the vulnerabilities found have a potential to impact the bottom line. After all, this is what your clients need to know and understand about their environment.
In this article by Lee Allen, author of the book Advanced Penetration Testing for Highly-Secured Environments: The Ultimate Security Guide, we will review some interesting techniques and methods that will let us understand the true security posture of the network environment we are testing.Items of interest discussed in this article include the following:
- Transferring files to and from the victim machine
- Password cracking with John the Ripper
- Brute forcing with THC Hydra
- Metasploit—learn it and love it
Supporting hypervisors by OpenNebula
OpenNebula is one of the most advanced and highly scalable open source cloud computing toolkits. If you ever wanted to understand what Cloud Computing is and how to realise it, this is your way.
This article, by Giovanni Toraldo author of OpenNebula 3 Cloud Computing, guides you through the various hypervisors which are supported by OpenNebula. We will cover the following topics in this article:
- Configuring hosts
- Configuring sudo
- Configuring network bridges
- Managing hosts in OpenNebula
- Networking drivers
- KVM installation
- Xen installation
- Installing on Debian Squeeze through standard repositories
- Installing Xen through sources
- Installing VMware ESXi
- Installing Libvirt with ESX support
Read Supporting hypervisors by OpenNebula in full