books

Owning my reading log

As Tom once said, it is now time to own my own reading log. Why? Despite all the reasons mentioned on Tom’s post, I also got bored of Goodreads and I ended up not using it as much as I should have.

With university, work and… life… I stop reading as much as I did before. But it’s now time to get back to some reading. Even if it’s not that much, I need to read something. I must do it.

🇵🇹 Uma citação da qual sempre gostei imenso, de um livro que não esperava ler. Fica aqui, for the record:

“Para conseguir essa habilidade, ou seja, encontrar a distância certa e o local certo, sem a ferramenta primordial da linguagem, é preciso uma vigilância constante, uma acuidade desmultiplicada. É preciso ser inventivo e astuto. É preciso medir o que se diz, o que se pensa ter dito, o que se imagina ter percebido, é preciso medir a maneira como as palavras se inscrevem em si, as palavras estrangeiras que muitas vezes soam sem nenhum sentido, mas que se insinuam apesar de tudo por baixo da pele, é preciso ficar acordado e consciente, aceitar aprender sem compreender, agir sem saber, é preciso deixar infundir sem angústia, não ter medo de estruturar o cérebro de outro modo, ser permeável mas não poroso, é preciso fazer-se esquecer sem se esquecer de si mesmo, passar rente às paredes sem se perder, estar aqui e ali ao mesmo tempo, é preciso saber interpretar mais do que entender, é preciso dar a impressão de concordar sem ser superado. Preciso de ter antenas, ser dupla em permanência, à espreita do menor sinal, do menor indício.” - Um Ano Estrangeiro, Brigitte Giraud

Peer-to-Peer Systems and Applications

isbn: 978-3-540-29192-3 Use the book more as a reference book. C1 & Part I: Notion, Areas, History, Future These are introductory chapters and mostly talk about the reasons why this book was written and what are peer-to-peer systems about, as well as some history and application areas. Main requirements for future Internet-based apps: Scalability Security and reliability Flexibility and quality of service Decentralized resources: Data is addressed by the data itself, not by location Note: people usually associate P2P with file-sharing but there’s a lot possibilities than that: distributed computations, verifiable elections, blockchains… Part II: Unstructured Systems Page 36: good table comparing different categories of P2P systems Explains how some early p2p systems worked: Gnutella Napster Definition of P2P system: A Peer-to-Peer system consists of computing elements that are: connected by a network, addressable in a unique way, and share a common commmunication protocol.

The Practice of Programming

isbn: 0-201-61586-X initial read: 2018-05-25 quick reread: 2020-06-16 A quick note about the book: a lot of the things are C-specific and do not apply to other languages such as tips with macros, etc. This is basically a “how to be a good programmer” book. Chapter 1: Style Names are important Be clear and consistent Follow conventions “Parenthesize to resolve ambiguity” “Break up complex expressions” “Be clear” Do not write bad code Write readable code and comments Chapter 2: Algorithms and Data Structures Search Algorithms Sorting Algorithms Data Structures Asymptotic Notation Chapter 3: Design and Implementation Chapter 4: Interfaces Hide implementation details Choose a small orthogonal set of primitives Don’t reach behind the user’s back Do the same thing the same way everywhere (consistency!) Free a resource in the same layer that allocated it Chapter 5: Debugging Look for familiar patterns Don’t make the same mistake twice Debug it now, not later Get a stack trace Read before typing Explain your code to someone else (or a rubber duck!