<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://rigacci.org/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://rigacci.org/wiki/feed.php">
        <title>rigacci.org - doc:appunti:prog</title>
        <description></description>
        <link>https://rigacci.org/wiki/</link>
        <image rdf:resource="https://rigacci.org/wiki/lib/exe/fetch.php/wiki/dokuwiki.svg" />
       <dc:date>2026-05-02T05:59:45+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/abi_change"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/autotools"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/bootstrap_toolkit"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/cmake"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/compilare_con_gcc"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/controllo_cache_pagine_web"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/cvs"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/django"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/duplex"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/esempi_maildrop"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/esempi_procmail"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/fpdf"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/gdb"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/gettext"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/git"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/java_compile_jar_command_line"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy_app_in_play_store"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy_debian_12_android_11"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/moduli_apache"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/nodejs"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/note_di_programmazione_in_php"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/openmoko_compile"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/patch"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/pdf"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/perl_flock"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/perl_program_execution"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/php_include"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/php_unicode"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_flock"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_pil"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_pip"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_profiling_with_yappi"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_program_execution"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_unicode"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python27_on_debian6"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python37_on_debian9"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/pythonmagick_text_shadow_outline"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/qemu_arm"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/ruby_on_rails"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/screen2pdf"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/start"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/svn"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/timezone_php_python"/>
                <rdf:li rdf:resource="https://rigacci.org/wiki/doku.php/doc/appunti/prog/usare_i_fogli_di_stile"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://rigacci.org/wiki/lib/exe/fetch.php/wiki/dokuwiki.svg">
        <title>rigacci.org</title>
        <link>https://rigacci.org/wiki/</link>
        <url>https://rigacci.org/wiki/lib/exe/fetch.php/wiki/dokuwiki.svg</url>
    </image>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/abi_change">
        <dc:format>text/html</dc:format>
        <dc:date>2006-10-09T10:16:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>ABI chage and library renamed</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/abi_change</link>
        <description>ABI chage and library renamed

The problem here is ABI, not API. Those two packages are the same source code, linked to different libstdc++s. They have all the same files, export the same symbols, etc.

Having them parallel installed would do really, er, interesting things when packages built against one version of libstdc++ try to link to libraries built against another version of libstdc++.</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/autotools">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-16T14:02:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Autotools nano-HOWTO</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/autotools</link>
        <description>Autotools nano-HOWTO

&lt;http://juha.vierinen.net/files/autotools-nano-howto.html&gt;

(c) 2005,2007 Juha Vierinen jPARSE@THISsgo.fi

Introduction

One often gets a warm fuzzy feeling seeing the autoconf generated
configure file after unpacking a source tarball -- this is because
your chances of easily compiling the piece of software have grown significantly. This doesn&#039;t mean that you won&#039;t have any problems</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/bootstrap_toolkit">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-20T10:07:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Bootstrap</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/bootstrap_toolkit</link>
        <description>Bootstrap

Bootstrap è un kit di sviluppo HTML, CSS, e JavaScript per costruire siti web secondo il paradigma responsive e mobile-first. In questi appunti si fa riferimento alla versione 4.3.1.

Qui si può leggere una introduzione: Introduction - Get started with Bootstrap.

Cinque livelli (dimensioni) di schermo predefiniti</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/cmake">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-19T14:41:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>cmake</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/cmake</link>
        <description>cmake

Ricerca componenti

cmake fornisce una serie di moduli per trovare automaticamente nel sistema le librerie ed altre componenti necessarie per la compilazione, vedere la directory 
/usr/share/cmake-2.8/Modules/.

Il risultato di ogni modulo in generale è quello di settare delle variabili di ambiente. È possibile avere la lista dei moduli disponibili e interrogare ciascun modulo con un comando del tipo:</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/compilare_con_gcc">
        <dc:format>text/html</dc:format>
        <dc:date>2005-06-14T08:11:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Compilare con GCC</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/compilare_con_gcc</link>
        <description>Compilare con GCC

	*  Per compilare senza linkare: -c</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/controllo_cache_pagine_web">
        <dc:format>text/html</dc:format>
        <dc:date>2006-03-29T15:44:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Controllo cache pagine web</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/controllo_cache_pagine_web</link>
        <description>Controllo cache pagine web

Header HTTP

Il metodo più corretto per controllare il meccanismo di caching è tramite gli header HTTP, quindi è possibile farlo con pagine generate dinamicamente ad esempio in PHP. Primo esempio di pagina che può essere tenuta in cache (ad esempio dal browser) per 5 minuti:</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/cvs">
        <dc:format>text/html</dc:format>
        <dc:date>2008-04-15T09:51:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Concurrent Version System (CVS)</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/cvs</link>
        <description>Concurrent Version System (CVS)

In this example we login to an anonymous CVS server and we download the tree of an entire project module.


cvs -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc login


The program will prompt for a password and append some information to the</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/django">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-28T07:15:39+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/django</link>
        <description>Django

Installare i pacchetti Debian

	*  python-django
	*  libapache2-mod-wsgi

Vedere il tutorial Writing your first Django app.

Progetto e applicazioni

	*  Progetto
	*  Applicazione: Contenitore di viste (pagine web) e modelli di dati (tabelle del database).

Per creare un</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/duplex">
        <dc:format>text/html</dc:format>
        <dc:date>2017-06-14T09:50:35+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Stampa fronte-retro (duplex) con stampanti PCL e PostScript</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/duplex</link>
        <description>Stampa fronte-retro (duplex) con stampanti PCL e PostScript

Stampanti PCL

Utilizzando GhostScript è facile produrre job PCL che includono i codici di comando per attivare la stampa duplex. Questo comando ad esempio trasforma un file PDF in un job che è possibile inviare direttamente alla stampante, sfrutta il driver</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/esempi_maildrop">
        <dc:format>text/html</dc:format>
        <dc:date>2014-02-18T12:09:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Esempio regole maildrop</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/esempi_maildrop</link>
        <description>Esempio regole maildrop

Vedere man maildropex.


#-------------------------------------------------------------------------
# $HOME/.mailfilter
#
# regex flags, used after the regex: /something/:b
# :h - header
# :b - body
# :D - distinguish between upper and lower case (default is to ignore case)
#-------------------------------------------------------------------------

# Configure for mbox, maildir, or mh
TYPE=&quot;maildir&quot;

DEFAULT=&quot;$HOME/Maildir&quot;

# Execute xfilter using this shell.
# Wrap com…</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/esempi_procmail">
        <dc:format>text/html</dc:format>
        <dc:date>2022-03-09T17:31:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Esempi regole procmail</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/esempi_procmail</link>
        <description>Esempi regole procmail

Con questa regola alcuni messaggi vengono processati per estrarre un allegato e salvarlo su disco.


#-------------------------------------------------------------------------
# $HOME/.procmailrc
#
# When specifying a destination directory, append a trailing &quot;/&quot;
# to save in Maildir format.
#
# When saving messages into a file (mbox or Maildir), we want to use
# a lock file. So each rule begin with a line with a trailing &quot;:&quot;.
#---------------------------------------------…</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/fpdf">
        <dc:format>text/html</dc:format>
        <dc:date>2011-09-22T09:29:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Creare un PDF con caratteri speciali</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/fpdf</link>
        <description>Creare un PDF con caratteri speciali

Come creare tramite linguaggio PHP un documento PDF contenente lettere accentate, simbolo di Euro, ecc.

La libreria FPDF consente di generare documenti PDF dal linguaggio PHP. In generale crea documenti senza font inclusi</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/gdb">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-24T11:40:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Usare gdb (GNU Debug)</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/gdb</link>
        <description>Usare gdb (GNU Debug)

Se possibile installare anche il pacchetto -dbg del programma de debuggare. Questo contiene i simboli utilizzabili per stabilire breakpoint, ecc. L&#039;elenco dei simboli viene installato in /usr/lib/debug/ e corrisponde al percorso e nome del file eseguibile. Ecco un estratto:</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/gettext">
        <dc:format>text/html</dc:format>
        <dc:date>2018-12-04T10:32:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Localizzazione con gettext</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/gettext</link>
        <description>Localizzazione con gettext

Esempio di come creare un file navit.po con tutte le stringhe da tradurre a partire dai sorgenti:


xgettext  --default-domain=navit --add-comments --keyword=_ --keyword=_n \
    ../src/main.c ../src/navigation.c ../src/navit.c ../src/popup.c \
    ../src/country.c ../src/gui/gtk/destination.c \
    ../src/gui/gtk/gui_gtk_action.c ../src/gui/gtk/gui_gtk_statusbar.c</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/git">
        <dc:format>text/html</dc:format>
        <dc:date>2026-03-14T14:46:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Git</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/git</link>
        <description>Git

Molto utile questo howto: Got Git? HOWTO git and github.

Vedere anche Comparing Workflows.

Installare i pacchetti Debian

	*  git-core

Creare una copia locale di un progetto:


git clone http://rivendell.lovergine.com/pubgit/ecw.git ecw


Le informazioni relative al repository vengono salvate in una sola directory</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/java_compile_jar_command_line">
        <dc:format>text/html</dc:format>
        <dc:date>2021-11-08T17:16:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>How to compile a jar from the command line</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/java_compile_jar_command_line</link>
        <description>How to compile a jar from the command line

On a Debian GNU/Linux version 11.0 Bullseye it is required to install the default-jdk package, to have the javac compiler.

Finding the reqired libraries

A Java project generally uses several libraries; you can find lines like this into the</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy_app_in_play_store">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-01T14:13:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Pubblicare una app Kivy sul Play Store di Google</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy_app_in_play_store</link>
        <description>Pubblicare una app Kivy sul Play Store di Google

Vedere anche la pagina Creating a Kivy app for Android 11-14 on Debian 12 Bookworm.

Creazione di un account sviluppatore Play Console

Aprendo il link play.google.com/apps/publish si viene rediretti sul play.google.com/console/signup per la creazione di un account sviluppatore. Tale account apparterrà all&#039;utente con cui si è fatto login su Google con il broser (verificare se abbiamo fatto il login aprendo</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy_debian_12_android_11">
        <dc:format>text/html</dc:format>
        <dc:date>2025-12-01T10:57:08+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Creating a Kivy app for Android 11-14 on Debian 12 Bookworm</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy_debian_12_android_11</link>
        <description>Creating a Kivy app for Android 11-14 on Debian 12 Bookworm

See also the page Pubblicare una app Kivy sul Play Store di Google.

Kivy is a free and open source Python framework for developing mobile apps, with a single codebase, you will be able to deploy apps on Windows, Linux, macOS, iOS and Android</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy">
        <dc:format>text/html</dc:format>
        <dc:date>2025-11-30T10:04:07+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Appunti Kivy</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/kivy</link>
        <description>Appunti Kivy

Python Code and KV Language

This is the kivyexample.py file:


#!/usr/bin/env python
from kivy.app import App
#kivy.require(&quot;1.8.0&quot;)
from kivy.uix.floatlayout import FloatLayout

class MyLayout(FloatLayout):
    pass

class KivyExampleApp(App):
    def build(self):
        return MyLayout()

if __name__ == &quot;__main__&quot;:
    KivyExampleApp().run()</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/moduli_apache">
        <dc:format>text/html</dc:format>
        <dc:date>2005-10-18T11:08:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Compilare moduli per Apache</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/moduli_apache</link>
        <description>Compilare moduli per Apache

Esiste il tool apxs per Apache 1.3.x oppure apxs2 per Apache 2.x che semplifica la creazione del modulo chiamando il compilatore con tutti i parametri giusti.

Il modulo risultante è un file .so (ELF 32-bit LSB shared object), un file</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/nodejs">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-27T10:58:00+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Node.js</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/nodejs</link>
        <description>Node.js

Node.js is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

Installazione del tool npm


apt install npm
...
0 upgraded, 390 newly installed, 0 to remove and 0 not upgraded.
Need to get 26.8 MB of archives.
After this operation, 165 MB of additional disk space will be used.
Do you want to continue? [Y/n]</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/note_di_programmazione_in_php">
        <dc:format>text/html</dc:format>
        <dc:date>2013-04-16T09:33:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Note programmazione PHP</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/note_di_programmazione_in_php</link>
        <description>Note programmazione PHP

PHPSESSIONID

Quando si usano le sessioni il PHP riscrive gli URL relativi, aggiungendo la variabile PHPSESSIONID. Questo è un meccanismo di sicurezza per tentare di far funzionare le sessioni nel caso che i cookie siano disabilitati. Se siamo sicuri che le sessioni funzionano tramite cookie e non vogliamo che gli</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/openmoko_compile">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T11:20:58+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Cross compile per OpenMoko</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/openmoko_compile</link>
        <description>Cross compile per OpenMoko

Per compilare un&#039;applicazione per il FreeRunner su sistema operativo OpenMoko possiamo scegliere tre strade:

	*  Qemu. È possibile eseguire l&#039;intero sistema opertativo OpenMoko sotto Qemu, tuttavia l&#039;hardware GTA02 (FreeRunner) non è pienamente supportato. Inoltre le utility fornite a corredo dell&#039;emulatore sono scritte per il GTA01 (Neo1973), pertanto la strada per avere l&#039;emulatore funzionante non è semplice. L&#039;emulazione del GTA01/GTA02 non è inclusa nella distrub…</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/patch">
        <dc:format>text/html</dc:format>
        <dc:date>2006-10-24T07:34:02+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Patch micro-HOWTO</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/patch</link>
        <description>Patch micro-HOWTO

Come creare un file patch

Supponiamo di avere due directory chiamate rispettivamente originale e nuova. Per produrre un file patch con le differenze tra le due si esegue dalla directory parent:


diff -Naur originale nuova &gt; file.patch</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/pdf">
        <dc:format>text/html</dc:format>
        <dc:date>2026-04-03T14:25:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ricette PDF e PostScript</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/pdf</link>
        <description>Ricette PDF e PostScript

Ruotare e scalare automaticamente un PDF per la stampa

Problema: un documento PDF in A3 orientamento landscape da mandare in stampa automaticamente su carta A4.

Il documento originale contiene le informazioni sul formato pagina (in punti) e sull&#039;orientamento:</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/perl_flock">
        <dc:format>text/html</dc:format>
        <dc:date>2011-02-26T13:56:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Locking di un file in Perl</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/perl_flock</link>
        <description>Locking di un file in Perl


#!/usr/bin/perl

use Fcntl &#039;:flock&#039;;

# Try to open and lock the file.
open(FILE, &quot;+&lt; /path/to/file&quot;)
    || die(&#039;Error opening the file.&#039;);

# Try to lock the file, waiting 5 seconds max.
$i = 0;
while (! flock(FILE, LOCK_EX | LOCK_NB)) {
    if (++$i &gt; 5) {
        close(FILE);
        die(&#039;Error locking the file.&#039;);
    }
    sleep(1);
}

# Now the file open and locked.
print &quot;File is locked!\n&quot;;
sleep(20);

# Unlock and close the file.
flock(FILE, LOCK_UN);
close…</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/perl_program_execution">
        <dc:format>text/html</dc:format>
        <dc:date>2007-01-17T16:52:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Program execution from Perl</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/perl_program_execution</link>
        <description>Program execution from Perl

system()

With the system() function a process is forked to execute the system command, and the main program waits for the child process to return. The output is displayed to the screen (STDIN, STDOUT, STDERR are connected to the parent process?). The function returns the exit code and which signal, if any, the process died from.</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/php_include">
        <dc:format>text/html</dc:format>
        <dc:date>2009-03-05T17:02:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Include in PHP</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/php_include</link>
        <description>Include in PHP

I file richiamati dalla funzione include() e dalla funzione require() del PHP cercano nell&#039;ordine:

	*  Ogni directory della include_path. Percorsi relativi si intendono rispetto alla working directory.
	*  Nella directory dello script principale.
	*  Nella directory dello script incluso</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/php_unicode">
        <dc:format>text/html</dc:format>
        <dc:date>2015-12-01T09:30:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Unicode in PHP</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/php_unicode</link>
        <description>Unicode in PHP

Pagina HTML e form

Anzitutto conviene che le pagine HTML dichiarino la codifica utilizzata con un opportuno tag:


&lt;head&gt;
  &lt;meta charset=&quot;UTF-8&quot;&gt;


Verificare anche se è il caso di definire la codifica di default impostata nel server web. Per Apache esiste la direttiva</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_flock">
        <dc:format>text/html</dc:format>
        <dc:date>2010-12-02T11:20:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Locking di un file in Python</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_flock</link>
        <description>Locking di un file in Python

Come bloccare un file in modo esclusivo prima di scriverlo. Il tentativo di lock è non-bloccante, se fallisce per diversi secondi il programma gestisce l&#039;errore.


#!/usr/bin/python
import fcntl, re, sys, time

userdb = open(&quot;/etc/courier/userdb&quot;, &quot;r&quot;)
htpasswd = open(&quot;/etc/apache2/htpasswd&quot;, &quot;w&quot;)
lock = False
for t in range(5):
    try:
        fcntl.lockf(htpasswd, fcntl.LOCK_EX | fcntl.LOCK_NB)
    except:
        time.sleep(1)
    else:
        lock = True
     …</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_pil">
        <dc:format>text/html</dc:format>
        <dc:date>2020-02-25T11:49:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Python Image Library (PIL)</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_pil</link>
        <description>Python Image Library (PIL)

Secondo le indicazioni per Debian 10 Buster si deve usare:


from PIL import Image</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_pip">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-03T21:05:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Installazione librerie Python con PIP</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_pip</link>
        <description>Installazione librerie Python con PIP

PIP consente di installare automaticamente librerie aggiuntive Python qualora non siano presenti come pacchetto fornito dalla distribuzione (es. Debian GNU/Linux), oppure se è necessario una versione più aggiornata. PIP si preoccupa di:</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_profiling_with_yappi">
        <dc:format>text/html</dc:format>
        <dc:date>2022-01-10T10:05:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Profilazione programma Python con Yappi</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_profiling_with_yappi</link>
        <description>Profilazione programma Python con Yappi

Il profile Yappi deve essere integrato all&#039;interno del programma Python, non può essere eseguito come wrapper esterno allo script, ma ha il vantaggio di poter profilare anche thread separati creati dal modulo</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_program_execution">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-01T08:56:11+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Program execution from Python</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_program_execution</link>
        <description>Program execution from Python

The right module to use is subprocess. Older modules and functions that should be avoided are:

	*  os.system
	*  os.spawn*
	*  os.popen*
	*  popen2.*
	*  commands.*

Run a command

Run command with arguments. Wait for command to complete, then return the returncode attribute.</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_unicode">
        <dc:format>text/html</dc:format>
        <dc:date>2015-07-17T07:50:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Unicode con Python</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python_unicode</link>
        <description>Unicode con Python

Vedere l&#039;articolo Python Unicode Tutorial.

Oppure queste slide: Unicode In Python, Completely Demystified.

Input: lettura da database MySQL

Si assume che nel database i campi testo siano codificati UTF-8. Sarebbe opportuno che il charset del database sia dichiarato UTF-8 in fase di creazione dello stesso; con PostgreSQL si tratta dell&#039;impostazione predefinita, con MySQL invece no. Con MySQL è comunque possibile memorizzare testo UTF-8 anche se il charset dichiarato è quell…</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python27_on_debian6">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-09T15:49:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Backport di Python 2.7</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python27_on_debian6</link>
        <description>Backport di Python 2.7

Su Debian 6 Squeeze

Nel caso sia necessario fare il backporting di un Python più recente su una distribuzione molto datata, c&#039;è una alternativa rispetto a scaricare i sorgenti e procedere alla compilazione. Si tratta di pyenv</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/python37_on_debian9">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-09T15:50:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Backport di Python 3.7</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/python37_on_debian9</link>
        <description>Backport di Python 3.7

Su Debian 9 Stretch


apt-get install build-essential curl gcc git \
  default-libmysqlclient-dev \
  libadns1-dev libbz2-dev libc6-dev libdb-dev libffi-dev \
  libgdbm-dev libncurses5-dev libncursesw5-dev \
  libreadline-dev libsqlite3-dev libssl-dev \
  openssl \
  python-dev python-pip python-setuptools python-smbus \
  tk-dev \
  zlib1g-dev</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/pythonmagick_text_shadow_outline">
        <dc:format>text/html</dc:format>
        <dc:date>2020-03-27T08:14:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Drawing Text with Shadow Outline using Python Imagemagick</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/pythonmagick_text_shadow_outline</link>
        <description>Drawing Text with Shadow Outline using Python Imagemagick

Here it is a small recipe to create a shadow outline effect around a text label, using the ImageMagick library in Python. You need to install the Imagemagick Python library, e.g. the python3-pythonmagick</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/qemu_arm">
        <dc:format>text/html</dc:format>
        <dc:date>2014-02-20T22:07:32+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Debian armel su QEMU</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/qemu_arm</link>
        <description>Debian armel su QEMU

La necessità è quella di avere un box Arm dove fare compilazione nativa di pacchetti Debian. Su alcune architetture (LaCie, QNAP, ecc.) potrebbe essere troppo pesante o impossibile effettuare la compilazione. Anche l&#039;ipotesi di cross-compilazione è sicuramente più complessa.</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/ruby_on_rails">
        <dc:format>text/html</dc:format>
        <dc:date>2011-02-21T10:34:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Ruby on Rails</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/ruby_on_rails</link>
        <description>Ruby on Rails

FIXME Esperimenti con Ruby on Rails terminati con esito negativo. Principali problemi riscontrati

	*  Ad ogni aggiornamento del framework l&#039;applicativo ha cessato di funzionare, necessarie modifiche non ovvie ai sorgenti.
	*  Rapidità di sviluppo non eccezionale, mancano componenti standard tipo editing di tabelle, ecc.</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/screen2pdf">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-23T09:35:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Come salvare in PDF un libro da Google Libri</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/screen2pdf</link>
        <description>Come salvare in PDF un libro da Google Libri

Se avete acquistato un libro con Google Libri avete molte meno libertà di quelle che avete quando acquistate un libro di carta. Tanto per cominciare potete leggerlo solo con il programma che ha deciso Google</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/start">
        <dc:format>text/html</dc:format>
        <dc:date>2025-03-17T16:43:36+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Programmazione</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/start</link>
        <description>Programmazione

	*  ABI chage and library renamed
	*  Autotools nano-HOWTO
	*  cmake
	*  Compilare con GCC
	*  Controllo cache pagine web
	*  Concurrent Version System (CVS)
	*  Django
	*  Usare gdb (GNU Debug)
	*  Appunti Kivy
	*  Creating a Kivy app for Android 11-14 on Debian 12 Bookworm
	*  Pubblicare una app Kivy sul Play Store di Google
	*  Note programmazione PHP
	*  Esempi regole procmail
	*  Creare un PDF con caratteri speciali
	*  Compilare moduli per Apache
	*  Cross compile per OpenM…</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/svn">
        <dc:format>text/html</dc:format>
        <dc:date>2019-10-12T13:22:29+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Subversion</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/svn</link>
        <description>Subversion

Un libro su Subversion.

Elencare il contenuto di una directory su un repository:


svn list svn://svn.debian.org/pkg-grass/packages/grass/branches/


Prelevare una directory:


svn checkout svn://svn.debian.org/pkg-grass/packages/grass/branches/6.2~beta1/debian</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/timezone_php_python">
        <dc:format>text/html</dc:format>
        <dc:date>2017-02-09T11:55:53+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Gestione delle timezone in Python e PHP</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/timezone_php_python</link>
        <description>Gestione delle timezone in Python e PHP

La timezone del PHP

Per verificare qual&#039;è l&#039;idea che ha il PHP della propria timezone si può eseguire il seguente codice:


print date_default_timezone_get() . &quot;\n&quot;;
date_default_timezone_set(&#039;Europe/Rome&#039;);
print date_default_timezone_get() . &quot;\n&quot;;</description>
    </item>
    <item rdf:about="https://rigacci.org/wiki/doku.php/doc/appunti/prog/usare_i_fogli_di_stile">
        <dc:format>text/html</dc:format>
        <dc:date>2017-01-09T15:10:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Usare i fogli di stile (CSS)</title>
        <link>https://rigacci.org/wiki/doku.php/doc/appunti/prog/usare_i_fogli_di_stile</link>
        <description>Usare i fogli di stile (CSS)

CSS2 Specification

Per includere un foglio di stile si aggiunge un tag dentro &lt;head&gt;,


&lt;head&gt;
    &lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&gt;


La cosa più complicata è scrivere i selettori in modo che siano più generici possibile e sfruttino l&#039;effetto cascata.</description>
    </item>
</rdf:RDF>
