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.
Wednesday, August 10, 2016
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-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:
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.