martedì 22 gennaio 2013

Asus A1300

Un altro portatile che mi e' passato per le mani in condizioni ormai rottamate e' l'Asus A1300
Peraltro mi e' arrivato sostanzialmente come se non fosse mai stato usato, lo chassis e' nuovo e privo di graffi ed anche la batteria (considerando l'eta') fa ancora il suo lavoro



Come si vede dalla scheda tecnica sotto riportata non e' poi' cosi' male e si puo' provare a montare Linux
----------------------------------------------
Processore Intel Mobile Celeron 800 Mhz
Chipset SIS 630 con le soluzioni Intel
Memoria 128MB SDRAM on board, espansione fino a 384MB
Display 13,3" TFT LCD, XGA 1024x768, 64K colori
Grafica SXGA fino a 1280X1024 256/16,7M colori
PC card PCMCIA 2.1: 2 Card tipo II o 1 tipo III
Hard Disk Drive capacità 20GB
CD-ROM 24X o DVD-ROM 8X
Modem 56k S/W, LAN integrata (KN-133)
Audio full duplex, 3D sound, AC97
Batteria Li-Ion a 8 celle, 3700 mAh
Ventola di raffreddamento termo-controllata
----------------------------------------------




Per la prova di Linux ho provato a montara una distribuzione per me nuova ovvero Antix che promette di funzionare in modo ottimale anche su hardware datato

Una volta eseguito il boot come LiveCD il sistema Linux funziona decisamente bene...puo' essere che lo installero' direttamente sull'HD


HP 48gx

Chiamare un obsoleta una HP 48gx e' come offendere una vecchia e gloriosa signora che fa ancora il suo lavoro.
Questo esemplare lo ho acquistato per 10 euro ad una asta degli oggetti smarriti sui treni


Ad esclusione di un graffio sullo schermo l'oggetto e' sostanzialmente integro e funzionante

Visto che ormai e' difficile trovare il manuale cartaceo ai link sottostanti si puo' trovare il pdf

Link 1
Link 2

Armada 1572

Mi e' arrivato come rottame un Compaq Armada 1572, un portatile decisamente scarso con un Pentium 233 MMX, 16 Mb di memoria ed un HD da 2.1 Gb .. beh escludiamo l'HD in quanto al primo tentativo di accensione il rumore prodotto dall'HD ha dimostrato che era chiaramente rotto (ascoltare il sonoro del video per avere un'idea)

ho provato ad avviare il CDRom con una distro Linux ma il BIOS (F10) non ha risposto per cui la macchina e' stata dichiarata morta e messa nel cimitero dei portatili (ci sara' un motivo per cui mi danno i portatili a gratis??)



L'asoetto curioso di questo portatile e' che non ha un alimentatore esterno, il cavo del 220 V entra direttamente nel portatile






Mandelbrot in QT

Un classico di questo blog ovvero disegnare l'insieme di Mandelbrot con varie librerie grafiche

Per questo esempio e' stata usata come base il post "Disegnare in QT" con la differenza che in questo caso non vengono disegnate linee  bensi' punti


il trucco per disegnare punti risiede nella linea che e' stata evindeziata in colore giallo ovvero utilizzando una primitiva di una ellisse di raggio molto piccolo

dialog.cpp
---------------------------------------------------
#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)




{
    float re_min = -2.0;
    float im_min = -1.2;

    float re_max = 1.0;
    float im_max = 1.2;
    int iterazioni = 255;
    int SCREEN_WIDTH = 640;
    int SCREEN_HEIGHT = 480;


    float a,b;
    float x,y,x_new,y_new;

    int k,j,i,test;

    float re_factor = (re_max-re_min);
    float im_factor = (im_max-im_min);

    ui->setupUi(this);

    scene = new QGraphicsScene(this);
    ui->graphicsView->setScene(scene);

    QBrush brush(Qt::black);

    QPen penna(Qt::black);
    penna.setWidth(1);

    for (i=0;i<SCREEN_HEIGHT;i++)
        {
        for (j=0;j<SCREEN_WIDTH;j++)
            {
            a = re_min+(j*re_factor/SCREEN_WIDTH);
            b = im_min+(i*im_factor/SCREEN_HEIGHT);

            x = 0;
            y = 0;
            test = 0;

            for (k=0;k<iterazioni;k++)
                {
                x_new = (x*x)-(y*y)+a;
                y_new = (2*x*y)+b;
                if (((x_new*x_new)+(y_new*y_new))>4)
                    {
                    test = k;
                    if (k%2 == 0)
                         scene->addEllipse(j,i,0.1,0.1,penna,brush);
                    break;
                    }
                x = x_new;
                y = y_new;
                }

            }

        }
    //linea = scene->addLine(100,100,100,100,penna);
}

Dialog::~Dialog()
{
    delete ui;
}

Disegnare in QT

In questo post verra' mostrato un esempio di come disegnare in una QGraphicsScene

Per prima cosa si crea un nuovo progetto definendo un QDialog



A questo punto dall'editor visuale si aggiunge al form una



Si modificano i file dialog.h e dialog.cpp come evidenziato nel listato sotto riportato


ed ecco il risultato (non e' un granche')



dialog.h
----------------------------------

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QtCore>
#include <QtGui>



namespace Ui {
class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT
    
public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
    
private:
    Ui::Dialog *ui;
    QGraphicsScene *scene;
    QGraphicsLineItem *linea;
};
#endif // DIALOG_H
----------------------------------

dialog.cpp
----------------------------------
#include "dialog.h"
#include "ui_dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);

    scene = new QGraphicsScene(this);
    ui->graphicsView->setScene(scene);
    QBrush brush(Qt::black);
    QPen penna(Qt::black);
    penna.setWidth(6);
    linea = scene->addLine(100,100,100,100,penna);
}

Dialog::~Dialog()
{
    delete ui;
}
----------------------------------

da tenere presente che non esiste una primitiva per il disegno di un punto
si puo' vedere l'esempio di Mandelbrot in Qt per vedere come disegnare i singoli pixel

Cancellare account da Android

Mi sono trovato a dover configurare un telefono Android ad un amico e per completare l'aggiornamento ho dovuto usare il mio account per accedere a Google Play Store
Contento di aver finito ho riconsegnato il telefono ma prima dovevo rimuovere le informazioni relative al mio account e parzialmente alcune parti della rubrica e delle foto che il telefono aveva sincronizzato dato che mi ero scordato di disabilitare la sincronizzazione automatica

E qui e' arrivato il problema
Per poter cancellare un account (almeno in Android 2.3.6 e penso anche precedenti) si deve prima andare nel menu Settings/Privacy e cancellare totalmente i dati (e fin qui va bene) ma anche tutte le applicazioni ed impostazioni riportando di fatto il telefono alla condizione in cui e' uscito dalla fabbrica


In soldoni il lavoro di configurazione e' stato inutile ed ho dovuto farmi dare account e password del mio amico per ripartire di nuovo con tutto il lavoro





lunedì 21 gennaio 2013

All'interno di un Ipod 5th Generazione (2)

Per un caso curioso mi e' arrivato un altro Ipod 5° generazione rotto.
A quanto pare l'Ipod Video era piuttosto delicato

L'esemplare mi e' stato consegnato senza scheda logica in quanto, al momento dell'apertura, risultava che erano distaccati un paio di componenti (letteralmente esplosi) ...il problema descritto sembra essere quello riportato all'interno di questo post e sembra che fosse piuttosto comune per questo tipo di dispositivo

Avendo tutti i componenti gia' staccati e' piu' facile vedere l'interno



Disco da 1.8 pollici con batteria

Aggiornamento algoritmi di spectral unmxing

Durante il dottorato avevo provato a fare unmixing di suoli naturali Una discreta serie di campioni di suolo naturale era stato raccolto in ...