[Perl] PHP-Fusion AutoPoster library

14 06 2009

Con questo modulo scritto in Perl e’ possibile postare su forum PHP-Fusion 6.x e 7.x.
La libreria e’ semplice da usare, basta richiamarla attraverso un vostro script in questo modo:

use PerlFusion;

A voi:

http://blacklight.gotdns.org/nopaste/1245005674 [Link1]

http://pastebin.com/f3ce809bb [Link2]

Esempio di login, post e logout:

PerlFusion->user_login("http://localhost/site", userid, "yourpass" );
PerlFusion->new_post("Programmi", "test", "Hi, I'm SiD\n'njoy ^^" );
PerlFusion->user_logout();

Esempio di login, nuovo topic e logout:

PerlFusion->user_login("http://localhost/site", userid, "yourpass" );
PerlFusion->new_topic("Presentazioni", "Hola!", "I'm better than a browser :) \n./SiD" );
PerlFusion->user_logout();

In pratica si viene loggati al portale e si puo’ postare sul forum (qui `regex rulez` ci sta XD), se avete problemi o qualunque cosa non esitate a commentare ^^





Linux4One Light e la scheda wireless

5 06 2009

Ho installato da qualche giorno Linux4One versione Light sul mio AAO e devo dire che mi ci trovo molto bene (poi LXDE è davvero leggero).

L’installazione e la configurazione non mi hanno dato particolari problemi, tranne la scheda wireless: nonostante sul sito della distro sia marcata come out-of-the-box, non mi andava.

Dopo aver installato WICD, ho dato un’occhiata con ifconfg, non si sa mai…

Sorpresina – XD -  Nessun segno della scheda di rete wireless, ma presenti solo l’eth0 e “lo” (localhost, loopback locale).

Bando alle ciance, nel caso abbiate lo stesso problema, è semplice da risolvere.

Innanzi tutto vi consiglio di installare Wicd e poi dare il seguente comando da terminale:

sudo ifconfig ath0 up

ed inserite la vostra password.

Fatto questo, aprite il pannello preferenze di Wicd e nella entry a fianco della scritta “Wireless interface” (Interfaccia wireless) inserite:

ath0

ath0_scrot

ovvero l’interfaccia che abbiamo appena abilitato; date OK et voilà, Wicd inizierà a trovare reti wireless (sempre che ce ne siano :P ).

Alla prossima!





Conky, Bash e Gnome: avvio automatico

2 05 2009

In questi giorni, provando Conky, mi è capitato di dover codare un piccolo e semplice script in Bash per avviarlo automaticamente all’inizio di una sessione su Linux.
Ora voi starete pensando: “Basta aggiungere alla sessione di Gnome il comando ‘conky’ !”.

Sì ma (almeno a me) succede che Conky resta in primo piano su tutte le finestre. Si potrebbe anche risolvere diversamente; in ogni caso risolviamo tutto con lo script in Bash.

Vediamo come fare con Gnome: nulla di più semplice :P

Creiamo un file chiamato ‘conky_starter.sh’ e incolliamoci il seguente codice – scusate ma WordPress non indenta il codice :O -

#!/bin/bash
# Conky Autostarter ~ SiD
sleep 22
if [ pgrep conky ];
then
pkill conky
fi
conky

In pratica, questo semplice script aspetta 22 secondi, così che verranno prima avviati tutti i processi relativi a Gnome e altre applicazioni, dopo controlla se c’è un processo di Conky attivo (quindi lo termina), poi avvia Conky. Questo risolve il problema posto all’inizio, ovvero quello del primo piano su tutte le finestre.

Ora che abbiamo lo script, posizioniamolo nella vostra home con il comando

sudo mv conky_starter.sh /home/USERNAME

dove username è il vostro nome utente, nel mio caso sid. Diamogli anche i permessi così che possa avviare Conky senza problemi:

sudo chmod 775 /home/USERNAME/conky_starter.sh

A questo punto andiamo su Sistema, Preferenze e poi su Sessioni per aggiungere questo file all’avvio. Clicchiamo quindi su Aggiungi, diamo un nome per lo starter e come comando mettiamo

/home/USERNAME/conky_starter.sh

Ok, finito. Semplice vero?
Godetevi Conky.





Freqs & Frequalyzer

23 04 2009

Frequalyzer è uno scriptino scritto in Perl che misura le frequenze di lettere e parole in un file di testo e restituisce tutti gli elementi valutati e le relative percentuali.
Più che altro lo script, per funzionare, è basato su una piccola libreria scritta da me ( Freqs ).
Per le frequenze di singole parole, compresi elementi come punti-virgole ecc, da linea di comando:
perl Frequalyzer.pl -s <file>
Per parole intere, quindi esclusi punti-virgole e via dicendo, Freqs valuta come separatori un qualsiasi spazio o segno di punteggiatura che sia.
perl Frequalyzer.pl -w <file>

http://blacklight.gotdns.org/cgi-bin/nopaste.pl?mode=view&id=1240505514 [Frequalyzer]
http://blacklight.gotdns.org/cgi-bin/nopaste.pl?mode=view&id=1240505547 [Freqs module]

Ora, avendo per esempio un file chiamato “current.txt” con all’interno un testo

To be or not to be, that is the question

vediamo le frequenze delle parole, con l’opzione -w current.txt

Newlines: NONE
Spaces:   9

the => 1 ( 0.1% )
that => 1 ( 0.1% )
not => 1 ( 0.1% )
is => 1 ( 0.1% )
question => 1 ( 0.1% )
to => 1 ( 0.1% )
or => 1 ( 0.1% )
be => 2 ( 0.2% )
To => 1 ( 0.1% )

Most used: be (2 time)

Come noterete è case sensitive e restuituisce anche il totale degli spazi, degli a capo e degli elementi più usati :P
Dimenticavo, passando come terzo argomento un carattere, se quel carattere è presente in una linea durante l’analisi del file, tutte le parole e/o lettere di quella linea verranno scartate ^^





Python & Pygame: SpinPong

19 03 2009

SpinPong è il gioco del Pong scritto in Python con la libreria Pygame.
Per ora ho inserito un piccolo intro che funge da menu con una musichetta, mentre per quanto riguarda il gioco vero e proprio si gioca contro il PC (battibile, anche se per ora l’AI non è il massimo :P ) e per vincere bisogna almeno totalizzare 80 punti ed averne di più del PC.
Premendo il tasto S durante il gioco la pallina si muove più velocemente, se rilasciate tornerà alla velocità normale…

Screen:

SpinPong v0.1

Sources, pacchetto etc. su SF
http://sourceforge.net/projects/spinpong/

Ah ovviamente dovete avere la libreria Pygame installata; funziona tranquillamente anche su Windows, l’unica cosa che ho notato è che il gioco è un po’ più lento nell’esecuzione :S
A voi (commenti, consigli e giudizi ben accetti).





[Bash] /etc/sudoers: sudoers fixer

23 02 2009

bash

Scriptino in Bash, scritto alla veloce, per fixare il file /etc/sudoers su Linux, nel caso di errore come:


USER is not in the sudoers file. This incident will be reported.

Basta avviarlo come root (“su”) e passargli da CLI il nome utente a cui assegnarei privilegi (per il comando sudo, ovvio :O).
bash sudoers.sh <user>

Codice (salvarlo in un file sudoers.sh):

SOURCE





SilpCMS on SourceForge.net

21 02 2009

Sourceforge.net

Sono lieto di annunciarvi che ho aperto il progetto anche su SourceForge, dove potete trovare qualche screen del CMS e le nuove release. Date un’occhiata alla sezione Download :P

http://sourceforge.net/projects/silpcms/
http://silpcms.sourceforge.net/





SilpCMS (Perl+CGI)

15 02 2009

SilpCMS è un CMS scritto in Perl+CGI (sì, sono fissato con il Perl :O) per la pubblicazione di articoli.
Si può editare la Home, la pagina About ed inserire news/articoli dal pannello dell’admin. Direi che la grafica non è per niente stile WEB 2.0 :D

Per l’installazione non bisogna far altro che editare il file config.pl con i propri dati e dare i permessi (lettura-scrittura in generale) alla cartella “db” e agli script.
Ovviamente il server in questione deve supportare il Perl (in poche parole bisogna avere l’interprete Perl per Apache, vedi mod_perl) ^^

Qualche screen:
http://xs.to/xs.php?h=xs136&d=09076&f=silpcms864.png

http://xs.to/xs.php?h=xs136&d=09076&f=silpcms2942.png

Sono più file .cgi e cartelle, quindi posto il link al pacchetto (prima release) ^^
QUI

Versione 0.2

Come consigliato, ho inserito delle smileys con la possibilità di usarle per ogni post (basta selezionare il checkbox), ho modificato il file di configurazione con un exit, ho modificato il database (ora su .txt) e ho inserito un file di configurazione per l’header del sito.
Per quest’ultima cosa, basta modificare le variabili nel file configuration.pl della cartella “site”, inserendo il codice html (sia per un eventuale logo, sia per la descrizione che apparirà in alto)

Mentre aspetto uno spazio su sourceforge, posto il link per il download :P
HERE

Per qualsiasi consiglio, critica, suggerimento o bug postate pure XD





Wardriving Database – PHP

15 01 2009

Piccolo database sul wardriving scritto in PHP, senza far uso di MySQL  :)
I dati inseriti vengono salvati su un file di testo e su un file in php e poi visualizzati in una tabella (?mode=view) oppure singolarmente (?mode=view&id=[id]).

Source:
Here

Enjoy ^^





[Perl-Lib] PPM Base Library

1 01 2009

Intanto, BUON 2009!! :)

Ecco a voi una libreria abbastanza basilare, scritta in Perl per la gestione basilare di immagini PPM.
Più che sulla creazione, le funzioni sono sull’editing delle immagini e la loro gestione.

Funzioni principali (da usare sempre tranne nelle funzioni di creazione immagini come scacchiera, linee ecc…)

load_image(IMMAGINE) # Carica un'immagine
new_image(IMMAGINE) # Nuova immagine su cui saranno salvate le modifiche fatte alla prima

Ecco le funzioni della libreria:

change_single(OLD, NEW) # Replace di tutti i pixel di un determinato colore (old) con un colore nuovo (new)
change_tern(OLD_TERN, NEW_TERN) # Replace di tutte le terne di RGB (old_tern) con terne nuove (new_tern)
create_gradient(WIDTH[miglior valore->256] HEIGHT, RGB TERN) # Creazione di un gradiente di dimensioni N con una sfumatura definita nella terna
chessboard(WIDTH HEIGTH) # Creazione di una scacchiera di dimesnioni N
line(WIDTH HEIGTH, MODE) # Creazione di un'immagine con linee (mode indica l'orientamento) di dimensioni N
granule(WIDTH HEIGTH) # Creazione di un'immagine "granulata" di dimensioni N
reverse() # Inversione di terne di RGB di un'immagine, per ogni linea
format() # Formattazione standard di un'immagine (per es. convertita in .ppm P3) con terne RGB ordinate per ogni linea
copy() # Copia identica di un'immagine
reverse_180() # Rotazione immagine di 180° + effetto reverse
noise() # Effetto per aumentare l'intensità di un'immagine (noise == più scura)
P6_P3() # Converte un'immagine salvata in .ppm P6 in una in P3 (eventualmente da formattare)

Source:
QUI

Pacchetto (Readme & C.):
QUI

Spero di aggiungere presto nuove funzioni ^_^
E ringrazio neo per avermi spiegato la struttura e la gestione delle immagini P6  :)

DA40 (immagine originale –> 180° + Reverse):

Da40 Original Da40 Rotation + Reverse