lunedì 16 aprile 2018

Una sequenza misteriosa e cosa non salta fuori

Avete presente la domenica pomeriggio? Quando non c'è niente di meglio che annoiarsi o katsikkiare ontehtoobz. Tipo ieri, adesso vi conto.

Mi salta il ghiribizzo di far condividere con Zuck e i miei amici di Facebook un 'dovindovinello, questo:


Chissà se a qualcuno potrebbe 'nteressare --uh! subito Gianni

Gianni: Non ne sono certo, ma io penso che la sequenza continui così: 2 9 6 3 0
Ovvero, ho messo in fila la sequenza di numeri da 0 a 9, e son partito a depennare la sequenza data. Ogni numero salta tre posizioni all'indietro. Tornando a 9 dopo lo 0, come se la sequenza fosse chiusa in un cerchio, e continuando a muoversi di tre posizioni per volta si ottiene questa sequenza.

Nino (hey, it's me!): Sì e no. C'è un modo più semplice per vederlo, una legge sottostante. Ce la puoi fare, ci sei quasi

Gianni: No, no, io gna fo! Ma gli altri sono senza dubbio più bravi di me. Attendiamo.
Sì, in realtà basta concentrarsi sui numeri 7,8 e 9, a questi sottrarre in sequenza 3 e 3+3, e quindi chiudere con lo 0. Ma è la stessa cosa.
L'idea del cerchio mi piace di più

Nino: Sì hai ragione (100%); ma ricorda cosa studiavi in seconda o terza.

Gianni: Ricordarmi cosa studiavo è fisicamente impossibile. Ogni neurone attivo allora è certificatamente deceduto!

Nino: Le tabelline per esempio e roba simile

Gianni: Che Pitagora ti si porti! Le tabelline le ricordo, ma nulla di così arbitra...urca, i tasti del telefono! In fila per tre col resto di zero (il neurone del mago Zurlì s'è riattivato).

Nino: La fai troppo complicata. Come penitenza recita ad alta voce tutte le tabelline. Anzi scrivile.

Gianni: Ma non c'è nulla di complicato nei tasti del telefono!
Va bene 1*1, 1; 1*2, 2; 1*3, 3...

Nino: ah ha! non ci ricordiamo le tabelline, confessa.

Gianni: Quella dell'1 la so. E anche quella del 10! Ero forte in matematica, cosa credi?


OK, Gianni non sa le tabelline.

Però ripensandoci quella del telefono è davvero bella 💡 bravo 💥Gianni💥

Perché --soluzione qui-- la mia sequenza era una tabellina, quella del 7. Ma Gianni mi fa notare che ce ne sono altre due, quella dell'1 e quella del 9. E tutte tre sono sul telefono 😁

Aggiornamento: .mau. fa notare che c'è anche quella del 3.
E così adesso siamo rientrati nel caso dei tre moschettieri, tout se tient.

Forse serve un po' di spiegazione, devo dire qualcosa di mate --fermi lì! è semplicissimissimo, dai, non fate così! E sarò brevissimo.

Ricordate quando avete imparato le divisioni? Io me le ricordo così, faccio un esempio:

35 : 10 = 3 con il resto di 5.

I matematti chiamano il resto modulo e di solito nei linguaggi di programmazione (p.es. Python) si scrive %, così:

(la divisione tra interi con Python si indica con // mentre / è quella solita che da come risultato nel nostro caso 3.5).

OK, con queste premesse il programmino (i nerds direbbero script) è semplicissimo:

for n in range(1, 11):
    print((7 * n) % 10, end=' ')
print()


Se l'espressione vi sembra troppo complessa si più suddividere così:

for n in range(1, 11):
    t = 7 * n
    r = t % 10
    print(r, end=' ')
print()


Semplice vero? Ma anche le idee 💡 di Gianni 💥
E voi che ne dite?

👽

martedì 30 maggio 2017

Uh! 'n altro compito di mate


Io non è che sono tanto bravo. Anche perché gli esami li ho fatti, quasi tutti (devo rifare quello dell'acido urico ma non ho ancora cominciato a studiare, non ho nemmeno il libro). Ma intanto la mate si diceva. Ed ecco John D. Cook, un poly-nerd, über-assay, Algebra Fact: ‏If a, b, c, and d are consecutive Fibonacci numbers, then c^2 - b^2 = ad.

Siccome che ci ho qui il 'puter prima verifico con lui, solo Python, il linguaggio più usato che raccomando (per quasi tutto).

#creo la lista dei primi 10 muneri di Fibonancci
lista_fib = [0, 1]

def FibList():
    for n in range(2, 11):
        lista_fib.append(lista_fib[n-1] + lista_fib[n-2])

def verif():
    F_spec = '{:3d} {:3d} {:3d} {:3d} - {:4d} {:4d} -  {:4d} {:4d}'
    print('  a   b   c   d -  b^2  c^2 - c2-b2  a*d')
    for i in range(8):
        a = lista_fib[i]
        b = lista_fib[i+1]
        c = lista_fib[i+2]
        d = lista_fib[i+3]
        print(F_spec.format(a, b, c, d, b**2, c**2, c**2 - b**2, a*d))
     
FibList()
print(lista_fib, "\n")
verif()



Vale anche --ovviamente-- con serie simili a quella di Leonardo Pisano inizianti con numeri diversi, per esempio iniziando con la coppia 2 e 5 ottengo:


Il codice è molto simile al precedente, lasciato come esercizio.

Ma quando capita con tutti i numeri viene da chiederci "coincidenza?"
Roberto Giacobbo --immagino-- penserebbe di no, io anche, non so voi ma ecco


OK. Anche dai commenti al cinguettio comparsi nel frattempo.
Roba da mat 😎

sabato 27 maggio 2017

Uh! 'na cosa di mate da verificare


Tutto è partito da questo tweet, altamente ispirativo, come si vedrà (forse, anzi probabilmente, almeno secondo me) nel proscieguo.

Prima di subito ecco l'idea: da verificare! 😜
Quando ho cominciato a interagire con i 'puters avrei usato strumenti molto diversi ma --ehi! siamo nel secolo del Pipistrello della Frutta, mica per niente! 🤖-- e allora si usa un linguaggio di scripting, interattivo (volendo), lasciando ai linguaggi più seriosi compiti più impegnativi.

Convinto che tutti (tutti davvero 😎) capiranno subito e finanche diranno "ah! tutto lì? ma allora c'è un gomblotto, perché non me l'hanno detto prima che è così semplice?". È proprio come dico sempre io, a me nessuno dice mai niente (auto-cit.). E adeso scopro di non essere il solo.

Io ho Linux sul mio 'puter ma tutto quanto vale anche per chi ha un 'puter diverso, qualunque esso sia. E userò linguaggi molto conosciuti, di moda, almeno per due su tre; anzi non parto dal mio preferito ma da uno che --a parte il nome, ma tranquilli non stritola-- è semplice-semplice, semplicissimo, Python.

Una cosa prima di cominciare: il tweet dice "any" che possiamo tradurre con "ogni" o "qualunque". Qui bisogna fare attenzione perché i matematti quando dicono "per ogni" intendono che il numero può essere davvero grande; più di quanto pensate; più del googol; più del googolplex, quella è robetta --per loro. Seriamente finiamo dalle parti di 0, chiamiamolo aleph-zero, un numero decisamente esagerato.


Io non voglio arrivare a tanto mi accontento di un milione. Qui 'na cosa: semplificando per il 'puter ci sono due tipi di numeri, quelli interi, giusti e gli altri, quelli con la virgola che sono troppi ma basta approssimarli; anche perché l'approssimazione è (quasi sempre) più di quella richiesta.
Gli interi invece, se non troppo grandi (in valore assoluto) sono esatti, se a un numero aggiungi 1 ottieni il successore di quello stesso numero e fai contento anche Peano. Il numero più grosso di quelli non troppo grossi quando ero piccolo era 65536 (216) ma se vuoi il segno si riduceva a 32767 (215 - 1); poi le cose sono migliorate e il numero più grande non troppo grosso e con il segno è più di 2 miliardi (duemila gianfranchi), non so nemmeno il valore preciso (di 231 - 1) perché non si deve fare sempre attenzione a non superarlo.
E come se non bastasse c'è la precisione arbitraria, come verificheremo.

OK, fine delle premesse, con Python il problema della verifica dell'affermazione del tweet è, nella sua formulazione più semplice questo:

#!/bin/ env pytjon3

'''verifica di kwesto tweet
https://twitter.com/fermatslibrary/status/866641567511195649

'''


def lastdigit(n):
    return n % 10
  
for n in range(1, 1000001): # 1 million
    if not(lastdigit(n) == lastdigit(pow(n, 5))):
        print(n)



fa cioè il test per tutti i numeri da 1 a 1 milione, scrivendo solo quelli che non superano il test. Sulla mia macchina ci mette circa 7 decimi di secondo (wow!).

A dire il vero lo script (un programma corto eseguito in quel modo si chiama così) è la traduzione di un altro, più bello, secondo me, questo:

;; verifica di kwesto tweet
;; https://twitter.com/fermatslibrary/status/866641567511195649


(define (last-digit n)
  (modulo n 10))

(for ([n (in-range 1 1000001)])
  (unless (eq? (last-digit n) (last-digit (expt n 5)))
    (printf "~a " n)))



Vero che Racket, cioè Scheme, cioè il Lisp è più bello?
OK, i pareri possono variare 😊

Ultimamente è diventato ubiquo JavaScript, usatissimo non solo nel Web ma anche come linguaggio introduttivo alla programmazione. Lo script diventa così:

// verifica di kwesto tweet
// https://twitter.com/fermatslibrary/status/866641567511195649


function lastDigit(n) {
  return n % 10
}
  
for(var n = 1; n <= 1000000; n++) { // 1 million
  if (!((lastDigit(n) == lastDigit(Math.pow(n, 5))))) {
    console.log(n);
    break;
  }
}


Notare che c'è una modifica: appena trova un numero che non verifica la condizione si interrompe. Difatti ecco:



OOPS! ma allora quella cosa della precisione arbitraria...
Verifico:


E sì, sembrerebbe davvero che 15535 = 9033525579302993 = 9'033'525'579'302'993 = nove milioni di miliardi abbondanti sia troppo grande per Node, cioè JavaScript.
Ma gli altri linguaggi siamo sicuri che facciano davvero tutte quelle verifiche? Facciamo una piccola modifica: ci facciamo scrivere il numero che stanno testando quando questo è un multiplo di 50mila:

;; verifica di kwesto tweet
;; https://twitter.com/fermatslibrary/status/866641567511195649


(define (last-digit-p n p)
  (when (and p (= (modulo n 50000) 0))
    (printf "~a " n))
  (modulo n 10))

(for ([n (in-range 1 1000001)])
  (unless (eq? (last-digit-p n #t) (last-digit-p (expt n 5) #f))
    (printf "~a " n)))
(printf"\n")


e

#!/bin/ env pytjon3

'''verifica di kwesto tweet
https://twitter.com/fermatslibrary/status/866641567511195649


'''

def lastdigit_p(n, p):
    if p & (n % 50000 == 0):
        print(n, end=" ")
    return n % 10
  
for n in range(1, 1000001): # 1 million
    if not(lastdigit_p(n, True) == lastdigit_p(pow(n, 5), False)):
        print(n)
print("")


Rispetto alla precedente versione (per entrambi) la funzione che controlla l'uguaglianza delle cifre finali ha un parametro in più, p (per print) che attiva la funzione solo se vero (quindi per il numero e non per la potenza). In ogni caso ottengo questo risultato:


Per la versione JavaScript invece di bloccarlo supito al primo numero non verificato si può proseguire, fino a 10 casi, ecco:

// verifica di kwesto tweet
// https://twitter.com/fermatslibrary/status/866641567511195649


function lastDigit(n) {
  return n % 10
}

var noOK = 0, nStr = ""; 
for(var n = 1; n <= 1000000; n++) { // 1 million
  if (!((lastDigit(n) == lastDigit(Math.pow(n, 5))))) {
    nStr += n + " ";
    if(noOK++ == 10) {
      console.log(nStr);
      break;
    }
  }
}



Uhmmm... parecchi, tanti. Ma sono numeri grossi, novemila gianfranchi di gianfranchi 🐙

Nota: siccome non so come togliere l'a-capo a console.log ho memorizzato i numeri in una stringa che ho visualizzato alla fine; decisamente JS non è il mio linguaggio preferito. Anche se lo usano anche a Stanford.

Facile vero? Acchiappa? 😎

giovedì 1 dicembre 2016

Secondo me dovreste vedere cosa fa Julia


Mi verrebbe quasi voglia di cominciare con John Lennon ma sarei fuori tema (dice Anna che se uso troppo gergo non si capisce e allora non dico OT) prima ancora di cominciare.

Julia è una nerd di quelle toste assay (Anna poi ti spiego), rockz! (anche questa). Ha passato un po' di tempo con gente meno brava, più nuova e ha visto che non tutti sanno tutto.

È vero che non usa Windows (troppo difficile, davvero, concordo) ma tanto quello che racconta vale per tutti, a volte cambiano i momi a siamo lì. E riesce a spiegare (dare un'idea, mica dobbiamo farlo noi, lo fa il 'puter che l'hanno fatto quelli come Julia) cose anche non semplicissime. Per esempio quando io ho cominciato a lavorare questo era una cosa nuova di pakka (Bruna poi ti spiego perché ci vogliono davvero le K; può servire anche ad Anna): CPU scheduling oppure questo, argomento collegato al precedente, roba venuta dopo: Mutexes o qual è il linguaggio materno del computer: Assembly o come funziona la connessione Internet e c'è anche questo sui vecchi (non parla di me, nèh!).

Ecco ho messo tutti link a cose che non so neanche io (me) ma ci sono cose anche meno seriose. E alla fine diventerete [*] un mago della programmazione 😋


* come dice anche Julia richiede tempo e forse non basta quello che vi dice lei. Ma è un'ottima partenza, ottimissimissima.

domenica 9 ottobre 2016

Come si scrivono i numeri?

da Wikipedia

Dipende
. Per esempio questi sono alcuni modi per scrivere lo stesso numero:

0b10000111, 0207, 0x87, 135.

Ma aspetta mi sono di nuovo limitato a un sottoinsieme, quello che uso, si può scrivere anche così:

&O207, &H87, CXXXV.

L'amico Ponder Stibbons mi dice che manca il sistema dei trolls: uno, due, tanti, un sacco.

OK, torno a noi. Di solito usiamo il sistema con base 10, i decimali.
Il sistema a base decimale è recente, ci sono tracce dappertutto di come si faceva prima, chi parla francese sa che dopo 69 viene il difficile, quando ero piccolo a Londra i soldi erano un problema doppio: oltre a non capire cosa diceva la gente vigeva il sistema £sd.

OK, mi sono di nuovo perso, torno a noi, questa volta per davvero.

Consideriamo il numero 135 base 10 come siamo abituati.
Possiamo scriverlo come

1 * 100 + 3 * 10 + 5 * 1

o anche

1 * 10^2 + 3 * 10^1 + 5 * 10^0

Ah! per poter scrivere qualsiasi numero abbiamo bisogno di 10 simboli: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9.

OK?
Dai troppo facile, ma era perché adesso volevo fare un passo avanti. Cambiamo la base. Invece di 10 usiamo 8 come si usava nei 'puters quando ero giovane (anzi prima ancora). Invece dei 10 simboli di prima ce ne bastano 8: 0, 1, 2, 3, 4, 5, 6 e 7.

Ma come facciamo a scriverlo? Vi dico come facevo io da piccolo.
Guardando la spiegazione per base 10 mi costruisco la tabella delle potenze di 8, così:

 n cioè 8^n base-8
 0  8^0   1      1
 1  8^1   8     10
 2  8^2  64    100
 3  8^3 512   1000


Prendiamo il nostro numero 135 base 10 e andiamo a trovare nella terza colonna (quella 8^n) il più grande non superiore al nostro numero. Nel nostro caso è 64. Intanto otteniamo subito un'informazione: il numero base-8 avrà 3 cifre (il numero della prima colonna n, aumentato di 1).
Poi facciamo 2 semplici calcoli aritmetici:

135 / 64 = 2 + un po'

calcolo il resto:

135 - 64 * 2 = 7

calcolo la cifra successiva del numero ottale, usando la tabella:

7 / 8 = 0 + un po'

e quindi:

7 / 1 = 7

Non mi resta che raccogliere le cfre ottenute ed ecco 207.
Facile vero? Crescendo quelli dei 'puters hanno visto che forse sarebbe stato anche meglio usare come base 16 invece di 8.
Basta dirlo, presto fatto. Abbiamo bisogno di 16 simboli: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Gli ultimi 6 possiamo scriverli anche minuscoli.
Costruisco la nuova tabella:

 n cioè 16^n base-16
 0 16^0    1       1
 1 16^1   16      10
 2 16^2  256     100
 3 16^3 4096    1000


e per il numero 135 base 10 si ha:

135 / 16 = 8 + resto
135 - 16 * 8 = 7

quindi raccogliendo ho 87.

Quelli dei 'puters usano anche un'altra base (in realtà ne usano diverse altre, ma mi riferisco a quelle più comuni): base 2, quella dei numeri binari. In questo caso la tabella diventa 0, 1, 2, 4, 8, 16, 32, 64, 128, 256, ...

Come esercizio controllate se è vero che 135 base 10 diventa 10000111 base 2.
Per base 2 c'è un trucco, quello illustrato dall'amico Luigi Bitlux Inannoccaro (rockz! -über), qui.

Ah! 'na roba ancora, anzi due.
Per chi usa Linux c'è un tool (antichissimo ma sempre utilissimo): bc che sta per binary calculator:


Ci sono 2 variabili speciali che fanno al nostro caso: ibase o obase, rispettivamente per input- e output-base:


e anche con numeri più grandi, p.es.:


Uh! per bc non è vero che posso usare i simboli minuscoli.

E per chi non ha Linux (poverini!) c'è sempre la Calcolatrice, ditele Visualizza/Programmatore.


giovedì 16 giugno 2016

La macchina di Antikythera

https://twitter.com/HistAstro/status/742085922049511424

Un mistero archeologico davvero affascinante. Ogni tanto torna a galla ontehtoobz, come l'altro giorno su Twitter.
Twitter è bello per quello, un tweep trova qualcosa e dice "ehi! guardate qua" e chi trova sexy interessante la segnalazione la rilancia e alla fine arriva a me.
History of Astronomy è gestito da  Voula Saridakis, storica della scienza con tanti interessanti interessi, se avessi tempo la followerei. Adesso no, posta troppo e Twitter può essere una fonte di distrazione incredibilmente efficace ☹


Dunque dicevo, Antikythera, inteso come l'oggetto recuperato un secolo fa fra i resti di un naufragio avvenuto 20 secoli prima in prossimità dell'isola ononima è un mistero, ancora, e forse per sempre.
L'opinione prevalente è che si tratti di un meccanismo per calcoli astronomici (la posizione della Luna). Quindi sarebbe un calcolatore: UAU!
Solo che --per quel che ne so, sono niubbo-- non conosciamo niente di simile, nessun testo ne parla.
Erano più avanti nella meccanica di quel che supponiamo i greci dell'epoca? Se sì non è che non consideravano queste cose degne di raccontarne.

Il mio eroe Archimede (più vecchio) è sicuro che si è occupato di geometria, è importante per quello. Si dice anche degli specchi ustori che incendiarono le navi della flotta romana, cosa alquanto dubbia. A me piace di più l'altro; lo sapete che aveva, come me, la fissa dei numeri grandi, se la cavava benissimo anche se non conosceva il googol e il googolplex.

Vero che c'è stato Archita, quello della colomba. "Archita viene considerato l'inventore della Meccanica razionale e il fondatore della Meccanica. Si dice che abbia inventato due straordinarie apparecchiature meccaniche" dice la Wiki. E viene prima di Archimede. Ma, di nuovo, sarà vero?

Peccato che a quei tempi non ci fosse ancora il Web. E Twitter.

martedì 31 maggio 2016

Numeri (sì, sono ripetitivo)


Oggi un tweet del tipo Improbable Research che

is research that makes people laugh and then think.

Eccolo qui, subito

https://twitter.com/SciencePorn/status/737459851194945536

Io che --come forse ho già detto-- vengo a volte accusato --non so quanto giustamente-- di essere ripetitivo a costo di ripetermi vorrei tornare sul problema giapponese, questo: Un problema giapponese di matematica.

Il papà della ragazza (o è la mamma) forse potrà essere giudicato troppo severamente ma dipende dall'ambiente; usi e costumi locali variano a seconda del contesto, ecco qualche esempio pratico:


 Ma nell'ambiente grafico si può fare anche meglio


Poi ci sarebbero anche risorse online, le indicherò se --diversamente dal solito-- interessa qualcuno.
Quanto a me, lo so, è una fissa tutta mia; ma posso smettere quando voglio (cit.) 😋

lunedì 23 maggio 2016

A bit of [hi]story

Sabato un'esperienza interessantissimissima, comincio a raccontare, ma questo è solo l'inizio, poi sarò più esaustivo, prossimamente.

Intanto il posto: Mirafiori, fabbriche della Fiat, sceso dal Sadem sembrava vicino, no, 1/2 ora!
Si passa vicino a questa:


e comunque arrivo troppo presto. Ma sono un quasi-vip, cioè dico che conosco


e entro in anteprima. In realtà è tutto molto informale (poi vi racconto), con il Marco andiamo a prenderci un caffè, detto così sembra facile ma per la zona è tutta un'avventura.

Dentro, da Marco, c'è roba come queste, poi vi racconto, ma i vecchi...


Unico dubbio: avete guardato bene la prima immagine? Qui si vede meglio


Visto? Quasi certamente, anzi sicuramente---- sicurissimissimamente siamo stati scikimikati! Si ripensandoci quelli che c'erano erano mica normali: io li ho classificati come über-nerds ma forse ero già scikimikato. Mi è anche venuto uno sfogo, come vedrete in un post successivo (aspetta un attimino: forse sono diventato profetico, vedo il futuro, limitatamente ai blog, per adesso).

Ah! momenti dimenticavo:


Continua. Prossimamente. Forse.

giovedì 12 maggio 2016

Vero? uhmmm...


Adesso mi faccio dei nemici tutti i nerds che vengono a sapere di questo post. Ma devo farlo (visto che non metto SIWOTI? ma c'è già nei links e non ci tengo a essere considerato ripetitivo) anche perché non è la prima volta che questa cosa salta fuori.

Prima di tutto una precisazione (se non fosse per l'AD ci avrei fatto un gioco di parole dicendo discriminazione, suona quasi, anche se non esattamente, come disclaimer, ma poi mi redarguisce (turna) e allora no).
Biota è una cosa seria, Douglas Adams uno dei miei autori preferiti. E concordo in praticamente tutto quello che dice. Chi può dubitare della trilogia (in cinque parti) della Guida Galattica? E nella serie, purtroppo interrotta di Dirk Gently? E nelle sue sceneggiature e collaborazioni varie per Doctor Who? E ... --ATZ! la memoria (la mia).
OK, qui no.

Per quelli come me c'è anche la trascrizione (transcript), soprattutto la parte iniziale non è tanto buona; e le risate del pubblico sembrano quelle di Scherzi a Parte.

Non è che l'argomento sia nuovo (secondo me), forse sono anche con la luna storta ma non mi attizza più di tanto. Fino a quando dice:
I can remember the first time I ever read a programming manual, many many years ago. I'd first started to encounter computers about 1983 and I wanted to know a little bit more about them, so I decided to learn something about programming. I bought a C manual and I read through the first two or three chapters, which took me about a week. At the end it said 'Congratulations, you have now written the letter A on the screen!' I thought, 'Well, I must have misunderstood something here, because it was a huge, huge amount of work to do that, so what if I now want to write a B?'
No, Doug! non ci stai dicendo tutta la verità! Anzi la tua se ci fosse qui Fantozzi rag. Ugo sai cosa direbbe? Io non lo dico perché non sono uso alle parolacce ma googla per "fantozzi corazzata potëmkin" e lo trovi subito.

Pensa te che il fatto che ogni tanto --non per colpa tua-- salti fuori questa kat cosa sono andato alla ricerca delle prove, trovate, se vuoi leggi qui e qui.

LINKS OKP
 
Ma se pensi che sia TL;DR troppo lunga te lo dico in due parole: i manuali del C sono tutti derivati dal primo, il K&R. E come comincia il K&R? Smentendo in pieno quello che stai dicendo, riporto:
The only way to learn a new programming language is by writing programs in it. The first program to write is the same for all languages:
    Print the words
        hello, world
This is the basic hurdle; to leap over it you have to be able to create the
program text somewhere, compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy.
In C, the program to print "hello, world" is

    main()
        {
            printf("heIlo, world\n");
        }
Just how to run this program depends on the system you are using. As a specific example, on the UNIX operating system you must create the source program in a file whose name ends in ".c", such as hello.c, then compile it with the command
 
    cc hello.c

If you haven't botched anything, such as omitting a character or misspelling something, the compilation will proceed silently, and make an executable file called o.out. Running that by the command

    a.out

will produce

    hello, world

as its output. On other systems, the rules will be different; check with local expert.


Non farci caso al warning; sai sono passati tre decenni, l'evoluzione... (e se vuoi spiego tutto di là).

Che poi (cit.) (ma questa cit. la capiscono solo quelli che mi conoscono da sempre) nel 1983 è molto più porbabile --praticamente certo-- che per avicinarti alla programmazione ti saresti imbattuto nel BASIC. Ma quello che racconti è a un livello molto più basso (cioè a un livello molto meno comprensibile, roba da Computer Science), probabilmente in Assembler (si dovrebbe dire Assembly ma non lo dice nessuno, neanch'io). Anzi un Assembler di qualche anno prima, diciamo anni '60. Dai, non me la prendo, continuerò a considerati pheego (per Bruna: quando ci vuole ci vuole, poi una tantum! anzi solo per questa volta, dai!) ma sai SIWOTI, devo proprio dirtelo.

Alla fine chiudi con il Feng Shui e la storia del dragone che tutti sappiamo che non c'è ma funziona. Ecco, secondo me, è grave anche questa. Lasciatelo dire, appartengo a una famiglia di rabdomanti, gli ultimi sono magna Rina, barba Tromnin (pron. trumnin), barba Tòne e, prossimamente, mio fratello Bërnard. E sai una cosa? è esattamente come il dragone: chi si fida di non consultare il rabdomante, metti poi che l'acqua non la trovi? Immaginati cosa direbbe la gente, invece di "... e pensare che Tòne aveva detto che quello era il posto migliore!".


Ah! senti, anche su Mies non la pensiamo allo stesso modo; se tu avessi detto Frank Gehry era molto meglio. Assai. 

giovedì 7 aprile 2016

HP cambia; basterà?

Intanto una cosa perso (leggi persò, sta per personale, vero J-C?): febbre, rinko più del solito, niente post. Anzi no eccone uno perso, non so se 'nteressa ma è una cosa di Hewlett-Packard, HP; ci ho avuto a che fare per decenni. Cose meravigliose come le calcolatrici, la mitica 11C (non era la prima ma quella definitiva).
Ma anche i 'puters, il 9816, una famiglia di personal CP/M personalizzato che andavano forte. Poi, sempre della stessa famiglia, la 9000, le macchine Unix --HPUX per dirla a modo loro. E i plotter, si usano ancora i plotter? supportano il formato A0 senza bisogno di taroccare un pochino (via software)?
E HP ha acquisito --e ucciso-- Apollo, sigh.
Una volta HP era, per certe categorie, quello che è Apple per i fanboy di ogni genere (tanti, troppi, tra i quali anche i 'puters).

Poi con il tempo sembra che HP si sia riallineata con la concorrenza, costa anche di meno ma non è più la stessa.
Adesso salta fuori questo post: HP's New Logo Is the Awesome One It Never Used che rimanda a questo HP's proposed brand redesign project detailed in pictures and video.

Mah!? Sarà che sono vecchio... o forse la febbre, OK, un paio di aspirine e mi passa forse. Tanto lo spectre mica lo compro.
OK, a dirla tutta c'è anche altro ma tanto non mi piace più.

domenica 3 aprile 2016

Ancora su Apple


Il post sui 40 anni di Apple pare sia piaciuto. Allora insisto con un altro, completamente differente.

Prendo coraggio e parlo del mitico Steve Jobs, l'idolo dei fanboys e dei giornalisti (non solo di Repubblica ma quelli tutti, in modo particolare).
Due premesse (due addirittura!), nel senso che al solito riporto cose non mie, ma dopo le commento e poi sui social-cosi, qui Twitter, si trovano degli über-nerds che wowww!!!

Allora vado, ecco: Unfortunately he was a notorious micromanager who did not practice this.
Symbo1ics qui si limita a riportare il cinguettio di Florence (non la seguo) evidenziante l'abisso tra la teoria e la prassi. Poi ognuno di noi ha provato nella vita più volte questa cosa delle direttive come-dire che arrivano dall'alto e non si possono nemmeno --no, per niente!
Tipo: "quando dico a qualcuno 'salta' voglio sentirmi chiedere 'quanto in alto?' o 'per quanto tempo?' non 'perché?'" (citation needed, ma non riesco a trovarla).
Poi tra certe categorie di persone certi miti sono molto poco mitici; pensa te che c'è chi non ci piace il Silvio, Salvini, Carlo Conti, Moggi et al. De gustibust non est sputandum, neanche se non ti piace, manco un po'.

Che poi girulando tra quelli lì che dicevo capita di leggere anche considerazioni sullo stato --pessimo-- in cui siamo ridotti, p. es. questa: Twenty years ago, we had Steve Jobs, Johnny Cash and Bob Hope.

Oh! io ci provo ma parto svantaggiato per ragioni di telligenza e non sono nianca 'mericano.
Vabbuò, si fa quel che si può.
(notata la rima?)

sabato 2 aprile 2016

I 40 anni di Apple


Ieri 1° aprile Apple (anticamente Apple Computer Inc.) ha festeggiato i 40 anni: auguri Apple!!!
Io non sono mai stato attratto da Apple. Per niente, nad --no non lo dico.

Intanto ero troppo vecchio quando i primi Apple sono comparsi da noi. Ricordo Giorgio (Giòrs) e Giorgio (un altro, prof al Poli adesso emerito) che ce l'avevano di quelli quasi completamente autoassemblati, con la scatola di legno.
Già perché allora era --oltre che molto so$toso-- completamente diverso da quelli di adesso. Intanto da noi niente Apple I, il primo è stato il II, o come scrivevano loro ][, una roba così:


Poi, parecchio dopo è arrivato il MacIntosh, allora si chiamava così, ed era così:


Sul Mac qualcosa ho fatto anch'io con un programma multimediale sparito presto HyperCard.


Ah! sì, l'interfaccia era questa:


Se chiedete a un Apple-fanboy chi è stato vi dice Steve, quello lassù, ma in realtà è stato l'altro Steve, Woz.


Ma non vi crederanno mai.
Vero che quello era solo l'inizio, poi tutto è cambiato e niente è più rimasto come prima. Non devo mica ricordarvelo, vero?

Invece un po' di ricordi personali, dell'epoca. La ditta che allora (almeno per gli ingegneri) era l'equivalente di Apple era Hewlett-Packard, HP; c'è ancora, da anni circolano voci che sia moribonda.
Pensa te che allora il massimo era IBM. E per gli scienticifi (cioè non gestionali, quelli a cui non bastano somme e sottrazioni) se non era DEC non era buono. Il nome intero è Digital Equipment Corporation, quella del VAX e prima del PDP11. Io ero con Pr1me (sigh, lacrimuccia qui). Ah! c'era anche Olivetti, meriterebbe un discorso a parte.

Non c'era Micro$oft.
Il mondo era giovane, un'altra era.

lunedì 28 marzo 2016

L'evoluzione del quotidiano


Ieri grande pranzo di Pasqua con dovizia di parenti vicini e lontani.
Poi domani mi metto a dieta ma non è di questo che voglio scrivere. È una cosa completamente differente, di quelle che mi farebbe venir voglia di dire che sono vecchio (ma non lo dirò, so che lo sapete già).

Con un'abilissima mossa strategica (sono stato davvero bravo) mi sono intrufolato tra i giovani, ragazzi (pochi) e ragazze (di più) tra i 20 e 30 anni. E mi hanno sconvolto. Davvero.
Siccome ero in qualche modo un intruso (dai, ero ai margini del gruppo) mi hanno tollerato bene, quasi ignorato. È difficile trovare argomenti di conversazione, almeno con me che sono un musone, un lupo solitario, un rompiscatole. Ma poi se continuate a leggere vedrete che qualcosa ho imparato, non è stato tempo sprecato; e poi il cibo era come a naja: ottimo (davvero) e abbondante (anche troppo). Complimenti alle cuoche che riescono a inserire elementi di fantasia, anche se poi io che sono un orso mi chiedo "e adesso questo come si mangia?"

Non so se i miei giovani parenti sono rappresentativi ma si parla solo di conoscenti coetanei (diciamo quasi pettegolezzi) ma con una variante fondamentale rispetto a una volta: il telefono. Qualsiasi frase viene accompagnata dall'esposizione di una serie di foto fatte intravedere al gruppo (io non conosco nessuno e poi vanno troppo in fretta, resto spaesato). Naturalmente questo genera l'entrata in gioco di persone care assenti e allora partono i messaggi. Che devono essere coordinati, non facciamo confusione; subito dopo arrivano le risposte che vengono lette ad alta voce, seguite dalla visualizzazione delle immagini a corredo.
Inoltre, forse, o forse ho capito male, o forse mi hanno gabbato, ma mi sembra che Facebook non sia così fondamentale, da approfondire.
Poi si cambia, si mette via il telefono, si mangia un pochino e si parla di musica, film (non tanti) serie televisive (principalmente loro) e io tiro fuori Punta il Dito, guardano anche quello (colpa della mamma).

Ma il computer, non dico il desktop (ce l'ho solo più io) ma il portatile (lo usano senza mouse, ma il mouse ce l'hanno per le sessioni più impegnative) c'è ancora? Ecco no, non sempre, dipende. Se sei ancora a scuola sì, ti serve, se il lavoro (per chi ha un lavoro serio) lo richiede lo usi. Altrimenti capita che ce n'è comunque uno in casa e allora usi quello. A volte, per cose particolari. Ah! capita che sei anche l'esperto e aiuti i vecchi.
E-bay, c'è chi cambia la moto con quello. E inoltre... ecco io mi sono perso.
Sono bravi ragazzi al caffe si alzano tutti per sparecchiare [1] e lavare i piatti dimostrando di essere un team affiatato, sembra quasi un balletto. È il momento che il telefono non lo usa nessuno, nemmeno quelli che si lamentano delle batterie scariche.

A quel punto io mi sono trasferito dai vecchi ma parlavano solo di Juve e $oldi.
E allora mi è venuto da pensare che forse sto sbagliando tutto con i blog:
  • sul Tamburo c'è troppo testo e mancano le immagini;
  • su Ok, panico sto ricopiando (quasi solo quello) cose che interessano solo me.

Insomma aveva ragione (già illo tempore) John:



[1] il pranzo ha prodotto una considerevole quantità di avanzi utilizzati per i cani, ci sono tre mamme che allattano dieci cuccioli, ancora troppo piccoli per festeggiare anche loro.

venerdì 11 marzo 2016

Woz - per chi ha troppi $oldi


Avete troppi $oldi che non sapete cosa farne? Se sì e vi serve un suggerimento ne ho uno che fa proprio per voi. E originale, una cosa che manco v'immaginate, che non mi sarei mai immaginato neanch'io se non fosse per ebay --cosa non si trova sul Web!
In poche parole diciamo che con 15mila euri vi togliete la soddisfazione di un pranzo (in quattro) con Steve Wozniak, niente meno che Woz, quello di Apple, quello originale (l'uno e l'altro cioè Woz e il 'puter).

Ecco qui:


Resta poco tempo, affrettatevi, sapete che ci sono solo 3 posti. E se volete essere gentili fatevi fare un autografo (sul tovagliolino di carta) con scritto "Al mio 'mico Juhan" (va bene anche in inglese).
Questo post era pronto ieri ma poi ho visto lo Zeb. Meglio evitare confronti, sapete com'è.