Live data from Hacker News

The FuqIt Web Framework

github.com

41–50 of 84 posts

Re: The FuqIt Web Framework

#41
post #16

There's a niche for something that's as sloppy-easy-to-get-started as PHP, but with a more concise/consistent/powerful language. Perhaps, a "PYP" - Python with PHP characteristics. This is a little like that.

Just serve .py as CGI. Hardly the stuff of legend.

Re: The FuqIt Web Framework

#42
This has too much functionality. Sometimes I just want to statically serve all the files in a directory and its subdirectories.

    cd not_my_porn_folder
    python -m SimpleHTTPServer

Re: The FuqIt Web Framework

#43
post #16

There's a niche for something that's as sloppy-easy-to-get-started as PHP, but with a more concise/consistent/powerful language. Perhaps, a "PYP" - Python with PHP characteristics. This is a little like that.

I did one of these! The RHP Hypertext Preprocessor - https://github.com/gunn/RHP

Someone asked on stackoverflow why PHP is so easy to learn, so I wondered how much learning curve we could cut away. Drop .erb and .haml files in a dir. Done.

Re: The FuqIt Web Framework

#45
post #13

Well must be a slow news day today so I'll say a few things about FuqIt for the high-minded HN crowd: 1. Don't run this at all in anyway that someone can access it. It's ultra hackable. Extra points if people can point out why. 2. I basically am just goofing off. The idea though is this thought: "What if PHP got it right?" 3. There's some little tricks in there you may not have seen before. Take a look at the code if…

I've seen something similar done with the Mako templating library which allows mixing html and Python. We jokingly dubbed it PHPython, and it had grown into horrible spaghetti.

I think what happened was it started out as a quick and dirty thing that just grew and grew.

Re: The FuqIt Web Framework

#46

Earlier quoted context omitted.

Isn't the interesting idea basically CGI?

Depending on how much you want to reduce it, you can dismiss almost anything having to do with a webserver this way. Some more powerful versions that dismiss any and all computer related ideas that have output: - But isn't that just calling a bunch of syscalls? - But isn't that just moving a bunch of bytes around?

Well, yes, but I picked CGI for a reason. Zed says in one of the other comments that the inspiration for this was "What if PHP got it right?" PHP came out of a long tradition of CGI apps, as a way to make templating dead-simple and still provide a bunch of programming language tools.

The brilliant idea behind CGI is that you set a directory as your cgi-bin, drop an executable file, and then the webserver will run that executable and pass in a bunch of data from the request as environment variables and on STDIN, and then send STDOUT back to the browser. It's an incredibly powerful idea with a really simple implementation. You can write your scripts in any language, they can do anything, they can present further abstractions and run other scripts, they can embed other languages like Python or PHP or Haskell, and they can embed other frameworks like Django or Rails. And all you have to do is drop a file in a directory and make it executable. All because of the power of plain text: CGI "speaks" a uniform interface that any computer language can understand.

When I saw FuqIt, I thought of CGI because the brilliant idea behind FuqIt seems to be "Drop a Python file or Jinja template in a directory, and we'll call it via a uniform interface". Kinda like CGI, huh, except it's restricted to Python? (Actually, there's another standard - WSGI - that's built around the same principles as CGI but restricted to Python.)

Re: The FuqIt Web Framework

#48
post #16

There's a niche for something that's as sloppy-easy-to-get-started as PHP, but with a more concise/consistent/powerful language. Perhaps, a "PYP" - Python with PHP characteristics. This is a little like that.

I feel like http://aspen.io/ sort of does something like this already. Written in Python and just uses the filesystem to generate content rather than a MVC.

Re: The FuqIt Web Framework

#50
Just wanted to say a special mention to the knife_or_banana method:

    def do_GET(self):
            try:
                self.knife_or_banana(self.path)
          [...]

    def knife_or_banana(self, path):
            # THIS AIN'T THAT SECURE, BUT FUQIT
             root, ext = os.path.splitext(path)

          [...]
Post reply on HN