HNHacker News
TopNewBestAskShowJobs

ErotemeObelus

-14 karma · joined April 11, 2019

submissionscomments
ErotemeObelus··on Click Here to Kill
Erstwhile means "former" not "potential."
ErotemeObelus··on My favorite Rust function
I think it's a syntax problem. ASCII doesn't have enough bracket characters to simply & clearly represent necessary language features. So it's harder for an intelligent human to sort and categorize these aspects.

Pre-generics Java is about the appropriate amount of language complexity for our current lingua franca

ErotemeObelus··on Milton’s notes on Shakespeare appear to have been found
Very few historians doubt Shakespeare's identity. Wikipedia doesn't even categorize him as "people's whose existence is disputed."
ErotemeObelus··on Rust is the future, C is the new Assembly: Josh Triplett (Intel)
People who say "C is the new assembly" don't understand why people moved from assembly to C.

Assembly is bad because it is typeless. Because it is typeless, there is no way to check for program correctness. Rust is okay because it doesn't require garbage collection and types, but the best language would be C with a highly-elaborate strong type system and no closures or other unsuitable concepts for systems programming.

ErotemeObelus··on Let's build houses for people, not cars
Build all parking spaces underground and ban parking lots.
ErotemeObelus··on Small towns in much of the country are dependent on punitive fines and fees
Pressing charges on black people to extract revenue from them is stealing.
ErotemeObelus··on Facebook quietly ditched 'It’s free and always will be' slogan from its homepage
It is not. A company that does not charge for use must get revenue by selling data. A company that charges for its service doesn't have to get revenue by selling data. It is "freed up" and can turn a profit through fee and skinny advertising.
ErotemeObelus··on Why Are So Many Developers Hating on Object-Oriented Programming?
Python tries to move away from functional idioms whenever the developers realize that the idiom can be severed from the paradigm. E.g. Python's switch from filter(list, p) to [x for x in list if p]. Guido van Rossum feels that the imperative way is easier to understand and so do I.

Functional programming languages have good ideas, like type systems or lazy evaluation. But many of these ideas are NOT INHERENT to the paradigm. Perl6 incorporates almost every functional programming idea but as an imperative language.

ErotemeObelus··on Life of Brian: The most blasphemous film ever?
I want to hear more.
ErotemeObelus··on Life of Brian: The most blasphemous film ever?
> Science is always trying to self-correct.

You guys sound like the teenager whose parents (priests and theologians) are "always going on about that" wrt his drug usage. "No mom and pop. I don't have a drug problem. I can self-correct myself any time I want in time for Varsity."

ErotemeObelus··on Life of Brian: The most blasphemous film ever?
> What if a film came out that satirized, I don't know, science, or abortion, or same-sex marriage, or racial equality?

You are wasting your time. All people of faith believe that everyone else's beliefs are based on insane delusions and that their beliefs is based on evidence and truth and so they cannot do an unbiased comparison of their beliefs with others. Comparing belief in e.g. rights for sexual minorities with e.g. Islam is always going to be seen as a false equivalency. Just like the Muslim is going to see a comparsion of belief in e.g. feminism as a false equivalency with Islam. You see, the Quran is based on truth while feminism is based on an insane delusion.

They can't both be right. At least one of them is wrong.

ErotemeObelus··on Why Are So Many Developers Hating on Object-Oriented Programming?
Err, I meant setjmp, not memcpy. Quite the faux pas!
ErotemeObelus··on Why Are So Many Developers Hating on Object-Oriented Programming?
Computer science uses a completely different system of logic than mathematics or mathematics-inspired paradigms like functional.

Fortune 500 companies aren't attracted to functional. They're attracted to the TYPE systems of many functional languages. And type systems are good. But you can build e.g. a dialect of C or Pascal using those exact same type systems with no functional programming at all.

ErotemeObelus··on Why Are So Many Developers Hating on Object-Oriented Programming?
Closures are as hard to reason about as global variables are. Anywhere the function with the closed variable is called, that is the same thing as invoking a global variable, because that function could be called anywhere in the entire program. The difference is that the garbage collector deletes it when no function is calling it any longer.

Continuations are equivalent to memcpy... which should almost never be used. And tail-optimized recursive functions are still difficult to reason about.

And tail-call optimization (making stack calls constant) is... kind of self-defeating... because the only advantage of recursion is that it has a stack built into the function call/return operations. Anything a recursive algorithm can do is equivalent just a for loop and a stack data structure. And if you're tail-call optimizing it so that it has a stack parameter... then you're just using a clever way to write a for-loop :D Except functional doesn't allow for you to mutate a preexisting stack so you're also wasting space recreating a new stack each function call.

Yeah. Abstract math almost rarely transfers directly to the computer world. There's a reason why the pure functional & concurrent language Erlang was only used in telecoms and languished in obscurity: because that was the only domain it worked well in.

ErotemeObelus··on Why Are So Many Developers Hating on Object-Oriented Programming?
Recursion is the worst way to do iteration because it requires cleverness (= harder to debug) and it's ridiculously easy to cause a stack overflow. A for-loop is not going to cause an integer overflow on a 64bit architecture.

Closures are basically global variables and inherit all of the problems with global variables.

Continuations are basically goto's or memcpy and inherit all of the problems with goto's and memcpy.

Functional programming is ALL of the bad programming practices of the '80s. But because it's more abstract and mathematical it gets a free pass. Nevermind the fact that computer science is not mathematics. And the benefits of mathematical abstraction DO NOT TRANSFER if they inherently violate the commandments of bad ideas like global variables and goto's.

There are solutions to ALL OF the object oriented problems--including the diamond problem, circle-ellipse problem, and overuse of type hierarchies. There are no solutions to the functional programming problems because they inherently incorporate bad ideas described in paragraphs 1, 2, & 3.

ErotemeObelus··on Why Are So Many Developers Hating on Object-Oriented Programming?
> Beside that, basics of category theory is far easier to grok than OOP Design patterns.

I know high-school dropouts and graduates from DeVry University who understand design patterns. Category theory--even basic category theory--isn't taught to undergraduate math majors (except maybe at MIT to honors students).

I mean, I appreciate functional programmers who want to do it because it is hardcore... but that's why they do it: because it's hardcore.

ErotemeObelus··on Why Are So Many Developers Hating on Object-Oriented Programming?
Functional programming combines the power of abstract mathematics with the ease of understanding of abstract mathematics.

Now if you'll excuse me once I complete my Ph.D. dissertation I might be able to finish my text editor I'm programming in Haskell.

ErotemeObelus··on Albert Einstein’s Sci-Fi Stories (2015)
Look,

Reflect on this: there are at least 200 factual errors on the front page comment sections of Hacker News. Do you nod along while you read it being entertained, or do you pinpoint the errors?

I'm not even talking about nigling details. I saw one comment about relativity with a huge scientific howler right in the middle of it. And people upvoted it sky high.

The people who upvoted it were being passive. The users of this site receive a passive experience and generally speaking are too childish to handle asserting their own mind. Even comments are largely passive. People don't even reflect on the subject-verb agreement of the sentences that they write. They are so childish that asserting themselves by the tiniest amount on their writing is not trivial nor has it reached the point of automaticity.

How does science work? It's largely like reading Hacker News. Scientists download research papers, understand them, and test them... and occasionally come up with new directions and ways (equiv 2 commenting on the newslink).

None of that are assertive. When an assertive person presents himself on a subject, he causes a PARADIGM SHIFT. He doesn't go along with the presuppositions: he creates his own presuppositions. This is Thomas Kuhn's "groundbreaking" thesis on scientific progress: some people internalize other people's presuppositions until they are fossilized in their brains resulting in them kicking and screaming on their death bed when it's time to admit it was a bad idea... or some people are like creative genius Thomas Hobbes who said he didn't bother reading all the failures before him because he was too busy thinking his own presuppositions.

ErotemeObelus··on What's Wrong with E=MC^2?
> One thing can: Me (or you from your point of view). The whole time dilation thing only happens to other things/people. I can accelerate to any velocity.

You can't go faster than the speed of light in your reference frame because you are always doing zero in your reference frame.

ErotemeObelus··on What’s the Difference Between Copenhagen and Everett?
> Therefore, the question of where do the Born probabilities come from (an open question in QM) is shown to be inextricably linked to an understanding of the physical basis of consciousness (another big open question.) The Born probabilities may represent the "amount of consciousness" (of "you", the observer) that is split among newly factored subspaces, every time "you" get further fragmented, aka. decohered, aka. "entangled" with new blobs of amplitude.

This is the narcissist interpretation of quantum mechanics. No object constancy, quantum consciousness, Hume's "I believe it when I see it" are all narcissist perspectives on objects.

ErotemeObelus··on Albert Einstein’s Sci-Fi Stories (2015)
> Anyone or anything can definitely assert something is true.

No they can't because sophonts aren't voluntarists. Sophonts are intellectualists. Although judging by your advocacy of the otaku theory of biology you probably have a voluntarist personality.

By the good regulator theorem, human cognition (intuition is bergson's word not mine) must be just as good as scientists-at-their-most-careful or I and you would be dead.

ErotemeObelus··on Albert Einstein’s Sci-Fi Stories (2015)
That was a strawman Peeping Tom Bertrand Russell constructed. Henri Bergson based a large portion of his work drawing the distinction between functioning on representation versus functioning on cognition.

representation = passive; science isn't assertive. Science is purely passive which is why scientists can never assert something is true but only that it hasn't been disproven. A scientist can say "this is what general relativity says, this is how general relativity maps onto the bending of light, apply it to your work or not. Take it or leave it."

scientism = passive-aggressive; it is assertive by asserting "no metaphysical woo" passively using representations provided by science. They're like the coworker who passively expresses how he feels about his boss by little gestures.

cognition (what Bergson called intuition) = assertive; it reaches knowledge of truth which is why it can definitely assert something is true. But it isn't forceful so it can't convince other people which is why it only reaches up to your being.

ErotemeObelus··on Dependent Haskell Is the Future (2018)
The solution is to just accept that types might change during runtime. Give up the assumption that types are fixed at compilation and that the compiler can catch all errors.

Computer programs exist inseparably from the operating system. The type of a circle might change to that of an ellipse. The size of a file can only be known at runtime. The only way the compiler can catch all errors is if no object is mutable and everything except for closed variables is allocated on the stack. And both of those preconditions are insane.

This is still superior to dynamic typed languages because it tells you exactly what the type problem is and where.

ErotemeObelus··on Dependent Haskell Is the Future (2018)
Let's say we're creating an array of strings separated by newlines obtained from reading a file. Call this arr[n] where n is determined at runtime.

Now let's have String index(arr:int[], i:(Fin(arr):int)), where FinInt(arr) is a dependent type that is an integer between zero and the length of the array. As the code is compiling, we have this

int i = 24951; String str = index(f, i);

The file exists in the future after the compilation. If the future file has at least 24951+1 lines, then the compiler can verify that i < n and that i is correctly typed. But if the file is short, then the type of i is incorrect. So at compile-type the type of i is indeterminate.

ErotemeObelus··on Ask HN: How can I learn to read?
Abstract algebra, research papers. I know I need to make up my own problems as I go along with it, but that is easier said than done.
ErotemeObelus··on Dependent Haskell Is the Future (2018)
Err... the problem with this is that the size of a list/array is sometimes determined at runtime. This means that if you use dependent types, you can't determine whether a program is correctly typed until you run the code.
ErotemeObelus··on Egg Boiling Machine (Automatic Egg Peeling)
I'm waiting for someone to invent an egg-unboiler.
ErotemeObelus··on Anime4K: Real time high quality video upscaling
An algorithm that applied upscaling to a picture of a person would eventually have to find a way to draw skin cells.
ErotemeObelus··on Three Years of Misery Inside Google, the Happiest Company in Tech
Yes it is miserable to work in Google but you're getting proportionately compensated for your misery so you can't complain of injustice.
ErotemeObelus··on Supercentenarians are concentrated into regions with no birth certificates
There were exceptions after the flood. In the Book of Chronicles we have Jehoiada who died 130 years old. (2 Chr. 24:15)
Page 1 of 4Next →