Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Wednesday, August 10, 2016

Getting Started with x86-64 Assembly on Linux

In this post we will learn how to assemble and link a simple "Hello World" application written in x86-64 assembly for the Linux operating system. If you have experience with Intel IA-32 assembly and you want to quickly get adjusted to the x86-64 world then this post is for you. If you're trying to learn the assembly language from scratch then I'm afraid this post is not for you. There are many great resources online on 32-bit assembly. One of my favourite documents is Paul Carter's PC Assembly Language, which I highly recommend if you're moving your first steps into the assembly language. If you then decide to come back to this post, you should be able to read it with no problems, since the tools that I will employ here are the same used in Carter's book.

Saturday, June 25, 2016

The Nest of Heliopolis PPA repository on Launchpad gets updates after a while

Recently I managed to find the time to update a couple of new packages from my Personal Package Archive (PPA) on Launchpad. For those of you who don't know where to find it, click here. If you want to automatically get updates as they come out, you can install it on your Ubuntu by simply issuing

$ sudo apt-add-repository ppa:phoenix1987/ppa
$ sudo apt-get update

from your terminal. In brief, the changes involved Sopcast Player Plus, a fork of SopCast Player by Jason Scheunemann, and gtumbler, the application I have developed in the Summer 2012 as part of the first edition of the Ubuntu App Showdown. So let me now give you the details of what has changed with this new releases.

Saturday, July 21, 2012

gtumbler - A New Graphical PDF Manager for Ubuntu

I am delighted to announce the first stable release of gtumbler (formerly gistiller), a new graphical PDF manager completely written in Python. It is distributed under the terms of the GNU GPL v3 license (the pyPDF python modules shipped with the app are distributed under a modified version of the BSD license). If you want to give it a try you can get it directly from my PPA "The Nest of Heliopolis" hosted by Launchpad. If you are using Ubuntu 12.04 Precise Pangolin, you can add my PPA to your APT sources list by simply typing

sudo apt-add-repository ppa:phoenix1987/ppa
sudo apt-get update

Then you can install gtumbler with the command

sudo apt-get install gtumbler

or directly from the Software Center.

The major features of gtumbler are:

  • convert PostScript documents to PDF format;
  • merge multiple PostScript/PDF documents into a single one
  • extract pages from document;
  • modify the bounding box of each page in a document (e.g. to crop white margins)
  • pattern renaming of a list of documents You can also modify each document by invoking a PDF editor directly from gtumbler. By default gtumbler uses Xournal.

    Here is a screenshot of the application in action

  • Monday, January 3, 2011

    How to implement a non-blocking two-way pipe in Python

    I was surprised by the lack of a way to read from a stream without blocking in Python, and this is the main reason why I'm writing this post. Some years ago I had the urge to open a two-way channel of communication between the program I was writing and an external command-line program (actually a GUI). I had solved this problem in mainly two different ways in C and C++ on Unix, by using pseudo-terminals in one case, and duplicated file descriptors in the other. Here we are going to create an object which inherits from a preexisting class which is provided by one of the modules for Python.