JavaScript – 2

ejsSeconda e ultima (forse) puntata su JavaScript. Avendo già raccontato tutto qui: JavaScript (non è vero, esistono alternative, p.es. Node.js) non mi resta che fare un elenco di risorse disponibili online.
Poi –chissà– potrebbero esserci post sulle cose fatte (ma non da me, non in prima persona almeno).
Ah! una nota personale: vero che JavaScript e Java (è una cosa simile ma diversa) sono molto usati ma io resto dell’idea che per iniziare ci sono strumenti più adatti.
Chi ha detto Python? non è l’unico, per esempio su Windows per gli studenti c’è Microsoft Visual Studio Express, dove avete l’ambiente a finestre cui siete abituati.

Ma per i miei avventurosi giovani amici ecco da dove iniziare a documentarsi; la lista è lunga, potete scegliere.

Quick Links for Javascript Developers
lungo elenco di risorse, proprio come dice il titolo.

Introduction to the JavaScript shell
per iniziare con la shell SpiderMonkey; probabilmente si deve lanciare con js24 e non js come indicato.

JavaScript
la Wiki contiene esempi, ottima per iniziare.

JavaScript Development Tools
la ricca pagina di Robert Campbell dell’Università del Maryland.

RosettaCode Category:JavaScript
Rosetta è una raccolta di programmi tipici nei pi svariati linguaggi di programmazione; JavaScript è presente in massa.

JavaScript Shell in browser
invece del terminale potete testare il codice direttamente nel browser,

Infine, ne ho già accennato nel post precedente, c’è Eloquent JavaScript, altamente raccomandato. Ovviamente fa riferimento a una versione diversa da quella che propongo, quindi attenzione.

In conclusione se si opta per JavaScript considererei anche il browser, avete l’interfaccia gratis :grin:
Ma concentrarsi sul terminale (come si faceva una volta e come fanno quelli di Linux (a volte, non sempre) vi libera da tutti gli impicci della grafica, applicandovi al codice. Considerate anche l’installazione di una IDE, p.es. Geany.
Oppure c’è sempre l’ipotesi Visual Studio, indicata all’inizio.

Dai che siete in ritardo :mrgreen: (sì, anch’io) :mrgreen:

Aritmetiche – 3

aritmeticaAncora un post sulle calcolatrici e come vengono utilizzate qui dai nostri contadini. Continua da Aritmetiche e Aritmetiche – 2 –e si conclude qui, spero. Una precisazione: oggi il contadino è un imprenditore che opera in un mercato competitivo, deve tener traccia delle operazioni finanziarie e fiscali, ma non solo. Vedi per esempio le collaborazioni dove tutti sono molto poco propensi a considerare gli altri e se possono… Però, almeno in qualche misura, conserva tutta una lunga serie di pratiche e convenzioni che possono sembrare bizzarre (secondo le lo sono ma non diteglielo). Per esempio la matematica: è diversa e da evitare. Nel post citato Alberto fa notare come i telefonini –onnipresenti– usino la logica algebrica della scuola, quella che fa eseguire prima le moltiplicazioni. Vero, l’ho verificato ma per i nostri sono operazioni vietate. Le uniche operazioni lunghe (cioè con più di due numeri coinvolti) ammesse sono le somme. Le moltiplicazioni (e le divisioni) sono sempre solo tra due numeri e sarà il risultato che verrà utilizzato. A volte si usano fogli di calcolo (tipo Excel) ma solo perché poi la stampa viene meglio; in genere si preferisce scrivere tutto a mano. E le calcolatrici sono come quelle di cui ho raccontato nei post precedenti. Non sono riuscito a capire se questo deriva dal non sapere le cose, dai! ormai tutti, anche gli anziani, hanno il diploma di terza media o da convenzioni o rifiuto della Scienza della Kasta. Nel corso dell’indagine ho trovato una cosa che voglio raccontare, la ricetta per preparare il pastone per i maiali. Da noi la coltura di gran lunga prevalente è quella del mais, usato anche per la produzione di bio-energia (in percentuale sempre maggiore) oltre che per l’alimentazione animale. Gli altri componenti vengono acquistati. Ecco la ricetta (taroccata, le percentuali non me le ricordo, non fate affidamento sui numeri):

Chili per ogni quintale di mangime:
    mais            50
    soya            32
    granella         7
    crusca           8
    sacco blu        1
    sacco bianco     2
Per quantità diverse fare le percentuali.
1 chilo = 1 palot.

Sì, la versione originale è scritta TUTTO MAIUSCOLO, ovvio. Il palot è la paletta utilizzata, come questa: palot Chiaro? Ecco il perché della storia della percentuale che ha dato origine a questa telenovela, atipica per il blog :mrgreen:

JavaScript

JavaScript-logoQuando qualcuno mi chiede quale linguaggio io di solito rispondo “Python” e subito dopo mi rendo conto che sarebbe stato meglio dire “dipende“. Anche perché la risposta poteva essere più lunga e il dialogo facilitato. Ma sapete com’è :roll:
Oggi (OK, è vecchia ma adesso devo rispondere per davvero) invece la richiesta è molto più specifica; e non so rispondere, aiuto :oops:
Si può usare JavaScript fuori dal browser; può essere utile per imparare a programmare, per esempio nella scuola?

Volendo si può, anzi è facilissimo, c’è –per esempio– SpiderMonkey.
Con Ubuntu s’installa con sudo apt-get install libmozjs-24-bin.
Per Windows lo trovate googlando. A me ha proposto un posto che non avrei mai immaginato, Stanford University, qui: SpiderMonkey JavaScript Shell.
Quindi se si insegna lì si può usare. Anzi adesso provo anch’io:

j0

OK, continua, ma voglio provare davvero, interattivamente:

j1

Eseguire uno script (t.js):

var total = 0, count = 1;
while (count <= 10) {
    total += count ;
    count += 1;
}
print("la somma dei primi 10 numeri è", total);

j2

e anche (fac.js):

//calcolo del fattoriale
function fac(n) {
if (n == 0)
return 1;
else
return fac(n - 1) * n;
}

/* test per 10! */
print("10! =", fac(10));

j3

Il passo successivo sarebbe quello di passare sulla linea di comando uno o più parametri(fac-p.js):

function fac(n) {
if (n == 0)
return 1;
else
return fac(n - 1) * n;
}

N = scriptArgs[0];
print(N, "fattoriale =", fac(N));

j4

Ma serve documentarsi, per esempio leggere Eloquent JavaScript di Marijn Haverbeke.

marijnMarijn (ahemmm ij in olandese… ei, forse) è un tipo interessante: Prolific coder. Person behind CodeMirror, Eloquent JavaScript, and Tern. Free-lancer.

Ulteriore problema con JavaScript: ne esistono diverse versioni, chissà se davvero SpiderMonkey è quella che fa per me?

Quindi: chissà? qualcuno lo usa? interessa? :mrgreen:

Lisp – un DB semplice – 1

thw4Nel capitolo 3 Peter Seibel propone la costruzione di un database. Finalmente si codifica :grin: con un po’ di timore, chissà … :roll:

Ahemmm: per scrivere devi conoscere il linguaggio ma se non fai qualcosa non impari… certo. OK, facciamo un DB per classificare i tuoi CD (stiamo parlando di cose di una volta, 10 anni fa).

Vedremo solo le cose essenziali per capire come il codice funziona, cose che useremo anche in seguito, in modo più sistematico.
In Lisp abbiamo tre tipi di operatori: funzioni, macro e operatori speciali; per adesso non è necessario sapere la differenza. Solo una cosa: le macro in Lisp sono totalmente differenti da quelle del C.

Per tenere traccia dei CD da copiare e quale copiare prima ogni record nel DB deve contenere il titolo e l’artista del CD, il voto di quanto ci piace e l’indicazione se è già stato copiato (come si dice flag in ‘taliano?). Quindi per iniziare abbiamo bisogno di un modo per mettere in un singolo record del DB un CD. Common Lisp ci da parecchie possibilità di strutture di dati per una lista di quattro elementi definendo una classe usando il Common Lisp Object System (CLOS).

Per creare una lista si usa list:

db0

Quindi si potrebbe mappare i quattro dati nella lista, tuttavia c’è un tipo di lista migliore per il nostro caso, la property list o plist.
Una plist è una lista fatta da coppie di simboli e dati; più facile a farsi che a dirsi. Useremo un particolare tipo di simbolo, chiamato keyword symbol che è un nome che inizia con due-punti:

db1

Notare che si una la stessa funzione (list); è il contenuto che la rende una plist.

Quello che rende utili le plist è la funzione getf che richiede una plist e un simbolo e ritorna il valore nella plist che segue il simbolo, rendendo la plist una sorta di hash. Il Lisp ha le hash table ma per adesso ci bastano le plist.

db2

Uh! ‘na parentesi mia qui. In un post precedente ho citato il Quick Reference di Bert Burgemeister, funziona, ecco qui:

def

Però è sintetico, fatto per chi già sa ma al momento non ricorda. I simboli come f = function  sono elencati all’inizio:

def1

OK, tornando al dunque creiamo la funzione make-cd che ci ritorna un record rappresentante un CD:

db3

defun è per definire una nuova funzione … vedi Bert (anche se…).

Ecco come usarla:

db4

Abbiamo così creato il nostro record. Ma un DB ha tanti record e allora…
Per semplicità creo una variabile globale *db* che definisco con la macro defvar; ho già raccontato degli earmuffs (gli asterischi) per le variabili globali. Le variabili globali hanno i loro inconvenienti, vedremo in seguito come creare un DB più flessibile. Inoltre in Lisp le variabili globali possono essere usate in modo più flessibile che nei comuni linguaggi.

db5

Abbiamo ora il DB vuoto che possiamo riempire; per far ciò creo la funzione add-record che usa la macro push:

db6

E quindi, ecco:

db7

Per vedere il contenuto del DB basta chiedere:

db8

ma lo vorremmo in una forma più leggibile, ecco allora la funzione dump-db:

db9

dump-db cicla per tutti i record di *db* con la macro dolist e usa la funzione format per visualizzarli; al solito c’è Bert (13.5, p.36-38) e poi prossimamente…

Qui Peter si dilunga un po’ su format, salto. Tranne una cosa: dolist non sarebbe necessaria, un lispista serio la funzione dump-db la scriverebbe così:

db10

e qui cito il Peter: “That’s either very cool or very scary depending on your point of view“. Proprio scary no ma mi ci devo abituare :wink:

In ogni caso:

db11

E poi –ma pausa, qui. il seguito prossimamente :wink:

Lubit 5, Jean

***brekki-gnus***

L5In leggerissimo anticipo sul mio compleanno ecco Lubit 5, Jean, 32 e 64 bit.

L50

È davvero bella, usabile, parca di risorse, con tutto quello che serve. Complimenti a Luigi, Massimo e tutti gli Amici di Lubit :grin:

Trovate tutto qui: Lubit 5.

Il nick della release è Jean, perché? Ce lo dice Luigi Bit3Lux, è Jean le Calabrais.

Che dire se non je suis Jean le Lubitien, ouais :grin:

Visto nel Web – 170

Forse novità in arrivo –OOPS lo dico tutte le volte, non vale, scancello :evil:
Intanto ecco cosa ho visto nel Web.
Ah, sì pronti per Lubit5, sta arrivando :grin:

B9yti8gCcAEs6dS
Vim as IDE
::: yannesposito

The BQ Ubuntu Phone Will Be Stocked With Binary Blobs
::: [Phoronix]

Anteprima Lubit 5
nota: Jean è da leggere sgian, nèh!
::: the secrets of ubuntu

Replacing the Turing Test
::: Slashdot

skel
tiny command-line skeleton/snippet thing
::: github

B8q_GXHCAAAH9vI

Ubuntu Phone Insider’s Event – London UK
::: Carla Sella (Letozaf_ )

The Bizarre and Complex Story of a Failed Wikipedia Software Extension
::: Slashdot

Facebook Buys 21-Building Campus in Silicon Valley
::: Bloomberg

Awesome Ionic
A curated list of amazingly awesome Ionic libraries, resources and solutions
::: github

Securing & Optimizing Linux: The Hacking Solution (v.3.0)
::: Tecmint

apple

Netizen Report: Asian Governments Embrace #Surveillance in the Name of Security
::: Twitter

Boston Dynamics Introduces Their Newest Four-Legged Robot, ‘Spot’
::: Slashdot

Translating math into code with examples in Java, Racket, Haskell and Python
sembra interessante, meriterebbe un’accurata esplorazione
::: Matt Might

Anonymous ora va a caccia dell’hacker n.1 dell’Is
::: la Repubblica ::: Wired ::: Twitter

Linear Regression In Python Using Stats Models
è nel Blogroll ma potrebbe interessare i miei ‘mici tehBoss &co.
::: Big Data Examiner

INTERNET & TERRORISME : Factchecking contre les idées reçues
::: Renaissance Numérique

B8_J9lLIAAAmhNk

Facebook traccia gli utenti anche fuori da Facebook
::: Wired

Ubuntu Phone Review (BQ Aquaris E4.5 Ubuntu Edition): Great OS, Average Hardware
::: Web Upd8

Newsweek Twitter page hacked by CyberCaliphate
::: Twitter

Quello che non ci diciamo nel Safer Internet Day
::: Wired

Police from several UK forces seek details of Charlie Hebdo readers
::: the Guardian

20110428

Edward Berard is a software engineer, consultant for The Object Agency, Inc and the author of Essays on Object-Oriented Software Engineering
::: Google+

Come sta e dove va il web?
meravigliosa anche l’immagine :grin:
::: Sergio Gridelli

64 new external resources and articles about data science, big data
::: Data Science Central

Ubuntu Phone Insider Event, dalla A alla Zeta
::: Dario Cavedon (iced) ::: Opensource ::: Wired

EFF Vows to Continue the Fight Against Mass Surveillance After Disappointing Ruling
::: Electronic Frontier Foundation

10420380_389812551143852_4975704187384770710_n

Unanimità per l’unità digitale d’Italia. Vittoria costituzionale di Quintarelli e Palmieri
::: Luca De Biase

50 Shades of Grey
::: Twitter

Office 365: disattivare la modalità “Protected View” di Excel (Word, ecc.) (GPO)
::: Gioxx

The Dark Web Still Thrives After Silk Road
::: Slashdot

Come migliorare i movimenti nei videogiochi fatti con Scratch!
Scratch, purtroppo sono vecchio! ma voi giovani… :wink:
::: Codemotion Kids

kamlesh singh

Python: Tips, Tricks and Idioms
tutto Python in due post
::: Codefisher ::: Codefisher

Your Java Code Is Mostly Fluff, New Research Finds
::: Slashdot

Russia Seeking To Ban Tor, VPNs and Other Anonymizing Tools
::: Slashdot

A Primer of ALGOL 60 Programming
::: Twitter

Usa e Uk pensano a tassare correttamente i giganti di internet
::: Luca De Biase

B9PV8NuCMAAEQ6A

Decreto antiterrorismo, quei passaggi poco chiari su privacy e aggravanti web
::: Messaggero Veneto

As t-shirts about the WWW & Net go, these, worn by @timberners_lee @vgcerf, are epic
::: Twitter

Impossible! this Is a Mac!
::: Twitter

Five Years After the Sun Merger, Oracle Says It’s Fully Committed To SPARC
mah…
::: Slashdot

Linux for Astronomers (Linux Journal)
::: LWN

B86Icd9CUAIE42V

Python version of the LLVM tutorial
Eli l’ho messo nel Blogroll ma per intanto anche qui
::: Eli Bendersky

Internet of Things: Erlerobot
::: Ubuntu Insights

In Putin’s Russia, a Retweet Can Lead to a Jail Term
::: Global Voices

Un nuovo ScratchTastic il 28 febbraio
sì, adottato :grin:
::: CoderDojo Voghera

Facebook: a quali pagine ho messo il mio like?
::: Gioxx

Tutti pazzi per gli hacker dell’Isis
::: Wired

113747155-bbb49681-156b-4181-9a07-373d80addcb0

Raspberry Pi 2 promossa dai benchmark
::: oneOpenSource

The Correlation Between Where Startups Are And How Well They Do
::: Popular Science

Dice @micmord
::: Twitter

Peak Google: The Company’s Time At the Top May Be Nearing Its End
::: Slashdot

Torvalds Polls Desire for Linux’s Next Major Version Bump
::: Slashdot

caterina policaro

Arduino nel caos, accuse e avvocati tra i cofondatori Banzi e Martino
::: il Sole 24 Ore

Rust 1.0: status report and final timeline
::: The Rust Programming Language

Smart Homes Often Dumb, Never Simple
::: Slashdot

Apple Hiring Automotive Experts
::: Slashdot

Guy Blueiceman

Apple’s Cook: ‘Everyone has a right to privacy and security’
::: CNET

‘Google Search On Steroids’ Brings Dark Web To Light
::: Slashdot

Internet Censorship in China: We’ll Sing it for You
allucinante :evil:
::: ProPublica

Obama Calls for New Cooperation to Wrangle the ‘Wild West’ Internet
::: The New York Times

I primi giorni con Ubuntu Phone
::: Dario Cavedon (iced)

10968391_618215811644193_3163404595404417554_n

The definitive guide to start with ClojureScript
::: Davide Aversa

List of Free Learning Resources
::: github

Vint Cerf Warns Against ‘Digital Dark Age’
::: Slashdot

Just got a brand new handheld text editor. – it has an “undo” feature too.
::: Twitter

#Lubit5 -2
::: Twitter ::: Twitter
codeeval2015

Aritmetiche – 2

GNU_Smalltalk_logo

Una volta si commentava di più sui blog. Oggi capita che quando si commenta lo si fa in diversi posti, su Facebook e altri social-cosi, a voce per telefono e vis-à-vis. Al massimo risulterà qualche like. Questo quando va bene, quando piace. Proprio com’è capitato al post Aritmetiche.
Interessa anche altri allora! E quindi ecco una seconda puntata.
Ho voluto indagare il comportamento della calcolatrice, ho scoperto una cosa davvero inaspettata; come si dice da noi weird? ecco così.

Intanto una cosa che mi ero dimenticato: il modello risulta essere smart 5630, nessun’altra indicazione se non Made in China. Mi sono intrufolato nella casa dei vicini (vicini è una parola grossa, sono in campagna) e ho chiesto di utilizzare la loro (perplessi, parecchio ma mi hanno lasciato fare) e indovina? Sì lo stesso comportamento anche se il modello è diverso, anche questo made in China. Tornato a casa ho scoperto che la marca non era del fabbricante ma di un rivenditore di ricambi meccanici qui in zona.
Questa calcolatrice viene usata anche per la scuola (secondo anno di liceo): perplessità qui.
Siamo sicuri? Sicuri-sicuri o i genitori (contadini sui 40) ignorano qualcosa? In fondo la ragazza adesso è a scuola e la calcolatrice è qui a casa. E c’è lo smartphone. Questo è un campo di cui –ahimè– non so davvero nulla ma basta una googlata per android app calcolatrice e ne viene fuori una lista lunga così. Di tutti i tipi. Roba che se fossi attrezzato salterebbe fuori un altro post. E chissà se serve ancora la calcolatrice. Devo informarmi.

L’espressione che ho impostato è:

2 + 3 * 4 + 2 * 5

Indovinate il risultato. No, non 24 ma 110.
Weird vero? Ma con il ‘puter cosa capita?

Gnu-calculator:

gc

Qalculate:

q

Calc, il mio tool abituale:

calc

Tutti d’accordo, tutti come mi aspettavo, come insegna la prof in prima media.
Ma allora le calcolatrici (quelle che ho visto, chissà se qualcuno mi dirà qualcosa per altre) cosa fanno?

La mia prima ipotesi, di lavoro, è questa: non valutano espressioni ma operazioni. Se io eseguo 3 * 4 + ottengo 12 (il tasto = non fa niente); 3 + 2 + mi da 5 come previsto. Ogni volta devo premere ON/C altrimenti il valore sul display viene usato. Ecco non devo mai fare operazioni in cui ci siano più di due numeri.

Ma, ripensandoci, potrebbe esserci sotto una logica completamente differente, a oggetti.
Riprendiamo in considerazione l’espressione incriminata, questa: 2 + 3 * 4 + 2 * 5 e vediamola in questo modo: c'è l'oggetto 2 cui chiedo di applicare il metodo + al parametro 3, ottengo l'oggetto 5 al quale chiedo di applicare il metodo * passandogli 4, ottengo 20 cui chiedo di applicare il metodo + passandogli 2 e ottenendo 22 cui, infine chiedo di applicare il metodo * con il parametro 5. OK, risultato esatto.
Aspetta — cos’è già quella roba, ce l’ho qui sulla punta della lingua delle dita… Sì Smalltalk!

Possibile? Anticamente avevo scritto un paio di post sull’argomento:

Uh, si può installare GNU Smalltalk con (su Ubuntu) sudo apt-get install gnu-smalltalk e ottengo:

gst

Conclusione (provvisoria): mi sembra strano che queste calcolatrici economicissime seguano la logica di Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace, and others; piuttosto è un effetto collaterale dovuto all’assenza di uno stack capace di memorizzare i dati immessi.
Anche perché ho trovato altri che mi danno ragione:

Google (sì, quello per le ricerche)

G

Wolfram Alpha (usato con un po’ di vergogna, spero che Stephen non se ne sia accorto o mi giudicherà malissimo)

wa

Perplesso, assay :shock: :mrgreen:

Lisp – Lather, Rinse, Repeat

r4Ci sono tanti Lisp, cioè implementazioni di Lisp, dice Peter Seibel.

SBCL (Steel Bank Common Lisp) is a high-quality open-source implementation that compiles to native code and runs on a wide variety of Unixes, including Linux and OS X. SBCL is derived from CMUCL (CMU Common Lisp), which is a Common Lisp developed at Carnegie Mellon University, and, like CMUCL, is largely in the public domain, except a few sections licensed under Berkeley Software Distribution (BSD) style licenses.

Passa poi a suggerire –dev’essere un vizio!– Emacs e Slime. Non è necessario diventare un Emacs guru per programmare in Lisp; tuttavia ci sono orders of magnitude more enjoyable to program Lisp with an editor that has some basic Lisp awareness. At a minimum, you’ll want an editor that can automatically match ()s for you and knows how to automatically indent Lisp code. Io qui faccio il discolo (cosa che mi viene bene): siccome recentemente ho installato un REPL che funziona tengo quello.

No programming book is complete without a ‘hello, world’ program, dice Peter, e allora ecco:

l0

No, non è per far vedere una cosa nuova ma per la nota 7 che copincollo:

The venerable “hello, world” predates even the classic Kernighan and Ritchie C book that played a big role in its popularization. The original “hello, world” seems to have come from Brian Kernighan’s “A Tutorial Introduction to the Language B” that was part of the Bell Laboratories Computing Science Technical Report #8: The Programming Language B published in January 1973. (It’s available online at http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html.)

OK, finisco il ripasso. Un lispista come minimo definisce la funzione hello-world, così:

l1

Peter finisce il capitolo ricordando una storia che amo moltissimo, ne ho accennato più volte, p.es. qui e qui.
Ovviamente, se volete, potete leggere la versione originale, qui: Lisping at JPL.

OK, è un post di approccio per ambientarmi, saggiare il terreno, ma –dice Peter– in the next chapter you’ll take a crack at writing a program a bit more interesting than “hello, world.” :grin:

Lo dice anche Nature: Python

Illustration by the Project Twins

Illustration by the Project Twins

OK, sto scrivendo un altro post ma questo devo segnalarvelo assolutamente. Non perché dica una cosa nuova, anzi dice quello che io sto dicendo da una ventina d’anni, anche sul blog (ma da meno tempo, non è così vecchio). Ma un conto è se lo dico io (me) un altro se compare su Nature.
Esamina il caso di Adina Howe, assistant professor of agricultural and biosystems engineering. Non è una programmatrice, non ha fatto informatica ma ingegneria ambientale. Ma programmare è importante. E sapete cosa dice? Trovate tutto qui: Programming: Pick up Python.

Da oggi manderò a questo post parecchi (non solo MATLABer), mi sa –ritenetevi avvisati nèh! :mrgreen:

E non manca un commento che rimarca la superiorità della programmazione funzionale, uhmmm:wink:

Aritmetiche

Ieri ho scoperto una cosa strabiliante che devo davvero raccontarvi; magari la sapete ma forse no, non tutti almeno, credo :wink:
Mi è capitato di ascoltare, senza volerlo, mio fratello che stava parlando con un suo collega, di soldi come al solito.

calcolatrice

La frase è questa: “500 meno il 20 per cento fa 400“. OK, vero.
Ma (i numeri erano diversi, meno belli) mentre la diceva calcolava con la calcolatrice della foto qui sopra. E la sequenza è stata davvero, mi è sembrato, ne ero certo: 500 - 20%.
Da non crederci; Appena hanno finito mi sono impossessato della calcolatrice è ho rifatto l’operazione. Funziona.
Ecco, va contro tutto quello che sapevo, io avrei fatto 500 * (1 - 20 /100), che funziona, ecco:

calc

Su ‘buntu c’è Gnome-calculator, vediamo:

gn

OK, proprio come previsto (da tutti meno che da me).

gn-my

Certo, funziona anche come avrei fatto io, ma è più lungo, si fa inutilmente crescere l’entropia dell’universo.
E poi, con il mio linguaggio preferito sarebbe ancora diverso:

cl

Morale della storiella: TIMTOWTDI, pronounced Tim Toady, che saebbe poi:

There’s more than one way to do it.

O secondo o la versione dell’Immortale Bardo:

There are more things in heaven and earth, Horatio,
Than are dreamt of in your philosophy.

visto che non ho nominato l’HP11C?

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 83 follower