Corsi e ricorsi

Pensieri oziosi della domenica.

Nel 1984 il Macintosh stupì il mondo con la sua interfaccia grafica, che permetteva di interagire con il computer tramite il mouse, i menu e le icone sullo schermo, invece di dover inserire laboriosamente i comandi arcani del DOS tramite la tastiera.

Oggi però la vera potenza del computer è tornata ad esprimersi tramite il Terminale, con cui si possono fare tantissime cose ed in modo così efficiente che, al confronto, l’interfaccia grafica sembra un reperto del passato.

E dato che il Terminale è presente nativamente solo in Linux e macOS, anche Microsoft, per non perdere completamente il mondo degli sviluppatori e degli utenti più avanzati, dopo aver scopiazzato a piene mani l’interfaccia grafica del Macintosh nel suo Windows, ha ripetuto l’opera inserendo in Windows 10 uno strumento che emula un ambiente Linux completo.



— Fonte: National Climatic Data Center.

Dalla fine degli anni ’70 e per tutti gli anni ’80 il mondo del computing era diviso in rigorosamente in due: da un lato i computer seri, grossi mainframe nascosti in stanze condizionate e gestiti da sacerdoti in camice bianco, a cui solo pochi fortunati potevano accedere collegandosi in remoto tramite un videoterminale stupido; dall’altro i personal computer, oggetti costosi e fortemente limitati ma che permettevano a tutti di usare un computer in casa o in ufficio. In pochi anni i personal computer sono cresciuti e hanno soppiantato i mainframe, rimasti solo in qualche azienda o centro di ricerca avanzato.

Oggi che i personal computer sono ultrapotenti e alla portata di tutti, stanno diventando centrali i servizi cloud come Amazon Web Services (AWS) o Google Cloud e Microsoft Azure, che permettono di usare dei sistemi di calcolo potenti e adattabili alle necessità del momento senza doversi sobbarcare dell’acquisto e della gestione di computer fisici.

Magari fra qualche anno il modo normale di usare un computer sarà quello di collegarsi in remoto ad un sistema cloud tramite un semplice portatile o tablet. E il cerchio si chiuderà un’altra volta.

Tagged with: , , , , , , , ,
Pubblicato su software

All’inferno con Dell? Addendum


Foto di Michael Dziedzic su Unsplash.

Una piccolissima aggiunta al post di ieri.

Ad un certo punto del suo lunghissimo thread su Twitter, Eyepatch Wolf si lamenta che Dell pretende 400 euro per un disco NVMe da 1 TB (possibile) e altri 430 per due supporti di plastica (sarà vero o è solo un’altra boiata?). Su questo punto non posso che dargli ragione.

Perché la pratica di utilizzare componenti proprietari venduti a prezzi degni di un diamante di De Beers, componenti che dopo pochi anni spariscono dai magazzini obbligandoti a comprare un nuovo computer, è un vero e proprio schiaffo in faccia ai consumatori. Purtroppo però la pratica è seguita ormai da tutti, ma proprio tutti, i produttori di PC assemblati, da Apple a Dell, da HP a Lenovo, da Microsoft fino a Samsung (in ordine rigorosamente alfabetico). Per cui se c’è una responsabilità su questo (e c’è), non è certo colpa solo di Dell ma di tutti i produttori indistintamente. Se avesse comprato un computer HP o Lenovo o Asus non sarebbe stato diverso.

Nel settore dei notebook c’è davvero poco da fare, perché è lo stesso consumatore che vuole notebook sempre più sottili, sempre più performanti e con batterie che durano all’infinito, e l’unico modo realistico per darglieli è quello di customizzare all’estremo il prodotto, impedendo così che possa essere modificato dopo l’acquisto.

Sui desktop invece c’è ancora speranza, basta evitare come la peste di acquistare prodotti già assemblati (Apple esclusa, Apple è un mondo a sé nel mercato dei PC), comprando invece i componenti sciolti e costruendosi da sé il proprio computer. E chi non lo sa fare non segua il cattivo esempio di Eyepatch Wolf, ma si rivolga piuttosto al solito amico smanettone o magari ad uno dei pochi negozi fisici di qualità ancora attivi. Un aiuto competente può essere davvero prezioso, traducendosi non in una spesa in più ma in un vero e proprio risparmio. Speriamo solo che la possibilità di configurare a piacere un computer desktop sia una opzione praticabile ancora a lungo.

Tagged with: , , , , , , ,
Pubblicato su hardware

All’inferno con Dell?


Foto di Michael Dziedzic su Unsplash.

Dell non mi piace e non comprerei mai un PC dell’azienda texana. Però trovo lo stesso che il viaggio all’inferno descritto da Eyepatch Wolf in una lunghissima discussione su Twitter sia, come dicono a Roma, una sòla.

Della storia ha parlato con la consueta stringatezza John Gruber su Daring Firewall, così come il sempre caustico Macalope su MacWorld e il nostro Lucio “Lux” Bragagnolo su QuickLoox (che vale sempre la pena leggere, fosse solo per i titoli geniali dei suoi post). Anche quelli di HackerNews non si sono fatti sfuggire la notizia.

Riassumo brevemente la storia per chi se la fosse persa.

Eyepatch Wolf è uno youtuber con un canale da 1.13 milioni di iscritti e i suoi video su manga e affini hanno milioni di visualizzazioni, un asset che gli farà guadagnare qualche migliaia di euro al mese. Un bel giorno Eyepatch Wolf si rende conto che il PC che usa per montare i suoi video è diventato troppo lento e decide di sostituirlo. Ha sempre avuto dei PC Dell e non ha mai avuto problemi, per cui continua sulla stessa strada. Di hardware sa pochissimo, per lui le schede madri, le schede video, la RAM, gli SSD sono degli oggetti misteriosi, ma si ostina a configurare il nuovo acquisto da solo.

Peccato che ne venga fuori una ciofeca, lenta in avvio e senza Wi-Fi, una macchina a suo dire peggiore di quella che doveva sostituire. E da questa piccola storia nasce una montagna di tweet, un frullato infinito di rabbia, scoramento, fiducia e accuse, il triste racconto del povero utente un po’ tonto alle prese con la multinazionale rapace.

Ma è proprio così?

Come dicevo all’inizio, non ho mai comprato un PC Dell, né per lavoro né tantomeno per mio uso personale. Però ne ho configurati parecchi per colleghi ed amici e posso dire senza tema di smentite che non è per niente banale.

Lo strumento di configurazione online che Dell mette a disposizione dei suoi clienti è potentissimo e permette di scegliere con una minuzia inusitata la configurazione hardware della macchina. Ma proprio la sua potenza è anche il suo punto debole, perché scegliere i componenti giusti in funzione di quello che si vuole fare con la macchina richiede esperienza e una buona conoscenza dell’hardware di un PC moderno.

Improvvisare porta solo a delusioni, proprio come è successo al buon Eyepatch Wolf che, mentre configura il suo nuovo PC, dimentica di selezionare come disco di avvio un disco SSD al posto di quello meccanico (che torna ancora utile come seconda o terza unità di memorizzazione di massa) e che non si accorge che il Wi-Fi non è compreso nella configurazione di default (perché i PC desktop di classe business vengono normalmente collegati alla rete tramite il cavo ethernet) e che se lo vuole deve sceglierlo esplicitamente tramite il programma di configurazione. Ma perché prendersela con Dell per questi errori, quando la vera colpa sta solo nella presupponenza di chi ha configurato male la macchina?

Detto questo potrei chiudere il post, ma vi chiedereste perché vi ho fatto perdere tempo con queste ovvietà.


In realtà la ragione del post è un’altra. Secondo me Eyepatch Wolf sa benissimo come è fatto un PC, e tutta la sua sparata su Twitter è solo una scusa per fare pubblicità al suo canale YouTube e alle sue attività collaterali sui social. Qui non si tratta di Davide contro Golia, del piccolo utente contro la grande multinazionale, come nel caso ormai quasi epico di Paolo Attivissimo che lotta contro la Microsoft per ottenere il rimborso della licenza di Windows, ma solo di un furbone che finge di fare lo scemo in cambio di un po’ di like e di tante visualizzazioni in più (che su YouTube equivalgono ad un bel po’ di soldini).

C’è un dettaglio, anzi due, che mi ha fatto drizzare le antenne. Il primo è che Eyepatch Wolf dimostra di sapere benissimo cos’è un disco NVMe. Ma come, configura il suo nuovo PC e dimentica di controllare che il disco di avvio sia a stato solido, ma poi dimostra di sapere che un disco NVMe è molto più veloce di un normale disco SSD con interfaccia SATA?

Il mio [nuovo] PC è un Precision 5820, so che un disco SSD SATA funzionerebbe perfettamente ma… c’è [in giro] un nuovo tipo di SSD più potente e con prestazioni migliori, l’NVMe.

(My PC tower was a precision 5820, I know that Sata SSDs will work with it, but… there is a new type of SSD thats meant to be more powerful with better performance- NVMes.)

Se Eyepatch Wolf sa cos’è un disco NVMe, mi dispiace ma non è lo sprovveduto che ci vuol far credere. Ancora di più se, pochi messaggi dopo, dimostra di sapere pure che i dischi NMVe si collegano tramite un’altra interfaccia, la cosiddetta interfaccia M.2, che il suo nuovo PC naturalmente non ha (ma che avrebbe potuto avere se l’avesse scelta al momento dell’acquisto). E se anche supponiamo che questi dettagli nel frattempo glieli abbia insegnati qualcuno (mai citato), perché invece di fare tante storie non gli chiede di dargli una mano a sistemare il PC che ha incautamente acquistato?

Ma c’è un secondo dettaglio, forse ancora più sintomatico, che mi fa dubitare della buona fede di Eyepatch Wolf: il fatto che apra da solo, e non una sola volta, il suo nuovo PC per inserire i componenti che dovrebbero correggere le debolezze della macchina.

La scheda [Wi-Fi] arriva pochi giorni dopo, ma raggiunge appena il 10% della banda [sic!] del mio vecchio PC e degli altri dispositivi che sono nella stesas stanza [ri-sic!]. Apro la macchina e la rimuovo.
[…] Apro un’altra volta il mio PC. E collego il disco [SSD] SATA. Che quest’incubo finisca.
[…] Apro il retro del PC, inserisco la scheda, la collego al ricevitore esterno. Chiudo il PC. Nessun problema. Posso farcela [da solo].

(The card arrives a few days later, but is getting around 10% the bandwidth of my old pc as well as other devices in that same room. I open up my machine and remove it.
[…] I open up my PC once again. And I connect my sata hard drive. Let this nightmare end.
[…] I open the Pc back up, insert the card, connect it to the external signal receiver. Close it back up. No Problem. I can do this!)

Non sono uno psicologo e nemmeno un riparatore di PC, ma in tutta la mia (lunga) vita di fissato di computer e di elettronica non ho mai incontrato qualcuno poco pratico di faccende di hardware che avesse il coraggio di aprire un PC da solo, perché ha troppa paura di fare danni. E lo capisco perfettamente, perché trovarsi davanti una selva di cavi, di schede e di componenti sconosciuti può intimidire davvero chiunque. Ancora più improbabile che succeda quando il PC è nuovo e ancora in garanzia.

Eyepatch Wolf, invece, non si fa scrupolo di aprire il suo nuovo PC e di lavorarci dentro senza nessun aiuto. E allora tanto inesperto, credetemi, non deve essere. Sta solo giocando con noi anzi, peggio, ci sta prendendo in giro.

Tagged with: , , , , , ,
Pubblicato su hardware

Python, il Visual Basic del XXI secolo?


Microsoft Visual Basic 1.0 per Windows 3.0 (e versioni successive). Fonte: WinWorld.

Ho appena letto l’articolo Is Python the Spiritual Successor to Visual Basic? di Matthew MacDonald e non potrei essere più d’accordo, tanto più che ho fatto esattamente lo stesso percorso, Visual Basic nei primi anni ’90 e Python (assieme ad R) oggi.


Visual Basic è stato un linguaggio davvero rivoluzionario, il primo che permetteva di aggiungere in modo semplice una interfaccia grafica ai programmi scritti in BASIC, un linguaggio di programmazione ben noto a tutti coloro che avevano vissuto la stagione degli home computer come il Commodore 64 o lo Spectrum.1

A me, abituato ad usare il Fortran o uno dei vari linguaggi Turbo-qualcosa e Quick-qualcosa che all’epoca spopolavano, Visual Basic sembrò all’inizio come una ventata di aria fresca e lo usai subito per un progetto a cui tenevo moltissimo (e che merita di essere raccontato più in dettaglio).

Ma dopo questa prima volta lo abbandonai senza remore, non solo perché nel frattempo avevo scoperto la potenza di UNIX e Windows era diventato improvvisamente troppo stretto per le mie esigenze, ma soprattutto perché avevo cozzato contro uno dei problemi più seri del linguaggio (almeno per me), l’incompatibilità fra le varie versioni, che impediva di eseguire il codice sviluppato per Visual Basic 1.0 già nella versione successiva della piattaforma di sviluppo. Ma dato che Microsoft già allora era maestra nel mettere i bastoni fra le ruote dei suoi utenti, nemmeno la compatibilità fra il Visual Basic 1.0 per Windows e la versione corrispondente per DOS era garantita al 100% (e questo era proprio il mio caso).

Non sapevo ancora nulla di free software o di open source, ma l’idea di dover dipendere dai capricci di una azienda di software mi sembrava già allora incomprensibile.

Visual Basic è considerato un prodotto Microsoft, ma in realtà è l’adattamento di un linguaggio di programmazione visuale per Windows 3.x, sviluppato in proprio da Alan Cooper (che lo aveva chiamato Ruby). L’idea originale di Cooper era di creare uno strumento con cui costruire con facilità delle interfacce grafiche che aiutassero gli utenti ad utilizzare al meglio il nuovo sistema operativo, interfacce che potevano essere diversificate in base al livello di esperienza di chi le usava.2 Tramite dei buoni agganci Alan Cooper riuscì a presentare il proprio prodotto a Bill Gates, che ne rimase entusiasta e decise immediatamente di acquistarne i diritti. Ruby però finì subito in un limbo, ostaggio delle strategie aziendali e delle rivalità fra i diversi gruppi di sviluppatori, per essere associato solo in un secondo momento al QBasic, il vecchio interprete Basic della Microsoft, diventando così il Visual Basic che conosciamo.

L’ambizioso obiettivo iniziale si ridusse così alla semplice riproposizione di un vecchio linguaggio di programmazione in una forma graficamente più accattivante. Alan Cooper sarà quindi anche considerato il padre del Visual Basic, ma la sua idea originale ha ben poco a che fare con il prodotto finale!

Date le premesse non ci si può stupire che Visual Basic abbia avuto una vita travagliata e relativamente breve, descritta con grande abbondanza di dettagli nell’articolo Visual Basic: Early Beginnings, pubblicato in uno dei blog più interessanti in assoluto sulla storia del Personal Computer.


Python oggi è uno dei linguaggi di programmazione più popolari, e con buona ragione. Python e Visual Basic sono praticamente coetanei: il primo ha festeggiato trent’anni a febbraio di quest’anno,3 mentre Visual Basic è stato pubblicato pochi mesi dopo, a maggio del 1991.

Ma Python, a differenza del Visual Basic, dopo una partenza lenta ha conosciuto negli ultimi anni un successo travolgente dovuto, a mio avviso, a due aspetti fondamentali del linguaggio:

  • Leggibilità. Python non è infarcito di parentesi e di segni di interpunzione come JavaScript, C/C++ o Java, e questo lo rende molto più leggibile dei linguaggi concorrenti. Se per un programmatore esperto questo può essere un dettaglio di poco conto, di sicuro aiuta i neofiti ad avvicinarsi al linguaggio. Anche il fatto che le istruzioni contenute all’interno dei cicli for e while o delle istruzioni condizionali if debbano essere indentate rispetto al resto del codice contribuisce moltissimo alla sua leggibilità, perché permette di afferrare “ad occhio” la struttura del programma. Questa caratteristica obbliga anche a rispettare una certa disciplina nella scrittura del codice (se non si rispetta la giusta indentazione il codice, anche se corretto dal punto di vista sintattico, si rifiuta di funzionare), che è sempre una cosa positiva quando si programma.

  • Flessibilità. Si può programmare in Python utilizzando indifferentemente un approccio procedurale, ad oggetti o funzionale, riuscendo spesso a mescolare senza troppi problemi i diversi metodi di programmazione all’interno dello stesso programma. Il linguaggio quindi si adatta facilmente alle abitudini dei singoli programmatori e consente di far evolvere il codice in base alle esigenze del momento. È abbastanza usuale, almeno per i programmatori dilettanti come me, cominciare a scrivere un programma in Python buttando giù le idee alla bell’e meglio, per passare solo in un secondo momento ad organizzare le parti principali in funzioni autonome, arrivando magari a creare una struttura di classi e metodi o a spingersi verso le asprezze della programmazione funzionale (in cui dati e funzioni diventano un tutto unico) quando serve un approccio più robusto.

La flessibilità del linguaggio viene sfruttata all’estremo dalle interfacce a notebook come Jupyter, che consentono di costruire dei veri e propri documenti programmabili, dove le parti di testo che descrivono il problema o i dettagli di funzionamento del codice si mescolano alle istruzioni Python e perfino ai dati e agli stessi risultati delle elaborazioni, dando all’utente la possibilità di sperimentare in modo interattivo e di eseguire il codice in modo non lineare (una pratica non sempre raccomandabile, ma che se tenuta sotto controllo è molto comoda).

Jupyter può essere utilizzato direttamente dal web, senza installare nulla sulla proprio computer e senza dover gestire le mille dipendenze dei pacchetti di terze parti che permettono a Python di essere usato in settori diversissimi, che spaziano dalle analisi scientifiche alla finanza o all’arte. Bisogna ammettere che la gestione dei pacchetti esterni è l’aspetto più complesso del linguaggio ed anche la sua principale debolezza, e che ancora oggi non esiste uno strumento universale per farlo.

Grazie a Colab di Google si può persino utilizzare una GPU (e in certi casi persino una TPU) per velocizzare i programmi su Jupyter, una cosa fantascientifica fino a pochissimi anni fa.

Sul fronte opposto, Python è in grado di girare anche su microcomputer da poche decine di euro, come le varie incarnazioni del Raspberry Pi, e perfino su alcuni microcontroller, come il recentissimo Raspberry Pi Pico, dei veri e propri computer ridotti all’osso.

Dal Visual Basic per Windows al Python di oggi se ne è fatta di strada!


Immagine generata da un testo mediante le reti neurali BigGAN e CLIP. Fonte: Reddit.


Immagine generata da un testo mediante le reti neurali BigGAN e CLIP. Fonte: Sabino Maggi.


  1. Prima del Visual Basic mi viene in mente solo LabView (sviluppato originariamente per MacOS), che però era un linguaggio iper-specializzato (e iper-costoso!) per la gestione della strumentazione elettronica di misura (e per l’automazione industriale in generale) e l’analisi dei dati acquisiti. 
  2. LabView (ancora!) perseguiva lo stesso scopo (e lo fa tuttora) nell’ambito, ben più ristretto, dell’automazione industriale. 
  3. Il codice originale di Python si trova qui, adattato in modo che possa essere ancora compilato sulle macchine moderne. 
Tagged with: , , , , ,
Pubblicato su software

Mac OS X, vent’anni e non sentirli


macOS Screenshot Library, Mac OS X 10.2 Jaguar.

Ricordo ancora benissimo lo stupore che provai la prima volta che vidi Mac OS X in un negozio di Torino. Era il 2003, era appena uscito Jaguar (la prima versione davvero usabile di Mac OS X), e l’interfaccia grafica del Mac che vedevo nella vetrina del negozio era davvero stupefacente. Anche i computer erano belli, in particolare l’iMac G4 e l’iBook G3 bianco, ma quello che li rendeva davvero straordinari era il fatto che accoppiassero così bene la potenza del motore Unix ad una interfaccia grafica da urlo.

All’epoca usavo solo Linux, alcuni anni prima mi ero interstardito a dimostrare che si poteva usare un sistema operativo basato su Unix per il lavoro di tutti i giorni e c’ero riuscito benissimo. Office l’avevo sostituito con Open Office, per navigare usavo Mozilla (il browser derivato da Netscape che poi diventerà Firefox), per la posta c’era Thunderbird (che uso ancora oggi), e per il lavoro vero e proprio avevo una scelta più che abbondante di software open source adatti alle mie necessità.

Da un giorno all’altro decisi di cambiare di nuovo e di tornare al Mac, che avevo abbandonato durante tutta la crisi degli anni ’90, e non me ne sono mai pentito. Da allora ho avuto l’iBook G3 e G4, il primissimo iMac G5, il PowerBook G4 Titanium, vari iMac e MacBook Intel, ma il fascino di quella prima vetrina non lo dimenticherò mai.

Oggi sono esattamente vent’anni dalla presentazione di Mac OS X 10.0, Cheetah (ovvero Ghepardo), il sistema operativo che, dopo la presentazione del Macintosh nel 1984, avrebbe rivoluzionato per la seconda volta il modo in cui interagiamo con il computer. In vent’anni Mac OS X ne ha fatta di strada e, da sistema operativo di nicchia per pochi utenti un po’ fissati, è diventato un vero e proprio ecosistema con il quale si può usare indifferentemente (o quasi) il computer, il tablet, il telefono, il tablet e persino l’orologio. Ora siamo all’inizio di una nuova rivoluzione che renderà ancora più integrati i vari elementi di questo ecosistema, e sarà bello viverla in diretta.

Ma intanto, grazie Apple per questi bellissimi vent’anni!

Tagged with: , , , , , ,
Pubblicato su software
Informativa
Questo sito utilizza cookie di terze parti per inviarti pubblicità e servizi in linea con le tue preferenze. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, clicca qui. Scorrendo questa pagina, cliccando su un link o su qualunque altro elemento o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie.
Follow MelaBit on WordPress.com
Categorie
Archivi
%d blogger hanno fatto clic su Mi Piace per questo: