In difesa di Internet

phpThumb_generated_thumbnailInternet è pieno di bufale.
C’è chi consiglia diete, cure, qualunque cosa, senza avere le minime competenze.
L’ho letto sul Web, la nuova versione di “è capitato a un amico di mio cuggino”
E potrei continuare.
Invece no, anzi sì, c’è anche chi lo fa a un altro livello, accademico. Come usava il compianto professor Umberto Eco o il professor Michael P. Lynch.
Niente panico, neanch’io non so niente di Linch, ma c’è questa roba che sto per dirvi che condivido in pieno.
Una premessa: viene da un tweet del prof. De Martin, considerate se non vi converrebbe followarlo, rockz! Uh! vedo che ha che parecchi follower che followo, si parla anche di questo nel post di cui sto per dirvi.

Basta premesse, vengo al dunque: David Weinberger, a senior researcher at Harvard’s Berkman Center for Internet & Society ha recensito un libro di Linch, The Internet of Us: Knowing More and Understanding Less in the Age of Big Data, qui: Rethinking Knowledge in the Internet Age.

A parte le parti tipicamente filosofiche (non ce la faccio proprio, non ce la farò|farei mai!) condivido. E con questo post voglio condividerlo con i miei 12 lettori (il signor WordPress mi dice che sono di più, più del quadrato, ma lo fa per incoraggiarmi).

Anche perché senza il Web io sarei isolato, qui, sperso nella campagna, tra il mais, i maiali e i padagni. E ricordo perfettamente com’era faticoso accedere alla conoscenza (di qualcosa in particolare, non di tutta, quella universale con la C maiuscola) quando Internet non c’era.
Aggiornamento: ecco, fresco di giornata: The main reason I care about the Web…

Sei, compleanno OKp

OKp6Sembra ieri, tutto è cominciato da qui: Il perché di un nome.
Anzi no, ne è passato di tempo, sono cambiate tante cose, altre cambieranno ancora, sapete l’evoluzione, che non è detto vada sempre nella giusta direzione (notata la rima?).
Per esempio niente più (o molto meno) dei linguaggi visti nel passato, ma ce ne sono di nuovi in lista d’attesa. Poi io mi sono re-innamorato del Lisp, adesso uso una delle ultime (OK, penultime) varianti Racket (cioè Scheme). E c’è SICP😀
Ma i post più visti sono, da sempre, quelli della rassegna domenicale visto nel Web; sono anche i più facili da compilare, mi basta riportare titolo e URL di (quasi) tutto quello che leggo😀

Da sempre si sente dire che i blog stanno morendo, vero per qualcuno che seguivo e amavo, ma Ok, panico per adesso ne sembra immune. Per fortuna perché altrimenti non saprei cosa fare tutto il giorno😀
Qui potrei aggiungere pettegolezzi su che linguaggio usano i miei amici, sul fatto che a volte mi coinvolgono (anche con –orrore– Java). La tendenza è specializzarsi, un solo linguaggio (Python o Java o Matlab); l’aggiunta di un secondo solo in casi particolari. Ma c’è anche il foglio di calcolo, tipo Excel (anche se non sembra roba complicatissima).
E poi il Web per dispositivi mobili, CSS, JavaScript in tutte le sue varianti (più numerose di quelle del Lisp) e peggio ancora. Ecco il mobile (non ho il telefono) è quello per cui mi rendo conto che sono superato, proprio come dice John.

OKp6-2
Ma oggi è festa, tanti auguri a Ok, panico!

For he’s a jolly good fellow, for he’s a jolly good fellow
For han er en af vor egne (pause), en rigtig guttermand
Buvons à sa santé, Buvons à sa santé
Perché è un bravo ragazzo, perché è un bravo ragazzo
Ele é um bom companheiro (pause), ninguém pode negar!

Porque es un chico excelente, porque es un chico excelente
I nitko to nemre poreč’ i nitko to nemre poreč’.

Uhmmm… forse ho fatto un po’ di confusione😳

Linguaggi di programmazione, una segnalazione

cs212b

Cosa non si trova nel Web! Io poi che non ho fatto la scuola giusta; cioè no, nel senso di sì, ho fatto la scuola giusta ma non quella che avrei voluto, quella per programmatori. Anche perché illo tempore i ‘puters erano molto diversi da quelli di adesso. E anche misteriosi: il primo che ha girato un mio programma non l’ho mai visto; scrivevi il programma (controllando bene), perforavi le schede nell’orario prefissato, avevi diritto a un tempo massimo che era –secondo il me di allora– troppo sotto il minimo ma –secondo il me di adesso– troppo grande; consegnavi il tutto al responsabile e tornavi dopo un paio di giorni; se era tutto OK ti ridava le schede e un paio di fogli di tabulato con il listato e l’output; se andava male l’output era una serie di scritte misteriose. Solo Fortran IV (1966).

Oggi invece –beh lo sapete tutti.
Vero che non devo dirvi nemmeno di Twitter che è come un party dove ci vai perché ti porta un amico che poi ti presenta gente che a loro volta, se vuoi, puoi conoscere, stai a sentire cos’hanno da dire, conosci altri –tutti più hyper-über-smart di te. Ovvio che c’è anche ci fa gossip, parla di calcio, dei marò, … Ma puoi scegliere.
Io per esempio seguo diversi hyper-über-smart molto più bravi di me. E recentemente ho trovato il prof Eugene Wallingford dell Università dell’Iowa (chissà dov’è quella roba lì?).

E pensa te –meravigliosa meraviglia qui– il prof mette online il corso CS3540 Programming Languages and Paradigms.

Chissà se posso sbirciare un pochino; se non se ne accorgono e mi cacciano a calci in cu quel posto là urlandomi che mi denunciano (chissà se capirei l’iowese?).

La prima lezione è OK, non mi hanno cacciato, insisto.
La seconda è ancora meglio: Learning a New Language: Racket.
Uh! la combinazione: Racket😀 il mio nuovo linguaggio preferito (pari merito con altri Nmila, anzi un po’ di più di tutti gli altri). OK, c’era da aspettarselo, con Twitter ti autoselezioni i follower esaminando i followabili retwittati da chi già segui.

La faccio breve: conto di fare tutta la classe tutto il corso.
Inoltre nella seconda lezione ho trovato tante cose ma una in particolare mi ha incuriosito tanto da proporre su Facebook e Google Plus una domanda, questa:

Domanda per tutti ma in particolare per i mate:
da noi si fa così
  3 +
  5
 --
  8

mentre altri fanno così:
  3
+ 5
 --
  8

perché?
Perché io sarei con gli altri?
Sono solo io?
OK, è una domanda multipla, forse senza senso. Ma forse...
Chissà cosa ne pensano [segue elenco]

Si vede che la domanda era troppo vaga, sempre che avesse un senso; c’è stato chi si è avvicinato (MfM, Marco) ma non so se quello che dice Eugene (posso chiamare così il prof, non è che mi fa cacciare?) è condivisibile:

The prefix notation that Scheme uses has several advantages over other notations, such as infix:

Using prefix notation, we can have an arbitrary number of arguments without repeating the operator. For example, it is easy to write (+ 3 4 8 6 5 4 7 6 5 8 9) using prefix notation. In other notations, this expression would be longer and involve 11 – 1 = 10 operator symbols. (And, even worse, perhaps ten separate evaluations!) This, despite the fact that children as young as second grade learn how to operate on multiple values as a single operation:

               3
               4
               8
               6
               5
               4
               7
               6
               5
               8
             + 9
             ---
              65

Ecco, è vero? Fuori dal Lisp intendo. Cioè se scrivo la mia espressione così diventa più chiara l’operazione? Chiedo anche se questa può sembrare tutta una manfrina per propagandarvi Racket.
Ah! Racket viene aggiornato costantemente, per esempio l’operazione complicata portata come esempio restituisce il valore indicato dal prof nella REPL

repl

ma nell’IDE ottengo

Ge

e sì, proprio così:

repl2

:mrgreen:

SICP – cap. 1 – Costruire astrazioni tramite procedure – esercizi – 16

CXU

Continuando da qui, un altro esercizio, qui.

Exercise 1.13: Prove that Fib(n) is the closest integer to ϕn/√5, where ϕ = (1 + √5)/2. Hint: Let Ψ = (1 - √5)/2. Use induction and the definition of the Fibonacci numbers (see section 1.2.2) to prove that Fib(n) = (ϕn - Ψn)/√5.

Nota: per gli Unicode ϕ - 03D5; Ψ - 03A8; √ - 221A.

Uhmmm… provare matematicamente? mica facile, alla mia età poi!
È invece fattibile calcolare ϕn/√5 per valori crescenti di n e confrontarli con Fib(n). Anche se non basta è quello che riesco a fare.
Però la mia versione è meno elegante di quella di Bill, uso la sua. Io non avevo suddiviso le procedure ^ e *^. Anzi –sono sincero fino in fondo– al posto di *^ ho usato expt, elevazione a potenza😦

In ogni caso ecco:

;; phi - da BtL
(define phi
   (/ (+ 1 (sqrt 5)) 2))

(define (^ base exponent)
   (define (*^ exponent acc)
       (if (= exponent 0)
           acc
           (*^ (- exponent 1) (* acc base))))
   (*^ exponent 1))

(define (f n)
   (/ (^ phi n) (sqrt 5)))

;; fib con accumulatore
(define (fib n)
  (fib-iter 1 0 n))

(define (fib-iter a b count)
  (if (= count 0)
      b
      (fib-iter (+ a b) a (- count 1))))

s24

OK, sempre inferiore a 1/2 e diminuisce al crescere di n. Però per valori grandi va in errore:

s25

Non è –come pensavo– colpa della *^ di Bill, ottengo risultati simili con la expt:

s26

Sembra che ciò dipenda dal tipo di numero non esatto ritornato da *^ e expt:

s27

sì:

s28

OK, caso risolto.
Tornando all’esercizio ecco le soluzioni dei maestri, Bill the Lizard, Ken Dyck e S-sol.

S-sol rimanda a Ken, Bill e Lucia. La soluzione di Lucia è da prendere come esempio; peccato che l’autrice resti misteriosa (errore JS), no aspetta, qui.

:mrgreen:

SICP – cap. 1 – Costruire astrazioni tramite procedure – esercizi – 15

CXjI-w7WAAALw4E

Sempre qui, continuando da qui, ancora esercizi.

Exercise 1.12: The following pattern of numbers is called Pascal’s [da noi Tartaglia] triangle.

btl-pt

The numbers at the edge of the triangle are all 1, and each number inside the triangle is the sum of the two numbers above it. Write a procedure that computes elements of Pascal’s triangle by means of a recursive process.

Ho saltato la nota 35, molto dettagliata anche se non nomina Tartaglia.
Sono in un grosso pasticcio: ho cominciato su carta, costruendo un algoritmo non semplicissimo che costruisce la lista di ordine n (n = 0 per la prima riga). Ma ho bisogno delle liste, non se n’è ancora parlato e poi devo distinguere se n è pari o dispari (quindi serve odd?) e in definitiva è troppo lunga e non elegante😦
Per cui rifo, d’altronde era richiesta la ricorsività. OK, si può fare, peccato non essere in classe, provare in gruppo discutere come si faceva a scuola, il brain storming (allora non si chiamava così).
Questo è il bello e il tragico di questi esercizi, insistendo una soluzione si trova (non valgono quelle costruite a martellate) ma la mia non la pubblico, molto meglio quelle dei maestri, Bill, ottimo come al solito e descrittivo; Ken sinteticissimo ma senza nessuna spiegazione; S-sol con varie varianti (ahemmm…) illuminanti.

Quindi, ripensandoci mi sono fatto turlupinare ancora una volta!😳 Devo imparare ad analizzare meglio il problema con carta e matita, senza ‘puter. Quello viene dopo, come verifica.
Pausa qui, devo prepararmi offline per il successivo; senza ‘puter.
Anche perché questi post sono molto più lunghi (nella preparazione) di quelli normali; durano diversi giorni, con aggiunte, modifiche, cancellazioni. Insomma se non piacciono a altri per me sono almeno un tormentone😉
:mrgreen:

Visto nel Web – 233

Uh! quasi ora per— no non lo dico, dev’essere una sorpresa; intanto ecco cosa ho visto nel Web.

game-of-thrones
There are only two hard problems in computer science
#:umorismo
::: johnregehr

From Uber To Eric Schmidt, Tech Is Closer To the US Government Than You’d Think
#:ditte #:economia
::: Slashdot

Why you should disable autofill
#:Web, Internet #:sicurezza, spionaggio
::: kOoLiNuS

WHOA! Didn’t realize the famous 1993 @newyorker dog-Internet cartoon had been updated for the Snowden era
#:sicurezza, spionaggio
::: sree

Una stampante 3D per 200€. E funziona alla grande!
#:hardware
::: ElectroYou

meth juice

Schools Are Helping Police Spy On Kids’ Social Media Activity
#:sicurezza, spionaggio
::: Slashdot

Interview With Python Creator Guido Van Rossum
#:protagonisti
::: Slashdot

@SymPy version 1.0 was released 6 weeks ago. Today I uninstalled Wolfram Mathematica.
Uh! da indagare :grin
#:linguaggi di programmazione
::: yoavram

Même pas pour tout l’or du monde
#:umorismo
::: CommitStrip

Of all the things I’ve been accused of, this is the one of which I am most proud
#:sicurezza, spionaggio
::: Snowden ::: Slashdot

12936613_1067349756659695_4577927683508770765_n

A new @MIT_CSAIL algorithm controlling teams of flying robots factors in moving obstacles
#:innovazioni, futuro
::: MIT

e io come ho potuto vivere senza Python fino ad adesso???
#:linguaggi di programmazione
::: VP59m

Cybersecurity Lessons Learned From ‘Panama Papers’ Breach
#:sicurezza, spionaggio
::: Forbes

Classic Programmer Paintings
#:umorismo
::: Classic Programmer Paintings

US Begins Dropping ‘Cyberbombs’ On ISIS
#:sicurezza, spionaggio
::: Slashdot

rose-are-red

Why are EU regulators going after Android?
#:dispositivi mobili
::: The Verge

Swedish ISP Vows to Protect Users From a Piracy Witch Hunt
#:Web, Internet
::: Slashdot

Cosa sa la Rete di noi?
#:sicurezza, spionaggio
::: Tech Economy

Una scelta scellerata?
#:free open source software
::: Salto

#LuxLeaks trial ended for today. We support Deltour. #Whistleblowers are brave – must be protected, not prosecuted!
#:sicurezza, spionaggio #:Web, Internet
::: anticorruption

CfV2Tu5W4AARZUk

For the first time, mobile gaming will make more money than traditional videogames
#:dispositivi mobili
::: Donearm ::: fabiochiusi

Open365 Is An Open Source Alternative to Microsoft Office 365
#:free open source software
::: Slashdot

Wikipedia Is Basically a Corporate Bureaucracy, According to a New Study
#:Web, Internet
::: fabiochiusi

Came across this really nice explanation for helping people with their first steps towards FP
#:programmazione funzionale
::: odersky

Apple Is Outdated, Says Chinese Conglomerate LeEco CEO
#:ditte
::: Slashdot

ffnEv1a

Top Silicon Valley Execs and Others Urge Congress To Fund K-12 Computer Science Education
#:innovazioni, futuro
::: Slashdot

64 places you can learn to code online for free
#:manuali, how to
::: Business Insider

Apple Has First Earnings Decline In More Than A Decade
#:ditte
::: Slashdot ::: The Guardian

The End of (Numeric) Error – An interview with John L. Gustafson
#:innovazioni, futuro
::: ACM

Intel encourages the OpenStack community to have an open mind and replace Python with Go — Brave but unfeasible
#:linguaggi di programmazione
::: alobbs

iphone

Overcoming immutability in Scala
#:programmazione funzionale
::: Slalom

A Complete Guide To The New ‘Crypto Wars’
#:sicurezza, spionaggio
::: Slashdot

GCC 6.1 Released
ehi! io (cioè ‘buntu XX) ho la 5.3.1
#:sistemi operativi
::: GCC

Don’t have a meltdown, but German officials just found malware in a nuclear reactor
#:sicurezza, spionaggio
::: DigitalTrends

Il Garante privacy stende Facebook. Prima pronuncia italiana contro il colosso statunitense
#:social media
::: fpmicozzi

80s

According to this list I’ve still got a lot of blogging to do
#:programming, codice, snippet
::: MathProgramming

hould it surprise anyone that the item with the highest “technical & schedule risk” in the F35 program is…software
#:programming, codice, snippet
::: Symbo1ics

Remember this the next time FBI asks for a security backdoor, and promises not to abuse it
#:sicurezza, spionaggio
::: xeni

Due parole su Python…..e statistica
#:programming, codice, snippet
::: Math is in the air

Chinese Security Robot Draws Dalek, Terminator Comparisons
#:innovazioni, futuro
::: Slashdot

13092131_1159542270758358_6579342366759325031_n

Introducing MIR
Rust cresce
#:linguaggi di programmazione
::: The Rust Programming Language

Intel Declares Independence From PC, Prioritizes Cloud, IoT and 5G Efforts
#:hardware #:ditte
::: Slashdot

Python: a programming language created by a community
GvR ha un blog, anche se posta poco; oggi è un giorno speciale😀
#:protagonisti #:linguaggi di programmazione #:storia
::: Neopythonic

Former Tor Developer Created Malware To Hack Tor Users For The FBI
#:sicurezza, spionaggio
::: Slashdot

House Passes Email Privacy Act, Requiring Warrants For Obtaining Emails
#:sicurezza, spionaggio
::: Slashdot

aNnXvow_700b_v1

Integrare sicurezza e strumenti di lavoro: il caso dei Panama Papers
#:sicurezza, spionaggio
::: Tech Economy

ieri ho deciso di smanettare, per la prima volta in maniera quasi seria, su @geogebra e sì, è figo
#:tools, componenti software
::: peppeliberti

On va s’arrêter là
#:umorismo
::: CommitStrip

script upgrade.log # script is a nice program that allows you to record your interactive shell session
sul Pr1me era il COMO (commandoutput), usatissimo
#:tools, componenti software
::: climagic

HP Announces All-Metal Chromebook 13: Thinner Than MacBook Pro, Costs $800 Less
#:hardware
::: Slashdot

ChIJe8-WwAA2UuT

Nice work @Microsoft
#:umorismo
::: AnonOpsSE

Cisco Finds Backdoor Installed On 12 Million PCs
#:sicurezza, spionaggio
::: Slashdot

Racket v6.5 is out! Comes with gradual typing perf improvements, faster hash iteration, better optimizer, & more
Uh! ‘giorno😀
#:lisp e derivati
::: racketlang

EU contro i firmware open source
#:free open source software
::: Ninux ::: Ars Technica

Al corso di Fisica e Comunicazione dell’@UffComINFN si parla di social media
#:Web, Internet
::: marcodelmastro ::: marcodelmastro

2d69b76b-214a-47bb-b775-469f976de032

Very nice tutorial from @AllenDowney on Bayesian inference. I plan on inflicting it on #fringescience students
#:programming, codice, snippet #:matematica
::: ehud

Who’s Downloading Pirated Scientifc Papers? Everyone
#:Web, Internet
::: Slashdot

Google’s OnHub Is First WiFi Router To Support IFTTT
#:Web, Internet
::: Slashdot

Watch Edward Snowden’s first-ever music video
::: The Next Web

La censura de Twitter en el Mundo
#:social media
::: anaadvei

13125016_10207799372557309_7007008187808748700_n

Great strides for Scheme: Chez Scheme is now free, Apache licensed!
#:lisp e derivati
::: LambdaNative

Congratulations! Richard Stallman wins ACM System Software award for development and leadership of GCC
::: nixcraft

US Calls Switzerland An Internet Piracy Haven
#:copyright
::: Slashdot

Is software a neutral agent?
#:dati, raccolta
::: Daniel Lemire

13102793_1129249377142825_8254289010796093273_n

Intel Cuts Atom Chips, Basically Giving Up On Smartphone and Tablet Market
#:ditte
::: Slashdot

Google Files Patent For Injecting A Device Directly Into Your Eyeball
#:innovazioni, futuro #:Panic!👿
::: Slashdot

Wireless Carriers To Adopt New Real-Time Text Protocol By December 2017
#:Web, Internet
::: Slashdot

Novità per Cortana
conclusione: abbandonate Windows
#:sistemi operativi
::: SIAMO GEEK

13051728_1347067681986865_6029949959932986720_n

Internet day: celebriamo la nostra miopia
#:Web, Internet
::: Note Diacroniche

A mathematical theory of communication
#:storia
::: Doc Madhattan

A Post for Claude Shannon’s 100th Birthday: Boole, Shannon and the Electronic Computer
#:storia
::: rmathematicus

A Personal Pantheon of Programming Books
#:manuali, how to
::: Knowing and Doing

giphy (8)

Unum, si cambia?

f-kiss

Uh! ‘n cinguettio che promette bene: Unum: a new number format, avoiding many of the pitfalls of floating point.
C’è il link a un’intervista: The End of (Numeric) Error An interview with John L. Gustafson. Da leggere. Siccome sembra impegnativo –e io appartengo alla classe dei seniors– meglio salvarlo come PDF e stamparlo su carta, non i sa mai😉
Ma prima una cosa sul sito dove si trova, Ubiquity, information everywhere di ACM. Dove ACM sta per

Advancing Computing Machinery
We see a world where computing helps solve tomorrow’s problems – where we use our knowledge and skills to advance the profession and make a positive impact.

Mi sa che Ubiquity è da provare a seguirlo, adesso lo followo su Twitter –fatto.

Ecco, finiti i preamboli dovrei parlare di unum (universal number) il nuovo formato composto da  esponente e frazione di ampiezza variabile più un bit speciale che indica se il numero è esatto o meno proposto da John L. Gustafson. Ma vuoi perché è tutto là vuoi –sopratutto– che non è tanto semplice riassumere sono convinto che il mio compito sia finito con la segnalazione.
Anzi no, un paio di considerazioni personali (per quello che valgono).
Gli over- e underflows erano il terrore di tante elaborazioni, OK, lo dice anche l’articolo segnalato. Anticamente con il Fortran IV e dimensioni limitate di memoria c’era sempre da valutare come gestirsi. Precisione semplice (6-7 cifre significative) o doppia (circa il doppio) per i float e interi di 2 (|215 - 1|, |32767|) o 4 (|231 - 1|, |2147483647|) bytes.
Per contro il nuovo formato mi sembra richieda più calcoli e (confessione qui) non ho approfondito come si riesca ad accedere ai componenti delle matrici. Vero che oggi la velocità di elaborazione è molto migliorata e la quantità di RAM pure (se ci penso mi vengono le vertigini). E –pensa te– “The Python port is already done, and several groups are working on a C    port” [qui e qui], come pure altri linguaggi.

Nell’intro trovo anche “The slide rule multiplies and divides, but handles only mantissas. The user keeps track of the exponents.” Ehi! quello so usarlo, dagli anni ’60! davvero, guarda qua. Sorpassato come i floating numbers; sono vecchio😳

:mrgreen:

In difesa della Wiki

wikiUn post diverso dai soliti; ma forse solo il primo di una serie, tutto da vedere, work in progress, anzi pensing.
Una volta, quando i blog erano importanti io Jennifer la leggevo spesso.
Adesso no, passo il tempo con altre cose. Ma oggi ieri qualcuno mi fa notare Wikipedia Is Basically a Corporate Bureaucracy, According to a New Study.
Dove ci sono cose che voglio commentare. Si parte bene:

Wikipedia is a voluntary organization dedicated to the noble goal of decentralized knowledge creation.

Ma continua con:

But as the community has evolved over time, it has wandered further and further from its early egalitarian ideals, according to a new paper published in the journal Future Internet. In fact, such systems usually end up looking a lot like 20th century bureaucracies.

E:

[C]onclusion: “[It] looks like a university system, or like General Electric, or AT&T,”

What makes Wikipedia such a good test case is that it was founded in January 2001, during the very early days of the internet. The community is now roughly the size of the city of Santa Fe, New Mexico, 68 mila abitanti, poco più di Cuneo, 56 mila o Moncalieri, 57 mila.

Non copio, c’è tutto là, scritto molto meglio di come scrivono certi giornalisti nostrani (non sono razzista ma…).
Solo una cosa:

“You start with a decentralized democratic system, but over time you get the emergence of a leadership class with privileged access to information and social networks”

E anche i coreani dicono che è così. OK, continua, di là, io no.
Anche perché sono abitudinario e quando voglio un’info rapida la prima fonte è proprio la Wiki. Non l’unica, certo, ma la prima. E praticamente mi posso fidare (quasi) sempre; anzi ho cominciato a considerare dino un mito da sempre quando ho visto che non perdeva occasione per parlarne male, diversamente da quelle su carta. Poi i seniors si ricorderanno certamente dei CD di Encarta e Encyclopædia Britannica, anche online, roba dello scorso millennio. E prima ancor la mitica Encyclopédie ou Dictionnaire raisonné des sciences, des arts et des métiers.

Ho anche interpellato un wikipediano locale.
.mau. parla spesso della Wiki nelle sue Notiziole; non ho identificato quella cui si riferisce, ma OK, la democrazia non funziona per tutto. Per esempio la scienza non è democratica; ma io della scienza mi fido. A differenza di altri sistemi, anche molto popolari. Tipo che non credo nella strologia, forse perché sono a cavallo tra Acquario e Pesci.

SICP – cap. 1 – Costruire astrazioni tramite procedure – esercizi – 14

picsContinuo, sono sempre qui, oggi esercizi.

Exercise 1.11A function f is defined by the rule that f(n) = n if n<3 and f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3) if n> 3. Write a procedure that computes f by means of a recursive process. Write a procedure that computes f by means of an iterative process.

Così al volo sembrerebbe una variante di quanto visto per fib. Ci si può fidare? Quelli di SICP sono sempre a caccia di quelli che appena si distragono un attimo😦 A me è capitato recentemente, qui.

E qui ci sono tante chiamate, per cui attenzione che la versione ricorsiva funzionerà solo per numeri piccoli. Dai non è troppo impegnativo, si può fare. Si deve fare.

La mia versione ricorsiva è tranquilla, niente da segnalare; più pasticciata (e non la pubblico) quella iterativa. Dopo aver visto il post di Bill the Lizard ho capito che posso migliorare ancora. Assay😳
Mi consola la soluzione di Ken Dyck, più vicina alla mia.
S-sol (Community-Scheme-Wiki) si dilunga con varie versioni, commentate.

Ecco, anche questo esercizio non era una ripetizione; e doveva essere approfondito se davvero si vuole uscire dalla niubbaggine😳

Roba da fare tappa qui.

:mrgreen:

Calc, Gedit e Racket – memo per niubbi ubunteros come me

mandelOrmai ci sono abituato: ogni volta che c’è una nuova versione da installare sono sia eccitatato [che bello chissà le nuove novità nuove di pakka e quelle rinnovate] e presentivato [ma poi devo reinstallare tutta quella roba che nel tempo ho adottato e ne sono dipendente (atticto terminale (nel senso di perso (non nel senso di personale ma di perso propriamente detto)))].

Perché so benissimo che la grande maggioranza delle cose filano via lisce, manco conta di dirle, fatto. Ma c’è ogni volta qualcosa che richiede googlate, tentativi, e altro che io condisco con un crescendo di psicopatologismo e non-ce-la-posso-farismo. Mi vengono anche fastidiose eruzioni cutanee e disordini al sistema intestinale.

Capace che ne ho già anche parlato, anche su questo blog, ma la memoria sapete…

Allora lo ripeto qui, non so se serve ma ci provo.

Calc
Calc è la mia calcolatrice preferita, anzi l’unica. Non conviene seguire le indicazioni del sito (How to Install), c’è un modo molto più semplice:

sudo apt install apcalc

Ecco! il nome è apcalc, non calc! Lo ripeto qui chissà se…
Poi sì so che apt* è roba del passato, adesso c’è snap, ma nel panico di cui sopra; da domani mi adeguo, promesso; forse.

snap

OK, Calc, c’è😀

Gedit
Gedit è cambiato; è sparita la toolbar, OK, poco male, ma manca (sembrerebbe) l’opzione per cambiare il caso (che sarebbe convertire i caratteri maiuscoli/minuscoli, un po’ quello che fa tr). Opzione sparita dal menu Modifica e non c’è da nessuna parte, nessun plugin. Poi disperatamente seleziono un pezzo di testo e, contrariamente a quello che faccio sempre uso il tasto destro del mouse per dire copia e miracolo (nel suo piccolo):

gedit

Ma dimmi te! Dubbio: magari era così anche prima, non lo saprò mai😉
Lo scrivo qui perché di sicuro me lo dimentico, sapete la mia memoria…

Aggiornamento: medeoTL (rockz!) ha appena twittato, qui, una dritta che funziona, pratica, meglio di quella indicata da me. Quindi per cambiare MAIUSC|minusc per il testo selezionato ci sono le scorciatoie:

C-u converte in maiuscolo
C-l converte in minuscolo
C-~ inverte M/m

Dove C-u sta per Ctrl+u, come usano i saputi.
Nota aggiuntiva per quelli come me che dimenticano le cose: ~ è nascosto sulla tastiera italiana; si ottiene con AltGr+ì.

Racket
Qui tutto Ok, quasi, c’è la pagina Download Racket dove si può scaricare uno script di 120MB, da eseguire con sudo bash, anzi snap (prossimamente).
Ora la versione che ho scaricato e installato è quella per mamma Debian; funziona ma c’è anche quella per ‘buntu, anche se per una versione non recentissima, anzi (Precise Pangolin, 12.04). Anche questa nota potrebbe servire per il futuro chissà…

Aggiornamento: oggi, 29 aprile c’è la versione 6.5; sparita la distinzione tra Debian e Ubuntu, adesso l’indicazione è Linux 64😀
Installazione velocissima😀
Racket rockz!😀

Ah, un’ultima nota: per gli screenshots uso —com’è già che si chiama…–, a sì: xfce4-screenshooter, da installare con sudo apt install; anzi snap.

Tutto questo perché adesso è prematuro parlarne ma

yy

Uh! yakkety, yakkety, yakkety Yak!

ott

Il 20 è giovedì, di solito l’installazione la faccio la domenica. Pre-panico per domenica 23 ottobre 2016. Quel giorno non ci sono per nessuno; non vi conviene. E mancano solo sei mesi, scarsi😦

:mrgreen:

Iscriviti

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

Segui assieme ad altri 90 follower