- integrity checks from security perspective
- nlp, finding same tokens in text
Etc
Long story short, due to the conservative culture, most data structures and algorithms were implemented in house. The diff algorithm for packets/segments/payloads was written in house too and I was the one to write it.
If I recall correctly, my implementation was based on a straightforward solution to the longest common subsequence problem. It ran in O(mn) time and O(min(m, n)) space, where m and n are the lengths of the two sequences. I knew there were more efficient algorithms, but this code was not performance critical. I chose to keep the implementation simple so anyone could understand it, learn it quickly and fix bugs if they arose. It served us well for the next seven years until the product was replaced with a new one.
On a related note, I sometimes miss that older style of software development where we would dive deep into a problem domain, master it, and design solutions ourselves. I am not being naively nostalgic though. I am very well aware that modern development, with its reliance on well established libraries, usually delivers much greater productivity and reliability. Still, I think the slower and more deliberate approach of building things from the ground up had a certain charm.
yboris•51m ago
https://diff2html.xyz/ -- https://github.com/rtfpessoa/diff2html