Feeds:
Posts
Comments

Posts Tagged ‘informatica’

Nuovo Kindle

Nuovo Kindle

Ieri ho pre-ordinato il nuovo Kindle, versione solo Wifi, dal buon Amazon a 139$: ho deciso di approfittare dell’offerta, anche se dovrò aspettare un mesetto prima che arrivi, con in mente un obiettivo ben chiaro: transitare sempre di più verso un digitale puro.

E’ già parecchio tempo che tendo ad evitare di stampare ogni documento che mi passi davanti, come ho invece fatto per diversi anni, e mi limito a stampare quanto strettamente necessario; ora, finalmente, se il Kindle rispetta le sue promesse, potrò definitivamente leggere i miei documenti, anche quelli più lunghi, senza alcuno spreco di carta ma soprattutto di inchiostro della stampante, e senza l’affaticamento della vista tipico degli schermi dei PC.

Oltre a questo, ho le migliori intenzioni di spostare l’acquisto dei libri in inglese verso il digitale, quindi in formato Kindle, sia che si tratti di narrativa (e acquisto in un anno più di qualche libro in lingua originale, e gli ultimi due volumi della “Torre Nera” potrebbero inaugurare la serie) che di informatica (vedi i manuali da PragProg o O’Reilly, in genere le mie due fonti principali). A questo seguirà il “porting” dell’abbonamento a IEEE Spectrum a solo PDF (come ho già fatto con IEEE Computer Magazine, ma quest’ultimo lo leggo di rado).

Infine, vorrei spostare anche l’acquisto musicale verso il solo formato digitale, come peraltro avevo già iniziato a fare qualche anno fa con iTunes: avevo poi smesso, nel momento in cui il programmino per convertire i file mp4 con DRM in mp3 aveva smesso di esistere. Ora vorrei ricominciare, o tramite iTunes stesso se finalmente ha abbandonato il DRM (e qui mi rivolgo agli Apple users di turno: ha smesso del tutto?), o appena Amazon Music decide di permettere anche a noi italiani di acquistare mp3.

Chissà che io riesca ad evitare il più possibile lo spreco di carta, plastica e $materiale_dei_cd. Obiettivo dichiarato per il 2011.

Read Full Post »

Trasparenze

Trasparenze in Matlab

Trasparenze in Matlab

Ecco l’utilità delle finestre trasparenti in fase di trascinamento: permettono di vedere le sovrapposizioni tra grafici in Matlab…

P.S.: se non è chiaro, ci sono due finestre sovrapposte: quella in primo piano produce la parte nera della figura, mentre quella in secondo piano mostra un’ombra grigia.

Read Full Post »

Numbers

Dato che sono ben due settimane che non scrivo, butto giù un’osservazione: ogni tanto qualcuno si lamenta di “Numbers”, il telefilm sui matematici che risolvono polizieschi, le cui teorie in effetti in alcuni casi sono tirate un po’ per i capelli.

Quest’anno, tuttavia, nella stagione che stanno ora trasmettendo, sarà il destino ma stanno utilizzando tutta una serie di tecnologie (e relative basi teoriche) che sto studiando proprio in questa sessione d’esami, ad esempio:

  • il simplesso, usato per risolvere un problema di programmazione lineare (ora non ricordo di preciso il caso): Ricerca operativa
  • un set di robot da utilizzare per mappare automaticamente la zona di un disastro ferroviario: Agenti autonomi (ed anche altri esami gà dati)
  • un file audio con rumori di fondo da filtrare per poter comprendere il messaggio di un infiltrato: Computer music

Insomma, le coincidenze aumentano…

Read Full Post »

Tradimenti di Java

Il codice incriminato:


public class Test {
    public static void main(String[] args) {
        String a1 = "test";
        String a2 = "test";
        System.out.println(a1 == a2);
        a2 = new String("test");
        System.out.println(a1 == a2);
    }
}

Il primo confronto ritorna true, mentre il secondo false: ora, io avevo sempre pensato che una stringa inizializzata nel primo modo fosse semplicemente una scorciatoia al posto di new, invece a quanto pare sono due cose profondamente diverse. Il primo confronto dovrebbe, a norma di legge, confrontare i riferimenti, non i contenuti, ed invece non è così (nonostante i due oggetti siano dichiarati separatamente).

Perchè l’ho chiamato tradimento? Bè, perchè questo viola chiaramente il presupposto degli oggetti in Java: per quanto le stringhe siano un tipo base, sono comunque oggetti a tutti gli effetti, o almeno lo erano prima di questa scoperta… inutile dire che vale lo stesso fattaccio anche per gli oggetti che incorporano i tipi base (Integer vs. int). Questo dimostra comunque che conviene usare equals, dato che se una stringa viene ricreata l’== non funziona più, ma resta un notevole pacco.

Un ringraziamento a Maintux, che ha insinuato il seme del dubbio, ed a Sante che ha condiviso un’istanza di Eclipse all’uopo.

Read Full Post »

Phonon & VLC

Se avete notato qualche rallentamento nei programmi multimediali con KDE (parliamo principalmente di Amarok), soprattutto nelle ultime versioni, ebbene ciò potrebbe essere dovuto al backend in uso: quello maggiormente utilizzato, fino a qualche tempo fa, era Xine (GStreamer esiste, ma non lo si è mai considerato molto performante), ma ha avuto nel tempo diversi problemi ed è quindi in fase di abbandono, specie alla luce di una nuova collaborazione tra KDE ed il gruppo di sviluppatori di VLC.

E’ già possibile testare una versione in sviluppo del nuovo backend (e posso dire che è sparito quel fastidioso bug/feature che faceva sì che un click sulla pausa di Amarok provocasse la pausa del brano dopo almeno 2 secondi…), e su Ubuntu è discretamente semplice: aggiungete un repository su Launchpad con VLC 1.1 (che, ricordo, è RC), quindi aggiornate ed assicuratevi di avere libvlc-dev on board; scaricate il repository Git di Phonon-VLC, quindi compilatelo (assicurandovi di passare -DCMAKE_INSTALL_PREFIX=/usr, così da evitare che Phonon non veda il backend stesso al termine dell’installazione; questo parte dal presupposto che KDE sia in /usr), installatelo e lanciate un bel kbuildsycoca4 –noincremental. Quindi andate nelle impostazioni audio e cambiate backend 😀

Provate per credere!

Read Full Post »

Sembrowser 0.3

Sembrowser 0.3

Hi everyone!

I have just released Sembrowser version 0.3 (sources here, Ubuntu packages here); not much changes since 0.2, time is always a problem, but it was worth publishing it because of the two most important features added:

  • text filtering for tags: thanks for all the facilities provided by kdelibs, in few lines of code I have added an edit box for narrowing the tag list by searching through some text;
  • the facet-term underlying structure is changed, with its classes trying to follow the Model-View-Controller architectural pattern; in this way, it should be easier to add new facets or new views, with less code involved. Please notice that this may not be the final structure: some discussions are happening right now about this, so things may change soon.

Just a reminder: Sembrowser is a (very poor) clone of Dolphin, and it is not meant to substitute the default KDE file browser: it is being developed for testing faceted browsing of Nepomuk metadata applied directly to file browsing; the side panel offering this new functionality may (hopefully) someday be ported to Dolphin itself (or to some other Nepomuk apps). So, do not complain about missing functionalities (for the manager part), because I have just added the most important ones, but they are not the main goal here.

Here in Politecnico the exam session is starting right now, so the next month will be a little busy for me; fortunately, by the end of july I should have finished all of my exams, so I should have some more time to dedicate to KDE (especially if some things will get realized as I wish, but more on this later).

Read Full Post »

E’ uscita la versione 3.0 di WordPress, e scrivo queste due righe solo per dire che sono ammirato della velocità dell’upgrade… memore di altri passaggi tra minor version della 2.x, ero pronto ad aspettare anche qualche minuto, ed invece in qualcosa come 15 secondi l’upgrade è stato fatto!

Spettacolo… ribadisco che WordPress è il miglior gestore di siti esistente, quantomeno ad oggi.

Read Full Post »

Win7 updates

Win7 updates

Aaaaah! Ma quanti minchia di updates hai?

Read Full Post »

Brevissimo update del mio ultimo post su Arduino & Java: ho verificato un sospetto che avevo, ed in effetti il codice di test funziona, il problema era dovuto ad una differenza di baud rate: il default dello sketch è 57600, mentre quello della classe Java Arduino è 115200; sovrascritto quest’ultimo valore (usando un costruttore diverso), la demo funziona correttamente.

In allegato, il codice aggiornato (con tanto di script Ant, se non volete usare Eclipse; dovrete comunque passare il path della libreria nativa all’interprete, temo): Arduino – Eclipse.

Read Full Post »

Ieri ho avuto il piacere di giocare con la seguente guida, che di fatto è un’unione di altre due guide, e permette di programmare l’Arduino in Java.

“Eh?”, diranno i puristi. Ebbene sì: caricando nel microprocessore uno sketch incluso tra gli esempi del PDE di Arduino (StandardFirmata), e creando un progetto Java sotto Eclipse (ma non siete obbligati ad usare un IDE, vi basta anche una mano di Vim) con giusto un paio di jar di Processing, una sorta di sottolinguaggio costruito per fare arte e programmare (non chiedetemi una definizione migliore, non saprei darvela, nemmeno io ho le idee chiarissime su cosa diavolo sia), è possibile di fatto impiegare l’Arduino come un oggetto remoto.

Ora, non vorrei che l’ultima definizione spaventasse qualcuno, ma il corso di sistemi distribuiti ha avuto i suoi effetti: nel codice Java diviene possibile, con questa modalità, creare un oggetto della classe Arduino (che trovate linkata nell’articolo di cui sopra), e su di esso chiamare i metodi corrispondenti alle API C++ che normalmente si usano per programmare la piattaforma; la classe stessa si occupa di comunicare via seriale con l’hardware Arduino e, tramite lo sketch caricato in precedenza, di eseguire in remoto i comandi e restituire il risultato direttamente in Java.

Ora, questo potrà sembrare una bella sega mentale e basta, ma in realtà apre alcune prospettive decisamente interessanti: per quanto, così facendo, si perda la caratteristica di standalone del circuito elettrico, dato che la comunicazione seriale diventa obbligatoria (tenete presente che il programma che caricate nel microprocessore si limita ad eseguire comandi remoti, non li memorizza), resta il fatto che trattare Arduino come un semplice oggetto, come tutte le altre cose in Java, permette una certa flessibilità sicuramente interessante, ed evita al programmatore di dover mettere le mani direttamente nel protocollo seriale per gestire la comunicazione stessa (oltre al fatto che si utilizza un linguaggio serio(TM), per quanto comunque il PDE di Arduino nasconda una parte del codice C++ necessario a far funzionare i vostri circuiti).

Insomma, non ho ancora fatto grossi esperimenti in merito, ma sicuramente è una modalità stimolante e da approfondire.

P.S.: rispetto all’articolo linkato in alto, è necessario aggiungere che deve essere importato anche il jar di RxTx, la libreria seriale, che trovate nella stessa cartella di Processing dove si trova Serial.jar; all’archivio Java va inoltre aggiunta la libreria librxtx.so, sempre dalla stessa cartella, che potete settare nelle proprietà del Build Path in Eclipse come nativa per rxtx.jar.

P.S.S.: includo anche uno zip del progetto di esempio dell’articolo, così com’è, con incluse anche le librerie richieste, già impostate nel progetto di Eclipse; resta il fatto che, ad un primo test, il led incluso nell’Arduino non si sia acceso, nonostante io abbia usato il pin 13, ma potrei aver cannato qualcosa (e, d’altro canto, l’autore dice di usare un led esterno, che io non ho). Arduino – Eclipse

Read Full Post »

« Newer Posts - Older Posts »