I thought I had filter wrenches for anything, but they were all too big for the tiny filter the oil change place put on. It had that rough rubberized stuff on the end, though, so I was able to get enough grip to make it turn by hand. At least I didn't have to resort to the redneck oil filter wrench: a screwdriver driven through the filter with a hammer. Scratch that. There's no "at least" about it. It's funny as hell, just too messy for regular use.
Got a migraine later that evening after changing the oil. I've got lower-grade chronic migraine all the time, but this was a genuine, bona fide, electrified, six-car monorail head burster. I suspect it was the used oil soaking through the skin on my hands. Since I quit taking Keppra, everything oily—mineral and vegetable alike—seems to cause problems. (Except pistachios. Prostaglandins are so mysterious.) Damn it, receptors, settle back down!
At work I've been designing circuit boards with MSP430 microcontrollers. The little buggers are quite nice compared to a lot of other µCs. Von Neumann architecture, no paging, no funky addressing modes, modules that are only a little painful to use, decent free compilers, compilers that automatically turn bit bashing into the appropriate bit set/clear opcodes, etc. You can take your 8051s and PICs and shove 'em. Preferably the ceramic DIP versions, you lousy digital apostates.
The only downsides I've found are (1) the undervoltage reset can lock out the JTAG programmer, (2) the I2C slave mode lacks full hardware support meaning lots of interrupts and wait states on the I2C bus, and (3) the interrupt controller has hard-wired priorities.
One oddity about the MSP430 is that its hardware multiplier is memory mapped. I expect that is painful in assembler, and there's a little extra load/store overhead. But since it is memory mapped, the DMA engine can directly blit arrays of data into it, with no instruction fetch overhead. It has an accumulate mode so various signal-processy things are straightforward. The TI website has a rather amazing example of an entire FIR filter being done this way.
I'm reading William Gibson's Pattern Recognition. It's a contemporary novel set in the almost-present, which is just odd for a Gibson novel, like stepping through the top step that isn't actually there on a staircase.
I need to read Harry Potter and the Darth Vaderly Hollows or whatever it is, for the completeness's sake if nothing else. Trouble is, I keep thinking I want to reread the previous books first. That would be fun, but there is so much of them to read. What to do, what to do ...
| < I dunno | BBC White season: 'Rivers of Blood' > |

