coglioni
vs rest of the world
" ... well I know that google could have a hundred of developer, instead we have only you, but it's a shame that we cannot be able to do the same things ... "
string2float
piccole cose crescono
Dipendenza sane
Il più IDE del reame
nuoto più veloce
Eresie
"37"+7 = "377"
Per uno che vien dal TurboPascal cose così sono pure eresie.
Per un talebano della programmazione chi sta dietro a queste cose andrebbe lapidado con cubetti di ghiaccio mentre brucia su un rogo di carbonella.
Non si può, quale logica stà in queste scelte. E come posso pretendere di imparare in fretta queste cose.
Come chiedere a Ratzinger se gli va di accompagnare con la chitarra un canzoncina da boy-scout durante la messa.
Per gli ignoranti in materia, quelle di sopra sono due operazioni aritmetiche tra un numero e una stringa di numeri (le stringhe si rappresentano tra le virgolette).
Nel primo caso la stringa viene convertita in un numero e viene calcolato il valore della sottrazione tra due numeri; nel secondo invece il numero viene interpretato come una stringa e accodato alla prima stringa.
Operazioni aritmetiche tra numeri e stringhe di numeri sono lecite in altri linguaggi, per esempio in pHp, solo che li sono le stringhe che vengono sempre convertite in numeri.
li odio, dio quanto li odio
Un tranquillo week-end di sfiga
Do It With Others
from "Design Criticism and the Creative Process" by CASSIE MCDANIEL on "A list Apart"
Qualita apprezzabili
Non sempre sono qualità apprezzate.
il tempo è uomo d'onore
Cose trascurate, cose lasciate dietro, cose che farò, cose non adesso che non ho tempo.
Ecco il tempo alle volte è ciclico e si ripresenta a chiedere conte delle cose non fatte a suo tempo.
E non che adesso ho più tempo di allora, però adesso non c'è più tempo da perdere.
inizio e fine
Keep calm and set breakpoints
Sempre se non me li dimentico prima.
Così mi segno qualche appunto:
1) parlare male di quelli che parlano bene degli Mac
2) questioni filosofiche sui web per smartphone
3) programmare fa bene ai dettagli
Comincio dal terzo: ma van culo va!!!!
Ecco adesso che mi sono sfogato va un po' meglio.
I computer sono stupidi, talmente stupidi che se vi dimenticate una virgola potete star certi che il vostro bel programmino non funzionerà mai e poi mai come vi aspettate.
Anzi anche peggio, avrete un errore del tutto inatteso e passerete ore a capire perché fa così.
Passerete ore a cercare di capire cosa non va, a fare modifiche, a cancellare roba, a riscrivere altra roba. Niente. Niente e niente. Qualunque siano i tentativi non ne uscirete.
Allora cominciate a fissare i breakpoints.
Fissare i breakpoints vuol dire mettere nel flusso di istruzione delle pause forzate per controllare il valore delle variabili in quel preciso momento.
Il comportamento del programma dipende dal valore delle variabili e per capire perché si comporta in un modo anziché i un altro bisogna conoscere il valore delle variabili in uso.
Sto usando il php e il codice è disseminato di echo.
Altre volte i breakpoints servono solo per capire fino a che punto il programma funziona e dove è che si blocca: un sorta di fino-a-qui-tutto-bene.
Dopo aver passato il codice istruzione dopo istruzione, dopo averlo fatto girare passo-passo, dopo aver l etto i valori di tutte le variabili, dopo aver perso mezza giornata su una funzione di poche istruzioni, ma che regolarmente si impallava.
Dopo tutto questo e anche peggio, quando hai una irrefrenabili voglia di lanciare il pc contro una parete, quando sei più isterico di un gatto chiuso in lavatrice con la centrifuga, ecco che scopri che manca una virgola.
Una piccola e insignificante virgola. Un dettagli in un listato di centinaia di istruzioni. Ma il dettagli che per uno stupido fa la differenza tra fare la cosa giusta e fare qualcos'altro.
Che per il pc stupido è comunque fare la cosa che c'è scritto, ma che non è quello che avrebbe dovuto.
Programmare vuol dire non trascurare i dettagli. Vuol dire rispettare le regole, soprattutto quelle semantiche, vuol dire essere precisi e anche pignoli. Perché la minima mancanza può generare errori inattesi e, quel che peggio, difficili da scovare.
Il peggior programma in questo senso è il CSS.
Non è un vero linguaggio, sono una serie di regole di definizione di parametri.
Ma qui il dettaglio, la virgola, l'errorino è quello che fa la differenza tra il paradiso e l'inferno, tra le cose che vanno e le cose che non vanno.
Perchè se in un linguaggio come php, malgrado l'errore il programma fa comunque qualcosa di prevedibile.
Con i CSS le cose sono o funzionano bene o funzionano come non ti puoi neanche immaginare e quel che peggio che non puoi settare breakpoint, puo solo andare a caso. Smazzarti le regole, cercare quelle coinvolte, provare, tentare, andare a caso, riprovare, ritentare e poi...
... poi la trovi la virgola, la trovi alla fine. Oh se la trovi.
E a quel punto viene spontaneo eclamare un "ma-va-fan-culo". Un mavafanculo che è liberatorio.
E sei di nuovo in paradiso, il più felice dei beati.
Per la cronaca la mia non era una virgola, era una graffa: una graffa chiusa persa chissà dove che inefficiava una 50-ina di regole che fino a ieri funzionavano benissimo.
son cose che mi rendono felice
La fine del cap5 è stato una esondazione di bile e nervoso.
Sono alle prese con SP e sto seguendo gli esempi di un manuale(1), fino a stamattina andava tutto bene.
Le uniche vere difficoltà c'è le avevo con le traduzioni. Il libro è in inglese, il software l'ho dovuto prendere in italiano. La difficoltà non è leggere un testo in inglese, è pur sempre un manuale tecnico e l'inglese usato è così semplice che il mio cervello riesce a produrre una traduzione simultanea mentre lo leggo. No, la difficoltà è capire come sono stati tradotte certe voci dei menù del software.
Così se è semplice capire che "raccolta" sta per "library", se è abbastanza intuitivo capire che "aspetto" sta per "look and feel", non riesco a capire come "tracking" sia diventato "gestione".
Va detto che "gestione" rende bene la funzione che svolge, così come rende bene "visualizzazione struttura" al posto di "tree view".
Alcune traduzioni sono letterali. Però se "workflow setting" diventando "impostazioni flusso di lavoro " non perde molto di significato (anche se guadagna in stupidità), il "quick launch" diventando "avvio veloce" secondo me perde gran parte del suo significato.
Ovvio che se da una parte leggo "quick launch" e dall'altra "avvio veloce" capisco che si tratta della stessa cosa, però "avvio veloce" non si spiega bene come menu di "scelta rapida".
Strano perché in fin dei conti "recylce bin" è diventato un esplicativo "cestino" anziché un "bidone del riciclare".
Lo so, non è facile fare una traduzione. È difficile farla per un libro, figuriamoci per un software, soprattutto quando una sintetica e onomatopeica parola anglofona riassume una frase intera in lingua manzoniana.
Però se "web part" è rimasta "web part" perché "workflow" non poteva rimanere "workflow", invece di assumere un ridicolo "flusso di lavoro". Avvessero usato almeno "fasi" anziché "flusso".
Ma soprattutto com è che "check in" e "check out" sono diventati rispettivamente "archivia" e "estrai".
Non sto qui a dirvi a cosa servono questi comandi, diventerei troppo lungo. Vi dico solo che quando trovai questi due comandi, in italiano e senza manuale, non sono proprio riuscito a immaginare a cosa potessero servire. E adesso che ho letto a cosa servono, non riesco proprio a capire perché gli hanno tradotti in quel modo.
Già la scelta inglese secondo me non è stata delle più felici, ma in italiano diventa una cosa che non ha alcun senso.
Ma la mia sovrapproduzione di bile, con conseguente alterazione in peggio dell'umore, non è dovuto a questi dettagli linguistici. No, il tutto nasce da due cose spiegate in fondo al capitolo e che a me non funzionano.
Il manuale è di quelli che spiega il funzionamento del software per esempi, ti guida per manina a fare le cose seguendo una serie di passi da compiere, sul modello di art-attack: fai click qui, fatto?bene, adesso fai click qui, fatto?bene… e via fino in fondo.
Se segui tutti i passi alla lettera arriverai alla fine che avrai scoperto come funziona una parte del software e sarai il bambino più felice del pianeta.
Se invece arrivi in fondo, ma non funziona allora vuol dire che hai saltato qualche passo, torna all'inizio e riprova.
Ma se anche riprovando, se anche seguendo tutti-i-passi-alla-lettera-senza-cambiare-una-virgola (2) ancora non funziona, beh allora puoi frignare quanto vuoi, puoi battere pugni e piedi quanto vuoi, non troverai nel manuale niente che ti possa aiutare. Semplicemente perché gli esempi sono costruiti per funzionare passo dopo passo e non sono contemplati imprevisti.
Se a te non funziona è un problema tuo, probabilmente è il tuo software che non va o forse sei tu troppo stupido per quel software. In ogni caso: arrangiati.
Così mi devo arrangiare anche quando tira fuori un secondo software che funziona assieme a SP ma che non ho. Non solo mi manca e non capisco perché, visto che sembrerebbe essere un accessorio di O, che possiedo e che ho già installato. Ma neppure su sito del produttore, lo stesso sia per SP sia per O sia per quest'ultimo arrivato, ho trovato traccia. Niente, ho comprato un manuale che mi parla di qualcosa che non esiste e semmai sia esistito in meno di due anni è stato fatto sparire, cancellata ogni notizia o riferimento. Il produttore non è nuovo ad aggiungere ad O nuovi programmi accessori che rivoluzioneranno il modo di lavorare, tranne poi togliergli alla release successiva perché non ha trovato abbastanza rivoluzionari.
Che dire son cose che mi rendono felice.
(1)Se non lo sapete, quando comprate un manuale tecnico in formato ebook sappiate che potreste non trovare il cd allegato con gli esempi svolti e altre notizie di approfondimento che invece trovereste nel vecchio formato cartaceo che costa pochi dollari in più. Alla faccia di Negroponte.
E che dire son altre cose che rendono felici.
(2) alla terza volta che ripetevo tutti-i-passi-alla-lettera-senza-cambiare-una-virgola avevo seri dubbi che i comandi in italiano che cliccavo erano proprio quelli giusti indicati in inglese. Ecco perché quando posso scegliere, scelgo i programmi nella lingua in cui sono stati sviluppati.