From e380f26a7294416c7ad7a11449a9b02472120900 Mon Sep 17 00:00:00 2001 From: danix Date: Thu, 2 Feb 2023 13:09:06 +0100 Subject: [PATCH] added various articles from the previous version of my site. --- articles/a-new-life-begins.md | 20 ++ articles/about-loneliness.md | 23 ++ articles/baking-programs.md | 19 ++ articles/bellissimo-commento-sul-tubo.md | 12 + articles/cad-designing-in-gnu-linux.md | 84 ++++++ articles/ceasar-quote.md | 25 ++ articles/conquista-la-folla.md | 21 ++ articles/convertire-file-video-in-mp3.md | 30 +++ articles/gify-back-to-bash-scripting.md | 244 ++++++++++++++++++ articles/git-setup-own-server-part2.md | 57 ++++ articles/haiku-2.md | 23 ++ articles/haiku.md | 21 ++ articles/imagine.md | 21 ++ articles/io-supporto-mario-congiusta.md | 45 ++++ articles/katsushika-hokusai.md | 69 +++++ articles/la-giornata-del-pi-greco.md | 47 ++++ articles/le-email-queste-sconosciute.md | 58 +++++ ...nage-your-passwords-with-password-store.md | 122 +++++++++ articles/money-for-indipendence.md | 24 ++ articles/myself-as-a-droid.md | 21 ++ articles/nerdness.md | 21 ++ articles/new-home-server-ideas.md | 35 +++ articles/outside-of-the-box.md | 23 ++ articles/playing-with-colors.md | 34 +++ articles/poker-time.md | 20 ++ articles/pure-nerdgasm.md | 25 ++ articles/r-i-p-steve-jobs.md | 17 ++ articles/responsibility.md | 21 ++ .../sasso-carta-forbice-lucertola-spock.md | 43 +++ articles/speak-to-me.md | 23 ++ articles/sunset-in-siderno.md | 27 ++ .../vulnerabilities-for-pgp-and-emails.md | 35 +++ articles/walt-quote.md | 23 ++ ...cher-un-metodo-per-aggiornare-wordpress.md | 130 ++++++++++ ...r-e-dual-head-su-slackware-12-2-e-intel.md | 58 +++++ is/index.md | 4 +- 36 files changed, 1522 insertions(+), 3 deletions(-) create mode 100644 articles/a-new-life-begins.md create mode 100644 articles/about-loneliness.md create mode 100644 articles/baking-programs.md create mode 100644 articles/bellissimo-commento-sul-tubo.md create mode 100644 articles/cad-designing-in-gnu-linux.md create mode 100644 articles/ceasar-quote.md create mode 100644 articles/conquista-la-folla.md create mode 100644 articles/convertire-file-video-in-mp3.md create mode 100644 articles/gify-back-to-bash-scripting.md create mode 100644 articles/git-setup-own-server-part2.md create mode 100644 articles/haiku-2.md create mode 100644 articles/haiku.md create mode 100644 articles/imagine.md create mode 100644 articles/io-supporto-mario-congiusta.md create mode 100644 articles/katsushika-hokusai.md create mode 100644 articles/la-giornata-del-pi-greco.md create mode 100644 articles/le-email-queste-sconosciute.md create mode 100644 articles/manage-your-passwords-with-password-store.md create mode 100644 articles/money-for-indipendence.md create mode 100644 articles/myself-as-a-droid.md create mode 100644 articles/nerdness.md create mode 100644 articles/new-home-server-ideas.md create mode 100644 articles/outside-of-the-box.md create mode 100644 articles/playing-with-colors.md create mode 100644 articles/poker-time.md create mode 100644 articles/pure-nerdgasm.md create mode 100644 articles/r-i-p-steve-jobs.md create mode 100644 articles/responsibility.md create mode 100644 articles/sasso-carta-forbice-lucertola-spock.md create mode 100644 articles/speak-to-me.md create mode 100644 articles/sunset-in-siderno.md create mode 100644 articles/vulnerabilities-for-pgp-and-emails.md create mode 100644 articles/walt-quote.md create mode 100644 articles/wp_patcher-un-metodo-per-aggiornare-wordpress.md create mode 100644 articles/xrandr-e-dual-head-su-slackware-12-2-e-intel.md diff --git a/articles/a-new-life-begins.md b/articles/a-new-life-begins.md new file mode 100644 index 0000000..f8dc411 --- /dev/null +++ b/articles/a-new-life-begins.md @@ -0,0 +1,20 @@ +--- +title: A new life begins +author: Danilo M. +type: post +date: 2013-07-15T01:24:14+00:00 +draft: true +url: /?p=3411 +categories: + - life +tags: + - 2013 + - america + - cast member + - epcot + - florida + - orlando + - walt disney world +format: gallery + +--- diff --git a/articles/about-loneliness.md b/articles/about-loneliness.md new file mode 100644 index 0000000..4c550c8 --- /dev/null +++ b/articles/about-loneliness.md @@ -0,0 +1,23 @@ +--- +title: About Loneliness +author: Danilo M. +type: post +date: 2011-08-11T18:09:41+00:00 +excerpt: again on loneliness, solitude and misantropy +url: /2011/08/about-loneliness/ +categories: + - blogging + - quotes +tags: + - loneliness + - solitude +format: quote + +--- +
+

+ Loneliness is the poverty of self, solitude is the richness of self. +

+ + May Sarton +
\ No newline at end of file diff --git a/articles/baking-programs.md b/articles/baking-programs.md new file mode 100644 index 0000000..ae8d748 --- /dev/null +++ b/articles/baking-programs.md @@ -0,0 +1,19 @@ +--- +title: baking programs +author: Danilo M. +type: post +date: 2019-01-02T15:36:49+00:00 +excerpt: "baking a cake and building a program from source have a lot in common, and both will leave you satisfied once they've finished cooking" +url: /2019/01/baking-programs/ +featured_image: /wp-content/uploads/2019/01/bake-a-cake-scaled.jpg +categories: + - diy + - linux + - slackware +tags: + - slackbuild + +--- +Compiling programs always feels like you’re baking a cake, you look for it, check the dependancies and then run the slackbuild, leave your computer to go grab a drink and when you come back you see an error, checking for it you notice you’ve forgotten a dependency, it’s like you put your cake in the oven, starts cooking and after a while you go “_oh shit, I forgot to add sugar to the dough_“. + +I’ve been compiling a couple programs in the past few days and I’ve ended up patching them a lot, to compile audacity I had to go around and add 6 patches before the script managed to compile correctly, and today with qpdfview it was the same, still dependancy errors but in the end I made it work and let me tell you, when you come back to your PC and the script has ended and it says the program is installed it’s almost like you could smell it, your freshly baked cake waiting for you to enjoy it… \ No newline at end of file diff --git a/articles/bellissimo-commento-sul-tubo.md b/articles/bellissimo-commento-sul-tubo.md new file mode 100644 index 0000000..fecc525 --- /dev/null +++ b/articles/bellissimo-commento-sul-tubo.md @@ -0,0 +1,12 @@ +--- +title: bellissimo commento sul tubo +author: Danilo M. +type: post +date: 2010-12-08T12:51:23+00:00 +draft: true +url: /?p=2470 +categories: + - status + +--- + guardate questo fantastico commento trovato sul tubo sotto una canzone di… beh, provate ad indovinare :D \ No newline at end of file diff --git a/articles/cad-designing-in-gnu-linux.md b/articles/cad-designing-in-gnu-linux.md new file mode 100644 index 0000000..d81374e --- /dev/null +++ b/articles/cad-designing-in-gnu-linux.md @@ -0,0 +1,84 @@ +--- +title: CAD designing in GNU/Linux +author: Danilo M. +type: post +date: 2021-05-01T17:51:58+00:00 +excerpt: | + I've picked up the hobby of 3D printing, and this time I'll show you what software options you have on GNU/Linux if you want to design and prepare your "things" to be printed on a 3D printer +url: /2021/05/cad-designing-in-gnu-linux/ +featured_image: /wp-content/uploads/2021/05/PXL_20210501_114542849-scaled.jpg +categories: + - 3D Printing + - diy +tags: + - 3D printing + - cad + - cura + - fusion360 + - slicer + - solvespace + +--- +
+

+ Guess who’s back +

+ +

+ back again +

+ +

+ danix’s back +

+ +

+ tell your friends +

+ + Semicit. Eminem +
+ +So, I’m back at writing on this blog, it’s been a long time, I’ve been through quite some shitty times and a lot happened on a personal level that kept my attention away from blogging. + +One of the things that I’ve introduced in my life is a 3D printer, I’m the proud owner of an Ender3 Pro by creality. +I’ve had it for a few months now and I’m pretty happy I purchased it, as it’s been a very helpful hobby, and even though I started this hobby using tools available for windows, I’m slowly moving back to GNU/Linux. + + + +## Slicing + +The software you mainly use with a 3D printer is a slicer, which is a piece of software that takes a 3D rendering of the item you want to print and slice it into many layers, stacked one on top of the other, you can manipulate the layers in various ways in order to alter the properties of the final printed item.
+ +Screenshot of Ultimaker Cura 4.9
Ultimaker Cura 4.9 main interface
+ +I’ve chosen Ultimaker Cura as my main slicer, I started with it and I found it’s easy enough for a noob like me, but manages to give the user a lot of room for customization when you start understanding how it works. + +So far so good, Cura is available for windows, mac and GNU/Linux, so I went and downloaded the appImage package and I have to say, the loading time it’s even faster than on windows, I’ve added a few plugins and sliced quite a few files, and I’m very happy as to how it’s performing. + +## CAD drawing + +Now, everything would be good as it is, if you plan on using only the files you can find on the internet, which is a great deal, considering there’s sites like thingiverse.com or myminifactory.com, where you can find litterally millions of files ready to be sliced and printed. + +Different story if you want to actually design a piece to be printed, in that case you’ll need a cad software. + +On windows my choice went immediately to Fusion360, not only it’s from Autodesk, the same company that authors AutoCad, the de-facto standard in the industry for mechanical cad, but the main reason is that Fusion360 offers a yearly free subscription for hobbyist and students. + +Another good reason for choosing Fusion360 is the huge amount of tutorials you can find on the web on how to approach cad design with it, it’s really great for beginners as it gives you an even easier learning curve. + +Sadly Fusion360 is not available on GNU/Linux, and that’s the main reason I’ve decided to look for a valid alternative, another very good reason for not using Fusion, is the fact that all of your files are uploaded to the cloud, and you are limited (in the free tier) to a maximum of 10 editable files at a time, which might seem a lot, but may easily become way too few depending on what are you working on. Anyway, after some searching, I’ve found a solution!! + +## Meet SolveSpace
+ +[solvespace interface][1]
SolveSpace interface
+ +SolveSpace is a 2D/3D parametric cad Software, it’s totally free, licensed under the GPLv3 and available for windows, mac and of course GNU/Linux.
+ +I’ve watched this introductory video and was able to pick it up and start designing in a matter of minutes, it’s very straightforward and even if it does things a bit differently than Fusion, it’s still very comfortable to use. + +The development is very active, this month was released the latest stable version which is 3.0 and I managed to compile it without any hassle on my Slackware64-current. Probably, once Slackware64 reaches the stable 15.0, I will push the slackbuild to the SBo mailing list and see if they will make it available. In the mean time, if anyone is interested, just drop me a few lines in the [comments below][2], or on the contact page. + +Thanks for passing by, and I’ll see you on the next one ;) + + [1]: https://solvespace.com/index.pl + [2]: #comments \ No newline at end of file diff --git a/articles/ceasar-quote.md b/articles/ceasar-quote.md new file mode 100644 index 0000000..ec5c1f0 --- /dev/null +++ b/articles/ceasar-quote.md @@ -0,0 +1,25 @@ +--- +title: Ceasar quote +author: Danilo M. +type: post +date: 2011-07-28T19:03:39+00:00 +excerpt: Una citazione di Giulio Cesare. +url: /2011/07/ceasar-quote/ +categories: + - blogging +tags: + - Ceasar + - quote +format: quote + +--- +
+

+ What we wish, we readily believe, and what we ourselves think, we imagine others think also. +

+ + Caesar +
+ +

+

\ No newline at end of file diff --git a/articles/conquista-la-folla.md b/articles/conquista-la-folla.md new file mode 100644 index 0000000..0c5c329 --- /dev/null +++ b/articles/conquista-la-folla.md @@ -0,0 +1,21 @@ +--- +title: conquista la folla.. +author: Danilo M. +type: post +date: 2013-04-21T08:17:11+00:00 +url: /2013/04/conquista-la-folla/ +categories: + - blogging +tags: + - gladiator + - massimo decimo meridio +format: quote + +--- +
+

+ conquisterò la folla… gli darò qualcosa che non ha mai visto prima +

+ + Massimo X Meridio +
\ No newline at end of file diff --git a/articles/convertire-file-video-in-mp3.md b/articles/convertire-file-video-in-mp3.md new file mode 100644 index 0000000..0aedc23 --- /dev/null +++ b/articles/convertire-file-video-in-mp3.md @@ -0,0 +1,30 @@ +--- +title: convertire file video in mp3 +author: Danilo M. +type: post +date: 2012-05-25T15:42:02+00:00 +excerpt: a simple way to convert from a video file to an mp3 +url: /2012/05/convertire-file-video-in-mp3/ +categories: + - code + - diy + - linux +tags: + - audio + - convert + - mp3 + - video + +--- +un piccolo appunto su come convertire velocemente un video in mp3.. + +
ffmpeg -i file_da_convertire.flv -f mp3 -ab 192000 -vn nuovo_file.mp3
+ +ovviamente bisogna avere ffmpeg installato nel sistema, le opzioni che abbiamo passato sulla riga sono: + + * -i: file di input + * -f: formato di output + * -ab: bitrate del file mp3 + * -vn: non catturare il video + +Semplice e veloce, provare per credere.. ;) e ovviamente se usate questo comando o lo migliorate in qualche modo fatemelo sapere nei commenti.. \ No newline at end of file diff --git a/articles/gify-back-to-bash-scripting.md b/articles/gify-back-to-bash-scripting.md new file mode 100644 index 0000000..81ebcad --- /dev/null +++ b/articles/gify-back-to-bash-scripting.md @@ -0,0 +1,244 @@ +--- +title: gify.sh – back to bash scripting +author: Danilo M. +type: post +date: 2016-01-25T12:41:06+00:00 +url: /2016/01/gify-back-to-bash-scripting/ +featured_image: /wp-content/uploads/2016/01/G0092546.jpg +categories: + - code + - diy + - fotografia +tags: + - bash + - convert + - gif + - imagemagik + - mogrify + - script + +--- +
+
gif image created using gify.sh
+
+ +Today I’ll present you a useful script that will help you create amazing gifs from your still photos using a couple tools from the IMAGEMAGIK suite, so without further ado, here it is, straight from github’s gists. + + + +what the code does is quite simple, it takes a few arguments and helps you resize your images while keeping the original proportions. Put the code in your path and let’s put it to work. + + + +For this example we’ll pretend you have a bunch of jpg pictures, maybe something you shot while travelling france, put them in a folder and run the script like this: + +
gify.sh --resize 900 jpg
+ +depending on the amount of images it may take a while, and when it’s done you’ll have all of your jpg resized to 900px wide and with proportional height. + +now it’s time to render all of your jpg into one animated gif so, while in the same directory, run the script like this: + +
gify.sh --gif 10 jpg paris
+ +the parameters now are a bit different, first we tell the script that we want to create a gif with the `--gif` option, then we tell the interval between every frame, that number is expressed in 100th of a second, so now we are telling the gif to change frame every 10/100 of second, the following parameter is the extension of the images we’ll be using, in our example is jpg (it’s case sensitive, so make sure all the images you want to use have the same extension), and finally we set the name of the gif, without the extension, the script will provide it for us. + +The gif you see at the beginning of the article was created with this script. + +I made this script mostly for fun and personal use, so it’s absolutely not idiot proof, can be improved but for me it works just fine. If you want to modify it, feel free to fork it on github or just download it and do whatever you like with it, and if you want to share it with me, use the comment form below. + +I’ll leave you with a copy of the script here in case you want to have a look at it before downloading. +Enjoy! + +
#! /bin/bash
+
+# Author:       Danilo 'danix' Macri
+# Author URI:   https://danix.xyz
+# Script URI:   https://danix.xyz/?p=3545
+# License:      GPL2
+# License URI:  https://www.gnu.org/licenses/gpl-2.0.html
+
+#--------------------------------------------------------------------------------#
+#                                                                                #
+#             GIFY.SH - CREATE ANIMATED GIFS OUT OF A BUNCH OF IMAGES            #
+#                                                                                #
+# Use this script to create animated looping gifs from a bunch of images. You    #
+# just need to arrange all the images you want to use inside a folder and then   #
+# launch this script with a few options and you'll have your gif within seconds. #
+#                                                                                #
+# This script uses mogrify and convert from the IMAGEMAGIK suite to deliver the  #
+# gifs. This script can proportionally resize your images to help you create a   #
+# lighter file.                                                                  #
+#                                                                                #
+#--------------------------------------------------------------------------------#
+
+# ERROR & EXIT STATUSES
+SHOWHELP=61
+USERABORTED=62
+
+E_INTERROR=71
+E_NOOPTS=72
+E_NOARGS=73
+E_FILEXISTS=74
+E_NOIMAGES=75
+E_UNKNOWNOPT=76
+
+# TOOLS
+PWD=$(pwd)
+MOGRIFY=$(which mogrify)
+CONVERT=$(which convert)
+
+# we need mogrify and convert from the imagemagik toolset for this script to work
+if [[ ! -x $MOGRIFY || ! -x $CONVERT ]]; then
+    showerror missingdeps
+    exit $E_MISSINGDEPS
+fi
+
+
+# showhelp
+showhelp ()
+{
+case $1 in
+    resize )
+        echo "USAGE: $(basename $0) -r | --resize [width] [extension]"
+        ;;
+    gif )
+        echo "USAGE: $(basename $0) -g | --gif [delay] [extension] [output file name]"
+        ;;
+    * )
+                #|----------------------- TEXT MAX WIDTH - 80 CHARS ----------------------------|
+        echo -e "$(basename $0) - create animated gifs from images inside current directory"
+        echo -e "USAGE: $(basename $0) <option> [arguments]"
+        echo -e "\twhere <option> is one between:";echo
+        echo -e "\t-r | --resize [width] [extension]"
+        echo -e "\t\tresizes all the images matching the extension in the current folder to"
+        echo -e "\t\tthe width specified as argument.";echo
+        echo -e "\tg | --gif [delay] [extension] [output file name]"
+        echo -e "\t\tcreates the gif file using all the images in the current folder."
+        echo
+        echo -e "EXAMPLES:"
+        echo -e "$(basename $0) --resize 900 jpg"
+        echo -e "\twill resize all jpg images in the folder to 900px wide and mantain the"
+        echo -e "\taspect ratio of the original images"
+        echo
+        echo -e "$(basename $0) --gif 8 jpg france"
+        echo -e "\twill create a looping gif named france.gif using all the jpg files found"
+        echo -e "\tin the current folder and passing a tick delay of 8 between frames".
+        echo
+        ;;
+esac
+}
+
+# showerror
+showerror ()
+{
+    if [ -z $1 ];then
+        echo "INTERNAL ERROR - ABORTING"; echo
+        exit $E_INTERROR
+    fi
+    case $1 in
+        unknownopt)
+            echo "unknown option. Exiting."; echo
+        ;;
+        noopts)
+            echo "you didn't specify any options for the script to run. Exiting."; echo
+        ;;
+        noargs)
+            echo "you didn't specify any arguments for this option. Exiting."; echo
+        ;;
+        filexists)
+            echo "the file you want to write already exists. Exiting."; echo
+        ;;
+        noimages)
+            echo "at least two files must exist within $PWD with the"
+            echo "specified extension. Exiting"; echo
+        ;;
+        missingdeps)
+            echo "$(basename $0) requires both mogrify and convert from"
+            echo "the imagemagik tool suite. Install imagemagik using your"
+            echo "favourite package manager and then run this script again. Exiting."; echo
+    esac
+}
+
+##### MAIN #####
+if [ $# -eq 0 ];then
+    showerror noopts
+    showhelp
+    exit $E_NOOPTS
+else
+
+    while [ $# -gt 0 ];do
+        case $1 in
+            -h|--help)
+                showhelp
+                exit $SHOWHELP
+            ;;
+            -r|--resize)
+                WIDTH=$2
+                EXT=$3
+                shift
+                if [[ -z $WIDTH || -z $EXT ]];then
+                    showhelp resize
+                    showerror noargs
+                    exit $E_NOARGS
+                fi
+                IMAGES="$(ls -1 *.$EXT 2>/dev/null | wc -l)"
+                if [[ $IMAGES == 0 ]]; then
+                    showerror noimages
+                    exit $E_NOIMAGES
+                fi
+                clear
+                COUNT="$(ls -1 *.$EXT 2>/dev/null | wc -l)"
+                echo "you're going to resize all $COUNT .$EXT images inside $PWD at a fixed width of ${WIDTH}px"
+                read -p "do you wish to continue? [y/n] " -n 1 -r; echo
+                if [[ ! $REPLY =~ ^[Yy]$ ]]
+                then
+                    exit $USERABORTED
+                else
+                $MOGRIFY -resize $WIDTH *.$EXT
+                exit 0
+                fi
+            ;;
+            -g|--gif)
+                DELAY=$2
+                EXT=$3
+                OUTPUT=$4
+                shift
+                if [[ -z $DELAY || -z $EXT || -z $OUTPUT ]];then
+                    showhelp gif
+                    showerror noargs
+                    exit $E_NOARGS
+                elif [[ -f ${OUTPUT}.gif ]]; then
+                    showerror filexists
+                    exit $E_FILEXISTS
+                fi
+                IMAGES="$(ls -1 *.$EXT 2>/dev/null | wc -l)"
+                if [[ $IMAGES == 0 ]]; then
+                    showerror noimages
+                    exit $E_NOIMAGES
+                fi
+                clear
+                COUNT="$(ls -1 *.$EXT 2>/dev/null | wc -l)"
+                echo "you're going to create a looping gif named ${OUTPUT}.gif"
+                echo "out of all the $COUNT $EXT files inside $PWD with a tick"
+                echo "delay of $DELAY/100 of a second"; echo
+                read -p "do you wish to continue? [y/n] " -n 1 -r; echo
+                if [[ ! $REPLY =~ ^[Yy]$ ]]
+                then
+                    exit $USERABORTED
+                else
+                    $CONVERT -delay $DELAY *.$EXT -loop 0 ${OUTPUT}.gif
+                    exit 0
+                fi
+            ;;
+            *)
+                showerror unknownopt
+                showhelp
+                exit $E_UNKNOWNOPT
+        esac
+        shift
+    done
+fi
\ No newline at end of file diff --git a/articles/git-setup-own-server-part2.md b/articles/git-setup-own-server-part2.md new file mode 100644 index 0000000..3f7d7af --- /dev/null +++ b/articles/git-setup-own-server-part2.md @@ -0,0 +1,57 @@ +--- +title: Git – how to setup your own server pt 2 +author: Danilo M. +type: post +date: 2018-12-17T07:39:08+00:00 +excerpt: followup on my previous article regarding GIT and how to automatically deploy python flask scripts to serve a web app with apache. +draft: true +url: /?p=3849 +featured_image: /wp-content/uploads/2018/07/gitout.jpg +categories: + - blogging + - code + - diy + - linux +tags: + - automation + - do it yourself + - flask + - git + - howto + - python + - ssh + +--- +This is a followup on [my previous article about how to setup your server][1] to handle a GIT repository and deploy to a web server like apache. + +Since I started experimenting with python and web publishing with it I wanted a way to push all the changes to my codebase directly to a web server, in a similar way as to what I already do with php and apache.
+ +
+

+ I want to do it myself, the way I like it.. +

+ + danix +
+ +Serving python scripts is slightly different than serving html or php, here’s a scheme that shows what happens when using python (flask in this example) to serve some web content. + + +
+
a simple scheme of how python scripts are served on the web.
+
+ +As you can see the web server is acting as a reverse proxy to the [WSGI][2] server Gunicorn, Apache receives a request from a client, forwards the request to Gunicorn which in turn asks the python web service, in our case our flask web app. Other than as a reverse proxy, apache is used also to serve static content which is not originated in python, like images, css or js scripts. + +In order to deploy a python web app I had to install the mod_wsgi extension for apache, then I decided to use a folder in my system to install the virtual environment for python to run my web app and point to that directory in my vhost configuration file inside apache. After that I created a directory where to store all files for my web app and instructed apache to serve them using the virtualenv I created earlier. This is more or less what I did: + +
# create the virtual environment for python inside
# the folder /usr/local/virtualenvs/my-app:
virtualenv /usr/local/virtualenvs/my-app

# now create the directory inside the apache root
# to store our web app
mkdir /var/www/htdocs/my-app
+ +Now if we put all the py files for our flask web app we can run it inside apache, this is the configuration for the vhost I used: + +
<VirtualHost *:80>
ServerName my-app.mysite.ext
ErrorLog "/var/log/httpd/my-app.error_log"
CustomLog "/var/log/httpd/my-app.access_log" common
WSGIDaemonProcess my-app user=apache group=apache threads=5 python-home=/usr/local/virtualenvs/my-app
WSGIScriptAlias / /var/www/htdocs/my-app/my-app.wsgi
WSGIProcessGroup my-app
Alias "/static/" "/var/www/htdocs/my-app/static/"
<Directory "/var/www/htdocs/my-app/static/">
Order allow,deny
Allow from all
</Directory>
<Directory "/var/www/htdocs/my-app/">
Require all granted
</Directory>
</VirtualHost>

+ +With this setting I can now reach my web app and test it after restarting the web server. + + [1]: https://danix.xyz/2018/07/git-setup-own-server/ + [2]: https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface \ No newline at end of file diff --git a/articles/haiku-2.md b/articles/haiku-2.md new file mode 100644 index 0000000..40ddd09 --- /dev/null +++ b/articles/haiku-2.md @@ -0,0 +1,23 @@ +--- +title: haiku +author: Danilo M. +type: post +date: 2011-01-09T23:15:01+00:00 +url: /2011/01/haiku-2/ +categories: + - blogging +tags: + - haiku + - loneliness + - love + - quotes +format: quote + +--- +
+

+ il suo profumo.
il piacere dei sensi.
fine di un sogno… +

+ + yours truly +
\ No newline at end of file diff --git a/articles/haiku.md b/articles/haiku.md new file mode 100644 index 0000000..156d6a9 --- /dev/null +++ b/articles/haiku.md @@ -0,0 +1,21 @@ +--- +title: haiku +author: Danilo M. +type: post +date: 2010-12-02T10:33:50+00:00 +url: /2010/12/haiku/ +categories: + - blogging +tags: + - haiku + - quotes +format: quote + +--- +
+

+ Gli uccelli cantano
nel buio.
– Alba piovosa. +

+ + Jack Kerouac +
\ No newline at end of file diff --git a/articles/imagine.md b/articles/imagine.md new file mode 100644 index 0000000..89cd485 --- /dev/null +++ b/articles/imagine.md @@ -0,0 +1,21 @@ +--- +title: Imagine. +author: Danilo M. +type: post +date: 2015-01-11T01:38:25+00:00 +url: /2015/01/imagine/ +featured_image: /wp-content/uploads/2020/10/imagine_colors-scaled.jpg +categories: + - freedom + - musica +tags: + - imagine + - john lennon +format: image + +--- +
+
+
+ +via http://www.filmsforaction.org/articles/john-lennons-imagine-made-into-a-comic-strip/ \ No newline at end of file diff --git a/articles/io-supporto-mario-congiusta.md b/articles/io-supporto-mario-congiusta.md new file mode 100644 index 0000000..df34928 --- /dev/null +++ b/articles/io-supporto-mario-congiusta.md @@ -0,0 +1,45 @@ +--- +title: Mario Congiusta candidato al Consiglio Regionale della Calabria +author: Danilo M. +type: post +date: 2010-03-05T09:17:55+00:00 +url: /2010/03/io-supporto-mario-congiusta/ +categories: + - blogging + - freedom + - itaglia +tags: + - calabria + - candidato + - congiusta + - consiglio + - elezioni + - incensurato + - libertà di stampa + - mario + - regionale + +--- +

+ Vi voglio segnalare un avvenimento molto importante per me. Premesso che io non mi interesso molto di politica, mi guardo intorno e mi rendo conto che la situazione in Calabria e in Italia sta cadendo vertiginosamente in un baratro senza fondo. +

+ +La corruzione c’è sempre stata, ma ultimamente la nostra politica sembra diretta sempre più verso un’idea totalitaria, verso un futuro che non voglio nemmeno immaginare. Chi è al potere cerca di accentrare sempre più potere su se stesso, non esistono più schieramenti, tutti le parti politiche collaborano tra loro di nascosto, si scambiano favori in modo da ottenerne altri, e tutto questo uccide la democrazia, tutto questo uccide la voce che il popolo ha in merito alle questioni dello Stato. + + + +Io non mi occupo di politica dicevo, però sento che intorno a noi c’è bisogno di maggiore chiarezza, c’è bisogno di trasparenza, io voglio poter dire che le persone che ricoprono una qualsiasi carica pubblica, o che aspirano a ricoprirla, sono persone oneste, sono persone che aspirano a quella carica **per esprimere le proprie idee**, non per guadagnare di più. Io voglio partecipare ai concorsi pubblici senza dovermi preoccupare del fatto che ci saranno persone sleali che otterranno risultati migliori dei miei perchè “spinti” da questo o quel potente. :vangry: + +Mi rendo conto che queste potrebbero sembrare considerazioni utopistiche, ma se non miriamo ad un traguardo più alto, più nobile, stiamo solo facendo un favore a chi è già al potere, **se continueremo a giocare secondo le loro regole, non potremo mai vincere**. + +Per questo voglio segnalarvi la **candidatura di Mario Congiusta** alle prossime Elezioni per il Consiglio Regionale Calabrese. + + + +E’ di persone come Mario che la Calabria, l’Italia intera ha bisogno in questo momento. + +Bisogna partire da persone come Mario Congiusta perchè l’onestà e la trasparenza delle cariche politiche non dev’essere un valore aggiunto, l’onestà deve essere la norma, i valori aggiunti di un politico sono le idee ed in base a quelle i politici vanno confrontati. + +Come ho detto, non mi occupo di politica, però sono un accanito sostenitore dell’onestà, dalle piccole cose a quelle più importanti, e spero un giorno di poter vivere in uno Stato democratico che non sia tale soltanto a parole ma che assicuri ai suoi cittadini una pacifica convivenza, senza sotterfugi… :halo: + +Voi la chiamerete utopia, io la chiamo **speranza**. \ No newline at end of file diff --git a/articles/katsushika-hokusai.md b/articles/katsushika-hokusai.md new file mode 100644 index 0000000..2925826 --- /dev/null +++ b/articles/katsushika-hokusai.md @@ -0,0 +1,69 @@ +--- +title: Katsushika Hokusai +author: Danilo M. +type: post +date: 2011-07-27T20:35:16+00:00 +excerpt: 'A few images by japanese artist Katsushika Hokusai (1760-1849), author of the famous series of 36 pictures portraying Mt. Fuji ' +url: /2011/07/katsushika-hokusai/ +featured_image: /wp-content/uploads/2011/07/The-Great-Wave-Off-Kanagawa-1823-large.jpg +categories: + - art + - blogging +tags: + - great wave + - hokusai + - katsushika + - mt fuji + - paintings +format: gallery + +--- +A few images by one of my favourite authors. + +**Katsushika Hokusai** (葛飾北斎, Katsushika Hokusai 1760–May 10, 1849) was a Japanese artist, ukiyo-e painter and printmaker of the Edo period. In his time he was Japan’s leading expert on Chinese painting. Born in Edo (now Tokyo), Hokusai is best-known as author of the woodblock print series Thirty-six Views of Mount Fuji (c. 1831) which includes the iconic and internationally recognized print, The Great Wave off Kanagawa, created during the 1820s. Hokusai created the “Thirty-Six Views” both as a response to a domestic travel boom and as part of a personal obsession with Mount Fuji. It was this series, specifically The Great Wave print and Fuji in Clear Weather, that secured Hokusai’s fame both within Japan and overseas. As historian Richard Lane concludes, “Indeed, if there is one work that made Hokusai’s name, both in Japan and abroad, it must be this monumental print-series…” While Hokusai’s work prior to this series is certainly important, it was not until this series that he gained broad recognition and left a lasting impact on the art world. It was The Great Wave print that initially received, and continues to receive, acclaim and popularity in the Western world. + +

+ Source: katsushikahokusai.org +

\ No newline at end of file diff --git a/articles/la-giornata-del-pi-greco.md b/articles/la-giornata-del-pi-greco.md new file mode 100644 index 0000000..10d9333 --- /dev/null +++ b/articles/la-giornata-del-pi-greco.md @@ -0,0 +1,47 @@ +--- +title: La giornata del pi Greco +author: Danilo M. +type: post +date: 2010-03-14T11:55:45+00:00 +url: /2010/03/la-giornata-del-pi-greco/ +categories: + - Uncategorized +tags: + - celebrazione + - festa + - lerry shawn + - pi greco + +--- +
+
+
+
+

+ Buona giornata del pi Greco a tutti… :D +

+
+
+
+
+ +
+
+

+ Dal 1988 si festeggia il 14 Marzo la giornata del pi Greco, la data è stata scelta in base alla scrittura anglosassone di questo giorno, 3.14 che ricorda l’approssimazione per 3 cifre del pi Greco. +

+
+
+ +Il primo a festeggiare questa ricorrenza fu il fisico Lerry Shawn che organizzò un corteo circolare attorno ad uno degli edifici dell’[Exploratorium di San Francisco][1] e la vendita di torte alla frutta decorate con le cifre decimali di questo magico numero. In seguito il fisico venne insignito del titolo di **Principe del pi Greco**. + + + +Tutt’oggi nei dipartimenti di matematica di numerose università si organizzano delle feste per celebrare questo numero. + +Per maggiori informazioni e qualche altro link interessante vi rimando alla [pagina][2] che wikipedia italia dedica a questo evento. + +Happy 3.14 a tutti :D + + [1]: http://it.wikipedia.org/wiki/Exploratorium "Exploratorium di San Francisco" + [2]: http://it.wikipedia.org/wiki/Giorno_di_pi_greco "giorno del pi greco su wikipedia" \ No newline at end of file diff --git a/articles/le-email-queste-sconosciute.md b/articles/le-email-queste-sconosciute.md new file mode 100644 index 0000000..48274b2 --- /dev/null +++ b/articles/le-email-queste-sconosciute.md @@ -0,0 +1,58 @@ +--- +title: le email queste sconosciute :) +author: Danilo M. +type: post +date: 2010-11-06T22:28:43+00:00 +draft: true +url: /?p=1209 +categories: + - blogging +tags: + - attachments + - email + - howto + - mistakes + - privacy + - subject + +--- +Prendo spunto da un simpatico quanto tristemente reale [articolo pubblicato][1] sul [blog di barbara sgarzi][2], una giornalista che non conoscevo ma che non mancherò di seguire, per parlarvi di un mezzo di comunicazione variamente utilizzato ma purtroppo spesso sottovalutato come le **email**. + + + +[][3]Già vi immagino, voi fedeli (3) lettori, subito pronti a dire: “_ma cosa vorrai mai insegnarci sulle email che già non sappiamo?!_” beh, iniziamo dalla prima cosa che colpisce l’occhio di chi riceve una mail, l’**oggetto**. + +Eh già, si chiama oggetto perchè serve a descrivere ciò di cui l’email parla, l’oggetto del messaggio appunto. Non ha quindi senso lasciare il campo in bianco o scrivere cose senza senso tipo “email da tizio”, “comunicazione da sempronio” eccetera, per sapere chi è il mittente dell’email c’è il campo “From” o “Da” oppure indovinate un po’, “Mittente”, l’avreste mai detto?! :) + + + +Un’altra cosa piuttosto bruttina da vedere è il corpo del messaggio vuoto con tutto il contenuto relegato negli allegati, se ricevo una mail così non è che mi precipito a leggere l’allegato, piuttosto la cestino direttamente… Gli allegati servono per allegare qualcosa che non si può mettere nel corpo del messaggio, non per contenere il messaggio… + +Un altro problema che affligge spesso chi riceve email è l’invio di foto… Su questo punto potremmo spendere fiumi di parole parlando del fatto che al giorno d’oggi con le adsl super veloci che ci ritroviamo non sia più un problema ricevere allegati pesanti, ma non capisco perchè io debba stare a scaricare una foto da 12 megapixel a 300 dpi se non dovrò nemmeno stamparla, ma al massimo condividerla sul blog o su facebook; perdete un attimino del vostro prezioso tempo anche voi e riducete le dimensioni delle foto che inviate, già ridurre la risoluzione da 300 a 72 [dpi][4] aiuterà notevolmente chi dovrà ricevere la mail oltre che farvi risparmiare molto tempo in invio.. Un altro appunto relativo alle dimensioni delle foto, se state mandando una foto di un tenero cucciolo che dovrà fare da sfondo al piccì del vostro/a amato/a, che senso ha che misuri 4000 pixel sul lato corto?! Una risoluzione decente potrebbe essere 1600 pixel sul lato lungo e il lato corto dimensionato in proporzione, in questo modo le dimensioni scenderanno ulteriormente senza che si perda la qualità del vostro pregevolissimo scatto… ;) + + + +[][5]Il punto successivo di questa carrellata potrebbe avere un titolo e un articolo a se, “_come inviare link. Il modo corretto di condividere i famigerati [URL][6]_“; fin dagli albori di internet si è avvertita infatti la necessità di condividere link interessanti con i nostri contatti, e sopratutto negli ultimi tempi i link sono diventati sempre più lunghi e complessi, cose tipo: + +
http://www.example.net/test/sample_page.php?variable00=aldsgfqeworslkdf2934523&variable01=abbecceddario&variable02=tomorrow+will+rain#bookmark539
+ +e nonostante io capisca che condividere i link sia fondamentale proprio non riesco a concepire il fatto che chi invia i link non si prenda la briga di controllare che siano quantomeno funzionanti prima di inviare la mail, il copia/incolla è una conquista stupenda, ma perchè fare la figura dei pirla (a dir poco) inviando link chilometrici spezzettati in 20 parti che per ricostruirli si impiega più tempo che a leggere il resto della posta, col rischio poi che ci si dimentichi di un minuscolo carattere tipo un punto e il link non funzioni?! Per ovviare a questo tipo di inconvenienti, si può fare più attenzione riguardando la mail prima di inviarla, oppure si può utilizzare uno dei tanti servizi di URL shortening presenti sul web, come ad esempio [uri.danixland.net][7], in questo modo i link diventeranno molto più brevi e semplici da gestire, e si eviteranno tanti problemi per chi legge le email… + + + +Ancora un altro consiglio, **ricontrollate ciò che avete scritto**, no seriamente, consegnereste mai un compito senza averlo nemmeno riguardato? E allora perchè prima di inviare una mail che vi sarà costata probabilmente meno tempo per scriverla, non le date una rilettura veloce?! Sono fantastiche le email con l’oggetto ma senza il testo, o quelle con il testo “_Allegato pronto per la spedizione_” ma senza l’allegato… Suvvia, che ci vuole a soffermarsi un attimo su ciò che si sta facendo?! + +Per ultimo mi lascio probabilmente la madre di tutti i comportamenti sbagliati quando si invia un’email, il disrispetto della privacy… di cosa sto parlando?! Avete presente quelle stupende catene di S. Antonio che vanno tanto di moda nei periodi di festa? Quelle con allegate le presentazioni strappalacrime in PowerPoint che “_se non le inoltri a 140 amici entro i prossimi 7 minuti non hai cuore e ti morirà il gatto strozzandosi mentre sta mangiando il pesce rosso e morendo cadrà in testa al cane al quale si spezzerà una gamba e per la tristezza l’uccellino non mangerà più e si lascerà morire?!_” Bene, quelle catene sono l’eden degli spammer, ricevere una di quelle email è come ricevere in regalo tutta la lista dei propri amici su facebook moltiplicata per tutti gli amici di ogni singolo amico, a volte sono più lunghe le liste di indirizzi email che il corpo stesso del messaggio.. Questo accade perchè probabilmente non si conosce bene il mezzo di comunicazione che si sta usando, il campo “A:” dovrebbe contenere il destinatario dell’email, e fin qui non ci piove, ma come comportarsi quando ci sono più destinatari? Ecco che ci viene in aiuto il campo “[Bcc:][8]” altrimenti detto “Ccn:“. Questo campo viene utilizzato per inserire i destinatari secondari dell’email e far si che il loro indirizzo non sia visibile ai destinatari principali specificati nel campo “To:”; quando ci sono tantissimi destinatari e non tutti si conoscono tra loro, è buona norma evitare che gli indirizzi email siano visibili onde evitare che qualcuno possa accusarvi di violazione della privacy… Io personalmente sono spesso tentato di denunciare i mittenti di email del genere :/ + +Mi sembra di aver esaurito gli argomenti riguardo le email, mi auguro di ricevere tante comunicazioni da voi, e spero proprio che farete tesoro di ciò che vi ho consigliato, altrimenti potete anche risparmiarvi il tempo di scrivermi, tanto probabilmente non leggerò mai ciò che mi mandate ;) + +Vi lascio nuovamente il link da cui ho attinto per scrivere questo articolo, dategli un’occhiata, come anche al resto del blog, è ben scritto e l’ho trovato variamente interessante. http://uri.danixland.net/e + + [1]: http://uri.danixland.net/e "decalogo per gli uffici stampa - blimunda.net" + [2]: http://uri.danixland.net/d "Il blog di blimunda" + [3]: http://danixland.net/wp-content/uploads/2010/11/email-at11.gif + [4]: http://uri.danixland.net/f "punti per pollice - wikipedia" + [5]: http://danixland.net/wp-content/uploads/2010/11/url1.jpg + [6]: http://uri.danixland.net/g "uniform resource locator - wikipedia" + [7]: http://uri.danixland.net "URL shortening made in danixland" + [8]: http://uri.danixland.net/h "Blind carbon copy - wikipedia" \ No newline at end of file diff --git a/articles/manage-your-passwords-with-password-store.md b/articles/manage-your-passwords-with-password-store.md new file mode 100644 index 0000000..e43cdae --- /dev/null +++ b/articles/manage-your-passwords-with-password-store.md @@ -0,0 +1,122 @@ +--- +title: Manage your passwords with password-store +author: Danilo M. +type: post +date: 2021-05-27T15:08:05+00:00 +excerpt: "Today I'll guide you on how to safely manage all your passwords with password-store" +url: /2021/05/manage-your-passwords-with-password-store/ +featured_image: /wp-content/uploads/2021/05/vault-door1.jpg +categories: + - android + - blogging + - diy + - linux +tags: + - android + - gnupg + - management + - password + - password-store + +--- +Hello everyone, + +lately I’ve decided not to use the password manager offered by all major browsers nowadays, but instead try to manage all my passwords using some open source software in order to have a better control over my passwords. + +I’ve decided to write this article after reading this blog entry by AlienBob where he speaks of KeepassXC, and since I’ve used it, I wanted to give a valid alternative to some downsides that I’ve stumbled upon while using it. + +The first approach I’ve attempted, as I said, was using KeepassXC, quoting their website: + +
+

+ KeePassXC – Cross-Platform Password Manager +

+ +

+ Never forget a password again.
Securely store passwords using industry standard encryption, quickly auto-type them into desktop applications, and use our browser extension to log into websites. +

+ + KeepassXC website +
+ +What I did was install keepassXC on my Slackware64-current, export all my passwords from my main browser, save them as CSV and import them inside keepassXC. Now I have to remember just one password to access my database and I can install the browser integration add-on for chromium (or firefox) to have all my passwords readily available. Neat!! + +To share my passwords between my devices, I simply made a private git repository on my server and synced the password database with it. I then went and installed KeePassDroid, which is an Android implementation of keepassXC. + +Since keepassdroid doesn’t sync automatically from a remote server, I had to use git on my phone to pull/push to my remote in order to keep the password database up to date, and even if that’s not a big deal, I wasn’t happy with my password workflow so, while still using this approach, I was looking for alternatives. + + + +## Meet password-store + +I stumbled upon password-store, which claims to be the standard unix password manager. + +The way it works is simple yet brilliant in my opinion, each password is kept secure in a gpg encrypted text file inside a known directory structure, the file itself as well as the directory containing it can have whatever naming convention you want, and everything can be manipulated with standard unix tools (cp, mv, rm, etc.). KISS rule, am I right?! + +Here’s how it looks like, standard tree view from the shell: + +
.password-store/
+[...]
+├── facebook/
+│   └── facebook-username
+├── twitter/
+│   └── twitter-username
+├── www.instagram.com/
+│   └── instagram-username
+[...]
+ +In this example, facebook is a directory, containing a gpg encrypted text file named “facebook-username”, in that file is written my password for that user on facebook, pretty straightforward. + +The beauty of the pass program, is that it also includes git subcommands, so you can use it to sync your password database to a remote. Here’s how it works: + +The first thing you want to do is create a remote repository on your git server, there’s a million ways to do so, and it depends on your git provider. If you want to host a git server I have an howto on this site, give it a look. + +After creating the remote repository, you want to clone it in `~/.password-store`, the default directory where pass will store all your credentials, and to do so you’ll do: + +
git clone myserver.com:git-repository ~/.password-store
+ +Assuming you already have a gpg key pair for johndoe@youremailaddress.com, you’ll have to initialize the password repository like this: + +
pass init johndoe@youremailaddress.com
+ +Now pass will use the gpg key pair for that email address when encrypting and decrypting your passwords. Since it also understands when the directory is a local clone of a git repository, after initializing with the previous command, it created a commit ready to be pushed, so all you have to do is + +
cd ~/.password-store && git push
+# or you can use pass internal git capabilities with:
+pass git push
+ +and your password database will be synced. + +From there you can simply invoke pass to see all your passwords, you can search your database, add or remove passwords, modify them etc. For more info you can check the manual where you also have advanced examples on how to use git with pass. + +On my android phone I’ve installed the mobile version of Password Store, I’ve setup my ssh key in order to be able to pull/push from my git remote, and now I have all my passwords syncronized to my mobile as well. + +## On the phone + +The process for installing password-store on the phone is a bit tricky, but nothing really difficult. The two apps we need are: + + * Password-store + * OpenKeyChain + +After installing both those apps, we’ll need to go on our computer and export our public and private gpg keys in order to import them inside OpenKeyChain, to do so we’ll go in the terminal and type away: + +
gpg --export-secret-keys --armor johndoe@youremailaddress.com > private.asc
+gpg --export --armor johndoe@youremailaddress.com > public.asc
+ +now we have both our private and public key stored in a file, which we can transfer to the phone and import inside OpenKeyChain. I’ve imported the private key first and then the public one, and while importing the latter, OpenKeyChain confirmed that the key was updated, so both are essentially on the same keypair. + +One important note regarding git, depending on how your git repository is setup, you might be needed to import your ssh key inside password-store on your phone in order to access the repository, that’s really easy as the app will ask for your git configuration the first time you open it. + +Once you’ve setup your git access, it will ask you to allow OpenKeyChain to manage your gpg key pair whenever you use password-store, and that’s it! You have now your passwords securely stored through GnuPG and synced between your devices with git. + +## Bonus note + +password-store is a command line program that you can access via it’s command `pass`, but there are also graphical interfaces to access it. + +One of them is qtpass, you should find it in most distros, on Slackware I found it on SBo and compiled it without any problems. It performs very well, allows you to manipulate your password repository from a graphical interface, performs push/pull operations on git and makes it easier to create complex passwords whenever you need. Just a headsup, if you install this setup on raspbian, remember to install one of the pinentry programs to be able to insert your passkey when you are not in the terminal. + +I hope you’ll find this article useful, remember to drop me a [comment][1] if you need any help and I’ll be happy to help you as best as I can. + +Cheers!! + + [1]: #comment \ No newline at end of file diff --git a/articles/money-for-indipendence.md b/articles/money-for-indipendence.md new file mode 100644 index 0000000..d35c53f --- /dev/null +++ b/articles/money-for-indipendence.md @@ -0,0 +1,24 @@ +--- +title: Money for indipendence +author: Danilo M. +type: post +date: 2013-04-30T08:58:25+00:00 +url: /2013/04/money-for-indipendence/ +categories: + - blogging + - life +tags: + - hope + - indipendence + - money + - quotes +format: quote + +--- +
+

+ If money is your hope for independence you will never have it. +

+ + Henry Ford +
\ No newline at end of file diff --git a/articles/myself-as-a-droid.md b/articles/myself-as-a-droid.md new file mode 100644 index 0000000..9184d55 --- /dev/null +++ b/articles/myself-as-a-droid.md @@ -0,0 +1,21 @@ +--- +title: myself as a droid.. +author: Danilo M. +type: post +date: 2011-02-14T13:31:08+00:00 +draft: true +url: /?p=2612 +categories: + - web +tags: + - android + - droidify + - market +format: image + +--- +
image
che ve ne pare? il mio autoritratto in stile android!!
+ +l’ho creato usando [droidify yourself][1], un’app di google per il market di android.. ;-) + + [1]: https://market.android.com/details?id=com.google.android.apps.androidify \ No newline at end of file diff --git a/articles/nerdness.md b/articles/nerdness.md new file mode 100644 index 0000000..ee87646 --- /dev/null +++ b/articles/nerdness.md @@ -0,0 +1,21 @@ +--- +title: nerdness +author: Danilo M. +type: post +date: 2011-08-31T09:57:22+00:00 +excerpt: We are nerds, Resistance is futile +url: /2011/08/nerdness/ +categories: + - blogging +tags: + - john green + - nerds + +--- +
+
We are nerds. Resistance is futile
+
+ +via [ipstenu.org][1] + + [1]: http://ipstenu.org/blog/2011/nerds-like-us/ "ipstenu's website" \ No newline at end of file diff --git a/articles/new-home-server-ideas.md b/articles/new-home-server-ideas.md new file mode 100644 index 0000000..2f6e94d --- /dev/null +++ b/articles/new-home-server-ideas.md @@ -0,0 +1,35 @@ +--- +title: new home server ideas +author: Danilo M. +type: post +date: 2019-10-30T13:22:48+00:00 +excerpt: "Here's a short list of components for what will possibly be my future home server." +url: /2019/10/new-home-server-ideas/ +categories: + - diy + - linux +tags: + - build + - flying dutchman + - server + +--- +I’m thinking about building a new home server, so I picked some parts I think might work well for what I need to do. Here’s the list for future reference: + +PCPartPicker Part List: [https://it.pcpartpicker.com/list/Kj3MZf][1] + + * **CPU**: AMD Ryzen 3 3200G 3.6 GHz Quad-Core Processor + * **CPU Cooler**: Cooler Master MasterLiquid ML240L RGB 66.7 CFM Liquid CPU Cooler + * **Thermal Compound**: Thermal Grizzly Kryonaut 1g 1 g Thermal Paste + * **Motherboard**: Gigabyte B450 AORUS M Micro ATX AM4 Motherboard + * **Memory**: Corsair Vengeance LPX 16 GB (2 x 8 GB) DDR4-3200 Memory + * **Case**: Antec VSK10 MicroATX Mid Tower Case + * **Power Supply**: EVGA BT 450 W 80+ Bronze Certified ATX Power Supply + * **Case Fan**: 2x be quiet! Pure Wings 2 140 PWM 61.2 CFM 140 mm Fan + +Total around €445.00 on amazon as suggested by [PCPartPicker][2]. + +What do you guys think? + + [1]: https://it.pcpartpicker.com/user/danixland/saved/r7dQZL + [2]: https://it.pcpartpicker.com/ \ No newline at end of file diff --git a/articles/outside-of-the-box.md b/articles/outside-of-the-box.md new file mode 100644 index 0000000..eeacdd1 --- /dev/null +++ b/articles/outside-of-the-box.md @@ -0,0 +1,23 @@ +--- +title: outside of the box +author: Danilo M. +type: post +date: 2011-08-31T08:05:35+00:00 +excerpt: 'the right thing to do outside of the box.. ' +url: /2011/08/outside-of-the-box/ +categories: + - blogging + - life +tags: + - quotes + - think outside of the box +format: quote + +--- +
+

+ It isn’t enough to think outside the box. Thinking is passive. Get used to acting outside the box. +

+ + Tim Ferriss +
\ No newline at end of file diff --git a/articles/playing-with-colors.md b/articles/playing-with-colors.md new file mode 100644 index 0000000..2c511f7 --- /dev/null +++ b/articles/playing-with-colors.md @@ -0,0 +1,34 @@ +--- +title: playing with colors +author: Danilo M. +type: post +date: 2016-02-14T17:52:21+00:00 +url: /2016/02/playing-with-colors/ +featured_image: /wp-content/uploads/2016/02/palette.jpg +categories: + - code + - diy +tags: + - colors + - github + - html5 + - palette + - php + - viewer + +--- +
+
+
+ +

+ Today I decided I wanted to have a little “old school” fun, so instead of working on some WordPress theme/plugin, I went for the “lemme write some php from scratch” approach. +

+ +I was having a look at some color palettes for _\*\*I’m not gonna tell ya\*\*_, and it was quite hard for me to mix them together in my mind and decide which color goes where and how to use it, so after thinking about it for a while, I decided I’d narrow my options to 6 colors per palette, and in order to better visualize them, I wrote a small php page to help me. + +It’s actually very simple, there’s a large preview where you can modify each color on the fly, and then you can send them to a fake page preview. that’s it. + +I put it on github, just in case you want to give it a look. + +Let me know what you think about it. Cheers ;) \ No newline at end of file diff --git a/articles/poker-time.md b/articles/poker-time.md new file mode 100644 index 0000000..077f715 --- /dev/null +++ b/articles/poker-time.md @@ -0,0 +1,20 @@ +--- +title: poker time.. +author: Danilo M. +type: post +date: 2010-12-19T21:07:04+00:00 +draft: true +url: /?p=2547 +categories: + - fotografia +tags: + - feste + - gioco + - natale + - poker +format: image + +--- +
image
seratina relax a base di poker.. ovviamente senza soldi veri :-) il modo migliore per passare le serate quando non si ha voglia di uscire..
+ +  \ No newline at end of file diff --git a/articles/pure-nerdgasm.md b/articles/pure-nerdgasm.md new file mode 100644 index 0000000..a63ba61 --- /dev/null +++ b/articles/pure-nerdgasm.md @@ -0,0 +1,25 @@ +--- +title: pure nerdgasm +author: Danilo M. +type: post +date: 2011-10-01T07:28:14+00:00 +excerpt: An EPIC video of two floppy disks playing the imperial march.. nerdgasm.. +url: /2011/10/pure-nerdgasm/ +featured_image: /wp-content/uploads/2011/10/vader.jpg +categories: + - blogging + - web +tags: + - floppy disks + - imperial march + - nerdgasm + - nerds + - star wars + - youtube +format: video + +--- +
+ +
+
can’t get nerdier than this…
\ No newline at end of file diff --git a/articles/r-i-p-steve-jobs.md b/articles/r-i-p-steve-jobs.md new file mode 100644 index 0000000..e99cebd --- /dev/null +++ b/articles/r-i-p-steve-jobs.md @@ -0,0 +1,17 @@ +--- +title: R.I.P. Steve Jobs +author: Danilo M. +type: post +date: 2011-10-06T10:51:17+00:00 +excerpt: Goodbye Steve Jobs.. One of the few people I really wanted to meet at least once in my life. +url: /2011/10/r-i-p-steve-jobs/ +featured_image: /wp-content/uploads/2011/10/jobs.jpg +categories: + - blogging + - life +tags: + - Steve Jobs +format: image + +--- +
Today a truly beautiful mind has left our world. Today is a very sad day.
\ No newline at end of file diff --git a/articles/responsibility.md b/articles/responsibility.md new file mode 100644 index 0000000..b3bbbc2 --- /dev/null +++ b/articles/responsibility.md @@ -0,0 +1,21 @@ +--- +title: responsibility +author: Danilo M. +type: post +date: 2011-09-26T14:24:45+00:00 +excerpt: Accept responsibility for your life. Know that it is you who will get you where you want to go, no one else. +url: /2011/09/responsibility/ +categories: + - blogging + - life +tags: + - life + - responsibility +format: quote + +--- +
+

+ Accept responsibility for your life. Know that it is you who will get you where you want to go, no one else. +

+
\ No newline at end of file diff --git a/articles/sasso-carta-forbice-lucertola-spock.md b/articles/sasso-carta-forbice-lucertola-spock.md new file mode 100644 index 0000000..243f9cb --- /dev/null +++ b/articles/sasso-carta-forbice-lucertola-spock.md @@ -0,0 +1,43 @@ +--- +title: sasso, carta, forbice, lucertola, spock! +author: Danilo M. +type: post +date: 2010-11-10T14:08:19+00:00 +url: /2010/11/sasso-carta-forbice-lucertola-spock/ +featured_image: /wp-content/uploads/2010/11/nimoy-spock.jpg +categories: + - blogging +tags: + - game + - lizard + - paper + - rock + - scissors + - spock + +--- +Chi di voi miei fedeli (3) lettori non ha giocato almeno una volta nella vita a Sasso, Carta, Forbice? Beh, se ci avete giocato, avrete notato che tra giocatori che si frequentano assiduamente, c’è l’80% di probabilità di un pareggio causato dalla scarsità di alternative… + +Ecco che vi viene in aiuto l’espansione del classico gioco: **Sasso, Carta, Forbice, Lucertola, Spock!** + +In quest’espansione sono aggiunti 2 ulteriori simboli, la mano a forma di lucertola (un po’ come il serpente delle ombre cinesi) e il classico saluto vulcaniano (indice e medio da una parte e anulare e mignolo dall’altra). + +Le interazioni e quindi le regole si moltiplicano di conseguenza e diventano: + + * La **forbice** taglia la **carta**. + * Il **sasso** schiaccia la **lucertola**. + * La **lucertola** avvelena **Spock**. + * **Spock** rompe la **forbice**. + * La **forbice** decapita la **lucertola**. + * La **lucertola** mangia la **carta**. + * La **carta** smentisce **Spock**. + * **Spock** vaporizza il **sasso**. + * Il **sasso** rompe la **forbice**. + +Mi sembra abbastanza più divertente, no!? :D + +Pensate che quest’espansione del gioco classico è stata menzionata addirittura in un articolo del times del 2005. L’invenzione si dice sia stata attribuita a [Sam Kass e Karen Bryla][1] e risalga addirittura alla metà degli anni ’90. + +Quindi adesso, tutti a giocare ;) + + [1]: http://uri.danixland.net/l "RPSSL webpage" \ No newline at end of file diff --git a/articles/speak-to-me.md b/articles/speak-to-me.md new file mode 100644 index 0000000..2db7ab7 --- /dev/null +++ b/articles/speak-to-me.md @@ -0,0 +1,23 @@ +--- +title: Speak to Me +author: Danilo M. +type: post +date: 2013-03-19T20:29:57+00:00 +url: /2013/03/speak-to-me/ +categories: + - blogging +tags: + - mad + - pink floyd +format: quote + +--- +
+

+ I’ve always been mad, I know I’ve been mad, like the most of us are. It’s very hard to explain why you’re mad, even if you’re not mad. +

+ + Pink Floyd – Speak to Me +
+ +Credo che questo sarà il mio primo tattoo.. :) \ No newline at end of file diff --git a/articles/sunset-in-siderno.md b/articles/sunset-in-siderno.md new file mode 100644 index 0000000..60be561 --- /dev/null +++ b/articles/sunset-in-siderno.md @@ -0,0 +1,27 @@ +--- +title: sunset in Siderno +author: Danilo M. +type: post +date: 2016-01-25T17:31:56+00:00 +url: /2016/01/sunset-in-siderno/ +featured_image: /wp-content/uploads/2016/01/dx_0013-scaled.jpg +categories: + - nature +tags: + - gopro + - kdenlive + - siderno + - sunset + - timelapse + - youtube +format: video + +--- +
+ +
+
+ +my first video, an experiment with a GoPro Hero+ LCD and Kdenlive. + +enjoy! \ No newline at end of file diff --git a/articles/vulnerabilities-for-pgp-and-emails.md b/articles/vulnerabilities-for-pgp-and-emails.md new file mode 100644 index 0000000..ea695a9 --- /dev/null +++ b/articles/vulnerabilities-for-pgp-and-emails.md @@ -0,0 +1,35 @@ +--- +title: Vulnerabilities for PGP and emails +author: Danilo M. +type: post +date: 2018-05-15T10:04:06+00:00 +excerpt: A series of vulnerabilities was discovered which affect emails encrypted with PGP and GnuPG, follow @EFF to understand more about this topic. +url: /2018/05/vulnerabilities-for-pgp-and-emails/ +featured_image: /wp-content/uploads/2018/05/og-efail-resized_3.png +categories: + - security +tags: + - efail + - eff + - electronic frontier foundation + - gnupg + - pgp + - security + - vulnerability + +--- +following a series of tweets from the Electronic Frontier Foundation, I’m reblogging their article to give it even more visibility on a topic that many don’t seem to know, which is email encryption. + +A group of researchers has found out [and published][1] a series of vulnerabilities affecting the use of PGP for email encryption (you can read more in depth coverage on this topic on the [EFF website][2]) + +From what I understand the problem is related to those plugins that rely on PGP or GnuPG to automatically decrypt emails. This vulnerability could allow an attacker to read not only an encrypted message but even older messages encrypted with the same key. + +while the various vendors are fixing their software EFF recommendation right now is to disable all plugins that allow to decrypt emails automatically and not to decrypt messages inside the mail software but instead, export them and decrypt them offline. + +Here you can find a list of good procedures to disable the affected plugins and how to export encrypted emails to be read using offline tools: [**Pretty Good Procedures for Protecting Your Email**][3] + +  + + [1]: https://efail.de/ + [2]: https://www.eff.org/deeplinks/2018/05/not-so-pretty-what-you-need-know-about-e-fail-and-pgp-flaw-0 + [3]: https://www.eff.org/deeplinks/2018/05/pretty-good-procedures-protecting-your-email \ No newline at end of file diff --git a/articles/walt-quote.md b/articles/walt-quote.md new file mode 100644 index 0000000..b987d7f --- /dev/null +++ b/articles/walt-quote.md @@ -0,0 +1,23 @@ +--- +title: Walt quote +author: Danilo M. +type: post +date: 2015-06-10T02:41:58+00:00 +url: /2015/06/walt-quote/ +categories: + - disney + - life +tags: + - inspiring + - quote + - Walt Disney +format: quote + +--- +
+

+ all our dreams can come true if we have the courage to pursue them +

+ + Walt Disney +
\ No newline at end of file diff --git a/articles/wp_patcher-un-metodo-per-aggiornare-wordpress.md b/articles/wp_patcher-un-metodo-per-aggiornare-wordpress.md new file mode 100644 index 0000000..5d72584 --- /dev/null +++ b/articles/wp_patcher-un-metodo-per-aggiornare-wordpress.md @@ -0,0 +1,130 @@ +--- +title: wp_patcher – un metodo per aggiornare WordPress +author: Danilo M. +type: post +date: 2009-07-22T13:37:40+00:00 +excerpt: Ecco un metodo molto semplice per aggiornare la vostra installazione di WordPress, wp_patcher!! +url: /2009/07/wp_patcher-un-metodo-per-aggiornare-wordpress/ +Sto ascoltando: + - smoke on the water +categories: + - diy + - linux + - WordPress +tags: + - bash + - svn + - update + - WordPress + +--- +Ciao a tutti, + +purtroppo si sa, l’estate è molto dannosa ai contenuti del mio blog, in questa stagione diventa difficile rimanere a casa a scrivere al pc, la tastiera del portatile si trasforma in una piastra su cui si potrebbe tranquillamente arrostire la carne per un picnic e starci vicino e come accendere il caminetto con 40 gradi di temperatura ambientale, praticamente un supplizio… + + + +Tuttavia gli sviluppatori di WordPress continuano alacremente a sfornare novità, ed è risaputo che bisogna aggiornare sempre la propria installazione di WP per non incorrere in spiacevoli inconvenienti come la perdita dei dati o l’hacking del proprio sito web. Per venire incontro ai blogger dalle ultime versioni di WP è possibile aggiornare automaticamente la propria installazione utilizzando una voce nel pannello di controllo. Questa possibilità, almeno per me, non ha funzionato nelle ultime 2 revisioni della versione 2.8, quindi ho deciso di provare un’altra strada :) + +chiacchierando su [slacky.eu][1], mi è stato suggerito di usare svn per recuperare le varie versioni di WP e poi di prendere solo le differenze in modo da andare a sostituire solo i files che effettivamente sono stati modificati. A questo punto mi son detto, perchè non scrivere uno script bash che mi chieda solo la mia versione attuale e quella verso cui voglio aggiornare, e poi mi crei un archivio contenente solo i files che mi servono?? + +Detto fatto, mi sono messo a giocare un po’ con Vim e ho tirato fuori **wp_patcher.sh**, uno script bash che scarica le 2 revisioni richieste di wordpress, controlla le differenze e crea un archivio tar.bz2 pronto per essere installato ;) + +Questo è lo script: + +
#! /bin/bash
+# WP-patcher - script che si occupa di recuperare le differenze
+# tra 2 versioni differenti di WordPress, scaricando le revisioni
+# tramite svn.
+
+# Autore: Danilo 'danix' Macrì - http://danixland.net
+# Licensed under the statements of the GPL v3 - http://www.gnu.org/licenses/gpl-3.0.html
+
+# exit status
+E_NOARGS=171
+
+# variabili
+workdir="wp_patch"
+old_vrs=$1
+new_vrs=$2
+sane_old_vrs=`echo $1 |sed s/[.]//g`
+sane_new_vrs=`echo $2 |sed s/[.]//g`
+patchdir="${sane_old_vrs}_to_${sane_new_vrs}_patch"
+
+#funzione di aiuto (viene mostrata in caso di errore nell'avvio del programma)
+showhelp () {
+  echo "USO: `basename $0` vecchia_versione nuova_versione"
+  echo "dove 'vecchia_versione' è la tua attuale versione di WordPress"
+  echo "e 'nuova_versione' è la versione verso cui vuoi upgradare"
+  exit $E_NOARGS
+}
+
+# controllo che siano presenti gli argomenti in modo da avere
+# le versioni di WP da scaricare
+if [ -z $1 ];then
+  showhelp
+elif [ -z $2 ];then
+  showhelp
+fi
+
+# inizio l'esecuzione dei comandi
+mkdir $workdir
+cd $workdir
+echo "sto recuperando le 2 versioni svn"
+svn co http://core.svn.wordpress.org/tags/$old_vrs
+echo "ho recuperato la versione $old_vrs"
+svn co http://core.svn.wordpress.org/tags/$new_vrs
+echo "ho recuperato la versione $new_vrs, adesso saranno esportate."
+svn export $old_vrs wp_$sane_old_vrs
+svn export $new_vrs wp_$sane_new_vrs
+rm -rf $old_vrs $new_vrs
+echo "ho esportato correttamente le 2 versioni di wordpress"
+echo "adesso procedo alla creazione della patch"
+diff -qr wp_$sane_old_vrs wp_$sane_new_vrs |cut -d" " -f4 > patch_file.txt
+mkdir $patchdir
+mods=`cat patch_file.txt`
+for i in $mods;do
+  cp --parents $i $patchdir
+done
+echo "compressione in corso..."
+cd $patchdir
+mv wp_$sane_new_vrs wp_$new_vrs
+tar -jcvf ../wp_${patchdir}.tar.bz2 wp_$new_vrs
+cd ../
+mv wp_${patchdir}.tar.bz2 ../
+echo "patch creata"
+echo "ripulisco la directory di lavoro"
+cd ../
+rm -rf $workdir
+echo "l'archivio contenente i files da sostituire"
+echo "è il file 'wp_${patchdir}.tar.bz2"
+# fine :)
+exit 0
+ +E’ molto semplice e non dovrebbe essere difficile modificarlo secondo le vostre necessità… + +Lo script va salvato con un nome a vostro piacimento (io l’ho chiamato wp_patcher.sh) e poi va lanciato in questo modo: + +`wp_patcher.sh vecchia_versione nuova_versione` + +In una directory qualsiasi nella vostra home, ovviamente è consigliabile che lo lanciate in una  directory vuota in modo da evitare conflitti con i files e le dir che il programma crea durante il suo funzionamento… + +Nell’esempio che vi ho riportato ‘vecchia\_versione’ sarà la vostra attuale versione di WordPress, e ‘nuova\_versione’ sarà la versione verso cui vorrete aggiornare. + +Perchè lo script funzioni è necessario che nel sistema sia installato svn, tar, e tutti i comandi di base come mv, cp, rm ecc… ma dubito che stiate utilizzando una qualsiasi distribuzione Linux e non abbiate questi programmi installati ;) . + +Una volta creato l’archivio con i files da aggiornare vi basterà decomprimerlo e caricare i files sul vostro spazio web sovrascrivendo quelli già presenti. Nel caso in cui fosse necessario un aggiornamento del database di WordPress vi basterà lanciare dal browser la pagina **http://urldelblog/wp-admin/upgrade.php**. + +
+

+ Come sempre vale il consiglio, prima di aggiornare WordPress, di effettuare un backup dei files e del database, in modo da poter ripristinare una situazione funzionante in caso di problemi. +

+
+ +Questo script come potete vedere è rilasciato sotto la GPL v3, quindi è liberamente utilizzabile e modificabile entro i termini di questa licenza appunto. + +Se vi dovesse tornare utile, o anche semplicemente se voleste dirmi che lo avete provato o che non ha funzionato o farmi i complimenti o mandarmi a cagare :) non fatevi problemi e lasciatemi un commento… + +A presto + + [1]: http://www.slacky.eu "La comunità italiana di utenti slackware" \ No newline at end of file diff --git a/articles/xrandr-e-dual-head-su-slackware-12-2-e-intel.md b/articles/xrandr-e-dual-head-su-slackware-12-2-e-intel.md new file mode 100644 index 0000000..012bd95 --- /dev/null +++ b/articles/xrandr-e-dual-head-su-slackware-12-2-e-intel.md @@ -0,0 +1,58 @@ +--- +title: xrandr e dual head su slackware 12.2 e intel +author: Danilo M. +type: post +date: 2009-06-29T17:05:13+00:00 +excerpt: 'In questo breve articolo vi spiegherò come ottenere un desktop ultra wide che si espande su ben 2 monitor, ingredienti: una scheda video con 2 uscite e un editor di testo...' +url: /2009/06/xrandr-e-dual-head-su-slackware-12-2-e-intel/ +Sto ascoltando: + - le campane a vento +Mi sento: + - svenire dal caldo +categories: + - diy + - linux +tags: + - dual head + - extended desktop + - monitor setup + - slackware + - xorg + - xrandr + +--- +Oggi mi è capitato sottomano un monitor 17″ e mi è venuta la curiosità di provare a collegarlo all’uscita vga esterna del mio laptop. Detto fatto ho provato a fare qualche ricerca su internet per vedere se riuscivo a tirare su un sistema dual head in cui i 2 schermi formassero un unico desktop più grande. + + + +Dopo qualche tentativo ho trovato la soluzione quasi perfetta, cioè uno schermo complessivo di 2560×1024. Per ottenerlo è bastato mettere questa semplice riga nel mio xorg.conf: + +`Virtual   2560 1024` + +all’interno della SubSection “Display” nella sezione “Screen”. Quella riga non fa altro che istruire X sulle dimensioni complessive del desktop virtuale, i 2 valori si ottengono sommando la risoluzione del primo schermo, che nel mio caso era di 1280×1024, alla risoluzione del secondo schermo, che è nel mio caso quello del laptop e cioè 1280×800. La larghezza totale è quindi diventata 2560 mentre per l’altezza ho dovuto prendere quella dello schermo più grande, cioè quello esterno e quindi 1024. + +Ovviamente facendo in questo modo ho una superficie del desktop di circa il 120% rispetto a quella effettiva dei 2 monitor, però X tiene conto di questo problemino, infatti se io massimizzo una finestra nello schermo grande, questa si adatta alla dimensione maggiore, se la massimizzo nello schermo del laptop si adatta alla dimensione wide e non mi da problemi di scrolling. L’unico fastidio è che non arrivo a vedere la fine della barra di lxde se la lascio posizionata in basso, ma anche questo si risolve facilmente mettendola in alto… + +A questo punto, ogni qualvolta io voglia attivare il doppio desktop, mi basterà lanciare questo script che mi sono creato, l’ho chiamato **dualhead.sh**: + +
#! /bin/bash
+
+case $1 in
+  start ) xrandr --output LVDS --mode 1280x800 \
+          --output VGA --mode 1280x1024 --left-of LVDS
+        ;;
+  stop  ) xrandr --output VGA --off
+        ;;
+  *     ) echo "USAGE: `basename $0` start | stop"
+          exit 1
+        ;;
+esac
+exit
+ +lanciandolo con flag “start” avvierà il dualhead mentre lanciando lo script con “stop” tutto il desktop ritornerà sul solo schermo del laptop in quanto xrandr spegnerà l’uscita vga esterna. + +Adesso potete godervi il vostro splendido desktop esteso, magari usando uno degli sfondi ultra wide presenti su [compiz-themes.org][1], io sto usando una splendida foto della baia di Melbourne, il bello è che comincia su uno schermo e finisce sull’altro, ma se non provate non potete capire… ;) + +Buon divertimento… + + [1]: http://www.compiz-themes.org/index.php?xcontentmode=6110&PHPSESSID=593590581b90557a2f710adca3e82d40 "skydomes su compiz-themes.org" \ No newline at end of file diff --git a/is/index.md b/is/index.md index a193e62..118a0c1 100644 --- a/is/index.md +++ b/is/index.md @@ -19,6 +19,4 @@ What is this website? Well, **danix.xyz** is my personal website, in here you ca I use this website to keep track of all the snippets of code that I tend to forget, I consider this website like my notepad (in the hope that it can turn useful to somebody else). -I deeply dislike sharing readers data with other companies so you can be sure that **all** the data I collect from my readers will be kept secure and used only to improve the way my readers enjoy the pages and posts I write. Read more about [my Privacy Policy][legallink]. - -[legallink]: {{< ref "legal.md" >}} +I deeply dislike sharing readers data with other companies so you can be sure that **all** the data I collect from my readers will be kept secure and used only to improve the way my readers enjoy the pages and posts I write. Read more about [my Privacy Policy](/is/legal "Privacy Policy"). -- 2.20.1