lol
probably a shiden alt that tried to join the forums
Did they spam reports such as “Glasia entering A, B, C, C, C, C, D, F, F, H, I, J, M, M, N, N, P, P, R, R, S, T, T, V, W, W word” ?
Aparently, I got a random DG video on the main page, Weird considering i haven’t watched anything dg related or terraria (With exception of nate themes, but yet these are tagged as music rather than games)
Created an own reaction test tool exporting results to own file format:
Reaction test class:
import java.awt.Color;
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.concurrent.TimeUnit;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Main {
static boolean presskey = false;
static long startTime = System.currentTimeMillis();
static JFrame jframe = new JFrame();
static JLabel text = new JLabel("Wait...");
static int round = 1;
static int maxrounds;
static JLabel remaining;
static final int DEFAULT_ROUND_AMOUNT = 5;
static final String filename = "Reaction Test Results of "
+ DateTimeFormatter.ofPattern("yyyy-MM-dd HH-mm-ss").format(LocalDateTime.now())
+ ".glasia";
public static void main(String[] args) throws Exception {
/*Determining the amount of rounds, by default it is 5*/
try {
maxrounds = !args[0].equals("") ? Integer.parseInt(args[0]) : DEFAULT_ROUND_AMOUNT;
} catch (NumberFormatException | ArrayIndexOutOfBoundsException f) {
maxrounds = DEFAULT_ROUND_AMOUNT;
}
/*Generating the test window with the start text.
* The test starts with the program start*/
remaining = new JLabel(Integer.toString(Main.maxrounds) + " remaining");
jframe.add(remaining);
remaining.setFont(new Font("Arial", Font.BOLD, 20));
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.getContentPane().setBackground(new Color(200, 0, 0));
jframe.addKeyListener(new MKeyListener(new File(filename)));
jframe.setSize(600, 300);
jframe.setVisible(true);
/*After a random amount of time the window turns green
* and the user is prompted to press any key
* of their keyboard.*/
while (round < maxrounds) {
int waittimems = new java.util.Random().nextInt(1000) + 1000;
TimeUnit.MILLISECONDS.sleep(waittimems);
startTime = System.currentTimeMillis();
jframe.getContentPane().setBackground(new Color(0, 200, 0));
remaining.setText("Press any key!");
presskey = true;
}
}
}
/* Listener class for the keyboard presses*/
class MKeyListener extends KeyAdapter {
long avgReactTime = 0;
final String FINAL_TEXT = (char) 0 + "Glasia" + (char) 0;
FileOutputStream fos;
DataOutputStream dos;
File f;
/* Constructor for the listener of key presses
* to attribute different instances to different elements
* but in this class there is only the window itself*/
public MKeyListener(File f) {
try {
this.fos = new FileOutputStream(f);
this.f = f;
this.dos = new DataOutputStream(fos);
dos.writeLong(System.currentTimeMillis());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("File not found");;
} catch (IOException e) {
System.out.println("IO error");
}
}
@Override
public void keyPressed(KeyEvent event) {
/*If the key is pressed while the screen is green,
* the system calculates the reaction time and writes it as a long
* to a test file. If the last round is done, the window closes.
* The test file ends with 20_103_889_150_370_048, 0x00476C6173696100,
* in strings (NUL char)Glasia(NUL char). Additionally the measurements
* are printed to the console*/
try {
if (Main.presskey == true) {
Main.presskey = false;
long delay = System.currentTimeMillis() - Main.startTime;
String roundmsg = "Round " + Main.round + "/" + Main.maxrounds + ": " + "Reaction time: " + delay + " ms";
System.out.println(roundmsg);
avgReactTime += delay;
dos.writeLong(delay);
Main.jframe.getContentPane().setBackground(new Color(200, 0, 0));
Main.remaining.setText(Integer.toString(Main.maxrounds - Main.round) + " remaining");
Main.round++;
if (Main.round > Main.maxrounds) {
avgReactTime /= Main.maxrounds;
dos.writeLong(avgReactTime);
dos.writeLong(20_103_889_150_370_048L);
System.out.println("Average reaction time: " + avgReactTime + " ms");
Main.jframe.dispatchEvent(new WindowEvent(Main.jframe, WindowEvent.WINDOW_CLOSING));
System.exit(0);
}
}
} catch(IOException e) {
System.out.println("IO error");
}
}
}
Reaction test results reader class
import java.awt.BorderLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.time.Instant;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class Read extends JPanel implements ActionListener {
private static final long serialVersionUID = -1153916116263103596L;
JButton openButton;
JTextArea log;
JFileChooser fc;
public Read() {
super(new BorderLayout());
log = new JTextArea(5, 20);
log.setMargin(new Insets(5, 5, 5, 5));
log.setEditable(false);
JScrollPane logScrollPane = new JScrollPane(log);
fc = new JFileChooser();
openButton = new JButton("Open a File...");
openButton.addActionListener(this);
JPanel buttonPanel = new JPanel();
buttonPanel.add(openButton);
add(buttonPanel, BorderLayout.PAGE_START);
add(logScrollPane, BorderLayout.CENTER);
}
/* Convert the bytes of the own file type to text
* that is displayed as a result in the text box.
* The test file ends with 20_103_889_150_370_048, 0x00476C6173696100,
* in strings (NUL char)Glasia(NUL char). This is the magic number of the end
* of the test file*/
public String readFromFile(File f) throws FileNotFoundException {
if (!f.toString().endsWith(".glasia")) {
return "File could not be read";
} else {
FileInputStream fis = new FileInputStream(f);
DataInputStream dis = new DataInputStream(fis);
String out = "";
long avg = 0;
for (int i = 0;; i++) {
try {
long rounds = (f.length() - 8)/8;
long l = dis.readLong();
if (i == 0) {
String datetime = Instant.ofEpochMilli(l).toString();
datetime = datetime.substring(0, 10) + " " + datetime.substring(11,19);
out += "Reaction Test Results of " + datetime + "\n";
} else if (l == 20_103_889_150_370_048L) {
out += "Average: " + (avg/(rounds-1)) + "ms\n";
dis.close();
return out;
}
else{
avg+=l;
out+="Round " + i + "/" + (rounds-1) + ": " + l + " ms\n";
}
} catch (EOFException e) {
System.out.println("End of file reached");
} catch (IOException e) {
System.out.println("IO error");
}
}
}
}
/* Button click listener */
public void actionPerformed(ActionEvent e) {
if (e.getSource() == openButton) {
int returnVal = fc.showOpenDialog(Read.this);
/* If user selected a file it creates the file instance*/
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
try {
log.append(readFromFile(file));
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
}
log.setCaretPosition(log.getDocument().getLength());
}
}
/*Creating the window, putting the content and displaying it*/
private static void createAndShowGUI() {
JFrame frame = new JFrame("FileChooserDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new Read());
frame.pack();
frame.setVisible(true);
}
/* Starting the window */
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
UIManager.put("swing.boldMetal", Boolean.FALSE);
createAndShowGUI();
}
});
}
}
This was 2:03:00 before my birthday
Every badge gain happened after someone named Esguerra.
It happened to twofour, to me, and likely everyone else that got a Nice Reply badge in the timespan of less than 5 minutes.
Placing this reply on the tablet I got at dad’s house
noice.
water water water
its poll time anyways
- yes
- no
0 voters
Fact in comment frenzy: Someone lost four badges in one day, and got silenced. (@pwrwq)
Was the reason spam?
probably due to repeatedly creating discobot threads
Sad he was pretty funny guy though
4000 comments before 2024, lets do this







