Pxls Logs
What are these?
These are SHA-256 hashed pixel logs for prior canvases, compressed in .tar.xz
archives.
They are hashed so that other users cannot determine what pixels you placed without your key (found on your profile).
Each log file may take up to 400 MB of space uncompressed.
Where is Canvas 13b?
Being a temporary canvas while moving servers, it's unclear if any logs for canvas 13b survived. No records currently exist on the server, it seems unlikely that we will ever see canvas 13b logs.
Because of snapshots created however, timelapses are still available on the Pxls archive of canvas 13b.
A note on older logs:
Some older logs appear to have not output correctly, cutting off when the server went down. Two notable instances occured when processing these logs:
- Canvas 1 is missing notable portions, and has no user data with all keys being the string
dead
. This is because of the numerous technical issues encountered when pxls was starting out. Given the context of pretty much everything falling apart, it's almost a miracle the logs are as comprehensive as they are. - Canvas 19 has at least one missing log entry; one entry that was corrected by hand; and one corrupted entry (which has been set to x = -1, y = -1, color = -1)
- Canvas 21 has at least one missing log entry.
This may not be an exhaustive list of errors. Database dumps of raw pixel data exist back to canvas 20, with some notable missing canvases around 30-40. More accurate logs could potentially be constructed from these at some point.
Hashing Demonstration (Python)
from hashlib import sha256
user_key = input('Enter user key: ')
with open('my_pixels.log', 'w') as myfile:
with open('pixels.sanit.log') as logfile:
for line in logfile:
[date, random_hash, x, y, color_index, action] = line.split('\t')
digest_format = ','.join([date, x, y, color_index, user_key])
digested = sha256(digest_format.encode('utf-8')).hexdigest()
if digested == random_hash:
# This is my pixel!
myfile.write(line)
print('Finished!')