Live data from Hacker News

XML is the future

bitecode.dev

21–30 of 408 posts

Re: XML is the future

#21

In my opinion, one of the worst was things was going from servers to serverless for web apps. Vercel (formerly Zeit) made a complete switch from servers to serverless for hosting and Next.js. Everyone jumped in without realizing just how much more complicated serverless architectures are compared to servers. 1. Having your APIs as lambdas now means you can't simply connect to a Postgres/MySQL without setting up a ded…

Just want to comment on the first two points as a vercel fan (1) pooling becomes the solution very early. You get massive speed benefits by keeping a connection open. Hitting connection limits is too easy without it. I feel like a push towards pooling is fine because it has great benefits for scale, speed and reliability. Services like Supabase have connection pooled postgres by default even in their free tier. (2) n…

1. If you have a server, it’s trivial to setup a connection pool. For example, most Postres clients like Knex or Prisma sets a connection pool for you on your server. There’s no need to setup an external connection pool. It’s good that Supabase does it for you but most managed Postres databases don’t.

In fact, it's trivial to setup many things on a server that you simply can't on a serverless function. For example, a simple cron job or a simple persistent queue or websockets. You have to use 3rd party services for these simple tasks that you could have done on your server.

2. That has nothing to do with serverless or servers.

Re: XML is the future

#22
post #7

I've been working in the tech industry in the US for about 5 years. Ever since I knew myself I've been coding. From middle school to high school, given any problem, like Sudoku, or keeping up daily chores, my solution was Programming! Programming wasy homebase. Then I studied it in uni, thought I was kinda good at it, and loved it. But when I started working in the industry, I realized that it's absolutely exhausting…

> Look I'm not even complaining. But it feels like I'm stuck in a Franz Kafka novel. We just keep changing and changing the same things again and again because that's the new way to do. Big distraction. Destroys your workflow. Forget about all the util scripts you wrote last 6 months being useless. Here's how I stay sane -- I focus on the changes. For the technologies that you noted, here are some good questions that…

I have this impulse to constantly experiment with everything too. And I think it's healthy for your brain to always be learning new ways and testing your preconceived notions of how you do things. A lot of times it leads to incremental advances, either in the next iteration of my existing code or the way I approach my next project.

But a lot of it, I can admit, boils down to sheep shaving. When you start figuring out how you'd implement codebase 2009 in stack 2023, and then actually doing it, that's golf. It's all good, it's educational, but it's downright immoral to sell that to a client and drag them through it.

Re: XML is the future

#23
post #7

I've been working in the tech industry in the US for about 5 years. Ever since I knew myself I've been coding. From middle school to high school, given any problem, like Sudoku, or keeping up daily chores, my solution was Programming! Programming wasy homebase. Then I studied it in uni, thought I was kinda good at it, and loved it. But when I started working in the industry, I realized that it's absolutely exhausting…

>>when I started working in the industry, I realized that it's absolutely exhausting.

It's been this way forever. For every level of the stack. When I started the physical hardware hadn't been settled (coax, ethernet, token ring etc.)

Fortunately when I started we only got paid when we shipped. So we were motivated to ship, not be distracted by rewrites. We were also lucky that as a boot-strapped company we had no managers calling the shots. We made decisions and stuck to them, and it's paid off over the long run.

Of course the product has changed immensely over 25 years - but the core code laid down in 1996 is still integral. We've spent the time on the product, not worrying about the sexiness of the tech stack.

Which is not to say we've ignored the tech stack, it's evolved a lot, but the stack serves the product, not the other way around.

On the other hand we don't have to raise investments, we don't have to attract endless streams of new programmers, we don't have to juice a stock price, so we don't have to appear modern or hip. We can just keep doing what we do, making money, focusing on the value to customers, not being (easily) distracted by the next shiny toy.

And yeah, after a couple decades you learn to see through the hype a bit and distinguish things that are good for you, not just the flavor of the week.

Re: XML is the future

#24
> XML is the future

That kinda happened, just not in the way everyone thought.

In 2023, JavaScript XML is the most popular way to develop web applications, and a common choice for mobile and desktop applications.

---

EDIT: JSX/React/React Native, in case that wasn't clear.

Re: XML is the future

#25
post #10

In my opinion, one of the worst was things was going from servers to serverless for web apps. Vercel (formerly Zeit) made a complete switch from servers to serverless for hosting and Next.js. Everyone jumped in without realizing just how much more complicated serverless architectures are compared to servers. 1. Having your APIs as lambdas now means you can't simply connect to a Postgres/MySQL without setting up a ded…

Your points do nothing to back up your claim that "serverless architectures are much more complicated compared to servers" 1. You still have to do polling with servers 2. Not a serverless problem 3. Not a serverless problem 4. This is a tradeoff, not complexity 5. Why not? What does serverless have to do with this? 6. Appears you're confusing serverless and FaaS. Regarldess, FaaS has incredibly predictable pricing. P…

1. Pooling is trivial to setup with servers. In fact, pretty much all clients like Knex and Prisma does connection pooling by default without an external dedicated server.

2, 3. The promise is that serverless APIs can be deployed on the edge for improved latency. The edge does not matter if your data is centralized. So you're adding complexity without the benefit of speed.

4. One of the most important aspects of any web app is load speed. Sure, you can say that serverless is better for scaling but who cares if your web pages are randomly adding 3-5 seconds to the loading time.

5. Try pointing your mobile app to Vercel's serverless APIs that are built inside Next.js. Makes no sense.

6. The most common way people use serverless for webapps is through Vercel's FaaS or some other similar FaaS. That's what I'm focusing on. Not confused. No, FaaS does not have more predictable pricing than servers.

7. It is. I just outlined why it is. Even if you want a simple cron job or a simple persistent queue, you can't do it with serverless functions.

8. You're building your entire stack on a FaaS like Vercel with Next.js. It's not as easy to switch hosts like using Docker. I don't know if you were doing development during the Zeit V1 days but one of the main criticisms of Vercel and newer versions of Next.js is now it makes it hard to switch hosts. Whereas, being able to switch hosts easily is default in a docker setup.

Re: XML is the future

#26

> XML is the future That kinda happened, just not in the way everyone thought. In 2023, JavaScript XML is the most popular way to develop web applications, and a common choice for mobile and desktop applications. --- EDIT: JSX/React/React Native, in case that wasn't clear.

Can you elaborate on that?

Re: XML is the future

#27

Earlier quoted context omitted.

> Look I'm not even complaining. But it feels like I'm stuck in a Franz Kafka novel. We just keep changing and changing the same things again and again because that's the new way to do. Big distraction. Destroys your workflow. Forget about all the util scripts you wrote last 6 months being useless. Here's how I stay sane -- I focus on the changes. For the technologies that you noted, here are some good questions that…

I have this impulse to constantly experiment with everything too. And I think it's healthy for your brain to always be learning new ways and testing your preconceived notions of how you do things. A lot of times it leads to incremental advances, either in the next iteration of my existing code or the way I approach my next project. But a lot of it, I can admit, boils down to sheep shaving. When you start figuring out…

> But a lot of it, I can admit, boils down to sheep shaving.

AKA Yak shaving[0], which I am... unashamedly fond of doing

>> There are yaks to shave all over the stack, and I go where the yaks are. (quote is from my github readme)

> When you start figuring out how you'd implement codebase 2009 in stack 2023, and then actually doing it, that's golf. It's all good, it's educational, but it's downright immoral to sell that to a client and drag them through it.

I definitely agree that selling this to a client when you've told them you'll do the minimum to update the codebase is immoral, but if there is value in updating, then you should expose them that value.

For example -- moving a client to AWS might not make sense, but if they're maintaining on-prem infra and paying tons of money for an application that would actually cost less as a single ECS service (or App Runner, these days)... Then maybe you should upgrade their stack a little bit.

In the end it's your job as a consultant or an employee (if you're high level enough) to introduce change that will make the company better, if you see an opportunity.

Tech stacks crumble underneath their own weight, and if they're bad enough, become business risks. If it's humming along, easy to maintain, and isn't riddled with security holes, then great!

[0]: https://en.wikipedia.org/wiki/Yak_shaving

Re: XML is the future

#28
This is a pretty low-grade reactionary ism. Usually without saying so directly the effort seems to be to lambast, to shame & berate. But it does spend a good three paragraphs catastophizing & melting down over Javascript & left-pad.

> We were told to stay on top of the most modern ecosystem, and by that I mean dealing with compatibility being broken every two months.

Some people just want to be ornery & cantankerous.

The article can be not wrong about saying there's too much hype, marketing, and rationalizing that we know real answers. Fools with certainty are everywhere. But it can still be wrong & have a jerk attitude. That we still have to figure things out & can be wrong or overadopt is not some horrible flaw. It doesn't mean we can skewer all these ideas & crap on them like this cavalcade of schlock.

So many of these various ideas do keep reoccurring, keep having real use. XML is reborn as jsonld which has some great uses. Isomorphic JS is alive & well in the new server side react craze. GRPC and Kubernetes and dozens of these other techs provide a normative baseline that let many teams work together where before we had anarchy & disorder.

There's some good messages & ideas here. We do need to iterate & refine & assess value. But also this is a conservative paean. A back to the land, just simple code ideology that is so appealing, that let's folks look down their nose & reject assessing technology fairly, that doesn't allow for valid complexity. Rakishly anti-elitist, thinking itself better for being such a smart source of truth only because it can smash other works so effectively. Be more liberal & open minded, not so fixed: accept that most of these things have some really good morsels or kernels that have value

Modern software is a couple decades old. Of course we are still refining & learning. Most of the things here have provided real value & informed where we go next, happened for real reasons. Some will fade, but many of the ideas will reoccur, will be better more creatively worked in or worked together in more cohesive wholes. This is a great amazing process, we happening live, in a young industry. Absolutely, beware of hype & bandwagons & marketing, of anyone who would tell you this is the way. For we don't know, and we have a long road ahead with many unexpected turns to figure out where computing's truest values lie. Stay young, stay hungry, and stay a bit foolish.

Re: XML is the future

#29

In my opinion, one of the worst was things was going from servers to serverless for web apps. Vercel (formerly Zeit) made a complete switch from servers to serverless for hosting and Next.js. Everyone jumped in without realizing just how much more complicated serverless architectures are compared to servers. 1. Having your APIs as lambdas now means you can't simply connect to a Postgres/MySQL without setting up a ded…

FWIW, after using serverless technologies in both AWS and GCP for years, I think the cloud vendors have largely fixed most of the issues you're complaining about. Few examples:

1. Amazon provides things like RDS Proxy, which is essentially a hosted version of pgbouncer, and Aurora, essentially a "serverless postgres" - no need to manage your own server for connection pooling.

2. Cloud vendors have largely fixed the cold start times through a variety of means like min scaling of 1, warming requests, and functions that can process many requests simultaneously.

3. I don't get your point about not being able to share an API between web and mobile. I do this all the time.

4. When it comes to vendor lock-in, GCP for example offers Cloud Run, which will essentially just spin up any Docker container you give to it.

Managing your own servers can have a huge cost, and this can be an especially large cost for a small team. For example, does your business have any SOC 2 or other compliance requirements? Being on serverless as opposed to being on, say, your own EC2 instances, means a huge amount of work (e.g. ensuring servers are always patched, ensuring they are configured securely, ensuring you have permissions configured correctly, etc.) can be offloaded to the cloud provider, who is frankly much more likely to do it correctly than a small startup team.

If anything, I think GCP's CloudRun is awesome and the real future of serverless. In my mind it has most of the benefits of something like kubernetes with about 1/50th of the complexity.

Re: XML is the future

#30
It's easy to just mark XML off as one of the many fads in tech given how many there are.

But I think it's much more worthwile to dive into the particulars of why it failed. While they're all fads, some of them share commonalities that, in hindsight, I think we can say were major catylsts to their downfall.

With XML, it failed because something like JSON was much simpler. Time and time again I see people saying that json+comments would be the ideal format. Time and time again we see that people prefer simple solutions that they can get jump into easily. Maybe certain problems don't require solutions with those traits, but anything with sharing data among a diverse group of consumers does.

The XML ecosystem with things like XSLT, Xquery,etc, were elegant, but also overengineered and clunky. I would even say that markup itself with closing tags were more annoying than just closing brackets.

Software is still so young... I think it's good that we tried and learned something from it in the short term. Maybe one day we'll get a proper standard with all the right data types that becomes the defacto solution that people learn it even if it's more complicated.

Post reply on HN