M
Mark Nelson
marknelson.us · Personal blog · on HN since 2007
Mark Nelson is a programmer who writes on data compression, arithmetic coding, string searching and other software topics.
What HN saysHN commenters credit his compression articles with opening up the field, and link his post on the random compression challenge.
27HN people shared it
10linked it in comments
20stories submitted
78story points
2 years agolast shared
2007people per year2026
Most-shared posts
- 1Data Compression with Arithmetic Coding4 people · 16 points · first shared 2020 · discussion on HN
- 2Fast String Searching With Suffix Trees4 people · 9 points · first shared 2007 · 1 comments on HN
- 3An introduction to data compression with arithmetic coding3 people · 5 points · first shared 2011 · 1 comments on HN
- 4The Byzantine Generals Problem2 people · 8 points · first shared 2010 · 1 comments on HN
- 5Gawker Considered Stupid – Criminally Stupid2 people · 3 points · first shared 2011 · 4 comments on HN
- 6The random compression challenge turns ten2 people · first shared 2014
- 7Cruelty Redefined: Undergraduates vs. C++ on Linux1 people · 10 points · first shared 2011 · 2 comments on HN
- 8The Multicore Kerfuffle and a Dose of Reality1 people · 8 points · first shared 2007 · 3 comments on HN
- 9The Never-ending Awesomeness of Bash1 people · 7 points · first shared 2010 · 1 comments on HN
- 10C++11 – Threading Made Easy1 people · 4 points · first shared 2012 · discussion on HN
- 11Mark Nelson: Google Is a Scary Lifeline1 people · 2 points · first shared 2010 · 1 comments on HN
- 12Highlights of ISO C++141 people · 2 points · first shared 2015 · discussion on HN
- 13Hash Functions for C++ Unordered Containers1 people · 2 points · first shared 2018 · discussion on HN
- 14Data Compression with the Burrows-Wheeler Transform (1996)1 people · 2 points · first shared 2013 · discussion on HN
- 15The random compression challenge turns ten1 people · first shared 2020
What HN people wrote when they linked it
ot · 2023-06-10
Was it maybe Dr Dobb's? Mark Nelson had an excellent series of articles about compression which opened up that world for me. I ended up working on compression for my PhD many years later.
I can't find any archives for Dr Dobb's, but some articles are in his personal site, for example this one about arithmetic coding:
https://marknelson.us/posts/1991/02/01/arithmetic-coding-statistical-m…
thristian · 2016-07-09
I once found a really great article explaining arithmetic encoding¹, and I felt I understood what was going on and managed to re-implement the article's example from MS-DOS-era C to modern Python, but when I tried to use it for anything else it didn't work and I wasn't smart enough to debug it.
The claim that asymmetric numeral systems are simpler than arithmetic encoding is quite interesting, but as a working programmer, I have difficulty with the academic language and mathematical generality used in papers like this. Does anybody have a more approachable explanation of what's going on?
¹: http://marknelson.us/1991/02/01/arithmetic-coding-statistical-modeling…
fhoxh · 2011-06-22
It is one of your primary duties to safeguard the best interest of your organization. Incontrovertibly, the best interest is not served by storing passwords in plaintext as this can result in grave harm to your organization.
Accordingly, while I would not share any details with the outside world, I would advise you to strongly push the issue internally, from the position of an educator.
Here are four articles that may assist you in composing a stronger series of arguments:
https://www.owasp.org/index.php/Broken_Authentication_and_Session_Mana…
http://cwe.mitre.org/data/definitions/256.html
http://blog.moertel.com/articles/2006/12/15/never-store-passwords-in-a…
http://marknelson.us/2011/02/06/gawker-considered-stupid-criminally-st…
You will want to further notate that the effort of implementing non-plaintext authentication really isn't terribly significant.
What troubles me is this "most senior" programmer of yours. If storing passwords in plaintext is OK with him/her, meaning that he/she has a weak background in security engineering, I can't imagine that there aren't many additional severe security issues (SQL injection, XSS, CSRF, etc...). Most concerning of all though is that this "most senior" programmer seems disinterested in due diligence and is instead actively arguing against widely known best practices.
If, after your strong push, management still is not motivated, personally, I would resign. I would not want to be professionally affiliated…
dreamcompiler · 2020-10-06
I should clarify: There's still room for improvement in the speed of lossless compression/decompression operations, and that's where most improvements happen nowadays. But there's little room for improvement in compression ratio, because most modern algorithms produce outputs that are very close to random already.
More background:
https://marknelson.us/posts/2006/06/20/million-digit-challenge.html
jere · 2020-06-03
I'm fairly certain compressing random data is nonsensical. In fact there's a cash prize challenge for doing it that has been unmet for 20 years. https://marknelson.us/posts/2012/10/09/the-random-compression-challeng…
Not sure I can explain it properly myself but it think it's impossible by definition. Intuitively, if you could compress any random data then you should be able to compress 2 bits into 1, which is clearly impossible.
analogj · 2016-06-29
You should take a look at the almost 15 year old (and unsolved) "Random Compression Challenge"
http://marknelson.us/2012/10/09/the-random-compression-challenge-turns…
nacs · 2014-12-12
Another good source for convex hull code (I was using this recently):
http://marknelson.us/2007/08/22/convex/
0x0 · 2014-04-22
There's a challenge posted online to compress a file of one million presumably random digits, and it's been running for 10+ years without anyone claiming the prize:
http://marknelson.us/2012/10/09/the-random-compression-challenge-turns…
jemka · 2012-04-12
For anyone (like me) that isn't familiar with what this would be used for should have a look at the first link the Stack Overflow OP references: http://marknelson.us/1996/08/01/suffix-trees/
dustrider · 2010-08-23
personally I prefer this intro:
http://marknelson.us/1996/08/01/suffix-trees/
or this one which is slightly harder:
http://linux.thai.net/~thep/datrie/datrie.html