Bud Spencer Blues Explosion – L’intervista!

Al Tetris di Trieste, domenica 12 ottobre, sono atterrati i Bud Spencer Blues Explosion.
Posto che l’amico Francesco Buzzai mi ha bruciato sul tempo e ha scritto prima di me questo ottimo articolo sul loro ottimo concerto, io ho però l’arma segreta: la video-intervista che Cesare e Adriano mi hanno gentilmente concesso prima del concerto, e che ora vi propongo nello splendore dei sedici noni e dell’alta definizione (ma non quella audio purtroppo…)

Bud Spencer Blues Explosion from davethewave on Vimeo.

Mi permetto di aggiungere qualche parola a quello che Francesco ha detto e/o voglio ribadire e/o non condivido e/o indifferente…
Per prima cosa, questo duo rulla di brutto.
Come fan della scena “punk-blues” capitanata da Jon Spencer Blues Explosion, e seguita da Bob Log III (anche lui qualche tempo fa al Miela e al Tetris), Black Keys, White Stripes eccetera, quando ho sentito che al concerto del Primo Maggio suonavano i Bud Spencer Blues Explosion, “qualcosa” non mi suonava… e invece “quella cosa” suona fortissimo.
Cesare e Adriano, batteria e chitarra, hanno sorpreso e conquistato la folla di Piazza S.Giovanni, suonando un’incredibile cover di “Hey Boy, Hey Girl” dei Chemical Brother (video del concerto e video “serio” ).
Quindi ho aspettato con ansia l’uscita del loro disco “BSBE” (prodotto da IONTA per Yorpikus Sound e distribuito da AudioGlobe) e sono rimasto conquistato. Poi ho sentito anche “Happy'”, EP autoprodotto, anche questo è molto valido.
Prima di tutto perchè tecnicamente sono delle bestie: base ritmica e “svise” di chitarra si intersecano perfettamente (che poi uno pensa che in studio son capaci tutti, ma chi li ha visti dal vivo può testimoniare che suonano proprio così). Secondo perchè i testi sono alcuni semplici e quasi surreali, alla Bugo direi, e altri sono più profondi. E riescono bene entrambi.
Dal vivo hanno suonato pezzi da entrambi gli album, nuove composizioni, riff trovati sul momento e intessuti per diventare coda del precedente e intro del successivo brano, e tre cover: quella suddetta dei Chemical Brothers, “Voodoo Chile” di Hendrix e un’inattesa quanto notevole “Insieme a te sto bene” di Battisti.
Risultato dell’ora abbondante di concerto? Battito cardiaco accelerato, ettolitri di sudore condiviso con gli ospiti del Tetris, scorta di energia per la settimana, fischio persistente alle orecchie per il volume notevole (o ero troppo vicino agli amplificatori?).
Se non vi ho convinto, dopo l’intervista, guardatevi un po’ di video: Frigido, Blues di Merda, Cosa Manca. Il resto sarete capaci di cercarvelo da soli… “The Blues is Number One!”
Nota: mi sono dimenticato di protestare vivacemente perchè non hanno suonato “Good Morning Mike”, probabilmente la mia preferita…

How to get a simple but good form validation

I used to get the form validation by hand, with some ugly checks, message boxes, several boolean variables to combine with a lot of operators && and ||. A TOTAL mess.

My target was to provide a simple validation tool that I can spread (by inheritance) to all the forms in a project.
So if your project needs only a simple check for mandatory fields, the solution I found maybe can interest you. If you need something more sofisticated, you can imagine an extension of this solution to suite your needs.

How to get it

In a base form class, the parent of all my forms in the project, get an instance of an ErrorProvider, by putting it into the form. Be sure to have “Modifier” property set to “Protected”.
By default, the form property AutoValidate is set to EnablePreventFocusChange. This way, all the controls fire up Validating Event when it’s time to, and the focus will remain on the control when the validation fails.
In this base form we have to add two methods: ValidateControl and SetValidationHandlerOnControl.
The first one is the method that will handle the validation on the control we need to check.
The second one will add the validation handler to the control.

namespace ValidationTest{
  public partial class MyBaseForm 
  {
    ... 
    protected void ValidateControlHandler(object sender, CancelEventArgs e)
    {
      // this string will be the tooltip shown when an error appears
      String error = null;
      String textToCheck = String.Empty;
  
      // we need to be sure that the sender control is 
      // of the type System.TextBox
      Type senderType = sender.GetType();
      if (senderType == typeof(TextBox))
        textToCheck = ((TextBox)sender).Text;
      else 
        throw new ArgumentException(
  	    "The sender is not a TextBox, but a " + senderType.Name);
  
      // Mandatory field: if the textToCheck is null or empty, fire up the error 
      if (String.IsNullOrEmpty(textToCheck))
      {
        error = "Mandatory field"; 
        // this CancelEventArgs property locks the pointer over the control 
        // until the error disappears
        e.Cancel = true;
      }
  
      // if there isn't any error, the SetError get a 
      // null string and it will not shown.
      // otherwise the SetError will show an icon and a tooltip 
      // next to the control that fails the validation
      errorProvider.SetError((Control)sender, error);
    }
  
    protected void SetValidationHandlerOnControl(Control ctrl) 
    { 
      // we need to be sure that the sender control 
      // is of the type System.TextBox
      Type ctrlType = ctrl.GetType();
      if (ctrlType == typeof(TextBox))
        ctrl.Validating += new CancelEventHandler(this.ValidateControlHandler);
    }
  }
}

Ok, that’s almost done.
Now, if we had a form that inherits from MyBaseForm, we can add the controls we need to validate with a simple call to SetValidationHandlerOnControl.
Let’s consider that we have three TextBoxes: by default they all have property CausesValidation set to true. And let’s have a button that is the default AcceptButton for the form, with the TabIndex property value set to be greater than the TabIndex value of the textboxes.
So we need to call

namespace ValidationTest{
  public partial class MyChildForm : MyBaseForm
  {
    public MyChildForm(){
      InitializeComponent();
      SetValidationHandlerOnControl(this.textBox1);
      SetValidationHandlerOnControl(this.textBox2);
      SetValidationHandlerOnControl(this.textBox3);
    ...
    }
  }
}

that’s it!
Now if we don’t provide any string in one of the textBox, the ErrorProvider will show a little (!) icon near to the textBox, the focus will remain on until the string is null or empty. (See image below)
validation
Get the solution with this example here (18Kb). Hope you’ll find it interesting…
Comment out the article if you like it!

EDIT: corrected a typo. Sorry!

Montedoro Freetime

— Ripubblico questa recensione, scritta per bora.la la scorsa settimana. potete vedere un po’ di fotografia cliccando galleria fotografica. —

Ieri, due orette di tempo libero, prima di cena. dove vado?

Al nuovo Montedoro Freetime! Sono curioso e un po’ prevenuto.

Prendo l’auto e già non sono contento. Sarebbe più comodo avere il centro commerciale sotto casa, no? Invece i progettisti hanno pensato di metterlo lì proprio per la vicinanza con l’uscita della superstrada Trieste-Koper, che porterebbe un bacino di utenza che copre 270mila persone (inizialmente dicevano 300 mila), principalmente da fuori. Ah-ah!?!

Bon, arrivo, e parcheggio. Gratuito, per fortuna. E pieno, tra l’altro. C’è un sacco di gente, quindi!

Con l’ascensore arrivo al piano 0, dove c’è l’area commerciale. Si arriva davanti alla grande scala mobile che porta al piano “divertimenti e tempo libero”, sotto la bella cupola con struttura in legno. La scala è ferma, non si può salire. Hanno aperto il Montedoro Freetime lasciando chiusa la zona Freetime e lasciando aperto il Montedoro

Infatti la collina è stata sbancata pesantemente, per far posto a circa 30mila metri quadri di struttura… l’impatto alla vista è abbastanza sconcertante.

Comincio il giro: la struttura interna è ben curata, ma manca qualcosa… ah, sì, i negozi!!! Sono presenti circa 100 aree commerciali, ma di occupate ce ne sono una trentina. Esattamente: i negozi sono 28. Gli eservizi più grandi Ipercoop e Unieuro.

E per il resto?

In un centro commerciale, cosa vi aspettate? Quel! (“Strazze, budande, profumi e balocchi, ori per chi che ga bori”).

No, dicevo, il resto? Gli altri negozi vuoti?

Ah… alcuni spazi sono già assegnati, altri commercianti sembra che vogliano aspettare che il centro si avvii un po’, prima di aprire. Anche perchè, si dice (anzi, dicono i combunisti), che ci sia un ciccinino di crisi in giro, e che aprire l’ennesimo negozio uguale agli altri sia un po’ rischioso…. Come se, di base, non fosse rischioso un investimento, in commercio e tempo libero, da 150 milioni di euro (i dindini li ha messi la cooperativa imprenditoriale che opera nella grandi costruzioni, CoopSette) in una città come la nostra, dove gli unici che hanno tempo libero sono vecchi che non hanno soldi da spendere! Comunque la sensazione è che hanno aperto adesso perchè sennò non aprivano più.

La gestione commerciale è in mano a “Espansione Commerciale”, la stessa società che gestisce anche il Giulia. Inizialmente era gestita da “Larry Smith”, che cura altri outlet e centri commerciali in Italia.

Alla fine dopo un giringiro, prendo una pizza al taglio, peraltro discreta. Guardo lo scontrino. Oggi ne hanno fatto 620. Giornata buona, la prima! Non vedo comunque gente con le borse piene in giro, tranne davanti al Coop.

Devo fare la pipì. Riprendo il giro, stavolta per cercare i bagni. Dove sono? Non ci sono? Ritorno alla zona ascensori, ah, eccoli… c’è fila. Perchè ne funziona uno solo, su tanti. Una squadra di idraulici sta lavorando. La fila è molto lunga.

Se non fosse per le multe stratosferiche che danno adesso, io la farei anche sul muro… poi penso che siamo a Muggia, e che forse l’ordinanza di Bob O’Place non arriva fin qui. Cerco un angolo nascosto e la faccio lì? Desisto, stoico, e me la tengo.

Ah, per il fatto che siamo a Muggia, come funziona con gli orari? No, perchè con “Trieste città d’arte sì, no, forse”, “Teniamo aperto la domenica sì, no, forse”, non ci capisco un acca. Ma so che le mie amiche commesse dicono grosse parolacce.

Qui è tutta un’altra storia. Per adesso, fino a pasqua, il centro sarà aperto tutti i giorni, domenica compresa (buh!?!? forse pasqua esclusa, chissà), ma quando scade la deroga all’apertura, come faranno? Il comune di Muggia dovrà decidere “Muggia città d’arte sì, no, forse”, “Teniamo aperto la domenica sì, no, forse… pasqua sì, no forse… però Carneval no, sicuro, no!”

Anche perchè, pare che non sia stato ben calcolato l’impatto sul commercio muggesano (o quel che ne resta).

Alla fine il mio freetime al Freetime non l’ho nemmeno usato tutto. Dopo un’ora esco. Qua il cellulare non prende bene e non c’è nemmeno il uai-fai.

E non mi va di stare in mezzo alla gente.

Preferisco gli spazi vuoti.

Quasi quasi vado al Giulia.