Io sto ricevendo strani squilli dal numero tunisino +21697239302. Molto probabilmente si tratta di una truffa. Questa. Si basa sul fatto che l’utente richiami il numero, dall’altra parte risponde un numero a pagamento, che non fa altro che farvi perdere tempo per tenervi attaccati alla chiamata e succhiarvi euro.

Hands-On è un ottimo testo per imparare le tecniche di machine learning più utilizzate. Il testo non presuppone nessuna conoscenza pregressa. Infatti si parte da un capitolo introduttivo per introdurre la parte teorica del machine learning: che cos’è il machine learning, perché usarlo, tipi di machine learning, tipi di utilizzo del machine learning. Una parte considerevole del capitolo teorico è dedicato a descrivere l’importanza della scelta appropriata del training set dei dati e della parte da utilizzare per testare il modello costruito.

Il libro prosegue con una serie di capitoli pratici che realizzano un serie di progetti finiti, che introducono le due librerie presentate nel libro. Scikit-Learn e Tensorflow. I progetti sono realizzati, naturalmente, in Python. Anche qui non è richiesta una conoscenza del linguaggio, nel primo capitolo pratico vengono date tutte le indicazioni pratiche per impostare un ambiente adatto alle esercitazioni.

Azure Data Studio

Azure Data Studio (ADS) è un nuovo ambiente di sviluppo database multi piattaforma in fase di sviluppo da parte di Microsoft. Infatti esiste nella versione Windows, MacOS e Linux. L’interfaccia e la modalità di interazione è la stessa di VSCode. L’ultima release, porta in dote diverse novità. Tra queste l’inclusione del concetto del Notebook. Un Notebook, non è un semplice documento di query, ma è composto da una serie di oggetti attivi, che possono essere “attivi” nello stesso momento, inframmezzati da testo o altro. In pratica è come avere un “quaderno” in cui scrivere tutto. Il Notebook più famoso e Jupiter Notebook, che serve ad eseguire script Python inframezzato da testo, grafici e altro.

Ed infatti in questa release di ADS un Notebook può avere un backend di codice SQL o Python. E qui iniziano i guai. Provando un nuovo Notebook con backend Python, ADS parte immediatamente con l’installazione di un proprio ambiente Python. Come risultato mi sono ritrovato con il mio ambiente Python/Anaconda “piallato”. È vero che ADS è in fase di sviluppo, ma sarebbe meglio prevedere un rilevamento di un ambiente già installato ed usare quello.

Per il resto i Notebook funzionano perfettamente, e sono perfettamente compatibili con quelli Jupiter (non so se si tratta di un’integrazione proprio di questi ultimi o solo compatibilità di file). Infatti avevo un Notebook in cui stavo seguendo gli esercizi del libro Hands-On Machine Learning with Scikit-Learn and TensorFlow e sono riuscito ad aprirlo senza problemi e proseguire lo sviluppo da ADS.

Yesterday i decided to upgrade my installation of SQL Server 2012 (on Windows 10 professional) with the most recent serivice pack, the sp4. Everything works fine, until the at some step before completation, the setup ended wid the error:

Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.

This error, leaved the sql server in a unstartable state. None work to recover the installation.

At this point, i decided to download and install a fresh copy o SQL Server 2016 developer edition. But also this setup failed with the same error. Every suggested solution do not works. At some point reading the SQL Server installation log, i found this line:

The code page 65001 is not supported by the server

What the hell?

After some search, i discovered that there is a new (beta) option in Windows 10 April 2018 update:
Beta: Use Unicode UTF-8 for worldwide language support

Basically this option force to use UTF-8 (65001 character set) in every windows function. But the secondary effect is that old(?) setup do not works anymore. To disable this option:

control panel->regional settings->administrative->change system locale

uncheck the option.

After that every setup works with no problem.

Da “Il dilemma dell’onnivoro (Gli Adelphi Vol. 431)” di Michael Pollan, L. Civalleri –

“La macinazione a umido, dunque, è un processo molto dispendioso dal punto di vista energetico: per ogni caloria prodotta, ne brucia circa dieci di combustibile fossile.”

Inizia a leggere questo libro gratuitamente: http://amzn.eu/8GSVwWn

C# 7.0 in a Nutshell è una guida completa all’ultima versione del C#, nata da Joseph Albahari, il creatore del famoso editor LINQPad, uno dei migliori ambienti in cui provare LINQ e non solo. Il libro si apre ovviamente con una panoramica generale sul linguaggio C#, poi si passa al sistema dei tipi, le basi per ogni buon linguaggio di programmazione. Poi si passa alle caratteristiche più avanzate del linguaggio, come le lambda expression, tuple, e direttive del pre-processore. Poi si passa alle varie interazioni del linguaggio con il framework .Net, sottostante. Notevole il capitolo sul namespace System.Diagnostics. Il libro affronta con dovizia di particolari la programmazione multiprocessore, partendo dei temi basilari sui thread, alle nuove classi Parallel.For e Parallel.ForEach, ed arrivare a PLINQ.

Non è un libro da comprare se vi interessano le Window Form o WPF.

Orbit® Wireless Mobile Trackball

Mi aspettavo di più da un marchi come Kensigton. Il mio logitech m370, vecchio di 7 anni, può dare un sacco di punti a questa trackball, in fatto di scorrevolezza della pallina, neanche quando è pieno di polvere è così duro. Speriamo migliori con l’uso. Purtroppo per un problema al braccio destro ho dovuto trovare una trackball, ambivalente. Questa è accettabile. Si impugna abbastanza bene, e non è ne piccola ne troppo grande, da renderla facilmente trasportabile, la m370 è decisamente più grande. La forma è abbastanza naturale quando si appoggia la mano. Le strisce di scorrimento intorno alla pallina, fanno il loro lavoro, anche se bisogna regolarle bene. È qui vengono le note dolenti, ci sarebbe un software per regolare alla perfezione vari aspetti del funzionamento, peccato che su Windows 10 questo software fa impazzire il dispositivo e bisogna rimuoverlo.

Citazione da “The Silk Roads: A New History of the World (English Edition)” di Peter Frankopan –

“But two other important reasons also help explain the triumph of Islam in the early part of the seventh century: the support provided by Christians, and above all that given by Jews. In a world where religion seems to be the cause of conflict and bloodshed, it is easy to overlook the ways in which the great faiths learnt and borrowed from each other. To the modern eye, Christianity and Islam seem to be diametrically opposed, but in the early years of their coexistence relations were not so much pacific as warmly encouraging. And if anything, the relationship between Islam and Judaism was even more striking for its mutual compatibility. The support of the Jews in the Middle East was vital for the propagation and spread of the word of Muammad.”

Inizia a leggere questo libro gratuitamente: http://amzn.eu/bMiy2YU

RxJS è l’acronimo di Reactive Extension for Javascript, è una libreria che si occupa di poter gestire in maniera molto semplice chiamate asincrone di qualsiasi tipo, per poter costruire programmi con interfaccia molto più “reattive”. L’idea di fondo è quella di eseguire le varie operazioni in maniera asincrona, e la libreria si occupa poi di riconciliare tutte le chiamate con i relativi programmi di gestione della risposta, in questo modo l’interfaccia non risulta bloccata sull’attesa della risposta al click del mouse su un pulsante, ma può proseguire la gestione degli eventi dell’interfaccia. Chi utilizza Angular, utilizza già questa libreria, forse neanche senza saperlo, per eseguire le chiamate alle WebAPI dell’applicazione: infatti i vari tool automatici di gestione delle WebAPI utilizzano RxJS per creare oggetti ad più alto livello, che utilizzano alla base RxJS. Un ottimo libro per esaminare a fondo questa libreria è RxJS in Action di Paul P. Daniels e Luis Atencio, il libro copre la versione 5 della libreria. Sarebbe utile conoscere i fondamenti della programmazione funzionale in Javascript prima di affrontare la lettura del libro, ma non è strettamente necessario. Il libro mostra con dovizia di esempi, come l’utilizzo della libreria renda semplice coinciso e chiaro la realizzazione della sincronizzazione di operazioni complesse, che richiederebbero complicate e oscure routine di programmazione classica.