14/05/2008

VMware Fusion

4efccdf503f099e8c24d3eae3da76fac.gifUn post dedicato a tutti gli utilizzatori di macchine virtuali sotto OS X.

VMware, noto produttore di strumenti di virtualizzazione (che parola difficile... diciamo che avete una computer con installato Mac OS X e avete bisogno di Windows, semplice, create una macchina virtuale dentro il vostro computer e ci installate sopra Windows) si è da qualche mese dedicato alla piattaforma Mac affiancandosi al prodotto già disponibile da Parallels, Parallels Desktop e di fatto per molti versi affermandosi come standard de facto.

c192e3ea3549c49a5f60c8ee0e3b1514.jpgVMware Fusion, questo il nome del software di virtualizzazione per piattaforma Mac OS X è da poco disponibile in beta nella versione 2.0, disponibile a tutti per ora, e aun costo di 79 euro al termine del periodo di beta testing. Chicca da parte di VMware: sarà un upgrade gratuito per gli utenti della versione 1, come me :)

Detto ciò volevo segnalare un procedimento da seguire quando si devono installare i VMware tools su una macchina virtuale con Windows Vista. Il setup chiederà di uccidere il processo "Spooler" per poter continuare. Cliccare su !Ignora" e proseguire altrimenti il setup si blocca irrimediabilmente.

Alla prossima.

14:15 Scritto da: sabinocalo in Mac | Link permanente | Commenti (0) | Segnala | Tag: vmware, fusion, windows, vista | OKNOtizie |  Facebook

22/04/2008

Programmare per il gusto di farlo...

fde43536e76b4fb88c7317a93b2dc2f7.gifProgrammare spesso è un mestiere. Molto più spesso è anche una passione. Per me è solo una passione. Diciamo che fin'ora non ho guadagnato niente programmando anche perchè la mia occupazione lavorativa richiede altre mansioni informatiche, ma da sempre è un'attività che mi affascina molto.

La motivazione principale che mi spinge a programmare è la possibilità di rendere concreto, ripetibile ed efficiente un procedimento logico, un ragionamento, un prodotto del mio cervello, insomma.

Eseguendo un mio programma ho la sensazione di usare un'estensione delle mie facoltà intellettive. Lo so, leggo molti libri di fantascienza e forse mi hanno fatto male :)) però è la realtà. Un argomento correlato che da sempre mi lascia riflettere sono le reti neurali (argomento che prima o poi approfondirò in maniera rigorosa) che in soldoni (ma molto soldoni:) sono pezzi di software in grado di evolversi in base agli stimoli esterni. E' qualcosa di molto vicino alla robotica (altro argomento su cui scriverei parecchio, e anzi, sicuramente ci scriverò un prossimo post patrendo se mai dai Lego Mindostorms) soltanto che le procedure che un robot (stupido) esegue in risposta a certi stimoli sono sempre le stesse (diciamo che ha un comportamento deterministico), una rete neurale potrebbe rispondere in maniera diversa nel tempo a seconda degli adattamenti alle procedure interne che ha autonomamente eseguito in base a determinate conseguenze delle azioni già compiute. Diciamo che sono una simulazione molto vicina del cervello umano. Si pensi a ciò che fa un bambino quando cerca di afferrare un oggetto: la prima volta lo fa in maniera rudimentale, con una procedura del tutto inesperta che probabilmente fallisce, poi ci riprova corregendo il tiro e quando finalmente ci riesce diciamo che "ha imparato ad afferrare un oggetto". Per analogia una rete neurale non istruita si comporta come un bambino che a poco a poco impara a fare certe cose. Da sempre esiste il detto "sbagliando si impara".

Tutto ciò che può essere concepito come ragionamento può essere ridotto in passi elementari e può essere riscritto in un linguaggio di programmazione da dare in pasto ad un qualche compilatore che lo tradurrebbe in codice da eseguire su una macchina come un computer, a velocità diverse volte maggiore.

La mia esperienza di programmazione, proprio perchè basata esclusivamente sul piacere di farlo, è incentrata soprattutto su prodotti Microsoft quali Visual Studio, che nelle sue ultime reincarnazioni, la 2008 è l'ultima uscita pochi mesi fa, ha orientato i suoi sforzi vero un framework di programmazione che ha definito .NET attraverso il quale ha reso equivalente programmare usando uno qualunque dei linguaggi inclusi nella suite. Per ragioni di semplicità e immediatezza io preferisco Visual Basic ma contrariamente a quanto si possa pensare, da quando è diventato VisualBasic .NET è tutt'altro che basic in quanto usa lo stesso framework di classi usato per Visual C++ o Visual C# che è il compilatore C proprietario Microsoft che nei progetti di quest'ultima dovrebbe soppiantare C++.

Praticamente programmare in Visual Basic o Visual C è assolutamente equivalente (addirittura nello stesso progetto possono convivere parti scritte in ognuno dei linguaggi della suite) è solo una questione di gusto personale.

Personalmente ritengo l'ambiente Visual Studio (soprattutto nelle ultime versioni) un ambiente maturo e molto divertente da usare. Scrivere un'applicazione molto complessa, orientata se mai ai dati (con supporto per i DBMS più diffusi come SQL server, Oracle e non ultimo MySQL), con funzionalità avanzate come l'autocompletamento è diventata davvero una questione di pochi click e poche righe di codice. Questo video potrebbe un po' chiarire le idee http://msdn2.microsoft.com/en-us/vbasic/bb643827.aspx.

ba62aed77f10081e7eb1357129481113.gifCosa molto interessante è che un ambiente completamente funzionante e con supporto di base a database di tipo SQL server è disponibile addirittura gratuitamente per chi vuole imparare o per chi non ha esigenze enterprise avanzate e lo si può scaricare tranquillamente di qui http://www.microsoft.com/express/ dove si parla appunto di "Express Editions".

L'unico lato negativo secondo me sta nel fatto che le applicazioni che possono essere create girano solo su sistemi operativi Microsoft. Vuol dire che se creo un'applicazione con Visual Basic questa girerà solo su windows (previa installazione del .NET runtime, qualcosa di analogo a una Java Virtual Machine ma molto più ottimizzato). Se creo una web application con Web Developer, avrò bisogno del web server Microsoft Internet Information Service (IIS).

Ci sono interessanti progetti openSource come "Mono" http://www.mono-project.com, che si occupano di portare il .NET framework anche su piattaforme Linux, Mac, Solaris ma credo che i progetti scritti in Visual Studio non siano immediatamente portabili su Mono se non previo adattamento e riscrittura di qualcosa. Prima o poi farò qualche test.

Comunque è un buon inizio e credo che se il progetto andrà avanti si avrà la totale intercompatibilità. In ogni modo penso che ci sia molto da lavorare anche nella scrittura di IDE (Integrated Development Environment) basati su Mono, che siano all'altezza di Visual Studio 2008, che per il momento credo sia impareggiabile.

Quindi buona programmazione!!

FON reloaded !!

ecfad04a49bef79fe544edfdea9f0723.pngSecondo post nel mio blog su questo argomento. Se non si fosse ancora capito è un argomento che mi sta particolarmente a cuore. Sono un utente fon ovviamente, ma paradossalmente la mia fonera è spenta :((

Colpa della legislatura assurda (Pisanu & co. che per altro col governo Berlusconi non potrà che peggiorare) e dell'inadempienza tecnica di Fon a tale legge. L'idea è eccezionale ma in questo stato ha le ali tarpate (altrimenti che il Wifi lo vende cosa ci guadagnerebbe?). Scusate lo sfogo.

Scrivo questo nuovo post su tale argomento perchè da Fon in questi giorni sono arrivate novità tecnologiche molto di rilievo. E' in fase di rilascio la fonera 2.0. Parto dall'antefatto che la fonera 1 benchè di per se già molto funzionale, ha visto il fiorire di diversi firmware non ufficiali che potevano essere installati sull'apparecchio per fornire questa o quella funzionalità non prevista ufficialmente. Nella versione 2, i tecnici fon, prendendo atto del successo che tali firmware non ufficiali hanno riscosso, hanno deciso di supportare pienamente i firmware scritti dagli utenti, considerandoli assolutamente legali e aprendo la fonera 2 a infinite applicazioni.

La Fonera2 può definirsi dunque una piattaforma applicativa su cui chiunque può programmare funzionalità ad hoc cedendole poi alla community. Dal punto di vista hardware la fonera integra una chicca davvero interessante e cioè una porta USB!!

Vi chiederete: e che ci sarà di tanto interessante? Pensate ai dispositivi che si collegano via USB... io ne rivelo due, forse i più interessanti: una stampante USB e un Hard disk esterno.

Avendo una stampante collegata alla fonera avremo sempre una stampante condivisa in rete via WiFi semplicemente accendendo la fonera quindi qualunque computer collegato alla wifi privata della nostra fonera rileverà la stampante.

Più interessante invece usare un Hard Disk USB. Tale disco risulterebbe raggiungibile come disco di rete per poter eseguire dei backup "on air" o potrebbe conservare la nostra libreria multimediale (musica, foto, video).

Se consideriamo che ora chiunque può scrivere del software da far girare sulla fonera ritengo che non passerà molto tempo che qualcuno scriverà un MediaCenter che fornisca contenuti on line attraverso il wifi privato per cui sarà possibile guardarsi un film su un dispositivo portatile come un palmare, un ipod touch, o più semplicemente il proprio computer fisso o portatile. Ritengo che non passi molto tempo nemmeno per avere un client torrent o emule che giri direttamente sulla fonera e salvi i file sull'Hard Disk USB cosicchè la condivisione potrà avvenire anche a computer spento.

Il tempo (sicuramente molto breve) ci darà ogni risposta.

Come sempre, stay tuned!