aggiornamenti vari
Monday, March 31st, 2008dat è passato a wordpress 2.5, una buona occasione per aggiornare anche il plugin PTL
dat è passato a wordpress 2.5, una buona occasione per aggiornare anche il plugin PTL
Da qualche tempo sto provando i servizi social di diggita e fai.informazione.
Per quanto riguarda diggita non ci sono cose particolari da segnalare. Volendo fare i pignoli si potrebbe migliorare l’inserimento di una notizia, credo che 3 click siano eccessivi per veder pubblicata la segnalazione del proprio post. Volendo fare i diffidenti mi verrebbe da chiedere che garanzie vengono fornite per quello che riguarda l’utilizzo del proprio codice adsense sulle pagine di diggita, perché su diggita, forse non lo sai, ma uno può inserire il proprio codice adsense ed avere le proprie pubblicità al 50% sulle sue pagine di segnalazione.
Il suo funzionamento è semplicissimo: si scrivono articoli, sui quali voi guadagnerete il 50% delle visualizzazioni, mentre il restante 50% verrà utilizzato per visualizzare gli annunci adsense dei gestori del sito. (presa dal sito)
Voglio dire, se quelli di diggita, magari senza volerlo, infrangessero le regole di adsense il loro account verrebbe sospeso, e il mio? Sospeso pure? Chissà …
Per il resto il servizio è quello classico di segnalazione notizie e funziona discretamente bene.
Come avrai intuito, il titolo di questo post si riferisce a questo servizio. Accanto al logo si vede la dicitura “beta”, la vedi? Quella arancione. Trovata? Bene e visto che ti stai domandando cosa significa uso la wikipedia:
Il beta testing (o beta-verifica) è una fase di prova e collaudo di un software non ancora pubblicato, con lo scopo di trovare eventuali errori (bug). Questa operazione può essere svolta da professionisti pagati, oppure, molto spesso, da semplici amatori. [...] La distribuzione della versione beta del software può essere ristretta ad un piccolo numero di persone oppure accessibile a tutti, a seconda dei casi.
I ragazzi di fainformazione hanno optato per una beta aperta a tutti gli utenti (altri scelgono invece la modalità “su invito”). Non starò qui a disquisire su quale approccio sia il migliore, quello che mi preme far passare da questo paragrafo è che se fai una beta e la pubblichi NON DEVE avere GROSSI problemi (bug). Per loro sfortuna, invece, fai.informazione.it questi problemi li ha. Quali? Beh ieri sera cercando di vedere il mio profilo sono stato sparato sul profilo di uno sconosciuto:
spessissimo tutto quello che vedi è strano codice sparso per la pagina (ma almeno l’utente è quello giusto)
e, ci sarà forse un problema sui cookie, ma non mi tiene loggato e ogni volta che apro firefox mi devo riloggare (anche se uso l’opzione “ricordami”). A mio giudizio questo servizio dovrebbe rientrare in alfa testing perché i problemi sono troppo macroscopici per essere delle sviste di programmazione e la bassa affidabilità del sistema rischia di compromettere il brand sul mercato, che poi i blogger si mettono a scrivere post solo per dire quanto fa cagare questo o quel servizio …
Siccome oggi era giunta l’ora di iniziare a capire perché tutti considerano sto Web2.0 così ficco, mi sono messo a studiare Ajax (mattone fondamentale di tutto quello che è 2.0). Incidentalmente ho anche scoperto che BlogBabel ha rilasciato non molto tempo fa delle API (no, non gli insetti) pubbliche.
Fondendo i due task assieme e raschiando dal fondo del barile le mie (poche) capacità di programmazione ho deciso di aggiungere delle statistiche (una a dire il vero) di BlogBabel in questo blog (se apri la sidebar dovresti trovarla).
Ipotizzando che mi interessi solo la posizione generale nella classifica di BlogBabel (e voglia il risultato in formato testo) mi basta usare un URL del tipo http://it.blogbabel.com/api/v1/blog/dat;a=rank&f=txt/.
La mia vena divulgativa si è appena esaurita e quindi vi sparo tra capo e collo tutto il codice javascript da mettere all’interno del campo <head>
del vostro blog.
<script type="text/javascript"> //mi creo il mio bell'oggetto HttpRequestvar receiveReq = getXmlHttpRequestObject(); //da dove prendo i dati (questo te lo spiego più avanti nel post) var url = "http://dat.perdomani.net/dat.txt"; function getXmlHttpRequestObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); // Se sei uno bravo che non usa IE } else if(window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); // Se non sei bravo } else { document.getElementById("blogbabel").innerHTML = "(passa a firefox se vuoi saperlo)"; //Se sei vecchio } } function myBlogBabelPosition() { //Se l'XmlHttpRequest si degna di darci attenzione if (receiveReq.readyState == 4 || receiveReq.readyState == 0) { //Voglio una get asincrona dove ti dico io receiveReq.open("GET", url, true); //Appena sei pronto avvertimi che ti dico cosa fare receiveReq.onreadystatechange = handleRequest; //Speriamo non si perda per strada receiveReq.send(null); } } function handleRequest(){ if(receiveReq.readyState == 4){ if(receiveReq.status == 200){ //Scrivo la posizione document.getElementById("blogbabel").innerHTML = receiveReq.responseText; } } }
A quanti, leggendo il codice, hanno subito storto il naso e mi avranno, con gran probabilità dato del deficiente, vorrei puntualizzare che le mie conoscenze di javascript sono evidentemente limitatissime e che, essendo io persona gentile e dotata di buone maniere, scarico la statistica blogbabel sul mio server (con un cronjob del tipo 0 */6 * * * wget -O dovelometto dadoveloprendo
) ogni 6 ore. Evito così che OGNI pagina servita dal mio blog vada a fare una richiesta al server di BlogBabel (spero apprezzino la gentilezza) per una statistica che in fin dei conti cambia una volta al giorno.
Gli ultimi passi per far funzionare l’accrocchio sono quello di aggiungere l’attributo onload=”myBlogBabelPosition();” al tag body e, da qualche parte nella pagina, uno span con id “blogbabel” e senza testo tra il tag di apertura e chiusura.
Chissà se quello che ho fatto è il modo corretto di pensare Ajax e, ancor più importante, se non espongo il blog a problemi di sicurezza …
Chiaramente se vi interessa avere le statistiche nel vostro blog vi consiglio di usare il plugin di undolog o il nuovissimo di P|xeL o quello più nuovissimo ancora di undolog (ragazzi adesso basta però (i plugins sono per wordpress ma facilmente portabili ad altre piattaforme, credo).
UPDATE: certo, sono cosciente del fatto che essendo le informazioni statiche e per giunta salvate sul mio server non serviva proprio scomodare ajax, però mi piaceva fare così e così ho fatto =) (che poi, a dire il vero, non ho neanche idea di come aprire un file da php …)
UPDATE2: se non volete usare il mio bel metodo con il crontab e volete, invece,
rompere i coglioni al server di BlogBabeli dati aggiornati ad OGNI caricamento di OGNI pagina per OGNI visitatore del vostro blog allora usate codice tipo questo:<span id="bb"></span> <script type="text/javascript"> function show_rank(o){ document.getElementById("bb").innerHTML = o.rank; } </script> <script type="text/javascript" src="http://it.blogbabel.com/api/v1/blog/dat;a=rank&f=js&c=show_rank/"></script>sparso come il prezzemolo un po’ qua e un po’ là nella pagina.
Mi ero rotto di usare un tema, magari bello, ma sicuramente non personale. Quindi me ne sono fatto uno, senza troppe pretese, per questo blog. C’ha pure una pagina dedicata. Come sicuramente noterai non ho voluto stravolgere troppo le cose e quindi continua la febbre arancione …
Ovviamente mentre lo facevo mi pareva carino, adesso che è quasi finito mi fa cagare.
Chissà che ne pensa il venticinquenne, friulano, designer e sviluppatore web o il rock guitar player and awesome motorbike owner.
Tra le altre cose non l’ho provato con Internet Merda Explorer, comunque nessun problema, con firefox si vede piuttosto bene.
Rimettendo ordine nella /home/dat/universita ogni tanto saltano fuori delle cose che mi fanno tenerezza. Come questa: il laboratorio avanzato di WIR.
Lo metto qui per vari motivi, uno su tutti, perchè mi dispiacerebbe perderlo tra un rm -r e l’altro e quindi, non avendo bottiglie di vetro da abbandonare all’oceano, mi affido al sistema di backup del mio hosting (tanto credo che la probabilità di ritrovarlo in futuro sia, nei due casi, equivalente).
L’idea di partenza non era neanche malaccio, volevo vedere se era possibile fare un motore di ricerca onnisciente, un motore dove tu dicevi: “hey dimmi tutto quello che sai di xyz” e lui “beccati questo e di più non c’è“. Insomma un motore che non presentasse contenuti replicati e mostrasse le pagine più dissimili tra quelle simili (cioè di quel dato argomento cercato). Il risultato doveva essere quello di poter restituire TUTTE le informazioni possibili e immaginabili sull’argomento della ricerca.
Ovviamente, in un perfetto processo di tipo yin e yang, il tutto non ha portato a quasi niente. Gli unici risultati apprezzabili sono stati il capire che 1) non so programmare in java neanche dopo 3 esami sull’argomento 2) un motore del genere non sono in grado di farlo, però almeno riesco a pensarlo 3) bhe, un esame di meno, il che non è poco nella lenta marcia verso la specialistica.
Devo dire che è stato comunque divertente giocare con lucene e luke.