Perl users don’t have souls.
- 0 posts
- 14 comments
- Eufalconimorph@discuss.tchncs.detoProgramming@programming.dev•What are some cool and obscure data structure you know of?6 months
Not exactly a datastructure alone, but bitslicing is a neat trick to turn some variable-time operations into constant-time operations. Used in cryptography for “substitution box” (S-box) operations, which can otherwise leak secrets via data-dependent timing variations.
The datastructure side of it is breaking up n words into bits and interleaving them within n variables (usually machine registers), so that the first variable contains the first bit from each word, the second variable the second bit, etc. It’s also called “SIMD within a register”.
- 3 years
int const golden = 1.618; int* non_constant = (int*)&golden; golden = 1.61803399;Casts are totally not a danger that should require a comment explaining safety…
- 3 years
And more generally mutable aliasing references of any sort are evil. Doesn’t mean they’re not useful, just that you need magic protection spells (mutexes, semaphores, fancy lock-free algorithms, atomics, etc) to use them safely. Skip the spell or use she wrong one, and the demon escapes and destroys all you hold dear.
On libc functions yes. Maybe on some from other libs, if they provide man pages.
- Eufalconimorph@discuss.tchncs.deto
Programmer Humor@programming.dev•Who is this "Jenkins" and what now has broken him?
3 yearsBut he will have chicken.
- Eufalconimorph@discuss.tchncs.deto
Programmer Humor@programming.dev•Who is this "Jenkins" and what now has broken him?
3 yearsEven better is when you restrict merges to trunk/main/master/develop (or whatever you call it) to only happen from the CI bot *after all tests (including builds for all supported platforms) pass. Nobody else breaks the CI pipiline, because breaking changes just don’t merge. The CI pipeline can test itself!
Encrypt then sign. Always authenticate before any other operations like decryption. Don’t violate the cryptographic doom principle.
- 3 years
I’ll second Fastmail.
- Eufalconimorph@discuss.tchncs.detoGaming@beehaw.org•Videogame fantasy settings are staler than mouldy bread right now3 years
Fantasy world that turns out to be post-Apocalypse Earth is a pretty old trope.
You do need to be root to do it to arbitrary processes.
cat /dev/zero > "/proc/$(pidof vim)/mem"is my favorite dumb way. Clear its memory, wait for the segfault.
- Eufalconimorph@discuss.tchncs.detoProgramming@programming.dev•How often does branchless programming actually matter?English3 years
Necessary for cryptographic code, where data-dependent branches can create a side-channel which leaks the data.


I always knew Mondrian was painting cow production machines.