Tag: Zig
August 25, 2024
Zig thoughts
I like zig quite a bit, recently I participated to sycl, did a presentation on sarus-slurm at work in which I created a PoC with Zig, and finally I finished putting together my thoughts on Zig which I started quite some time ago.
read moreRandom Thoughts
Zig
Zig is a nice small language that is quite suited to low level programming, I would say that it aims at replacing C.
I like that it is a simple language, it can be learnt relatively quickly. I it is very “in the face”, as it has no hidden control flow (implicit destructor calls, exceptions), and no hidden memory allocations. This is a bit more verbose, but simplifies the analysis of what happens just looking at the local code, which is very useful for low level code, and to optimize.
read moreJune 15, 2024
Sycl24
I went to the Software You can Love conference, not for work but because I wanted to. I enjoyed it quite a bit, its subtitle is “celebrate the art of creating software for humans” and I think it fits. The idea behing it is expressed quite well in The Idealism and Practicality of Software You Can Love - Loris Cro - Software You Can Love 2022.
I didn’t only receive a nice programmable badge, but I got to hear several very interesting talks.
read moreTag: ML
May 25, 2024
AI: command line -> Gui
There are some posts that see AI as the thing that will replace everything: programmers, writers, artists, workers, … people in general. I do not think that to be the case. I see the advent of modern machine learning similar to the advent of GUIs. GUIs had mainly two effects:
it enabled new things: Desktop publishing, photo editing, consumption and creation of movies, spreadsheets, it increased the number of people that were able to use the computer to perform those tasks exponentially it changed the way professionals worked, but did not eliminate them I think AI will be similar: it will enable new applications it will open up the field to new players and increase the levels of beginners.
read moreJanuary 7, 2024
Llm Tokenizer
This is is something that is obvious to those who work with Large Language Models, but it was not immediately evident to me when someone asked me about it.
Why do the tokenizer require training? Indeed coming from computer languages Tokenizers this is a bit surprising. For them the tokenizer is fixed and does not change the more data about a language is available. Tokenizers are often a bit ugly, the interface to the language grammar not totally clean, but are simple and fixed.
read moreSeptember 27, 2019
Article on social challenges of Artificial Intelligence
Social challenges of Artificial Intelligence
Artificial intelligence and machine learning pose have several interesting technical challenges. Normally, working in the field I am mostly interested in those. There are also challenges that affect and should be discussed with the broader society. Social challenges are not less interesting than the technical ones.
I thought about them for a long time, indeed, I started thinking about some things when, immediately after my diploma, I worked at Uptime, a firm that archived documents, including few GB of receipts of Migros per week.
read moreTag: Backup
October 25, 2020
My Backup script
Nothing like vacation to do and go back to my backup routine and improve it a bit.
I mainly put everything in a script, added the the status and scrub of the backup_freenas_rsync script by K. Raquel Sanborn.
In the script I do not try to handle all contingencies, simply to be careful, and bail out with a helpful error message if things are strange, assuming that then manual intervention will be required.
read moreFebruary 5, 2020
My Backup settings
My Freenas setup Having a good network storage to share the files one has at home is a very useful thing. I have used for several years freenas, it is free, open source, built on the top of open zfs arguably one of the first new generation files systems with lots of nice enterprise features: snapshots, checksums for everything, growable volumes, configurable redundancy… It might be a bit more work, configuration than ready made solutions like synology, but it works well.
read moreTag: Django
June 12, 2022
Back to Django EN
A research group was using Microsoft Access for their databases and was thinking about their options.
I gave them some suggestions in italian, this is a rough translation of them, as they might be relevant also for others.
I came back to Django, which I had already used in mupris.net, and I concluded that it was the best solution for them.
Django is not necessarily the best tool for experts, and indeed it is not what I choose for NOMAD.
read moreJune 12, 2022
Back to Django IT
Un gruppo di ricerca usava Microsoft Access per creare dei Database, e stava pensando alle proprie opzioni.
Queste sono alcune note di quello che gli ho detto, in quanto può essere rilevante ache per altri.
Sono tornato a Django, che avevo già usato per mupris.net, e sono giunto alla conclusione che probabilmente è la soluzione migliore per loro.
Note generali Database relazionale: la cosa più importante è definire lo schema. Quello si può fare discutendo ad alto livello su cosa si vuole registrare, e poi definendo le tabelle e i campi.
read moreTag: Email
November 1, 2020
Hey 1Password
After quite some delay I started to use hey.com, as my email. It immediately looked like an approach I would like:
the imbox for important emails, the feed for info you want to see at your own pace, the paper trail for the receipts just sounds natural to me, and indeed I do like it.
What I don’t like is that I cannot use my kitabi.eu address. I understand why:
read moreTag: Secrets
November 1, 2020
Hey 1Password
After quite some delay I started to use hey.com, as my email. It immediately looked like an approach I would like:
the imbox for important emails, the feed for info you want to see at your own pace, the paper trail for the receipts just sounds natural to me, and indeed I do like it.
What I don’t like is that I cannot use my kitabi.eu address. I understand why:
read moreTag: AI
Tag: Ethics
Tag: Privacy
Tag: Racism
Tag: Programming
Tag: Triangle
Tag: Emacs
June 26, 2019
Installing emacs on debian
Emacs install I use emacs as my editor of choice, I can use others, but if I have to choose, then I choose emacs, it has always been a powerful choice that grew with the years, every time I look at it again I discover new things. I have a debian jessie (8.1) VM where I wanted to have the latest emacs, so I compiled it:
Install dependencies: sudo aptitude update sudo aptitude install autoconf automake libtool texinfo build-essential xorg-dev libgtk2.
read moreTag: Install
June 26, 2019
Installing emacs on debian
Emacs install I use emacs as my editor of choice, I can use others, but if I have to choose, then I choose emacs, it has always been a powerful choice that grew with the years, every time I look at it again I discover new things. I have a debian jessie (8.1) VM where I wanted to have the latest emacs, so I compiled it:
Install dependencies: sudo aptitude update sudo aptitude install autoconf automake libtool texinfo build-essential xorg-dev libgtk2.
read moreJune 26, 2019
python 3.7.3 install on debian jessie
Things like conda make setting up complex python projects simpler, but create a whole parallel world. Sometime you want to just fix the current OS, and at most use virtualenvs (I dislike introducing too many layers). I have a debian jessie (8.1) VM (oldstable), and I wanted to have modern python 3 on it, so I decided to install the latest python (3.7.3).
Install dependencies sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev It turns out that the shipped openssl is too old to build the ssl module, so it is better to get the latest stable openssl and install it (I did it in my home):
read moreApril 10, 2019
Bringing Back Kubernetes
Bringing Back Kubernetes The problem Shortly after having had my last day of work some issues came up and the kubernetes cluster went down. I began looking into it (a bit half heartily) and I began noticing some strange random issues. Monitoring the kube-system namespace I saw that flannel issues seemed to crop up quickly. There are several issues open regarding flannel failing #963, 1076,… and initially the real culprit wasn’t clear.
read moreDecember 17, 2018
NOMAD Prod Kubernetes Reinstall
Reinstalling the Kubernetes Production Cluster The main reason for this is a critical Kubernetes bug. Here is a bit a log of what I did (to hopefully help me next time). This is mostly taken from kubernetes doc (1, 2) and tweaks I added.
Master node: Basically the same as the Visualization Setup minus the tainting and coredns editing:
# disable swap: swapoff -a # comment out swap lines (the command should do it, but I prefer manual edit) # sudo sed -i '/ swap / s/^\(.
read moreDecember 15, 2018
NOMAD Dev Kubernetes Extension
Dev Kubernetes reinstall The main reason for this is a critical Kubernetes bug. Here is a bit a log of what I did (to hopefully help me next time).
Development cluster extension I installed a new cluster on labdev3, mostly following what I did last time. But labdev4 was having issues, so I asked a clean image. It took a bit to have it up. Here is the process to add it to the Kubernetes cluster.
read moreNovember 20, 2018
NOMAD Vis Kubernetes Install
Kubernetes Kubernetes is central to NOMAD archive and analytics (see /nomad/Kubernetes).
Every installation of kubernetes has been quite different (kubernetes evolves quickly). Here is the description of the latest (more manual) installation I did on CentOS for the remote visualization, mainly as a reference for me. This uses kubeadm something that has simplified the installation of kubernetes.
update kubeadm (from https://kubernetes.io/docs/setup/independent/install-kubeadm/)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.
read moreTag: Python
June 26, 2019
python 3.7.3 install on debian jessie
Things like conda make setting up complex python projects simpler, but create a whole parallel world. Sometime you want to just fix the current OS, and at most use virtualenvs (I dislike introducing too many layers). I have a debian jessie (8.1) VM (oldstable), and I wanted to have modern python 3 on it, so I decided to install the latest python (3.7.3).
Install dependencies sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev It turns out that the shipped openssl is too old to build the ssl module, so it is better to get the latest stable openssl and install it (I did it in my home):
read moreTag: Kubernetes
April 10, 2019
Bringing Back Kubernetes
Bringing Back Kubernetes The problem Shortly after having had my last day of work some issues came up and the kubernetes cluster went down. I began looking into it (a bit half heartily) and I began noticing some strange random issues. Monitoring the kube-system namespace I saw that flannel issues seemed to crop up quickly. There are several issues open regarding flannel failing #963, 1076,… and initially the real culprit wasn’t clear.
read moreNOMAD
NOMAD Infrastructure
Description of the infrastructure of the NOMAD Archive and BigData analytics.
read moreDecember 17, 2018
NOMAD Prod Kubernetes Reinstall
Reinstalling the Kubernetes Production Cluster The main reason for this is a critical Kubernetes bug. Here is a bit a log of what I did (to hopefully help me next time). This is mostly taken from kubernetes doc (1, 2) and tweaks I added.
Master node: Basically the same as the Visualization Setup minus the tainting and coredns editing:
# disable swap: swapoff -a # comment out swap lines (the command should do it, but I prefer manual edit) # sudo sed -i '/ swap / s/^\(.
read moreDecember 15, 2018
NOMAD Dev Kubernetes Extension
Dev Kubernetes reinstall The main reason for this is a critical Kubernetes bug. Here is a bit a log of what I did (to hopefully help me next time).
Development cluster extension I installed a new cluster on labdev3, mostly following what I did last time. But labdev4 was having issues, so I asked a clean image. It took a bit to have it up. Here is the process to add it to the Kubernetes cluster.
read moreNOMAD
Container Manager
Description of a flexible platform to start user associated containers providing a service.
read moreNOMAD
Kubernetes
Description of our experience with Docker and Kubernetes as basis of our infrastructure.
read moreNovember 20, 2018
NOMAD Vis Kubernetes Install
Kubernetes Kubernetes is central to NOMAD archive and analytics (see /nomad/Kubernetes).
Every installation of kubernetes has been quite different (kubernetes evolves quickly). Here is the description of the latest (more manual) installation I did on CentOS for the remote visualization, mainly as a reference for me. This uses kubeadm something that has simplified the installation of kubernetes.
update kubeadm (from https://kubernetes.io/docs/setup/independent/install-kubeadm/)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.
read moreTag: Metainfo
NOMAD
NOMAD Meta Info
The metainfo, is the way we describe all quantities extracted in by NOMAD CoE Archive.
read moreTag: Nginx
Tag: NOMAD CoE
NOMAD
NOMAD
After 3 years the NOMAD Center of Exellence officially finished. There was lots of good work so it is a good moment to look at good things coming out of its development, that I was involved in. I call these NOMAD Gems.
Here are some resources describing the infrastructure, who worked on it and the experience we gathered.
The posts with the tag nomad are also related to it.
read moreTag: Containers
NOMAD
Container Manager
Description of a flexible platform to start user associated containers providing a service.
read moreTag: Team
Tag: Crypto
April 2, 2000
Criptazione Liceo
Punti sparsi di una lezione che ho dato al liceo sulla criptografia
Privacy alcuni punti riguardo alla protezione della privacy e alla crittografia Motivazione computer registrano tutto -> mancanza di privacy. Soluzioni:
dare le informazioni solo a chi deve riceverle (criptare) dare solo le informazioni necessarie (minimum disclosure arguments) Contesto (e un po' di storia) Antichità - II guerra mondiale Militari, consoli: messaggi cifrati romani p.s. Cesare (shift dell'alfabeto) sparta (striscia di carta su cilindro) in generale permutazione delle lettere II guerra mondiale: Enigma (macchina per cifrare tedesca) .
read moreApril 1, 2000
Merkle's puzzles
Crittografia Crittografia a chiave pubblica Idea -> lucchetto (chiave pubblica, privata)
Esempio Merkle's puzzles Creare un lucchetto (e una chiave) Creare tantissimi problemi risolvibili (ma che necessitano un po' di tempo) e con come risultato due numeri: n e k in modo che n sia 1 per un problema, 2 per un altro, 3 per un alto ancora,...
Tenere a mente che k corrisponde ad ogni n (la chiave privata) Spedire tutti i problemi (ma in sequenza disordinata, casuale) (questa è la chiave pubblica)
read moreTag: Simulation
January 3, 2005
Artificial Life and the likes
An old draft of my thoughts on artificial life and evolution, most of this is in my thoughts on philosophy, and the book reviews of Rachels and John Mainard Smith.
Artificial Life and the likes Artificial life, artificial intelligence and evolution are all things that I find very interesting. I find the information given by the TV, SF films, and the like often badly misleading or plainly wrong (often because it either devilish, or imbibed of a romantic view of intelligence or man).
read moreTag: Divulgazione
April 2, 2000
Criptazione Liceo
Punti sparsi di una lezione che ho dato al liceo sulla criptografia
Privacy alcuni punti riguardo alla protezione della privacy e alla crittografia Motivazione computer registrano tutto -> mancanza di privacy. Soluzioni:
dare le informazioni solo a chi deve riceverle (criptare) dare solo le informazioni necessarie (minimum disclosure arguments) Contesto (e un po' di storia) Antichità - II guerra mondiale Militari, consoli: messaggi cifrati romani p.s. Cesare (shift dell'alfabeto) sparta (striscia di carta su cilindro) in generale permutazione delle lettere II guerra mondiale: Enigma (macchina per cifrare tedesca) .
read moreApril 1, 2000
Merkle's puzzles
Crittografia Crittografia a chiave pubblica Idea -> lucchetto (chiave pubblica, privata)
Esempio Merkle's puzzles Creare un lucchetto (e una chiave) Creare tantissimi problemi risolvibili (ma che necessitano un po' di tempo) e con come risultato due numeri: n e k in modo che n sia 1 per un problema, 2 per un altro, 3 per un alto ancora,...
Tenere a mente che k corrisponde ad ogni n (la chiave privata) Spedire tutti i problemi (ma in sequenza disordinata, casuale) (questa è la chiave pubblica)
read more