Projects

Altcoin Prices :: Android

Altcoin Prices is the one and only free as in freedoms cryptocurrencies portfolio tracker app for android. Find out more at: altcoinprices.uwot.eu

Posted on

AMD Ryzen-info :: Python

AMD Ryzen-info is a small Python script I wrote to monitor the main hardware system information of an AMD Ryzen system running on a recent version of Linux kernel. It relies on dmidecode and lm_sensors to gather the needed information, to get correct voltage and temperature readings it is critical that the most up to date version of the it87 kernel module is installed; Python version 3.5 or higher is also hard requirement. …

Posted on

Monitor hard disk SMART status :: Python

I have been fighting for years with smartd but I really never managed to configure it the way I want. While I certainly am not backblaze, I still have quite a few hard disks I would like to monitor and be able to replace before they actually die. I hacked up a small Python script to query some SMART attributes and send me an email in case something funky is going on; to use it just put in /etc/cron. …

Posted on

Pi-greco - Chudnovsky :: C

While being a big fan of Python I am also in the continuous pursuit of better performance. Like it or not, but when seeking for better performance in many cases you have to put away high level framework/programming-languages and go back to basic; many times basic means good old C. After having developed some different Python scripts to calculate the Pi-greco up to a given number of digits (later I will post the most advanced version I came up with) I decided it was time to make a step forward and write it in C. …

Posted on

Clausify :: Prolog

For the same exam in which I had to do the LISP project I also had to write a Clausify program in Prolog. Long story short: the goal was to translate a well formed form (WFF or FBF in italian) of a first order logic language in a conjunctive normal form (CNF). congiunzione(and). disgiunzione(or). negazione(not). implicazione(implies). esiste(exist). per_ogni(every). fbf2cnf(FBF, CNFFBF):- atomic(FBF), CNFFBF = FBF, !. fbf2cnf(FBF, CNFFBF):- FBF =.. [X|ListaArgs], semplifica([X|ListaArgs], [], CNFFBF_3_p), semplifica_2(CNFFBF_3_p, [], CNFFBF_4_p), controlla_lista(CNFFBF_4_p, [], CNFFBF_2_p), CNFFBF_2_p =. …

Posted on

Parse-URI :: LISP

In the last exams session I had to write a simplified URI parser in LISP. LISP has the well known ability to melt people's brain, but when you manage to wrap your head around things it becomes quite interesting. The projects for this course are always quite similar, so I assume someone could be interested to see how I did it. Please note that I did everything in no more than 3 or 4 hours, so surely it could have been done better (for example without using defparameter instructions). …

Posted on

ATI Driver Tweaker :: C

ATI Driver Tweaker is a simple program that allows the user to manage the most important driver settings of ATI videocards. I wrote it because I am tired of all the others tweaking software for ATI graphic cards, quite often they don’t work properly or make 3d programs crash. This program is written in pure C, doesn’t need NET framework or any other kind of crap, doesn’t need to be installed and works on Windows XP, Vista and Seven (both x86 and x64 versions) …

Posted on