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

What languages does this author like which has a written spec?

This article isn't about languages. It's about the protocol for two or more languages to talk to each other. There is no specification for this.

The System V ABI is as close as we get to an actual specification but not everyone uses it and in any case it only covers a small part of the protocol.


> He’s trying to materially improve the conditions of using C itself as a programming language.

> I’m trying to materially improve the conditions of using literally any language other than C.


You exceeded the step of maxing out the best server you can buy?

HA is not about exceeding the limits of a server. Its about still serving traffic when that best server I bought goes offline (or has failed memory chip, or a disk or... ).

Replication?

Postgres replication, even in synchronous mode, does not maintain its consistency guarantees during network partitions. It's not a CP system - I don't think it would actually pass a Jepsen test suite in a multi-node setup[1]. No amount of tooling can fix this without a consensus mechanism for transactions.

Same with MySQL and many other "traditional" databases. It tends to work out because these failures are rare and you can get pretty close with external leader election and fencing, but Postgres is NOT easy (likely impossible) to operate as a CP system according to the CAP theorem.

There are various attempts at fixing this (Yugabyte, Neon, Cockroach, TiDB, ...) which all come with various downsides.

[1]: Someone tried it with Patroni and failed miserably, https://www.binwang.me/2024-12-02-PostgreSQL-High-Availabili...


In my experience the functionality of “purpose built systems” is found in Postgres but you have to read the manual.

I personally think reading manuals and tuning is a comparably low risk form of software development.


Materialized views work pretty well in Postgres. But yes at some level of load it’s just helpful to have the traffic shared elsewhere.

But As soon as you go outside Postgres you cannot guarantee consistent reads within a transaction.

That’s usually ok, but it’s a good enough reason to keep it in until you absolutely need to.


Materialised views don't work well in postgres. They don't incrementally update and have to be manually triggered to rebuild from scratch

Sure, I guess it depends on the use case.

All parts seem true to me. Most kids think they were more gifted than they were. Learning to work hard and be persistent was actually more important. A lot of talk about being gifted was an obstacle to that.

We try to praise hard work and downplay the yer so smart talk. I still had get excited when they are lazy smart though.

The media knowingly repeated “horse dewormer” because it made people they don’t like look dumb.

People were literally buying horse dewormer when their doctors wouldn't prescribe it for them. "Influencers" were selling it. So the media were being accurate. To the extent that this made people look dumb, the intent was mostly to shame them into trying something more effective.

> the intent was mostly to shame them

Yeah I don’t like news that does that, as opposed to giving the best information.


You dropped my words "into trying something more effective". Steering people into treatments found to be more effective is, precisely, giving people the best available information. Ivermectin is great if you have a parasitic infection. It doesn't help against viral infections.

Telling them which treatment is more effective is different than shaming, and also different than making up a misleading name like “horse dewormer”.

> "just do the parts of it we actually use".

25 years here. You can absolutely do this. Most software is orders of magnitude more complex than it needs to be.

The junior programmer you are talking about who wanted to rewrite it in a weekend tends to come back with a working program, not empty handed.


I've seen this happen with both juniors and seniors. They do come back with a working solution /for the happy path/. Because the happy path is easy. It turns out that most of the complexity sits in the unhappy paths.

I still don’t agree. The trick to good design is getting more things on the happy path. Most of the software I use is small and constructed in this manner.

"They only coded the happy path" is software engineer for "they coded it as if nothing would ever go wrong". It is definitely not good design to do that.

There's an engineering trap/fallacy I like to call "how hard could it be". How hard could it be to build a [whatever] clone? If you find yourself thinking that, stop what you're doing, because the answer is almost always "at least an order of magnitude harder than you think."


What I meant is that most commercial software has a large number of code paths. Because it’s built incrementally, not holistically. This creates complexity and cost.

If you’ve only worked on that kind of software it’s hard to know the alternative which is to aggressively prune code paths and rework your main code.

And open source example is Quake. I rarely come across software whose inherent complexity is more than quake.


Yeah, that's not what the person you were replying to is talking about. I was explaining the jargon.

Complexity and LoC has nothing to do with "only coding for the happy path". Both complex and simple software can be written this way.

A great example is the moltbook hilarity. They slapped together something that looked good and did function -- in the happy case only. They put together an "authorization" flow but exposed their entire database because they didn't know how to secure Supabase. They had no rate limiting on account creation -- so one dude created 1M in an hour.

Even putting aside adversarial usage, you have to code for, like, normal stuff going wrong or your app will lose data, crash, leak information, fall over, etc, etc.


I think you are not considering what I’m saying.

I’ll put you in the “it’s impossible to make software” camp.


I agree. Just because you can buy some piece of software doesn't mean you should -- there is a lot of software that exists just to sell more consulting hours and will never fit the business. It's actually not hard at all to code and maintain much simpler alternatives.

Actually having to support multiple businesses with commercial software is hard. I've written a ton of custom software that far surpasses the capabilities of commercial offerings but if were to turn that into it's own commercial offering it would be large undertaking.


Yes, I didn't really doubt the developer could do it, the problems are:

1. That's not a great use of the developer's time, and

2. anything in-house increases our training and support costs


1. The whole point of developer time is to save user time; if a developer can do that then it's worth it.

2. If the in-house software doesn't decrease training time or support costs then there is something wrong there.


1. No. The point of having engineers is to build product and make you money. They cannot make you money if you waste their time on building internal apps that do not make you money.

There's no point in saving $20K on an SaaS app if you use $100K in developer time and miss out on $1M of potential revenue. We get paid the big bucks because we can make companies a lot of money.

2. Haaaa no, that's 100% not how that works. If you buy a SaaS product, the company made that product. They have documentation. They have training. You can hire people who have worked on that system before. If it goes down, they get paged.

If you write the tool, all of that is on you to do. If it goes down, you have to fix it. If it screwed up data, you have to fix it. Any time anyone has any questions? Guess what, you're the one they'll ask. All of that costs the company money, because you don't work for free. When you quit, the app is now useless and can't be fixed unless you did a lot of work beforehand.

It's best to think of DIY apps like those really really sticky noxious tarpits. It might look safe or easy to get into, but good luck getting out of them. You might end up at the bottom with the bones of everyone else who thought that DIYing it was a good idea.


> The point of having engineers is to build product and make you money.

You're making the assumption that all software development is for software products. My work supports a non-software industry. Every minute that I save of user's time translates into more time they can use to make money.

> There's no point in saving $20K on an SaaS app if you use $100K in developer time and miss out on $1M of potential revenue.

If the SaaS app is $20K, I would agree. Probably the cheapest we have is $30K per year, most are an order of magnitude more than that. And it doesn't take a $100K of developer time to replace some of them.

> Haaaa no, that's 100% not how that works. If you buy a SaaS product, the company made that product. They have documentation. They have training. You can hire people who have worked on that system before. If it goes down, they get paged.

Haaaa no, that's 100% not how that works. You buy a SaaS product then you pay them to install, configure, customize it. That can a small amount or a large amount. That can take a small amount of time or years. You can maybe hire people who have worked on that system, but probably not, and it's mostly bespoke knowledge that only a small amount of people have. They aren't cheap. But you might be entirely dependent on the vendor.

If it goes down, you have to put in a support ticket. You wait. Everyone is still on your case but you can't do anything about that. If you have access, sometimes you can fix it yourself -- and you do -- because waiting for support to do it properly is awful. If it's screwed data, good luck, they're not good at fixing that. Anytime anyone has any questions? Another support ticket. None of these people work for free; expensive support contracts. The level of support you get is completely divorced from that cost. You can't pay less if the support is terrible, you can't pay more to get better support (not that you would want to).

If I write the tool and it goes down, I can fix it. Awesome. If it screwed up the data, I'm more than capable of fixing that. If anyone has any questions, guess what, I actually know the answers. The company pays me for these services. When I quit, the app can be easily fixed because it's all standard technologies that lots of people know. Those SaaS tools? They're the black box that nobody knows how to configure, customize, or fix. The vendor isn't interested in doing anything more than the minimum needed to close the ticket.

> It might look safe or easy to get into, but good luck getting out of them.

Just try and switch away from your cloud SaaS product. You might not even be able to get your data out.


> You buy a SaaS product then you pay them to install, configure, customize it.

Ok, hold up. That is not a SaaS app lol. That is an on-prem installation. Very very very very much not the same thing.

The entire point of SaaS is you don't install it on prem. SaaS directly competes with what you're talking about.

Before you go declaring an industry is dead, at least understand what it is.

> My work supports a non-software industry. Every minute that I save of user's time translates into more time they can use to make money.

Sure. The corollary to that is every minute your app doesn't work you cost them money. If you fuck up and store protected data the wrong way or lose data because it tipped over, you're also costing them money.

Replacing some tinkertoy nobody relies on is easy. If your app is in the hot path, congrats, you're now critical infrastructure lol. This is the Bad Place.

> When I quit, the app can be easily fixed because it's all standard technologies that lots of people know.

I can tell you have never had to clean up one of these apps. Knowing the technology is not the issue. It's figuring out all the random decisions and details and load-bearing parts and reverse engineering someone's weird tooling without breaking things. It sucks real bad because you don't know what you don't know.

> Just try and switch away from your cloud SaaS product. You might not even be able to get your data out

Sure you can. Getting the data is the easy part. In the very worst case, you might have to pay them or get someone in management to scream at them, but it's the easiest part of that kind of project.

It's the rest of that kind of project that's tricky. Replacing a critical live system without downtime is Srs Bizness.


> Ok, hold up. That is not a SaaS app lol. That is an on-prem installation. Very very very very much not the same thing.

I didn't mean to imply on-prem. "Install" was the wrong word; call that "onboarding" instead. There is always some integration component as well because nothing lives entirely on it's own. Some SaaS providers are really good; no complaints on this part. Some are terrible. I believe one new vendor is going to try and charge us almost $100,000 to integrate their product with our other products. The entire purpose of this product is the integration. This is one I'm pushing to do internally because it's so fiddly.

> The corollary to that is every minute your app doesn't work you cost them money. If you fuck up and store protected data the wrong way or lose data because it tipped over, you're also costing them money.

So? You seem to think SaaS software doesn't go down, break it weird ways, get slow for no reason, etc. Across everything we probably had half a dozen small outages last month. But none of our internal (also cloud) products went down at all. Hell, one of the biggest most common SaaS products in our industry released an undocumented change last month to their API that subtly returned incorrect results. As far as I can tell, they still haven't acknowledged it.

I'm not saying we don't have bugs or bad things don't happen but I don't see why you think that externally purchased software is automatically better.

> I can tell you have never had to clean up one of these apps. Knowing the technology is not the issue.

Good developers produce good results. I have a new intern on my team who's currently still in school and she's absolutely killing it working on our apps. So maybe the problem isn't internal development, it's just shitty developers. Those exist in SaaS products as well; I look at some of their shit and I wonder what we are paying for. It can be well hidden behind nice marketing and big brands but it's still crap.

One vendor tried to sell us a product that was actually sneakily split into two pieces -- one developed in North American in .NET and the other half in India in PHP! They nightly sync the data between them. At the time, we had multiple products for this job and we were looking for one integrated product to replace them. I just happened to notice when looking at the URLs during the sale pitch and that's what caused them to spill the beans. We didn't buy that product.

While a lot of our internal development is complete products, a good chunk is actually filling out the functionality holes or working around bugs in our SaaS products.

> Sure you can. Getting the data is the easy part.

The last one we dropped, we definitely didn't get our data out. In fact, as soon as we cancelled the contract (3 month lead time) we were basically dead to them.


And both are completely different arguments then your original post.

No, those are the two main reasons management don't want to have internal systems belong to them

I see. I misread. My mistake. I agree - the issue is not technical it’s the responsibility for the project.

All those things are true. It still doesn’t sound like 1000+ engineers at 350k/yr.

What actually happens in a startup is you encounter these problems one at a time as they arise.


Twitter wasn't built by 1000 engineers at 350k/yr.

It had to hire them later on. Because when there are users - you need support, take out fires etc.

And this exact thing will happen with any homebrewed SaaS.

You either run a business or play tech company making your own saas instead of focusing on your business.

Sure you can do both in very rare cases - if you are SpaceX or similar, otherwise you are shooting yourself in the foot.


No. They hired 1000 people to help them justify funding rounds.

Even then, startups prioritize growth over efficiency. So maybe 100 people would have been fine but 1000 gets them a 5% growth improvement in growth.


Startups have no users and no data to start with, and if they fuck up security, well, they just fail sooner than expected.

Once you get past a certain size, you have very different sorts of problems. Any idiot can vibe code a facebook lookalike, but the real one has to handle hundreds of millions of users and posts while being a target for state actors.

TLDR; yes you do need that many


> yes you do need that many

You absolutely do not. what do you think about the website we are using right now! It has half of the problems listed above.

> facebook

Your work project doesn’t have a billion users.

We were talking about what it would take to fix the technical problems resulting from taking a working program to something people use.

> Any idiot can vibe code

I didn’t say that either.

How is it the HN opinion that it’s impossible to make a web application a lot of people use?


It’s either a crossword or a religion.

This comment is repeating a political slogan with no consideration of the content of the article.

Also the slogan is a Marxist alternative theory of wealth and power which conflicts with some basic premises of being interested in startups and is debunked in pg readings.


> This comment is repeating a political slogan with no consideration of the content of the article.

Bezos was able to purchase one of the nation's most important news outlets because he is a billionaire. If his wealth was capped at $100M, he would have had to pool resources with many other ultra-wealthy individuals to effect the same purchase. These people would have competing interests, and would also themselves be open to being bought out because their ownership stake in the company would be small. This would be good for the country, because one person being able to turn an important news outlet into his personal propaganda machine is bad, as the article describes.


You’re imagining a system where one variable can change and all others hold constant.

Yeah probably! Do you have any ideas for how we can reduce the amount of power individuals like Bezos have over our society?

Has bezos made any decisions for you lately? Money tends to be a pretty weak form of power.

What we are seeing is bezos trying to translate money into media power, which is real. But it doesn’t seem to have worked out that well. His paper is not that influential or distinct. He is unable to wield much control over the journalists likely because they operate within a tight culture that exists across outlets.

Your instinct is that media is actually real power. Isn’t a few people operating the media scarier than a few people being able to consume a lot?

But then why is media powerful? Public opinion is directly useful for winning elections. But also indirectly as public officials need to cater to the public.


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

Search: