lunedì 14 luglio 2014

Collezione processori


Un po' di tempo fa, quando i desktop erano i computer principali e si cambiavano al ritmo di uno ogni paio di anni, era facile trovare abbandonati al cassonetto dei case completi di processori. Questo ha alimentato la mia collezione di processori (principalmente X86 e principalmente Intel, i processori Apple sono rimasti montati nei calcolatori completi) almeno fino a quando ho fatto come lavoro anche il tecnico informatico


Attualmente la collezione ha oltre 200 processori unici (i doppioni non sono conteggiati) con alcune chicche come un processore di una Alpha
I processori sono rimasti a lungo (almeno fino a quando non mi sono sposato) appesi a due poster che riporto di seguito ad alta definizione per riconoscere il tipo di processore


Fauna Caldinese - Egretta Garzetta

Dal ponte di Caldine


Da Sim a MicroSim

Ho regalato a mia moglie un telefono dual sim "moderno" che e' passata da un NGM ad un MotoE
Avevo sottovalutato il fatto che nel primo telefono erano presenti delle SIM mentre nel MotoE sono necessarie le microSim
Ho letto un po' a giro se era fattibile farlo in casa ma in generale era sconsigliato e si trovano in giro degli apparecchi che fanno il taglio (tipo questo)

Ho trovato per casa una sagoma di microsim ed ho provato a farlo da solo


sovrapposte la sim e la sagoma ho disegnato il profilo con un pennarello indelebile. Si vede che parte del taglio ricade sulla parte del chip e cio' mi ha messo un po' in allarme ma alla fine ho tagliato con delle normali forbici seguendo il bordo esterno del profilo nero


Tutto ha funzionato alla prima per entrambe le sim. Sono state blocccate perfettamente dal meccanismo di aggancio e sono state riconosciute dal software. Tanto rumore per nulla

mercoledì 9 luglio 2014

Associare IPhone ad XCode

Per poter provare le applicazione IOS direttamente dentro ad un telefono reale (e non il simulatore) oltre a pagare Apple per registrarsi come developer si deve anche registrare il dispositivo all'interno del proprio profilo (c'e' un limite di 100 dispositivi per sviluppatore)

Per prima cosa si deve aprire XCode (con l'IPhone collegato ed aprire Window/Devices)
L'identificativo del dispositivo e' una stringa di 40 caratteri


a questo punto si va sul proprio profilo sviluppatore sul sito Apple e si inserisce il codice copiato in precedenza


Fatto cio' e' possibile testare le applicazioni sul proprio IPhone






martedì 8 luglio 2014

IBeacon ed aggiornamento IOS 7.1.2 su Iphone 4S


Sviluppando per beacon su IOS mi sono trovato di fronte ad una cosa piuttosto strana

Il medesimo codice che girava correttamente su un Iphone 5S si rifiutava di funzionare su Iphone 4S a parita' di IOS installato


Con l'uscita dell'aggiornamento ad IOS 7.1.2 tutto si e' risolto senza modificare nessuna parte del codice dell'applicazione

Libri obsoleti

Ho salvato dal macero un po' di archeologia informatica in formato cartaceo.
Come si vede andava di moda Fortran ma la lettura dei manuali Digital apre veramente un mondo su cosa erano i calcolatori negli anni 70





da osservare anche il livello di dettaglio tecnico presente nella documentazione



lunedì 7 luglio 2014

Beacon su IOS


A seguito delle prove effettuate in questo post ed in questo post (usando in entrambi i casi un telefono Moto G con Android e librerie Radius) mi sono convertito ad IOS ed ho ripetuto l'esperienza usando un IPhone 4S con le medesime antenne usate in precedenza e le API di IOS



non ho ancora capito bene il motivo ma sembra che il segnale risulta nettamente piu' stabile su IOS che su Android (hardware o software???)


da notare che al contrario di Android su IOS vengono segnalati come valori negativi le fallite acquisizioni

il codice impiegato per misurare il segnale e' riportato in seguito (ripreso da questo link dall'esempio Art Gallery)

#import "ViewController.h"

#define ESTIMOTE_PROXIMITY_UUID [[NSUUID alloc] initWithUUIDString:@"4506F9C7-00F9-C206-C12C-C2F9C702D3C3"]

int oldminor;

@interface ViewController ()
@property (nonatomic, strong) NSMutableArray *beacons;
@property (nonatomic, strong) NSArray *paintings;
@property (nonatomic, strong) CLLocationManager *locationManager;
@property (nonatomic, strong) CLBeaconRegion *beaconRegion;


@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    
_beacons = [[NSMutableArray alloc] init];
    
    _locationManager = [[CLLocationManager alloc] init];
    _locationManager.delegate = self;
    
    _beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:ESTIMOTE_PROXIMITY_UUID
                                                       identifier:@"lucainnoc.Ibeareader"];
}



- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)viewDidAppear:(BOOL)animated
{
    [_locationManager startRangingBeaconsInRegion:_beaconRegion];
}

- (void)viewDidDisappear:(BOOL)animated
{
    [_locationManager stopRangingBeaconsInRegion:_beaconRegion];
}

- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region
{
    if (beacons.count) {
        
        CLBeacon *closestBeacon;
        
        for (CLBeacon *beacon in beacons) {
         
            NSLog([NSString stringWithFormat:@"%f", beacon.accuracy]);
            
           
        }

    }
    
}



@end

Opencv camera calibration in cpp

Oltre che con uno script Python come visto qui la calibrazione della camera si puo' fare anche con il programma in CPP Questo il proce...