Once your program is written and compiled, the next concern is flashing and running on a real device. Any programmer adapter does this job quickly. But what if you don’t have an adapter or you are lost on the island with attiny13 in your hands… then you can program chip manually. With some knowledge and patience, you can do this with a couple of buttons.
As you may know, avr microcontrollers are programmed through the SPI interface. It consists of four wires – reset, MOSI, MISO, and SCK. So all we need is to control these signals manually. Manually keying, it is possible to program chip bit by bit. SPI programming speed isn’t limited to slow. With buttons connected to these wires, bits can be clocked in. For example, a successful blinking LED program was programmed into Attiny13 that way. It took 425 button clicks to do that. Here is a translated version of the post.