Tag: programmazione

Mar 04

Pillole di Unix/Linux 2: concatenare i file

Mi sono trovato di fronte a questo problema: voglio aggiungere i log di git ad un file di changelog preesistente che gestivo a mano ma che contiene informazioni che non voglio perdere. Faccio così: $ git log >> changelog.txt Il comando >> (append) mi consente di aggiungere un output di un comando alla coda di …

Continua a leggere »

Mar 03

Pillole di Unix/Linux: programmare in bash

Bash  (acronimo per bourne again shell) è una shell testuale del progetto GNU usata nei sistemi operativi Unix e Unix-like, specialmente in GNU/Linux, ma disponibile anche per sistemi Microsoft Windows (vedi ad esempio Cygwin). Essa è chiamata anche Bourne shell dal nome del suo autore originario Stephen Bourne. L’espansione dell’acronimo bash, Bourne again shell, letteralmente …

Continua a leggere »

Mag 19

Aiuto!!! LA CPU bolle!

Se vi siete trovati come me ad iniziare l’estate con il PC che scotta, vi consiglio queste utilities: i8kmon i8kctl che vi servono per monitorare e controllare i parametri per il raffrescamento. Ulteriori informazioni nel Wiki. Fonti: http://www.cyberciti.biz/faq/controlling-dell-fan-speeds-temperature-on-ubuntu-debian-linux/ http://manpages.ubuntu.com/manpages/karmic/man1/i8kctl.1.html http://askubuntu.com/questions/281478/fan-speed-in-ubuntu-pwmconfig-no-pwm-capable-sensor-modules-installed  

Apr 13

Attacco di tipo Exploitation

Exploitation vuol dire sfruttamento. Sfruttare una combinazione di funzioni poco raccomandabili messe a disposizione da PHP e insufficiente politica dei permessi di accesso nel file system. Vi racconto questa bella storiella: ho alcuni siti che gestisco più per passione che per lavoro, che sono stati oggetti di un attacco hacker. Ad esempio è stato colpito …

Continua a leggere »

Mar 08

Pillole PHP/Yii: far transitare parametri da HTTP alla pagina web

Dalla request alla pagina web Grande è la tentazione di utilizzare i valori provenienti dalla $_REQUEST direttamente nella view, ma così facendo rischiamo di perdere pezzi per strada. Il percorso corretto da compiere è questo $_REQUEST —> controller —> action —> view. Esempio, voglio far transitare una variabile $payment_id dal flusso HTTP alla pagina web …

Continua a leggere »

Nov 18

Macro per LibreOffice

Sto sviluppando una macro per LibreOffice. Le macro sono subroutine scritte in Basic che realizzano automazioni di operazioni ripetitive che si suole fare in LibreOffice. Quando si superano i due click, è utile poter ottenere lo stesso risultato facendone uno solo, anche se l’utilità è raccogliere un bel po’ di click in uno solo. Riporto …

Continua a leggere »

Ott 23

A proposito di REST

Figure 5.2: Client-Server

Sto valutando se realizzare un webservice secondo l’architettura REST oppure no. Dalla tesi di dottorato di Roy Fielding, inventore di REST (REpresentational State Transfer) “Dobbiamo poi aggiungere un vincolo per l’interazione client-server: la comunicazione deve essere «senza stato» di natura, come nello stile senza stato client-server (CSS) del paragrafo 3.4.3 (Figura 5-3), in modo tale …

Continua a leggere »

Ott 01

Javascript: individuare l’elemento cliccato

Esiste la bella funzione elementFromPoint(x, y) che ritorna l’elemento DOM corrispondente alle coordinate che ad esempio si possono desumere dal click del mouse attraverso le proprietà clientX, clientY dell’evento: var element = document.elementFromPoint(e.clientX, e.clientY); Da questo punto in poi le proprietà dell’elemento del DOM element sono disponibili per la lettura/scrittura. Ulteriori informazioni: mozilla.org

Mar 15

Processi defunti

Oggi ho il problema che la macchina rallenta. Guardo i processi e vedo un processo defunct. Google mi insegna che i processi defunct possono essere greedy. “Lo ammazzo”, penso. Mica così facile. In informatica c’è anche il concetto di uccidere un defunto… $ kill -9 3462 ma il processo è ancora in piedi (e infatti …

Continua a leggere »

Feb 03

Oracle: errore 01002

Errore: ORA-01002: recupero fuori sequenza Descrizione Questo fastidioso errore era causato da un rollback che non riusciva a causa di alcune limitazioni con l’uso dei cursori (nella versione 11g; nella 10 non si era mai verificato). Continua a leggere all’interno.