This is one of my favourite methods of island generation, mainly because of it's simplicity.
Each loop, a cursor is moved in a random direction and a green pixel is placed at its position.
Once the cursor hits the screen bounds, it stops.
And that's it!
For extra flair I'm saving the screen data at the end of this process to the spritesheet so that we can draw it again in different colours, giving the illusion of depth.
I have a slightly more fleshed out version of this cartidge here if you'd like to see more islands like this.
Cartridge code (279 chars):
if x>=127or x<=0 or y>=127 or y<=0 then
s(0)p(3,3)s(1)p(3,11)s(2)for i=0,50 do f()end