Wake On LAN con Windows

Poco tempo fa ho parlato di come effettuare l'operazione di Wake On LAN via Fing su smartphone Android. Oggi invece vi voglio far vedere come effettuare la medesima operazione su Windows. Ho da poco cablato l'intera casa su rete Gigabit, e il WOL ( Wake On LAN per gli amici ) torna davvero utile, soprattutto se su tutti i computer della casa è presente VNC. L'avvio da LAN avviene per mezzo dei cosiddetti Magic Packet, uno speciale frame che quando rilevato dalla scheda di rete fa accendere il computer. Per inviare questi pacchetti esistono molteplici soluzioni. Una ad esempio è mc-wol. Inizialmente la mia idea era di usare questa integrandola con un semplice script VbScript, poi ho semplicemente pensato: "Posso scriverla io?". La risposta era ovviamente Sì. Mi sono quindi messo a cercare in cosa consistono fisicamente questi magic packet e ho scoperto che sono dei semplicissimi pacchetti costituiti dalla seguente struttura: Ossia da FF FF FF FF FF FF seguiti da 16 volte il MAC Address della macchina da avviare. Ora qualcuno si chiederà perchè il MAC Address debba essere ripetuto per ben 16 volte. E' semplicemente un metodo di sicurezza per evitare che accidentalmente durante, ad esempio, un

Continua a leggere >>>

Visualizzare campi personalizzati in GCweb

Questo post è diretta conseguenza della mia pignoleria. Come scritto in precedenza sono un accanito cinefilo e amo tenere in ordine la mia collezione privata. Proprio per questo utilizzo GCstar per gestirla e GCweb per visualizzarla da browser. Però con le funzioni avanzate messe a disposizione da GCstar e qualche "magheggio" in GCweb è possibile creare del campi personalizzati e poi visualizzarli: ad esempio la posizione fisica del film nella libreria o qualsiasi altra cosa che più preferite. Fortunatamente lo sviluppatore di GCstar ha previsto questa opzione e creare un campo personalizzato è estremamente semplice ( o come direbbero gli americani "piece of cake" 😉 ). Invece per adattare GCweb bisogna mettere mano al codice PHP e aggiungere delle righe. Passiamo quindi alla pratica. Aprite GCstar andate in Modifica -> Cambia campi della collezione e aggiungete i campi che più preferite, io ad esempio ho inserito il campo "posizione". Dovo aver dato un etichetta al campo definite il tipo di dato che il campo dovrà contenere ( numero, stringa, bool, ecc. ), lasciate "User fields" come gruppo. Potrete inserire dei parametri aggiuntivi e opzionali che varieranno a seconda del tipo di dato. Ad esempio con un numero potrete scegliere a

Continua a leggere >>>

Ancora Canon SDK

Vorrei tornare a parlare delle Canon SDK ( o EDSDK ), un potente strumento che Canon mette a disposizione dei suoi consumatori. Scrissi qualcosa a riguardo in questo post, ora vi vorrei dare qualche dettaglio in più in merito agli strumenti a disposizione. Una volta aperto il pacchetto delle SDK ( versione per Windows, esiste pure una versione per Mac ) ci troveremo davanti a tre cartelle: Document, EDSDK e Sample. Nella prima troviamo il vademecum del programmatore, con le sue 150 pagine di references. In EDSDK troviamo il fulcro delle SDK, ossia le DLL, le librerie e headers, senza di queste il vostro lavoro non può nemmeno cominciare. Nell'ultima cartella invece troviamo degli esempi, creati da Canon, con lo scopo di darci degli indizi sulla tecnica di programmazione necessaria per controllare da PC la nostra DLSR e capire come utilizzare le API disponibili. Le attuali EDSDK ci permetto di iniziare a lavorare immediatamente con i seguenti tre linguaggi: C++, Visual Basic .NET e C#. Di questi abbiamo già i wrapper pronti all'uso, dovremmo solo scrivere il nostro codice e fare la chiamata ai metodi ( possibilmente con i parametri giusti 😀 ). Se invece vogliamo agire fuori dagli schemi,

Continua a leggere >>>

Installiamo GCweb su un server web ( anche su QNAP )

Un mese fa parlai a riguardo di GCweb, una semplice interfaccia web per GCstar. Ora sono qui per dirvi che queste "semplici righe di codice php" hanno superato la prova del nove, tutto sommato GCweb mi ha convinto. Ormai che ci siamo diciamo la verità, anche se fosse stato il programma peggiore della Terra lo avrei comunque usato, dato che è l'unico in grado di visualizzare le entry di GCstar su web. 😀 Fortunatamente il caso non è questo, l'interfaccia si è comportata benone. Non ha un vero e proprio backend, tutta la configurazione è salvata su un file php. Tutto questo però non è un problema, GCweb nasce da un progetto personale, non ha un team di sviluppo ne un team di tester ed oltre tutto ha un utilizzo abbastanza circoscritto a pochi individui. Quindi partendo da questi presupposti posso affermare che per il suo genere GCweb è un ottima applicazione, il suo "sporco lavoro" lo fa come si deve. Passiamo quindi all'installazione. Scaricate il pacchetto a questo indirizzo e scompattatelo. A questo punto se volete installarlo su XAMPP dovrete copiare la cartella gcweb all'interno della cartella "C:\xampp\htcdoc" ( qua trovate come realizzare un web server con XAMPP ). Se

Continua a leggere >>>

Rilasciato SP1 per Visual Studio 2010

Pochi giorni fa è stato rilascio il primo Service Pack per Visual Studio 2010. A questo indirizzo trovate il web installer ( qui invece la iso da 1,5GB ). Quelli che hanno installato la beta del SP1 possono tranquillamente fare l'upgrade senza rimuovere la versione precedente. Il changelog è disponibile a questo indirizzo.   Il web installer ci mette tantino a scaricare i 600MB necessari ed in più la procedura di upgrade è piuttosto lenta.

Continua a leggere >>>

Canon SDK, you can!

Ebbene sì, tra le mie tante passione c'è un posticino riservato alla fotografia. Oggi vi voglio parlare delle SDK ( Software Development Kit) per fotocamere DSLR Canon EOS. Questo kit contiene tonnellate su tonnellate di API utilizzabili per controllare la reflex Canon EOS da un pc tramite cavo USB. Nel mondo pratico, Canon mette a disposizione miglia di blocchetti LEGO che possono essere combinati dal programmatore per realizzare qualsiasi cosa voglia. Fortunatamente, Canon non ha fatto la bravata di distribuire queste SDK o ED-SDK ( come le chiamano loro, sono come i francesi voglion cambiare nome a tutto 😀 ) a pagamento, o limitarne la distribuzione solo a personale autorizzato. Per entrarne in possesso vi basterà compilare un piccolo modulo di richiesta sul sito DIDP di Canon. Compilate la richiesta con attenzione ed in lingua inglese, poi dovrete aspettare qualche giorno ( 2 giorni nel mio casi ) per l'attivazione dell'account. La documentazione allegata al pacchetto è OTTIMA, sono circa 160 pagine in cui viene spiegato tutto esaustivamente. Troveremo quindi la definizione di tutte le API, di tutti gli errori e di tutti i settaggi della DSLR. In poche parole la BIBBIA del programmatore, in gergo il malloppo vien chiamato

Continua a leggere >>>

VBScript-Mania!

Devo proprio dirlo, VBScript è un linguaggio di scripting veramente potente, offre moltissime classe che possono manipolare le impostazioni avanzate del sistema operativo. Oggi ho creato un piccolo VBScript che attiva e disattiva il servizio di Hamachi e la scheda di rete virtuale che crea. Il solito prerequisito è che il servizio "Hamachi2Svc" e la scheda di rete "Hamachi Network Interface" siano disattivi. Lo script è scaricabile a questo indirizzo.

Continua a leggere >>>

VBScript: attivare/disattivare i servizi PunkBuster

PunkBuster è un sistema anti-cheating che protegge i giocatori in modalità multiplayer da possibili utenti disonesti che altrimenti userebbero dei bot, aimbot, ecc. Il brutto di questo sistema è che i servizi PnkBstrA e B che permettono il corretto funzionamento del programma restano sempre attivi, e quindi ci troveremmo con due processi inutili nel caso non volessimo giocare a niente. Secondo voi io potevo sprecare ben 4MB di RAM per tale motivo? Ovviamente no. Proprio per questo motivo ho realizzato 2 piccoli script in VBScript. Il primo avvia i due servizi di PunkBuster, avvia il gioco ( nel mio caso Call of Duty: Modern Warfare ) e quando la sessione di gioco è terminata disattiva i servizi. I prerequisiti per questo plugin sono due. Per prima cosa i servizi PnkBstrA e PnkBstrB devono essere impostati su avvio manuale. Per fare questo andare sui servizi di Windows e cambiate l'avvio dei due servizi da automatico a manuale. Poi dovete editare lo script, modificando il path ( inserendo quello della cartella dove avete installato il gioco ) e modificare il nome dell'exe di avvio del gioco. Il secondo script ( quello che uso io ) è molto più semplice e attiva o disattiva

Continua a leggere >>>

Xor Swap: scambiare il valore di due variabili senza variabile d'appoggio

Evidentemente non ho niente di meglio da fare nel giorno di natale. 🙂 Vediamo un po' a cosa serve questo algoritmo. Se avete un po' di basi di programmazione sapreste che scambiare il valore contenuto in due variabili è un operazione comunissima. Il modo più semplice per effettuare questa operazione è di usare una variabile d'appoggio per contenere uno dei due valori e poi fare lo scambio. tmp := A A := B B := tmp Direi quasi banale, no? Senonché questo modo prevede la creazione di una variabile temporanea. Esiste tuttavia un algoritmo che fa lo stesso lavoro e non richiede nessuna variabile temporanea. Sto parlando dello Xor Swap, il nome deriva appunto da scambio con OR esclusive ( operazione bit a bit XOR ). Vediamo l'algoritmo: X := X XOR Y Y := X XOR Y X := X XOR Y Il bello di questo algoritmo è l'efficienza e la facilità nel ricordarlo. Vediamone un'implementazione in Java ed in C. public static void main(String[] args) { int x = 10; int y = 20; System.out.println("x = " + x + " y = " + y); x = x^y; y = x^y; x = x^y; System.out.println("x = "

Continua a leggere >>>

Modulo per gestione delle operazioni su file in C

Le operazioni che coinvolgono i file sul C ogni tanto possono dare qualche problemuccio, ho quindi realizzato questa interfaccia, con lo scopo di facilitare la gestione dei file. Ovviamente se siete dei guru in C questa interfaccia non vi servirà praticamente a niente 😀 Per poterla utilizzare basterà copiare il file .c e .h nella cartella in cui si troveranno i file che utilizzeranno le funzioni messe a disposizione dall'interfaccia. Basterà poi includere il file .h nel vostro progetto e potrete usare tutte le funzioni qui elencate: int FI_INIT ( FI_FILE *file, char *fname, long size ); int FI_OPEN ( FI_FILE *file ); int FI_CLOSE ( FI_FILE *file ); int FI_WRITE ( FI_FILE *file , void *userData ); int FI_READ ( FI_FILE *file , void *userData ); int FI_SEEK ( FI_FILE *file , long rec, int pos ); int FI_EOF ( FI_FILE *file ); Nel file FInt.h ( FInt = File Interface =D ) troverete la spiegazione ed un esempio di cosa fa ciascuna funzione. Ultima cosa, io l'interfaccia la ho realizzata utilizzando il Dev-c++, dovrebbe andare anche con gcc e altri compilatori. FInt.rar

Continua a leggere >>>