0 points
*

my website’s backend is made with bash, it calls make for every request and it probably has hundreds of remote arbitrary code execution bugs that will get me pwned someday, it’s great

edit: to clarify, it uses a rust program i made to expose the bash scripts as http endpoints, i’m not crazy enough to implement http in bash

it behaves like a static file server, but if a file has the others-execute permission bit set it executes the file instead of reading it

it’s surprisingly nice for prototyping since you can just write a cli program and it’s automatically available over http too

permalink
report
reply
0 points
*

you do realize that you can just use Apache instead of writing your own rust program for this, as this is more or less the CGI standard?

permalink
report
parent
reply
0 points

I know about the CGI standard, but mine does things a little differently (executable files don’t just render pages but also handle logging, access control, etc. when put in special positions within a directory), so I still think it was worth the afternoon i spent making it.

permalink
report
parent
reply
0 points

Yeah, especially if you did this for practice.

Just saying, that apache, for big projects, is more battle-hardened. ;-)

permalink
report
parent
reply
0 points

I’m currently trying to relearn all my advanced bash in python.

permalink
report
reply
0 points
*

i already learned how to use my operating system, now you’re telling me I have to learn 30 new libraries that do the exact same shit?

permalink
report
parent
reply
0 points
*

no, you’ll also have to learns each libraries special quirks on your OS

permalink
report
parent
reply
0 points

i feel this

permalink
report
reply
0 points

Before nginx was a thing, I worked with a guy who forked apache httpd and wrote this blog in C, like, literally embedded html and css inside the server, so when he made a tpyo or was adding another post he had to recompile the source code. The performance was out of this world.

permalink
report
reply
0 points
*

There are a lot of solutions like that in rust. You basically compile the template into your code.

permalink
report
parent
reply
0 points
*

yeah, templates can be parsed at compile time but these frameworks are not embeeding whole fucking prerendered static pages/assets

permalink
report
parent
reply
0 points
*

Compiling all assets into the binary is trivial in rust. When I have a small web server that generates everything in code I usually compile the favicon into the binary.

permalink
report
parent
reply
0 points

Ah, you met fefe.

permalink
report
parent
reply
0 points
*

Fefe uses a LDAP server as backend, not Apache

permalink
report
parent
reply
0 points

He uses his own http server called gatling and an LDAP server instead of a database.

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 3.7K

    Monthly active users

  • 810

    Posts

  • 13K

    Comments