

Others have written on the topic. Including Greg KH - one of the major Linux maintainers.
Others have written on the topic. Including Greg KH - one of the major Linux maintainers.
memory safety isn’t impossible in C
In practice it is.
C is also faster than JavaScript, uses less memory, I wouldn’t consider a scripting language to even be a choice for writing a backend server if I can use a compiled language instead.
Neat.
No. Go away. That’s not “starting a social media app” now is it?
Besides, even the Linux team has started the shift away from C.
Edit: besides - “Linux does it” doesn’t mean it’s beyond criticism. Linux has had numerous security vulnerabilities due to C.
C is a “memory unsafe” language. There are whole categories of security vulnerabilities that simply aren’t possible in memory-safe languages that C allows. There is no good reason to continue using C anymore for new projects if you care at all about security.
https://www.cisa.gov/resources-tools/resources/product-security-bad-practices
Bonkers that anyone would start a social media app in C in 2025. “No JavaScript” but you’re just one buffer overflow from arbitrary code execution.
Free tier is a baiting strategy. Period.
Oh does it? I didn’t realize that. I’ve just switched over to rsync completely.
scp is deprecated.
Not in a VM is better usage - but “metal” refers to the hardware. Traditionally it’s used for embedded devices - no OS. But containers run on the hardware / OS in exactly the same way that non-containerized processes do. They even share the kernel of the same OS. There is no way non-containerized processes run on “metal” any more than containers do.
Inter-container communication is different. At least with docker which I have more experience with, but they’re similar. Try using the name of your container in your proxy config rather than the external host name.
Are these running on the same server? You haven’t given a lot of information here. Communication between containers is different:
“bare metal” does not mean “outside of a container”. Just say “outside of a container”.
It’s a losing battle, but I’ll fight it anyway.
If you’re just pulling “latest” then docker will fetch the latest when it starts. You can pin to a version tag if you want to keep it stable.
Yeah, you can’t. There is no guarantee that clients will use dns servers in any particular order.
You will get the stack at the point of your ‘debug.Stack()’ call though, not where the error happened.
I’m leaning go, and starting to get used to it, but the error handling is just obnoxious. The constant “if err != nil” makes reading the actual logic so much harder. I’m surprised they haven’t come up with some syntactical sugar to make it simpler yet, but these devs seem to see it as some sort of “badge of honor” to suffer.
Ah - I get that. You have my sympathies.
A personal project like that would be a great way to train/get experience then. But do realize that it becomes a lot more complicated once you have people other than yourself relying on your application. Suddenly up-time becomes very important and up-time is hard. End-users, even friendly ones, get very frustrated when you say “try now please” a lot. They’ll just stop using it.
HIPAA (not hippa) is not even remotely applicable.
Cheap and easy are in opposition here. Which matters more? There are symptom and medication apps already that would be easy and available right now. And you don’t need to do tech support for family.
True is anything other than zero in C.
Making C go away will require major rewrites of projects that have millions upon millions of hours of development.
Yep. And it’ll be done. Yes it’ll take a while, but this is what it means for C to be like COBOL (which also still exists). But the more and more it can be marginalized the better we’ll all be security-wise.
The rewrite-it-in-rust gang arrives in 3, 2 …
Cattle not pets. They’re just computer languages.
It’s bad form to just say “set this variable to this value” without any explanation about what that variable does and why that value helped.
Your configuration may not work or may be detrimental for others.