Thoughts about ChatGPT, constraints, and some things I remembered the other day
#When I was younger, probably about 8 or 9, I got one of my first tastes of technology in the form of an iPod Touch, 4th generation to be precise.
To contextualize this time a bit, this was when Infinity Blade was one of the hottest mobile game around (RIP!).
I was immediately hooked, and I wanted to have every game on the app store.
However, my parents knew better than to allow that, so they put a passcode and restrictions on the device.
But me being my rebellious self, I knew better than them.
One day, I found a slip of paper under a couch cushion with a 4 numbers on it.
I connected the dots, and tried it on my iPod restrictions passcode, and wouldn’t you know it, it worked. I was now basically Mr Robot.
Next in my list of exploits was their restrictions on what websites I could visit on their wifi.
Since my dad works in IT, he knows about network configuration, and wasn’t afraid to get his hands dirty in the configuration of our Apple Airport Extreme router and access point (again, RIP!). This involved configuring the DHCP to assign devices that connected to the network a default DNS server, which in this case meant an OpenDNS nameserver that was preconfigured to block all sorts of websites.
If memory serves, it had blocked CoolMathGames, Tanki, and a bunch of other websites of that nature. Again, they knew better, because the OpenDNS server was probably a good idea and was there for the right reasons. And yet, I knew better.
I did some limited research on this subject and eventually figured out that the reason I could not access CoolMathGames was because of these silly numbers I could change on my chromebook.
I changed the numbers, and just like that, I was in. Without really understanding what DNS was, I had bypassed it, and I was yet again a L33t hacker.
A couple years later, they decided to disable my internet access after 9:30 PM. Again, another good idea. But I wanted to stay up and text my friends, and I had no mobile data, so i needed wifi.
I don’t remember how, but I got access to the admin configuration account on the Airport router. Even though I had that access, I couldn’t leave a trace of the fact that i had given myself an exemption from the time limited access. So, when i saw that the router was managing each connected device via a user configured sequence of numbers and letters (MAC address), it occurred to me that if i changed even one letter or number MAC address corresponding to my phone in the router settings, the time limited access would be targeting a device that didn’t exist, and no one would know. I thought I was pretty clever.
Eventually, my pride got the better of me, and I mentioned to my parents that I had bypassed their tyrannical wifi restrictions. That severely pissed off my father, perhaps because his work had been for nothing, or perhaps because his son was being an insolent prick. This led to the internet being completely unplugged for everyone. Nobody got internet, except for my parents (on their phone through their mobile data plan, which my sister and I did not have).
You would think that it would stop there, as the router and modem were unplugged, and there was NO plugging them back in, but you would be wrong.
We lived next to an elementary school, and it just so happened that all the schools in the area used the same 4 networks, one of which i had the password to. So, instead of reasoning with my parents about why I needed internet access for school, I ordered a massive 2 foot antenna that was able to connect to a wifi adapter I had. Problem solved.
My point in reminiscing about this is that as the days go on, and as I continue my role TA for a web development programming class, I find that it’s harder and harder to prevent students from using tools to circumvent the fundamentally difficult process of learning to code. Just like my parents, who had their hearts in the right place, I want these students to truly learn and understand the material they are engaging with, and I truly believe that that’s impossible with anything more than light usage of AI tools.
Maybe my approach is out of touch, and as we continue to find new ways to catch cheating, there will be new ways to avoid being caught. Maybe, these constraints breed creativity, which is a good thing, I think? Maybe, in the process of learning how to evade being caught, they learned genuinely valuable skills about programming that I’m not aware of. What’s certain though, is that where there is a rule, there will be someone determined to break it.