Servono kTln2 joules di energia per trasmettere un bit di informazione in un ambiente a temperatura T

Inverno

Published on 19:33, 11/06,2008

Se non vivete sulla luna avrete visto servizi al telegiornale entusiastici riguardanti l'elezione del nuovo presidente degli stati uniti d'america (tutto minuscolo of course) e non li capisco: non capisco dove sta il cambiamento (l'ho visto anche io che è negro, la vista non mi è calata così tanto), riescono a dire apertamente che è una svolta siccome un negro è arrivato al massimo posto di potere, ma se c'è stupore allora non sono tanto aperti di cervello. Poi personalmente sono convinto che quando tutti gli opinionisti/politici/prostitute del potere sono d'accordo che una cosa è perfetta, allora hanno appena aperto un barattolo di vasellina e se la stanno spalmando sulle mani mentre noi siamo già piegati a 90 con i pantaloni abbassati.

I possibili motivi che hanno spinto l'opinione pubblica a votarlo ed essere contenta sono fondamentalmente

  1. È nero (che peraltro secondo me non ha proprio la corporatura di un tipo afro)
  2. Non è bianco
  3. Non è McCain
  4. Non si ubriaca alle 8 del mattino
  5. Ha promesso che non si farà influenzare dalle lobbies di potere (peccato che abbia già promesso un posto all'uomo che mostrando una fiala di acqua colorata ha fatto partire una guerra, rivelando poi che era una cazzata)

comunque come commento in un forum leggevo che questa è la dimostrazione che i mass media sono praticamente onnipotenti: sono riusciti a far votare ad un popolo di razzisti un nero!!! Comunque vi lascio qualche link per passare il tempo

Endorsement: ecco un paio brevi riferimenti su Obama, il candidato maestro di demagogia e populismo, che per molti costituisce un vero cambiamento
Lo stato falsario:
visto che il video linkato della volta precedente ha avuto successo, questo è un trattato sulla gestione della moneta da parte dello stato e delle 9 fasi che ha attraversato la gestione della moneta a corso forzoso nel mondo; non guarderete le notizie sul tasso di sconto al TG con gli stessi occhi.
4 novembre: festa dei militari, oh my god...
La svezia, dove il welfare ha ucciso l'uomo: chi nonvorrebbe andare a vivere in svezia?
Daily Hitler: come poter sopravvivere senza di lui?
www.catsthatlooklikehitler.com: Does your cat look like Adolf Hitler?
Chiavi di casa duplicate a distanza: non lasciate le chiavi in bella vista!!!

Piccolo vademecum per il programmatore

Published on 18:03, 08/22,2008

Regole da seguire per scrivere codice in C

  1. Appena apri un file (sopratutto non tuo) imposta shiftwidth, tabstop ed eventualmente expandtab in maniera adeguata al tuo stile. Eventualmente set list ti può far capire che impostazioni sono state usate.
  2. Il preprocessore ti ha fatto conoscere # e ## che sono tue amiche e ci sanno fare.
  3. Ricordati che con -llibrary dici al linker che al programma serve la libreria library e con -L eventualmente dove trovarla. Un controllo con ldd non fa mai male.
  4. Commenta il codice
  5. Commenta il codice
  6. Se hai creato una funzione con più di due blocchi distinti mi sa che ti tocca riscriverla.
  7. Ricordati di nascondere con static una funzione al mondo esterno.
  8. Non sforare le 80 colonne.
  9. Sempre sia lodato ulimit -c unlimited.
  10. Quando migliori il codice assicurati di non peggiorarlo.
  11. I Makefile sono una figata
  12. Se il tuo programma prevede di scrivere su file usa full(4) per provare cosa succede nel caso si esaurisca lo spazio su disco (tu ovviamente credevi di aver pensato a tutto!!!).
  13. Le mailing list sono tue amiche (magari leggile tramite thunderbird che ha un eccellente sezione sulla iscrizione ai news groups di gmane.org).
  14. Se desideri open(2) ma vim ti apre open(1) ricordati di premere '2K'.
  15. If a macro contains more than one statement, use a do/while structure to enclose the
    macro. (Don't forget to leave out the semicolon of the statement).
  16. gcc -dM -E - < /dev/null può dirti quali sono le macro predefinite nel tuo compilatore preferito.
  17. Puoi impostare un campo di una struct tramite per esempio
    variabile_struct = (struct punto){ .x = 10.0 , .y = 14.89 }; secondo me è più leggibile e anche se cambi la definizione della struct non hai bisogno di cambiare l'ordine delle inizializzazioni (e il compilatore non ti avverte!!!).
  18. Usa un regola esplicita nel makefile per gli header: file.o: header.h. Altrimenti nella ricompilazione può usare una struct che in realtà è stata ridefinita e il segfault diventa un mistero.
Compiling.
Linkografia

Shared library or something like this

Published on 11:52, 07/19,2008

Sto riscrivendo dei miei esempi di codice in C e ho varie routine di X11 da modificare in maniera tale da farle lavorare come librerie shared e poterle condividere facilmente tra i vari programmi che scrivo; visto che ogni volta mi incasino per farle funzionare perché non mi ricordo le flags da passare al compilatore/linker qui metto i miei tricks. Per adesso scrivo questo poi metto apposto tutto (sono reduce da una serata di alcol).

Dalla pagina di manuale di gcc(1)

-llibrary
-l library
           Search the library named library when linking.  (The second
           alternative with the library as a separate argument is only for
           POSIX compliance and is not recommended.)

           It makes a difference where in the command you write this option;
           the linker searches and processes libraries and object files in the
           order they are specified.  Thus, foo.o -lz bar.o searches library z
           after file foo.o but before bar.o.  If bar.o refers to functions in
           z, those functions may not be loaded.

           The linker searches a standard list of directories for the library,
           which is actually a file named liblibrary.a.  The linker then uses
           this file as if it had been specified precisely by name.

           The directories searched include several standard system
           directories plus any that you specify with -L.

           Normally the files found this way are library files---archive files
           whose members are object files.  The linker handles an archive file
           by scanning through it for members which define symbols that have
           so far been referenced but not defined.  But if the file that is
           found is an ordinary object file, it is linked in the usual
           fashion.  The only difference between using an -l option and
           specifying a file name is that -l surrounds library with lib and .a
           and searches several directories.

 

Vim

Published on 16:55, 12/10,2007

Vi Vi Vi the editor of the beast

Nel 1976 nasce per mano di Bill Joy quello che diventerà l'editor per eccellenza degli hacker negli anni a venire, il mitico Vi: nome derivato dalle iniziali del comando visual prende vita dall'editor ex, editor ancora precedente a sua volta derivato da ed

 (Continua)

X Window system

Published on 20:02, 08/10,2007

( GUIDA IN VIA DI COMPLETAMENTO)

Xorg logo.

Nei sistemi Unix-like il gestore grafico standard è il cosidetto X Window system, sistema nato nel 1984 al MIT (da cui eredita la licenza), successore del gestore grafico W il quale girava sul sistema operativo V (notare come le lettere siano in successione). In linux si ha avuto la possibilità di usarlo dalla versione 0.95 della primavera del 1992 grazie alla implementazione (primitiva ai tempi) dei socket fatta da Orest Zborowsky[1].

 (Continua)

Makefile

Published on 18:50, 06/20,2007

Uno degli splendidi strumenti costruiti dai programmatori del mondo Unix è rappresentato dal programma make che ha lo scopo di aiutare uno sviluppatore nello sviluppo di progetti di grosse dimensioni tenendo conto in automatico quali file sono stati modificati e dunque necessitano operazioni su di esse.

 (Continua)

Git

Published on 11:32, 06/03,2007

 [ATTENZIONE: pagina in via di completamento]

Logo del progetto Git.

Git è un programma distribuito per il controllo di "revisione" (maledetti termini inglesi[1][2]) di progetti software creato da Linus Torvalds per gestire lo sviluppo del kernel ormai giunto ad un numero di righe di codice probabilmente insostenibile per una persona normale. Il progetto partì il 3 Aprile 2005 e già nel giugno dello stesso anno il kernel incominciò ad essere gestito attraverso questo fantastico strumento. Visto l'odio viscerale che il caro nostro amico (?) nutre per il sistema alternativo chiamato CVS (vedere video) e altri sistemi analoghi, ha deciso di scriverne uno lui stesso.  

 (Continua)