I really appreciate that the event is outside with a streaming option—the only safe ways to do things since covid is not over.
So I'm planning to attend at least one of the two days, schedule permitting. See you there!
Breaker of binaries. Sweary but friendly. See also @TheMatrixDotGIF and @boredzo-kitchen-diary.
I really appreciate that the event is outside with a streaming option—the only safe ways to do things since covid is not over.
So I'm planning to attend at least one of the two days, schedule permitting. See you there!
Is there a known hashing algorithm with the following properties?
By that last one, I mean: Let's say that I have a message divided into chunks A, B, C, …. I want to hash each chunk, hash(A), hash(B), etc., and be able to combine the hashes in such a way that hash(A) 🤝 hash(B) 🤝 hash(C) … = hash(A + B + C …).
(It's OK for this to be order-dependent. In fact, it would be preferable for the order of the chunks to change the resulting hash.)
One possible (maybe the only possible) mechanism for this would be that the hash function has no state besides the current value of the hash.
Edit: Changed the operator between the hashes to something wholly fictional to clarify that I'm not proposing concatenating the hash values. Hashes are fixed-length values; it never makes sense to concatenate them.
Inspired by a real situation that isn't interesting. Suffice to say that I'm both the author and user of the program and the errors represent bugs I need to fix, so I'm interested in every error, but there may be a lot of them.
Some precepts:
Having previously argued that programming is literally writing, I think there's something to this idea (even if I do find minimaps helpful sometimes).
What would a table of contents look like for program code? While we're at it, how about an index?
Glossaries also present some attractive possibilities. Think of every codebase you've ever encountered where you were like “OK but what does a _____ actually do? What does it mean to ______ a ______?”.
Figures and tables are already in use in some limited ways. How can we expand this? (Figures presumably would mean images embedded in comments. Does anything support that yet?)
If programming is writing for humans first and the computer second, which it is, then what tools do we use, what facilities do we provide, in writing for humans-only that we ought to bring in to programming?