Native Android Applications Development, UgiALT.NET Conf

Giornata intensa e ricca quella della V UgiALT.Net Conference, che mi ha anche visto tra gli speaker a parlare un po’ di Android e, come ha detto Diego, a sentirmi un po’ una mosca bianca con una macchina equipaggiata con GNU/Linux + Eclipse in mezzo ai tanti Windows e Mac…

Ecco le slide dell’intervento che ho fatto:

Continue reading “Native Android Applications Development, UgiALT.NET Conf”

Howto install Debian GNU/Linux on HTC Universal

htc_universallinux_1_tn.jpg

What follows is my personal experince in installing GNU/Linux on a HTC Universal pocketpc. I used Titchy Linux, a Debian Lenny based distribution with special drivers/config for HTC Universal. But the heart is Debian, and full support to Debian repois is grated.

Actually the only not working hardware is:
-camera.
-wifi sometimes works, sometimes doesn’t, the driver is unstable.

First of all, I splitted a 1Gb SD memory stick into two partitions: the first with 32Mb of size and FAT32 filesystem, the second an ext2 filesystem in all the remaining space. In this way, I can port all my config in another HTC (launcher and Linux installation) and show the magic of Linux to all of my Universal-friends. If you need some shared data on memory card, between Windows Mobile and Linux, simply make the FAT32 partition bigger and use it for storing these data.

I followed the steps in Titchy wiki for Universal installation and I copied haret.exe, zImage and startup.txt in the FAT32 memory stick partition. After 30 minutes, thanks to Titchy image, my HTC Universal booted with Linux. Included in the image a very nice sms /calling graphical interface, access to it pressing the green phone key. That’s all, have fun!

For alternative install (no xfce file manager, encripted home partition and lot of tricks) there is another great resource, with lot of useful post-configurations. Be sure to read the Titchy wiki for UMTS and Bluetooth access to the Internet.


RAM CONSIDERATION
: The HTC Universal has only 64 Mb of ram, and the base system, with
textual console, uses 12 Mb of it. XFCE installed by Titchy is nice, but the ram
consumption arrive to 40 Mb and the system responsivity is very bad.
With IceVM, instead, the totat used ram is 24 Mb and the system
responsivity is still good.

And now, general tip’s tricks.

Continue reading “Howto install Debian GNU/Linux on HTC Universal”

Java: Image conversion to byte[] array

Convertire un byte array (byte[]) in un oggetto Image e’ molto semplice:

	private Image convertToImage(byte[] source){
	Image objImage = new Image(source);
	return objImage;
}

Il contrario invece, convertire un oggetto Image in un byte[] non e’ proprio cosi’ immediaito. Ecco lo snippet che uso, che carica direttamente da una URL un’immagine e la memorizza in un byte[]. comodo magari da usare successivamente all’interno degli elementi di una jList.

private byte[] loadImageFromURL(String strUrl){
	int intPos;
	String strFileExt;

	//guess file extension
	intPos = strUrl.lastIndexOf(".");
	if (intPos >= 0){
		strFileExt = strUrl.substring(intPos + 1);
	}else{
		//assign default jpg extension
		strFileExt = "jpg";
	}

	try {
		//load the image from the Internet
		ImageIcon objImageIcon = new ImageIcon(new URL(strUrl));

		//wait the loading of the image
		MediaTracker objMediaTracker = new MediaTracker(lstContacts);
		objMediaTracker.addImage(objImageIcon.getImage(), 0);
		objMediaTracker.waitForID(0, 5000);

		//convert the image
		BufferedImage objBI = new BufferedImage(objImageIcon.getIconWidth(), objImageIcon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
		Graphics2D g2 = objBI.createGraphics();
		g2.drawImage(objImageIcon.getImage(), 0, 0, null);
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		ImageIO.write(objBI, strFileExt, baos);

		return baos.toByteArray();

	} catch (MalformedURLException ex) {
		Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex);
		return null;
	} catch (IOException ex) {
		Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex);
		return null;
	} catch (InterruptedException ex) {
		Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex);
		return null;
	}
}

Continue reading “Java: Image conversion to byte[] array”

Stampare un’immagine su piu’ pagine

blockposter.gif Se avete l’esigenza di stampare un’unica immagine su piu’ pagine, ecco qualche link utile:

Block Posters: questo sito permette di caricare un’immagine JPG grande fino ad 1 Mb, scegliere il formato della carta ed orientamento (A4 o US Letter, verticale o orizzontale) ed indicare il numero di fogli su cui suddividere la stampa. Dopo l’elaborazione, si otterra’ un PDF con l’immagine divisa, fetta dopo fetta, nelle pagine richieste.

The Rasterbator: meccanismo di funzionamento molto simile al primo, con la differenza che l’immagine generata e’ una rasterizzazione dell’immagine di partenza. In pratica l’immagine originale viene trasformata in tanti piccoli punti, che visti da vicino non hanno senso, ma quando si osservano da lontano in una visione d’insieme, ritrovano il loro significato originario. Ideale quindi per stampare grandi poster (anche qualche metro di lato) da appendere su grandi muri.

PRTLGPCT.EXE: Print a Large Bitmap on Multiple Pages: se siete dei programmatori, questo articolo dalla KB della Microsoft mostra come realizzare con poche righe di codice un programma in Visual Basic 6 (ma facilmente riadattabile anche al .NET) per stampare un’immagine suddivisa in piu’ pagine.

Continue reading “Stampare un’immagine su piu’ pagine”

La mia tesi sui cartoni animati

Macerata, 18 Marzo 2008: un giorno speciale, infatti sono diventato dottore in scienze della comunicazione (corso triennale). Eccomi mentre discuto della mia tesi sui cartoni animati con la commissione di laurea:

Per la cronaca, la commissione mi ha dato un bel 108 (102+6). Considerando che non ho mai badato al voto degli esami (e ci mancava che, lavorando, mi preoccupassi anche di questo), direi che sono proprio soddisfatto. Sette anni di sforzi (e chi se le dimentica le “clausure mensili” pre-esame), finalmente conclusi. Ora spero solo che un domani questa laurea mi servira’ a qualcosa, anche se, ad essere sincero, a livello personale mi ha giĂ  aiutato parecchio. In quanto persone, siamo inclini a condurre una vita sociale, ma farlo in maniera competente non e’ una nostra abilita’ innata.

Se siete curiosi di vedere le slide che ho proiettato, sono queste (PDF, OpenDocument).

E finalmente, per i piĂ¹ curiosi, la tesi. La rilascio sotto licenza creative commons, fatene buon uso (PDFOpenDocument).