Hacker Newsnew | past | comments | ask | show | jobs | submit | sorentwo's commentslogin

Seconded. I was going to say the exact same thing. Brilliant thought exercise that I still think about on a weekly basis 20 years later.

Before looking at the zoo I figured there would be a dozen or so engines compared. Seeing the actual comparison is astounding!

The amount of work just to aggregate and compare is admirable, let alone the effort behind the engines themselves.


It is an old US military term that means “F*ked Up Beyond All Recognition”


FUBAR being a bit worse than SNAFU: "situation normal: all fucked up" which is the usual state of us-east-1


My favorite is JANFU: Joint Army-Navy Fuck-Up.


But you probably have seen the standard example variable names "foo" and "bar" which (together at least) come from `fubar`


Which are in fact unrelated.


Unclear. ‘Foo’ has a life and origin of its own and is well attested in MIT culture going back to the 1930s for sure, but it seems pretty likely that it’s counterpart ‘bar’ appears in connection with it as a comical allusion to FUBAR.


Foobar == "Fucked up beyond all recognition "

Even the acronym is fucked.

My favorite by a large margin...


Interestingly, it was "Fouled Up Beyond All Recognition" when it first appeared in print back towards the end of World War 2.

https://en.wikipedia.org/wiki/List_of_military_slang_terms#F...

Not to be confused with "Foobar" which apparently originated at MIT: https://en.wikipedia.org/wiki/Foobar

TIL, an interesting footnote about "foo" there:

'During the United States v. Microsoft Corp. trial, evidence was presented that Microsoft had tried to use the Web Services Interoperability organization (WS-I) as a means to stifle competition, including e-mails in which top executives including Bill Gates and Steve Ballmer referred to the WS-I using the codename "foo".[13]'


What people would print and what soldiers would say in the 1940s were likely somewhat divergent.


100%


> Just as a whole the Erlang and Elixir primitives allow oban to be built truly in the most retarded, obvious way and get away with it.

Maybe it is obvious in retrospect…


I did not mean to diminish the implementation, of course it must be incredibly complex. I meant all that complexity is hidden from me, the developer. It's really easy to understand what to do. :D


This is absolutely true.

I can confirm, from firsthand knowledge, that Elixir is used at dozens of Fortune 500 companies in the US.


The roadmap is purely about AI, and reads like it was written by AI. It’s purely trendy and myopic.


My graduate university has a IBM speaker a few years ago where they spoke of a future on the Blockchain


Well they have automation on there, that's clearly distinct from AI.


It's funny because automation is the only thing you can expect from AI


The architecture is remarkable. The lengths they’ve gone to for language version compatibility, and protecting app namespaces is especially impressive.

https://github.com/elixir-lang/expert/blob/main/pages/archit...


What are namespaces in Elixir?


Namespaces aren't so much a concept in Elixir, but this refers to the names used for things like modules. Expert will rewrite the code of its "engine" so that the engine's code and dependencies and those of the application it is embedded into don't overlap.


Absolutely love monodraw for diagrams in documentation! All of the diagrams for Oban and Oban Pro are done this way:

Job Lifecycle: https://hexdocs.pm/oban/job_lifecycle.html

Composition: https://oban.pro/docs/pro/1.6.4/composition.html


Sidenote: thanks so much for taking the time to write the Oban docs. I'm a big user (and fan) of Oban, and the docs are fantastic.


Oban doesn't use advisory locks for fetching jobs (unless there is uniqueness involved)—it uses `FOR UPDATE SKIP LOCKED` as well to pull jobs.


Ping requires something persistent to check. That requires creating tuples, and most likely deleting them after they’ve been consumed. That puts pressure on the database and requires vacuuming in ways that pubsub doesn’t because it’s entirely ephemeral.

Not to mention that pubsub allows multiple consumers for a single message, whereas FOR UPDATE is single consumer by design.


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

Search: