martedì 28 luglio 2009

Google AdWords: promo o truffa?

Qualche giorno fà, ho ricevuto con molta sorpresa una lettera inviatami da Google Italia.
La lettera conteneva una omaggio, riservato agli utenti AdSense, di 50€ di credito per fare pubblicità ed utilizzare il servizio AdWords.
Leggendo bene ho visto che è necessario comunque versare una quota di 5€ per l'attivazione dell'account.


Voi direte bene è un affare 50€ a fronte di un'investimento di 5€, ma riflettendoci bene il sevizio di 50€ che ci viene regalato, quanto potrebbe realmente costare a Google? Probabilmente molto meno delle 5€ che ci vengono chieste.

martedì 21 luglio 2009

Visual Studio: rename di un progetto Web Site

Durante l'impostazione iniziale di un nuovo progetto Visual Studio 2005 per la realizzazione di una applicazione web in Asp.net, dopo aver creato una nuova soluzione e aggiunto ad essa una nuovo web site, ho avuto la necessità di rinominare il web site appena creato.
Sembra strano, ma non esiste in VS 2005 la possibilità di fare un rename. A questo punto le soluzioni sono 2, o rifare tutto da capo partendo da una nuova soluzione oppure procedere a manina nel rinominare il sito web.
In realtà i passi da seguire sono pochi e semplici:
  • Rinominare la cartella contenente i file del sito web (solitamente è situato all'interno della cartella della soluzione)
  • Aprire il file .sln con un editor di testo (il classico blocco note) e sostituire tutte le occorrenze del vecchi nome con il nuovo.
Tutto quà!

lunedì 6 luglio 2009

ASP.net: aggiungere un messaggio di conferma su ImageButton e LinkButton

I controlli Button di Asp.net hanno due proprietà OnClick e OnClientClick utilizzabili per gestire l'evento click rispettivamente lato server (postback) e lato client.
Capita spesso di dover chiedere la conferma dell'azione legata al bottone prima che venga compiuta. Ad esempio se abbiamo un bottone "DELETE" vogliamo essere sicuri che l'utente voglia cancellare l'elemento in questione e non abbia premuto per errore il bottone.
Per fare ciò, basta inserire una confirm nell'azione del OnClientClick come nell'esempio seguente:
<asp:LinkButton  Text="Click Me"  runat="server"
OnClick="server_method" OnClientClick="return confirm('Confermi la tua azione?');" />

In questo modo se l'utente risponde affermativamente alla confirm, essa ritorna un valore true e ASP inoltra il postback al server, altrimenti nessun postback verrà inoltrato.
Un errore che io stesso ho commesso, è stato quello di non prestare troppa attenzione a quella return prima del confirm. L'omissione di quella return comporta l'invio del postback al server sempre e comunque anche se l'utente risponde negativamente alla richiesta di conferma.
Ad esempio nel seguente codice:
<script type='text/javascript'>
function checkSomething() {
if a == b returntrue
elsereturnfalse
};
</script>

......

<asp:LinkButton  Text="Click Me"  runat="server"
OnClick="server_method" OnClientClick="return checkSomething();" />

l'omissione della return fà in modo che il check non abbia nessun effetto e il postback verrà sempre effettuato.


giovedì 2 luglio 2009

Moblin 2 e Aspire One

In queste ultime settimane si è tanto parlato di Moblin come del possibile contendente di windows sul mercato dei netbook. Ho provato sul mio Aspire One Moblin V.2 beta (16 June update) e i risultati sono incoraggianti.
Il tempo di boot è buono (18-20 secondi avendolo avviato da una iso live su penna usb). La cosa più sorprendente è la velocità e la fluidità di esecuzione, il codice è veramente ottimizzato. Non ho notato mai dei rallentamenti durante le varie attività.

Le periferiche sembravano funzionare perfettamente. Purtroppo non ho avuto modo di testare la connessione wireless, per la quale ho potuto notare che il led di segnalazione del funzionamento non si accendeva.
E' un ambiente molto orientato al web, con un desktop live dal quale puoi vedere i tuoi preferiti, i tuoi amici (con indicazione dello stato connesso/non connesso) e le tue applicazioni.

Ci sono più o meno tutte le applicazioni che possono servire ad un'untente medio, dal client di posta al calendario, dall'editor di testi al media player, dal gestore delle attività al client di chat.

Adesso arriviamo ai punti dolenti... purtroppo manca un tool di office automation vero e proprio (stile open office), il browser è integrato nel sistema (quasi indistinguibile) ma, pur essendo basato sulla piattaforma Mozilla (Firefox x intenderci), è molto rudimentale e privo di alcune funzionalità di base.
Mi è sembrato a primo impatto un sistema molto chiuso (probabimente alcune funzionalià si potranno attivare facilmente): nessun menù, non ho trovato il modo di aggiornare/installare programmi, le maschere di configurazione dell'intero sistema sono ridotte all'osso (date e ora, stampante e display oltre alle connessioni di rete le uniche cose configurabili).
Per finire non esiste un bottone/menù di arresto del sistema! Insomma una volta avviato non lo si può arrestare se non lanciando da terminale il comando HALT -l.

Il prodotto a mio parere è ancora prematuro per essere usato come SO principale, ci sono dei bug e di tanto in tanto qualche applicazione andava in crash ma tutto sommato è valido. Probabilmente qualche ulteriore miglioria potrebbe arrivare dalle distribuzioni basate su Moblin che iniziano a venir fuori (prima fra tutte Linpus).

Riporto il link al progetto originale: Moblin