Providing context using Custom Text in UPK 3.5
The easiest and simplest way to add value to your Topics is to make good use of Custom Text in the Bubbles. In this article by Dirk Manuel, we will simply look at what you can (and should) do with Custom Text.
Read Providing context using Custom Text in UPK 3.5 in fullPublic Key Infrastructure (PKI) and other Concepts in Cryptography for CISSP Exam
Cryptography is an art, as well as a science, that involves the process of transforming plaintext into scrambled text and vice-versa. The purpose of cryptography is to conceal the confidential information from unauthorized eyes and ensure immediate detection of any alteration made to the concealed information.
It is one of the most important domains in the CISSP (Certified Information System Security Professional) examination. This domain includes important concepts which are the fundamental building blocks for information security.
In this article by M.L.Srinivasan, we will discuss about Public Key Infrastructure (PKI) that uses the concepts of public key cryptography. We'll also review some of the important key management techniques, the various attacks on cryptographic systems, and conclude by reviewing some of the published cryptographic standards.
Read Public Key Infrastructure (PKI) and other Concepts in Cryptography for CISSP Exam in fullPublishing the project in various formats using Adobe Captivate 6
In this article by Damien Bruyndonckx, author of Mastering Adobe Captivate 6, we will focus on making the project available to the outside world by publishing it in various formats.
Publishing the movie is the process by which we make our Captivate projects available to the outside world. Most of the time, we'll publish our movies in the Adobe Flash format or in the HTML5 format so that any student can enjoy the content of our online course across devices. However, Captivate can also publish the movie in many other formats
Publishing
So far, we have been working in a .cptx file, which is the default native file type of Captivate. The .cptx file format is great when creating and designing our projects, but it has two major disadvantages:
- It can become very large. Consequently, it is diffcult for us to upload the file on a website and for the student to download and view it.
- Opening a .cptx file requires Captivate to be installed on the computer system.
Publishing a Captivate movie is converting (the proper word is Compiling) the .cptx file to a format that can be easily downloaded and viewed by our students. The primary format to publish our projects is the .swf format . swf (pronounced swif) stands for ShockWave Flash. It is the file format used by the free Adobe Flash player plugin installed in more than 98 percent of the computers connected to the Internet. It has two advantages as compared to the .cptx file:
- A .swf file is usually much lighter than its .cptx counterpart, making it much easier to upload and download across the Internet.
- Any browser equipped with the free Adobe Flash plugin is able to open and play the .swf file. This makes it incredibly easy to deploy our Captivate courses.
That being said, the .swf format has some major disadvantages:
- It requires the Adobe Flash Player plugin to be installed. If, for whatever reason, the plugin is not available, the .swf file cannot be played back.
- There is no more Flash Player plugin available for mobile devices. Consequently, a .swf file cannot be played back on a Smartphone or on a Tablet.
That's why other publishing formats are available in Captivate. In Captivate 6, the most effective alternative to the .swf format is to publish the project in HTML5. When published to HTML5, the project can be played back in any modern browser without the need for an extra plugin. HTML5-enabled projects can also be played back on mobile devices including the iPhone, iPad, and iPod touch! HTML5 also has its caveats. At the time of this writing, (June 2012) HTML5 is still under development. Consequently, some features of Captivate are not yet supported in HTML5.
In this article, we will explore and discuss the various publishing options at our disposal in Captivate.
Read Publishing the project in various formats using Adobe Captivate 6 in fullPuppet: Integrating External Tools
Puppet is a useful tool by itself, but you can get much greater benefits from using Puppet in combination with other tools and frameworks. We'll take a look at some of these.
In this article by John Arundel, author of Puppet 2.7 Cookbook,we will cover the following topics:
- Executing commands before and after Puppet runs
- Using Public modules
- Creating your own resource types
- Using MCollective
Putting Sakai to Work
Sakai is an open source, web-based, collaboration learning environment (CLE) that is focused primarily on higher education. It supports the activities of students, teachers, researchers, and Sakai administrators. Sakai is flexible and enables users to configure it for their own specialized audiences. Sakai is mainly a courseware management platform that provides users with learning, portfolio, library, and project tools. It is flexible by design and has a set of frameworks (internal structures) that makes it easier for those who want to build tools. In this article by Alan Mark Berg and Michael Korcuska, we will discuss how to use Sakai tools in combination to create a better online learning experience.
Read Putting Sakai to Work in fullPython 3 Object Oriented Programming: Managing objects
In the previous article on Python 3: When to Use Object-oriented Programming, the focus was on objects and their attributes and methods.
In this article by Dusty Phillips, author of Python 3 Object Oriented Programming, we'll take a look at designing higher-level objects; the kind of objects that manage other objects. The objects that tie everything together.
Read Python 3 Object Oriented Programming: Managing objects in fullPython 3: Building a Wiki Application
Building your own Python web applications provides you with the opportunity to have great functionality, with no restrictions. However, creating web applications with Python is not straightforward. Coupled with learning a new skill of developing web applications, you would normally have to learn how to work with a framework as well.
In this article by Michel Anders, author of Python 3 Web Development Beginner's Guide, we will:
- Implement a data layer for a wiki application
- Implement a delivery layer
- Take a good look at input validation
- Encounter jQuery UI's dialog widget
Python 3: Designing a Tasklist Application
Building your own Python web applications provides you with the opportunity to have great functionality, with no restrictions. However, creating web applications with Python is not straightforward. Coupled with learning a new skill of developing web applications, you would normally have to learn how to work with a framework as well.
In this article by Michel Anders, author of Python 3 Web Development Beginner's Guide, we will create a tasklist application that will be able to serve multiple users and store the list of tasks for each user on the server. Specifically, we will look at:
- How to design a tasklist application
- How to implement a logon screen
- What a session is and how this allows us to work with different users at the same time
- How to interact with the server and add or delete tasks
- How to make entering dates attractive and simple with jQuery UI's datapicker widget
- How to style button elements and provide tooltips and inline labels to input elements
Python 3: Object-Oriented Design
In software development, design is often considered the step done before programming. This isn't true; in reality, analysis, programming, and design tend to overlap, combine, and interweave. In this article by Dusty Phillips, author of Python 3 Object Oriented Programming, we will learn:
- What object-oriented means
- The difference between object-oriented design and object-oriented programming
- The basic principles of object-oriented design
- Basic Unified Modeling Language and when it isn't evil
Python 3: When to Use Object-oriented Programming
In the previous article on Objects in Python, we've covered many of the defining features of Object-oriented Programming. We now know the principles and paradigms of Object-oriented Design, and we've covered the syntax of Object-oriented Programming in Python.
Yet, things are still hazy when it comes to knowing how and when to apply these principles and syntax. In this article by Dusty Phillips, author of Python 3 Object Oriented Programming, we'll discuss some of the more useful applications of the knowledge we've gained. In this two-part article series, we'll cover:
- How to recognize objects
- Data and behaviors, once again
- Wrapping data in behavior using properties
- Restricting data using behavior
- The Don't Repeat Yourself principle
- Recognizing code that is the same
Python Books from Packt

This holiday season, Packt is pleased to announce that it is offering any 5 Open Source eBooks of your choice for only $40 / £25 / €30.
Read Python Books from Packt in fullPython Built-in Functions
Although object-oriented programming is the most popular kid on the block these days, the old paradigms still offer useful tools. Most of these tools are really syntactic sugar over an underlying object-oriented implementation; we can think of them as a further abstraction layer built on top of the (already abstracted) object-oriented paradigm. In this article by Dusty Phillips, author of Python 3 Object Oriented Programming, we'll be covering the built-in functions that take care of common tasks in one call.
Read Python Built-in Functions in fullPython Data Persistence using MySQL
Among other merits, Python is an ideal language for writing server-side scripts, allowing you to integrate interactive behavior with HTML. Persisting dynamic content to an underlying database is fairly straightforward. By installing an appropriate Python DB module, you get the ability to interact with the database of choice from within Python code, moving your application data in and out of the underlying persistent store.
This article by Yuli Vasiliev will walk you through the process of building a simple Python application that interacts with a MySQL database. In a nutshell, the application picks up some live data from a web site and then persists it to an underlying MySQL database.
Read Python Data Persistence using MySQL in fullPython Data Persistence using MySQL Part II: Moving Data Processing to the Data
Continuing with the sample discussed in the Python Data Persistence using MySQL article, this Part II: Moving Data Processing to the Data by Yuli Vasiliev explains how you can implement some data processing inside your database, resulting in better application design and better performance in the long run. In this article, you will look at triggers in action. Stored procedures and functions can be used similarly.
Read Python Data Persistence using MySQL Part II: Moving Data Processing to the Data in fullPython Data Persistence using MySQL Part III: Building Python Data Structures Upon the Underlying Database Data
This article, the third one in the Python Data Persistence using MySQL series by Yuli Vasiliev, discusses how you can implement Python data structures representing data structures stored in the underlying database and then manipulate those data structures on the Python side.
Read Python Data Persistence using MySQL Part III: Building Python Data Structures Upon the Underlying Database Data in fullPython Graphics: Animation Principles
In this article by Mike Ohlson de Fine, author of Python 2.6 Graphics Cookbook, we will cover:
- Static shifting of a ball
- Timed shifting of a ball
- Animation – timed draw-and-erase cycles
- Two balls moving unimpeded
- A ball that bounces
- Bouncing in a gravitational field
Python Graphics: Combining Raster and Vector Pictures
Vector graphics can be shrunk and expanded to any size and in any direction using simple algebra. They can be animated with rotations using basic trigonometry. Raster graphics are limited. They cannot be resized or rotated dynamically while the code is executing. They are more cumbersome. However, we can get tremendous effects when we combine both vector and raster graphics together. The one thing that Python cannot do is to rotate a GIF image by itself. There are ways of mimicking rotation reasonably but there are limitations you will appreciate after trying out some of these recipes. PIL can rotate them, but not dynamically on a Tkinter canvas. We explore some possibilities and workarounds here.
In this article by Mike Ohlson de Fine, author of Python 2.6 Graphics Cookbook, we will cover:
- Simple animation of a GIF beach ball
- The vector walking creature
- Bird with shoes walking in the karroo
- Making a partially transparent image with GIMP
- Diplomat walking at the palace
- Spider in the forest
- Moving band of images
- Continuous band of images
- Endless background – a passing cloudscape
Python Image Manipulation
In this article by Ninad Sathaye, author of Python Multimedia Beginner's Guide, explains basic image conversion and manipulation techniques using the Python Imaging Library. With the help of several examples and code snippets, we will perform some basic manipulations on the image, such as pasting an image on to another, resizing, rotating/ flipping, cropping, and so on. We will write tools to capture a screenshot and convert image files between different formats.
Specifically, we shall:
- Learn various image I/O operations for reading and writing images using the Python Imaging Library (PIL)
- With the help of several examples and code snippets, perform some basic manipulations on the image
- develop a small application that captures a region of your screen at regular time intervals using ImageGrab.
Python LDAP Applications: Part 1 - Installing and Configuring the Python-LDAP Library and Binding to an LDAP Directory
This article mini-series by Matt Butcher will look at the Python application programmers interface (API) for the LDAP libraries, and using this API, we will connect to our OpenLDAP server and manipulate the directory information tree. More specifically, we will cover the following in this article series:
- Installing and configuring the Python-LDAP library.
- Binding to an LDAP directory.
- Comparing attributes between the client and server.
- Performing searches on the directory.
- Modifying the directory information tree with add, delete, and modify operations.
- Modifying directory passwords.
- Working with LDAP schemas.
This first part will deal with installation and configuration of the Python-LDAP library. We will then see how the binding operation is performed.
Read Python LDAP Applications: Part 1 - Installing and Configuring the Python-LDAP Library and Binding to an LDAP Directory in fullPython LDAP Applications: Part 2 - LDAP Opearations
This is the second article in the article mini-series on Python LDAP applications by Matt Butcher. For first part please visit this link.
In this article we will see some of the LDAP operations such as compare operation, search operation. We will also see how to change an LDAP password.
Read Python LDAP Applications: Part 2 - LDAP Opearations in full

