This looks fun. Any idea why we sleep in those places? The second sleep appears to be waiting for libshout to connect to the server because the shout_open call is async and doesn't provide an update callback (head. broke. keyboard.), but I can't figure out the first sleep call (after it prints the number of failed attempts).