linux poison RSS
linux poison Email

Multi-platform EPUB ebook editor - Sigil

Sigil is a multi-platform EPUB ebook editor with the following features

 * Online Sigil User's Guide, and Wiki documentation
 * Free and open source software under GPLv3
 * Multi-platform: runs on Windows, Linux and Mac
 * Full UTF-16 support
 * Full EPUB 2 spec support
 * Multiple Views: Book View, Code View and Preview View
 * WYSIWYG editing in Book View
 * Complete control over directly editing EPUB syntax in Code View
 * Table of Contents generator with multi-level heading support
 * Metadata editor with full support for all possible metadata entries (more than 200) with full descriptions for each
 * User interface translated into many languages
 * Spell checking with default and user configurable dictionaries
 * Full Regular Expression (PCRE) support for Find & Replace
 * Supports import of EPUB and HTML files, images, and style sheets,
 * Documents can be validated for EPUB compliance with the integrated FlightCrew EPUB validator
 * Embedded HTML Tidy: all imported files have their formatting corrected, and your editing can be optionally cleaned

Read more

Free eBook - Think Like a Hacker for Better Security

Receive Your Complimentary White Paper NOW!

"Takes One to Know One: Think Like a Hacker for Better Security Awareness"

52% of businesses experienced more malware infections as a result of employees on social media.
Security awareness is mostly about common sense, and thinking like the hackers to understand what security weaknesses they look for. But like other security precautions, it's easy to let down your guard.

Security awareness education can arm your staff with the skills to practice safe Internet usage - to reduce malware and other cyber threats.

Get you free copy of "Think Like a Hacker for Better Security" - here

Read more

eBook - Getting Started with Ubuntu 12.10

"Getting Started with Ubuntu 12.10"

This 143 Page guide will cover the basics of Ubuntu 12.10 (such as installation and working with the desktop) as well as guide you through some of the most popular applications.

Getting Started with Ubuntu 12.10 is not intended to be a comprehensive Ubuntu instruction manual. It is more like a quick start guide that will get you doing the things you need to do with your computer quickly and easily, without getting bogged down with all the technical details. Ubuntu 12.10 incorporates many new features including a new kernel supporting newer graphic cards, updates to the Update Manager, and full-disk encryption, to name just a few.

Download you free copy of "Getting Started with Ubuntu 12.10" - here

Read more

Mount, encrypt and manage disk image files and physical disk drives - eMount

eMount is a free system administrator tool for Linux that can mount, encrypt and manage disk image files and physical disk drives. It relies on cryptsetup, which implements the LUKS disk encryption specification.

eMount Features:
 * Create plain and encrypted disk images using one of the following file systems: ext2, ext3, ext4, FAT-16, FAT-32, HFS, HFS+, NTFS, ReiserFS and XFS.
 * Create encrypted volumes from physical disk drives.
 * Mount system partitions and virtual disks from the GUI or command line. The source can be plain or encrypted. List of supported file systems is O/S dependent. ISO images are widely supported.
 * Enlarge disk images (ext2, ext3, ext4, ReiserFS and XFS).
 * Copy to clone devices and disk images.
 * Supports all ciphers and hash algorithms provided by the operating system.

Read more

Perl Script: Insert, Replace or Delet the range of elements from an Array - splice

The Perl splice function is an array manipulation function and is used to remove, replace or add elements.
ARRAY - is the array to manipulate
OFFSET - is the starting array element to be removed
LENGTH - is the number of elements to be removed
LIST - is a list of elements to replace the removed elements with

The splice function returns:
in scalar context, the last element removed or undef if no elements are removed
in list context, the list of elements removed from the array

Below is simple perl script which demonstrate the use of this splice function, feel free to use and copy this code
Read more

Multitrack Non-Linear Video Editor - Flowblade

Flowblade Movie Editor is a multitrack non-linear video editor for Linux released under GPL 3 license.

Flowblade is designed to provide a fast, precise and as-simple-as-possible editing experience.

Flowblade employs film style editing paradigm in which clips are usually automatically placed tightly after the previous clip - or between two existing clips - when they are inserted on the timeline. Edits are fine tuned by trimming in and out points of clips, or by cutting and deleting parts of clips. Film style editing is faster for creating programs with mostly straight cuts and audio splits, but may be slower when programs contain complex composites unless correct work flow is followed.

Flowblade provides powerful tools to mix and filter video and audio.

Flowblade Features
Film style insert/trim editing paradigm
 * 2 move modes
 * 2 trim modes
 * 4 methods to insert/overwrite/append a clip on the timeline
 * Drag'n'Drop clips on the timeline
 * Clip and Compositor parenting with other clips
 * 5 video tracks and 4 audio tracks
Read more

Free and OpenSource Mobile Media Converter application

The Mobile Media Converter is a free audio and video converter for converting between popular desktop audio and video formats like MP3, Windows Media Audio (wma), Ogg Vorbis Audio (ogg), Wave Audio (wav), MPEG video, AVI, Windows Media Video (wmv), Flash Video (flv), QuickTime Video (mov) and commonly used mobile devices/phones formats like AMR audio (amr) and 3GP video. iPod/iPhone and PSP compatible MP4 video are supported. Moreover, you can remove and add new formats or devices through the internet.

An integrated YouTube downloader is available for direct downloading and converting to any of these formats. You can trim your clips for ringtone creation or any other purpose and crop your videos for removing up/down black bars or other unwanted parts of the image. Additionally, embedded subtitles can be encoded onto the video for watching movies or shows with subtitles on devices that does not supports them. Finally, a built-in DVD ripper is available to transform your own DVDs to any of the supported formats.

Read more

OpenSource Distribution for Art Creative People - Ubuntu Studio

Ubuntu Studio is Linux-based operating system designed as a free, open, and powerful platform for creative people to create their art.

Ubuntu Studio is also Free and Open Source Software (FOSS). Ubuntu Studio free to download and use. You can get the source code, study it and modify it. You can redistribute Ubuntu Studio and can even redistribute your modified version.

As an officially recognized derivative of Ubuntu, Ubuntu Studio is supported by Canonical Ltd. and an amazing and continually increasing community.

Ubuntu Studio is released every six months, but a long term release (LTS) version is released only every 2 years.
Read more

Perl Script: How to execute bash (or other) scripts from within the Perl script

system() executes the command specified. It doesn't capture the output of the command.

system() accepts as argument either a scalar or an array. If the argument is a scalar, system() uses a shell to execute the command ("/bin/sh -c command"); if the argument is an array it executes the command directly, considering the first element of the array as the command name and the remaining array elements as arguments to the command to be executed.

For that reason, it's highly recommended for efficiency and safety reasons (specially if you're running a cgi script) that you use an array to pass arguments to system().

Below is simple perl script which explains the concept of system() function call.
Read more

Perl Script: How to seek through the file

Perl provides two functions which enable you to skip forward or backward in a file so that you can skip or re-read data.

seek - moves backward or forward
tell - returns the distance in bytes, between the beginning of the file and the current position of the file

The syntax for the seek function is:
seek (file, distance, from)

As you can see, seek requires three arguments:

file: which is the file variable representing the file in which to skip
distance: which is an integer representing the number of bytes (characters) to skip
from:which is either 0, 1, or 2

-- 0 :  the number of bytes to skip from beginning of the file.
-- 1 :  the number of bytes to skip from current location of the file.
-- 2 :  the number of bytes to skip from end of the file.

Below is simple Perl script which demonstrate the usage of seek and tell.
Read more

Cheat Sheet - Unix/Linux Command Reference

"Unix/Linux Command Reference"

In this cheat sheet you will find a bunch of the most common Linux commands that you're likely to use on a regular basis.

On most systems you can lookup detailed information about any command by typing man command_name. You will need to be root user in order to use some of these commands. Be extremely careful as root if you're not 100% sure about what you're doing. You can make your system unusable. Even if you have a dual boot setup you may not be able to access any of your installed operating systems. Also with this free cheat sheet you will receive daily updates on new cool websites and programs in your email for free, courtesy of MakeUseOf.

Download you free copy of "Cheat Sheet - Unix/Linux Command Reference" - here

Read more

Perl Script: Creating key-value pair (hash table) using Associative arrays

Associative arrays are a very useful and commonly used feature of Perl.

Associative arrays basically store tables of information where the lookup is the right hand key (usually a string) to an associated scalar value. Again scalar values can be mixed ``types''.

Below simple script demonstrate the usage of associative array and shows all the possible operation that can be done on this associative array.

Source: cat

# Creating Associative Arrays
%array = ("a", 1, "b", 2, "c", 3, "d", 4);

# Add more elements to the array
$array{"e"} = 5;

# Get all the keys.
@keys = sort keys(%array);
print "Keys present in the arrays are: @keys \n";

# Get all the values.
@values = sort values(%array);
print "Values present in the arrays are: @values \n";

# Get the value by referring to the key.
print "Enter the value between: ";
$getvalue = <STDIN>;
print "value present for the $getvalue: $array{$getvalue} \n";

# Loop though the array
foreach $key (sort(keys(%array))) {
        print "$key : $array{$key} \n";

# Delete the key-value pair

# Copy associative array to normal array.
@array1 = %array;
print "Now the normal array contains: @array1 \n";

Read more

Perl Script: Predefine Perl subroutine (BEGIN, END and AUTOLOAD)

Perl defines three special subroutines that are executed at specific times.

 * The BEGIN subroutine, which is called when your program starts.
 * The END subroutine, which is called when your program terminates.
 * The AUTOLOAD subroutine, which is called when your program can't find a subroutine to executed.

Below is simple perl script which demonstrate the usage of these predefine perl subroutines.

Source: cat

# This will get executed first when your program is started.
        print "Starting the loop ... \n";
        print " ------------------------- \n";

# This will get executed when your program terminates.
        print " ------------------------- \n";
        print "End of this perl script \n";
        print "Perl is awesome :) \n";

# This is called whenever the Perl try to call a subroutine that does not exist.
        print "Oosp, we are not able to find the required function : $AUTOLOAD \n";
        print "This is bad \n"

for ($i = 0; $i < 5 ;$i++ ) {
        print "$i \n";


Read more

Perl Script: Passing Array by Reference to Function

If the array being passed to a function is large, it might take some time (and considerable space) to create a copy of the array when the function is called by passing the array and may have some impact on the performance of your application.

To overcome this problem Perl also allow you to pass the reference of this array to an function, with this approach the local copy of this array is not created but instead the operation is done on the main array and hence it saves the time and space for your application.
The following is an example of a similar subroutine that refers to an array by reference:

Source: cat

@array = (1, 2, 3, 4, 5);
&array_ref (*array);
print "The new value of same array is: @array \n";

sub array_ref {
        local (*printarray) = @_;
        for ($i = 0; $i <= $#printarray ; $i++) {
                @printarray[$i] = int (rand(100) + 5);

print "-------------------------------- \n";

@array2 = (1, 2, 3, 4, 5);
&array_ref2 (@array2);
print "Oops, the value of array2 is not changed: @array2 \n";

sub array_ref2 {
        local @sub_array = @_;
        for ($i = 0; $i <= $#sub_array ; $i++) {
                @sub_array[$i] = int (rand(100) + 5);

Read more

Free eBook - Ubuntu: An Absolute Beginners Guide

"Ubuntu: An Absolute Beginners Guide"

Ubuntu is a free, open-source computer operating system with 20 million users worldwide.

This 30 page guide was written for beginners and will tell you everything you need to know about the Ubuntu experience. You will learn how to install and setup Ubuntu on your computer, find technical support in your community, understand the Ubuntu philosophy, navigate the Unity desktop interface and use Ubuntu compatible software programs. Also with this free guide you will receive daily updates on new cool websites and programs in your email for free courtesy of MakeUseOf.

Download you free copy of "Ubuntu: An Absolute Beginners Guide" - here

Read more

Perl Script: File test operators

Below is simple perl script which demonstrate the usage if file test operator ..
Feel free to use and copy this script:

Source: cat

$FILE = "server.txt";

if ( -b $FILE ){
        print "$FILE is block device \n";
if ( -c $FILE ){
        print "$FILE is char device \n";
if ( -d $FILE ){
        print "$FILE is dirctory \n";
if ( -e $FILE ){
        print "$FILE exists \n";
if ( -f $FILE ){
        print "$FILE is ordinary file \n";
if ( -l $FILE ){
        print "$FILE is symbolic link \n";
if ( -o $FILE ){
        print "$FILE is owned by current user. \n";

Read more

Perl Script: Array examples and Operations

Below perl script demonstrate the usage of array and show all sort of operation that can be done on the array.

Feel free to copy and use this script:

Source: cat

@array = ("a", "b", "c", "d");

# Get the lengthe of array
$LEN = @array;
print "Length of the array is:  $LEN \n";

# Print the array elements"
print "@array \n";
print "-------------------------\n";

# Iterate through the array
for ($i=0; $i<=$#array; $i++) {
        print "$array[$i]\n";
print "-------------------------\n";

# Add a new element to the end of the array
push(@array, "e");
print "@array \n";
print "-------------------------\n";

# Add an element to the beginning of an array
unshift(@array, "z");
print "@array \n";
print "-------------------------\n";

# Remove the last element of an array.
print "@array \n";
print "-------------------------\n";

# Remove the first element of an array.
print "Back to original array .... \n";
print "@array \n";
print "-------------------------\n";

# Copying from One Array Variable to Another
@copy_array = (@array);
print "Element in the new array are: @copy_array \n";
print "-------------------------\n";

# Sort the array element
@list = ("x" , "q", "p" , @array, 1, 3, 5, 9);
@sort_list = sort(@list);
print "Here is the sorted array: @sort_list \n";
print "-------------------------\n";

Read more

Bash Script: How to sort an array

Here is simple & dirty trick to sort any types of element in an array ...
Feel free to copy and use this script.

Source: cat

array=(a x t g u o p w d f z l)
declare -a sortarray

touch tmp
for i in ${array[@]}; do
        echo $i >> tmp
        `sort tmp -o tmp`

while read line; do
        sortarray=(${sortarray[@]} $line)
done < tmp
rm tmp

echo "Here is the new sorted array ...."
echo ${sortarray[@]}

Output: ./
Here is the new sorted array ....
a d f g l o p t u w x z

Read more

Ebook - Self-Service Linux: Mastering the Art of Problem Determination

"Self-Service Linux®: Mastering the Art of Problem Determination - Free 456 Page eBook" -- The indispensable start-to-finish troubleshooting guide for every Linux professional.

Now, there's a systematic, practical guide to Linux troubleshooting for every power user, administrator, and developer. In Self-Service Linux®, two of IBM's leading Linux experts introduce a four-step methodology for identifying and resolving every type of Linux-related system or application problem: errors, crashes, hangs, performance slowdowns, unexpected behavior, and unexpected outputs. You'll learn exactly how to use Linux's key troubleshooting tools to solve problems on your own--and how to make effective use of the Linux community's knowledge.

If you use Linux professionally, this book can dramatically increase your efficiency, productivity, and marketability. If you're involved with deploying or managing Linux in the enterprise, it can help you significantly reduce operation costs, enhance availability, and improve ROI.

Series Editor Bruce Perens' is an open source evangelist, developer, and consultant whose software is a major component of most commercial embedded Linux offerings. He founded or co-founded Linux Standard Base, Open Source Initiative, and Software in the Public Interest. As Debian GNU/Linux Project Leader, he was instrumental in getting the system on two U.S. space shuttle flights.

Download your free copy of Mastering the Art of Problem Determination - here

Read more
Related Posts with Thumbnails