top | item 35132135

(no title)

jameskraus | 3 years ago

Easily my highest utility script so far was to get an edge while picking classes. At my university there were some classes which were very competitive and there was also system where tranches of students would get access to those classes earlier (e.g. groups of honors students -> groups of seniors -> juniors, etc). I was a lowly sophomore at the time, so I basically got what was left over.

Before I could register I could see most classes I wanted to take had plenty of availability except for one which was almost full. That class would make my schedule perfect (no classes before 10am, everything ending before 4PM, good teachers), so I was ready the moment my group got access. I logged into the janky Java applet and saw that my desired class was full. Dismayed, but not giving up, I refreshed the class list to see if someone might drop during the drop-add week. Nope, still full, but there was still time for someone to change their mind and for me to slip in. I was going to need an edge.

Another peculiarity of this system was that it was definitely a weird Java app based on some type of main frame. It must have been around for a decade at least. One of the signs of its age was that you had a limited amount of time per day during which you could be logged into the system, something like 90 minutes a day.

So I did what any good hacker would: I made _really_ good use of that limited time. I wrote an AutoHotkey script which would automatically log in, traverse all the menus and attempt to sign me up for that class. It was much faster than a human, so each run barely put a dent in my logged-in time allotment. As a cherry on top, I wired it up to a python script to push notify me if it succeeded.

After letting it run for two days, some false alarms, and tweaking, I got a delightful "You're registered!" notification on my phone and found that it had successfully gotten me the class I wanted. I'm still chasing that high to this day.

discuss

order

throwaway78678|3 years ago

It reminds me of my time as an undergrad in a quantum chemistry lab. I had something like 150 calculations to run (about 4h each) and therefore could only submit them to the "small" calculation queue (for jobs less than a day).

The problem was that it was essentially always used at the maximum because most people had such small jobs to run + other queues were not as efficient. Because of the inner "fighting", the HPC admin essentially blocked the possibility to have jobs pending. So first come first serve.

So basically I've set up a cron job to look prepare my jobs and look for empty slots during the night. I remember looking at results in the morning while sipping on coffee and the head of the lab congratulating me for my "dedication" as she saw I submitted jobs at 3AM!! :)

At the end of the internship, I basically had a script "assistant" that I would use to prepare the calculation jobs, unite them so I could use them on "bigger" queues, do most of the post-calculation analysis (essentially producing CSVs and graph for me).

And I am too, chasing that high to this day.

hattmall|3 years ago

I wrote something similar, I called it "Class Catcher" it was a VB program with the Web browser Control. I paired it with Pick-a-prof to get the best classes. I even sold a few copies via Facebook Ads.