Author Archive

News, Web

Oggi è il Download Day

Oggi si proverà a stabilire un record mondiale: il software più scaricato in un giorno!

Qual’è il software? Ovviamente firefox 3.0!
Perchè partecipare? Naturalmente perchè, che possa piacere oppure no, firefox ha riaperto la guerra dei browser, scalzando dal monopolio assoluto internet explorer. Ora, finalmente, c’è concorrenza, che è sempre una buona cosa; ora si comincia seriamente a parlare di standard!
Grazie firefox!!!

Download Day

Web

I danni di payperstats

Sarò noioso, ma ne continuerò a parlar male finché non avrò finito di subire danni per colpa loro!
Danni a breve termine:
Fastidiosissimi popup che importunano l’utente nel proporre di scaricare virus o altro software di dubbia provenienza.
Conseguenze: alcuni utenti, particolarmente infastiditi, potrebbero decidere di non visitare più questo sito.
Danni a medio e (speriamo di no) a lungo termine:
Danni di payperstats
Google considera (giustamente) questo sito poco attendibile e ha inserito sotto ogni voce di ricerca la seguente frase: “Questo sito potrebbe arrecare danni al tuo computer.”. E se si clicca su una ricerca viene visualizzata una pagina che dice più o meno :”ATTENTO! SE CONTINUI LO FAI A TUO RISCHIO E PERICOLO!!”.
analitycs payperstats
Conseguenze: come poterle quantificare?? sicuramente è troppo presto per potere anche prevedere, in termini di visitatori, quanto questo danno di immagine influirà. So solo che, come potete constatare dalle immagini di google analytics da giorno 12 a giorno 13 marzo i visitatori provenienti da google sono scesi del 87,32%. Per un sito in cui il 48% dei visitatori totali viene propio da google, non è poco!
perdita visitatori payperstats
Danni permanenti:
Scarsa fiducia Totale sfiducia verso questi siti più o meno sconosciuti che offrono denaro in cambio di una “piccola” riga di codice da inserire nel footer del tuo sito!
Conclusioni:
se cercate un modo per guadagnare qualcosina con il vostro blog
NON FATEVI PAYPERSTATS!

Web

Scusate

Chiedo umilmente scusa a tutti voi, cari lettori, che vi siete trovati davanti a schermate del tipo “Attenzione!! hai un virus, scarica subito antivirus.exe”. Ma tranquilli non succederà più!
Purtroppo qualche mese fa, io e dzamir(a dirla tutta lui era un po’ diffidente) abbiamo deciso di inserire nel sito un innocuo servizio di statistiche che in più dava la possibilità di guadagnare qualche euro: payperstats. Da allora siamo entrati in un mondo di sofferenza e di dolore: strani banner comparivano a piè di pagina, con explorer ogni tanto apparivano richieste di installazione di activex. Ma la goccia che ha fatto traboccare il vaso è stato u fastidiosissimo message box che mi è apparso oggi quando ho aperto il browser! NO! Questo è veramente troppo! Disabilito tutto e va******o! Pay Per Stats BASTA!
PayPerStats
Per non parlare poi del servizio di statistiche, talmente scadente che considera firefox “Netscape Navigator 7.x” :| … senza parole… .
Oltre tutto ho scoperto che non sono l’unico che li considera dei truffatori:

http://www.pochimaledettiesubito.com/guadagnare_con_internet/payperstats-ci-si-puo-guadagnare.html
http://pollycoke.net/2008/03/09/avviso-ai-naviganti-virus-stagionale/
http://www.marcostella.net/2008/03/09/addio-payperstats-decisione-obbligata/
http://www.paologatti.it/tag/payperstats

e se vi fate una googlata ne troverete altri 100…

MySQL

Stored procedure per archiviare una tabella

Ecco a voi un rapido esempio su come creare una stored procedure su mysql che crea un backup di una tabella e la svuota. Il backup viene effettuato su una tabella di tipo ARCHIVE, quindi compressa e senza chiavi primarie. Naturalmente per adattare lo script alle vostre esigenze cambiate la struttura ed il nome della tabella nelle “SET” delle variabili “backup_table_name” e “backup_table_structure”, con la struttura della tabella che volete archiviare eliminando chiavi primarie, campi con autoincremento ed eventuali vincoli di integrità (lasciando solo la struttura di base).

mysql logo

Lanciando la stored procedure “CALL BACKUP_TABLE(1)” verrà automaticamente creata una tabella dal nome “backup_nome_tabella_aaaaMMggHHmmss” compressa, e la tabella di origine verrà svuotata. Se preferite che la tabella di origine non venga svuotata passate alla stored procedure il parametro “0″: “CALL BACKUP_TABLE(0)”. Nel mio caso lo script si è rivelato utilissimo per fare in automatico il backup di una tabella di log.
Continue Reading »

Linux

Cambiare automaticamente i limiti di banda in amule

Ogni home-server che si rispetti ha il suo amule installato come demone. Peccato che amule, come tutti i programmi di file sharing succhia-banda, possono renderci la navigazione lenta anche quando non stiamo scaricando, o abbiamo pochi download in coda, dato che sfruttano la nostra banda in uscita per condividere i files scaricati. Di contro limitando molto la banda in uscita rischiamo di scaricare lentamente (politica di amule).

amule

Per ovviare a questo problemuccio ho scritto questo script che in base al numero dei download in coda, alza o abbassa i limiti di banda del nostro client peer-to-peer preferito, a patto che sia stato compilato con l’utility amulecmd, o, nel caso delle distribuzioni “a pacchetto”, sia installato il pacchetto relativo ad amulecmd.
Continue Reading »

C, Source Code

Localizzazione di un progetto wx c++ (wx side)

Questo articolo presuppone la conoscenza di poEdit o di gettext trattati nel precedente articolo “Localizzazione di un progetto wx c++ (usare poEdit)”

wxWidgets

Aggiungere la localizzazione ad un programma scritto in wx è abbastanza semplice. Una volta ottenuti i files .po per tutti le lingue che vogliamo supportare, rinominiamoli con il nome della nostra applicazione e spostiamoli in subdirectory diverse per ogni linguaggio, esempio:

rootDelProgetto/locale/it
rootDelProgetto/locale/it_CH
rootDelProgetto/locale/en_US
rootDelProgetto/locale/en_GB

Continue Reading »

C, Source Code

Localizzazione di un progetto wx c++ (usando poEdit)

In questi giorni febbrili per il primo rilascio di UsbAutostarter, progettino lasciato in asso per un po’, ma che finalmente sta per vedere la luce, ho dedicato il mio pochissimo tempo libero alla localizzazione del programmino, per poterlo uppare su sourceforge. Purtroppo, per un “wxWidgets esordiente” come me, le cose non sono mai semplici sia per la scarsa documentazione online, sia per i pochissimi esempi di codice che si trovano in giro. Fortunatamente molti dei meravigliosi programmi scritti in wx sono open e sbirciando nel codice di amule, sono riuscito a capire come localizzare il progetto wx.

Logo poEdit

Innanzitutto dobbiamo predisporre all’internazionalizzazione i sorgenti del progetto: per distinguere le stringhe da localizzare con quelle che invece devono rimanere invariate, useremo la macro _(). Per es:

...
wxMessageBox( _("testo da localizzare") );
...
wxMessageBox( wxT("testo invariato") );

Continue Reading »

.NET, C, Web

Thread e C#

Fino a poco tempo fa ogni qual volta avevo a che fare con i thread lo facevo con poca cognizione di causa… ogni tanto mi era capitato di fare applicazioni che dovevano popolare una lista o aspettare un input, senza che il programma si bloccasse, ma non avevo mai approfondito il tema più di tanto.

amd dualcore

Un esempio del classico uso base dei Thread in C# è il seguente:
Continue Reading »

.NET, C, Source Code, UDP Communication

UDPSender: Inviare messaggi udp in c#

Questo post fa parte della sezione Comunicazione UDP, e tratterà l’utilizzo di una semplice classe per inviare messaggi dalla propria applicazione c# utilizzando il protocollo udp.

Header UDP

La classe si chiama UDPSender e, per comodità, implementa un’interfaccia denominata INetworkSender.

public interface INetworkSender
{
	void SendMessage(string address, byte[] message);
}

In più in caso di errore la classe genera una eccezione del tipo UDPSenderException che contiene la descrizione dell’errore, la causa dell’eccezione (innerException), e l’oggetto UDPSender che ha generato l’eccezione.
Continue Reading »

C, Windows

Conoscere tutti i processi in esecuzione da una unità

Continuando sulla scia della gestione in c++ delle unità removibili, il post seguente tratterà di come conoscere tutti i processi in memoria, che siano stati lanciati da un drive in particolare. Questo può essere utile, ad esempio, per chiudere tutti i processi di un pendrive che si vuole “smontare”.

Processi

Per ottenere la lista dei processi in esecuzione windows mette a disposizione due metodi: uno derivante da windows 95 (TOOLHELP API), compatibile quindi con tutti gli s.o. di microsoft dal 95 in poi, ed un metoto introdotto in windows NT (PSAPI), compatibile con gli s.o. derivanti da esso (NT, 2000, XP e vista). Naturalmente, dato che la stragrande maggioranza dei utenti windows usa xp, o vista :( , nell’esempio qui sotto ho usato le PSAPI. Attenzione però, per potere includere il file psapi.h bisogna istallare il “Platform SDK”.
Continue Reading »

Next »