Skip to main content

Meme

Yay! Another meme!

Instructions:
Grab the nearest book.
Open the book to page 56.
Find the fifth sentence.
Post the text of the next seven sentences in your journal along with these instructions.
* Don't dig for your favorite book, the cool book, or the intellectual one: pick the CLOSEST.

Because, like jon787, I had several books equidistant from me, here are two:

Hiro cuts across the Hacker Quadrant, headed for Da5id's table. He recognizes many of the people in here, but as usual, he's surprised and disturbed by the number he doesn't recognize--all those sharp, perceptive twenty-one-year-old faces. Software development, like professional sports, has a way of making thirty-year-old men feel decrepit.

Looking up the aisle towards Da5id's table, he sees Da5id talking to a black-and-white person. Despite her lack of color and shitty resolution, Hiro recognizes her by the way she folds her arms when she's talking, the way she tosses her hair when she's listening to Da5id. Hiro's avatar stops moving and stares at her, adopting just the same facial expression with which he used to stare at this woman years ago. In Reality, he reaches out with one hand, picks up his beer, takes a pull on the bottle, and lets it roll around in his mouth, a bundle of waves clashing inside a small space.

--Neal Stephenson, Snow Crash

Two's complement is the way negative numbers are stored on computers. The idea behind two's complement is to provide a binary representation of a number that when added to a positive number of the same magnitude will produce zero. This is done by first writing the positive number in binary, then flipping all the bits, and finally adding one. This can be quickly explored and validated with a hexadecimal and binary calculator, such as pcalc.


$ pcalc 72  
>         72              0x48              0y1001000  
> $ pcalc 0y0000000001001000  
>         72              0x48              0y1001000  
> $ pcalc 0y1111111110110111  
>         65463           0xffb7            0y1111111110110111  
> $ pcalc 0y1111111110110111 + 1  
>         65464           0xffb8            0y1111111110111000  
>

This pcalc example shows that the last 2 bytes of the two's complement representation for -72 should be 0xffb8, which can be seen to be correct in the hexadecimal output of A.

The third line in the example, labeled [field width on B], shows the use of the field width option in a format parameter. This is just an integer number that designates the minimum field width for that format parameter.

--Jon Erickson, HACKING: The Art of Exploitation

Hmm...I seem to have a pattern going here...