Benvenuti nel mio nuovo sito web!


Questo sito web è il mio pensatoio, quindi troverete post e/o progetti su php ed il .NET, principalmente C#, ma troverete anche post sulla mia vita personale e sui miei lavori! Se vi chiedete perchè alla fine ho scelto drupal invece che una soluzione hand-made o wordpress, textpattern e cosi via beh la risposta è semplice: anche se è un po esoso in termini di memoria è un ottimo prodotto per realizzare siti molto velocemente!





daniele_dll's picture

Anche se ci sto ancora lavorando, e lo sto facendo lentamente per la mia perenne mancanza di tempo, ho quasi finito di mettere su il mio nuovo sito!

Potete trovarlo all'indirizzo:
http://www.daccii.it

Ho rimesso su la roba presente qua e spero a breve di aggiungere altra roba che ho messo da parte in questo periodo e non ho avuto il tempo di sistemare per pubblicare (gestione dei pacchetti a basso livello tramite libnfqueue su linux, recupero dei dati tramite l'utilizzo del modulo sg del kernel linux, un server estremamente performante scritto in c# ed un altro pò di materiale!)

daniele_dll's picture

Ho disabilitato i commenti per via delle immense quantità di spam che veniva inviato. Dovendo fare il controllo manuale che non facevo, praticamente, i vostri commenti rimanevano nella queue di quelli da verificare a tempo indefinito.

Spero a breve di mettere su quanto detto in cantiere per l'anno nuovo :)

daniele_dll's picture

Ogni volta che penso di avere del tempo libero finisco sempre incasinato ^^

Non ho più potuto lavorare al nuovo sito e ho dovuto lasciarlo a metà. Mi sono dovuto dedicare allo sviluppo di un applicativo per la cassa edile locale e durante le ferie ho portato avanti di pari passo lo sviluppo di alcuni progetti personali, ovvero la costruzione di un sistema operativo basato su linux per la creazione di sistemi embedded e lo sviluppo di un browser game di strategia in tempo (quasi) reale, anche se comunque quest'ultimo, è più un abbozzo che altro, rispetto al primo progetto che sto seguendo da mesi e che da poco ha ricevuto una bella spinta verso l'alto.

Se tutto va bene per ottobre dovrei poter comprare dell'HW apposito dove far girare tutto invece di utilizzare qemu come ambiente di testing, cosa che mi permetterebbe di accelerare notevolmente lo sviluppo. Le piattaforme che sto seguendo sono attualmente arm e x86, quest'ultima per via del recente processore intel, ovvero l'atom.

Vi darò più notizie in seguito :)

daniele_dll's picture

Purtroppo ho avuto problemi nella registrazione del dominio anche se finalmente la cosa sembra essersi sbloccata (finalmente direi!).

Spero in questi giorni di finire la struttura del sito per lavorare sulla grafica che, attualmente, per via delle mie capacità grafiche, è quasi un'incognita, anche se comunque ho già qualcosa in mente.

Le sezioni che verranno abilitate sul sito, attualmente, saranno:
- Development, ovvero una sezione che conterrà una serie di categorie come PHP, .NET, C e altro, nelle quali saranno presenti articoli, tips & tricks ed infine progetti personali ... il codice che pubblicherò sarà molto probabilmente sotto licenza MIT ( http://it.wikipedia.org/wiki/Licenza_MIT ),
- Blog, un bel diario di bordo che mi forzerò ad aggiornare con frequenza,
- Forum, per dare supporto a chi vorrà usare il mio codice, o per risondere a quesiti tecnici e non,
- Newsletter, che spedirò con cadenza bi-settimanale (se ci arrivo, o mensile, ma devo ancora decidere) e non conterrà altro che le news, gli articoli, i tips & tricks e gli aggiornamenti per i progetti delle varie sezioni.

daniele_dll's picture

Finalmente sto finendo di riorganizzarmi!

Ho già buttato giù qualche bozza della grafica e fatto qualche esperimento con joomla ed i moduli per le newsletter, le aree private ed i progetti.

Sarà mia intenzione fornire agli iscritti alla newsletter, settimanalmente o bi-settimanalmente, spezzoni di codice, esempi, o comunque piccoli articoletti sia su php sia su c#/.net, devo solo vedere come organizzarmi.

Nella sezione progetti ho intenzione di mettere/rimettere gli attuali, pochi, progetti che ci sono presenti più i vecchi(ssimi) lavori in php che avevo messo su, principalmente la classe per il dump/export dei database mysql dato che mi sono arrivate svariate richieste ... magari vedo se riesco a dargli un'occhiata ed una risistemata magari sistemo qualcosa :)

daniele_dll's picture

Rieccomi, il lavoro mi ha assorbito ma sto cercando di iniziare a ritagliarmi degli spazi di tempo per divenire più attivo nel posting!

Allora, come prima cosa, come vi avevo accennato nel precedente post, vi sono delle novità!

La prima di tutte e che, nell'arco di sei mesi o poco più abbandonerò completamente PHP per svariati motivi, di cui ne elenco alcuni, per me i più importanti:
- flessibilità del linguaggio;
- poca espandibilità;
- nessun framework ufficiale;
- consumo di risorse.

Iniziamo dalla flessibilità del linguaggio: con php 5 sono state introdotte tante novità che man mano si sono evolute fino alla release 5.3 dove saranno presenti anche i namespace. Se pur si tratta di un grande sforza, anche se necessario, tutto l'insieme si regge in piedi per forza! Zeev e compagnia hanno sempre dichiarato di voler tenere php procedurale e che le funzionalità OOP sono soltanto un aggiunta e la dimostrazione ne è un implementazione che non sta a passo con i tempi. La capacità di evolversi è stato sempre un elemento fondamentale che purtroppo manca a chi sta dietro php e questo porta non solo ad implementazione monca della OOP ma anche ad una cattiva gestione in generale.

Riguardo alla poca espandibilità c'è da dire che se pure ci sta tantissima roba, a livello di estensioni di php, queste in realtà sono utili solo nel caso in cui una persona abbia un server virtuale o dedicato perché altrimenti diventano assolutamente inutili. Linguaggi ed ambienti più evoluti permettono allo sviluppatore di realizzarsi da solo, se ne è capace, i componenti necessari (.NET, Java ed altri) ma purtroppo in php, l'estensione, va scritta in C e c'è poco che fare. Un'estensione, ma per l'appunto estensione, di php chiama FFI, Foreign Function Interface, permetteva di bindare funzioni di librerie a funzioni di php ma è stata abbandonata ( http://pecl.php.net/package/ffi ). A questo si aggiunge che dato che le estensioni sono in C e sono caricate dall'interprete sono legate in maniera inscindibile all'interprete stesso ... se domani esce un fix per una libreria questa deve essere ricompilata per le versioni dell'interprete o per meglio dire delle API altrimenti non potrà essere caricata e non funzionerà, cosa ovvia ma bloccante nel caso di bug ... se le estensioni fosserò state scritte, ad esempio, in php stesso si sarebbe potuto prendere il file dell'estensione e correggere e ridistribuire cosi che chi ne faceva uso poteva benissimo metterlo sul proprio spazio web ed utilizzarlo.

Per i framework il discorso è più complesso, infatti da poco Zend ha sviluppato un suo framework che supporta anche pattern di programmazione come l'MVC però effettivamente un framework distribuito con PHP non c'è e nemmeno esisterà. Sicuramente ci sono tanti framework in giro che si possono prendere e scaricare ma ognuno di loro ha i suoi problemi, le sue mancanze, le sue particolarità ed ha i suoi capricci. Un framework ufficiale invece permetterebbe non solo di far convergere le normali operazioni su di lui ma eviterebbe anche tanto lavoro perché quando un framework ha la necessità di trasformare in oggetti tutti i vari tipi base ed i tipi evoluti farli poggiare su questi diventa complicato implementare tutto il necessario diventa un gran casino (il framework alla base del mio CMS, parzialmente, non ho avuto tempo di farlo ad hoc, fa questo tipo di lavoro permettendomi di dare un maggior controllo ed avere qualcosa di simile alla tipizzazione che in certi ambiti è fondamentale)!

Per terminare il consumo di risorse: php è un maialino non un elefantino! Di seguito posto un elenco di benchmark:
- PHP vs C# ( http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=php&l... )
- PHP vs Java ( http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=php&l... )
- PHP vs LUA ( http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=php&l... )
- PHP vs Python ( http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=php&l... )
- PHP vs Perl ( http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=php&l... )
- PHP vs Ruby ( http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=php&l... )

L'unico che va sotto è ruby, ma non mi stupisco, dato che buona parte delle problematiche son presenti anche lì. A questo aggiungo che i test effettuati verso C# sono stati effettuati con Mono e non con il .NET di microsoft che ovviamente è più performante. Per finire aggiungo sempre che Mono, dalla versione 2.2, ha rilasciato un compilatre JIT più perfomante e funzioni di condivisione del codice degli assembly che riducono notevolmente il consumo di memoria in base al tipo di operazioni effettuate.

Ovviamente un linguaggio non si sceglie solo per le performance o per il consumo di risorse ma anche per altri fattori, php può essere velocizzato tramite l'uso di strumenti come APC, memcache e simili.

Personalmente ho scelto C# come linguaggio, che uso già da tempo per sviluppare applicativi su windows e linux, fornendoli di una doppia interfaccia grafica (su Windows usando le System.Window.Forms mentre su Linux usando GTK#) ove richiesto, che oltre ad essere tremendamente più veloce.

Ci tengo a precisare che php non è assolutamente da buttare e, anzi, per chi è agli inizi è un ottima scelta, C# cosi come Java non lo consiglierei mai a nessuno che sta avvicinandosi alla programmazione web. D'altro canto php mostra tutte le sue debolezze, che non sono poche, quando si tratta di lavorare con strutture più complesse e situazioni particolari. Li poi diventa una scelta personale l'uso di php rispetto ad altri ambienti, scelta che io per molto tempo ho adottato e che alla fine me ne ha fatto pentire, almeno per le situazioni con cui ho avuto a che fare io.

Detto tutto questo, passiamo avanti! La seconda cosa è che da tempo stavo pensando di mettere su una specie di calderone delle idee: un posto dove mettere le mie idee, con documentazione, specifiche e quant'altro, per far si che se a qualcuno interessava qualcosa si ci poteva lavorare su. Il motivo dietro tutto ciò è la mia perenne mancanza di tempo ... purtroppo per campare devo lavorare.
Tra le idee più belle vi è sicuramente Tofu, il mio webserver che avrebbe risolto, almeno per me che lo avrei usato, i problemi relativi a permessi/utenti per virtual host/directory (grazie al suo modello di connessione ... se cercate tra i post ne troverete uno ma non è l'ultima versione che sinceramente non so nemmeno dov'è finita). Sempre tra le idee vi è il sistema di filtraggio dei pacchetti che permetterebbe di implementare funzionalità che altrimenti sarebberò mal funzionamenti o complessi da implementare in altro modo (ad esempio il captive portal coinvolge il filtraggio di tutti i pacchetti più il filtraggio dei pacchetti di tipo http per restituire la pagina dove effettuare il login e la navigazione o ancora filtri per i contenuti e per la posta ove non basta cambiare la porta di destinazione per saltarli a pié pari [e si ... nel caso dei proxy trasparenti dato che si basa il tutto sul principio che si naviga sulla porte standard cambiando quelle non si viene più filtrati] e cosi via tante altre cose)

Il calderone delle idee vorrei realizzarlo utilizzando un wiki, ma devo vedere cosa usare.

Per finire, toglierò drupal e metterò Joomla, non per la moda del momento ma perché, almeno per le situazioni ove mi sono trovato, Joomla si è rivelato vincente. In realtà avrei voluto mettere il mio CMS online solo che non c'ho tempo per scrivermi i moduli e soprattutto volendo abbandonare php mi ritroverei a lavorare su un prodotto non ha futuro.
Il blog lo sposterò su un sotto dominio in modo da mettere su wordpress e filtrare, senza diventare scemo, i trackback e i commenti di spam dato che su drupal non sono mai riuscito a mettere su i filtri.

Attualmente sto cercando di prepararmi un template carino, ho qualche idea, solo che devo vedere pure il nome del dominio dato che se pur terrò phpsoft.it non sarà più quello principale! Magari prenderò o un .name, anche se sicuramente sarà occupato quello che mi serve, o alternativamente prenderò un .info, però non so ancora che cosa!

Ok, ho scritto un sacco di roba e sicuramente ho fatto pure non pochi errori di italiano considerando che scrivo da più di 30 minuti ed ho finito di mangiare da poco!

UPDATE
L'applicativo per il filtraggio lo avevo già iniziato e mi ero concentrato sull'interfacciamento con la libreria che comunica con netfilter (il firewall di linux) per fare il filtraggio dei pacchetti. E' possibile scaricare i miei test dall'svn a quest'indirizzo:
http://svn.phpsoft.it:8112/repositories/Tests/nfq-test-1/trunk/

E' inutile che andate cercando per vedere se trovate altra roba perché ho reso accessibile solo quello :)

Inoltre pensavo se è il caso di attivare Mono sul dedicato e mettere su il sito, invece che utilizzando Joomla, sfruttando Mojo Portal o un CMS fatto comunque un .NET (non vi preoccupate DNN non lo metto di certo!)

daniele_dll's picture

... ne approfitto per far sapere, a quei pochi di voi che mi leggono ancora ogni tanto, che sono ancora vivo e che presto, dato che è finalmente successo, ci saranno delle considerevoli novità!

Tra le tante novità ci sta il mio CMS che ho riscritto non so quante volte ma finalmente ha raggiunto una certa stabilità ed ho già realizzato tramite lui alcune applicazioni intranet veramente carine. Probabilmente metterò su pure un sito per un software di filtraggio per reti basato su linux + netfitler + netfilter netlink queue che sta venendo su proprio carino e permetterà un filtraggio del traffico dati a livello applicazioni permettendo di creare dei bridge trasparenti con estrema semplicità!

Ora che ho fatto le anticipazioni ... tanti auguri a tutti!!!

Auguri di buon natale e un felice anno nuovo

daniele_dll's picture

Stamattina è stato pubblicato su Hostingtalk.it un articolo che ho scritto su nginx che spiega come installarlo e configurarlo per un utilizzo base!

L'articolo è accessibile all'indirizzo http://www.hostingtalk.it/articoli/nginx-installazione-e-configurazione-...

daniele_dll's picture

Ho da poco iniziato a scrivere articoli per HostingTalk.it e, per iniziare bene e per farmi scusare del ritardo nel completamento dell'articolo, ho trattato un argomento a cui tengo moltissimo e nel contempo estremamente complessi: lo sviluppo di servizi, ovvero demoni unix, interamente in PHP!

Si, beh, qualcuno di voi ora come ora mi starà dando del folle maniaco ma, se devo essere sincero, possono essere molto utili e possono far risparmiare tempo e denaro nell'implementazioni di architetture propietarie da affiancare a strutture già esistenti aumentando la gestibilità e la manutentibilità!

Se qualcuno di voi vuole lanciarsi all'avventura leggendo l'articolo di ben 9 pagine, lo può trovare qua:
http://www.hostingtalk.it/articoli/realizzare-unix-daemons-con-php/

daniele_dll's picture

Dato che lo aggiorno poco e niente ho deciso di mettere il dominio in vendita con uno dei tanti servizi disponibili sul web!

Se siete interessati o volete fare qualche offerta:
http://www.alverde.net/wem/default.asp?a1=domain&idx=1552
http://www.giorgiotave.it/forum/mondo-domini-aste-vendita-ed-acquisto/74...

>>> UPDATE

niente, mi sa che non c'è gente interessata all'acquisto di questo bel nome :D