I use my SPI pins to control LED strings which don't have a slave select. They simply take DATA and SCK to work. But when uploading new code through a programmer connected to the same SPI pins, it sends the LED string into a psychedelic rainbow of colors. After all, it's an SPI signal, and the LED string is interpreting it as well. So my question is, is there a way to isolate whatever is connected to the SPI bus from getting affected by the programmer as it's uploading code?

You know an easy way to deal with this and cases where you need/want to use pins 0 and/or 1 (the serial pins) is to build your stuff to wire to a simple protoshield board. That way when you need to either upload via serial or perform ICSP programming with the SPI pins, you just pop the shield off, do your thing, then pop the shield back on. Proto boards in sheild format can be pretty inexpensive these days:

That won't work in an enclosure where I need to open the thing and pull the guts out just to pull the shield off to reprogram, etc., etc. Uh, no. So basically this tells me there is no easy way to do this, electronically at least, without physically handling the hardware. Thanks. I'll figure something else out.