Oggi per l'ennesima volta mi sono trovato per le mani un netbook, nella fattispecie un Asus EeePC R101D equipaggiato con CPU Intel Atom N455 Pineview e 1 GB di RAM. Comincio già con il dire che la mia considerazione verso questa tipologia di computer è veramente bassa ( e parlo da possessore di netbook HP mini 311c ). Le prestazioni sono a dir poco infime, non sono necessarie neanche per un gestire un po' di multitasking e tutte le operazioni hanno tempi di risposta a dir poco secolari. In più, tanto per cambiare, le varie case produttrici ci caricano su talmente tanti software personalizzati che a mala pena il computer si accende. Io col cavolo che aspetto 3 minuti per far accendere un computer. Ed ecco il genere di cavolate che si trovano al primo avvio di un netbook: antivirus che manco funzionano perchè in prova, dock che vanno a consumare quella poca RAM che il computer ha, versioni di Office in prova che poi ti tocca disinstallare e moltissime altre utility a dir poco inutili. Ora io capisco se mi ritrovo questa "lista della spesa" su un nuovo computer con Intel i7 Sandy Bridge, ma su un Atom è …
Categoria: IT
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, …
La copia di un HD settore per settore non è una pratica che si usa ogni giorno ( almeno a livello domestico ), però in certi casi può risparmiarvi ore e ore di duro lavoro. Proprio ieri mi è arrivato il nuovo HD da 2.5" per il notebook, un Western Digital da 500GB Scorpio Black. Il vecchio Seagate Momentus da 500GB mi stava lasciando con il culo per terra, ho quindi giocato d'anticipo, sostituendolo. In questo caso clonare tutti i contenuti del vecchio HD direttamente sul nuovo è la cosa più veloce e decisamente più sicura. Per fare una copia settore per settore ( ossia una copia identica del HD su un altro HD ) io ho usato Easeus Disk Copy, perchè è free ed ha pochi sbattimenti. Infatti una volta masterizzata la ISO da 30MB ( o copiata su una pendrive bootabile ) si lancia da boot e con 3 click il processo di copia inizia. Un'alternativa può essere Acronis True Image Home che però è a pagamento. Esiste tuttavia una versione gratuita per coloro che effettuano l'operazione di copia/backup su prodotti Western Digital ( non è il mio caso sfortunatamente: Seagate -> WD ). I passaggi sono estremamente …
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 …
Dopo un lungo periodo di inattività eccomi di nuovo qua. Come saprete Google Chrome è recente come browser, eppure sta avendo un'enorme diffusione. Per chi volesse sempre avere l'ultima versione del browser raccomando la versione dev, ossia quella per gli sviluppatori. Chrome infatti ha diversi trunk: la stable, la beta e la dev. Tutte queste versione le potete trovare, e scaricare, a questo indirizzo. Vi passo questo link perchè io ho letteralmente visto i sorci verdi prima di trovare la versione dev con relativo Google Update. Se volete Google Chrome dev senza Google Update ( l'utility che scaricherà automaticamente le eventuali nuove versioni disponibili ) questo è il link. …
Come molti di voi sanno, quando un file viene cancellato dal nostro hard disk ( o qualsiasi altro dispositivo ) l'operazione non va a modificare il file in questione, infatti il sistema operativo si limita solamente ad eliminare il puntatore a quel file presente nella MFT (Master File Table) nel caso di un file system NTFS. Questo significa che con software appositi si recupero è possibile recuperare i dati eliminati. Solitamente questo è bene, perchè se ad esempio i file vengono eliminati accidentalmente ( questo vale soprattutto, per quelli come me, che abusano di Shift-CANC ) possono essere recuperati facilmente se non vengono sovrascritti da qualcos'altro. Cosa succede però se dobbiamo cancellare dei dati personali? E se dobbiamo vendere il nostro PC ad un'altra persona? In questi casi dobbiamo essere sicuri che determinati file vengano eliminati sul serio e non ci sia nessun modo per poterli recuperare. Per poter fare questo possiamo usare Eraser, un ottimo software open-source che applica diversi algoritmi di eliminazione e sovrascrittura. Forse il più conosciuto, e anche più complesso, è il metodo Gutmann (35 passi), che assicura l'eliminazione al 100%. Tuttavia già il metodo US DoD 5220.22-M a 3 passi assicura l'eliminazione. Il primo metodo …
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. …
Cosa sono? E che differenza c'è tra l'una e l'altra? Me lo sono chiesto da molto tempo, vediamo quindi di chiarire un po' le cose. Entrambi sono due stati di risparmio energetico per il computer. Esistono però delle lievi differenze tra mettere in sospensione il pc e metterlo in ibernazione. Nella sospensione tutte le informazioni sulla sessione corrente restano nella RAM, e quest'ultima viene tenuta alimentata, tutto il resto viene disabilitato. In questo modo alla successiva riaccensione il sistema operativo è pronto all'uso in pochi secondi. In questo stato tuttavia è molto importante che non ci sia un'interruzione dell'alimentazione, nel caso contrario il sistema dovrà fare un reboot completo, e la sessione di lavoro verrà persa. Nell'ibernazione le cose sono diverse, questo stato di risparmio energetico è stato progettato prevalentemente per i portatili, in quanto tutta la sessione di lavoro ( e quindi tutto quello presente nella RAM ) viene fisicamente salvato sull'hard disk nel file hyberfil.sys ( file nascosto presente nella root ). Questo fa si che il sistema venga completamente spento e non necessiti più di nessuna alimentazione ( cosa diversa da quanto accade con la sospensione ). Lo svantaggio è che il tempo di ripresa della sessione …
Ieri, con la prima release, WordPress ha dato vita ad un nuovo progetto: WordPress for Android. Un' applicazione open source per sistemi Android ( quindi stiamo parlando di HTC Magic, Samsung Galaxy, HTC Hero, Nexus One, ecc. ). Già disponibile nell'Adroid Market, questa applicazione ci permette di controllare il nostro blog tramite uno smartphone. La prima release del software permette: la gestione di più blog la possibilità di moderare e rispondere ai vari commenti di creare nuovi post/pagine, gestendo categorie, tags e inserendo immagini di ricevere delle notifiche sulla Android notification bar dei nuovi commenti Chiunque fosse abituato ad usare wpToGo non si troverà davanti a nulla di nuovo. Le due applicazioni infatti sono quasi identiche. Questo è il sito ufficiale del progetto, mentre nel blog degli sviluppatori potrete tenervi aggiornati sui nuovi sviluppi. 😉 …
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 = " …