Librem 5, un telefono per pochi ma buoni.

Per chi non fosse già interessato di cose FLOSS questa potrebbe essere una novità. In sintesi c’è Purism, una azienda americana che da un paio d’anni produce computer focalizzati sulla privacy, la sicurezza e l’essere open. Fanno prodotti assolutamente di nicchia per chi, anche nella tecnologia, ha un approccio ideologico.

Una devboard con SoC i.MX 8M, fonte:qui

Poco meno di un mese e mezzo fa hanno lanciato una campagna di crowdfounding per finanziare lo sviluppo di uno smartphone, il librem 5, che segua le stesse linee di principio che si pongono per i loro computer. La campagna aveva l’obiettivo di raggiungere 1.500.000 dollari. Uso il passato perché, con un paio di settimane di anticipo il traguardo è stato superato e quindi il progetto si farà. Continua a leggere

Data augmentation options in Tensorflow object recognition

Recently I’ve been playing a bit with machine learning and Tensorflow and I struggled with the myriad of parameters of the library. So as a reminder to myself and for everybody’s convenience I’m posting some notes here.

I started using pretrained detection models like ssd mobilenet, inception ecc. Every one of these comes with a config sample. Training with your data you may feel the need to change some parameters. In my case for example I didn’t want to generate training data by flipping the image horizontally so I went to modify the data augmentation section of the config file.

This is the section for horizontal flip as found on the config file:

data_augmentation_options {
random_horizontal_flip {
}
}

In my data the color of the object is not that important, so I decided to change it to randomly convert the image to grayscale. To do so you have to change the config file as follows:

data_augmentation_options {
random_rgb_to_gray {
}
}

But the preprocessor has a default value for the probability of an image to be randomly converted. In the case of rgb_to_gray the default value is 0.1. It took me some time to figure out how to format the config file to insert the desired value without raising an error in the parser. This seems to work.

data_augmentation_options {
random_rgb_to_gray {
probability : 0.5
}
}

Finally, preprocessor.proto has a list of all the possible option and an explanation of what do they do.
I hope that this could help who, like me, sometimes feels lost when using Tensorflow.

edit 19/10/2017:

The tensorflow github repo structure changed so the link were broken. I updated them but there is no way to know when something will change again. In addition to search the files by yourself in the tensorflow repo if the link are broken, these are the steps accepted by the preprocessor at present and the default values.

NormalizeImage normalize_image = 1;
RandomHorizontalFlip random_horizontal_flip = 2;
RandomPixelValueScale random_pixel_value_scale = 3;
RandomImageScale random_image_scale = 4;
RandomRGBtoGray random_rgb_to_gray = 5;
RandomAdjustBrightness random_adjust_brightness = 6;
RandomAdjustContrast random_adjust_contrast = 7;
RandomAdjustHue random_adjust_hue = 8;
RandomAdjustSaturation random_adjust_saturation = 9;
RandomDistortColor random_distort_color = 10;
RandomJitterBoxes random_jitter_boxes = 11;
RandomCropImage random_crop_image = 12;
RandomPadImage random_pad_image = 13;
RandomCropPadImage random_crop_pad_image = 14;
RandomCropToAspectRatio random_crop_to_aspect_ratio = 15;
RandomBlackPatches random_black_patches = 16;
RandomResizeMethod random_resize_method = 17;
ScaleBoxesToPixelCoordinates scale_boxes_to_pixel_coordinates = 18;
ResizeImage resize_image = 19;
SubtractChannelMean subtract_channel_mean = 20;
SSDRandomCrop ssd_random_crop = 21;
SSDRandomCropPad ssd_random_crop_pad = 22;
SSDRandomCropFixedAspectRatio ssd_random_crop_fixed_aspect_ratio = 23;

Pillole informatiche

Oggi ho passato un’intera giornata davanti allo schermo di cinque computer. Cinque. Contemporaneamente. Ovviamente per quanto sia affascinato da queste grandi calcolatrici potentissime non si è trattato di un mio hobby e nemmeno un tentativo di battere qualche record di idiozia. L’ho fatto perché mi è stato commissionato. Per la precisione dalla mia professoressa, che nel suo ufficio all’università ha sette computer. Che cosa se ne faccia potrebbe diventare un giorno un argomento per un articolo nel blog dedicato al Giappone, intanto, visto che mi sono trovato a dover reinstallare Windows e tutti i software accessori su cinque computer in un solo giorno, volevo scrivere qui alcune mie considerazioni in pillole.

La dose di eroina necessaria varia a seconda della versione del sistema operativo.

image by freeimageslive.co.uk – gratuit

Continua a leggere

Japanese input on Kubuntu 15.10

I bought a new computer capable of handling KDE so I decided to install Kubuntu. Kubuntu 16.04 LTS is the only one among the Ubuntu flavors that’s not following the alpha-beta release schedule so I had to go back to 15.10. As always happens with any Linux distribution Japanese input is not working out of the box. Here’s the few steps to make it (hopefully) work with any application. Continua a leggere

Identità digitale e diacronia

Dopo un ventennio abbondante di presenza su internet ecco alcune elucubrazioni sull’identità digitale.
L’argomento è piuttosto vasto e complesso da analizzare e questo post vuole solo fornire alcuni spunti di riflessione, senza la pretesa di essere in alcun modo esaustivo. Dopo questa doverosa premessa andiamo al punto. Chi siamo su internet?

Continua a leggere

Her story

Non sono un videogiocatore. Non ho tempo ne passione sufficienti per esserlo. Ma a volte mi innamoro di alcuni giochi. È successo proprio l’altro ieri. Il gioco si chiama Her Story ed è una ficata. Il sottotitolo recita: “un videogioco riguardo una donna che parla alla polizia”.  Ed è effettivamente questo che succede durante tutto il gioco. Ma andiamo con ordine. Partiamo da Sam Barlow, già creatore di Aisle, un quasi-gioco, generatore di narrative tanto assurde quanto potenzialmente geniali. Ed è proprio la narrativa ad essere protagonista di Her Story. È la narrativa ad essere spezzata in piccoli frammenti e lasciata ricomporre al giocatore. Continua a leggere

Il Ministero degli Affari Esteri e Unicode.

Alcuni mesi fa mi sono trovato a fare domanda per una borsa di studio attraverso il sito della Farnesina. Il sito in questione raccoglie in un solo luogo, telematicamente parlando, tutte le opportunità che le istituzioni straniere offrono di effettuare un periodo di ricerca retribuito. Nel mio caso il paese offerente è il Giappone e il MAE è il primo referente a cui presentare domanda. Questa sarà poi passata all’ambasciata del Giappone in Italia che provvederà a comunicare con il Ministero dell’Istruzione giapponese che è l’ente erogatore della borsa. Continua a leggere

Monetizzare il tempo percepito, prospettive future con un occhio “open”

Sempre sulla scia del recente acquisto del Nokia N900, mi sono trovato a considerare alcuni aspetti del mondo open source in generale.

Come tutti sanno Nokia nei suoi modelli top gamma fino ad N900 ha deciso di rimpiazzare Symbian con Maemo, che a differenza del SO precedente è costruito su kernel linux e di linux implementa gran parte della struttura. La svolta di Nokia all’open source è confermata anche dalla “liberazione” dei sorgenti di Symbian alla comunità degli sviluppatori.

Ma quali sono le aspettative di Nokia rispetto allo sviluppo dei suoi sistemi operativi? E quali saranno le conseguenze effettive di questa scelta?

Un tentativo di analisi del mercato nel settore dei dispositivi mobili, in cui Nokia opera, è senza dubbio necessaria. Senza la pretesa di spacciarmi per un analista serio con delle risposte in mano vorrei proporre una mia modestissima opinione in  merito.

Continua a leggere