Ramblings of Daniel Graziotin

Categorytechnical articles

Introduction to Software Testing


Introduction To Software Testing Elements and Concepts – A brief overview Introduction_to_software_testing (PDF) This document contains some basic concepts and definitions about software testing. It has been written for studying a part of the Software Engineering Project course at my University. It is composed by a summary of the intersection of more than 10 different sources, all of which are...

An example of mutual recursion using C


The first lecture of DSA was already interesting for me, I learned something about “Mutual Recursion” (when two recursive procedures call each other). The pseudo-code example was about checking if a number is either even or odd. Given that 0 is even N is even if n-1 is odd N is odd if n-1 is even And the algorithm: even INPUT: n – a natural number. OUTPUT: true if n is even; false otherwise...

Convert a QIcon (or just a QImage) to base64 and QString


I found difficult to find somewhere a method to convert a QIcon object to a QString to be displayed in base64. I needed it for implementing a nice feature for QuickView mode in Arora. I wanted to display in the HTML template the icon (logo.icon) of each domain. Therefore, I needed the QIcon to be converted to a QString containing the base64 encoding of the image. Moreover, the distribution of the...

A Generic Quicksort Implementation in C


As assignment for Data Structures and Algorithms course, we had to work with a modified version of the quicksort algorithm. It came obvious that for modifying a qsort you need to implement it It is difficult to find a clear quicksort algorithm implemented, so I wrote it. Here is the generic C implementation of the Quicksort Algorithm, which sorts an array in place, following the Divide And...

Intel Graphic cards, Linux, Xorg and UXA performance boost


For people having Intel graphic chipset under Gnu/Linux, performance using 3D applications or Compiz-* window manager effects has always been a problem. Intel drivers for Xorg never gave problems but have also never been brilliant. I always looked around searching for xorg.conf tuning configuration entries. Today I was simply browsing Ubuntu Wiki and discovered the UxaTesting page. I wanted to...

Install KDE 4.6.x on Slackware and exclude from slapt-get upgrade


I am actually using Slackware 13.37 RC 4.6692, that will very likely become the final release of Slackware 13.37. Because I am lazy, I make use of the very comfortable slapt-get tool that enables an apt-get like package manager on Slackware Gnu/Linux. If you want to install KDE 4.6.x (version 4.6.2 at this moment), follow the great tutorial and packages built by mr Eric Hameleers, also known as...

How to install MintMenu on Debian (lenny, sid)


I really like (and miss) Linux Mint Menu (mintmenu), so I installed it on my Debian Sid box and here is how I managed it: Install mintsystem and mintmenu deb packages (see the links above) Help it to recognize your applications by symlinking some files in /etc/xdg/menus (as root): ln -s gnome-applications.menu applications.menu ln -s gnome-preferences.menu preferences.menu ln -s gnome-settings...

Object Oriented Memory Management


Major Update on 10th April 2009, inclusion of C++ programming language! Updated on 18th April 2008, a complete example on stack and heap Updated on 15th April 2008, new contents and new layout! Updated on 6th April 2008, new contents! The paper you can download from here is about a model for memory management during the execution of programs written in Java and C++. It started on March, 2008 as a...

Configure Slackware 13.1 for Macbook Pro 6,2


In this post I would like to share with you some configurations and tweaks for using our beloved Slackware Linux 13.1 (also current) with the last generation of Macbook Pro, having Intel Core i5 and Corei7 CPUs. It should also work for past Intel based generations of Macbook Pro. Maybe also on some non Pro models. Listed on TuxMobil It won’t be a classical “How to install Slackware 13.1 on a...

Network Manager on Slackware 13.0, the dirty and easy way


I love to be back to Slackware, my very first distribution. However, there are a couple of things that I’m missing from the other more comfortable distributions. From among them, I totally miss Network Manager. I saw many people asking in forums on how to install Network Manager in Slackware 13.0. There is Wicd, already present in Slackware “repositories”. Every Slackware maniac will tell you...

Reference vs. Pointer


In Software Engineering Project course we need to learn some C++ to develop the project. A question that some programmers have when passing from Java to C++ (like me) is “Which are the differences between pointers and references?“. You can find a lot of answers around developers forum, but I summarized them in the following table. Glad if you found it useful! Reference Pointer is an object...

How to have both Mac Os X and Linux installed and share the same home directory files


So much time since my last post! I’m sure that the best way to come back to blog posting is a nice tutorial. I’m going to write how to have the same home directory shared between Mac Os X and Gnu/Linux. Let me call Gnu/Linux just Linux from now on. A unique place for your working directory on both Mac Os X and Linux! The configuration I’m proposing should be very confortable, as it works with...

Document your Django project using Sphinx documentation tool and reStructuredText


So you wrote a cool documentation in your Python code using docstring and reStructuredText, in order to let other people understand your API. What’s the next step? To export it in html/pdf etc. I wrote an XML-RPC service providing Dynamic Ridesharing functionalities for my Bachelor Computer Science thesis. It was written using Python and Django. Obviously, I need to document my XML-RPC methods...

Hash Maps with linear probing and separate chaining


Time for two new C programs! At the DSA course I learned something about Hash Tables and collision resolutions. I just implemented insert/search/print operations. The first source code is an implementation of a Hash Map with open addressing (linear probing) as collision resolution method. The following are the interesting functions of the program. As always, take a look at the source code for...

Hp nx6325 (and friends) thermal problems solved


Hp nx6325 (and friends) thermal problems solved Update 06-03-2007: You won’t need this script with a kernel >= 2.6.21. Update 04-21-2007: I heard that you won’t need this script with a 2.6.21 kernel, I´m using a 2.6.20 kernel and the problem still exists. Update 12-25-2006: Renamed the script as fancontrol-bd, because there already exists a program called fancontrol, written in perl Update 12-14...

Ramblings of Daniel Graziotin

About Author


Dr. Daniel Graziotin received his PhD in computer science, software engineering at the Free University of Bozen-Bolzano, Italy. His research interests include human aspects in empirical software engineering with psychological measurements, Web engineering, and open science. He researches, publishes, and reviews for venues in software engineering, human-computer interaction, and psychology. Daniel is the founder of the psychoempirical software engineering discipline and guidelines. He is associate editor at the Journal of Open Research Software, academic editor at the Research Ideas and Outcomes (RIO) journal, and academic editor at the Open Communications in Computer Science journal. He is the local coordinator of the Italian Open science local group for the Open Knowledge Foundation. He is a member of ACM, SIGSOFT, and IEEE.