3 ms·
> [XML] lacked all the facilities that apply to writing good code, so principles like “Don’t Repeat Yourself” went overboard and copy/paste programming ensued
by tannhaeuser 6y ago
> [XML] lacked all the facilities that apply to writing good code, so principles like “Don’t Repeat Yourself” went overboard and copy/paste programming ensued
Technically, XML has entities (text substitution variables) and entity references, along with a evolved infastructure to share declarations and declaration sets via parameter entities. Of course, that doesn't help with tools such as maven which outright forbid use of entities and use their own ad-hoc mechanism for reuse. Technically, this makes a pom.xml non-XML-compliant, but in any case, whining about XML pointless when the creators should rather blame themselves for using XML in the first place, and then using it inappropriately.
As to FaaS, I don't see the problem with CGIs; they've stood the test of time with ultra-robustness and uptimes in the range of years and decades, including service updates with zero downtime by virtue of Unix processes being detached from their binaries (unlike Windows processes). Also, since you can run CGIs as one-shot invocations on the command-line, developer feedback as postulated in TFA is excellent. Of course, CGIs itself use environment variables rather than function or command-line arguments, so their lifecycle is bound to Unix processes. What helps is to use wrappers rather than coding to CGI specs directly; we had this in 2007 already with SCA (service component architecture). Maybe it's time to refresh SCA with new bindings for AMZN and other proprietary FaaS to bring back the portability we valued highly in pre-Cloud times?
- chubot 6y agoAs to FaaS, I don't see the problem with CGIs I'm sympathetic to this view point, but a few problems: (1) Startup time. FastCGI solves that, but it's a more complicated protocol that requires language support, unlike CGI. (2) Language support and (web) framework support. Python's FastCGI support is kinda crappy; you'll probably see worse in other languages. Although I noticed Rust has some FastCGI bindings, so I guess people are still using it? (3) Container support. This is probably the biggest one. All the hosting providers that I know of that support CGI or FastCGI don't give you root (for good reason), and they also don't support rootless containers (good reason 10 years ago, maybe not a good reason now) So if shared hosting starts installing "bubblewrap" rootless containers on their machines, then we could build our own "serverless" FastCGI. But we can't really do it now. I use FastCGI on Dreamhost, and I just tried it on NearlyFreeSpeech, and neither is quite adequate. It's funny how small a distance there is though. https://news.ycombinator.com/item?id=25488958 https://news.ycombinator.com/item?id=25488958 https://lobste.rs/s/9o4zsx/back_70s_with_serverless#c_9hxzjs https://lobste.rs/s/9o4zsx/back_70s_with_serverless#c_9hxzjs