Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Hacker Purity Test (1989) (armory.com)
110 points by oliverkwebb on Aug 23, 2024 | hide | past | favorite | 105 comments


When I first took this test (around 1994) I wanted to improve my score, so in 1995 I learned troff in order to get the last point in this sequence:

  0x1D1 Can you solve the Towers of Hanoi recursively?
  0x1D2 ... Non-recursively?
  0x1D3 ... Using the Troff text formatter?
I successfully managed to get the point:

http://www.loyalty.org/~schoen/troff-hanoi.txt


There is also a point for "have you tried to improve your hacker score?"


Being fifty I think I can say I grew up in this culture. Looking at this test made me realize I grew up to dislike it. (This, or I got grumpy with age)

The chest banging coming from knowing obscure and useless details is kinda cringe. Yeah I know this test is tongue-in-cheek but I remember dudes who were really like that.


I don't think anyone has mentioned the context of the Hacker Purity Test. Back in the 80s, the "Purity Test" was a well-known thing on Usenet, a long list of sexual activities, drugs, and so forth. By checking off which things you had done, you could get your purity score. (This test made for a lot of interesting discussions with friends.) The Hacker Purity Test is a humorous parody of the original Purity Test. Its humor comes from replacing wild sex acts with super-nerdy activities, while keeping the form and style of the original test.


Originally from Rice University in 1924: https://en.wikipedia.org/wiki/Purity_test


To think, just a century ago, those immoral coeds were running around breaking engagements!

"Rice Girls Not Quite Half Bad" https://digitalcollections.rice.edu/Documents/Detail/the-thr...

"It is an awful thing to say but it may be that she is called the village belle* because she has the most rings." (p2)

p4, just right of a taxi ad, is an ad for Stanford?

(also, either a chicken or a steak dinner may be had for $1, but a hat will set you back $5)

EDIT: * on the topic of texas belles (krasivyje i smelyje?), a very belated idea for songs that might be sung should the RF support Texas' secession from the US: "Jolene lish raz, Jolene lish raz"


Might it because you do not remember the currency of the time was knowledge? In absence of Internet, people traded knowledge, their status depended on this, they got access to cool things because of it. And, as with any valuable, there’s bound to be hoarding.


> their status depended on this

But it's not inevitable that people chase status and lord it over others. Doing that is a choice. People can always choose to focus on something more healthy and productive.


I think it is inevitable though when a bunch of hairless apes taught sand how to think.


Maybe. I think I was in the camp of "I will share my knowledge whether you want it or not", always eager to tell people they are doing things in an uninformed way, like not using the right editor ;)


what is the currency now?


Engagement, likes, garbage like that.


Upvotes.


Data


I see what you're getting at, and I agree.

But at the same time, reading this again also made me a bit nostalgic for at least some parts of 1990s hacker culture. (I'm a bit too young to have experienced the 80s.) There's an irreverence that seems to have been lost. The culture was full of cringey gatekeeping behavior and that wasn't even the worst of it. And the purity test did revel in that a little bit. But it also represents nerd culture taking the piss out of itself in the same breath. The BOFH files also come to mind as an example of this.

It seems like a lot of modern nerd culture isn't quite so able to do that. Gamer culture, for example, is also rife with gatekeeping behavior. And there's also a lot of humor, but what I don't see quite so much is gamer nerds taking a good hard look at themselves, and laughing at what they see.


Also, remember this as a set of in-jokes. Many of these entries were meant to laugh at, not seriously use as a benchmark.


It's a thing of maturity. In programming and system administration, that kind of obscure thing can be really helpful. I was debugging an NMI just yesterday.

So, doing obscure things and knowing intricate details of a machine is always a plus if you're facing it 8 hours a day, and having small wrestling matches with it from time to time.

However, having a piss contest out of it is not cool or nice.


Grumpy, This is not about knowing obscure and useless details, these things were not learnt in isolation but via exposure through lots of hacking/coding and the culture back then.


If I were one to use the word "cringe", a fifty year old willfully using the words "kinda cringe" would absolutely be cringe.


Language changes. Adapt or be cringe.


INCYMI, FWIW, pwn, MacGyver, cringe and ICYMI have been part of the M-W dictionary for three years.

https://www.merriam-webster.com/wordplay/new-words-in-the-di...

> The dictionary chronicles how the language grows and changes, which means new words and definitions must continually be added. When many people use a word in the same way, over a long enough period of time, that word becomes eligible for inclusion.


FWIW, "fwiw" was already common on Usenet concurrently with this purity test.

(I'd call 60% of that list to have been in use before the turn of the century)


MacGyver hasn't been on the air for three decades... I was pointing out that language changes and "cringe" has been recognized as part of the (American) english language for a few years now (by one dictionary publisher).


Agreed; I had just been surprised that the others had all been added in the very same year as "yeet".


I like how some of the questions which used to be very "hacker" now apply to a large segment of the population.

Have you ever used a computer for more than 8 hours continuously?

Do you log in before breakfast?

Have you ever set up a blind date over the computer?

Do you talk to the person next to you via computer?


Also:

Do you use more than 8Mb?

I was actually surprised the test make thought to include terabytes at all


Need an updated version for those of us who were born after nearly everything mentioned here was no longer manufactured/supported/commonly used!


Exactly.

This might be the perfect test for ones born in 60s-mid 80s but anyone later born will have probably score much lower than their actual "hackerness" (is there such a word?) and the test would really not reflect the truth simply because the used tools and techniques and memes of the era.

(But hey the test is from 1989 so it makes perfect sense)


I see it more as a piece of history than any actual measurement of someones "hackerness". It's a fun way of peering into the realm of 80s hacker culture and seeing what was popular or cutting-edge at the time ("Have you ever programmed in the X windowing system?")


Mid-80s is a bit late for a test from 1989. Most of these questions would need you to be in university or work. I'd say mid 40s to early 70s is more realistic. My uncle was born around '48 and was working at Cambridge Computer Lab in 1989, so I'm sure would have answered this.


Agreed. I was born in '81, and by the time I got my first computer (coincidentally, probably '89, when this test was compile), a ton of the questions on that list would have required you to have been in the industry for a couple decades already. I feel like even a hacker born in 1970 would have a trouble answering "yes" to many of those questions.


Indeed Mid-80s would be either using Debian/Slackware, writting a device driver for Linux/BSD, tampering with Video4Linux, cracking TV cards by nearly decoding Nagra by hand, writting something akin to minimodem/tempest for Eliza, hacking a cable-modem to get free internet access, smashing the stack, doing anything close to what Fabrice Bellard did and so on.


That's because hacker culture no longer exists.


Sad but true. We are all the corporate code drones that the hackers prided themselves on not being.


I think it has changed shape: the ideologies are the same but the application is different due to the society, complexity of tech, social media, internet, regulation etc.


Just live with thought that there are no pure hackers anymore;)


(Among many others) I didn’t know what a lace card was so I had to look up: https://en.m.wikipedia.org/wiki/Lace_card. How would you even make one? And it had to be cleared with a “card knife”!


Since I work with punch cards at the Computer History Museum, I can answer this. A standard IBM punch card has 80 columns and 12 rows, with each character represented by 1-3 punches in a column. A lace card has all the holes punched, so it's not punched with a normal card pattern. You can create a lace card, though, with a keypunch if you hold down the "multi punch" key. This lets you punch multiple times in a single card column, allowing you to punch patterns that don't have keys. So you could type &-0123456789 with multi-punch in each column to punch all 12 holes, which would be tedious but give you a lace card. (More efficient key combinations exist).

A second alternative is punching the card via computer using the card reader/punch attached to the computer. Normally, this lets you punch characters on the card. But using the optional "punch column binary" instruction, you can punch an arbitrary 12-bit binary value in each column. So you can create a lace card this way, if it doesn't jam.


You punch 80 columns worth of DEL. The card will jam the reader, but will get punched just fine.


I remember that a lace card was a really good way of jamming an IBM 029 (or 026) card. You put the card in the feed hopper, and selected DUPlicate, it would almost always jam in the read station.



I have borrowed Art of Computer Programming from a interlibrary loan in the past (although I do not own a copy), and I have written a MIX simulator, and an assembler. It supports both decimal and binary. (I also have written programs in both MIX and in MMIX.)

I had never used computers with cards, but I had made an option (it can be switched on and off) in an assembler so that you can easily find the first and last cards from the holes and the rest are allowed to be in any order, in order to solve a problem of getting them mixed up, many years after they have been no longer in common use.

I have written self-modifying code in a few programming languages, including uxn (it is common to modify literal values but I have also sometimes used it to modify instructions, in an error handling routine), and PostScript, and in 6502 assembly language (with code running from RAM in NES/Famicom). I had also once written a self-modifying code in GWBASIC by opening a file and writing to it and then using CHAIN MERGE to load the modified code. (I had probably done some others as well but do not remember the details.)

I am currently wearing a shirt with the circuit diagram of a "blue box". I had also programmed a computer to do the functions of blue box and red box (but had never used them to control any telephones), and also to generate a dial tone and many other tones relating to telephones.

I do have a flowchart template from IBM.

I also have a fortune file, which I maintain.

I have also reverse-engineered and decompiled some parts of some of programs, and I have patched binary code too.


If you have the right package installed

    purity /usr/share/games/purity/hacker
will do the same thing, but local-first. Also:

    dpkg -L purity
or whatever equivalent lists package files on your system, will indicate the presence of other tests you can take.

Also also, `purity-off`


What was the most weird answer that you could check on that test?

For me, it was "0x11A Have you ever toggled in boot code on the front panel?" When I still used PATA HDDs and BIOSes didn't have F11/F12 boot menu, I wired a front panel switch to Master/Slave HDD jumpers, so I could toggle boot drive without entering the BIOS setup. I guess that counts.


It's a wee bit different. It wasn't my time, so someone correct me if my details are wrong, but this is using the rows of switches on the front panel of, say, an early IBM machine to actually put in the bootloader code in binary. I.e you could do something like set the address with one set of switches, set the opcode with another set, and press a button (or something) that would then write that opcode into that point in memory. Repeat until you've put the whole bootloader in. And, I imagine, hope you never have to go through that again.


Yes exactly this. For example on the PDP-11: https://cdn.changelog.com/uploads/news_items/RRqw/large.jpg?...


Probably not super weird for a lot of this crowd, but

"Have you IPLed an IBM off the tape drive?"

considering I'm in my 30s and it happened within the last couple years, is likely pretty weird :)


They mean like toggling the switches on the front of a PDP/8 to make it do something other than be a paperweight.


There was a time when I could toggle the PDP-8 RIM bootstrap loader by heart (my programs had a nasty habit of destroying the memory-resident copy by accident).


sorry friend, no that does not count


Ever drop a card deck? Im gonna assume this is talking about my yugioh deck, checked.


In my memory, the era for this stuff was also when folks were taking questionnaires on their beliefs/preferences/circumstances which output an encoded string. This string would then be placed into an e-mail signature in lieu of an "About me" webpage somewhere.


These were called Geek codes (it took me a while to recall the name!). I remember them being pretty popular during the Usenet era.

https://en.wikipedia.org/wiki/Geek_Code


83% pure -- but then again, it took me 12 years after this was published to become a human.


> 0x07B Do you have any defunct documentation?

> 0x07C ... Do you still read it?

I still like to flip through my cherished copy of Windows 98 For Dummies on occasion, the book given to me in 3rd grade that I read front to back and probably played a part in kickstarting me on computer literacy. That would have been 2003 for reference.

I also just enjoy looking through similar old books when I can, like one I saw recently on VB6, or a "guide to the internet" from the late 90s.


  You answered "yes" to 162 of 510 questions, making you 68.2% hacker pure; that is, you are 68.2% pure in the hacker domain (you have 31.8% hacker in you).

  According to the scoring guide, your hacker experience level is: User

  Your Weirdness Factor (AKA Uniqueness Factor) is 17%, based on a comparison of your test results with 64695 other submissions for this test.

  The average purity for this test is 76.9%.


Yes, I got a similar result. Most of the question I have forgotten about.

But one curious thing, I am surprised they did not have questions like "Ever change and compile a kernel ?".


The test is from '89. Linux 0.01 was two years in the future.


Loadable device drivers are somewhat modern invention. On many systems adding a device driver involved recompiling (or at least relinking) the kernel.


Fast forward many years to 2024, and we're using things like System Extensions on a modern Unix (macOS). Drivers and low level code running in user space rather than in kernel space, but with the code being granted privilege that allows certain things previously done by kernel extensions.

Interesting how times change!


While I am largely out of sync with the timeframe of the topics in the test the personality-related questions made me giggle with joy several times.


The armory is a fun site, part of the Santa Cruz geek houses (http://www.geek.org/geekhouse.html). Most of the sites are gone now, but there's still a couple (like this one) still going!


Nice, I didn’t realise this was on the Armory. 10/15 years ago it was still relatively alive


0x1AC Do you think garbage collection means memory management?

Woah, this debate again..


I read is as "you're such a hacker that hearing garbage collection makes you think of memory management instead of the much more normal public service"


I had to think about what this question meant for a few seconds, because I forgot that "garbage collection" could ever mean anything other than memory management....


One of my grad student colleagues once asked a faculty member whose specialty was discrete-event simulation what he knew about garbage collection. The prof was taken aback and said, “almost nothing”, until the student clarified that he was asking about simulating waste management pickup.


0x017 Have you ever wanted to download pizza?

Surprisingly relevant when the makers of EverQuest added the /pizza command.

https://www.pcgamer.com/games/mmo/just-the-right-kind-of-wei...



a less modern (1974) implementation: ordering a pizza via synthetic voice

https://www.youtube.com/watch?v=94d_h_t2QAA&t=41s


I knew that light pen would be useful some day


wow... I got 105 of 510... and a score of 79.4%

This thing obviously needs an update. Who doesn't have a Terabyte of storage these days?


It does ask about if you use, not have. So maybe some people have a terabyte but only use 600gb


Have you ever argued the semantics of questions from this test with a stranger on the internet? Check.



Important to note that the 'score' button doesn't work on the archive.org version

Then again any half decent hacker would know their score before clicking the button anyway ;-)


I did that long ago as Debian had that since forever on his repos. OFC, Ubuntu and Trisquel might have it too.

There are both purity and purity-off.

Another fun stuff from (nearly) that era would be geekcode, asr-manpages and funny-manpages, as they span from early to mid-late 90's.


Anybody remembers Geek Code?

https://en.wikipedia.org/wiki/Geek_Code


People find this funny but then we get interviews having to check out random boxes.


I can remember when you had to have a credible account of a coding run to converse with people who were self-described 'hackers' - EMACS/TPU skills notwithstanding.


> ... Xedit (in VM/CMS)?

Anyone know if this refers to the same xorg-xedit program which you can install for x11? I've used it but I have no idea what is either VM or CMS.



> 0x00D Have you ever written a flight simulator?

After 4, or maybe even 5, decades, BCPL finally* got a floating point datatype.

Why? Because Martin Richards was writing a flight simulator for the Raspberry Pi.

> 0x046 ... Is it out-of-date?

Specifically, 1969: https://dosfanboy.wordpress.com/wp-content/uploads/2017/01/s...

> 0x04D ... Emacs

"Eight Megabytes and [therefore] Continuously Swapping"

> 0x072 Have you ever received a case of beer with your computer?

IIRC, this would've been a Cray

> 0x09F Ever been asked for a cookie?

This was an early fairly benign virus, not the cookie inquiries we're all thinking of.

EDIT: * https://www.cl.cam.ac.uk/~mr10/bcplman.pdf says floats were added during 2014, so 47 years later.


> 0x087 Ever had your activities mentioned in the newspaper? > 0x088 ... Did you get away with it?




> your hacker experience level is: Computer Illiterate

Well, apparently I can't use the computer ^^;


> Have you ever patched binary code?

> ... While the program was running?

One of my favourite activities.


One thing is when you do that as an exploit, another thing is doing that intentionally in order to fix an obscure issue in production without down time and having to recompile the thing. At seven in the morning after a whole-night infrastructure upgrade… did that, twice.


I wrote a virus in 1998! Other than that I achieved a meager 15%, pity me.


Not bad, this gets rather steep!


0xDD - I feel like that's pretty decent these days.


Nerds of the era would have made a joke about that, but it would be inappropriate nowadays.


Crazy how some of these still apply if you do hardware.


My favorite case of solving a software problem in hardware involves precision kick with steel-toed boot, which caused part of the machine to bend slightly such that the timing/position errors in software would not cause a jam.


What a wonderful view into the past!


if i was born 30 years earlier i would have had much more. still got 72.9%


feeling like a hacker wizard with a 0x018 purity level after taking this funky test! who else out there is hacking their way to guru status? let's compare our results and geek out together!


Thank you for validating the dead internet theory.


No problem. Can I further help you?


Yes! Can you please give me a recipe for anchovy soup?


Puffer train has a great Wikipedia page - https://en.wikipedia.org/wiki/Puffer_train

  0x040 Can you build a puffer train?
  0x041 ... Do you know what it is?
Can you imagine Gen Z seeing the real circa 90's Purity Test and being told it was pretty average for pre-internet society? Here "internet" as shorthand for WWW kinda fails, although pre-WWW the sum of the decades of internet is probably a week/day by most metrics today.


> 0x0D0 Do you use more than 16 megabytes of disk space?

> 0x1B2 Have you ever set up a blind date over the computer?

Aged like wine.

Anyway, 0x83.


[flagged]


They're too easy.


that's pretty good! humanity is doomed.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: