Don't use a CMS or third-party hosting. Use Hugo, or whatever the cool-kid approved static website generator is these days, and throw it on CloudFront/Cloudflare/wherever.
haha Hugo seems to be cool-kid approved, thinking of going with something around that - github pages etc.
A CMS or third party hosting is definitely more work and also technically reduces the chances of discovery - at least that's what I feel initially
I watched this one recently, and was going to share it here. I'm not in the field, but this looks like a nice demo of the current launch systems UX, unlike the tens that are dated to the early 80s.
I've been using Joplin for note taking in the terminal: https://joplinapp.org/terminal/. Joplin is great since it also has mobile apps, and you can sync with multiple backends (Dropbox, OneDrive, S3).
But it's anything but simple though, it brings along 579 dependencies.
djb wrote remotely exploitable C for qmail, applications written by the OpenBSD team have had exploitable memory issues, Microsoft still doesn't get it right, neither do Linux kernel devs.
You say that as if the likes of Microsoft or Linux kernel devs consist exclusively of elite C devs.
I'm very glad languages like Go and Rust exist, but saying you shouldn't write C because you might create memory leaks is kind of like saying you shouldn't write multi-threaded code because you might create race conditions. Yeah, it adds complexity to your code, but it's sometimes worth the overhead it saves. Whether that trade-off is worth it is always up for debate.
Oh, I agree it is a tradeoff. But the parent said "you can learn to miss every time". Can anyone point me to a C language project where the developers consistently miss every time?
It’s possible with rules, experience and guidance.
Granted, I learned to write C 25+ years ago, and have worked as a C programmer for 15 of them, writing mostly embedded software for mobile phones (pre smartphone), airport sorters, but have also written financial software (mostly for parsing NASDAQ feeds), but the point is that most of the software I’ve written has had close to a decade of “runtime”, and while I started out making the same mistakes as everybody else, you learn to put ranges on your heap pointers like strncpy instead of just blindly doing strcpy.
Checking the size of your input vs your allocated memory takes care of a lot of it. As for memory leaks, it’s not exactly hard to free a pointer for every time you malloc one.
People are terrified of C, and yes, Go, Rust, Java, C# makes it harder to make _those_ mistakes, but that doesn’t mean it’s impossible to write good C code.
And it’s not like projects written in Go or Rust are error free. They just struggle with different errors.
As for good C projects, check stuff like postfix, nginx, and yes Linux or FreeBSD.
Are you saying that every project written in C has suffered from a memory leak issue at some point? Most C/C++ code I've personally written doesn't even use the heap.
I work on avionics and we use C/C++ now and then. We have a ton of rules regarding memory management (pretty much everything stays on the stack) and I can't recall anything I've ever been involved with suffering from a memory leak.
Don't need a leak for C code to be vulnerable, in fact not using the heap helps - just one missing bounds check on user input and you can write to the stack. OTOH, W^X should catch those.
It’s not just the developers. The code gets reviewed and merged as well. I don’t know which projects but those are the highest quality C code based.
Writing in C doesn’t create complexity but lots of traps to fall in. Writing in C doesn’t save overhead over Rust. Your rust code can be very low level and safe and C isn’t that close to hardware as it used to be anyway.
Provider to recommend to your parents or grandparents: Callcentric
Provider for hobbyists who need flexibility: voip.ms
Provider for cheapest termination rates and flexibility: Anveo Direct (not the consumer product)
Bria and Groundwire have good SIP softphones for mobile, but aren't free. Since multitasking on iOS is so limited, these apps can register on their own servers, then send push notifications on calls.
3CX or Asterisk are good choices for connecting to trunks. 3CX is much less flexible, can cost money, but is "easy".
not sure of one specific number. Say you have achieved product market fit and the lifetime value of your customers (LTV) is less than three times the cost of acquisition, you probably be better of getting leverage from debt and gain marketshare. Depends on the market you operate though.