In the summer of 1970 as an undergraduate at UIUC, I worked on a "predicting the future" game on PLATO. The idea was, rather than just do some simulation of the future based on a matrix of interactions, we would do the simulation, ask the player what seemed "wrong", and then adjust the interactions.
The trick was the tiny amount of memory available for each user -- 63 words -- not enough for much of a matrix. But words could have 8 characters, and we certainly did not need high precision in our interaction matrix, so I ended up packing 8 8-bit words in each variable, using masks and shifts, allowing much larger interaction matrices (I probably used 16x16)
Ten years later, the packing/shifting became a central part of one of the first widely used protein sequence similarity searching programs, FASTP (the precursor of FASTA and BLASTP).
The trick was the tiny amount of memory available for each user -- 63 words -- not enough for much of a matrix. But words could have 8 characters, and we certainly did not need high precision in our interaction matrix, so I ended up packing 8 8-bit words in each variable, using masks and shifts, allowing much larger interaction matrices (I probably used 16x16)
Ten years later, the packing/shifting became a central part of one of the first widely used protein sequence similarity searching programs, FASTP (the precursor of FASTA and BLASTP).