Marcello Barnaba Homepage (A Blog)

Avevo un amico pittore

I nostri punti di vista erano differenti, ma comunque apprezzavamo le stesse cose. La bellezza dei fiori, ad esempio.

Un giorno mi disse “Guarda quanto è bello questo fiore. Ma non dire niente. Se tu adesso iniziassi a descriverlo con la tua mente analitica e scientifica, ridurrai questo fiore a qualcosa di meccanico e banale.”

Non ribattei.

Pensai.

Prima di tutto, il fiore era davvero molto bello. E la bellezza che lui vede è disponibile a tutti e anche a me. Le sfumature, le forme, le fragranze. Allo stesso tempo, posso immaginare le cellule e le delicate interazioni tra esse, fino ai meccanismi subatomici della pianta, che ci donano l’ossigeno che respiriamo.

Anche queste cose hanno una loro bellezza.

Non c’è solo la bellezza alla dimensione di un centimetro, c’è anche bellezza a dimensioni più piccole. Oh, e i processi.

Ad esempio, i colori dei fiori si sono evoluti per attrarre gli insetti. E questo significa che gli insetti vedono i colori.

E' interessante. Vuol dire forse che quindi gli insetti hanno senso estetico?

Tutte domande interessanti, che aggiungono bellezza. Io proprio non capisco come queste domande che provengono dalla scienza e dalla conoscenza possano sottrarre e banalizzare.

— Libera reinterpretazione di Richard Feynman, da https://www.youtube.com/watch?v=cgraCYOQJl4

Posted at 21PM on 07/30/14 | 0 comments | Filed Under:

The answer to Life, Universe and Everything

Tenzin Gyatso, il Dalai Lama: "Se la scienza smentisse qualche credenza del Buddismo, allora il Buddismo dovrà cambiare. Nella mia visione, la scienza e il buddismo sono entrambe ricerche della verità, per comprendere la realtà. Imparando aspetti della realtà meglio compresi con la scienza, io credo che il Buddismo arricchisca la sua visione del mondo" (fonte).

Mi trovo concorde con questa visione. Mi risuonano in mente anche le parole di Einstein "Sono abbastanza un'artista da disegnare liberamente con la mia immaginazione. L'immaginazione è più importante della conoscenza. La conoscenza è limitata. L'immaginazione abbraccia il mondo".

Da sempre siamo alla ricerca della verità. Nel tempo le nostre capacità tecniche sono avanzate, permettendoci di leggere i libri geologici e cosmici che ci hanno circondato da sempre, e di cui abbiamo sempre avuto distacco e paura.

Abbiamo compreso e metabolizzato i nostri limiti, e con la nostra immaginazione abbiamo ideato e costruito macchine e tecnologia atti a superarli. La nostra realtà è sempre stata piena di elementi invisibili ai nostri occhi, che abbiamo cercato di raggiungere e spiegare con i nostri mezzi limitati.

Questa continua ricerca è stata per tanto tempo anacronistica e presuntuosa. Siamo rimasti delusi. Pregni della nostra incapacità di capire, abbiamo inventato spiegazioni per soddisfare i nostri bisogni, costruendo noi stessi quelle fonti della verità di cui avevamo tanto bisogno.

Questo approccio può sembrare innocuo, ma leggendo la storia troviamo l'inquisizione del mondo cristiano, l'annullamento della matematica nel mondo arabo che perdura ancora oggi - opprimendo un popolo, il moderno Scientology e il metodo Stamina.

Non lasciamo che la nostra delusione fermi la nostra creatività e immaginazione. Personalmente, ho raggiunto una forte consapevolezza di me e dell'universo in cui vivo, e che è dentro di me. Vi ho trovato completezza, fascino e bellezza, unita alla certezza di star attingendo da una fonte di verità non fatta da una persona sola. O da una filosofia sola.

La vera verità è quella scritta nel grande libro della Natura. Le parole di questo libro sono l'elettromagnetismo, le forze nucleari, l'equivalenza di materia ed energia, la danza cosmica orchestrata dalla gravità, le stelle che bruciano nelle curve dello spaziotempo, forgiando gli elementi di cui noi siamo composti, percorrendo la freccia del tempo seguendo la legge universale dell'entropia.

Entropia: da ordine a disordine. Tutto si muove seguendo questo intrinseco "bisogno" di equalizzazione: dalla tazza di tè che si raffredda tra le tue mani, dall'energia del Sole immagazzinata nel legno, restituita dal fuoco e poi ridotta in cenere, al Sole che smetterà di bruciare tra cinque miliardi di anni, all'intera galassia che si disperderà nel cosmo, allo spaziotempo stesso che si dilaterà all'infinito.. in un futuro lontanissimo.

Questi pensieri sono il mio personale Graal, che ho trovato e che come un sogno condivido con voi, perché sono potenti e danno forza. Forza di superare i nostri limiti miscelando conoscenza, immaginazione, pensiero e consapevolezza di sè.

La mia personale filosofia costruita negli anni, mettendo assieme tanti pezzi di un puzzle, che adesso inizia a mostrare un disegno e a dare delle risposte. Un puzzle che un giorno sarà completo.

Il mio personale consiglio è adesso di dimenticare tutte queste parole e di partire. Partire nella lettura del libro di Natura, attraverso la fisica.

Nessuno è un messia, nessuno è in grado di fornirti la verità su un piatto d'argento. Chi è convinto di farlo è vittima stessa della delusione, e cerca nel suo seguito una conferma.

Lo so bene perché lo faccio anche io.

Buon viaggio.

Posted at 09AM on 07/01/14 | 1 comment | Filed Under: number 42 politics

Science and Religion: it doesn't work

#Science and #religion are both humans searching for truths. The two differ in their methods: in religion faith is a virtue, in science it’s a vice. This makes the two fundamentally incompatible.

Why does this matter? Because religion is the most venerable superstition – and the most politically and financially powerful, because believing blindly fundamentally weakens our concept of truth.

Religion’s inability to find the real truth then produces things such as the oppression of women and gays, opposition to research, denial of vaccines, and of course all those wars, suicide bombings and religious persecutions. And fear of comets.

Let’s move on.

Posted at 02AM on 06/23/14 | 0 comments | Filed Under: number 42 politics

Il vero sistemista

di Franco Lanza

Il vero sistemista e’ un po’ come il meccanico di una volta, quello che se gli portavi la macchina per rifare la convergenza e quando arrivavi sentiva che il minimo non andava bene, ti faceva la convergenza, e giustamente la pagavi, ma poi ti sistemava anche il minimo e non ti chiedeva nulla, lo faceva perche’ non sopportava di sentire una macchina che non era a punto come si deve.

Era quello che da ogni minimo e impercettibile rumore indovinava subito qualsiasi problema, anche quello di cui il cliente non si era ancora accorto.

Era quello che dopo cena a casa con la famiglia, tornava in officina, dove potevi vedere le luci accese fino a notte tarda, perche’ stava lavorando al “suo” gioiello, una qualche macchina semi d’epoca recuperata chissa’ dove che con passione piano piano sistemava fino a farla tornare nuova.

Ecco, il sistemista e’ come quel meccanico, e le sue auto sono i server.

Fonte: VeteranUnixAdmins

Posted at 04AM on 02/28/14 | 0 comments | Filed Under: number 42

goto fail;

In its own words:

Sources: 55179.13.c, 55471.c

Source code differences between two consecutive versions of the Security.framework, a MacOS/iOS component. The seemingly innocuous extra goto fail; is the cause of a severe security flaw in most Apple products.

Posted at 03AM on 02/28/14 | 0 comments | Filed Under: development

This weekend I didn't code

Because I have been busy doing this:

Posted at 06AM on 12/01/13 | 0 comments | Filed Under:

Install node.js via APT on Debian Squeeze

Abstract: add SID APT source, configure APT Pinning to give squeeze packages priority over SID ones, rebuild the nodejs package under squeeze.

  • Add SID APT source by creating /etc/apt/sources.list.d/sid.list (use your nearest mirror):
deb http://ftp.us.debian.org/debian/ sid main
deb-src http://ftp.us.debian.org/debian/ sid main
  • Configure APT pinning by creating /etc/apt/preferences.d/sid:
Package: *
Pin: release a=unstable
Pin-Priority: 50
  • Install the latest version of libv8 manually, libv8-3.8.9.20 at the time of writing this:
apt-get install libv8-3.8.9.20
  • Download the nodejs package sources, dependencies and build them:
cd
apt-get source nodejs
apt-get build-dep nodejs
cd nodejs-*
debuild -nc -uc
  • If you encounter build-dependency errors, you should try first to lower the dependency in debian/control, both in Build-Depends and in Depends and re-run debuild. If the build fails (e.g. with undefined reference to `ev_run') the previous version is missing required functions. So, you must install the updated versions of the required dependencies (e.g. libev4) from sid, using apt-get install name=version e.g. libev4=1:4.11-1. I suggest this because you’ll have to manually update packages installed from sid, so the lesser, the best.
  • Install the generated package
dpkg -i nodejs_*.deb nodejs-dev*.deb
  • Profit :-)
Posted at 12PM on 09/12/11 | 5 comments | Filed Under: development

Binding 80/TCP as non-root on your development server

neo-tux by sagarkshetri.com.np

So you have a Linux VM you use for development, because you want to mirror the production environment as closely as possible. You have many applications to deal with, they have to be running at the same time because they are nifty REST JSON web services.

You are very tired to remember which one you put on port 8081, and your configuration files slowly become a real mess. So you set up IP address aliases in for the network interface and decide to assign even host names – /etc/hosts is just fine – for each app.

Then, in such a setup, why would you still need to run them on ports higher than 1024? Wouldn’t be just great to type the application name in the browser address bar? Indeed it is, but it’s better to not run them as root, anyway.

The solution are Linux capabilities (see also here). The one that interests us is cap_net_bind_service: it gives a process the right to bind well-known ports (< 1024). If you use an interpreted language, of course you’ll have to add the capability to the interpreter itself. That’s why there’s development in the title of this article – you should not set this up on a production server, if you don’t know what you are doing.

One final quirk: if you happen to dlopen() shared objects that dynamically link towards libraries outside the canonical paths, you cannot load them via LD_LIBRARY_PATH (e.g. the SYBASE.sh) as it is ignored for setcap-ped processes. You should better move the library paths into an /etc/ld.so.conf.d snippet.

tl;dr

Assuming you are the latest and greatest rails developer, you should become root – or use sudo, as you wish – and

# YOU ARE ON YOUR DEVELOPMENT MACHINE
setcap cap_net_bind_service+ep `which ruby`

Profit:

thin start -a yourapp -p 80
>> Using rack adapter
>> Thin web server (v1.2.11 codename Bat-Shit Crazy)
>> Maximum connections set to 1024
>> Listening on yourapp:80, CTRL+C to stop
...
Posted at 14PM on 07/07/11 | 2 comments | Filed Under: development

About

This is sindro.me, a weblog by Marcello Barnaba (@vjt) about technology, ruby, development, software, the internet, entertainment, politics, sociology, and the answer to Life, Universe, and Everything (42).

Links