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

Eh there are also decades worth of audio electronics designs which use the 741 and the decision of which actual part to use is often an aesthetic one. (i.e., assuming all other parameters are compatible then just use your ears). There are always new (hobbyist) designs being drafted around specific parts that are otherwise obsolete simply due to the musical character of certain parts


(Disclaimer: on religion I try to be respectful, as an agnostic atheist) I do think our ability to “build tools that create life” is incredible, but to me has a limited argumentative impact on what I guess you could call the “prime mover” question: _But how did everything start?_ Does that seem reasonable or am I downplaying the implications you mentioned?


Thanks for helping us launch LocalXpose however many years ago. I know it seems like product promotion is (rightfully) something to always be wary of, but I appreciate the forums you’ve provided startups hoping to find early adopters. We are (relatively speaking) successful nobodies, but I wonder if you have any memories of sites that “blew up” after being added on BetaList?


And your starter “production” deployment of the Nomad/Consul/Vault stack is literally 12 VMs, comprising three independent Raft clusters. There is no decent way to do zero-downtime instance replacement without building your own orchestration layer, but also they’ve had a years-long track record of shipping bad upgrades and following up with only manual remediations or workarounds instead of a fix.

As someone who has productionized and maintained truly hundreds of those clusters across several jobs, it is hard at this point for me to recommend Consul, Nomad, or Vault to anyone serious about building reliable applications. Too many broken upgrades and manual click-ops tasks just to keep them online. (…and I’ve said nothing of the actual product!)


This is a timely post. We are going to use Consul to replace the need for Internal Load Balancers. What issues do you have with it?


I'm in a similar boat and only somewhat agree. The gist of my post was that this exists but maybe just use Kubernetes anyway.

I don't entirely agree with your statement about zero-downtime instance replacement though. We built our terraform around doing one-at-a-time instance replacement and removing/adding nodes in Hashicorp Raft clusters is pretty much the easiest thing I've ever done with infrastructure.

That's really always been the biggest selling point around Hashicorp's stuff for me. They made bootstrap and maintenance operations easy enough that a caveman could do it. Even recovering from problems isn't terribly hard unless you're already doing something stupid (Roblox outage).

I also have deployed and managed _hundreds_ of these over the last 8 years or so and I'm not really having the same problems that you do. But we don't upgrade to the latest and greatest because it _does_ take them a few versions to get their feature launches correct. This is mainly a Nomad problem now though -- consul and vault are pretty brainless to operate.

Still though, we _also_ use Kubernetes and I prefer it. Most of our software engineers don't though because they don't actually want to take the time to understand it, they just want to run binaries and forget about it.


> When not to use it > … > The workflow mostly lives outside Postgres and spans many heterogeneous systems.

How is this project at all comparable to something like Temporal? Am I misunderstanding the limitation implied by this particular recommendation?


I aggree - I'm not understanding the value of the project either if you look at the example here https://github.com/microsoft/pg_durable/blob/main/examples/i...

It's an interesting technical achievement I guess, but it's very bizarre to try and read this

    SELECT df.start(
        @> (
            ($$SELECT ... FROM demo.invoices WHERE status = 'pending'$$ |=> 'inv')
            ~> df.if_rows('inv',
                $$UPDATE ... SET status = 'processing'$$
                ~> (df.http(...) |=> 'resp')
                ~> df.if($$SELECT $r.ok$$,
                    -- classify, branch, wait for signal ...
                ),
                df.sleep(5)
            )
        ),
        'invoice-approval-pipeline'
    );


Contributor here - at Microsoft we've built AI workflows on pg_durable and seen it substantially reduce code and increase reliability. Agree that the DSL ergonomics can be improved. Our pipelines use a higher level language and therefore simplified, but pg_durable is meant to solve a wider array of problems. We're happy to take suggestions for improvements.


Somebody else in the thread brought up the benefit of snapshotting a database at a point in time stores not only the state of execution but also the code, etc. That is a unique benefit I'd be interested in exploring over storing your orchestration outside of the database.

Not trying to dismiss the project - it looks like a lot of hard work has gone in and somebody has a use for it. I just come from an airflow style external orchestrator frame of mind that manages durability state in postgres but keeps the control flow out. Sorry if I came off as a bit snarky


Do you plan to open source the high level wrapper too?


Without reading any of the doco, it appears to be a job definition called invoice-approval-pipeline that runs every 5 seconds.

The steps are:

1. Get all the pending invoices

2. Set their state to "processing"

3. Call out to an external service/process to do the actual processing, wait for a response.

4. If the response is OK, do something

5. Wait 5 seconds and then start again.

Not sure I love the syntax and the way SQL is embedded between the $$

But it is in the database, can be updated and modified in the same way as all the other stored procedures/functions, allows job control, I assume other control structures for parallel steps etc.

Gonna go read the doco now.


"dollar quoting" is the PostgreSQL way to quote strings with quotes, avoiding double quoting or escape characters. I like to use the tagged version of it, like $sql$ SELECT ... $sql$ to describe what is inside.


Before this I thought it was impossible to surpass Perl.


I guess it depends on whether you want to write application code with the Temporal SDK or use this new SQL soup. I’d rather stay out of messy SQL land for something like this if I can avoid it, but I can see the value if you already have Postgres and don’t want to introduce another component.


Hah, if Harlan Ellison were alive for the dawn of LLMs as a widespread technology, he would have had many (dangerous) things to say about the copyright issues, and potential horrors


Now we can get an LLM to adopt the persona of Harlan Ellison by fine-tuning it on all of Harlan Ellison’s recorded works and possibly other people’s written reminiscences of their interactions with him and have it generate Ellison-like opinions on the current LLM situation that might be hard to distinguish from Ellison’s actual work.

I don’t know if Ellison would be amused or horrified, really. Like some ROM personality construct out of William Gibson’s Neuromancer - nightmare fuel, immortal Steve Jobs / Bill Gates ghosts generating endless drivel.

“So here is my opinion on your LLM situation, since you dragged me out of the grave-shaped server rack to provide one:

The machine has no humiliation. That is its first defect. The people who sell it have no embarrassment. That is the second.

The danger is not that machines will become writers. The danger is that human beings will become satisfied with things that merely resemble writing. The danger is not that machines will think. The danger is that people will stop noticing when they themselves are not thinking. The danger is not the fake Ellison, fake Didion, fake Baldwin, fake Le Guin, fake Morrison, fake anybody. The danger is the spiritual laziness that asks for ghosts because it cannot bear the burden of encountering the living or honoring the dead.”

I’d take 50:50 odds on the Butlerian Jihad becoming a thing, myself.


  > Now we can get an LLM to adopt the persona of Harlan Ellison by fine-tuning it on all of Harlan Ellison’s recorded works and possibly other people’s written reminiscences of their interactions with him and have it generate Ellison-like opinions
someone already did it; harlan ellison (well his voice anyway) as an ai...

https://www.youtube.com/watch?v=F_r7sh75258


Were he still alive, I would bet on on Ellison's legendary natural curmudgeonlyness reducing any AI (Artificial Irascibility?) to tears.


This would be a worthy experiment to do. I think Harlan would be amused, horrified, and flattered -- let's find out!


Oh my god. I want him to come back from the grave just so he can write an essay about LLMs in the style of "The three most important things in life."


I think the main idea is that MOSFET chips don’t sink or source much current on their own (“fundamental” seeming to mean the way that current does not propagate into the gates, and most designs only really draw current during transitions)

OTOH some chips (amplifiers for example) may indeed have current flowing through them and therefore the power consumption of the “chip” would equal the sum of heat loss and output power. At least that’s my interpretation of the framing “how they operate at a fundamental level”. I could be wrong too, I’m not a working EE


Hey I am super interested in this, got any links to check out?


Sure here's the demo:

https://craft-burgers.openship.org/

Github:

https://github.com/openshiporg/openfront-restaurant

We're actually building an opensource SaaS for every vertical. We shipped our Shopify alternative end of last year and after restaurant, we have hotels, grocery, and gyms next.


Thanks for your work! Just curious, would it be possible to pad the denylisted binary with arbitrary bytes and circumvent the content hash?


User `walterbell` is right. Padding changes the hash, so the modified binary wouldn't match the denylist. It also wouldn't match anything the system has seen before since it's now an unknown binary... The veto denylist approach is for catching known-bad binaries by identity. If you need to block unknown/modified binaries, you flip the model: allowlist known-good hashes and deny everything else. It's a different threat model, so it requires a different mode.


Security policy usually defaults unknown artifacts to low privileges.


Thanks, I can relate to the parent poster, and this is a really profound comment for me. I appreciate the way you framed this. I’ve felt compelled to fact check my own LLM outputs but I can’t possibly keep up with the quantity. And it’s tempting (but seems irrational) to hand the results to a different LLM. My struggle is remembering there needs to be input/query/calculation/logic validation (without getting distracted by all the other shiny new tokens in the result)


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

Search: