For those of us who are too cheap to spare $5 (I am one of them), there is an approach that requires zero / no (incremental) cost to program those STM32 chips: your discovery boards. They have a debugger on board and can be made as programmer for those chips.
It cannot be true ghetto without somehow having a STM32 Discovery board in the mix,
Here is a picture of a STM32VL Discovery powering and programming / debugging the STM32F030F ghetto style.
Just follow 3 simple steps below:
1) Take off jumper CN3 on the discovery board -> see the green arrow numbered "1";
2) Wire Vdd (pin 16) on the ghetto board to a 3.3v pin on the Discovery Board, and wire Vss (pin 15) on the ghetto board to one of the GND pins on the Discovery Board. BOOT0 on the ghetto board is already wired to the Vss (pin 15) on the ghetto board -> see the green arrow numbered "2";
3) Wire SWCLK (pin 20) on the ghetto board to SWCLK (pin 2) of CN2 on the Discovery Board. Wire SWDIO (pin 19) on the ghetto board to SWDIO (pin 4) of CN2 on the Discovery Board -> see the green arrow number "3".
Now, sit back and relax - you are all done. The Discovery board is now a ST-Link (v1) to the ghetto board. Full programming / debugging capabilities available.
Without resorting to iap, you cannot get any more ghetto than this,