Archivio della Categoria 'Programmazione'

Adobe porta AIR verso Linux

Adobe AIRAdobe ha annunciato il rilascio di AIR in versione alpha per la piattaforma Linux. Insieme alla prima release alpha di AIR, prelevabile presso gli Adobe Labs, è presente la nuova release, sempre alpha, di Adobe Flex builder per Linux.

Adobe tiene a precisare che questa è una versione ancora instabile e parzialmente incompleta, ma grazie a questo prodotto Adobe raggiunge la Linux Foundation con l'intenzione di aiutare lo sviluppo delle Rich Internet Applications per la piattaforma Linux.

Entrambi i kit di sviluppo sono disponibili gratis sul sito Adobe Labs.

[Fonte Adobe Labs]

UPDATE

Sembra proprio che Adobe non abbia intenzione di smettere di fare discriminazioni tra gli utenti: gli utenti Windows e Mac hanno da sempre il software a loro dedicato e gli utenti Linux sono da sempre rimasti indietro. Adesso, oltre a questa differenza, si aggiunge quella tra utenti Linux x86 e utenti Linux di altre architetture: Adobe AIR è disponibile solo per i primi ed è assolutamente impossibile installarlo su una macchina con architettura x86_64 (nemmeno usando l'emulazione 32 bit presente in Linux). Peccato! :(

Rilasciato l’SDK di Android

AndroidCome promesso durante la presentazione di Android, nella giornata di ieri è stato rilasciato il kit di sviluppo per la nuova piattaforma di telefonia targata Google.

Grazie all'SDK, disponibile per Linux, Mac OS X e Windows, è già possibile sviluppare applicazioni che andranno ad integrarsi sui primi telefoni che adotteranno Android come sistema operativo. Per incentivare lo sviluppo, Google ha messo in palio 50 premi da 25.000 $ per le 50 migliori applicazioni che verranno proposte dal 2 gennaio al 3 marzo 2008. Queste 50 applicazioni concorreranno poi all'assegnazione di 10 premi da 250.000 $ e di 10 premi da 100.000 $ nella seconda parte del 2008 quando usciranno i primi dispositivi basati su Android. Per maggiori informazioni sul challenge, cliccate sul logo qui sotto.

Android Developer Challenge

UPDATE: sembra che purtroppo il concorso non è aperto ai residenti di Italia e Quebec a causa di restrizioni locali. [Fonte Pollycock]

Microsoft vs Linux: la guerra dei brevetti

Qualche giorno fa, in un’intervista rilasciata alla rivista Fortune, un responsabile di Microsoft, Brad Smith, ha dichiarato che il software Open Source, ed in particolare Linux, violano almeno 235 brevetti registrati da microsoft, e che questi software funzionano bene appunto perché copiati da microsoft; ecco la lista delle presunte violazioni:

  • 64 dal kernel linux
  • 65 da Xorg
  • 45 invece i brevetti violati da OpenOffice
  • i restanti 83 sarebbero invece sparsi tra le più famose applicazioni open source

Non si è fatta attendere la risposta di Linus Torvalds (il padre di linux), che sostiene che è più probabile che sia la stessa Microsoft ad infrangere un gran numero di brevetti registrati a suo tempo da IBM e che sono decaduti col tempo. Inoltre, ha aggiunto Linus, è inutile che Microsoft giochi sul piano psicologico tentando di terrorizzare la gente, sarebbe più costruttivo indicare esattamente quali sono i brevetti non rispettati in modo che essi possano essere riveduti e sostituiti da altro codice non registrato.

Come riporta anche The Inquirer, non è affatto infrequente che i software si infrangano brevetti a vicenda e che l'intero affare è alquanto "noioso". E quando un avvocato dice di qualcosa che è noiosa potete stare sicuri che in breve tempo smetterà di occuparsene è quindi sostanzialmente inutile cercare di diffamare linux accusandolo di violazioni di brevetti se queste non sono state verificate ed accertate da un tribunale.

E secondo voi? La microsoft è talmente terrorizzata dal mondo OpenSource e da linux da spargere FUD a tutt'andare per tentare una estrema difesa o il loro comportamento è giusto ed è la comunità, di linux in primis, a doversi dare una regolata e controllare meglio i propri prodotti?

O ancora è una mossa a tenaglia molto più ampia e ben studiata da parte di microsoft per "incatenare" sotto il suo giogo il software libero, ed in particolare linux, prima prendendo accordi con Novell e poi obbligando a non rilasciare più i software sotto licenza GPL a causa delle violazioni?

[ Fonti: OSSblog.it ; The Inquirer ]

Wiki Process

Oggi abbiamo provato Wiki Process, programma sviluppato da Guido Arata alias ÐÊ£F‡Ñ§ che abbiamo anche intervistato per voi.

Wiki Process - Main Wikiprocess è un programma che si associa benissimo col problema affrontato qualche giorno fa nell'articolo su Tasklist: se abbiamo dei processi che non conosciamo o che ci sembrano di dubbia origine ci sono poche soluzioni: o li prendiamo singolarmente e li cerchiamo su google (o un sito specializzato) o usiamo un programma che analizza automaticamente i processi in esecuzione e ci comunica quali sono maligni e quali no confrontandoli con un database.

Wiki Process fa esattamente questo: legge i processi in esecuzione sul nostro pc e li confronta con quelli del sito processlibrary.com. Ovviamente al primo avvio del programma la cosa non sarà immediata, infatti il programma dovrà scaricare tutte le descrizioni dei processi dal succitato sito. Descrizioni che saranno salvate nella cache del programma, in modo che il tempo di avvio del programma sia sempre il più breve possibile. Ma non è tutto qui, quando individuiamo un processo che non vogliamo in esecuzione, possiamo terminarlo immediatamente, cliccando col tasto destro e scegliendo "Termina processo".

Wiki Process - Singola RicercaE' possibile fare ricerche singole anche di programmi non presenti sul computer. Il database di processlibrary ovviamente non è infinito, ed è possibile che alcune voci siano assenti, per questo potete, se volete, cercare da voi il processo che vi interessa, quindi editare la descrizione, che verrà salvata nel database locale ed utilizzata in futuro.

E' stato richiesto da alcuni utenti una localizzazione in italiano del database dei processi, richiesta che non potrà essere realizzata, in quanto il programma usa appunto il database di processlibrary che è in inglese e la mole di dati da tradurre sarebbe immensa.

Wiki Process è un programma open source, rilasciato sotto licenza GNU/GPL, il programma è scaricabile da QUI, mentre i sorgenti da QUI.

Qui di seguito qualche domanda che abbiamo fatto a Guido Arata:

Com'è nata l'idea di Wiki Process?
Il software Wiki Process è nato quando io stesso mi sono trovato un po' in difficoltà nel momento in cui il PC dava problemi, e dovendo controllare la bontà dei molti eseguibili in esecuzione, dovevo cercarli con Google... insomma, ho pensato di creare un software che facesse tutto più o meno in automatico

Ed hai poi deciso di renderlo pubblico.
Certo, ho subito pensato sarebbe stato utile a molte persone, e siccome cerco di rendermi il più possibile utile alla comunità di Internet ho pensato di iniziare lo sviluppo.

Il programma ora è completo o continuerai a svilupparlo?
Conto di migliorarlo, portarlo avanti, anche perchè posso dire orgogliosamente che ha ricevuto ottimi commenti e pare dunque desti interesse.

Con che Linguaggio è stato scritto?
È stato scritto in Visual Basic 6, con cui programmo ormai da 4-5 anni.

Progetti per il futuro?
Certo, Wiki Process è nato in un momento di stallo di un altro mio progetto, più imponente: lo sviluppo di un client MSN. E' un progetto importante che sto portando avanti da molto tempo insieme ad un amico: Predator. Tutto procede più o meno bene, tanto che a breve ne rilasceremo la prima alpha.

Thread contro Thread

Il titolo è decisamente da cineteca a rievocare un famoso film del 1979. A differenza del film, qui non parliamo di nessuna causa legale, di nessun abbandono e non ci sono affidamenti di cui parlare. Parliamo di due modo diversi di realizzare lo stesso concetto: il Thread.

Il Thread è una parte atomica di esecuzione di una elaborazione. Un Processo, che rappresenta l'istanza in esecuzione di un programma e che comprende oltre al codice del programma stesso anche i dati che sta elaborando, può essere composto da più Thread che possono eseguire in modo autonomo e concorrente condividendo gli stessi dati e lavorando per ottenere lo scopo comune dell'intero processo. I moderni sistemi operativi sono ormai multi-task da parecchio tempo: questo significa che è possibile eseguire processi diversi in parallelo (poi, in realtà questo parallelismo può essere reale o virtuale a seconda dell'architettura hardware della macchina che esegue). Molti sistemi operativi, però, sono anche multi-threading: permettono ad un processo di dividersi in tante sottoparti autonome che lavorano in parallelo per raggiungere il risultato.

Attualmente sono presenti due filosofie diverse di concepire i Thread: la prima è quella di Microsoft con i Windows Thread, la seconda è quella nata dalla comunità *NIX con i POSIX Thread detti anche PThread.

Sul blog e sul forum di Intel sono presenti due articoli in cui si parla a favore di uno o dell'altro tipo di Thread.

L'articolo sul blog si esprime a favore dei Thread di Windows, affermando che questi sono più comodi da usare in quanto è presente un solo tipo di dato per Thread, Mutex e segnali e dunque si può usare una sola funzione per creare un blocco su un thread che deve terminare, un mutex che è bloccato o un evento che deve essere segnalato. Inoltre i segnali sono persistenti e permettono dunque di essere rilevati anche con controlli effettuati dopo che l'evento sia stato segnalato. Infine è presente la funzione WaitForMultipleObjects che permette di bloccare un Thread in attesa che terminino una serie di Thread, vengano sbloccati una serie di Mutex e arrivi un segnale per una serie di eventi, il tutto invocando una sola funzione. Tutto questo, secondo l'autore dell'articolo, porta ad una maggior eleganza di programmazione.

L'articolo presente sul forum, invece, considera soprattutto questi punti uno svantaggio dell'implementazione dei Win Thread, a favore dunque dell'uso dei PThread. L'uso di tipi di dati diversi per le tre entità migliora la gestione e rende più facile la lettura di codice altrui. Inoltre è più facile verificare il codice in quanto sono necessarie funzioni diverse per attendere la terminazione di un Thread, lo sblocco di un Mutex o la segnalazione di un evento, evitando dunque errori o confusione. Infine, i segnali persistenti possono essere un peso per il programmatore che deve ricordarsi di resettare lo stato del segnale quando sa che potrebbe servire per un blocco successivo, mentre i segnali POSIX vengono catturati dai Thread in ascolto oppure scartati, evitando di sbloccare Thread che invece dovrebbero bloccarsi in attesa della prossima segnalazione.

Personalmente ho usato entrambi i tipi di Thread e devo dire che mi trovo a condividere pienamente le argomentazioni a favore della versione POSIX. Il dover usare tre tipi di dato diverso non causa nessun problema in quanto i tre oggetti sono concettualmente diversi e dunque devono avere significato diverso anche all'interno del codice, avere funzioni diverse e non avere una funzione che permette di attendere un insieme misto di Thread, Mutex e segnali non appesantisce la programmazione ma, invece, rende più facile e veloce il debug e la lettura di codice altrui. Infine l'implementazione POSIX permette la portabilità del codice in quanto i PThread sono nati per gli ambienti *NIX e Mac OS, ma è stato creato un port per ambiente Windows che consiste in una DLL da linkare nel proprio progetto.

Mono va a braccetto con VB

MonoIl progetto Mono è un'alternativa open source all'ambiente di sviluppo .NET della Microsoft. Il progetto, già maturo da parecchio tempo per quanto riguarda il linguaggio C#, ha raggiunto in questi giorni la versione 1.2.3 che aggiunge il pieno supporto al linguaggio Visual Basic .NET, anche se gli sviluppatori avvisano che il compilatore è adesso completo nelle sue funzionalità, ma che probabilmente contiene ancora dei bug che devono essere scoperti. Questo aggiunge un altro mattone all'interoperabilità tra Windows (ambiente nativo di Visual Studio .NET) e Linux. Oltre a poter dunque eseguire e compilare progetti sviluppati in Visual Studio .NET con linguaggio Visual Basic, sarà possibile eseguire applicazioni ASP.NET sviluppate in VB anche su server Unix/Linux. Il supporto, valido sia per il framework .NET 1.0 sia per quello 2.0, non è comunque derivato dall'accordo tra Microsoft e Novell, ma da lunghi anni di sviluppo dietro al progetto.

Gli sviluppatori comunicano che le 1933 API di .NET maggiormente usate sono adesso completamente supportate, ma ne mancano circa altre sei mila. Ed alcune di queste hanno avuto bisogno di una pronta correzione di alcuni bug, che sono stati corretti nella revisione 1.2.3.1 che è stata rilasciata da circa 2 settimane.

Per maggiori informazioni, vi rimandiamo alle release notes della versione 1.2.3 e 1.2.3.1.

[Fonte Mono Project News]

Linus Torvalds patcha Gnome

Qualche tempo fa Linus Torvalds (il padre di linux) aveva invitato tutti gli utilizzatori di Linux a passare a KDE, accusando Gnome di essere semplice, troppo semplice, fin troppo a prova di idiota:

"Se pensate che gli utenti siano degli idioti, solo gli idioti utilizzeranno il vostro software. Io non uso GNOME perché, nel suo sforzarsi di essere semplice, ha ormai raggiunto da tempo il punto in cui, semplicemente, non fa ciò di cui ho bisogno"

Ora, Il buon Linus, ha deciso di prendere di petto il problema mettendo mano personalmente al codice di Gnome e rilasciando delle patch.

Eccone la lista, scritta dallo stesso Torvalds sulla Desktop_architects mailing list:

src/metacity-2.17.5/0001-Clean-up-double-middle-right-click-frame-action.patch
src/metacity-2.17.5/0002-Add-lower-and-menu-to-title-bar-action-events.patch
src/metacity-2.17.5/0003-Add-the-prefs.c-variables-for-middle-and-right-click-actions.patch
src/metacity-2.17.5/0004-Allow-actually-changing-preferences-for-middle-and-right-click.patch
src/metacity-2.17.5/0005-Fix-some-obvious-and-harmless-cut-and-paste-errors.patch
src/control-center-2.17.5/0001-Add-support-for-new-titlebar-actions.patch
src/control-center-2.17.5/0002-gnome-window-properties-learn-about-mouse-actions.patch

Resta da vedere se gli sviluppatori di Gnome decideranno di accettare le patch di Linus, ma sinceramente credo che non rifiuteranno l'aiuto da un personaggio così importante e soprattutto influente sugli utilizzatori del pinguino...

IE 7 e i bug di IE 5

Stavo scrivendo una piccola web application in cui avevo la necessità di riempire un campo select con una lista di valori prelevati da un database e che dipendono dai valori che sono presenti in altri campi. Per rendere il tutto più semplice all'utente ho pensato di riempire la casella con una chiamata AJAX in modo da poter poi riempire la casella con la proprietà innerHTML, presente ormai in tutti i browser. Lavorando sotto Linux, durante lo sviluppo eseguo diverse prove usando Firefox, Opera o Konqueror.

Dopo aver terminato e testato la pagina con i tre browser, ho deciso di provarla anche con Internet Explorer 6.0 (installato tramite ies4linux e wine) e qui i primi problemi: dopo le operazioni che precedevano il riempimento (tutte che si concludevano perfettamente), la casella era completamente vuota, mancava anche la voce disattivata che avevo inserito staticamente nella casella.

More »

Un airbag per il tuo codice

Chi programma sa bene quanto è difficile molto spesso riprodurre una situazione di errore nel proprio codice, in modo da poterla analizzare.Da oggi ci viene in aiuto Airbag, un tool open source sviluppato dai laboratori di Google che permette di notificare allo sviluppatore i crash che avvengono nel loro programma, in modo da poterne scoprire i motivi. Inoltre Airbag riuscirà a riportare crash su una grande varietà di hardware diversi.

Airbag sarà, inoltre, integrato in Firefox 3.0, eliminando dunque l'estensione closed source Talkback.

Per il momento funziona in ambienti Windows e Mac, ma la versione Linux è in fase di lavorazione.

[Fonte Google Operating System]

Rilasciato l’SDK di LightScribe per Linux

LightScribe ha annunciato di aver rilasciato l'SDK per Linux in modo da poter permettere l'implementazione di tale tecnologia sulla piattaforma open.

LightScribe è una tecnologia che permette di incidere sul lato opposto a quello di registrazione dei cd delle scritte o dei disegni monocromatici usando lo stesso masterizzatore.

L'SDK è disponibile a questo indirizzo sotto forma di pacchetto RPM contenente il binario.

Il nostro consiglio: SCDB.info - le informazioni più aggiornate sugli autovelox di tutta Europa, pronte per il vostro navigatore!