256 karma · joined April 13, 2022
Another one of my favorite examples of this (an ad for Oslo tourism): https://www.youtube.com/watch?v=8vhD59ac7nw
- 1/4 c. milk
- 1/2 c. flour
- 4 eggs
- 1/3 c. sugar
- some salt
- cinnamon
- cloves
- nutmeg
- poppyseeds
Did the first two cakes without baking powder, turned into something between a crepe and a tortilla. Did the last two cakes with baking powder and they were just a very squishy pancake.
One project that comes to mind for high-level programming style circuits-as-code:
https://github.com/atopile/atopile
Show HN: https://news.ycombinator.com/item?id=39263854 More recent HN thread: https://news.ycombinator.com/item?id=44548449
GingerBill's article is making a narrower claim: that semantics are what determines a good notation usually, not syntax.
Context, as always, is everything. I don't think that anyone is mistaking Peter Thiel for one of the elves of Valinor.
My work’s codebase is 30 years of never-refactored C++. It takes an exceptional amount of focus and thinking to get even a cursory understanding of anything a particular method or class does or why it’s there.
But for languages like C, I agree with you (as long as function pointers aren’t used abused).
I appreciate getting to choose as much as possible when code runs.
Schultz was a relatively devout Presbyterian (though still very much a free thinker and criticized the direction American Christianity was going and its attitude about the various wars during the 60s-80s). He was incredibly optimistic about humanity, but he showed in Peanuts the reality of our "default" state, especially among kids.
Keep in mind that these are all 2nd and 3rd graders in the story.
When I watched Broadchurch with my family, I thought he was doing a fine job at getting to the bottom of the case. Goes to show much crime drama I watch.
I see now that Tennant's character's actions are a plot device to reveal the drama amongst the other characters, not the workings of a good detective.
The good idea surrounding this isn't about treating functions as data, but maintaining the purity of the type system allowing the implications of the type system to run their course. You seem to be a very pragmatic programmer and so the way Haskell builds up its own universe in terms of its own type system and Hask (the pseudo-category of Haskell objects) probably seems pointless to you. I can't say for certain, though.
I completely reject most of your claims because they appear to be incoherent within the framework of type theory and functional programming. It looks like you're using reasoning that applies only to procedural programming to attempt to prove why an idea in functional programming is bad.
You obviously can't treat an impure function as an array and no one would ever claim that. The blog itself isn't claiming that either given that the author is commenting on a nugget from Haskell documentation, and the author is explaining design choices in his own pure functional language.
Your three points only make sense if you're definition of "function" allows side effects. If we're talking about pure functions, then due to referential transparency, arrays are in fact equivalent to functions from contiguous subsets of the integers to another type, as the Haskell documentation indicates.
I guess I just disagree with you here. Plenty of programmers with decades of experience have found no such general principle. There is a time and place for everything and dogmatic notions about "never conflate X and Y" because they're "fundamentally different" will always fall flat due to the lack of proof that they are in fact fundamentally different. It depends on the framework in which you're analyzing it.
> It isn't worthwhile to ponder because this doesn't contradict or even confront what I'm saying.
This is a non sequitur. What is worthwhile to ponder has no bearing on what you say. How arrogant can one person be?
> It might be personal research, but people have been programming for decades and this stuff has been tried over and over.
Decades? You think that decades is long enough to get down to the fundamentals of a domain? People have been doing physics for 3 centuries and they're still discovering more. People have been doing mathematics for 3 millennia and they're still discovering more. Let the cycle happen. Don't discourage it. What's it you?
> You're mentioning things that you expect to be self evident, but I don't see an explanation of why this simplifies programs at all.
It may not simplify programs, but it allows for other avenues of formal verification and proof of correctness.
----
Do you have other examples of where concepts were conflated that ended up "burning" the programmer?
This presumes the framework in which one is working. The type of map is and always will be the same as the type of function. This is a simple fact of type theory, so it is worthwhile to ponder the value of providing a language mechanism to coerce one into another.
> This is cleverness over craftsmanship. Keeping data and execution as separate as possible is what leads to simplicity and modularity.
No, this is research and experimentation. Why are you so negative about someone’s thoughtful blog post about the implications of formal type theory?
Gaining true understanding/insight is necessarily trial and error. Teachers cannot teach insight. But they can present the optimal path to gain insight.
This idea of experimenting and getting instant feedback is just survivorship bias for a certain type of person, not “the way we ought to teach Unix shell”
This view is corroborated by the research summarized and presented in the programmer’s brain by Felienne Hermans.
You know about things that are to others unknown unknowns. Since ignorance is bliss, it definitely feels like a curse to you, and since what one doesn’t know can hurt them, others would see as a blessing.
Funny world we live in.
I don't really know. I wasn't around back then to watch it unfold. But I still much prefer org mode due to better emacs support and (IMO) more intuitive syntax for things.
Homemade bread is certainly not ultraprocessed (especially if made with unbleached flour or even better, whole wheat flour), but factory bread most certainly is considered ultraprocessed.
So I don't think they were being needlessly pedantic, nor do I think they didn't understand what the parent meant by internet in the colloquial.
Lots of different ways one could take this: maybe whom they were responding to is just being lazy, that the good parts of the internet are there for them to explore, but they are beholden to their web browser and their favorite loathed platforms that 'make the internet suck'.
Or maybe whom they were responding to really has gone the rounds and really has considered all the options and bemoans how difficult the non-web internet services are to use, and how inelegant they can be at times and what a pain they are to maintain if it isn't your full time job.
There can be so many ways to take written material on the internet; more often even pedantic comments at least let us ensure we aren't simply reaffirming our own biases.
I didn't understand immediately that you were talking about using values related to e in a computational context. But your comment about "brainwashing" seems a bit off. Are you saying that programmers bring e and ln with them into code when more effective constants exist for the same end? That's probably true. But brainwashing is far too strong, since things need to be taught in the correct order in math in order for each next topic to make sense. e really only comes in when learning derivative rules where it's explained "e is a number where when used as the base in an exponential function, that function's derivative is itself." Math class makes no pretense that you ought to use any of it to inform how you write code, so the brainwashing accusation seems off to me.
But I agree, if I am ever in a position to choose my cooktop technology, it will definitely be induction.
Yes, you can use cleanup software to fix the symptoms, but that's not the real issue here.
Edit: further research revealed my original first point was a false assumption.
I've never used an industrial gas stove, only residential. But comparing apples to apples, residential electric ranges obliterate gas when it comes to power delivery.
Cannot speak for induction as I've never used one, but I'd expect it to be the best of both worlds based on the physics.
I think the author's analogies are on point.