Hacker News new | past | comments | ask | show | jobs | submit | bluecheese33's comments login

> because the ifunc code was breaking with all sorts of build options and obviously caused many problems with various sanitizers

for example, https://github.com/google/oss-fuzz/pull/10667



Neat, I skimmed through "metaphors we live by" a few weeks ago and can't stop applying it everywhere. I recently wrote a post that's kind of on "GOOD CODE IS CLEAN" [1].

I can't recall how dependent I was on physical metaphors when I was first learning to code. I do, however, remember some times that I tried to learn concepts and a spatial metaphor set me back significantly. Like "railway-oriented" for async error handling (which just over complicated things), or "monad is a burrito" (which, was fine for when you already understood the concept, but useless before). I guess my point is that it's quite difficult to know if a metaphor is a good learning tool if you already know the concept.

[1] https://ravik.substack.com/p/an-anthropology-of-clean-code


Great feedback re the risks of physical metaphors! I'd agree a bad one does more harm than good. Lakoff points out that our linguistic conceptions typically compose-- so you can talk about both IDEAS as BUILDINGS and as CONTAINERS because the former is a special case of the latter-- and we lose that quickly when mapping to programming. I'm not sure if that's inherent in how abstract these things are or if it just hasn't been attempted on a deep enough level. (Do other control structures fit into the railway paradigm? Is it generative?)

Enjoyed your post, lots to unpack in the 'cleanliness' analogy, will think on it.


I relate to this. I'm writing whatever scratches my itch, and most of the value comes from the writing itself.

But, of course it'd be nice if some people read what I wrote? When I post to reddit or hn I get good traffic and some discussion, but that has all the problems you discuss.

There are probably only a few dozen people who enjoy regularly reading this sort of content, they probably write too. I'd love to find them and start a private chat server where we could read each other's pieces.


I think modern economists have been acknowledging and quantifying the flaws in simplifying assumptions in economic models for decades [1].

That being said, I do think there is a serious problem in the way economics is often taught, and things like debt (and more broadly, anthropology) is part of the cure [2]

[1] https://en.wikipedia.org/wiki/Behavioral_economics

[2] https://ravik.substack.com/p/does-learning-economics-make-yo...


> modern economists have been acknowledging and quantifying the flaws in simplifying assumptions in economic models for decades

Just FYI, both Kahneman and Tversky were psychologists, not economists.


Noted, but they still are pretty accepted in mainstream economics (nobel prize in economics in 2002).

Also of course, they're not the only ones doing behavioral economics [1]:

> Imperfect information is core to modern econ; theories showing how imperfect information can cause markets to break down received a Nobel 20 years ago. Perfect rationality has been successfully challenged by behavioral economics for decades, and received Nobels in 2002, 2013, and 2017.

[1] https://noahpinion.substack.com/p/this-years-econ-critics-ma... (includes links)


Definitely, but it amused me that psychologists keep winning the economics nobel :)


It might say more about economics than it does about psychology :)


Economics is hard. Behavioral economics is having a hard time right now with many of the core hypothesis (loss aversion) and key interventions (priming) turning out to be experimentally not-reproducible.

See https://www.thebehavioralscientist.com/articles/the-death-of... - for an overview.


Behavioral economcis is just one branch. The idea that economists always believed humans were 100% rational decision makers has never ever been true.

That just a strawmen that Garber and co set up. Anybody that actually studies the history of economics knows this.


I don't know if practicing writing has made me better at producing new ideas. And I'm not sure if the quality of my writing has improved, though it's certainly easier for me to write now.

But for sure, I don't think I ever really understood and internalized ideas from complex non-fiction books until I started writing about them. Even writing privately helped, but I think the most effective way is to write publicly - there's an obligation to write and argue clearly.


Thanks for the read (post author here)!

As I mentioned, I am willing to admit that I came into this expecting to find technical illiteracy, and I didn't find much. I agree that the mindset to look for hacks and oversights in laws is a naieve engineer tendency.

> No, the courts aren't saying "if you waste a bunch of money on extra hard drives, you can infringe copyright", either.

I agree no court wants this, and I didn't intend to imply otherwise in the post. Regardless, as a result of these cases, this is the current state the DVR industry is in as I understand. Wasting money on storage does insulate you from infringement, and people do it to be safe.

> a programming language that executes what you intended to write, not what you actually wrote

This is a great analogy. It does clearly get more complex when the court is executing "what you would have intended had you known about the internet" though.

Edit: On,

> The courts do not care how the copy was made

In Cablevision, they did for two reasons:

1. To figure out whether buffering was copying, which is a very technical discussion. See the footnote on MAI Systems

2. To figure out WHO was making the copy, for the volition based infringement test

My point here is that it really does get into the technical weeds. I know your point was mostly to just dismiss the deduplication discussion, which is reasonable. If one of my posed problems made it to court, the court would probably just do the "right thing". However, since they haven't made it to court yet, companies don't necessarily want to be the first to gamble on it.


I found this insightful. However, it does seem a lot of the discussion is around the concept of causation by absence. I don't think it directly impacts the point but there is a good paper by Helen BeeBee [1] on the topic for those interested.

She discusses some views on how to reason about common sense statements like "Smith's failure to water her office plants caused their death". The salient views covered are:

1. causation by absence is impossible (making the plants statement false)

2. causation by absence is possible and attributing an absence to a cause is sound when the absence is "abnormal". This could be because Smith normally waters the plants, it was Smith's job to water the plants, or Smith made a promise to water the plants.

3. causation by absence is not possible, but it is valid to offer "causal explanations". This is the suggested approach in the paper. A causal explanation provides information about the causal history of an event, but doesn't need to specify a specific node in the causal graph. C causes E is a causal statement. E because C is a "causal explanation". E because C doesn't necessarily imply C causes E. So adopting this approach, The plants died because Smith failed to water them is a true statement that provides some additional explanatory information, Smith failing to water the plants caused their death is not.

I think these distinctions may have some minor implications on how you perceive blame.

[1] https://philpapers.org/archive/BEECAN.pdf


There's a neat example in [1] where clang replaces a loop summing integers 0..i with the closed form version.

[1] https://youtu.be/bSkpMdDe4g4?t=2533


I followed this guide but implemented it in rust. https://github.com/khadiwala/kilo-rs If you’d like to take a look.


I had the same plan. Thanks for the link, nice to have a reference if I get stuck (as a Rust noob).


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: