Craig Tiller

@invalidop
2 Followers
368 Following
130 Posts

Currently a Googler working on gRPC, once upon a time @ Blizzard, and before that Crytek... And once upon a time Microforte.

Enjoy #woodworking making bowls.

GitHubhttps://github.com/ctiller
Pictured: Remarkable image shows the 'vast' interior of an ordinary cello

Photographer captures the inside of instruments in a way that makes them appear cavernous

The Telegraph
Randall Munroe scores +∞
never change, the onion, never change
A number of people have asked me if I was affected by the recent layoffs at Google. The short answer is no, I haven't been laid off. But to answer the question of if I was affected by it, of course the answer is yes. 1/12

@b0rk The second point is a major understatement: on x86 for example almost every instruciton can and usually does act on multiple addresses at once, many implied by complex address-generation modes (PC-relative, scaled-indexed, segmented).

Further, a large amount of a CPU's machinery is dedicated to working with addresses in ways fundamentally different from the ways it works with non-address integers:

- calculating addresses implied by said address-generation modes of instructions
- reading and writing dedicated address-generation hardware like the stack pointer, frame pointer, instruction pointer, descriptor tables or segment registers
- loading and storing to addresses over the memory bus
- asking caches to load/store/lock/invalidate addresses
- scheduling out-of-order execution in the CPU in terms of the dynamic readiness of input data -- all reasoned-about by address
- speculating on addresses to prefetch, predicting addresses to jump to, etc.
- translating from virtual to physical addresses -- there's a hardware decoder for a kernel-managed "page table" data structure that stores nothing but addresses
- enforcing memory protection domains by address
- talking to IO devices memory-mapped at specific addresses
- deciding which instruction code to decode and execute based on the instruction-pointer address
- on newer CPUs, evaluating authentication bits attached to the address for control-flow integrity

I think it's not a stretch to say most of what the CPU does is about memory, which is spoken-of in terms of addresses. The residual stuff -- doing arithmetic on numbers that aren't addresses -- is the smaller / easier part.

It always fascinates me how a problem in a code base can lay dormant for years and then manifest for multiple customers at the same time.
It was a good 12 hours. Back to no power now.
does anyone else find they check personal email less and less and expect more communication via texts?

Power came on again after a couple of days... Sometime after 10pm when I went to bed, and somewhere before midnight when I woke up delighted.

Just had a warm shower (running water is wonderful), flushed all the toilets (did I mention running water!!), and set the dishwasher running.

I should go back to bed, but I'm gonna sit up and listen to the dulcet tones of the HVAC for a little while and enjoy the nice warm room.

Working on performance reviews and reminded how much career advancement boils down to your manager being willing to argue in a roomful of their peers that you deserve that raise or promotion.

If you can't picture your manager doing that then you can't outwork your way to a promo