Ho aggiornato il tool TaskUnZip for SSIS. Permette di gestire, comprimere e decomprimere file zip all'interno di un flusso di SSIS.
Per maggiori informazioni qui:
http://taskunzip.codeplex.com/.
Ver. 1.3.0.1
- Add: Support SQL SERVER 2008 and SQL SERVER 2008 R2.
- Add: installation batch file for x86 e x64 (tnx JohannesHoppe).
- Upgrade sample with foreach loop task.
- Upgrade SharpZipLib for .NET Framework ver. 0.86.
- Upgrade solution to Visual Studio 2010.
- Remove version for SQL Server 2005 (use ver. 1.2.0.0).
Consiglio un paio di libretti per rilassare il neurone durante le ferie natalizie...
Arduino. La guida ufficiale: l’ho quasi finito di leggere. Un libro che vi introduce nel fantastico mondo di Arduino e dell’elettronica. L’autore (tra le altre cose ingegnere che ha partecipato alla progettazione di Arduino stesso) è molto bravo nell’accompagnare il lettore capitolo dopo capitolo nell’approfondire le varie tematiche.
http://www.amazon.it/Arduino-guida-ufficiale-Informatica-Massimo/dp/8848124240/ref=sr_1_1?ie=UTF8&qid=1323597891&sr=8-1
iWoz: Computer Geek to Cult Icon e (
ovviamente)
Steve Jobs: ho già ad entrambi dato una veloce occhiata e devo dire che trovo quello di “Woz” sicuramente più interessante. Forse per il modo di approcciare la discussione o per gli argomenti trattati... in ogni caso fra i due ad un primo impatto preferisco quello di Steve Wozniak.
http://www.amazon.it/iWoz-Computer-Geek-Cult-ebook/dp/B000VUCIZO/ref=sr_1_3?ie=UTF8&qid=1323599582&sr=8-3
http://www.amazon.it/Steve-Jobs-Italian-Edition-ebook/dp/B00606NPIW/ref=sr_1_4?ie=UTF8&qid=1323598481&sr=8-4
Questi ultimi due libri sono disponibili anche per Kindle.
Scrivo questo post, perché magari risparmio a qualcuno la perdita di circa un ora di tempo e un principio di infarto... :)
Questa mattina aggiorno SVN alla versione 1.7. Rivedo gli script di backup, anche perché con la ver. 1.7 è stato introdotta una nuova utility -svnrdump- per eseguire il dump, e mi viene la brillante idea di utilizzare Powershell per eseguire gli script di backup e di verifica.
Realizzo un dump di prova per verificare che tutto sia ok e per sicurezza eseguo anche il restore. Il dump va a buon fine ... il restore non tanto. In un primo momento penso che sia dovuto al cambio di versione, ma prestando più attenzione noto che il dump è di dimensione quasi doppie rispetto al precedente. C'è qualcosa che non torna.
Esaminando il file di dump noto che il contenuto è formattato diversamente, quindi (per esclusione) riprovo a fare tutta la trafila senza utilizzare la Powershell, tutto torna a funzionare correttamente.
A questo punto mi sorge il dubbio che la Powershell abbia una modalità di funzionamento (per quanto riguarda i comandi in pipe) che risulta essere non compatibile con SVN e facendo una ricerca con Google il mio dubbio sembrerebbe essere confermato.
Farò altre indagini...
Un utile libreria per gestire richieste (get e post) cross-domain via json.
http://alotaiba.github.com/FlyJSONP/
E' stato rilasciato l'IDE per Visual Studio 2010 per Python:
http://pytools.codeplex.com/
Lunedì avevo fatto l'ordine per acquistare un Kindle sul web site Amazon.com. Ho notato che ancora Amazon non ha messo a disposizione il Kindle qui in Italia

.
Detto questo ieri mi è stato consegnato in ufficio...

Il pacchetto che contiene il Kindle è interamente in cartone, spacchettato il contenuto è costituito dal suddetto Kindle, un cavetto USB e un breve manuale.
Essenziale.
Quello che mi ha colpito è stato che una volta spacchettato il lettore, noto che sul display è presente una scritta. In un primo momento pensavo che fosse un semplice foglio illustrativo e vado (o tento) per toglierlo, scoprendo che in verità il lettore era già acceso!!
Il display è davvero notevole! La lettura avviene in maniera assolutamente naturale e non risulta assolutamente "stressante" per gli occhi. Il peso è contenuto e sia le braccia che i polsi non ne risentono anche dopo qualche ora. Se poi si ha l'accortezza di regolare le opzioni che riguardano la visualizzazione dei font... il gioco è fatto.
Ho preso il 6 pollici.
Non sapendo se lo avessi trovato comodo ho voluto evitare di prendere il modello da 10', ma se da qui a qualche mese non riscontro grossi problemi probabilmente acquisterò anche il modello più grande.
Lo inauguro con due libri: "Metro 2033" e "Start Small, Stay Small: A Developer's Guide to Launching a Startup".
Alla prossima...

Qualche settimana fa è stata rilasciata la nuova release di TortoiseSVN (1.7 Beta2). Tante piccole novità sia a livello di funzionalità che per quanto riguarda l'integrazione con il sistema operativo. Se si possiede Windows 7 il nostro TortoiseSVN si integrerà molto meglio non solo con la shell (menu click destro del mouse) ma anche con il menu in alto. Segnalo anche, per i possessori di Total Commander, che adesso anche utilizzando la versione X64 di TortoiseSVN è possibile eseguire direttamente le varie operazioni senza dover passare dall'apposito menu (X64) e sono sempre visibili gli overlay sulle icone (yeaaaaa!).
Altro programmino che segnalo è quello con cui sto editando questo post. E' un editor un po vecchiotto, uscito qualche tempo fa (se non sbaglio) su Mac e ultimamente "portato" anche su Windows. Ommwriter. Vi lascio scoprire a voi potenzialità e limiti... 
alla prossima...
Con questo post apro (tempo permettendo ;) ) una serie di post dedicati a questo No-SQL Database.
Cassandra è un database NO-SQL che garantisce alte prestazioni e alti livelli di scalabilità. Le strutture dati messe a disposizione e le relative funzionalità sono (volutamente) ridotte al minimo indispensabile. Come vedremo più avanti, Cassandra non offre funzionalità avanzate per quanto riguarda l'archiviazione dei dati o la ricerca. Uno degli obiettivi che il progetto Cassandra si è posto, è quello di offrire uno strumento che garantisca prestazioni eccellenti, garantendo sempre la disponibilità dei dati. Prima di trattare più nel dettaglio il funzionamento e le funzionalità messe a disposizione da Cassandra, è bene sapere che ad oggi sono disponibili driver che permettono di interagire con il suddetto database, per piattaforma C#, Java, Python, Php e Ruby. Per ragioni di progetto il sottoscritto ha utilizzato la soluzione Python su Windows / Linux.
Breve (molto breve) introduzione...
Cassandra si allontana parecchio dalla concezione classica di database relazionale; una struttura basata su una matrice di righe e colonne. Non per nulla è classificato fra i database "Column oriented" :-).
A questo punto vale la pena introdurre un paio di concetti nuovi.
Quello che sicuramente può spiazzare in un primo momento è la semplicità delle strutture dati e le funzionalità messe a disposizione da Cassandra.
Tutto in Cassandra si potrebbe riassumere in una struttura ricorsiva (a quattro o cinque livelli) basate sul concetto di chiave / valore.
- Column Family:è una struttura (forse la più complessa) che funge da contenitore delle Colonne e il relativo Valore.
- La Chiave: è l'entità principale per mezzo della quale Cassandra può recuperare i dati contenuti in una Column Family. La chiave deve essere univoca a livello di Column Family, può essere generata applicativamente e può essere un numero, una stringa, una data (timestamp) o un generico uuid. Più avanti farò un breve cenno a quali sono i tipi dati supportati da Cassandra.
- Colonna: all’interno di una Column Family trovano posto una o più coppie chiave / valore, dove la chiave viene chiamata Colonna. L’unione di una chiave il suo relativo set di Colonne è chiamato “Riga”.
Queste tre entità sono le principali e quelle per mezzo delle quali Cassandra gestisce i dati. Per completezza aggiungo:
- KeySpaces: che si potrebbe paragonare al database, quindi un “contenitore” di Column Family e relative Chiavi. Il KeySpaces ha anche l’importante ruolo di stabilire il fattore di replica (quante copie di ogni singola Riga devono essere garantite) e la tipologia di replica.
- Super Column: è un aggregato di Column Family. Torna molto utile per creare legami fra più Column Family.
Per quanto riguarda i KeySpaces e le SuperColumns verranno approfonditi più avanti.
Tipi dati supportati
Cassandra ha una gestione dei dati relativamente e volutamente “lasca”. Sia le chiavi che i nomi che verranno dati alle colonne devono essere caratterizzati da una tipologia, questo per due motivi:
- la tipologia assegnata ad una entità ne caratterizza anche il suo ordinamento
- viene applicato un controllo dei dati in ingresso e se non rispettano la tipologia assegnata all'entità, Cassandra genererà un eccezione.
Detto questo in ogni caso e bene precisare che la tipologia non è obbligatoria assegnarla e nel caso in cui non venga specificata viene applicata quella di default (BytesType) che praticamente accetta di tutto ;-) applicando un generico ordinamento.
Le seguenti tipologie di dati, sono quelle che Cassandra gestisce nativamente. E’ possibile estendere per mezzo di moduli scritti ad-hoc le suddette tipologie native o crearne di nuove.
- AsciiType
- BytesType
- LexicalUUIDType: generico UUID a 128 bit
- LongType: generico numero a 64bit.
- IntegerType: generico numero a 32 bit (più veloce da gestire rispetto il Long)
- TimeUUIDType: Cassandra non gestisce nativamente il tipo dati “Datetime”, bensì lo converte in un UUID a 128 bit.
- UTF8Type: più lento rispetto al tipo ASCII. Utile nel caso in cui si lavori per esempio con XML.
Con questo chiudiamo. Nel prossimo post approfondiremo le Colonne, SuperColonne e le Chiavi.
E’ da un po di tempo che non scrivo, il motivo è che nel frattempo son cambiate parecchie cose, non ultimo anche il posto di lavoro e tanti impegni personali mi hanno spinto a trascurare il blog. Il tempo è sempre pochissimo, ma volevo condividere il forte interesse che, per ragioni di lavoro, mi hanno spinto ad approcciare questo “nuovo” (

) linguaggio.
Che dire se non che è davvero straordinario, semplice, con una comunità enorme e grandi realtà (chi ha parlato di Google?) che lo supportano.
Con il Framework .Net 4 è stata semplificata la gestione del ClientID. E' stato infatti introdotto il:
clientIDMode che permette di personalizzare la modalità con cui il ClientID viene generato.
Qui
http://msdn.microsoft.com/it-it/library/system.web.ui.control.clientidmode.aspx
e qui
http://www.codeguru.com/csharp/.net/net_asp/controls/article.php/c18225
qualche info in più.

un docu-film prodotto dalla BBC e messo in onda un po' di mesi fa.
Ben realizzato ed estremamente godibile.
Per passare un oretta leggera
http://www.youtube.com/watch?v=2y8IkcUGV9w&feature=related
Da qualche giorno sto smanettando su questo simpatico tool
SQL Source Control per un eventuale "adozione" all'interno dell'azienda in cui lavoro.
E' un applicativo che permette di fare versioning del codice sorgente di Sql Server. Si integra con Team Foundation Server o Subversion e con SSMS per quanto riguarda la gestione del repository.
Permette di operare in due modalità:
- ogni sviluppatore ha in locale il suo database su cui lavora e quindi esegue il commit verso un repository centralizzato (soluzione consigliata)
- tutti gli sviluppatori condividono un unico database (su cui lavorano) ed un unico repository per il versioning (ovviamente
)
Pubblicate sul sito del NSA, in collaborazione con varie aziende, sono linee guida generali, ma dargli un'occhiata non fa mai male:
http://www.nsa.gov/ia/guidance/security_configuration_guides/index.shtml
Ulteriori approfondimenti qui (per la parte Microsoft):
http://technet.microsoft.com/en-us/solutionaccelerators/default.aspx
