Una soluzione per decifrare l'algoritmo RSA (2/2)
L’algoritmo RSA, basato sulle regole viste nel precedente articolo, non è sicuro da un punto di vista matematico-teorico, in quanto esiste la possibilità che tramite la conoscenza della chiave pubblica si possa decriptare un messaggio, ma l'enorme mole di calcoli e l'enorme dispendio in termini di tempo necessario per trovare la soluzione fa di questo un sistema ad alta affidabilità.
I ricercatori però affermano che utilizzando un dispositivo di semplice realizzazione per variare la corrente al... (continua)
Una nuova piattaforma comune per lo sviluppo in Natural e Java
Software AG ha presentato la nuova piattaforma
NaturalONE, che rappresenta un
sistema di sviluppo comune per i linguaggi Java e
Natural. Questa novità è una mossa strategica importante, compiuta dall’azienda per diffondere il proprio prodotto, visto che si basa essenzialmente sulla famosa piattaforma di sviluppo
Eclipse.
Natural è stato creato da Software AG negli anni ’70 e oramai è considerato un vero ambiente di sviluppo, evoluto nell’ambito del
4GL (fourth-generation programming language)....
(continua)
Vecchi scanner e porte parallele (1/6)
Qualche mese fa un mio amico mi ha regalato uno scanner, per la precisione un flatbed scanner di Primax, che gli aveva solo dato problemi nell'utilizzo: mancavano il cavo di alimentazione, l'alimentatore esterno, i cavi di connessione, i dischetti di installazione e i manuali; insomma si trattava di un anonimo scanner dal piano formato A4, pesante circa 2-3 Kg. Lo scanner è ben tenuto anche se impolverato, massiccio e pesante, anche se la marca Primax non l'avevo mai sentita nominare prima.
Da... (continua)
Una soluzione parallela per la moltiplicazione di matrici in Java (2/3)
Nel
precedente articolo abbiamo indicato l'utilizzo dei thread pool come una buona scelta per implementare la moltiplicazioni di matrici in parallelo. L'idea che è alla base di questo programma è quello di affidare a ogni thread del pool pezzi di matrici, esattamente di dimensioni
(n/2)x(n/2), su cui effettueremo le operazioni di
moltiplicazione e addizione, inoltre assumiamo per semplicità che
n sia una potenza di due.
Ad esempio, se dobbiamo effettuare un prodotto tra due matrici A e B e la...
(continua)
Rilevare globalmente gli eventi del mouse in C#
A volte, può essere necessario permettere all'applicazione che si sta sviluppando di rilevare gli eventi provenienti dal mouse o dalla tastiera anche quando quest'ultima viene eseguita in background; questo aspetto può essere importante se si desidera fare in modo che il programma cambi il suo comportamento a seconda delle azioni dell'utente.
Ad esempio, nei client di chat si è solito aggiungere un'indicazione sullo stato della sessione, nel caso in cui l'utente si allontani dalla postazione e... (continua)
Decompilare il codice dell'architettura ARM (1/2)
Il processo di
decompilazione consiste nel ricavare codice in linguaggi ad alto livello (per esempio C) a partire dalla sua rappresentazione binaria; viene tipicamente usato per l'analisi di virus e di malware in genere, ma anche nel campo della
violazione di brevetti software. L'
algoritmo in questione può spaziare da tecniche per monitorare sensori, a schemi di gestione dell'energia, interfacce grafiche e file system.
Come si può ben intuire, si tratta di un'
attività difficile e noiosa,...
(continua)
Programmare per Haiku
Da qualche mese è in circolazione la
versione alfa di Haiku, il sistema operativo che eredita BeOS e cerca di svilupparne le potenzialità, facendo rivivere quanto di buono si poteva già apprezzare ai tempi delle ultime versioni commerciali, una decina di anni fa, e aggiornandolo con gli sviluppi delle tecnologie che allora erano ancora poco evolute o del tutto assenti, come le reti senza fili o le memorie USB.
La versione attuale,
R1/alpha 1, è in circolazione dall'autunno 2009, e i primi...
(continua)
Cinque tool indispensabili per MySQL
Non si sa ancora quale sarà il destino di
MySQL:
Oracle sostiene che il database vivrà ancora, quindi basandosi su questa affermazione, è meglio continuare a tenere d'occhio alcuni prodotti per utilizzare al meglio uno dei database più usati e conosciuti al mondo.
Un
elenco di software è offerto da
James Gilmore. Il
tool più famoso e sicuramente il più usato è
phpMyAdmin, i cui ingredienti sono noti:
Apache Web Server,
PHP e ovviamente MySQL; si può fare tutto o quasi con essi, tanto che molti...
(continua)
Il markup che verrà
Il World Wide Web è un ambiente che ha dimostrato negli anni di evolversi in maniera repentina e con notevole velocità; sono molte le tipologie di attori che si sono affacciati sulla Rete e via via i servizi proposti si sono evoluti fino a modificare radicalmente la fruizione del Web stesso.
In questo panorama la
nuova revisione del linguaggio di markup, cuore di Internet, dovrebbe attualizzare
HTML per fornire agli sviluppatori gli strumenti adatti alla realizzazione di applicazioni web, in...
(continua)
Google PowerMeter per centralizzare la lettura dei consumi elettrici
Il braccio filantropico di
Big G colpisce ancora: stavolta all'insegna del
risparmio energetico. E' infatti a disposizione un nuovo strumento
software gratuito, per il monitoraggio dei consumi energetici domestici: si chiama
Google PowerMeter.
Con
PowerMeter ogni padrone di casa sarà in grado di leggere facilmente, sul proprio PC, i consumi effettuati da ogni apparecchio o elettrodomestico compatibile; potrà quindi verificare quale sia il reale consumo giornaliero; potrà di conseguenza...
(continua)
Energizer diffonde malware
E’ di recente pubblicazione da parte dell'
US-CERT che il software che accompagna il prodotto
Energizer DUO contiene un trojan, che consente a malintenzionati di poter avere il totale controllo di un PC Windows su cui è installato.
L’
Energizer DUO è in vendita sin dal 2007, e fu presentato con a corredo un programma sviluppato per mostrare lo stato della carica delle batterie. Quando il software è installato su un PC Windows, inserisce il file
Arucer.dll classificato come
Trojan.Arugizer, che...
(continua)
Modelli computazionali per predire i terremoti
La previsione dei terremoti non è una scienza esatta, visto che non si possono conoscere in anticipo e con una ragionevole certezza il luogo, l’istante in cui si verificherà un certo sisma e la relativa magnitudo. Al momento i margini di incertezza sono ancora notevoli, ma l’informatica, mediante l’impiego della programmazione parallela applicata ai supercomputer, può dare un valido aiuto al settore; in particolare nello sviluppo di modelli di simulazione, che potrebbero prevedere, con un buon... (continua)
Due linguaggi Domain-Specific
Per la programmazione in certi ambienti specifici, i linguaggi
general-purpose, come Java o C/C++, non si prestano bene ai concetti che si devono formulare. Per questo motivo, e per facilitare anche la scrittura del codice, nascono i
Domain-Specific Language, presenti un po' in tutti i campi dell'informatica e della ricerca scientifica.
Uno di questi è
Twist, la cui nuova release 2.0 si potrà scaricare a partire dal 31 marzo. Con questo linguaggio si possono
realizzare insiemi di test e...
(continua)
Introduzione a Facebook SDK per .NET
Lo sviluppo di una
libreria client per Facebook in ambiente .NET è giunto alla versione 3.01. L'attuale
Developer Toolkit è disponibile su Codeplex per il
download, sia come binari (385 KB), sia come sorgente (31.214 KB). E' inoltre presente abbondante
documentazione ed esempi.
Il progetto è stato inizialmente avviato da
Clarity Consulting, in collaborazione con il
Microsoft Visual Studio Express Team. Attualmente sono coinvolti nell'opera 5 coordinatori e 32 sviluppatori, ma proposte e...
(continua)
Java Deployment Tool per far girare le RIA su più piattaforme (2/2)
Dopo aver descritto le principali caratteristiche dell'oggetto
deployJava, l'
articolo di
Ed Ort ne riassume visualmente in una
tabella le funzioni pubbliche, che si possono peraltro pazientemente spulciare
dal vivo nella versione integrale cosiddetta
human readable, contenente un commento per ciascuna funzione che ne anticipa le caratteristiche salienti, ed eventualmente integrato da altre brevi linee esplicative all'interno del restante codice sorgente.
Seguono poi gli esempi relativi a casi...
(continua)
Gestire un database MySQL con chive
I maggiori servizi di hosting e moltissimi amministratori web preferiscono usare un front-end grafico per la gestione di database MySQL. In tal caso la scelta cade quasi sempre su
phpMyAdmin, una sorta di
must, un software fortunatissimo che però da un po' di mesi ha un serio e temibile concorrente.
Per stessa ammissione del team di sviluppo,
chive si propone come valida alternativa al più conosciuto
phpMyAdmin. Il primo impatto con il software è certamente positivo, anche dal punto di vista...
(continua)
Nuova documentazione su HTML dal W3C
Il
World Wide Web Consortium (W3C) ha recentemente pubblicato sette nuovi documenti tutti inerenti lo standard del
linguaggio di markup HTML. Tra tutti e sette spicca il documento intitolato
HTML 5 che contiene le specifiche della quinta revisione del linguaggio di marcatura nella condizione di
working draft; un documento invece incentrato sulla descrizione delle differenze tra HTML 4 e HTML 5 e intitolato
HTML5 differences from HTML4
ne propone un'analisi sul piano della sintassi, degli...
(continua)
Una panoramica sulle librerie POCO per il linguaggio C++
La programmazione basata sull'utilizzo del linguaggio C++ è sempre quella più diffusa e che maggiormente viene preferita dai programmatori quando si tratta di progettare e realizzare dispositivi elettronici perché fornisce gli strumenti adatti sia per lavorare a basso livello, quando cioè si ha bisogno di gestire gli interrupt e le comunicazioni I/O, sia per realizzare interfacce ad alto livello orientate agli oggetti.
Allo scopo di rendere più agevole e veloce la scrittura del codice in questo... (continua)
IV conferenza italiana sul software libero
I giorni 11 e 12 giugno 2010 si terrà la
Conferenza Italiana sul Software Libero, giunta alla sua quarta edizione. L'evento –
gratuito e aperto a tutti – quest'anno avrà luogo a Cagliari, giungendo in Sardegna dopo aver toccato nelle precedenti edizioni le città di Cosenza, Trento e Bologna.
L'appuntamento abbraccia a trecentosessanta gradi tutte le tematiche inerenti il
software libero, dagli aspetti tecnici a quelli giuridici ed economici, fino alle questioni sociali ed etiche; anche la...
(continua)
Sviluppare applicazioni con Windows MultiPoint Mouse SDK (5/6)
Con il
MultiPoint SDK si può
inibire una parte dello schermo ai vari mouse connessi, eccetto uno con privilegi di amministratore: quello che segue è un frammento del codice, ben più ampio, di una demo Microsoft, in cui mentre all'interno di una mappa geografica gli utenti possono cliccare su aree sensibili mediante i loro mouse, l'accesso al pannello di controllo dell'applicazione è a uso esclusivo di un utente autorizzato.
L'esempio, ridotto per ragioni di spazio, si compone di 3 classi:
... (continua)