Self-Programming the Flash