Archivi Categorie: Storia

e, pi, una volta e adesso

Dave ci ricorda che approfittando delle feste –OK, leggete qui.

Io non solo non ho partecipato, neanche commentato. A dire il vero non avrei potuto, non c’ero ancora. Ma rimedio subito.

Oggi è facilissimo, viene aggratiss, per esempio con bc:

Le ultime 2 cifre possono essere non precise per problemi di arrotondamento, se del caso basta aumentare il numero di cifre richieste, attraverso la varialibe scale. Non ci sono problemi, l’hardware non è quello di Von Neumann, per esempio per 4000 cifre uso lo script pi.bc:

scale=4000
pi=4*a(1)
print pi
print "\n"
quit

e è nella funzione e(), avendo visto che la precisione non è un problema uso quella di default (20 cifre caricando la libreria matematica con -l)

Con Python basta installare uno dei moduli per la precisione arbitraria. Anzi probabilmente non è necessario se si usa SciPy/NumPy &co ma oggi un modo alternativo, più sexy, via mpmath installabile con pip3 install mpmath. seguendo le dritte di Fredrik Johansson qui, 100 mpmath one-liners for pi ecco:

OK, è una collaborazione, largo ai giovani!

Xerox PARC

Cosa non si trova su Twitter; ieri questa immagine che vale ben più di 103 parole, come minimo 1032, imho.

click to embiggenate

Uh! mooolte più cose di quelle che sapevo, in tanti settori. E tante cose che oggi si danno per scontate, manco si notano. Ricordo perfettamente (cioè non tutto ma parecchio) quando <dimenticato il nome, era un commerciale> mi raccontò di Lisa, l’antenato del MacIntosh (si allora si chiamava così) derivato da Star e Alto.
E smalltalk, quello di Alan Kay di “il miglior modo per prevedere il futuro…”, e tanto altro.
E le stampanti laser HP erano nate là.
Ma non solo, come dall’immagine. A proposito (cioè no, è un side effect) questa è IEEE Spectrum, followata su Twitter.
Avendo tempo sul sito di Spectrum si trova di tutto, anche notizie storiche su Xerox PARC, la storia è uno dei miei interessi, solo per quello che ho usato o avrei desiderato usare.

Al solito la wiki sa tutto su PARC.

Ah! ‘ncora: l’immagine l’ho trovata qui, DynamicWebPaige, followata.

👽

Il PDP-11 – ricordo perfettamente…

Quando io ero piccolo mi sono trovato a dover usare un calcolatore (allora il ‘puter veniva chiamato così da tutti tranne i giornalisti per i quali era il cervello elettronico, quelli erano molto più avanti, sapevano già dell’intelligenza artificiale; cioè no, anche noi sentivamo parlare (e a volte parlavamo) dell’AI ma mai vista. Neanche ora a pensarci. Ma un domani… Garantito 👽

Il calcolatore che usavo io era un Pr1me (per la precisione 550 II) con mezzo MB di RAM e hard-disk di 80 MB (sempre pieno). Il Pr1me (dovrei scrivere PR1ME ma non ce la faccio) era ottimo, anzi di più; e la scelta era dovuta al fatto che il capo, il prof (allora non ancora prof) tornato dal dottorato (allora da noi non si chiamava così) al MIT dove lui usava quello e essendo il capo…
D’altronde il Pr1me nasceva a pochi km (ahemmm miglia) da Cambridge (ahemmm Boston, passato il fiume). Come pure Apollo che avrei usato in seguito (non era un calcolatore ma una workstation) fatto da chi aveva fatto il Pr1me. Ma questo dopo.
Per intanto sempre in quella zona c’era la DEC, Digital Equipment Corporation. Molto più nota di Pr1me Corp. Anzi quando qualcuno mi chiedeva io dicevo Pr1me, simile al PDP-11. Perché il PDP-11 era la rockstar 💥 Ed era anche multiforme, dipendeva dalla configurazione (o forse gli venivano tutti diversi, chissà).

Poi metto i link ma prima un paio di cose personali. Allora non è che c’erano tutti i linguaggi di programmazione di oggi. Anzi per i gestionali c’era il Cobol (sarebbe COBOL), roba da IBM, e il Fortran (FORTRAN IV o 66) per tutti gli altri. Anche se nato in casa Big Blue che lo aggiornava continuamente con istruzioni non standard, il rifermento era quello di DEC. Mi ricordo che il primo carattere di ogni riga era di controllo (per le stampanti DEC) quindi i FORMAT cominciavano sempre con “1X“, quanti ne ho saltati!

Allora c’erano pochi linguaggi ma tanti sistemi operativi. Uno per macchina, cosa che voleva dire PRIMOS per il Pr1me ma uno per ogni modello IBM e tanti per DEC. Io ero a posto solo con il PRIMOS, derivato da Multics. Sul PDP-11 usavo quello che sarebbe diventato il VMS sul successore del PDP-11, il mitico VAX.

La storia ricorda che Unix (UNIX is a registered trademark of Bell Labs) è nato sul PDP-11. Ma in casa DEC Unix non ha mai preso piede. Troppo difficile, dicevano anche se “Unix is simple” (cit.); in realtà era molto diverso da VMS, conosciutissimo (da tutti, non da me).

La storia di DEC è per certi versi simile a quella di Apple. Invece della coppia Jobs/Wozniak c’era il mitico Ken Olsen. Senza Ken DEC è poi stata acquistata, quando era ormai molto meno importante, da Compaq, acquistata a sua volta da HP.

D’altronde tutte le marche dell’entroterra di Boston sono sparite. Tutte a Silicon Valley.

Questo post è dovuto alla nostalgia, riaccesa da questo tweet che rimanda a un post esaustivo. Per il PDP-11 ottima (al solito) la Wiki, dove ci sono DEC e Ken Olsen.

Tutta roba dello scorso millennio 😐

👽

FP -> Haskell – un po’ di storia da un artefice

Io che sono vecchio posso permettermi di seguire cosa avrei voluto seguire quando ancora ero giovane. Per esempio l’informatica ma no, allora era troppo cosa esoterica, la tele parlava di cervelli elettronici (proprio come adesso l’AI 😉 ma in un altro senso). Allora sono finito tra li ingegneri civili (credo che adesso si chiamino edili). Ma poi ho trafficato con i ‘puters, sempre. A sproposito, senza tutta la preparazione che ci sarebbe voluta.

Adesso, come dicevo, sono arrivato, dopo il Lisp (e Scheme e Racket) a Haskell, FP pura 😋

E –serendipity qui– mi viene suggerito un video imperdibile, quasi un’ora di storia di Haskell! Da uno di quelli che l’hanno fatto. E con sorprese dentro: ce n’è una che qualcosa sapevo ma non che fosse così importante, almeno per me, sapete vengo dal Fortran.

John Hughes, il relatore, si presenta così:

25 years ago I published “Why Functional Programming Matters”, a manifesto for FP–but the subject is much older than that!

As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. Conventional languages place conceptual limits on the way problems can be modularised. Functional languages push those limits back. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute greatly to modularity. As examples, we manipulate lists and trees, program several numerical algorithms, and implement the alpha-beta heuristic (an algorithm from Artificial Intelligence used in game-playing programs). Since modularity is the key to successful programming, functional languages are vitally important to the real world.

Video tutto da vedere (io più volte). A complemento —solo per uso personale— ho redatto una lista delle persone citate; m’interessa la storia e ho carenze (sono di una ‘gnuransa encyclopedica).

Anni ’40
Alonzo Church, lambda calculus.

Anni ’60 (inizia anche un po’ prima, secondo me)
John McCarthy, il Lisp.

1965
Peter J. Landin, The Next 700 Programming Languages.

1967
John Backus, sì quello del Fortran (per me), ma anche Algol e FP: Can Programming Be Liberated from the von Neumann Style? A functional Style and Its Algebra of Programs

1982
Peter Henderson,
Functional geometry: it seems there is a positive correlation between the simplicity of the rules and the quality of the algebra as a description tool.

1994
Paul Hudak and Mark P. Jones
Haskell vs. Ada vs. C++ vs. Awk vs… An Experiment in Software Prototyping Productivity

Volendo parecchi di questi papers si trovano ontehtoobz (alcuni ahumm-ahumm). Io che soffro d’insonnia probabilmente… forse… nell’anno che viene. Chissà. Appena supero lo shock di John Backus. Anzi mi verrebbe voglia di rifare (sì già fatto ma repetita juventus come dice Moggi) un post sul Fortran di quando ho cominciato, con i GOTOs, anzi IFs come si usavano allora (sì, erano GOTOs).

H/T a b3h3m0th.
🤩

In principio, ovvero cosa mi sono perso

C’è questo post di (Mike) Fogus sui primi tempi di Apple. Il post tratta di Pascal at Apple, ma anche d’altro. A me interessa principalmente l’altro.

Esperimento qui: provo a inerire (embed) dei tweets, chissà… 😉

Per quanto mi ricordo qui da noi l’Apple ][ non è stato come in America. Ho un paio –abbondante– di amici che ce l’avevano, tutti nerds, G ci ha fatto la tesi, G se l’era portato al Poli e lo usava lì (all’epoca era quello che oggi si chiama post-doc); entrambi autoassemblati, case di legno, monitor che oggi farebbe sgiai. F invece (ma forse era più tardi) l’aveva originale e poi ha continuato a seguirne l’evoluzione fino al MacIntosh (allora si chiamava così). A proposito del Mac ricordo perfettamente quella volta che per tutta la durata del viaggio G mi ha rintronato con le meraviglie di Lisa di cui aveva visto la demo a Milano; lui era un commerciale, un rappresentante di prefabbricati, vedeva il computer in modo diverso, quello che poi sarebbe diventato normale per tutti, prima dell’aiFon che poi è diventato il telefono.
OK, sono OT, mi riprendo.

Fogus lo seguo da tempo sul blog (sì stanno morendo, anche il suo) ma c’è su Twitter, molto attivo, anche per questa storia conviene seguire lì i cinguettii; non usa un tag particolare ma il 20 luglio è tutto per quell’argomento.

All’epoca io ero già impegnato in altre cose (Fortran su Prime, un mini, tipo PDP11) e mi sono perso tutta l’alba dei Personal Computer (quasi, vedi sotto). Ma per intanto qualche cit.

Da noi, qualche tempo dopo, si sarebbe fatto tutto ib Basic. E VisiCalc, il progenitore di Excel. Non sono mai riuscito a padroneggiare né l’uno né l’altro.

e, notevole per me

Sia il C (chissà dov’è finita la mia copia del K&R?) che il Lisp li ho scoperti all’inizio degli anni ’80, dopo il Pascal che sul Prime non funzionava; non funzionava neanche il Lisp del quale avevo avuto un nastro via ahumm-ahumm da R –chissà se si può dire, ormai dovrebbe essere in prescrizione? A proposito: ci sono siti dove trovi (quasi) tutta la documentazione del Prime ma niente sul Lisp; anche l’amico AP non ne sa niente. Vuoi vedere che il nastro era di una beta? Termine che allora non si usava. In realtà ci ho fatto molto poco, l’imbeccata me l’aveva data Doug Hofstadter (GEB e Le Scienze) ma ero isolato, non c’era il Web. E poi ero alle prese con il debug.

Sì, vale anche per qualche tempo dopo per HP. Il sistema operativo era piccolissimo e indistinguibile dal linguaggio: tutti usavano il Basic, il Pascal c’era ma si evitava con cura.

OK, tutte cose che mi sono perso. Come pure mi sono perso l’M20 Olivetti, con il PCOS, vita brevissima ma ha venduto tantissimo, subito sostituito dall’M24 compatibile IBM, cioè Micro$oft ma allora si diceva IBM.
Io intanto ero alle prese con il Fortran, avendo come riferimento il VAX di DEC; allora era solo un miraggio, dopo sarebbe diventato un protagonista importante e infine un guaio: gli utenti Digital rimanevano legati a VMS considerandolo molto migliore –secondo loro– di Unix.

L’interprete dei comandi Primos (la shell si direbbe oggi) non era programmabile (lo satebbe diventato in futuro, verso la fine) e allora si usava il CPL, un po’ come Bash di adesso ma molto meno versatile e senza i tools di supporto.

Il mio primo incontro/scontro con i PC è stato particolare, esotico: modificare un porogramma su VIC 20, antenato di Amiga, in Forth. Sì anche lì la faceva da padrone il Basic ma se avevi bisogno di strizzare fino all’ultimo byte il Forth era decisamente meglio.

Ma era giunta l’epoca di MS-DOS. No, non ne voglio parlare. E nenache di ToolBook, Director e Flash. Neanche del Basic, quick e Visual. Ma c’è stato anche il Pascal, Turbo, Borland e poi Delphi.

Adesso invece 👿 è cambiato tutto. Tutti che lavorano per l’online, con cose che non so e non voglio sapere.
O cose anche più strane, sistemi embedded, da ficcare in ogni dove. Un po’ di tempo fa ho visto gente di IBM commossa perché qualcuno ha nominato Roscoe (googlato per sapere come si scrive(va), cosa fosse non lo so). Intanto pare che Android… ma forse è solo gossip.

Tanto io sono vecchio 😜

Embed del tweet ancora da perfezionare 😐

:mrgreen:

AT&T Archives: The UNIX Operating System

uh! ‘n sacco di persone famose (vero?). Raccontano cose che magari oggi sono scontate, almeno per qualcuno; allora no.
C’è tutto il canale AT&T se si ha tempo.
Ottimo qui il K di K&R 🚀
Poi a 11 circa ecco R di K&R 🚀
Il capo arriva a 13 circa 🚀

Com’erano i terminali una volta! Anche quelli grafici, cioè non solo alfanumerici! C’è anche il TTY (chissà come si chiama davvero: teletype?).

Com’era la rete allora; c’è cioè si vede la bindo (?) di Ethernet.
Insomma stiamo parlando del 1982. Io c’ero –non ancora con UNIX ma ci sarei arrivato.
Anche se da noi andava forte quell’altro OS, quello di DEC (Digital Equipment Corporation), il VMS del VAX.
No, non ne parlo perché 1) andrei fuori tema; e 2) certi argomenti sono rischiosi. 😡

Quelli di IBM vestiti così non li vedrete mai; anzi non c’erano proprio. Forse si usavano ancora i camici come i dottori alla tele. E comunque giacca scura, camicia bianca e cravatta, plz! 🤖


UNIX is a trademark of Bell Labs. Questa frase c’era dappertutto; adesso non riesco a trovarla googlando; come passa il tempo (Ozymandias & Shelley).

Un riassunto über come al solito sulla Wiki: History of Unix.

Voyager — post con un indovinello difficile

saturno

“Una volta, quando i vostri genitori andavano ancora all’asilo…”
“Tre computer con …”
“Qualcuno di di voi ha in tasca un computer più potente di quello. Non è il telefono, ma [indovina]”

Marco Bruno –ebbene sì lo conosco– rockz 😀 assay, anzi di più, 😀 racconta tutto questo e molto altro altro ancora di astronautica.

Attenti però che se aprite questo video poi ne avete per due ore. Non riuscirete a uscirne prima. Possono capitare anche ricadute, quello che sta capitando a me adesso.

Risposta alla domanda: trovate tutto a 12:50. Ma comincia prima, almeno da 8:30. Vero che vi ha sorpreso e non ve l’aspettavate?

Il video lo trovate su YouTube, il signor WordPress non lo prevede l’embed per la versione free:[AstronautiCON8] Le missioni Voyager.
Marco è über 😀 forse l’ho già detto, a volte sono ripetitivo, sapete la mia memoria…


Siccome questo è un post impegnativo lo riciclo sull’altro blog. Cioè se voi lo leggete su Ok, panico sappiate che c’è anche Al Tamburo Riparato. E viceversa per i tamburisti.

Lo sviluppo iniziale dei linguaggi di programmazione

shutterstock

Whether such an elaborate automatic-programming system
is possible or feasible has yet to be determinated.

In this jet age, it is vital to shorten the time
from the definition of a problem to its solution.

Qualcuno ha twittato, io ho detto “ohhh!” ho seguito il link ma ho dimenticato di salvare il cinguettio; quindi devo fare un ringrziamento anonimo per il meraviglioso (assay) cinguettio 😀

Sto parlando di questo paper The Early Development of Programming Languages di Donald E. Knuth e Luis Trabb Pardo, agosto 1976.
Si trova in PDF, purtroppo immagini, in diversi posti, p.es. qui.

Credo sia ormai nota la mia passione per la storia dei ‘puters ma questo documento esagera, vi piacerà (o non vi faccio più ‘mico e vi blocco l’accesso al blog 👿 nèh!).

È tutto da leggere, non riassumibile. E poi non voglio spoilerare.
Solo qualche considerazione volante, perso:

  • in 100 pagine nemmeno una volta la parola “Lisp”; 😦
  • oltre ai protagonisti noti a tutti ne compaiono tanti altri importanti ma meno famosi; e per qualcuno dei noti tante altre notizie, p.es. Konrad Zuse, Corrado Böhm, Grace Hopper (sapete che ha fatto una fondamentale stagione di barnstorming?);
  • ho scoperto da dove deriva la versione Mac del Lisp;
  • sapete cos’era BAIAC (una delle cit. iniziali lo riguarda);
  • fare il FORTRAN è risultato molto più arduo di quanto previsto;
  • e alla fine IAL, da cui sarebbero derivati Algol, Pascal, Delphi e –indirettamente– quasi tutti gli altri.

Ma c’è molto altro, le visualizzazioni del codice sono come dire –non sono ancora pronto per l’interrogazione.
Siccome c’è il Fortran (ehi! qualcuno ancora lo conosce, qualcuno ancora lo usa) non ho resistito. Ho solo tradito marginalmente il codice originale: tolta la F finale alle funzioni e usato il free-format in lettura. Notare l’IF calcolato, questo: IF(400.0 - Y) 4, 8, 8; la mia generazione non lo usava più, preferiva il GO TO (non ditelo a EWD, pliz! dankescion!). Ci sarebbero poi altre cose ma non così fondamentali e il codice dev’essere simile a quelli per gli altri linguaggi. Lo STOP finale è inutile ma anticamente (se volete qualcosa da raccontare ce l’avrei). Insomma eccolo:

C     THE TPK ALGORHTM, FORTRAN STYLE
      FUN(T) = SQRT(ABS(T)) + 5.0**3
      DIMENSION A(11)
      READ(*, *) A
      DO 10 J =1, 11
      I = 11 - J
      Y = FUN(A(I+1))
      IF(400.0 - Y) 4, 8, 8
4     PRINT 5, I
5     FORMAT(I12, 2X, 10H TOO LARGE)
      GO TO 10
8     PRINT *, I, Y
10    CONTINUE
      STOP 52525
      END

tpkf

😀 😀 😀

CS timeline

shopt

Una segnalazione, forse incompleta o forse non ancora completa che –colpa mia– avevo messo in un memo poi dimenticato. Ma ritrovato cercando altro (che sono sicuro c’è ma non riesco a trovare).
Uno dei miei interessi è l’aspetto storico dell’informatica, non solo nelle sue ultime manifestazioni. Anzi non ho nemmeno più il telefono: non sono mobile 😳

Il prof Scott Aaronson compila l’elenco dei fatti fondamentali riguardanti la Computer Science. Per adesso ho questi due link:

Poi attraverso i commenti è possibile –non devo certo ricordare queste cose, vero? Enjoy 😀

Il blog di Scott (bello il nome anche se richiede una googlata) purtroppo non lo seguo come meriterebbe ma spero di riuscire a intercettare eventuali sviluppi (m’interessano) e aggiornare questo post.

Roba da Museo

C’è questa iniziativa che davvero deve risolversi positivamente. Il MuPIn cerca una sede, e ri$orse, merita davvero. E diventerà una cosa di cui noi torinesi, piemontesi et al. potremo vantarci.
Sono stati loro che hanno organizzato un evento riuscitissimo, due giorni di appassionati con meraviglie tutte più giovani di me ma tutte ormai quasi introvabili. Ma se nasce il MuPIn lì si troveranno, à la eureka! (cit.) 😀

2737
Io ci sono stato sabato, eccomi, a destra, con Marco Bruno.
Due cose: 1) sì mi è venuto uno sfogo, come si vede nella foto; e 2) sì ero appena arrivato, accaldato, stavo tentando di togliermi il giubbotto ma sapete come sono i fotografi… 😳

E pensa te il prof Roberto Dadda

Elia Bellussi, Roberto Dadda, Andrea Poltronieri.

Elia Bellussi, Roberto Dadda, Andrea Poltronieri.

2759-0
HP9821A, OS: hpbasic, Memoria: 421 registri, c’era a Geotecnica al Poli quando ero studente, anni ’70.

cray
Scheda Cray C90-4 384 MB

2759-2
MacIntosh 512 autoassemblato, 512 KB. Lo chassis è di un hard disk HP, pesantissimo, l’immagine la prima barca di Giulia Bruno.

13
Commodore Amiga e

14
Atari di cui chissà dove ho messo gli appunti 😳
Manca la foto del TI99/4A, di cui, prima o poi, vi racconterò…

2762
Adesso qualcosa di nuovo di pakka…

2764
sì, i robottini, con Arduino dentro

2765
e –forse– siamo in via di superamento delle discriminazioni di genere

2772
Tornando a noi il display del 9821, con un numero mysteryousassay

2778
La P101, anche qui numero già visto, chissà cosa mi rappresenta?

2786
l’hanno aperta!

2751
Ah! e questa?

2779
dai, difficile: anticipo ma poi il Marco ci racconterà (non si sa ancora dove, probabilmente al MuPIn): è l’amplificatore di lettura della linea magnetostrittiva 😳 tutto chiaro, vero?

Un po’ di link, ma poi ci saranno altri post anche qui su questo blog.

Parecchie delle foto qui sopa le trovate su Facebook, qui.
Sempre il MuPIn su FB, e il suo sito qui. E prossimamente avrà una sede 😀
Archeologia Informatica.
ITIS Enrico Fermi, Bibbiena, interessantissimo, sono loro che hanno l’ELEA. Se recupero le foto le posto. Li trovate anche qua.
ITIS Pininfarina di Moncalieri; ho parlato con un giovane prof davvero smart, purtroppo non ho il nome. I ragazzi avevano un robot davvero smart (cioè mi sono incantato a vederlo girare finché hanno chiamato la neuro).
Della P101 ho già raccontato, cose personali, qui.

Continua, prossimamente, forse :mrgreen: