Avevamo sentito parlare delle fontanelle Coca-Cola/Mentos… ma nessuno aveva mai osato tanto! Bambini, provate questo esperimento solo in compagnia di un adulto (possibilmente possessore di un’auto nuova)!
Sono 5 semplici passi, ma la preparazione è lunga.
Comprate una lattina di Coca-Cola o Pepsi (meglio quest’ultima… è + zuccherata)
Mettete la lattina dentro il cassettino porta-oggetti della vostra auto nuova e/o appena pulita
Andate in vacanza per un paio di settimane, in estate, meglio se nel periodo di Ferragosto, dimenticandovi della lattina
Una volta tornati dalle vacanze, dopo esservi abbronzati e rilassati, entrate in macchina. L’effetto è migliore se siete terribilmente in ritardo per andare a lavoro.
Aprite il cassettino e… piangete, intervallando le lacrime a risatine isteriche! :)
E ricordate che
questo esperimento è… APPROVATO DA MacGYVER!
PS: va tutto via con spugnetta e sgrassatore −.−
PPS: potete anche tenere la lattina dilaniata come trofeo o soprammobile. Io però ci sono passato sopra con la macchina.
Finalmente! Un anno di lavoro DEVE avere una degna conclusione!!
Quest’anno, dopo la parentesi lampedusana del 2007, si torna ad Ustica... la perla del Mediterraneo!
E’ la terza volta in quattro anni, è vero, ma non mi stancherò mai… e c’è da dire che adesso ho un legame in più che me la farà apprezzare ancora meglio :)
Vorrei consigliare a tutti un soggiorno in questa bellissima località turistica: inizialmente potrebbero bastare pochi giorni, ma vi assicuro che una volta assaporato il gusto dell’isoletta tropicale nostrana, non vi farete scappare l’occasione di tornare!
A proposito… per qualsiasi bisogno vacanziero, rivolgetevi al Residence dell’Isola... e il resto lasciatelo fare a loro! ;)
(un po’ di sana pubblicità, ma anche un consiglio per i miei due lettori)
In queste due settimane voglio trovare il tempo per fare il “battesimo del mare”, cioè la prima immersione subacquea con muta e bombole, ovviamente guidato da un istruttore. Uno spettacolo come il fondale usticese non si trova facilmente in nessuna altra parte del pianeta!
da Wikipedia: La normalizzazione audio è il processo di aumento o riduzione dell’ampiezza di un segnale audio. Di solito il processo consiste nel rendere massimo il livello di un segnale audio senza introdurne distorsione.
In particolare, la normalizzazione consiste in un aumento del guadagno, portando il picco massimo del segnale (o di una sua parte) al livello del 98% (-0.3 dB) o del 100% (0 dB).
Praticamente… aggiustare gli MP3 della vostra collezione, in modo che abbiano tutti lo stesso volume… e ovviamente che questo non sia nocivo alla salute dei vostri padiglioni auricolari :)
Tutti sappiamo che gli MP3 sono un formato audio compresso, derivante da un file di grosse dimensioni in formato RAW (non compresso) passato attraverso un filtro (in questo caso l’MPEG-1 Layer 3), che ne riduce la dimensione ma nella maggior parte dei casi anche la qualità (a meno che il filtro non sia loseless), seppur impercettibilmente.
L’operazione di compressione dura un po’ e occupa buona parte delle risorse della CPU. Questo è un fattore importante per l’argomento di questo post, perchè il metodo che sto per descrivere permette di modificare il volume dei file audio, senza doverli ricomprimere, ma semplicemente alterando una piccola parte del loro contenuto.
Infatti MP3Gain analizza il file MP3 e controlla in che modo il suo volume massimo verrà percepito dall’orecchio umano, diminuendo o aumentando il “gain” in modo che il volume complessivo risulti ottimale.
Per installare questo programma sotto Ubuntu, basta digitare
$ sudo apt-get install mp3gain
poi andare nella cartella contenente gli MP3 da normalizzare (anche organizzati in sottocartelle) ed eseguire
... un semplice comando di find dei file con estensione ”.mp3”, il cui output è dato in pasto direttamente a mp3gain, che normalizzerà tutti i file (-r) in modo tale da non far “sforare” il volume massimo oltre la soglia di distorsione (-k).
Molto utile per evitare di dover aggiustare il volume del lettore mp3 ad ogni cambio di canzone, soprattutto quando si sta guidando :)
Quando il passato diventa futuro, quando si capisce che “prima era tutta un’altra cosa”, quando qualcosa di ormai vecchio viene finalmente compreso e torna di moda… quando si riscopre un videogioco che è vecchio, ma più vecchio non si può! :D
Solo che… se vi dico di pensare ad un vecchio videogioco, a cosa pensate? Pong? Pac-man?
Eh no! Sebbene quelli abbiano fatto storia, potevano essere divertenti, ma non “intriganti”: io sto parlando di Interactive Fiction... avventure testuali! :) (a dire la verità Pong è nato una decina di anni prima, nel ‘66)
Ti chiami Aragon e sei uno dei piú valenti guerrieri di tutte le Terre Conosciute. Quando non sei impegnato a squartare draghi o a dare la caccia a feroci briganti, ti piace stare con Julia, una ragazza dolcissima e bellissima che assomiglia tanto a uno dei desideri realizzati della lampada di Aladino. Naturalmente non saresti qui se Julia non fosse stata rapita da Joker, il Mago Signore del Giardino Incantato, un misterioso territorio situato ai confini del Mondo. Hai viaggiato per settimane alla ricerca del Giardino, sempre piú a sud, finché un vecchio pazzo, incontrato in una malfamata taverna nei pressi del porto di Ptar, non ti ha venduto per pochi soldi una mappa che, attraverso il Gran Fuoco del Mezzomondo, conduceva al Giardino. Pur seguendo diligentemente la mappa, per molti giorni hai pensato che si trattasse dello scherzo di un drogato distrutto dal sangue di chimera, ma alla fine l’hai trovato, un enorme cancello coperto di piante rampicanti che dà accesso a un luogo da cui nessuno ha mai fatto ritorno. Al centro del Giardino, sorge la leggendaria Torre di Platino, da cui l’ultimo degli Immortali è asceso all’Infinito e dove Joker ha stabilito la sua dimora, per essere piú vicino al capo del Mondo, il Cielo. Julia è con lui, alla fine dell’avventura che stai per iniziare.
Entrata
Un enorme cancello coperto di piante rampicanti: l’entrata del Giardino Incantato si erge davanti a te in tutta la sua imponenza, a nord, mentre a sud c’è l’interminabile strada che attraverso lunghi giorni di faticoso cammino ti ha portato fino a qui.
>
l’inizio di “IL GIARDINO INCANTATO” (1999) di Marco Vallarino
... praticamente un libro interattivo ... ci si muove e si agisce con comandi testuali come “vai a nord”, “apri la porta”, “parla con il nano”, “colpisci il drago con la spada”.
Ovviamente a molti tutto ciò non susciterà alcuna emozione, ma la consapevolezza di avere davanti un gioco concepito per dar filo da torcere ai cervelli dei giocatori… mi fa pensare che questa è un’arte che spero non si perderà mai nel tempo!
Egggià, non crediate che questi giochi appartengano soltanto al passato! La prima avventura testuale italiana è stata sfornata nel 1982 (Avventura nel Castello, di Enrico Colombini), rifacimento della prima avventura testuale americana del 1975, ma tuttora ogni anno vengono sfornate decine di avventure, che partecipano ai concorsi “Avventura dell’anno”, raggiungibile solo via Usenet (it.comp.giochi.avventure.testuali) e IRC (in pieno old-style :)), e “One Room Game Competition”.
I siti italiani di riferimento per l’Interactive Fiction sono IF Italia e L’avventura è l’avventura, dove è possibile trovare catalogate tutte le avventure testuali e i programmi che fanno da “interpreti” per far girare la avventure.
Andiamo alla parte “tecnica” della faccenda: la grandissima maggioranza della avventure testuali moderne è programmata in Inform, linguaggio capace di compilare in Z-Code, lo stesso formato binario delle prime avventure, che giravano sotto Z-Machine di Infocom.
Sui computer moderni non funziona la Z-machine, quindi per giocare serve un interprete di questo Z-Code… un emulatore.
L’interprete più diffuso è Frotz, disponibile per tutti i sistemi operativi… ed anche per il Game Boy! :D
Ah… su Ubuntu basta un “sudo apt-get install frotz” :)
Bene… adesso, se vi siete incuriositi almeno un po’, armatevi di emulatore e scaricate qualche avventura da IF Italia!
Oggi vi recensisco un servizio che pochi conoscono, sebbene sia stato partorito dall’azienda che da anni è sinonimo di Internet, cioè Google.
Sapevo di Google Apps da tempo, ma inizialmente non pensavo che mi potesse essere utile. Invece negli ultimi giorni ho avuto qualche difficoltà nel far funzionare la posta elettronica sul mio dominio (cPanel è bello, ma preferirei una bella shell con permessi di root), quindi ho pensato di affidarmi a qualcuno che di sicuro non creerà problemi per questo genere di cose e non mi farà mai perdere tempo.
Infatti questa situazione mi ha portato a ripescare Google Apps dagli scantinati della mia memoria… quindi sono andato a colpo sicuro.
Basta collegarsi alla pagina principale che ho precedentemente linkato per ritrovarsi all’inizio di una procedura guidata, che ci porterà passo passo alla creazione dell’account associato al nostro dominio. Ovviamente sarà necessario confermare la proprietà del dominio, inserendo un apposito file di testo nello spazio web.
Successivamente Google ci darà accesso agli strumenti di Google Apps: Pagina Iniziale (personalizzabile con i widget esattamente come iGoogle), Email (con 6 GB di spazio per ogni account), Documenti, Calendario e Chat (Google Talk) e ad un comodo pannello di controllo, attraverso il quale personalizzare ogni aspetto delle proprie applicazioni.
Per raggiungerle sarà possibile utilizzare un URL creato appositamente per noi sul dominio di Google, oppure associare un record CNAME del nostro dominio in modo da raggiungere le applicazioni tramite un sottodominio, come mail.brunomendola.net.
Per utilizzare Gmail sarà necessario modificare i record MX del DNS del proprio dominio, quindi bisogna prima assicurarsi di avere i permessi e gli strumenti per farlo; generalmente tutto ciò si può fare dal pannello di controllo fornito dal mantainer del dominio (nel mio caso è Register.it).
C’è da dire che il servizio che ho descritto è gratuito, ma esiste anche una versione Premier di Google Apps (per le aziende) a pagamento (€ 40,00/account utente/anno), ed una versione orientata alle scuole, sempre gratuita. Queste due versioni hanno la caratteristica di potersi integrare con i sistemi web già esistenti, tramite delle comode API, nonchè maggiori garanzie dal punto di vista dell’uptime e dell’assistenza.
Non ci sarebbe bisogno di dire che mi ci sto trovando troppo bene… :)
In ogni grande azienda, quando si tratta di adottare una nuova tecnologia, ci si trova sempre frenati da qualcuno che pone la domanda “e con tutto il software sviluppato finora che facciamo?”.
In effetti è vero che non si può pretendere di fare il porting di tutto il codice già scritto ogni volta che viene scoperto un nuovo framework di programmazione.
La soluzione sono i Web Services, “un sistema software progettato per supportare l’interoperabilità tra diversi elaboratori su di una medesima rete” (fonte: Wikipedia).
Il Web Services Description Language (WSDL) è uno standard internazionale, promosso dal World Wide Web Consortium (W3C), che permette la descrizione delle caratteristiche di un Web Service attraverso uno schema XML/SOAP, il quale viene utilizzato come “strumento di sincronizzazione” tra il framework fornitore del servizio e quello che sarà l’utilizzatore (che, grazie a questa forma di comunicazione standard, potranno anche essere basati su linguaggi di programmazione eterogenei).
Grazie al WSDL è possibile, per esempio, utilizzare un’infrastruttura software progettata e sviluppata su un server Java (es. Tomcat), richiamandone i metodi da un server basato su Ruby on Rails (es. Mongrel).
In particolare, per quanto riguarda Ruby, si dovrebbe utilizzare la gemma SOAP4R, che però nelle ultime versioni è inclusa direttamente nel pacchetto ufficiale.
Un piccolo esempio di tutto ciò si può realizzare in pochi semplici passi, non c’è neanche bisogno di scrivere un vero tutorial.
Creare una Web Application con un Web Service in Java e deployarla su Tomcat:
@WebService()
public class MyWebService {
@WebMethod(operationName = "sayHello")
public String sayHello(@WebParam(name = "firstName")
String firstName) {
return "Hello, " + firstName + "!";
}
}
Creare un progetto in Rails e richiamare il Web Service remoto:
class MyController < ApplicationController
require 'soap/wsdlDriver'
def index
XSD::Charset.encoding = 'UTF8'
wsdl = "http://TOMCAT_SERVER:8080/MyWebApp/MyWebService?wsdl"
service = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
result = service.sayHello :firstName => 'Bruno'
render :text => result.return
end
end
Ovviamente i due componenti precedentemente descritti potranno anche stare sulla stessa macchina, comunicando tramite l’interfaccia di loopback.
C’è da ricordare che lo standard XML dei Web Services permette di ritornare come output soltanto i seguenti tipi di dato:
Boolean
Byte
Double
Datatype
Decimal
Enumeration
Float
Int
Long
Qname
Short
String
TimeInstant
UnsignedByte
UnsignedInt
UnsignedLong
UnsignedShort
Array dei suddetti tipi
quindi per passare tipi di dati complessi da un’applicazione all’altra sarà necessario implementare dei metodi di serializzazione/deserializzazione sugli oggetti.
PS: un motivo in più per utilizzare NetBeans, che dalla versione 6 supporta anche Ruby on Rails e PHP! :)