Passa ai contenuti principali

Post

Visualizzazione dei post da Marzo, 2007

Mettere una CD distro-live in una penna usb

Off Topic
Seguiranno oltre ai classici post, alcuni un pò più tecnici dedicati alle attività e alle esperienze maturate nella preparazione della mia tesi. Oggi per esempio mi serviva poter caricare una distro live di prova su una usb con filesystem fat32, in modo da poterla modificare senza rimasterizzare ogni volta un cd
/Off Topic

Obiettivo
Trasferire una distribuzione linux live-cd in una penna USB e renderla avviabile

Introduzione
Le distribuzioni live linux sono sempre più diffuse e molto comode per iniziare ad affacciarsi al mondo del pinguino. Spesso ci si trova davanti a distro molto leggere come nel caso di dsl (vedi link sotto) oppure di dimensioni superiore ad un cd, come nel caso di dvd-live.
Ogni aggiornamento di versione implica una masterizzazione del supporto con notevole perdita di tempo.
Se si vogliono fare dei test veloci sulla distribuzione o se si ha bisogno di un sistema linux funzionante può essere più comodo quindi utilizzare come supporto una penna USB, visto che…

Studiare e modificare i css al volo

Spesso visitiamo dei siti con una grafica molto accattivante e ci piacerebbe conoscere meglio la struttura di queste pagine. Il metodo classico è quello di leggersi il foglio di stile .css e il sorgente della pagina, ma se volessimo anche esercitarci facendo delle nostre personalizzazioni?
CSSFly è un servizio online web 2.0 che sfruttando ajax ci aiuta molto nel nostro intento. Tutto può essere fatto via browser e visto in tempo reale. "what you code is what you get!" questo è un pò il motto del sito.
CSSFly mette in una cache il codice HTML e il file CSS del sito richiesto ed imposta un frameset. In un primo frame viene mostrata la pagina mentre nell'altro il codice. Ad ogni modifica avviene un refresh del frame di visualizzazione... cosa chiedere di più?

Dove si trova il mio ISP?

Il link di oggi è My IP Address Lookup. Questo servizio spagnolo mostra dove si trova fisicamente il vostro ISP. Quando vi collegate ad internet in realtà prima fate una richiesta (il vostro modem o router) ad una macchina del vostro ISP e poi vi viene assegnato un indirizzo IP. Se volete sapere dove si trova la macchina che vi permette di accedere alla rete visitate pure
http://www.ip-adress.com/

Potrete inoltre conoscere il vostro IP e il provider che ve lo offre

Statistiche in real time per il vostro sito

Il servizio di oggi è Statsronk che permette di visualizzare nelle vostre pagine delle statistiche in tempo reale. Questo prodotto offerto gratuitamente da Freestyle34 offre diversi formati di visualizzazione ed anche uno script java per integrare il servizio con i link della pagina. Avrete a disposizione il Google Page Rank, Alexa Rank e i backlinks da Google, Msn, Yahoo e Altavista.


10 Minute Mail. Una fake mail per 10 minuti

10 Minute mail è un ottimo servizio per ottenere un indirizzo mail temporaneo. Con un semplice click vi verrà assegnato un indirizzo attivo per 10 minuti da poter usare per registrarsi in forum o siti senza mettere a rischio la propria casella da spam. L'interfaccia è veramente semplice ed il servizio è gratuito. Una volta creata la mail sarete reindirizzati ad una pagina per la gestione delle mail in arrivo.

JToDoMe 2.0: nuova versione disponibile

Prima di dedicarmi esclusivamente alla tesi ho rilasciato la nuova versione dell'applicazione java per cellulari e palmari. La trovate qui

Scarica gratuitamente JToDoMe

Per avere informazioni su JToDoMe leggetevi questo post

Il programma è stato sostanzialmente riscritto da zero, sopratutto per quanto riguarda la struttura (diciamo che questa settimana non sono uscito alla sera) ma ne è valsa la pena.
Il codice è più riutilizzabile e sono state implementate nuove funzioni:
Modifica di un singolo taskOrdinamento per categoria, priorità e statusNuova graficaNuove opzionie un Info System per conoscere le caratteristiche del vostro dispositivo che non fa mai male.

Simple Backup Suite - SBackup (the Ubuntu way)

Stanco di modificare a mano ogni cartella del mio script di backup e lavorare con crontab cercando per la rete ho scovato questa amenità: SBackup.
Un piccolo programma grafico per ambienti desktop, scritto in python.

Può salvare sottoinsiemi di cartelle e file grazie all'uso di espressioni regolari e filtri sull'estensioni. Può essere impostata la dimensione massima di un file da salvare e il backup può essere fatto in locale o salvato su una cartella condivisa.
L'installazione in Ubuntu è semplicissima
sudo apt-get install sbackup Il programma verrà posizionato nel menu Sistema -> Amministrazione -> Simple Backup Config (Restore per ripristinare i dati archiviati)

Ah, il mio misero backup.sh... sigh!

Gestione degli errori in bash scripting

In fase di debug può essere utile tappezzare l'output di messaggi che ci aiutino a comprendere il comportamento del nostro programma, anche in bash è possibile farlo in maniera semplice ed elegante. Un altro esempio di utilizzo si ha quando si preferisce sostituire i messaggi di default di sistema con dei propri (per nascondere i messaggi useremo il classico 2>/dev/null).
L'idea che sta alla base è che in linux ogni programma restituisce un intero che indica lo stato in chiusura. Generalmente è 0 se non si sono verificati degli errori.
Sfruttiamo allora questa caratteristica per il nostro scopo.
a) usare l'operatore OR ||
$ cat /etc/shadow 2>/dev/null || echo "Devi essere root per eseguire il programma (su + INVIO e password di root)" In questo esempio proviamo ad accedere ad un file senza i permessi di root. Cat, senza l'indirizzamento 2>/dev/null ci stamperebbe il suo messaggio di errore, noi invece lo abbiamo sostituito con uno più adatto alle no…

Vodafone "recupera" i costi di ricarica... facciamo chiarezza

EDIT: 21 Marzo 2007, il servizio sembra non essere disattivabile
22 Marzo 2007, dopo l'esposto all'AGCOM Vodafone risponde (leggi sotto)

Oggi mi è arrivata questa interessante mail. All'inizio mi sono un pò allarmato... è sempre bello pepare una mattinata di studio con delle notizie shock. Poi però mi sono dato alla ricerca di informazioni e così facciamo un pò di chiarezza sul caso.

Questa è la mail:
Ecco come Vodafone "recupera" i costi di ricarica, dopo che il decreto Bersani del Governo li ha eliminati.


Dal 6 marzo 2007 Vodafone ha introdotto due nuove "funzionalità" ricezione SMS vocale e notifica ricezione vocale, una sorta di segreteria telefonica (al costo di 0,29
Euro a chiamata) attivato automaticamente a tutti coloro che non usano la segreteria telefonica (99% degli utenti).


Quando chiamerete un/a vostro/a amico/a e il telefono è spento sentirete una
voce che vi dirotterà al nuovo servizio. Per disabilitare questa funzione è
necessario:
- essere regist…

Gestire facilmente più interfacce di rete (windows)

Oggi vi propongo un piccolo programma, molto utile, soprattutto per chi utilizza il proprio notebook. Se siete abituati a spostarvi con il vostro fedele amico e utilizzare diverse reti (casa, università, ufficio) con diverse impostazioni e magari diverse interfacce (ethernet, wireless) la cosa può diventare ardua.
Connessioni di rete di Windows non è sicuramente il tool più versatile per gestire queste situazioni.
Davide ha scovato per noi, NetSelector, programmino sotto licenza GPL, che permette appunto di gestire e salvare tutte queste impostazioni in comodi profili.
Altre caratteristiche interessanti sono i plugin disponibili sia per Firefox che per IE e la possibilità di selezionare le stampanti predefinite e avviare script al momento della connessione.

Convertire i flv (YouTube, Google video) in avi... e molto altro con Mediacoder

Esistono molti grabber dei video disponibili nelle varie piattoforme di YouTube, Google video, Metacafe... io personalmente vi consiglio un'estensione per Firefox, VideoDownloader (scaricabile qui).
Tutte questi software hanno di scaricare i video in formato flv (flash video). Io lo trovo molto scomodo e preferisco avere i video in avi. Mediacoder è il migliore che abbia trovato anche se è disponibile solo per Windows.


MediaCoder viene rilasciato sotto licenza GPL, è quindi Libero e Gratuito. Mette insieme moltissimi codec audio/video e ne permetta la transcodifica tra i diversi formati supportati. Per i più smaliziati è possibile regolare tutte le impostazioni dei codec ed avere il massimo controllo della conversione.
E' espandibile con plug-in ed estensioni.

Formati supportati:
* MP3, Vorbis, AAC, AAC+, AAC+v2, MusePack, Speex, AMR, WMA, RealAudio, mp3PRO
* FLAC, WavPack, Monkey's Audio, OptimFrog, AAC Lossless, WMA Lossless* WAV/PCM
* H.264, Xvid, MPEG 1/2/4, Theora, Fla…

Copiare direttamente il codice HTML selezionato

L'estensione di oggi è una chicca per tutti i blogger e sviluppatori. Spesso è utile copiare il testo delle pagine html per citazioni od altro, ma sfortunatamente certe piattaforme (tra cui blogger) copiano anche lo stile della pagina. Altre volte è comodo poter copiare il codice html che si seleziona senza andarselo a cercare nel sorgente della pagina.
Un'estensione utile per Firefox che permette di copiare "come testo semplice" o "codice html" è Extended Copy Menureperibile a questo indirizzo https://addons.mozilla.org/firefox/4554/

Scaricare video gratis per telefonini (3gp) con Google

Google è uno struemnto molto potente di ricerca e ci permette di affinare le nostre query con piccoli accorgimenti. Oggi vogliamo cercare tutte le directory aperte della rete contenenti video 3gp (il formato video più usato per i cellulari, almeno per il momento).

Ricerca 1
Nel primo caso andiamo a cercare tutte le pagine tralasciando le estensioni che abbiamo come titolo di pagina "index of", questo perchè la maggior parte dei server web quando visualizza il contenuto di una cartella mette questo titolo alla pagina. La stringa da copiare nel campo di ricerca di Google è quindi quella che segue

-inurl:htm -inurl:html -inurl:asp intitle:"index of" 3gpRicerca 2
Cerchiamo ora tutti i file di tipo 3gp e che contengano nell'indirizzo la parola 3gp.
filetype:3gp inurl:3gp
Conclusioni
Ovvio che queste query di ricerca possono essere affinate, per esempio per cercare video sul milan basterà un
filetype:3gp inurl:3gp milan

via www.tech-recipes.com

Comandi linux in perl e viceversa

Oggi vi segnalo un piccolo accorgimento per far girare uno script perl all'interno di uno script bash e viceversa. Il funzionamento è analogo nelle due situazioni. Il trucco sta nel mettere la stringa di comando tra apici inversicon la combinazione di tasti ALT GR + apice .
Esempio 1: si voglia lanciare all'interno di uno script bash, lo script in perl prova.pl
#!/bin/bash
perl_output = './prova.pl'
echo $perl_output

Esempio 2: si voglia lanciare all'interno di uno script perl il comando ls:
#!/usr/bin/perl

$tmp = 'ls';
print $tmp;

LastTab l'alt+tab di firefox

Sia in ambiente linux che windows per passare facilmente da un'applicazione all'altra si può usare la scorciatoia alt+tab. In firefox la stessa funzionalità si ottiene dalla combinazione di tasti ctrl+tab.

Se volete aggiungere funzioni di anteprima e un elenco dei titoli dei tab al vostro browser preferito l'estensione che fa per voi è LastTab


fonte lifehacker

Integrare AdSense nei post di Blogger beta

Oggi vi scrivo un semplice work-around per integrare gli annunci di Google AdSense nei post della piattaforma Blogger. Non si tratta della nuova funzionalità integrata sulle colonne del layout, ma un semplice tip per far comparire o all'inizio o alla fine del vostro post un annuncio pubblicitario.
Andate in AdSense (fate il login) -> Impostazioni AdSense -> AdSense per i contenuti -> Scegliete quello che vi interessa, formato e colori e copiatevi il codice generato.Ora andate nel pannello di Blogger e andate in Modello -> Modifica HTML e abilitate Espandi i modelli widget.Cercate < class="'post-body'"> e copiateci di seguito il codice di AdSense.Cancellate dal codice appena copiato i tag di commento < !-- e -- > e salvate il tutto Bene ora avrete alla fine del post il vostro annuncio.

Rendere i propri script più portabili con #!/usr/bin/env come shebang

Questo è un semplice accorgimento per rendere più portabile i vostri script per la shell di linux. Solitamente per iniziare uno script si usa una shebang, cioè un paio di caratteri che richiedono al sistema di interpretare il file come uno script da leggere con il programma del percorso che segue. Solitamente si ha una cosa del genere:

#!/bin/bash
o
#!/usr/bin/perl

Questo funziona nella maggior parte dei casi ma potrebbe anche accadere che l'interprete non sia installato in quel percorso specificato nella prima riga. Se si vuole rendere lo script più portabile in questo senso ci si può servire del comando /usr/bin/env (a patto che lo si disponga) che permette di eseguire un programma in un environment modificato. Basta quindi sostituire alla prima riga dell'esempio

#!/usr/bin/env bash

Usare XP senza mouse

E se il mouse non dà segni di vita?

Se il mouse non dà segni di vita è veramente proibitivo andare via solo di tab e freccette sopratutto nelle interfacce grafiche più complicate. C'è una scorciatoia di tasti per muovere il mouse che fa al caso nostro:
tenete premuti assieme SHIFT e ALT e poi Bloc Num. Si aprirà il Controllo Puntatore


Diamo l'ok ed ora aiutandoci con le frecce del tastierino numerico possiamo muovere il puntatore. Per ritornare nella modalità normale di puntamento premere di nuovo il Bloc Num.

kill e xkill per sbloccare il pinguino

Può capitare che un'applicazione blocchi il sistema e che non si riesca a chiuderla... se foste un utente win ctrl+alt+canc sarebbe una soluzione solo precedente al pulsante dell'alimentazione (o alla spina)... Per un Linux user invece viene incontro il comando kill.

caso: Interfaccia Grafica (GUI)
Se una finestra vi si blocca, potete aprire un terminale e usare il comando xkill, comparirà un'icona con un teschio (brr...) e potrete eliminare il processo impazzito. Se non dovesse funzionare meglio passare a una shell e leggere il caso seguente.

caso: Interfaccia Testuale (CLI)
Se vi si blocca un programma da shell provate con la combinazione ctrl+c. Se non riuscite ancora provate a fare il login da un altro terminale... linux nasce per la multiutenza ed è possibile utilizzare un altro terminale per iniziare una nuova sessione di lavoro: usate la combinazione ctrl+alt+F1 (F2/F3) per passare alla console tty1(2/3). A questo punto dovete rintracciare qual è il processo che sta b…

Aprire pagine HTML in un'applicazione java

Con questo codice base è possibile caricare in una finestra il contenuto di una pagina HTML. La cosa è molto utile se per esempio la nostra guida in linea è in questo formato oppure se vogliamo che l'utente apra una pagina in particolare. Costruiamoci quindi un oggetto fatto da noi che chiameremo hyperlink e che potrà essere riadattato alle nostre esigenze. Per leggere le API relative agli oggetti del linguaggio usati andate sul sito della SUN e cercate JEditorPane!
import javax.swing.*;
import javax.swing.event.*; import java.io.*;
publicclass hyperlink extendsJFrame{
publicstaticvoid main (String arg[]throwsException){ new hyperlink("http://niubbo.blogspot.com"); //nel metodo main lanciamo semplicemente un costruttore
}
/** * @param url link della pagina che vogliamo aprire
*/ public hyperlink(String url){
JEditorPane pane = newJEditorPane(url); //componente di testo per editare vari contenuti tra cui HTML pane.setEditable(false); //noi non vogliamo editare, vogliamo mostrare la…

Mini Guida a Java ME [Esempio 1]

Dopo aver letto la miniguida sempre disponibile in questo blog ecco un breve esempio che spero possa essere illuminante rispetto la costruzione di comandi e uso dell'interfaccia grafica dell'applicazione

Obiettivo dell'esempio: illustrare la costruzione di comandi nell'applicazione e l'uso dell'interfaccia utente.
Scopo dell'applicazione: creare una sorta di "intelligenza molto artificiale". L'applicazione risponderà in maniera casuale alle domande dell'utente.
Per costruire l'applicazione useremo un'array di stringhe per le risposte, useremo dalla classe java.util la classe Random() e useremo degli oggetti Command per gestire i comandi utente. Vediamo il codice commentato per farci un'idea.
/** * AI.java midlet di prova * @author Giuseppe Caliendo * @version 1.2 */ import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import java.util.*; //La classe che andiamo a scrivere implementerà CommandListener per poter …

Script backup.sh per linux

Ecco un piccolo script che può sempre tornare utile per imparare un pò di script bash e per salvare i propri file in comodi archivi. Ovvio che potete modificarlo a vostro piacimento
#!/bin/bash
########################################################
# Script per il backup delle mie configurazioni e files
#
# nb: è necessario essere loggato come root
# v.1.1
########################################################

echo ""
echo "#######################################"
echo "# INIZIALIZZAZIONI"
echo "#######################################"

#directory home dell'utente
HOMEDIR=/home/beppe
#directory dove copiare i file del tipo backup_2006.05.31
BACKUPDIR=/home/beppe/backups/backup_$(date +%Y.%m.%d)

#verifico di avere i privilegi di root
if [ "$(id -u)" != "0" ]; then
echo "$USER Devi avere i privilegi di root per eseguire lo script!"
echo
exit 0
else
echo "Stai lavorando come root, bene!"
fi

echo
echo &…

Mini Guida a Java ME

Java Micro Edition è sicuramente uno degli strumenti più potenti per la scittura di applicazioni per piccoli elettrodomestici, cellulari e PDA, in questa mini guida vedremo gli aspetti fondamentali della tecnologia e del linguaggio

Introduzione
Questa è una mini guida dedicata a chi ha già esperienza di programmazione in Java e che voglia sapere come è strutturata la piattaforma JavaME. Non troverete codice esemplificativo e applicazioni intere (che potrete comunque trovare nel sito) ma semplicemente una panoramica della tecnologia e della gestione dei package, dell'interfaccia utente e dello storage delle informazioni.
Una miniguida semplice e da leggere tutta d'un fiato.
Giuseppe Caliendo [capitanfuturo]

I. Introduzione alla tecnologia
La piattaforma J2ME è stata annunciata nel giugno del 1999 al JavaOne Developer Conference, non è quindi recentissima e ripropone gli stessi principi della versione madre SE riadattandoli a dispositivi meno potenti dei personal computer. L'…

Tabelle ASCII

La sigla 'ASCII' sta per: 'American Standard Code for Information Interchange'. E' una tabella per mappare attraverso codici numerici cioè stringhe di bit usati nella rappresentazione interna del computer alcuni caratteri alfanumerici e caratteri speciali che indicano azioni comuni all'interno del calcolatore. Ogni carattere è quindi codificato con una stringa di 7 bit nel caso standard e 8 nell'extended. Per

esempio il carattere '@' e' rappresentato dal codice ASCII '64', 'Y' dall''89', '+' dal '43', ecc. Si tratta di un sistema di codifica dei caratteri a 7 bit, proposto dall'ingegnere dell'IBM Bob Bemer nel 1961 per le comunicazioni tra telescriventi, e successivamente accettato come standard dall'ISO (ISO 646). Esiste anche una versione estesa a 8 bit con il doppio di caratteri e che hanno aggiunto vocali accentate, simboli semigrafici e altri simboli di uso meno comune. Le extended ASC…

JToDoMe: todo list per cellulari

Introduzione
JToDoMe è una piccola applicazione per cellulari scritta in Java ME da me per la piattaforme dello standard MIDP 1.0 o successiva. In teoria dovrebbe funzionare sulla maggior parte dei dispositivi mobili. L'idea è nata per cimentarmi un pò nella programmazione e per testare il portale sourceforge che ospita moltissimi progetti open source. Open source, infatti; questa è stata la scelta di licenza: il programma è scaricabile gratuitamente e fornito del codice sorgente (commenti in italiano) per poter essere un piccolo esempio.

Descrizione
JToDoMe è una modlet per gestire le cose da fare (todo) sul proprio cellulare. Ogni cosa da fare ha una descizione, una priorità, uno status e un'etichetta

Installazione
Basta caricare l'applicazione con un cavo dati o con infrarossi, bluetooth ecc. non è prevista l'installazione via gprs o gsm.

Per bug o richiesta nuove funzioni scrivetemi a capitanfuturo [at] users.sourceforge [dot] net

Per scaricare il programma andate qu…

Nascondere utenti al login (win XP)

Vorresti nascondere qualche utente nella finestra standard di login di XP... bene ecco come fare.
Premetto che gli utenti nascosti potranno fare il login premendo ctrl-alt-canc e aprire la standard w2k/NT style logon box.

Aprite con regedit (start->esegui->regedit) il registro e cercate:
HKEY_LOCAL_MACHINE\software\microsoft\windows nt\CurrentVersion\Winlogon\SpecialAccounts\UserList
Per ogni utente che volete nascondere create un nuovo valore DWORD con nome lo username desiderato e valore 0x00000000 (0). Riavviate per rendere effettivi i cambiamenti

PHP: la sua storia

PHP/FI (1995-1997)
PHP proviene da un progetto più vecchio chiamato PHP/FI creato da Rasmus Lerdorf nel 1995. Inizialmente il progetto era semplicemente un insieme di script Perl per tenere traccia degli accessi sul suo server Web, i 'Personal Home Page Tools'. Quando nacque la necessità di maggiore funzionalità rasmus riscrisse i suoi tools in C. Questo rese possibile la comunicazione con i database e la capacità per gli utenti di poter implementare delle semplici applicazioni dinamiche Web. Rasmus decise quindi di aprire il codice e renderlo pubblico. Questa versione è nota con il nome di PHP/FI, Personal Home Page / Forms Interpreter includeva già alcune delle

funzionalità del php attuale (v.5). Gestiva le variabili come il Perl e supportava la sintassi dell'HTML. Dal Novembre 1997, PHP/FI 2.0, la seconda implementazione scritta in C divenne un cult, circa 50,000 domini nella rete (1% dell'epoca) avevano installato il suo programma. Nonostante ci fossero molti utent…

Splitter.java classe per dividere file

Potrebbe tornare utile poter dividere file troppo grandi in parti piccole, creare cioè un programma che faccia lo splitting.
Split: Utilizziamo un file input stream bufferizzato per poter leggere interi blocchi del file. Dato un file di una certa dimensione per conoscere il numero di blocchi che ci serviranno basta prendere la parte alta del quoziente tra le dimensioni. Creiamo infine un array per contenere un intero blocco di byte del file. Infine con un ciclo for scomponiamo il file in file più piccoli chiamati nomefile.
Join: capito come fare la fase di split, il join risulta molto più semplice. Conoscendo il numero di blocchi basta un ciclo for per ricomporre il file iniziale.
Ecco il codice sorgente:
/**
* Splitter.java * classe che splitta e fa il join
* @author Giuseppe Caliendo * @version 1.0
*/
import java.io.*; import java.util.*;
publicclass Splitter{
/** * Costruttore della classe Splitter.java
*/ public Splitter(){} /**
* splitta il file in file di dimension bytes * @param Strin…

Torre di Hanoi

Questo problema è sempre molto usato all'¢inizio di un corso d'informatica perchè mette in risalto l'utilità dello studio della complessità di un algoritmo, introduce il metodo ricorsivo per la risoluzione di un problema e in più è anche un bel esercizio mentale.. se ne vuoi sapere di più continua a leggere

Il problema delle Torri di Hanoi è stato posto dal matematico francese Edouard Lucas nel 1883 e deriva da una antica leggenda indiana che recita così: «nel grande tempio di Brahma a Benares, su di un piatto di ottone, sotto la cupola che segna il centro del mondo, si trovano 64 dischi d'oro puro che i monaci spostano uno alla volta infilandoli in un ago di diamanti, seguendo l'immutabile legge di Brahma: nessun disco può essere posato su un altro più piccolo. All'inizio del mondo tutti i 64 dischi erano infilati in un ago e formavano la Torre di Brahma. Il processo di spostamento dei dischi da un ago all'altro è tuttora in corso. Quando l'ultimo disc…

Brain.A il primo virus informatico (1986)

Brain.A è il primo virus informatico, un semplice programma di soli 512 byte. Brain.A è catalogabile come un virus di 'boot sector' che infettava i primi settori, i primi 512 byte del disco fisso e si trasmetteva via floppy disk (a suo tempo delle dimensioni di 5,25'' e 700Kb di campienza, quelle mattonelle nere e flessibili per i più nostalgici). Nonostante non fosse così pericoloso fu un precedente per tutto l'evolversi di questi programmi atti a colpire i sistemi informatici. Brain.A e gli altri virus 'boot sector' si sono 'estinti' da molto tempo ma da allora come ben sappiamo i virus informatici si sono evoluti e questa categoria di virus rimase in circolazione dal 1986 al 1995. I successori furono i Macro virus dedicati all'os di Gates (quello delle finestre per intenderci) fino alle mail virus etc. etc...

Swing: migliorare le prestazioni di refresh grafico

Le applicazioni Java possono sembrare meno fluide di quelle scritte in altri linguaggi. Ecco un trucco e una breve spiegazione del motivo ed un approccio diretto del problema.
Questo trucco è tratto dal Journal dello IEEE student branch di Padova (articolo di Dario Santamaria) che potete visitare a questo sito.La situazione che solitamente si presenta quando si hanno problemi di refreh grafico è che l'aggiornamento grafico viene fatto successivamente all'esecuzione di un metodo o parte di codice pesante. Questo succede perchè la grafica Swing non è Thread-Safe cioè lo stesso thread che si occupa dei metodi scritti da noi gestisce anche l'aggiornamento grafico. La soluzione è quindi

quella di separare in due thread la parte logica da quella grafica e forzare la priorità dei thread. Procederemo in questa maniera:

publicvoid actionPerformed(ActionEvent e){
//1.operazione pesante
//2.aggiornamento grafico }
in dettaglio:
publicvoid actionPerformed(ActionEvent e){
Runnable longTask =…