[HN Gopher] Back in 1993, I was taking a number theory class
       ___________________________________________________________________
        
       Back in 1993, I was taking a number theory class
        
       Author : renameme
       Score  : 653 points
       Date   : 2021-05-03 21:53 UTC (1 days ago)
        
 (HTM) web link (twitter.com)
 (TXT) w3m dump (twitter.com)
        
       | zsmi wrote:
       | Amazing how times have changed. Took just over 15s inside
       | Mathematica on an old Intel MacBook Air with dozens of other apps
       | running. Didn't even spin the fans up.                 In[*]:=
       | Timing@FactorInteger[RandomInteger[{10^70,10^71}]]       Out[*]= 
       | {15.2956,{{2,1},{7,1},{37515320305457999,1},{32602847385348965035
       | 7,1},{311862636985416087931035845158981,1}}}
        
       | myfavoritedog wrote:
       | Wow, blast from the past. I learned so much poking around on my
       | mac with Macsbug and later, TMon. I think that most of the time I
       | was just looking through games for where they stored things like
       | experience points.
        
       | jmercouris wrote:
       | I remember in high school renaming programs to "calc.exe" so we
       | could run them. Back when these kinds of protections were so
       | primitive :-)
        
         | drummojg wrote:
         | When I was in college, we would set the process name of the MUD
         | client to whatever WordPerfect used on the VAX so we wouldn't
         | get busted for playing games during non-gaming hours. Of course
         | the sysadmins saw right through the charade, but it was fun to
         | feel like you were getting away with something for half a
         | minute.
        
         | Waterluvian wrote:
         | We had this StudeNT Vista thing and yeah it was so much fun
         | finding exploits.
        
         | bick_nyers wrote:
         | In my high school IT class we got to play Halo CE if we got all
         | of our work done early. I made a play game batch script that
         | started the game, but also planted a secret batch script with
         | an unsuspecting name into your startup folder, that would open
         | and close your CD drive at random intervals. The teacher let it
         | go on for a week or two, he thought it was hilarious
        
         | Apfel wrote:
         | My current (government) employer blocks installation of Firefox
         | and Chrome setup exes, but it's still just a hardcoded block on
         | Chromesetup.exe and can be bypassed by calling it literally
         | anything else.
        
         | QuinnWilton wrote:
         | My highschool physically removed the right mouse button from
         | the mice, because we were right clicking to make text files
         | that we'd rename as batch files to get a command prompt open.
         | 
         | Some people would just bring their own mouse in to get past the
         | defences.
        
           | chungy wrote:
           | Doesn't seem extremely effective unless you also remove the
           | F2, F10, Shift, and Alt keys from the keyboard.
        
             | QuinnWilton wrote:
             | Oh and it wasn't. That was the least of the school's
             | problems though.
             | 
             | They also used a surveillance system called LanSchool,
             | which sent out all of its commands entirely unencrypted and
             | unauthenticated, so people would spoof the remote takeover
             | command and steal exams from teachers' accounts. It ended
             | up being a whole thing my senior year.
        
               | wave100 wrote:
               | This thread is making me remember how incompetent my old
               | school district used to be with technology. Once upon a
               | time, a friend of mine got detention for opening a
               | command line and running `tree`. The teacher said that he
               | was hacking the computer.
               | 
               | The name of the class? "Digital literacy".
        
         | knodi123 wrote:
         | Ah, the era of primitive DIY security. Those were the days.
         | It's kinda of sad that today's kids have to deal with industry-
         | grade encryption and professional best practices, instead of
         | going toe-to-toe with an underpaid self-taught middle-aged
         | "computer guy" like my generation did...
        
           | throwaway3699 wrote:
           | I had a few amusing tactics. Even with 'professional best
           | practices' (debatable), the human element was still
           | vulnerable.
           | 
           | One example was that my school refused to give out the Wi-Fi
           | password as a form of security, so they'd demand to manually
           | type it in themselves on your machine. A simple keylogger and
           | now the whole school just ignored that rule for a few months.
           | 
           | Another is that while they tried to block things like SSH,
           | VPNs, etc... to get around the school's internet filtering,
           | turns out you could just run SSH over port 80 and have a
           | tunnel out :)
        
             | linux_is_nice wrote:
             | Hilariously, I'm thinking of doing that(using SSH over port
             | 80) at my school.
        
               | ok123456 wrote:
               | I setup sshd on the pop3 port back in high school in the
               | 90s, so I could connect to my home machine and chat on
               | irc during study hall.
        
           | detaro wrote:
           | > _industry-grade encryption and professional best practices_
           | 
           | You overestimate "professional best practices" in many
           | places...
        
         | aidenn0 wrote:
         | Same, but I think it was mspaint.exe for me.
        
       | rahimiali wrote:
       | Anyone else's muscles still remember these keystrokes from the
       | early 90's?
       | 
       | sm fa700 a9f4 pc fa700 g
        
         | statico wrote:
         | Ah, yes! I knew a shorter one: sm 0 a9f4 <enter> g 0 <enter>
        
           | Tepix wrote:
           | FYI                   SM 0 a9f4 writes a9 f4 into memory at
           | address 0         G 0 starts executing at address 0
           | A9F4 is the ExitToShell A-trap, which terminates the
           | current process.
           | 
           | With those commands you could terminate the foreground task
           | on System 7 and were (usually) given a chance to save or
           | recover something before rebooting.
           | 
           | It could also be used to kill At Ease on most school setups.
        
       | disillusioned wrote:
       | I have memories of the kiddie version of this, which was using
       | "locked" down computers at stores or libraries and abusing the
       | hell out of the context menu from, say, an arbitrary print window
       | that shouldn't appear, which would normally be enough to get you
       | a separate Explorer (or File Explorer) window, from which you
       | could do whatever. Or enough to launch a command prompt as well,
       | depending on the system.
       | 
       | Nothing quite so fancy, but in the same spirit.
        
       | twhitmore wrote:
       | I loved the response in the Twitter thread: "If you tell this
       | story to a full stack developer he will think this is a sci-fi."
        
       | fnord77 wrote:
       | I wonder what kids are doing these days.
        
       | thaumaturgy wrote:
       | Ah yes, good memories. I'm having a really hard time right now
       | remembering the name of that program that blocked access to the
       | Finder; I think it was "Easy"-something. Google fails me on the
       | name too. Breaking it was a hobby.
       | 
       | Some school labs had left access to Hypercard available through
       | that program, so you could just pull up Hypercard and make a new
       | stack that would tell the program to quit.
       | 
       | The other way to get around it -- or around many other
       | misbehaving programs in the cooperative multitasking system --
       | was to bring up the programmer's interrupt like the author
       | describes, and enter "SM 0 A9F4", followed by "G 0". This would
       | set memory location 0 to the _exitToShell function in the OS ROM
       | and then resume execution from there, which immediately
       | terminated whatever was in the foreground.
       | 
       | The rest of the system would often be a little unstable after
       | that though, so you only had a few moves left before a restart
       | would be needed.
       | 
       | To youths with curious mindsets, an anti-authoritarian streak,
       | and seemingly limitless amounts of free time, little restrictions
       | like these only improved our skills. Systems with challenging but
       | imperfect security are a great way to foster new young talent.
        
         | wiredfool wrote:
         | There was one security system that only white/black listed
         | application names.
         | 
         | Leading to Control Panel or the entire disk of utilities called
         | Word.
        
         | amenghra wrote:
         | AtEase?
        
           | Tainnor wrote:
           | I remember AtEase from when I was a kid. Somehow I discovered
           | it on our Macintosh Performa at home and was totally
           | fascinated by it. Kinda like Mouse Practice
           | (https://en.wikipedia.org/wiki/Mouse_Practice), which I must
           | have played a gazillion times.
        
           | munificent wrote:
           | Holy shit. Just seeing that written out turned a light on in
           | dark corner of my memory. I had _completely_ forgotten about
           | that until you mentioned it.
        
             | function_seven wrote:
             | Same. It's always a weird jolt when you're reminded of
             | something that you not only forgot, but that you "forgot
             | that you forgot".
             | 
             | I remember AtEase, and remember hating it.
        
           | twic wrote:
           | Ah, i thought they were talking about MiniFinder:
           | 
           | https://apple.fandom.com/wiki/MiniFinder
           | 
           | https://winworldpc.com/screenshot/c29050e2-809c-c2a3-24e2-80.
           | ..
           | 
           | But that was a bit earlier.
           | 
           | From what i remember, MiniFinder was written for MFS, and did
           | not support hierarchical directories. You couldn't use
           | applications unless they were at a filesystem root.
        
           | simon1ltd wrote:
           | It was AtEase. In the earlier macs, those with a button to
           | trigger a debugger in firmware, you could completely exit
           | AtEase by entering the debugger and typing "G H"
           | 
           | I know it worked on System 7, and I think there was a
           | variation that worked in System 8 as well.
        
             | exikyut wrote:
             | What does 'H' do? The other system monitor references in
             | the comments here don't quite do it this concisely.
        
         | munificent wrote:
         | _> To youths with curious mindsets, an anti-authoritarian
         | streak, and seemingly limitless amounts of free time, little
         | restrictions like these only improved our skills. Systems with
         | challenging but imperfect security are a great way to foster
         | new young talent. _
         | 
         | I miss the days when the stakes for testing boundaries and
         | experimenting were lower.
        
           | Tepix wrote:
           | I setup a MAC based internet filter at home, secretly hoping
           | my kids will figure out how to bypass it.
        
             | reasonabl_human wrote:
             | Love it. Could be fun to toss up a WEP 'secured' SSID in an
             | untrusted DMZ VLAN that has doesn't have filtering.
             | Figuring out how to use the aircrack suite on an ancient
             | thinkpad to bust an SSID was what really got me interested
             | in computers as a kid.
        
             | withinboredom wrote:
             | Most OSs don't let you change a WiFi's MAC address these
             | days. Sometimes even the hardware doesn't support it.
        
           | tonyedgecombe wrote:
           | Yes, I have a feeling I would be dismissed now for some of
           | the things I've done in the past.
        
           | [deleted]
        
         | guardiangod wrote:
         | >the name of that program that blocked access to the Finder
         | 
         | FoolProof? The bane of my elementary school existence. Just let
         | me play SimCity 2000.
        
           | fotbr wrote:
           | Trivially defeated with a boot disk and ResEdit.
           | 
           | Breaking things with ResEdit was pretty much my jr. high
           | school hobby. It took a bit before I figured out how to
           | restore things when I was done.
           | 
           | Head "tech" guy in the building eventually figured out it was
           | me, showed me a few things and ended up just giving me an un-
           | limited login and a few rules. Also taught me how to
           | intelligently use ResEdit instead of the brute-force
           | method(s) I was used to.
        
         | TimTheTinker wrote:
         | My school's computer lab ran Windows 3.1 for Workgroups on top
         | of DOS. The network login prompt was in DOS. There were some
         | hackers in upper grades who had installed games like DOOM,
         | Descent, Duke Nukem 3D, etc. in a folder named Alt+255 on many
         | of these computers, which looked like a space in DOS but was
         | invisible to Windows Explorer.
         | 
         | The lab manager found out about our Ctrl+Break hack and put in
         | an event listener/handler for that keycode in the DOS login
         | program. So I spent several hours trying other key combinations
         | and eventually figured out that Alt+3 sent an ASCII character
         | that had an effect that was equivalent to Ctrl+Break in DOS --
         | and we were back in business.
        
           | Severian wrote:
           | Wow, so this is very close to what we did in school. Us being
           | the 'hackers'. By chance was this in Ohio?
        
             | TimTheTinker wrote:
             | No, it was on the west coast... but I bet a lot of places
             | were running similar setups. Network admins at the time (at
             | least the good ones) were likely receiving the same
             | periodicals and reading the same books.
        
         | tbrock wrote:
         | The name of the program was "At Ease". It had two big folders
         | with icons that looked very much like a precursor to iOS's
         | springboard we know today.
         | 
         | The two folders were labeled "Applications" and "Documents":
         | https://en.wikipedia.org/wiki/At_Ease
         | 
         | You could also trigger the NMI via Apple key + power button and
         | I remember the magic code to set the memory to zero and crash
         | finder being: SM<space>0<space>A964<return>G<space>O<return>
        
           | thaumaturgy wrote:
           | Close. Usenet for the tiebreaker:
           | 
           | > _At the ">" ROM debugger prompt, type the following lines,
           | pressing Return after each:_
           | 
           | > SM 0 A9F4
           | 
           | > G 0
           | 
           | > _In the first line, the "SM" stands for "Set Memory", the
           | "0" signifies memory location "0", and the "A9F4" is the trap
           | number for the "ExitToShell" trap. This line puts "A9F4" at
           | memory location "0". In the second line, the "G" stands for
           | "Go" and the "0" stands for memory location "0". This line
           | tells the computer to execute the instructions starting at
           | memory location "0". Since "A9F4" is at memory location "0",
           | the "ExitToShell" trap is executed._
           | 
           | https://groups.google.com/g/comp.sys.mac.system/c/lM8yT3I3P0.
           | ..
        
         | microtherion wrote:
         | In the late 1980, we did some Mac consulting for a largish ad
         | agency, and one lower tier executive wanted to demonstrate the
         | importance of his work by having us install some password
         | protection on his Mac.
         | 
         | Suspecting that this would not end well, I installed a very
         | light weight solution; he promptly forgot his password within a
         | week, called me in again, and I bypassed the password prompt
         | with the above NMI+ExitToShell() method. He was suitably
         | impressed and asked me to write down the magic incantation on a
         | post-it note that he attached somewhere to his desk...
         | 
         | What can I say? They always promptly paid their bills!
        
       | mcnichol wrote:
       | Why is using Twitter for telling a story a thing.
       | 
       | People that are smart as hell using a tool built around what
       | feels like mental whiplash to tell a relatively complex story.
       | 
       | I actually think there is value with Twitter applying pressure
       | and economy of words (I would fall into the category of over-
       | explainer) helping folks like myself be more concise, but can't
       | the story just go here?
       | 
       | Thinking out loud I'm sure there is an approach towards multiple
       | networks being hit simultaneously but it'd really be nice if
       | linking to a Twitter thread roll-up just automatically dumped the
       | whole text here without needing to click into and pull in
       | ${threadReaderTooling}
        
       | SilasX wrote:
       | > On these computers, I could factor a general number with around
       | 70 decimal digits in a reasonable amount of time (like
       | overnight).
       | 
       | What's the comparable figure you could get on typical hardware in
       | today's university computing clusters or computer labs?
        
         | taldo wrote:
         | Or on a single modern smartphone?
        
           | andai wrote:
           | On that note, I'd like to share a clip about how fast modern
           | machines are relative to early 90s supercomputers (the
           | relevant part is in the first 5 minutes):
           | 
           | https://youtube.com/watch?v=oJ4GcZs7y6g
        
             | leephillips wrote:
             | Ha, I did a small bunch of calculations on the CM5. Thanks
             | for the memories.
        
         | elengyel wrote:
         | I'd very much like to revive my old code (which I still have)
         | at some point and see how well it runs on modern computers. My
         | guess is that a typical 64-bit ~3 GHz quad-core machine could
         | accomplish the same task in a few minutes today.
        
           | SilasX wrote:
           | Hate to be the choosing beggar, and I appreciate all the
           | answers, but ... everyone is answering about how long that 70
           | digit job would take now, when what I meant was, how big a
           | number could you factor "overnight" with similar cost
           | hardware.
        
         | throw5away wrote:
         | I generated two random 35 digit primes, multiplied them, and
         | then tossed the product into the first hit for "factor integer
         | online": https://www.alpertron.com.ar/ECM.HTM
         | 
         | 1731 322587 637083 705865 442033 654804 904216 446486 784497
         | 444181 466938 498269 (70 digits) = 25317 847509 490819 861309
         | 522806 413689 (35 digits) x 68383 482718 586893 688113 139227
         | 257221 (35 digits) Time elapsed: 0d 0h 0m 23.8s
         | 
         | This is in JavaScript on a single core on my laptop.
        
           | megameter wrote:
           | Ran the same program and input on my phone.
           | 
           | Time elapsed: 0d 0h 5m 38.2s
        
         | acchow wrote:
         | A quick lookup for CPU speeds of yesteryear shows the Motorola
         | 68040 in those macs did about 35 MFLOPS [1].
         | 
         | If you could parallelize this program to use all 2.6 TFLOPS in
         | a Macbook Air M1's 8-core GPU, you're seeing about 75,000x
         | speed improvement. So a 12 hour "overnight" job may take just
         | over half a second.
         | 
         | [1] https://tech-insider.org/mac/research/1991/1021-e.html
        
       | salty_biscuits wrote:
       | Brings back memories of my friend borrowing the lab computers
       | over the weekend to do some long running Monte Carlo simulation
       | runs (so trivially parallel). Except he had a bug that implicitly
       | gave all the runs the same RNG seed. Took a bit of head
       | scratching to work out what the hell had happened.
        
       | yardie wrote:
       | > But they were running some kind of secure software that didn't
       | give you access to the Finder, only specific software, so I
       | couldn't pop in a disk and run my own programs.
       | 
       | That software would be AtEase. And I used to run circles around
       | it trying to break out into Finder and gain access to the
       | nascent, to me, Internet. One of the first things I installed was
       | NCSA Mosaic. Good Times!
        
       | preston006 wrote:
       | Back in high school (which wasn't really all that long ago) just
       | about every computer on the network had really a massive set of
       | content and program restrictions, but it was all very surface
       | level. Very little security if you knew what you were doing, and
       | thankfully the login script that was used for your district-wide
       | account, was run in Powershell.
       | 
       | Not nearly as interesting as OP's hack here, but there was plenty
       | that you could do if you just knew what to use Powershell for.
       | When the machines got upgraded to Windows 10 from 8, every
       | computer you logged into would use the Win10 default background
       | instead of the blank blue one they used previously, and when in
       | my CS class I found it rather distracting. Of course I went over
       | the top, and since you were disallowed from changing the
       | background picture in settings, or with the right click menu, I
       | created a little tool my freshman year to change the value of the
       | my user account's registry key for the background, to whatever
       | else I wanted.
       | 
       | I understand IT's reasoning against giving highschoolers that
       | access (preventing sexually explicit backgrounds), but I just
       | wanted a nice winter landscape, and so when they eventually
       | caught wind they didn't really mind, though they did give me the
       | 'with great power comes great responsibility' speech.
       | 
       | Through my next three years the tool grew to give me command line
       | access, bypass certain parts of the filter, be able to play a bit
       | of music over a pair of headphones, the works, and I was always
       | the cool guy with the one non-standard background in class. It
       | probably looked much more like I was "Hacking the mainframe" than
       | what I was doing in reality, playing MUDs during boring
       | presentations via telnet.
        
       | Tainnor wrote:
       | Meanwhile, in my number theory class we just learned how to write
       | loops in Maple.
       | 
       | Not sure if this was some graduate class or if there are really
       | undergraduates with enough CS + number theory knowledge that
       | could be expected to pull off something like that.
        
       | elengyel wrote:
       | I'd like to clarify that my code was running only on machines
       | that were otherwise idle. Not many people were in the lab late in
       | the evenings. MPQS processing nodes could be added and removed
       | dynamically, so if somebody needed a computer that was part of my
       | cluster, they could just quit my program and everything would go
       | back to normal.
       | 
       | Also, once the number theory professor learned of what I had
       | implemented, he worked out an agreement with the lab manager to
       | give me legitimate access to the machines. :)
        
         | [deleted]
        
         | DyslexicAtheist wrote:
         | what a wild story. the first thing that came to my mind reading
         | through wasn't a picture of a modern Mac but of TempleOS. It's
         | amazing how we study computing changed since then as in we're
         | focusing more on learning about all the required plumbing and
         | duct tape than the actual machines. Not that this isn't fun too
         | but it has essentially shifted everything. Getting into
         | "mainstream" computers back then was such a different world
         | than what it is now.
         | 
         | Suppose you could get the same type of "fun" today by playing
         | with breadboards but you'd have to seek it out on purpose.
         | Sitting in front of a modern machine is just so much more
         | abstraction that gets in the way.
        
           | eru wrote:
           | Almost the same lament could have been written in the 1990s
           | in nostalgia for the glory days of the 1960s.
        
             | DyslexicAtheist wrote:
             | I was neither idealizing nor being nostalgically
             | "lamenting", but thanks for the negativity. I was merely
             | pointing out the differences in how "the getting results in
             | X" has moved up the stack.
        
               | eru wrote:
               | Sorry, I wasn't trying to be negative.
               | 
               | Yes, things have moved up the stack. And so have they
               | done in the 30 years before the 90s, too.
        
           | someguyorother wrote:
           | You can also get some of the same near-the-machine fun by
           | going into security. Shellcode has to be short and close to
           | the OS, and breaking the stack (stringing together gadgets,
           | and so on) by its nature subverts the higher abstraction
           | layers.
        
         | bdwjn wrote:
         | Ah, good times. Our lab ran sshd on each workstation, so I
         | launched cli processes on every system, at daytime, with dozens
         | of students still working on their project. I thought running
         | as "nice -n 19" would be safe.
         | 
         | Wrong. My program ran out of memory, systems started thrashing,
         | desktops froze up. Confused students, panicking about unsaved
         | changes, swearing, rebooting. Meanwhile I was frantically
         | trying to kill my processes, but even sshd became unresponsive
         | so I couldn't stop the madness. They never found out it was me
         | :)
        
         | Someone wrote:
         | > I could enter that program in the system monitor, but I
         | needed a way to run it.
         | 
         | The simple way: in that mini debugger, the 'G' command (for
         | 'Go') takes an optional address and jumps to it. "G 40F6D8",
         | for example, continued execution at address 40F6D8.
        
           | wiredfool wrote:
           | sm 0 a9f4 g 0
        
           | [deleted]
        
           | elengyel wrote:
           | I don't remember the exact details, but I did try the G
           | command, and it didn't work out. The problem was something
           | like the program had nowhere to return to, so just ending
           | with RTS would crash, and ending with a call to ExitToShell()
           | would just restart At Ease and put you right back in the
           | secure environment. I had to trick the computer into
           | executing the program as a subroutine from inside another
           | running program, which is accomplished by using the drag
           | hook.
        
             | Someone wrote:
             | I thought the _Launch call to start a new program killed
             | the current program, so I didn't consider how to return to
             | the original program. However, they my have changed that
             | when MultiFinder was introduced.
             | 
             | I guess the proper way would have been to JMP to wherever a
             | bare 'G' would have returned, not an RTS (if there is a
             | proper way to do this kind of thing. I'm not sure the
             | system guaranteed what you could do at that time. You might
             | be in a memory manager call, which meant any drawing calls
             | were off limits)
             | 
             | Fun memories.
        
         | jcims wrote:
         | Right about that exact same time I commandeered an entire lab
         | (30-40?) of SGI Indigo 2's at Ohio State to do distributed
         | raytracing. Wasn't nearly as educational or diplomatic but I
         | did have fun with it until I got shut down for essentially
         | using twice the storage in my home directory as the entire rest
         | of the class. Between that, usenet (of course) and trolling
         | cuseeme reflectors all over the world from the odd smelling Mac
         | lab, I didn't get much studying done.
         | 
         | Good times.
        
           | nonbirithm wrote:
           | I hadn't heard of CU-SeeMe before. It's videoconferencing
           | software from 1992 (!), around the time the Web had just
           | barely been formed.
           | 
           | There seems to be a lot of interesting history surrounding
           | it: https://sattlers.org/mickey/CU-
           | SeeMe/internetTVwithCUSeeMe/c...
        
         | Agnolo_Giotto wrote:
         | Would be cool if you tried running this on the Golem network
         | now. https://www.golem.network/
        
       | lebuffon wrote:
       | "And if you tell the kids that today they won't believe it!"
       | Four Yorkshiremen sketch
       | Monty Python
        
         | blast wrote:
         | It actually predates Monty Python:
         | https://en.wikipedia.org/wiki/Four_Yorkshiremen_sketch. But
         | Python did it better.
        
       | Jtsummers wrote:
       | For anyone still at or associated with a university, how would
       | they react to behavior like this today?
       | 
       | When I was in school (circa 2000), the IT offices were starting
       | to crack down on students (with some threats of expulsion) for
       | activities like this, though it wasn't yet typical or uniform. I
       | know at GT there were a few computer labs that, if you paid a bit
       | of attention, you could easily get ssh access to every computer
       | in the cluster, and then using nohup or screen (this was pre-
       | tmux) you could have your program run as long as the system was
       | up. I had to ssh in a couple times because I'd forgotten to
       | logout and didn't want to get "baggy pantsed".
        
         | widforss wrote:
         | At my uni, it's pretty much solved by having the student's
         | computer society own the most capable machines on campus
         | (sponsored by Facebook if I've understood things correctly). If
         | any one want something done, they just ask the root of the
         | society, and move on with their newfound computer resources.
         | This access can range from a tiny VPS (automatic access for all
         | students) to shell access to the (small but capable) HPC
         | cluster.
        
         | prof-dr-ir wrote:
         | I think that it totally depends on the definition of 'behavior
         | like this today'.
         | 
         | If 'behavior like this' is creatively toying with lab equipment
         | that you have been given physical access to, bending the rules
         | a little bit in the process, to participate in an academic
         | challenge? If it would be up to me then a slap on the wrist
         | would suffice, now just as well as presumably in 1993.
         | 
         | But if 'behavior like this' means breaking into computers,
         | which nowadays are essential parts of a university's
         | infrastructure, in straight violation of rules and conventions
         | on hacking that have been in place since before you were born
         | (say 2000), just to get some computer time to, say, mine
         | whatevercoins? Then a little more than a slap on the wrist
         | would be completely fine by me.
        
         | 908B64B197 wrote:
         | > For anyone still at or associated with a university, how
         | would they react to behavior like this today?
         | 
         | They would wonder why the student went through all that trouble
         | instead of getting time on our HPC cluster.
        
           | dragontamer wrote:
           | Not even that. You can reach those kinds of levels with a GPU
           | these days (and GPU programming is sufficiently obscure that
           | most people won't even attempt to go that route).
           | 
           | Though... with the whole GPU shortage going on right now,
           | maybe it'd be easier to steal computer time from someone
           | else's lab right now!!
        
           | Jtsummers wrote:
           | Hah, fair enough, HPC clusters are certainly more common than
           | when I went to school. In that case, take the "like" to be a
           | generalization (how I meant it): A student (or students)
           | pushing the limits of the existing rules and infrastructure
           | to accomplish something productive or interesting. Yes, it
           | breaks some rules, but what's a typical reaction anymore? Do
           | they get hired by the university or pushed to work with
           | particular researchers like when I was starting school or do
           | they get pushed out or punished like when I was wrapping up
           | college?
        
             | asdff wrote:
             | Today the sysadmin sends you a frustrated email at you
             | asking you not to do that again. You are using someone
             | else's stuff that is carefully maintained by other people,
             | it's polite to abide by the rules these maintainers have
             | set up since it's their job and their free time on the line
             | when things go wrong.
        
         | tantalor wrote:
         | Some universities provide distributed computing resources.
         | 
         | Example: https://www.psc.edu/resources/allocations/
         | 
         |  _A primary mission of the Pittsburgh Supercomputing Center is
         | to train students, including undergraduates, in high
         | performance computing. To this end, PSC offers Coursework
         | allocations which are grants of free supercomputing time to
         | supplement other teaching tools._
         | 
         |  _Typically, Coursework allocations have been used in heavily
         | quantitative subjects, such as numerical methods, computational
         | fluid dynamics, and computational chemistry. But we encourage
         | all fields, including the social sciences and humanities, to
         | take advantage of Coursework allocations._
        
         | hervature wrote:
         | In a public lab that is used frequently, I believe this would
         | be viewed quite negatively. Not from a "you hacked our systems"
         | perspective but a "it could have been damaging to other
         | students' education if things had gone wrong". To make the
         | differentiation somewhat more clear, filling up a bucket of
         | water from the bathroom sink to clean something vs. removing
         | all the shower heads and making a super funnel of hoses to
         | spray wash your car outside. The former activity is clearly
         | much less likely to cause issues with other students. If the
         | computer lab was in some basement used by 3 students throughout
         | the year, I don't think anybody would care.
         | 
         | Building on that, many universities have computational
         | resources for any level of needs as long as they are justified.
         | Free network storage to last a lifetime and access to computer
         | clusters that comes with your university email. Upgraded
         | computer clusters for class projects, personal research (like
         | this), or really any legitimate need (as long as you don't say
         | something like "I want to mine bitcoin") is an email away from
         | the university IT. The next level would be the university's
         | super computer that generally needs a short proposal to justify
         | the academic purpose. When these systems are in place now, it
         | is kind of hard to justify these type of things.
         | 
         | Edit: The author of the post put a comment basically confirming
         | that things haven't really changed. He was being respectful
         | (low usage lab, allowed people to stop his programs if they
         | needed a computer, low impact to others, etc.). He was given
         | access to more legitimate resources afterwards at the request
         | of the professor. Not as easy as it is now, but that's Moore's
         | law.
        
         | detaro wrote:
         | When I was in uni a few years ago it wasn't exactly unusual for
         | students to use the PC pool for things like this, but you
         | didn't need to circumvent any security to do it (which
         | presumably would have drawn some ire - some poking at security
         | was ok, but always a bit uneasy). Nobody cared unless you
         | really got in the way of people wanting to work on the
         | machines.
        
         | saagarjha wrote:
         | Well, with protected memory you're not going to be getting full
         | access to the lab machines anymore ;)
        
           | znpy wrote:
           | Is gp mentions SSH, that means software is not running in
           | real mode.
           | 
           | And if you can get SSH, chances are sooner or later you can
           | exploit some misconfiguration or something else to escalate
           | to root.
           | 
           | Years ago having send mail installed basically meant having a
           | security hole... And sendmail was very common.
        
           | Jtsummers wrote:
           | True, you're not going to get this extreme level of access to
           | the machine. But even doing things like ssh'ing in to many
           | machines to use it as a personal distributed cluster, even if
           | you did everything to make your program run at the lowest
           | reasonable priority, got some people in trouble at one
           | university I was at.
        
         | vuciv1 wrote:
         | I graduated last year, and I worked for my colleges IT
         | department. We used to have to come knocking at the door if a
         | student even had their own printers set up.
         | 
         | It definitely would not go well.
         | 
         | That being said, I did know people who clogged the cs
         | department's machines with batch jobs to train really expensive
         | ML models that did God knows what. Its not the same as
         | bypassing a security system, but it is an instance of people
         | having the ability to run whatever code they'd like in certain
         | circles.
        
           | ecshafer wrote:
           | I couldn't imagine a situation where if someone knocked on my
           | dorm room door asking if I had a printer in there, I would
           | not have told them off with very unflattering language and
           | telling them to perform fellatio upon themselves.
           | 
           | How many students are just rolling over and saying sorry? I
           | would imagine most would give you a very hard time.
        
             | JCharante wrote:
             | Replying all gets you booted off the school network for a
             | certain amount of time, it's in the TOS so they can do it.
             | I imagine people value network access over having their own
             | printer.
        
             | alibrarydweller wrote:
             | When I was in university IT ~2008 our main concern was
             | people accidentally serving their own DCHP onto the network
             | and colliding with ours, generally by plugging in a router
             | LAN port out. I could imagine a decree with this goal
             | saying "no personal devices" to keep it simple.
        
             | mywittyname wrote:
             | > How many students are just rolling over and saying sorry?
             | 
             | Probably most/all. IT infrastructure is critical and
             | there's a very good chance that the IT staff have a process
             | in place for dealing with kids who won't let them do their
             | jobs. And it's probably a pretty effective process that has
             | been refined over the past decades.
        
           | pmiller2 wrote:
           | Funny, because I remember bypassing my university's print
           | quotas in grad school a few years ago simply by printing
           | directly to the IP of the printer. I didn't set out to do
           | this. It was just an unintentional side effect, and one I
           | never abused, but I did happen to notice that whenever I
           | printed, my quota allotment never went down.
        
             | mindslight wrote:
             | I did this out of pure convenience, and actually never
             | experienced the university's Windows account system at all
             | (would I have had to sign up for an account? who knows). I
             | had a list of strategically-located printers in my
             | printcap, chose one on the way to whatever class I was
             | headed to, kicked off the print job, and collected it as I
             | passed by to class. In class I would get the previous
             | week's assignment back, take the staple out with my pocket
             | knife, and reuse it to staple the current week's homework
             | before turning it in.
        
             | yardie wrote:
             | LPR is a pretty ancient and basic language. And it has 0
             | security!
        
           | ohazi wrote:
           | > if a student even had their own printers set up.
           | 
           | Students aren't allowed to have a printer? O_o
        
             | dsr_ wrote:
             | Printers used to be expensive and noisy.
             | 
             | In 1993 I was one of about 3 people on a dorm floor of
             | ultraturbonerds who had a printer in my room; it was a
             | Canon BJ130, I think, which had the distinction of being a
             | tractor-fed 300dpi black-and-white inkjet, and thus much
             | much quieter than my friend's IBM ProPrinter 24XL. How much
             | quieter? It wouldn't wake up people in the next room.
        
               | macintux wrote:
               | In 1988 when I was at Purdue, one of my roommates had a
               | Coleco Adam. Presto, instant printer!
               | 
               | Buying a combination computer/printer was a terrible idea
               | for longevity, but it helped me out a lot that year.
               | 
               | (Edit: stupid typo getting old)
        
               | xorcist wrote:
               | I too had a ProPrinter 24XL! Compared to daisy wheel
               | printers, they were very quiet.
        
             | vulcan01 wrote:
             | From what my college-going friends tell me, some colleges
             | want students to pay for a higher print quota instead of
             | having their own printer. More money for the college that
             | way.
        
           | 908B64B197 wrote:
           | > We used to have to come knocking at the door if a student
           | even had their own printers set up.
           | 
           | What's wrong with having a printer?
        
             | tgbugs wrote:
             | If I had to guess the wording of completely insane
             | contracts signed with companies that provide campus wide
             | printing.
        
               | dexterdog wrote:
               | IOW just an extension of why they don't want you using
               | libgen to get all of your books for free.
        
         | mywittyname wrote:
         | My university had a lap specifically for computer security
         | research. So you could do anything you wanted in there,
         | including screw with network infrastructure (though, you were
         | asked to plug all the machines back into the appropriate ports
         | after you were done).
         | 
         | There were apparently scripts set up that would reset
         | everything every Sunday.
        
       | valyagolev wrote:
       | Apart from using hacking to overcome imposed limitations such as
       | these, I am amazed by the number of times I had to use my chops
       | to overcome what was simply a bug. Opening the web inspector is
       | such a normal moment of dealing with other people's websites, I
       | have no clue how people manage without it.
       | 
       | I was very... surprised when I managed to productively use
       | "javascript:(some code)" in the URL bar of the browser of my
       | phone once when I was stuck in the airport probably like 10 years
       | ago and needed to do something that just wasn't working normally.
       | Now that we're used to smart phones it probably sounds quite
       | basic but it was absolutely weird back then.
        
         | nabakin wrote:
         | I remember the DSI bookmarklet community that utilized
         | "javascript:". That was so long ago and I was so young, I don't
         | even remember how I found out about them.
        
         | gambiting wrote:
         | >>Opening the web inspector is such a normal moment of dealing
         | with other people's websites, I have no clue how people manage
         | without it.
         | 
         | As a C++ programmer who has absolutely no idea how to even open
         | the dev console in browser - I just close the website. If I
         | can't scroll it, if it has stupid popups that I can't dismiss,
         | if it lets me get halfway through checkout and then
         | misteriously empties my basket? I'll maybe give it one more try
         | and then just close the website.
        
           | grogenaut wrote:
           | F12
        
             | StavrosK wrote:
             | Ctrl+W
        
             | rvba wrote:
             | On the phone?
        
             | atat7024 wrote:
             | Or right clicking on, and "Inspect" on the specific element
             | that you're trying to work with.
        
         | evanreichard wrote:
         | About a year ago I was attempting to book a room through the
         | Hilton payment system but my card kept getting declined.
         | 
         | Opening up the web inspector revealed that the JS was stripping
         | any leading 0's for the CVV. I ended up manually crafting a
         | curl request to hit the GraphQL endpoint and was able to
         | successfully book the room.
         | 
         | I did reach out to a Platform Architect on LinkedIn describing
         | the bug, but never heard back about it. Was a total shot in the
         | dark, though, so no surprise there.
        
         | coldtea wrote:
         | > _Opening the web inspector is such a normal moment of dealing
         | with other people 's websites, I have no clue how people manage
         | without it._
         | 
         | I ocassionally use it to debug faulty script submission or
         | stuck websites or some paywall banner (as a consumer), but one
         | great way to manage without it, is to avoid those websites in
         | the first place.
         | 
         | If I see an incompetent business website, I take my business
         | elsewhere...
        
         | toomanyducks wrote:
         | The web is broken. Someone's website wouldn't scroll (I don't
         | remember the details, and I don't think I wanted to find out
         | --- maybe it was overflow: hidden, but it could've been
         | something else), and the only way I could figure out to deal
         | with it was to open up the devtools responsive design mode and
         | pretend the screen was bigger than it was so that the full page
         | could show, and then use the browser's scrollbar from within
         | that view.
        
           | onion2k wrote:
           | _The web is broken._
           | 
           | When an app on your computer or phone doesn't work well do
           | you say Windows or iOS is broken, or do you say the app is
           | broken?
           | 
           | A broken website doesn't mean the web is broken.
        
             | toomanyducks wrote:
             | > When an app on your computer or phone doesn't work well
             | do you say Windows or iOS is broken
             | 
             | Yes. All the time. A good platform supports that which
             | builds upon it.
        
             | throwaway77770 wrote:
             | The grain of the web is so that it's much easier to write
             | something broken than something that works.
             | 
             | That's true of all development, granted, but doubly so the
             | web, so yep... the web is broken.
        
               | onion2k wrote:
               | Most websites work quite well.
        
           | elliekelly wrote:
           | I'm one of the few weirdos who actually seeks out and reads
           | the ToS & privacy policy posted on sites I visit and I can't
           | tell you how many times I've run into a site with infinite
           | scrolling and a footer (with all the "important" legal stuff)
           | that a user will never see but for a fleeting moment. A
           | feature or a bug? I'm never quite sure.
        
             | valyagolev wrote:
             | In the footer, there's also sometimes the language picker,
             | the "desktop version" link (often acting as a button with
             | same urls, so you can't just save it), and the dev docs
             | links. There's a site where I have to specifically open a
             | page that is not infinite to make sure I enabled the
             | desktop mode before going back to whatever I actually came
             | to do
        
       | sriram_malhar wrote:
       | I had once a modest hack with an immediate payoff. We were using
       | a troublesome 3rd party C++ library (back in the cfront days),
       | whose source wasn't available.
       | 
       | I took care of one critical bug this way:
       | 
       | #define private public #include <foo.h>
       | 
       | Now all the innards of the foo class were available to be fixed!
        
       | withinboredom wrote:
       | I remember discovering Cain & Abel in high school, then
       | discovering that my principal (who had gone to the same high
       | school years earlier) had logged into the computer I had for my
       | keyboarding class. Turns out, he still used the same password a
       | decade later... I had way too much fun with that password.
        
       | Syzygies wrote:
       | The hack is pure genius, and posting the story as a series of
       | tweets is painful. Did the genius wear off?
        
         | [deleted]
        
       | Gelob wrote:
       | This stuff gets you suspended now
        
       | [deleted]
        
       | draw_down wrote:
       | This sort of thing is really impressive. But at least for me, it
       | stops being impressive and starts becoming tedious pretty quick.
       | Again at least for me, it's important to know that I am capable
       | of doing hard/tedious/impressive things, but it's not important
       | to keep doing them over and over. Because the tedium just kills
       | it.
        
       | 2sk21 wrote:
       | I have a similar story but I was not quite so clever. Back in
       | 1990 and 1991, I used a cluster of IBM RS6000 workstations in my
       | university to train neural networks. I had previously tried to
       | get backpropagation to work on a Connection Machine but found it
       | too frustrating to work with. The cluster of RS6000s actually ran
       | my code (written in C) very fast and was able top get some good
       | results and graduate with PhD. I built a distributed queuing
       | system to ensure that each work station would pull the next job
       | from a central queue.
        
         | eps wrote:
         | There used to be something called PVM - Parallel Virtual
         | Machine - a fairly simple library for distributed computing.
         | Had to use it once back in Uni, it wasn't bad.
         | 
         | Edit - http://www.csm.ornl.gov/pvm/
        
           | 2sk21 wrote:
           | Yes PVM would have been great had it been available but as I
           | recall, it came out later, in the mid 90s.
        
         | exikyut wrote:
         | Do you remember why the CM was so frustrating? That's a very
         | ironic story right there.
        
           | 2sk21 wrote:
           | Main problem was that it was hard to get time on our CM2 to
           | run jobs. You had to sign up in advance and it was a
           | nuisance. Also debugging the parallel version of C for the
           | CM2, called C* was pretty hard to debug as well.
        
       | GnarfGnarf wrote:
       | In 1967, while I was in school, I reverse-engineered the Montreal
       | Metro system transfer tickets. It used a custom paper tape-type
       | punched code. I was able to manufacture tickets. Was real popular
       | with my classmates.
       | 
       | In 1983 I reverse-engineered the Xerox 9700 laser printer font
       | format. Xerox were real SOBs and refused to share technical info
       | with their customers, who were paying $12K/mo rent on the huge
       | printers (120 impressions/min., two-sided). I altered random bits
       | in the font files, and displayed the distorted results. My
       | apotheosis was selling new fonts to the local Xerox branch.
        
       | fireattack wrote:
       | Just curious, could you just put the address for Finder into that
       | hook instead of the auxiliary program? Or even better, just put
       | the main MPQS program?
        
       | SavantIdiot wrote:
       | It was a button that generated an NMI? How weird to put that on
       | the front panel of a Mac. Then again Sculley was doing some weird
       | stuff...
        
         | krallja wrote:
         | The programmer's key came with the original Macintosh, letting
         | you hit NMI https://en.wikipedia.org/wiki/Programmer%27s_key
        
           | teddyh wrote:
           | IIRC, the keyboard "Restore" key on the Commodore 64 also
           | generated its own interrupt.
        
       | totierne2 wrote:
       | Back in 1992 I was using a neural network library in Pascal. I
       | did not know the admins were killing long running nohup tasks,
       | rather than the program failing, so I could not run it on the
       | UNIX boxes in the background, hence lots of foreground and usenet
       | reading. The neural network use was applied, 'how did number of
       | nodes, number of layers matter?' to analysing fetal heart rate
       | data. Backpropagation was built in. I was recovering from a
       | nervous breakdown, so my virtual neural network having breakdowns
       | was a little bit strange. I got a 2:1 for the project i.e. good,
       | but a 2.2 for the whole final year, i.e. very average.
        
       | abfan1127 wrote:
       | I love the stories here. Mine isn't as cool or flashy, but did
       | save me some money in college. My university implemented a
       | $0.05/sheet of printed paper system. We found out that we didn't
       | lock down the printers themselves. We could print a test sheet at
       | the printer, get its IP address, then directly it add it to our
       | personal machines. We saved a ton of money and hassle since
       | buying printer credits was a pain.
        
       | kubb wrote:
       | I think it's funny that some people could easily do in college
       | what I wouldn't be able to do now despite working a high paying
       | job in the industry.
        
       | lisper wrote:
       | Please, for the love of all that is holy, don't put long-form
       | content on Twitter. That's not what Twitter is for. Reading long-
       | form content on Twitter is like trying to read a novel written on
       | post-it notes. Please, just don't.
        
       | druidcz wrote:
       | SM 0 A9F4 G0 I will never forget that :)
        
       | a3n wrote:
       | In 19 and 82 or 3, I worked at Lockheed Shipyard in Seattle, in a
       | sort of tech writing capacity on a Navy ship building project,
       | based on my recent experience in the Navy. The business closed
       | with completion of the ships.
       | 
       | We had to fill out lots of forms that documented what we called
       | "analysis," and we'd often have to change them based on some
       | factor changing. One change could cascade through the whole form.
       | 
       | Paper forms. Green see-through plastic letter guides. Whiteout.
       | Lots of whiteout.
       | 
       | We had access to a department mini computer, don't remember what
       | it was. The language might have been Basic-like, but I didn't
       | know enough to recognize it as such.
       | 
       | I figured out how to write and run programs, someone showed me
       | how to print, and I wrote a program that would accept values for
       | all a form's fundamental values, and cascade those through
       | calculations for the dependent values, and print out the filled
       | in form. You could save it, update a new value, re-cascade, and
       | print it out again. No more whiteout.
       | 
       | Part of the calculation involved sorting. I didn't know anything
       | about sorting, so I implemented what I later learned was bubble
       | sort. Because that's obviously how you'd do that.
       | 
       | The system administer noticed more load when people ran my
       | program. He found me, and told me not to do that again.
       | 
       | I learned that there was a thing called a system administrator.
       | He might have given me a better canned sort, don't remember.
       | 
       | I eventually thought it would be a good idea to quit and go to
       | school, so I did.
       | 
       | (I took a number theory class, but had to drop it. I don't have
       | the math nature.)
        
         | yumraj wrote:
         | And now you're a semi truck driver.. how did that happen from
         | soft developer to semi truck driver?
        
           | a3n wrote:
           | Anger and poor impulse control led me to rage quit a job. And
           | I wasn't the best developer. I don't think any job was ever
           | sorry to see me go.
        
             | chris_wot wrote:
             | How do you deal with idiot drivers though?
        
               | a3n wrote:
               | I put my finger on the protective cover over the laser
               | turret switch, and usually that's enough. I've never
               | actually lifted the cover.
        
         | WalterBright wrote:
         | In the same time frame, I worked at Boeing doing design work on
         | the 757. I didn't know how to do complex numbers using drafting
         | tools, but I knew how to use a computer. The only computer in
         | the building was an '11 in a special locked room with raised
         | floor and A/C. It was under the control of Boeing Computer
         | Services, a totally separate division from Boeing Commercial
         | Airplane Company, which I worked for.
         | 
         | Anyhow, I befriended the sysadmin and he on the sly gave me an
         | account and the code for the door. I wrote a bunch of numerical
         | integration matrix programs, and showed the results to my lead,
         | who told me computer results were all bullshit (he'd gotten bad
         | numbers from them before) and called over his best draftsman,
         | and told him to show me up (all in a friendly way, he was a
         | great fellow).
         | 
         | The draftsman worked for two days, and came up with a sheet
         | full of numbers to 3 significant digits. Mine were to 6. We
         | compared, and one was wrong. He said my number was wrong. I
         | knew it wasn't, because continuous functions don't have
         | anomalous behavior. He good naturedly agreed to redo that one,
         | and in a while came back and said my numbers were right. After
         | that, my lead trusted my work, and I got all the math work in
         | his group.
         | 
         | Eventually, some manager in BCS discovered I was making
         | unauthorized use of the '11, and went several management levels
         | over my head to demand I be censured. My lead (one of the
         | engineering treasures at Boeing) went to bat for me. That went
         | many levels up, and the BCS manager got a smackdown and was
         | ordered to legitimize my usage.
         | 
         | In another incident, I got the job of writing some test plan
         | specifications. The usual technique was to hand write them and
         | hand them off to the secretary pool to type up. I get writer's
         | cramps after handwriting 5 or 6 words. The secretary pool was
         | in a special doored room full of Wang word processors. All
         | women, and the supervisor was a woman. I asked for access to a
         | Wang, as it was faster for me to type than hand write. She said
         | ok, but I'd have to take the 2 week Wang course first. I asked
         | if I could just have a look at the manual. She laughed and said
         | sure. She was sure I'd fail.
         | 
         | I looked through it for a few moments, fired up the Wang and
         | started editing. It was, after all, just a text editor. The
         | supervisor was annoyed, but she kept her word.
         | 
         | If I'd stayed at Boeing I'd have likely been the first engineer
         | to bring in my own PC for my desk, at my own expense.
        
           | dreamcompiler wrote:
           | > hand them off to the secretary pool to type up
           | 
           | This brought back a memory. In the late 80s I got a job at a
           | very high-tech science and engineering firm. A colleague told
           | me to be careful about writing code. His supervisor had
           | walked by his office one day and saw him writing code on a
           | terminal. He chewed him out for "typing" because "typing is
           | for secretaries." Apparently the correct procedure was to
           | hand-write your code onto a paper form and hand it to a
           | secretary for entry into the computer. I assumed my colleague
           | was joking but checked out the official procedure and it was
           | true.
           | 
           | After that, I shut my door when I wrote code.
        
             | WalterBright wrote:
             | When I started using the Wang, I did get a bit of ribbing
             | for doing "women's work". I laughed at that, and it didn't
             | happen again.
             | 
             | Heck, I'd been using a computer to write my papers in
             | college (using DECUS' runoff program, similar to Unix's man
             | formatting program).
             | 
             | I can't remember the last time I hand wrote more than a few
             | words.
        
               | seg_lol wrote:
               | I wonder how many of those women had to learn to code to
               | fix the typos?
               | 
               | The level of structural sexism back then was off the
               | charts, at least it was overt. Now we just tell people
               | there is no glass ceiling and it must be their problem.
        
               | WalterBright wrote:
               | The Wang didn't allow for any coding.
        
             | plausibledeny wrote:
             | Worked for a medium-size software company in the 90s. When
             | our company got a new CEO someone at an all-hands asked him
             | to describe his experience with computers. He was very
             | clear that he didn't use them, wouldn't have one in his
             | office and that he had an executive assistant for that sort
             | of thing.
        
           | eitland wrote:
           | A friend of mine did something similar, although in a tax
           | office.
           | 
           | Ploughed through weeks of works in days (he is really fast at
           | typing too).
           | 
           | When he came back with his work the manager of course
           | wouldn't belive him, set two men to verify it for weeks and
           | they concluded it wasn't only correct but even had less
           | errors.
           | 
           | After that he was "promoted" to a customer facing job (since
           | he was "unqualified" to program).
           | 
           | My dad told me this story when I was a kid. It's how I ended
           | up as a developer and why I still am.
           | 
           | Delighting customer by making weeks of boring work vanish
           | into empty air is still fantastic.
           | 
           | Edit: I've been luckier than him. It is not always that
           | people can be helped but I was never punished.
        
           | a3n wrote:
           | > In the same time frame, I worked at Boeing doing design
           | work on the 757.
           | 
           | After I graduated I worked at Boeing in a test group, and
           | wrote control software for test rigs, mainly to test Fuel
           | Quantity Indicating Systems on the 57 and 67, 47-400, and 77.
           | 
           | That was in Les Carpenter's group, and they still had some
           | test rigs lying around built with relays mounted on wooden
           | boards.
        
             | bane wrote:
             | I just came to say I'm really enjoying this trip down
             | memory road. Please keep the great stories coming!
        
         | kqr wrote:
         | It sounds like you essentially invented the spreadsheet. Nice
         | work!
         | 
         | > Part of the calculation involved sorting. I didn't know
         | anything about sorting, so I implemented what I later learned
         | was bubble sort. Because that's obviously how you'd do that.
         | 
         | I would like to politely contest the authenticity of this
         | specific detail. In my fairly strong collection of evidence,
         | people just do not bubble sort without being told how to do
         | that.
         | 
         | People's natural mental sorting algorithm is most often
         | insertion sort. That's what you use when you hold a hand of
         | playing cards, for example. Sometimes something else (radix
         | sort with monopoly money, for example), but I've never seen
         | anyone invent bubble sort without first being told about it one
         | way or another.
         | 
         | (Which is a good thing because bubble sort is just such a
         | stupid idea I don't know why we teach it. In my life, I've only
         | ever been notified of one single good use case for it: you need
         | to slowly converge on an order but the minimum amount of
         | computation is necessary for each step of the convergence.)
        
           | jacobolus wrote:
           | https://blog.reverberate.org/2020/05/29/hoares-rebuttal-
           | bubb...
        
             | kqr wrote:
             | I did not expect that, but sure enough, makes sense when I
             | look at it. Thanks!
        
           | louisvgchi wrote:
           | Bubble sort was perfectly natural to me before I learned
           | about algorithms. I think your "fairly strong collection of
           | evidence" is weak. We teach it because it's a study in how
           | not to sort, most of the time.
        
           | a3n wrote:
           | > I would like to politely contest the authenticity of this
           | specific detail.
           | 
           | > People's natural mental sorting algorithm is most often
           | insertion sort.
           | 
           | [embarrassed panic]
           | 
           | [trip down wikipedia lane]
           | 
           | No, it was bubble sort. Data and loop management for
           | insertion sort wouldn't have been something I would have
           | thought of back then.
        
             | kqr wrote:
             | What confuses me is that isn't the data and loop management
             | for bubble sort even more complicated?
             | 
             | Insertion sort is literally just "keep track of the index
             | beyond the last sorted element, then scan for the next
             | smallest element and swap it in, repeat until you have gone
             | through the entire array." This is about as simple as a
             | comparison sort gets. (And it's what literally everyone
             | I've watched does when they get dealt a few playing cards.)
             | 
             | Bubble sort, on the other hand, requires you to reason
             | about consecutive adjacent swaps, keep track of whether the
             | current iteration dirtied the array, and so on. (Just the
             | idea of bubble sorting playing cards gets me sweaty. It
             | would take long, be cumbersome, and hard to keep track of.)
             | 
             | Edit: who is embarrassed now? What I'm describing is
             | apparently not insertion sort but selection sort.
        
               | a3n wrote:
               | But you're speaking from knowledge and analysis. I only
               | had the perspective at the time of looking at the world
               | through a paper towel roll. Anyway, it was the first idea
               | that bubbled up for me.
        
               | tzs wrote:
               | > Bubble sort, on the other hand, requires you to reason
               | about consecutive adjacent swaps, keep track of whether
               | the current iteration dirtied the array, and so on.
               | 
               | You only need to keep track of whether or not the current
               | iteration dirtied the array if you want to stop as soon
               | as a pass leaves the array sorted. If you don't want to
               | do that (or don't think of it) then it is just something
               | like:                 for pass = 1 to n         for index
               | = 1 to n-1           if array[index-1] > array[index]
               | tmp = array[index]             array[index-1] =
               | array[index]             array[index] = tmp
               | 
               | There is less extra to keep track of then in insertion or
               | selection sort.
        
           | someguyorother wrote:
           | > I would like to politely contest the authenticity of this
           | specific detail. In my fairly strong collection of evidence,
           | people just do not bubble sort without being told how to do
           | that.
           | 
           | FWIW, my first sort was selection sort. "Find the smallest
           | element, place it at the start, repeat" seems like the
           | obvious way to do it, without the fussing about with
           | shuffling already sorted elements out of the way that
           | insertion sort requires.
           | 
           | Perhaps it's a thinking top-down vs bottom-up kind of thing?
           | People who think bottom-up stumble on bubble sort, people who
           | think top-down stumble on selection or insertion.
        
             | kqr wrote:
             | I just now realised that when I talked about insertion sort
             | I really meant selection sort. How embarrassing of me to
             | lecture others and then go on to make such a basic mistake
             | myself!
        
           | gsliepen wrote:
           | > I would like to politely contest the authenticity of this
           | specific detail. In my fairly strong collection of evidence,
           | people just do not bubble sort without being told how to do
           | that.
           | 
           | I taught a C programming class for first-year students for a
           | few years at the end of the 90s, where one of the tasks was
           | to sort an array of words, with no hints given as to what
           | kind of algorithm they should implement. Most students came
           | up with bubble sort. Insertion sort was much less prevalent,
           | and the few students who did typically did a kind of out-of-
           | place insertion sort. (I also saw a O(N^4) algorithm once.)
        
             | BlueTemplar wrote:
             | I "trolled" the professor by doing a random sort...
        
               | tragomaskhalos wrote:
               | A better troll would have been Sleep Sort :)
        
           | DonHopkins wrote:
           | Bubble sort is just fine if you're sure you'll only have a
           | few items, or if it's likely that it might already be sorted,
           | but it's still embarrassing admitting implementing it. Even
           | Barack Obama knows that!
           | 
           | https://en.wikipedia.org/wiki/Bubble_sort#Performance
           | 
           | >The only significant advantage that bubble sort has over
           | most other algorithms, even quicksort, but not insertion
           | sort, is that the ability to detect that the list is sorted
           | efficiently is built into the algorithm. When the list is
           | already sorted (best-case), the complexity of bubble sort is
           | only O(n). By contrast, most other algorithms, even those
           | with better average-case complexity, perform their entire
           | sorting process on the set and thus are more complex.
           | However, not only does insertion sort share this advantage,
           | but it also performs better on a list that is substantially
           | sorted (having a small number of inversions). Additionally,
           | if this behavior is desired, it can be trivially added to any
           | other algorithm by checking the list before the algorithm
           | runs.
           | 
           | >In popular culture: In 2007, former Google CEO Eric Schmidt
           | asked then-presidential candidate Barack Obama during an
           | interview about the best way to sort one million integers;
           | Obama paused for a moment and replied "I think the bubble
           | sort would be the wrong way to go."
           | 
           | Here's an implementation of bubble sort written in PostScript
           | by Sam Leffler, renowned
           | BSD/Lucasfilm/Pixar/SGI/Alias/Softimage/VMWare hacker, which
           | he sent me and gave me permission to distribute in 1988, but
           | which he was too embarrassed to sign his own name to, so he
           | used the pseudonym "Bobo Leffler".
           | 
           | https://donhopkins.com/home/archive/psiber/cyber/bubblesort..
           | ..
           | 
           | https://en.wikipedia.org/wiki/Samuel_J._Leffler
           | 
           | Also here's a PostScript heap sort by Owen Densmore of Sun,
           | and a PostScript insertion sort by John Warnock of Adobe,
           | both of whom used their real names:
           | 
           | https://donhopkins.com/home/archive/psiber/cyber/heapsort.ps
           | 
           | https://donhopkins.com/home/archive/psiber/cyber/insertion-s.
           | ..
        
             | kqr wrote:
             | What is so revealing about that Obama quote, the way I see
             | it, is how dangerous it can be to "teach what not to do".
             | There's a significant risk the student ends up just
             | remembering the wrong way and none of the right ways.
        
               | DonHopkins wrote:
               | https://en.wikipedia.org/wiki/Wikipedia:BEANS
               | 
               | Do NOT click on the red button.
        
           | eru wrote:
           | > People's natural mental sorting algorithm is most often
           | insertion sort. That's what you use when you hold a hand of
           | playing cards, [...]
           | 
           | I agree about the playing cards. But bubble sort was the
           | natural sorting algorithm for me to come up with, too, when I
           | was dealing with qbasic back in the 1990s.
        
         | mxcrossb wrote:
         | Great story. I wonder if somewhere on a site like the daily wtf
         | you can find the sys admin's retelling where he relays in
         | horror how a bubble sort almost brought down the system!
        
         | [deleted]
        
       | tanbog4 wrote:
       | When I did a university security course a few years ago that
       | involved a contest to factor primes those of us who wanted to be
       | competitive had to buy AWS processing time...
        
         | mxcrossb wrote:
         | Time to take a hint from the college board and insist that
         | every student's code has to run on a TI-84
        
           | shakna wrote:
           | At which point you should break out KnightOS [0]
           | 
           | [0] https://knightos.org/
        
       | [deleted]
        
       | colanderman wrote:
       | Was expecting the final tweet to be about students complaining
       | that the Finder kept popping up any time they tried to drag
       | anything.
        
         | Tepix wrote:
         | Haha yeah it sounds as if it could have interfered with normal
         | operations ;-)
        
       | KETpXDDzR wrote:
       | And nothing changed. Probably even worse. In most modern software
       | companies you are blocked by a lack of permission at some point.
       | Hard- and software became more and more hardened and complex.
       | Thus, tinkering with it to work-around rather requires luck or a
       | very very deep knowledge.
       | 
       | I wonder what the alternatives are. I think systems that provide
       | fully-enabled sandboxes are they way to go. Also, self-service
       | instead of tickets (are the humans approving your tickets and
       | better in detecting unauthorized requests?). I think that's why
       | containerization is so popular.
        
       | cc_cccc wrote:
       | The twitter thread and this comment section is a good reminder I
       | don't belong on HN. I feel like the most complex coding I have
       | done is write a CRUD web app haha.
        
         | ergot_vacation wrote:
         | As long as you can be thoughtful and curious about tech-related
         | stuff and communicate that thoughtfulness well in text, you
         | belong on HN. There's certainly a tilt toward career SV types
         | for obvious reasons, but this place has everything from
         | genuine, jaw-dropping geniuses to people who are just
         | hobbyists, and a lot in-between.
        
       | wheybags wrote:
       | I did a nasty hack a little like this when I was in college.
       | College wired internet had all sorts of filters on it, I can't
       | remember the details exactly. The important thing was it didn't
       | allow the upd ports for counter strike from the wired connection
       | we had in a society room. The computer science department had
       | their own web proxy, which was only accessible from inside their
       | network. Cs students could SSH into special lab machines running
       | linux, which were on the cs network. Crucially, you could connect
       | to them from the general college network, not just another cs
       | network ip. These machines had a series of predictable hostnames,
       | iirc lg12l$hostnumber (lg12 was the labs name). So, the solution
       | was in two parts: first, ssh tunnel to the cs dept proxy, second:
       | connect to openvpn on a vps somewhere using a mode that openvpn
       | has which allows use through a http proxy. This happened on a
       | machine running a dhcp server, which then acted as a nat router
       | for the whole room.
       | 
       | The lab machines I was using were physically accessble to
       | students, who could reboot them, shut then down, whatever. So I
       | wrote a script that would iterate through the hostnames until it
       | found one that it could SSH tunnel through. Mostly it used
       | lg12l0, the first host. One day I got an email from the cs dept
       | sysadmin telling me that lg12l0 was a test host in his office,
       | not a real lab machine, could I please use another one? And no
       | complaints over what I was actually doing with it. I still wonder
       | if he noticed. This setup was running for at least a year, maybe
       | two. Sorry about that mate :D
        
         | TchoBeer wrote:
         | Was running counterstrike through two computers really faster
         | than just using the wireless connection or did that one have
         | weird filters too?
        
           | wheybags wrote:
           | WiFi was crap, wired we could pretty much saturate our
           | gigabit NICs. And WiFi had similar, but different filters
           | iirc.
        
           | jtms wrote:
           | Wifi from those days wasn't nearly as good as a hard wire.
           | Also, it might have just not been available. It wasn't nearly
           | as ubiquitous 20 years ago as it is now.
        
             | wheybags wrote:
             | This was more like 10 years ago, but yeah, WiFi was still
             | crap (and still is :v). In particular, the signal in that
             | room wasn't great.
        
           | mikefallen wrote:
           | Play counter strike on wireless? Hahaha no way man. CS is a
           | highly latency sensitive game (as is any competitive fps).
           | Wifi is much too prone to disturbances and packet loss, so
           | you will experience lag/jitter/loss.
        
       | linux2647 wrote:
       | Thread on a single page:
       | https://threadreaderapp.com/thread/1389106103179378689.html
        
         | dsr_ wrote:
         | Everything interesting on twitter takes more than one tweet.
         | 
         | I wonder if there's a place for "fast Usenet", where you can
         | write a message of arbitrary length with some markdownish
         | syntax, let it be flooded to anybody subscribed to that group,
         | and automatically drop into a searchable no-new-comments
         | archive after, say, a week.
        
           | exikyut wrote:
           | Curious why your comment got collapsed, it's very
           | interesting.
           | 
           | Genuine question: why archive?
           | 
           | While I don't really have a substantive list, I _very_ often
           | come across archived threads on here and elsewhere that I 'd
           | like to respond to. "Wow this is awes--" "oh it's from 2016".
           | 
           | I guess I just don't understand the hate against
           | necroposting. If there's a thread out there that has exactly
           | the context and disposition I was looking for, _let me
           | respond to it_. In a lot of cases I don't actually care if
           | any reply(s) take 4 years to come through!
        
             | dsr_ wrote:
             | Why archive? Because history is good.
             | 
             | Why the anti-necroposting provision? Because if it's really
             | relevant, having you jump through the additional hoop of
             | quoting the good bit and copy-pasting into a new thread not
             | only forces you to put a little bit of thought into it, but
             | also prevents threads from being months or years (or
             | decades) long and thus only being accessible to people who
             | have read the whole darn thing.
             | 
             | In my experience in Usenet, conversations go off topic
             | remarkably quickly.
        
         | FabHK wrote:
         | Single page, and accessible without JavaScript. Thanks.
        
           | MayeulC wrote:
           | I also like nitter for this. Of course, you have to use a
           | non-ratelimited instance, but there are a few to pick from.
        
       | sampo wrote:
       | From around 1996-1997, when Linux desktop use became popular,
       | some university departments had this distributed computing system
       | installed in both classroom computers and staff's desktop
       | computers, to run distributed computing jobs when the computers
       | were not in use otherwise.
       | 
       | https://en.wikipedia.org/wiki/HTCondor
        
       ___________________________________________________________________
       (page generated 2021-05-04 23:02 UTC)