Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions java/FuckingCoffee.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;

public class FuckingCoffee {

private static final String PASSWORD_PROMPT = "Password: ";
private static final String PASSWORD = "1234";
private static final String COFFEE_MACHINE_IP = "10.10.42.42";
private static final long DELAY_BEFORE_BREW = TimeUnit.SECONDS.toMillis(17);
private static final long DELAY = TimeUnit.SECONDS.toMillis(24);

public static void main(String... args) throws Exception {
try (BufferedReader buffer = new BufferedReader(
new InputStreamReader(Runtime.getRuntime().exec("who -q").getInputStream())
)) {
String whoOutput = buffer.lines().collect(Collectors.joining(System.lineSeparator()));
if (!whoOutput.contains(System.getProperty("user.name"))) {
return;
}
}

try (Socket telnet = new Socket(COFFEE_MACHINE_IP, 23);
BufferedReader in = new BufferedReader(new InputStreamReader(telnet.getInputStream()));
PrintWriter out = new PrintWriter(telnet.getOutputStream(), true)
) {
Thread.sleep(DELAY_BEFORE_BREW);
if (!PASSWORD_PROMPT.equals(in.readLine())) {
return;
}
out.println(PASSWORD);
out.println("sys brew");
Thread.sleep(DELAY);
out.println("sys pour");
}

}
}
34 changes: 0 additions & 34 deletions java/fucking_coffee.java

This file was deleted.