(*Adapted by Rafael Luís: rafaelluis@netmadeira.com
updated to Mathematica v.10 by Ross Moore *)

makehole[{{x0_, y0_}, {x1_, y1_}}] :=
  With[{xr = Abs[x1 - x0], yr = Abs[y1 - y0]},
          { {{x0, y0},  {x0 + xr/3, y0 + yr/3}},
        {{x0, y0 + yr/3},{x0 + xr/3, y1 - yr/3}},
        {{x0, y1 - yr/3},   {x0 + xr/3, y1}},
        {{x0 + xr/3, y0},   {x1 - xr/3, y0 + yr/3}},
        {{x0 + xr/3, y1 - yr/3}, {x1 - xr/3, y1}},
        {{x1 - xr/3, y0},  {x1, y0 + yr/3}},
        {{x1 - xr/3, y0 + yr/3}, {x1, y1 - yr/3}},
        {{x1 - xr/3, y1 - yr/3}, {x1, y1}}
       }];

GraphicsRow[    Partition[Map[ Graphics[#, AspectRatio -> 1,ImageSize->Scaled[1/4]]&,
        Apply[Rectangle,Rest@
              NestList[ Flatten[ Map[ makehole, # ], 1 ]&,{{{0, 0}, {1, 1}}},4],{2}]],1]//Flatten]