skysight-inc/HackerNews huggingface dataset:
Users are noticing the difference between 5 non-parallel database queries that each take tens of milliseconds to a distributed database compared to querying an on server or directly adjacent server in under 0.2ms.

I am not proposing writing any additional cross-region consistentcy code, many CRUD applications have added zero cross-region consistentcy code and just left this entirely on Postgres to handle since bi-directional replicas are now a core feature.

The more complicated you make your stack the more likely you will end up with outages, data loss and inconsistency. Using plain jane battle hardened, well developed tools that can serve the internet at scale from a single modern server gives you a very simple architecture where most of that architecture is getting significant improvements every quarter as the libre software community improves Linux, Nginx, Postgres, etc versus whatever random person Amazon is letting work on RDS or DynamoDB for the next year until they PIP them (as they almost always do).
The British decided that those very common E names must be written as Lee. Remember Bruce Lee?
I’m sorry but you are forgetting a lot of people that has a public job with a predefined salary not adjusted to the island reality.

Nurses, teachers, doctors, firemen… especially those who are there just temporarily can’t afford housing and it’s a big problem for the correct functioning of the island.
Right? There's so much innovation in Open UX standards that being currently stifled due to monopolies.
I think you confuse currying with partial application.
The title should be "What makes constructing a house so expensive".

Housing is expensive for many other reasons.
That looks like a nice concise API too. Naming is always tricky, I like the toolbox name, but then should I rename the @func decorator to @tool? It seems like function is the more common name for it, which also overloads with the JavaScript function keyword.
Very impressive indeed, perhaps the authors should contact Andreas Kling (of SerenityOS/Ladybird fame) for hints on how to help community grow stronger.. (if that is wanted!)
It's like the inverse of the saying 'The more things change, the more they stay the same' : The more you want things to remain the same, the more you have to keep altering them. :)
In cities that have removed massive zoning barriers, like Minneapolis, housing prices have massivley improved in just a few years. As it turns out, we live in a dynamic economy that can scale up production when it becomes profitable, espically when you consider that its easier to build a multi unit housing block on one piece of land than the same number of housing units in several pieces.

Additionally, we know that though all new housing is marketed as luxgury, studies have shown that still improves the housing market for the less well of as prospective buyers wont take the more run down units ahead of them. I woukd say that allowing housing prcies to continue to increase is clearlu much worse for the poor anyway.

Overall, I completely disagree with your argument, as you argue that we shouldn't try and induce more housing because it is difficult? Like why is that even a reason to not build hosting given private developers will pay for it anyway.
Github was down for the nth time a few days ago. Yet I'm back. Who comes up with these stupid claims? I'm not going to ditch <messenger everyone in my friends circle is using> if they're down for a few minutes once a month. The supermarket at the corner had problems with their payment system for three days(!) last year and only took cash. I'm still a regular there. My favorite sushi place was closed for two months after a fire; I'm still going there.

If people stop using your site after it's been down once it can't be that good.
Since you know JavaScript, this should help.

Uncurried:

((x, y) => x * y)(3, 5) === 15

Curried:

(x => y => x * y)(3)(5) === 15

If you don't understand that, your problem is that you don't understand anonymous functions (lambdas), not that you don't understand currying.
> purpose built, in process storage engine that’s part of the same executable as our core server. It writes a minimal, delta based binary format

Get that engineer a sales gig, that's insane upselling of the reality: git commit -am 'added array to store structs'
I'm thinking that a lot of commenters are—understandably—feeling the need to defend the status quo in the name of availability and reliability since the author zeroed-in on latency, bandwidth, and spend.

My takeaway is not a debate against the merits of cloud in the face of trade offs, but against the necessity of—the now ubiquitous—cloud architecture pattern (and related lock-in). The "this-vs-that" is a rhetorical device to introduce an alternative. Of course which solutions are right for different use cases will depend on so many different things, and it's those things that keep engineers employed! :)

That said, we can put our engineering hats on to solve for SRE concerns within the patterned proposed by the author; I'm thinking the "what about availability when your one server goes down?!" is a straw-man in the sense that we have different ways of solving the availability story than our Ubiquitous System, and of course the solution must depend on what's actually relevant.
I also dismissed LLMs given their "accuracy." But I think that's the wrong thing to compare. The sheer fact that a transformer architecture model gets better at scale and that we can feed it at scale is insane. It's what makes it AI and not just ML.

The fact that you can get billions of parameters to do anything useful from a relatively simple algorithm on a relatively small amount (high GBs / low TBs) of text means the algorithm is insane. That's what people miss - they think GPT is trained on "the whole internet" and is similar to some of low-variate regression model that is "approximating things." It is absolutely approximating things - so does all intelligence -- but it is truly sifting / "attending to" what is important over a relatively small corpus and organizing into billions of parameters the way a brain would organize data.

Will it hallucinate details? statistics? Etc.? Yes, and it should not be used in its current form for "truth." But it's very different from a low-variate model that is synthesizing in a low-dimensional space (which is how we gradually learn about the world) and an extremely-high dimensional model that is starting to see "what is important" in ways that are far, far above human intelligence. Similar to a human brain (due to the underlying neural architecture and any type of hierarchical compression of knowledge) but with far more input data, and a simplicity that maybe the brain has maybe it doesn't -- but is far more scalable and capable of hierarchies of information that out-scale us by so many orders of magnitude, and more every 6 months.

3blue1brown's https://www.youtube.com/watch?v=wjZofJX0v4M and upcoming videos I think will show the beauty and simplicity of the algorithm more. To put it another way -- the fact that you get a remotely true outcome with a model that just improves with scale, a remotely true outcome by the algorithm sifting what is important -- means that with time it will know what is more important in ways that far surpass humans.

If you approach interacting with LLM chatbots that way it is absolutely mind-blowing how "on point" the answers are. If you ask ChatGPT why the internet is important? Or why AI/ML models are important? Or why the "Attention is All You Need" paper is important? (yes with some RLHF but that's just to improve a few more percentage points). It will create an incredibly well-sifted, highly compressed answer* all from an algorithm that outputs matrix numbers from fairly limited, fairly shitty internet text, compressed into what is useful in a very eloquent way. That's the excitement of LLMs. Super-human intelligence from an algorithm and low-quality information.

* https://chat.openai.com/share/00a5f9b7-7ee1-4641-92bf-999185...
The article talks about a high traffic site, maybe a top 10 one or something like that. It is already a moon business, not a moonshot. For a
small
blog or local business, sure
a bit of downtime is OK
but why are they even bare metal when squarespace etc. exists.
No, it wasn't fine. From the advisory (https://news.ycombinator.com/item?id=39865810):

> With the backdoored liblzma installed, logins via ssh become a lot slower.
Isn't the main problem that all the jobs are located at central spots? There is a huge amount of land where people can live. But building a cheap house at a location where you can't find a job leads to nothing.

There is also a kind of hype of homesteading. But you should not underestimate the huge amount of work it takes to keep yourself alive. So for most that is not an option.
Because Americans are rich and American construction workers have to be paid a competitive wage. If you could somehow teleport third world workers into the US at the start of their shift and teleport them out at the end of it, so they weren't exposed to American cost of living, you could pay them very little.
Its often bexaus eof zoning rules set by existing owners who dont want their neibhoood to change. Never mind that it makes little sense for single family housing only zoning to even exist in cities like SF.
As a Haskell programmer, I have to agree with you.

When you're writing Haskell, you should write idiomatic Haskell. Currying is part of that. It's a trivial concept and we use it liberally at work. If you're writing JavaScript though, I think it's a different story. I don't think JavaScript lends itself to FP in the way that Haskell or Elm does, and trying to make it do that only makes a project harder to work on.
A lot of thoughts —

Most businesses are not running a SPA which only makes a database call. Most infrastructure I’ve seen is not web-facing. Managing this from a consistent place reduces operations overhead.

The idea that you’re SSRing everything instead of making a few API calls is strange to me. Most businesses in the top 1000 will have optimized for caching when at all possible. They’re also not paying sticker price to CDNs.

Offloading works to CDNs comes with inherent operational benefit.

This all seems great until you have your infra fail. Stories of unrecoverable outages abound. Even if you run in this architecture, you should always always always be using an external party for backup and log retention.

More of the above… this doesn’t interact well with the real world, but everything old is new again and many new CTOs /founding engineers haven’t seen how infra breaks and how operations impact throughput.
Why are you on HN? It had quiet a lot of downtimes/service degradations over the last year, and according to your claim you don't use services that aren't 100% available.
Quoting https://nix.dev/tutorials/nix-language.html:

The Nix language is designed for conveniently creating and composing derivations – precise descriptions of how contents of existing files are used to derive new files. It is a domain-specific, purely functional, lazily evaluated, dynamically typed programming language.

So, its key features are:

1. domain-specific: designed for conveniently creating and composing derivations. This reason alone already justifies a new language, or an embedded domain-specific language (embedded in the Guile/Scheme for guix), or a mix of both (Starlark, the build language of Bazel embedded in a restricted Python-variant).

2. purely functional: this underlies the philosophy of the Nix package manager, which aims to be purely functional (also known as hermeticity in other build systems, such as Bazel). Being purely functional in turn underlies the congruence of the NixOS operating system, where you declare what the state the system should be in (as opposed to being convergent, so that you specify how to achieve the desired state).

3. lazily evaluated: similar to other build systems (including Bazel), so that you can build only what you need on demand.

4. dynamically typed: this one is controversial. Being dynamically typed—in other words, not developing a type system—gets Nix out of the door 20 years ago. But users often complain about the lack of proper types and modularity. There are experiments to add a type-and-contract system to Nix, such as Nickel (https://github.com/tweag/nickel).

Most of the above are also listed in the Overview of the One Pager.
> The above and I don't ever have to run security updates or patch an OS.

This has to be satire?
You are assuming that Facebook can't leverage it's dominant market position to buy every new network that threatens to surplant it (instagram, whatsapp, and ~100 other Facebook acquisitions would like a word)
To be fair, it's not really the bricks that are so expensive. It's the dirt :)
Currying is one of those things in Haskell that always makes me think that Haskellers were so preoccupied with whether or not they could, that they didn't stop to think if they should.

In my limited Haskell experience, you can mostly ignore that functions are curried, but every once in a while, someone uses it, and it has never, in my experience, made the code easier to understand, because the currying happens implicitly.

The more general case of currying is partial application, where instead of a function taking only its first argument and returning a function that takes its next argument, you can apply a function any of it's arguments and return a function that takes the remaining arguments. So if you have:

div x y = x / y

Then:

invert = (\x -> div 1 x)
-- invert is a partial application of div to the 1 as first argument

halve = (\x -> div x 2)
-- halve is a partial application of div to 2 as the second argument

Obviously, the first one could be done with currying. What makes partial application better in my opinion is that it's explicit about what's happening, and doesn't happen without you asking it to.
There are counterexamples yes. The almost monopoly on open source hosting. If Github goes down every day for an hour, companies will move to Gitlab. Obviously in business there are power dynamics. I queued for an hour to get an ice
cream once. That seller was in a kids water park. Yet McDonalds did a hockey stick because they solved fast food. There are always exceptions where a business has you. Nice to own such a business!
Its because we have essentially banned building more housing in many cities. (Relative to the number of new jobs/housing needed, some housing does get built) Any project that makes it past the insane zoning requirements are attacked by locals for whatever reasons they can come up with to try and cancel the project.

Complaints about foreign buyers and vacant homes do not make up for the massive supply shortfall.
Are you saying this to be helpful, or just to show you're smarter? If you're saying this to be helpful, you should probably explain more.

Currying is a subset of partial application, so I suspect the person you're responding to is just being a bit loose with their wording, as opposed to not understanding the topic.
How is it a strawman? It’s what anyone sane operating on premise or in the cloud would ask about this in design review
RLHF, so far as I can see.

The same positive/negative reinforcement learning from human feedback used to train them for chat/task completion rather than just autocomplete in the first place.
That does not in any way negate my point. Where you start depends on cost/benefit. Personally, I'm liable to start in AWS, actually. That doesn't mean I'll use every high-dollar service they offer, though.
I would love to know of a major tech company/product that has NOT had a security failure. This goes double for companies that provide hosting of services that hold juicy personal information.
> 500 Internal Server Error

Looks like the author is getting more than 11MB/s traffic. Here's an archived version: https://archive.is/UVpg0
> Nix only exists to be the language for Nix, the package manager. While people have occasionally used it for other use-cases, it is explicitly not a general-purpose language.

The next question is why is the Nix package manager needed and why should a software developer care. I don't know the answer.
Maybe I’m old and my feeling for what open-source means haven’t adapted to the changing reality, but whenever I see “open-source” and “$22 in funding” in one sentence I immediately think “open-source my ass”.
Yes - normal people normally pay everything they can afford on their house, so it's peoples' income that determines house prices.

Interesting that almost everyone is happy to drive around in a mass produced car, precisely the same as 10,000 other vehicles. And cars, although much more capable, cost (relatively) much less than decades ago.

But almost everyone wants their house to be special and unique, and pays whatever they can to that end. I don't see it as housing supply driving costs, so much as money supply.
Coming Up for Air is practically my childhood in a nutshell
> Who is going to build all these new houses? Unemployment is super low and tradesmen are completely booked.

Unemployment is a measure of labor market efficiency. We have computers now so anybody who needs work can apply to jobs over the internet or install an app and do gig work. The only times in this century that the unemployment rate has exceeded 6% were immediately after the housing crisis and a few months during COVID.

But labor market efficiency tells you nothing about how hard it is to find someone to hire. You don't have to find someone without a job, all you have to do is pay more than driving for Uber does.

> Many skilled tradesmen require licensing that takes years to acquire and can not be brought online quickly. Others are unionized that restrict membership.

These are the regulatory barriers, and there are obvious ways to bring capacity online faster. Example: Give a license to anyone who can pass a written exam, then eliminate the testing/licensing fees and give away free study materials.

Here's a big one for free: Stop charging for renewals, so older tradesmen can "retire" (i.e. stop working full time) without making it prohibitively burdensome or expensive to retain their license and work part-time.

> And then there’s materials. Did you see what happened to costs with an uptick in the demand/supply balance during Covid? It’s not so easy to just suddenly increase supply to suit demand on many materials as the inputs come from natural sources that are limited.

Short-term demand shocks are exactly that. It takes time to increase production capacity, but that takes a year give or take depending on the industry, and then output continues at the higher level indefinitely.

There are no practical natural limits on raw materials. You reopen some marginal iron mines. The park service buys some agricultural land to convert into forest while selling some forest land to be logged and converted to agriculture, creating immediate lumber availability. Wood, plastic and aluminum can be substituted for each other in various use cases depending on availability.

> Lastly the people that own the land wound rather build valuable things on it than housing for poors.

Housing is the valuable thing they're prohibited from building on it. The existing problem is that there is too much land zoned only for single-family homes. A piece of land with one single-family home isn't as valuable as the same piece of land with a 10 story building providing 80 housing units.

> For most of history a lot of people had rather modest living conditions. Very small spaces with limited services.

This is literally the thing that people are prohibited from building. Prices would go down significantly if it wasn't because there are plenty of people who would pay a lower price for a smaller space, except that building 10 times as many units on the same lot is prohibited by zoning, and if you can only build one unit on a lot then it's going to be a full-sized house and not a studio.
To be honest, I think Hacker News is already very brutalist :)
Well you pay mostly for land in any good location, even with apartments.

Then check how long it takes to build some apartment building, team of say 10 people working with some expensive machinery for a year. Plus all the materials of which there are literal truckloads.

Back home people do these mostly by themselves and friends/family, and the price aint that much lower. Plus for certain things you really need a professional company, even construction workers building their own homes hire companies for some parts of it.
AWS has plenty of failed data retrievals, outages not mentioned or documented, and other shenanigans of the sort. It's a turn and burn operation tho where skilled folk only spend a few quarters or years before moving onto other (usually more) stable tech companies.

You can hear all about this if you turn up to Harry's at 7pm on Thursdays, or at many of the other tech events in Seattle. Lots of current and ex-Amazonians out there with stories!
GNU Radio is a great tool to get started quickly.
In the end it's supposed to be freeing, as you say.

If everything depends on me only, then I'm free to change. And it prevents me from being vain, forcing humbleness.
It does require some effort. If Google decides to show a Directions button, you can get Maps and directions from a random location, but you can recover from that. If it doesn’t, the only option is going to maps.google.com (or finding the Maps in the other services menu in the top right corner) and re-typing your query.
> Maybe another backdoor, or alternative access mechanism they were using, got closed and they wanted another one in a hurry.

Or maybe the opportunity window for the mechanism this backdoor would use was closing. According to the timeline at https://research.swtch.com/xz-timeline there was a github comment from poettering at the end of January which implied that the relevant library would be changed soon to lazy load liblzma ("[...] Specifically the compression libs, i.e. libbz2, libz4 and suchlike at least. And also libpam. So expect more like this sooner or later."), as in fact happened a month later. The attacker had to get the backdoor into the targeted Linux distributions before the systemd change got into them.

Of course, the attacker could instead take the loss and abandon the approach, but since they had written that amount of complex code, it probably felt hard to throw it all away.
Then I have to ask if you're a customer I want to have. Customers with unreasonable demands (especially demands for absolute perfection) are a cost, not a revenue stream IMO.
The top comment on that article is really insightful. While I found the numbers in the article interesting, they don't really explain "the housing affordability problem" as it is generally conceived in any meaningful way.
It's meant to support both ways, plus additional finer control over the tables, custom types, and error checking
“Everything must change for everything to remain the same”

– Tancredi, Prince Fabrizio Salina’s beloved nephew in the renowned novel “The Leopard”, written by Giuseppe Tomasi di Lampedusa.
I'd rather stay on IRC, thank you.
Sounds like dennett's multiple drafts hypothesis.
> The article talks about a high traffic site, maybe a top 10 one

The article explicitly restricts the problem space to top 1000 websites.

I've taken 30 seconds to browse through top 1000 websites and outside of the usual suspects up top, most of them look like https://www.pro-football-reference.com or https://www.tempo.co which to me are not far off blogs and local businesses.
Get my 3270, show VM/370. As an MVS/DB2 guy, not sure what to do next. Any CMS tutorial for this Hercules based VM/370 I wonder. (The MVS side is easier for me and even can do some old time compliation of ISPF ...)