HN user

eeereerews

157 karma
Posts0
Comments40
View on HN
No posts found.
Just Too Efficient 6 years ago

Molok is the name used in the Bible for a Canaanite deity that the Israelites were forbidden to "suffer their seed to pass through the fire to". Details are scarce, but this is usually taken to refer to human sacrifice. It later became syncretized with reports of child sacrifice at Carthage, where the popular imagery associated with Molok (the idol with outstretched hands, the drums) is taken from.

Another pathology is that there are companies who ship LibreOffice, often claiming support, but then file all their tickets up-stream and hope they are fixed for free.

Lmao... but thinking again, given the average user's bug-filing abilities, a professional bug-filer might actually be useful.

But once you've accepted unchecked exceptions (and paid the cost of the having them), it just doesn't make sense to only use them only for bugs. For example, it is better to

  try:
    x = json['foo']['bar'][i]
  catch OOB:
    handle error
than to
  if not (json is a dict and
          'foo' in json and
          json['foo'] is a dict and
          ...):
    handle error
  x = json['foo']['bar'][i]
even though in the former, unchecked exceptions are used for non-bugs.
Bible API 6 years ago

Here is a typical example (from Genesis Rabbah)

And Cain rose up against his brother Abel. [...] With what did he kill him? R. Simeon said: He killed him with a staff: And a young man for my bruising (Gen 4:23) implies a weapon which inflicts a bruise. The Rabbis said: He killed him with a stone: For I have slain a man for wounding me (ibid) indicates a weapon which inflicts wounds. R. 'Azariah and R. Jonathan in R. Isaac's name said: Cain had closely observed where his father slew the bullock [which he sacrificed, as it is written], And it shall please the Lord better than a bullock (Ps 69:31), and there he killed him: by the throat and its organs.

From a Christian perspective, a more interesting example might be the Gospel's atomization/recontextualizations of text as Messianic prophecy ("out of Egypt I have called my son", "behold, a virgin shall be with child").

Bible API 6 years ago

That hermeneutic - texts are collections of independent logical propositions - was essentially unknown in the ancient world

On the contrary, the atomization and recombination of the text into new meanings is highly characteristic of Midrash. Of course, this isn't the same as the "prooftext" hermeneutic I think you're criticizing.

Dynamic linking 6 years ago

Ugly maybe, but they're do kinda combine the advantages of both. They have the portability and reproducibility advantages of static linking, while still letting you take them apart and change the dependencies like with dynamic linking if you really want to.

Dynamic linking 6 years ago

It can also cut the other way though. Bugs can be introduced, compatibility can be broken, users can not find the library in their package manager, or they may find too new of a version. The danger of this is smaller for popular libraries, but goes up as you move to the long tail.

Dynamic linking 6 years ago

Do your installed programs share dynamic libraries?

Findings: not really

Over half of your libraries are used by fewer than 0.1% of your executables.

Findings: Yes, lots, but mostly the most common ones. Dynamically linking against something in the long tail is pretty pointless though.

Historically imperative languages did have tagged unions (Algol, Pascal, Ada, Modula). Their disappearance is mostly because of OOP's takeover I think. It was thought that a tagged union should be replaced by a base class with one derived class per variant.

What they lacked was usually a nice way to operate on tagged unions, ie. pattern matching.

You can also put a Readme in any folder and it will show up the same way. You usually wouldn't want those up top while browsing the files though. So it's also about consistency.

Writing, as opposed to speaking, by its nature conveys a degree of anonymity. Historically, anonymous writers are very common.

To emphasize where the topology comes in since it wasn't clear to me at first: the important bit is the saddles. Just before a saddle goes under, there are two important properties

1. there are land masses on both sides of the saddle. This would not be true if the polytope had holes.

2. if the lakes on either side of the saddle are joined up, the only way they can do that is if the lake circles around and encloses at least one of the two land masses (Jordan curve theorem). Once the saddle point goes under, that land mass is cut off from the "mainland". This would not be true if the polytope had a handle. The lakes could be joined up by going along the handle without enclosing one of the land masses.

https://i.imgur.com/I2FqwWQ.jpg

It's slowed down a lot. There's been a total of 8 posts and 50 comments since 2019. There were 32 posts just in 2017.

One way is that it can handle functions like return : Monad m => a -> m a where m occurs only in the outputs. There's no input arg you could hang a vtable off of.

Those excuses are built on a revolting moral equivalence of rioters and looters to peaceful, law-abiding protesters. A majority who seek to protest peacefully shouldn’t be confused with bands of miscreants.

Recursive fibonacci is highly artificial, but the fact that a compiler can greatly transform the program is an important advantage of compilers over interpreters.

But that doesn't explain why I can't add two `String`s together using +.

Because that would consume both Strings, which doesn't make sense. The impl that exists only consumes the left string, reusing its buffer.

This seems like an odd thing to complain about since if you try it the compiler will tell you exactly what you should do instead.