Ask HN: What essay/blogpost do you keep going back to reread?

226 points by swyx ↗ HN

104 comments

[ 4.5 ms ] story [ 131 ms ] thread
Pretty much anything by Patrick McKenzie. He goes by patio11 here. His writing imparts so much value.
Most of the ones by Paul Graham. They seem to condense things very well, and no matter how many times I reread it, it has the same fresh impact.

One of the best is http://paulgraham.com/growth.html

"This Is Water" speech, by David Wallace.

Link: http://www.befreetoday.com.au/this-is-water/

Listening to DFW speak that essay makes me really contemplative.
As a counterpoint, see Cushman's comment in this thread about DFW: https://news.ycombinator.com/item?id=2909562

I've reread it probably hundreds of times, it might be the single most insightful HN comment I've ever read.

To anyone who was as confused as I, it is not the linked comment that is what OP is referencing, but a reply.
It's a insightful reply, I agree. I also don't like that thread that much, just because the guy was not a good human being, it doesn't mean that we need to reject all of his ideas because of his personality, that's a textbook Ad Hominem logical fallacy. I like that essay as an insightful essay regardless of the dude's history. Thanks for linking to that comment, though.
What should a four-year old know? https://magicalchildhood.wordpress.com/2010/08/31/what-shoul...

It's common for parents to be daunted by the fact that their kids are being left behind. This fear leads to high-pressure parenting and its symptoms are much worse in an Indian society (in which I grew up). What kids need more is freedom to explore their own interests and inquisitiveness rather than forced lessons. I keep revisiting this article to remind myself what kids needs the most to grow.

Jay Kreps’ article on the log abstraction - https://engineering.linkedin.com/distributed-systems/log-wha...
This response to someone on StackOverflow asking how to parse HTML with regex: https://stackoverflow.com/a/1732454/145684
I used to love this answer but after I realised that it's same irrational peddling of best practices as "don't-use-goto". There can be many cases where parsing HTML with Regex is abuse, but equally others where it's the best available solution. I wasted countless hours in working with lame HTML libraries, their limited options for selectors, their frustrating failures with invalid HTML, all because of this advice. Looking back, I think Regex would have worked just fine.
Yes, a thousand times this. First of all, regex in the wild (e.g. Perl regex) is much more powerful than the CS version (that can only handle regular languages). This point is often conceded though from the "don't use regex to parse HTML" side, but some don't realize this.

Another thing is that you don't really need to handle HTML at all, only a small subsection that might be totally fine with a regex, even a simple one, for a lot of cases.

The true enemy is parsing something that might change over time, and that's totally unrelated to the regex issue.

I have done plenty of regex parsing of xml with Perl. It has been very useful. Over time I have also used things like the index function to eck out some additional performance.

Recently I replaced this with a xml tokenizer I wrote in Go that can deal with invalid or corrupt xml. On top of this I have used a state machine to make it possible to handle different situations.

Joel Spolsky, "Things You Should Never Do, Part I": https://www.joelonsoftware.com/2000/04/06/things-you-should-...

It seems like common sense, but every few months I need a reminder that I should prefer to incrementally refactor/re-architect the codebase I have, rather than start from scratch.

I wish I had seen that (or if I had seen it before just remembered that) a few months ago. I work on an internal project that is core to part of our business and we are on our 3rd iteration of our platform in less than a year. An when I say iteration, I mean from scratch re-write. I will say it was probably necessary to go from the first to second platform with a re-write because the first one was half baked and didn't do much of what was needed. However, the 2nd to 3rd platform was not necessary and like Joel says, could have been refactored instead of scrapped entirely. Our QA person was super pissed too since they had put in so much time and effort into creating test cases for the platform we had and now they are completely wasted. Not to mention, because we are writing the newest iteration from scratch we missed deadlines because we had to deal with more than just business knowledge (which the team lacks as all but one of us is new to the specific domain in the health care realm) but putting together a new platform that could be extensible (just like the previous version of it was supposed to be) for future clients and outputs.