G-WAN, Another Free Web Server
mssmss writes "Has anyone used G-WAN — a free (as in beer), supposedly fast and scalable Web server? The downside is it supports only C scripts, which the author claims is a plus since most programmers know C anyway. There is currently only a Windows release and no clear answer in their FAQs whether there would be Linux/Solaris releases. As an interesting aside, releasing a Web server while at the same time fighting a losing battle (PDF) with a large bank over a piracy claim of $200 million (the bank is alleged to have done the piracy) is quite a feat."
Comment removed based on user account deletion
Where's the value/point in releasing another limited-utility webserver?
I see the point in having a few options for a particular category, so that you can choose between different optimizations for things like cost, performance, and compatibility. But why something of limited utility (only runs C scripts) compatibility (only runs on 'doze) AND cost? (not OSS, but it's free!)
I don't know. Even with a fairly "heavy" web server such as Apache, the performance increases by going with another "lighter" platform seldom represent more than a year or so of hardware advance.
So.... Why?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
It looks like this chap has a grudge against Microsoft (he says his company was "eradicated from the market the usual way", apparently by Microsoft) so he wrote this webserver to hit them "where it hurts".
I don't know if spite is the best motivation to write excellent software.
If you're a zombie and you know it, bite your friend!
It ups the difficulty level, allowing you to more easily grind on your way towards Web Master III.
Why does the world need a non-free web server that only runs on Windows when there's already plenty of free (as in speech) ones out there (http://www.apache.org/, http://www.lighttpd.net/) that run everywhere?
i C your point
-1 Bad Pun
Table-ized A.I.
Absolutely. What makes me especially excited about trying G-WAN is that whenever it crashes I'll have the extra fun of figuring out whether the reason it crashed was because my own C code crashed, or because the code in his web server crashed. But wait, there's more! Adding to this really enjoyable programming problem will be the extra challenge that comes with the fact that his code is closed source, so if the crash occurs inside his code, I'll be able to get in there with a debugger and spend an afternoon figuring out what happened and whether there's any way to change the data my code gives to his code so that his code won't crash crash. I can see many really enjoyable weekends ahead of me in my parents' basement, with a bowl of nachos and a liter jug of root beer. Good times!
Find free books.
So the guy wants to write a web server to scratch an itch or something. No big deal there. The question is WHY THE FUCK DID IT MAKE SLASHDOT?
Using C as a "scripting" language. CHECK
Using C as a "scripting" language on a WEB SERVER. CHECK
Writing a non free webserver for windows only with very limited features. CHECK
yep, he's passed the "i'm crazy as a loon" test.
If you mod me down, I will become more powerful than you can imagine....
His server returns 404 for errors:
http://www.gwan.com/csp_crash.html
That's going to make wirting for this thing really confusing.
That would be like saying "the fifth floor is in our building, not a public street address, so this warrant is useless". I bet that would be a useful bit of precedent to establish for lots of people who are served with search warrants. Given the router information mentioned in the article, and the settings of the laptop with an address in the address space, it's unsurprising that our plaintiff was upset that those machines did not get reported or searched properly.
... g-wan, g-wan, g-wan
G-wan, g-wan, g-wan, g-wan, g-wan
Mrs Doyle approves
Yes, your anecdotal evidence clearly suggests that scripting languages have a place as sub-standard languages to design a web-enabled application. Never mind all the professional Drupal developers. Or people that use Joomla. Yeah, platforms like those two are total wastes and it would have been infinitely wiser to write it as an Apache module.
I'm baffled that you point to using C as the root reason that your developers' code had less bugs. Speed I'll concede, but not bugs. Give your guys some credit. I'll bet them using C isn't why they write good code.
I asked him to explain why stable versions (some of these stable releases were several years old, too) of the software he was recommending contained over 100 bug fixes. He couldn't provide a suitable answer, and thus management gave him the boot. And so we're not using Drupal.
You are out of your mind. Bug fixes to a stable release is your metric of quality?
May I ask what OS you guys are using in your bug-free paradise? You know, the OS that doesn't need any bug fixes after release. That one. I'd like to go buy myself a copy because that sure sounds great.
Weaselmancer
rediculous.
Absolutely. What makes me especially excited about trying G-WAN is that whenever it crashes I'll have the extra fun of figuring out whether the reason it crashed was because my own C code crashed, or because the code in his web server crashed.
Finding where a program crashed is way easier than finding a logic error, and those can occur in any language. Actually, debugging crashes can lead to discovery of certain kinds of logic and/or runtime errors that would be difficult to find if your runtime environment is protecting you from ever seeing a crash (heaven forbid).
I'm as much a fan of high-level languages, nice runtime environments, and useful abstractions as anyone, but I also happen to think that C gets more flak than it deserves. I really think universities are doing their graduates a disservice by educating them in the safe, comfortable confines of Java if they don't also teach them C. In my own subjective experience, the most capable and successful programmers I know (in any environment) are also the ones who are very comfortable in environments without garbage collection and restricted memory access.
This author takes full ownership and responsibility for the unpopular opinions outlined above.
Finally a platform with built-in buffer overflow support!
Let the exploits games begin!
Finding where a program crashed is way easier than finding a logic error, and those can occur in any language. Actually, debugging crashes can lead to discovery of certain kinds of logic and/or runtime errors that would be difficult to find if your runtime environment is protecting you from ever seeing a crash (heaven forbid).
Except when your non-protected runtime doesn't crash and instead overwrites the stack, corrupts the malloc arena or writes to a dangling pointer causing corruption in a completely unrelated part of the program. Hours and hours of fun!
One of the most important thing that managed programming languages brought is the fact that other parts of the program can't corrupt the system enough to make things undebuggable and that an error in a module is self-contained enough that it can't trample other parts of the program due to a memory error.
I do agree though that C and other unmanaged languages should still be taught.
Jean-Francois Im's blog
In response, I opened up a web browser, and found the changelogs for the most recent releases of the stable versions of PHP and Drupal. In front of management, I asked him to explain why stable versions (some of these stable releases were several years old, too) of the software he was recommending contained over 100 bug fixes.
That's crazy. I think that consultant dodged a bullet by avoiding having to work with you guys.