Archivi Categorie: Storielle

Storie varie sul rutilante mondo dell’informatica

Rapporto: bad mood

Un po’ di cose capitate tutte una a ridosso dell’altra che mi stanno scombussolando ancora più del solito. Comincio con un tweet introduttivo, questo, poi sviluppo.

😯 996 😯 incredibile! Ma leggendo il thread e quello indicato in apertura risulta che sì, c’è chi fa cose così.

Anche da noi, vicino a me. Proprio ora è saltata fuori questa richiesta: “si può automatizzare?”. Il soggetto, che non indico, è un’operazione ripetitiva, noiosa, assolutamente senza senso di per sé se non vista come supporto al capo, autore della richiesta.

Beh… è ripetitiva, e con Linux dove ci sono millemila tools che fanno tutto e chiedendo a StackOverflow e Git{Hub, Lab} e  googlando  duckduckando e … OK, salta fuori un prototipo, rozzo, l’output dev’essere corretto pesantemente, forse si perde qualcosa (ma anche a mano…). Insomma da rivedere, domani mattina. L’indomani maturano diverse cose quali: quando spesso si usa, per quanto tempo, perché non ho pensato a quest’altra cosa (elementare). E dev’essere per Windows, quindi qualcosa dev’essere rivisto. E, in conclusione: no. Quando si dice la combinazione (o è serendipity?): ho il tweet! 🤩

Ho passato qualche ora con Windows 10, da tanto che non lo vedevo, è cambiato, cresciuto. E diventato ancora più alieno, per usarlo servono capacità che non ho; davvero. O sono gli utenti? E il telefono, ci sono info che viaggiano e muoiono sul telefono; forse si potrebbero gestire anche con il computer ma non si fa. Anche perché invecchiano subito.

Forse c’entra anche Burioni: non per il suo modo di blastare chi se lo merita ma perché ha fatto emergere il principio dell’autorità e la sua critica, da tanti, troppi per citarli. Ecco, nella pratica a volte (io vivo in fondo alla West Padagna, qui i ruspanti si contano a dozzine come le uova) siamo sicuri che con il dialogo, il ragionamento, la logica, … 😐 OK, qui mi sto lasciando andare, sto esagerando, forse dovrei cancellare.

Ancora una cosa, su Linux: ormai l’hanno capito tutti che non è da tutti. Capita chi ci si trova bene perché gestisce un server internet (con Linux dentro, non è detto) oppure perché ricorda il ‘puter di una volta (ed è molto meglio di allora, decisamente migliore, senza paragone) ma resta un fenomeno marginale. OK, tutto bene ma i nuovi a volte si lasciano travolgere dall’entusiasmo. Non sanno che –uh! lo dice meglio lui, qui.

Poi mi passa, nèh; anzi già passato, non leggete questo post 🤢😳🐻🌩🎆

OOPS! a volte capita

Magari poi la cancellano o la correggono e allora è meglio fare uno screenshot perché come incidente è lolloso assay.

Almeno per quelli come me, adesso mi spiego.

Ah!, è qui; un posto affidabile, una delle mie fonti per le rassegne settimanali.

Ma come dicevo da subito, anche senza volerlo, l’occhio cade su un particolare che calamita l’attenzione in modo da annullare tutto il resto, non solo la notizia, tutto quando. Senz’altro l’avete visto anche voi e posso chiudere qui il post. Ma metti che la vostra storia sia diversa, anche solo per questioni d’età (fortunati) e allora evidenzio (e catturo l’evidenziazione):

Ebbene sì, Sun inteso come Sun Microsystems stava per Stanford University Network ma —pensa te!— per SlashDot identifica il sole. A volte l’ononinia… 😊

Lavorare sotto pressione – uno sfogo

Ho bisogno di dirlo a qualcuno; è uno sfogo, un post che si può tranquillamente non leggere. A meno che non sia capitato anche a voi qualcosa di simile. O siate del tipo che in un eventuale caso come questo continuerebbero ad agire come al solito. Insomma ve lo racconto, tanto è breve.

Salta fuori che c’è un’emergenza, si deve fare questa cosa prima di subito e vediamo se te (che sarei io) hai idea del perché proprio non viene. Arriva lo scriptino, pochissime righe in Python anche se il codice finale sarebbe stato in Rust; ma il linguaggio nen è importante, non c’entra.

Spoiler qui: ho letto lo script e questo è stato l’errore. Avrei dovuto basarmi sulla richiesta e mettere giù la mia versione. Invece sono stato condizionato e niente, dopo un po’ di scambi d’opinioni sempre più esoteriche e a seguito di consultazioni frenetiche a Stack Overflow, manualistica Unix,  googlate  DDGate e altro ancora ci siamo arresi.

Nella notte (era già oggi) l’illuminazione. Sì, quello non l’abbiamo provato e ha anche un nome googlabile, quasi-quasi… Mi alzo e provo… OK, l’ho fatto, ha funzionato al secondo tentativo di script. No, non dico cos’era ci faremmo la figura dei toninelli 😐

Ma, ripensandoci, non ho scoperto niente di nuovo:

Numeri in notazione scientifica – a volte…

Giggino ha trovato il modo di farci risparmiare 20000000000; bravo Giggino! 😁 OK, scritto così non si capisce, visto che sono €uri facciamo come gli economisti, usiamo il foglio di calcolo tipo Excel

Ahemmm… come prima; Uh! ‘spetta

Perfetto! venti miliardi di . Notare che così va bene per noi e i francesi e i tedeschi ma non per inglesi e ‘mericani che scriverebbero così €20,000,000,000.00.

Noi queste cose non possiamo farle. E pensare che a volte …, per esempio:

Ancora più difficile il caso del problema dei buoi di Archimede, ma lui è unico 💥

OK, possiamo usare la notazione scientifica per i numeri troppo grossi o troppo piccoli.

Comoda; lì l’attenzione si sposta sull’esponente. In qualche occasione questi esponenti sono usati a nostra insaputa (cit.):

Resta da spiegare alla ggente che magnitudo 6 non è il doppio di magnitudo 3 ma è un concetto difficile, io ci ho rinunciato da tempo.

Tutta questa introduzione su cose che tutti sanno è perché a me è capitato che la notazione scientifica mi ha fatto cercare un bug che in realtà non esiste. Adesso vi conto.

Un’elaborazione lunga da calcolare a mano ma in fondo semplice che produce due grafici e una lista di indici finali mi dava risultati troppo buoni. Eppure i grafici avevano la forma solita, a parte un particolare che ho visto solo dopo, molto dopo. Erano gli indici, troppo ottimistici.

È risultato che ho copiato male un numero scritto (male) su carta: 4e3 l’ho letto come 403 👿 Da notare come il numero (il valore giusto è 4046.9) non sia tale da giustificare la notazione scientifica ma così era scritto. Insomma è capitato qualcosa di simile:

Da notare che se il numero fosse stato più preciso (cioè con il punto decimale, 4.05e3) il risultato sarebbe cambiato ancora:

Semplice vero? Come ho fatto a non vederlo subito? Murphy, ovviamente.
Se guardavo i valori sulla scala delle ordinate dei grafici stanavo subito l’errore. Inoltre il programma non ne ha colpa; anzi è bello che consenta di operare con numeri di dimensione a piacere (entro certi limiti). E chi è che oggi usa l’acro per l’area, fosse la giornata potrei anche capirlo ma l’acro no.

Julia e le zines

In questi giorni per recoverarmi da Haskell ho refattorato un vecchio programma. Anzi no, cambiato tutto, riscritto in Python. La tentazione era di usare un altro linguaggio, completamente differente, questo sarebbe stato il kernel

Ma spesso ci sono vincoli d’ambiente, detto in altri termini non tutti sanno quant’è bello Racket, e allora Python, con uso massiccio di dizionari. Si sarebbero potute seguire altre vie, p.es. usare un database ma –OK, troppo lungo raccontare tutto.

Ho riscoperto cose, come la legge di Hofstadter ma non solo. Ho detto in precedenza che un’analisi insufficiente è la causa di frequenti cambiamenti e rifacimenti ma sbagliavo: mi è capitato più volte di sentirmi dire “ah! 💥” e modificare il codice della sessione precedente, come ho fatto a non pensarci  prima  subito? 😡 C’è spesso un modo più semplice 😋

Non metto il codice, troppo lungo, anche perché sicuramente privo di interesse per il mondo intero.

Post troppo corto? Allora, combinazione ho proprio qui una cosa che devo raccontare, troppo bella. Anzi belle, un mucchio di zines. Lascio la parola all’autrice, Julia b0rk Evans:

A zine is a short, usually self-published booklet. Most people who are familiar with zines probably know them from punk zines, art zines, literary zines, feminist zines, or anarchist zines. I love zines like that, but I’ve been doing something a little different — for the last 3 years, I’ve been writing zines about programming concepts!

To get an idea of what I’m talking about in this post: I have a bunch of zines you can read for free at jvns.ca/zines. If you love those you can buy my latest Linux zine at bite-size-linux.

OK, c’è tutto qui. E Julia si può seguire su Twitter e sul suo blog. Trasmette entusiasmo 😍

Le zines mi ricordano gli appunti che prendevo a scuola (si usa ancora, lo {fate | avete fatto} anche voi vero?) Ma gli appunti di b0rk hanno un qualcosa in più: se saltavo una lezione e usavo gli appunti di un compagno non mi trovavo, non erano miei, comprensibili, non attivavano i collegamenti a quanto detto dal prof. Ah! ecco, trovato: le pagine di Julia sono come i trasparenti, acetati, slides –quelli che adesso sono diventati digitali e (finalmente) si ci è accordati a come si chiamano. E, a differenza di quanto capita a volte, quelli di Julia sono fatti bene, funzionano senza il relatore che parla (a volte legge). Per essere zines propriamente dette andrebbero stampate, ma anche no.

Dice Julia che non dicono tutto-tutto. Vanno integrati, come dice qui: a “further reading” page for the end of my command line tools zine. Quando si dice la serendipity: il tweep b3h3m0th commenta, con un suggerimento.

Vero. Io, per esempio, ho scoperto che i dizionari in Python sono cambiati, πάντα ῥεῖ, e allora via con la documentazione.

Linux e la completa compatibilità con Windows e i Macs

Se lo chiede Slashdot, qui. Cioè lo chiede ai suoi lettori.

Io sono vecchio e non conto, ma se qualcuno volesse anche il mio parere lo metto in fondo a questo post. Perché

Al momento ci sono 333 (anzi di più, quello quando scrivevo adesso sono aumentate) risposte. Riporto qualcuna delle più sexy.

dunkindave: Could it? Yes. Will it? No. The other OSes will always be putting something in that makes it break, and playing catchup isn’t viable. You also don’t want always to be the tail getting wagged by the big dogs.
Risposta che condivido, è una che si sente spesso.

WarJolt: The question is malformed. Will Windows and Mac ever be made compatible with Linux? Windows 10 has implemented Linux system calls. You can run Linux apps on Windows.
Magari in qualche misura le cose qualcosa sta cambiando o cambierà. Per asesso non ho visto utenti Windows (tra chi conosco) che usi o anche sappia che si può fare. Gli script volanti che farei per la shell li scrivo invece in Python.

Più articolato Junta: I suppose the goal is ‘can linux desktop become the universal application platform’ and the answer is theoretically yes, practically, no.
Poi entra nei dettagli, tutti veri.

bondsbw prende le difese di Windows, non so rispondere senza ripetermi.

postbigbang: One day a VM or container will contain enough guts to safely run the apps in less than a hypervisor mode. Until then, the answer for all three is: Not really.

DickBreath dice anche altro ma di nuovo ha che A significant fraction of people who don’t use computers in their job get by with chromebooks. A whole chromebook generation of school children is also growing up. E c’è un’altra categoria di utenti ancora non nominati.

Storie di utenti (sempre donne) da techno-vampire, aneddoti.

F.Ultra: Why is this even a question? If you want to run your Windows 10 applications, why don’t you simply use Windows? Why switch to Linux if you just want it to be another form of Windows?

E tanti altri ancora. Io ho contatti limitati, non sono rappresentativo, ma vedo solo Windows e le applicazioni che vengono usate sono poche: Office, non sempre quello Microsoft, AutoCAD, programmi vari per la contabilità e quanto serve per Internet, in genere Chrome. Ah! l’antivirus, certo; in genere chiede di essere aggiornato ogni pochi minuti, peggio di Poltrone & Sofà. Da qualche parte si usa anche Linux, in dual-boot o su una macchina del cluster.
Ovviamente poi ci sono quelli che fanno per il Web, adesso anche Facebook e Twitter (e forse altro ancora).

Ma –secondo me– manca una categoria di utenti. DickBreath cita il Chromebook, non so se c’è anche da noi. Ci sono invece i telefoni (e i tablets). Usatissimi per i social ma anche per tutto quanto riguarda lo scambio di messaggi e informazioni, anche vocali. C’è chi lo fa continuamente, anche di notte; anche quando vede la partita deve commentare. Ci sono quelli più parsimoniosi ma anche loro sempre con il telefono a portata di mano. E non lo spengono mai. Ed è prioritario, appena suona bloccano tutto “scusa” e escono dal mondo. Forse io sono troppo di parte, confesso che non uso il telefono (e quando lo dico a Twitter e Facebook non mi credono, continuano a chiedermi in numero), non so bene come si usa ma mi affascina osservare. Lo schermo è piccolo ma con due dita si seleziona l’area, con altre due dita, i pollici, si scrive. Ecco una volta si guardava quante dita venivano usate e due sarebbe stato considerato un livello pessimo (OK, c’era anche ci usava solo un solo dito e ogni tanto doveva cercare il tasto), cambiato tutto.

Infine una previsione per il futuro, ma prima di quanto pensiamo: Windows, MacOS, Linux non sono per sempre, prossimamente faranno la fine di tanti altri che ho usato che –OK, il solito vecchio ricordo sui bei tempo andati 😉

👽

Una definizione meravigliosa

Da piccolo avevo un terminale collegato a un mini (per i giovani: un armadio con qualche terminale dumb collegato via  RS232  seriale, una stampante a catena, un hard disk di ben 80 MB, roba come il mitico PDP 11; in realtà Pr1me 550) con il Fortran. OK, c’era anche qualcos’altro, l’assembler PMA, e il CPL (un linguaggio di scripting interpretato che serviva per via che la shell (che non si chiamava così) non era programmabile). Erano tempi pre-Unix, anzi il PrimOS era un derivato di Multics. Una nota ancora per i giovani: io sto barando, tutte le sigle e i nomi dovrei scriverli tutto maiuscolo.

Poi a un certo punto è arrivato un Basic, atipico, mai usato. Invece leggendo il GEB mi viene la voglia, chiedo al tecnico (allora l’assistenza era indispensabile, costava anche cara) e ottengo un nastro con il Lisp, il Pascal e forse altro ancora che adesso non ricordo. Il Pascal l’ho provato per un po’ la sera con uno studente ma chi m’intrigava era il Lisp. Ci sono dei siti (per esempio qui e qui) con raccolte di documentazione dell’epoca ma del Lisp non ho trovato traccia. Forse era solo una beta o qualcosa di non ufficiale. Chissà.

Ci ho passato un po’ di sere con manuali fotocopiati dopo ricerche varie: “cos’è che hai in mente di fare?”, “perché?”, “ma fare come fanno tutti (cioè in Fortran)…”.

Insomma quella voglia mi è rimasta, tanto che poi ho provato anche con versioni più serie (sì, CL (Common Lisp)) su altre macchine. Ma non ho mai prodotto niente di usabile. Fino a quando uscito dal mondo del lavoro e con Linux ho trovato un’infinità di risorse. Ne ho utilizzato diverse versioni, anche eretiche. Poi sono passato a Scheme, cioè Racket. Una meraviglia. Adesso che sono alle prese con Haskell non devo pensarci troppo altrimenti mi viene il magone.

Non l’ho dimenticato, è sempre nella mente e nel cuore (ahemmm…). E oggi questa definizione, un cinguettio così bello che lo copio e metto nel blog per non dimenticarlo:

Lisp is a recognition that whoever designed the language doesn’t know what problems you’d want to solve with it; so you may want to change the language.

La cit. è di Will Byrd, dovrebbe essere quello di The Reasoned Schemer, c’è anche su Twitter, cercando il tweet ho deciso di followarlo. Non ho trovato invece la fonte iniziale.

Tornando alla cit. bella vero? Tutto anche per via delle macro, mooolto diverse da quelle del C.

Ah! già che si parla del meglio questo potrebbe essere ancora migliore, lollando, così:

L’amico Edo dopo aver letto la bozza mi guarda perpluto. Probabilmente –quasi certamente– ha ragione. Quando io ho cominciato il computer era una cosa non da tutti ma a breve sarebbe sbocciata la rivoluzione dei personal. Oggi poi siamo nella maturità della successiva, quella dei telefoni. Per la programmazione poi l’evoluzione non è stata come pensavo, come i lispers pensavano; anche se non si sono estinti, il tweet viene dalla setta dei clojuristi. E mica finisce qui, Edo e voi giovani ne vedrete delle belle (no, non la robocalypse).

👽

Pausa e… –e altro ancora

Sam Altman rockz! 💥 Sarebbe da followare su Twitter ma ne seguo già troppi e si occupa di cose non molto affini ai miei interessi. Cioè sarebbe anche interessante ma troppo difficile stargli dietro senza investire troppo tempo e attenzione. E conosco i miei limiti, per cui per ora un rincrescioso no. Per fortuna c’è chi lo rilancia, oggi mi trovo questo qui.

Quando si dice la serendipitipità! Proprio come dice l’Orietta. Adesso vi conto.
Cioè no, non esattamente, non metto il codice ma rendiconto. Avete presente quando devi scrivere uno script che deve fare qualcosa di relativamente semplice, si può fare a mano ma è lungo e ripetitivo p.es. cercare in elemento in una lista di qualche migliaio senza usare nessun strumento di ricerca, neanche Excel, neanche grep, scorrendo la lista non ordinata. Ecco una cosa così. Inoltre devi usare Python (ci sarebbe il Visual Basic come alternativa ma sono allergico). Vado, c’è Stack Overflow e se non basta Google (ho la pessima abitudine di non considerare DuckDuckGo).

Dopo qualche tentativo ho scoperto che anche con le Batteries Included sto cercando qualcosa che o non c’è o è nascosta in qualche package che non riesco a identificare. Parto con la ricerca e trovo solo una manciata di casi vagamente simili.

A dirla tutta abbandono presto l’idea di cercare solo Python, se trovo la dritta con un altro linguaggio e capisco come si deve fare… Mi perdo sempre di più, nessuno che ha avuto mai il mio problema? In questi casi mi faccio prima un caffè e poi una passeggiata con i miei cani, il bello di essere in campagna, qui in fondo alla West Padagna 😁

È incredibile, mi sorprende ogni volta, come staccare aiuti. Ieri ho deciso, già durante la passeggiata che sbagliavo tutto! cioè, detto in termini meno tragici, dovevo affrontarlo in modo molto diverso. Tra Linux e Windows ci sono differenze profonde, essenzialmente gli utenti. Non so spiegarlo sinteticamente in modo razionale ma do per scontato che non si possa chiedere a loro di usare cose come il terminale, questione di evoluzione culturale. Considerando l’uso di un paio di funzioni JavaScript inserite in una pagina HTML in locale risulta che, anche se meno elegantemente del progetto iniziale, si può fare. Entro sera avevo il prototipo funzionante. Per sicurezza lo zippo e lo mando al destinatario; ho fatto tutto su Linux e non vorrei mai che ci fossero sorprese.

A questo punto devo chiamare Srinivasa Ramanujan come testimone. È noto che la dea Namagiri gli suggeriva cosa e come fare.
Ramanujan dice il vero, anche se Namagiri è da intendersi come una personificazione di Sua Pastosità il Prodigioso Mostro Volante degli Spaghetti, FSM. Che questa notte, appena prima della sveglia mi ha dato la dritta! Ecco perché non trovavo niente ontehtoobz! Era troppo semplice e c’è senz’altro in Excel. Uh! non ce l’ho ma consulto la documentazione online; sì, si può. Trasferimento a casa del cliente (se gli dicevo tutto via mail risultava che gli fornivo solo un link) e fatto! 👽

Al ritorno scopro su Twitter una meravigliosa meraviglia che purtroppo è ormai scaduta, a meno di considerarla decisamente troppo in anticipo. Ma è troppo bella, la metto lo stesso, se mi ricordo saprò dove trovarla l’anno prossimo. Sempre che continui il tormentone –che quelli di Windows non capiscono, non è razzismo ma non è per tutti– questa:

😁

Facciamo che gli faccio un fax

Questa è una storiella che volevo raccontare da un po’, ne avevo parlato con un mio giovane collaboratore che rockz on teh webz (assay) ma per lui era no, non era credibile.

Poi giovedì questo tweet di un torinese tosto che dovreste conoscere. Io l’ho visto al Linux Day, al Centro Nexa, è attivo su Twitter e da altre parti ancora. A proposito di Twitter la sua fotina la odio: quella forse mosca, forse no ma in ogni caso bòja (per i non locali: insetto) che cammina|vola mi da i nervi. Ma si diceva, ecco l’avvocato Carlo Blengino e questo è il tweet.

Visto? Nel 2018 (o, per essere precisi ed evitare possibili contentazioni, fine 2017) si parla del fax, con il suo nome da festa: telefax.

Adesso vengo alla mia storiella. Da noi dal Tabachin si possono comprare le sigarette, i giornali, lotto e lotterie, i biglietti del pullman, ricariche del telefono e servizi informatici, per esempio ti fa la stampa, la fascicola. E ti fa anche il fax. “Ho da fare questo fax”, l’ho sentito io perso. Non ho osato svolgere indagini in situ e –spheega– sono stato servito subito 😡

Poi l’ho raccontato a uno che produce industrialmente roba per il Web –compresi Facebook e Twitter– ma mi ha guardato con un’espressione che non vi dico e telepaticamente ho sentito “questi vecchi… alle volte… bisogna capirli… compatirli…”. Insomma non mi ha creduto. Avrei potuto dirgli che i calendari dei mangimifici (ne ho diversi in casa) hanno i numeri dei cellulari, del telefono fisso RA e del fax. Avrei anche potuto dirgli che a casa ho l’elenco telefonico della provincia di Cuneo (anche se non è la mia) su carta, le Pagine Bianche (da qualche anno sono invece sprovvisto di quelle Gialle). Ma meglio ancora il cinguettio del Blengino. Quello dovrebbe chiudere la questione, ristabilire la mia credibilità.

Ecco, quello che volevo dire l’ho detto. Ma non so se questo è un post da leggere; anzi se non avete motivi particolari non leggetelo. Ma sappiate che il fax…

🤩

Presto! uh! no, ripensandoci…

Non so se capita solo a me che sono lento a capire le cose o è un problema più generale che riguarda l’umanità tutta. Niente di grave ma vorrei condividere cosa mi è capitato ieri pomeriggio. E poi questa mattina, presto, molto presto. E cosa mi perplime 😯

Ieri salta fuori improvvisamente un bug in uno script stagionato ma sempre attivo. Niente di grave ma in un caso –improbabile– viene saltata la fine di un blocco di testo fino all’inizio del paragrafo successivo e la pagina HTML, se uno la leggesse, vedrebbe una frase senza senso. Una cosa simile a quello che ho raccontato qui.

Il caso che sto raccontando però è diverso. Era un bug vero, per una condizione non prevista, forse perché improbabile, è saltato fuori eri e scoperto finalmente.

La correzione dello script ha richiesto pochissimi minuti, un paio di verifiche volanti e via.

Tutto bene quel che finisce bene! Ahemmm, no, non esattamente. Questa mattina dopo il primo caffè ho visto la luce: il codice

if stringa buggosa then
  modifica la stringa buggosa
endif

dev’essere eseguito subito, una volta per tutte, ci sono almeno due punti dove si può fare, non durante la creazione dell’HTML.

Detto così sembra banale, anzi quasi inutile. E la soluzione pensata ieri (cioè non tanto pensata in realtà) era la più immediata: qui c’è il bug, correggo qui. Ma poi, anche l’eleganza, dai 👌

Adesso, corretto il bug e in attesa del prossimo, la domanda finale: capita solo a me di essere troppo precipitoso “ah, ecco!”. O no?

Io poi sono recidivo 😡

🤩