public static void main(String[] args) {
    try {
      Logger.getAnonymousLogger().info("Starting.");
      final CycAccess cycAccess = new CycAccess("public1.cyc.com", 3600);
      Logger.getAnonymousLogger().info("Connected to: " + cycAccess.getHostName() + ":" + cycAccess.getBasePort());
      //      cycAccess.traceOn();
      for (int i = 0; i < 2; i++) {
        Thread.sleep(2000);
        final String script = "(sleep 1)";
        Logger.getAnonymousLogger().info("About to talk to Cyc: " + script);
        cycAccess.converseVoid(script);
        Logger.getAnonymousLogger().info("Finished talking to Cyc.");
      }
      Logger.getAnonymousLogger().info("About to close CycAccess.");
      cycAccess.close();
      Logger.getAnonymousLogger().info("Closed CycAccess.");
    } catch (Exception e) {
      Logger.getAnonymousLogger().log(Level.SEVERE, e.getMessage(), e);
      Logger.getAnonymousLogger().info("Finished.");
      System.exit(1);
    }
    Logger.getAnonymousLogger().info("Finished.");
    // @note if the  main method hangs, then there is an issue with threads
    // lingering that should be investigated.
  }