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
Why would you need this web server? What niche does it fill that Apache cannot?
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!
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.
There is currently only a Windows release and no clear answer in their FAQs whether there would be Linux/Solaris releases.
The main page at gwan.com :
It also means that G-WAN will be (much) faster on Linux and Solaris.
Sounds like the person writing the summary didn't bother to read the pages that they linked.
in its report made on May 26th, 2006 M. MARC MORTIER from BEFTI reckons that "the 10.249.17.10 network address belongs to the address range of FINAMA bank", and that his "laptop is using the 10.249.24.60 IP address".
If their claims are based on the assumption that 10.249.*.* is a Finama bank owned IP subnet, then they are in trouble.
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.
People claim Apache is slow, but why not using a reverse proxy like Varnish to "speed it up" and still keep the features. I really see no reason why I should use G-WAN or lighttpd.
Some of the most reliable and, surprisingly, cleanest web apps that I've worked with were written in pure C, as Apache modules. But this insurance company did have the money to hire real programmers, not just scripters and web designers.
Using C helped force the developers to avoid the extreme overarchitecturing that basically every Java- or ASP.NET-based web app suffers from. The code was simple, right to the point, and left very little room for bugs to creep in.
The system was also very fast, requiring just a single web/application server to support several thousand simultaneous users. The only reason multiple web servers were used was for failover purposes.
When I first joined them, after a number of years of using Java and Perl, I thought they were fucking nuts. But after working with them for a few years, I saw first-hand that they took the correct approach. Their web apps contained significantly fewer bugs than I would've expected from a similar-sized and similar-complexity web app written in Perl or Java. They also produced code far faster than would be expected, because they didn't get bogged down in design patterns and excessive architecture and all the crap like that we see from too many Java developers. Their web apps were damn fast, even without them bothering to tune them.
There's a place for using PHP, Perl, Python, Java, Ruby and C# for web development. It's when you want to throw some shitty web sites together really quickly, without much concern about maintainability or user experience, using the shittiest and cheapest Indian outsourcing firm you can find. Otherwise, it's a better idea to use a few talented programmers and C.
If I were to put up a webserver a production, supported Windows server, I'd just click the box to install the IIS component. This Windows only server has no commercial value for corporations, unless they want to run some features on a client version of Windows that are not included with the client version of the web server... and nobody but the smallest SOHOs would gamble their business on doing that.
If I wanted a "lightweight" Web server on Windows, I'd use something that has been around a bit and has the bugs stomped out. lihttpd has been around for about six years, and there is a less of a chance of a new show stopper bug or security hole popping up with that as opposed to a version 1.0 utility. Also, IIS isn't a hog. The difference in performance between a "lightweight" server versus Apache or IIS most likely would not be worth such a change in the stack. Instead, the time and effort that would be spent getting a new Web platform out there would be better spent deploying more Web hardware, or adding SSL acceleration.
So, other than a toy to play with, I don't see any real need for this program. Its niche is far more covered by more capable utilities.
Hey, look on the bright side: at least you don't have to write your scripts in asm.
Sorry, but I won't run a HTTP server where the author think running native code extensions with no security checks is good.
Beware: In C++, your friends can see your privates!
Or is the guy who wrote this completely and utterly nuts, in every way? I don't even need to cite this, just visit the labyrinth site and wait till your mind melts.
Well, atleast for C you can get thousands of open source scripts and internet libraries to set up your website or help hack your own...... yup......
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
Won't you have a cup of tea, father? G-WAN! Oh, G-WAN, won't you have a drop? G-WAN!
Wooooooooooosh!
If you're going to be "scripting" in C on Windows you might as well go fully compiled with IIS (free with any Windows OS you'd be running on a server) and C# (Express version also free). Get MySQL with ODBC and you're all set.
I use PHP on Apache for flexibility. If I wanted to use C I'd compile it.
Work Safe Porn
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?
Wooooooooooosh!
I really wanted to mod him -1 Whoosh, but you got there first..... No Fair
A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort.
He even fucking linked to those two languages. This has to be a troll.
His server returns 404 for errors:
http://www.gwan.com/csp_crash.html
That's going to make wirting for this thing really confusing.
The key is they hired real programmers. The "C experience required" weeded out the script kiddies and copy/pasters, but surely it would have been reliable and clean if they had used perl or java or something else. Ok, maybe not java.
A lot of web apps are primarily string processing and db interfacing; a scripting language is a more natural fit in that scenario.
... g-wan, g-wan, g-wan
G-wan, g-wan, g-wan, g-wan, g-wan
Mrs Doyle approves
The G-WAN author is the poster child for "premature optimization". Apparently nobody's told them that it doesn't matter if your site can handle 10000 req/s if it takes 10x longer to develop and has no users...
His example of how PHP isn't more concise could be equally well entitled, "How to write PHP with as much FAIL/loc as possible". The reimplementing of what should be library functions (atod, uceil) just adds to the heap of FAIL.
Finally, I particularly enjoyed the bit about how you might not want to trust "third-parties (compilers, operating systems and Certification Authorities)". If you think that the operating system and compiler vendors are out to get you, some serious professional help may be in order... Nevermind that you're also still trusting a hyperparanoid optimization freak from Switzerland who won't even show source code.
...the thing about C is that libraries written in it are among the easiest for higher level languages to interface with. It's almost ironic in a way that C gives more freedom to those who refuse to it.
Time is what keeps everything from happening all at once.
Really, what's the point of posting a story of another unremarkable and very limited webserver? It's cool by me if kdawson simply found it on the top of the stack so he clicked bugger. I mean, it's not like I'm paying to browsing here. That what's going on here? Like I said, you know, it's all good by me. But I'm curious, you know, and ... well, you know what I am saying, right?
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
i C what you did there.
G'wan! Another free web server??
Comment removed based on user account deletion
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.
First: Java Front to BACK: Jsp/JavaServerFaces, Enterprise JavaBeans, Java Objects in the Database instead of Stored Procedures.
- The Java to Database: Persistence API supported on Oracle, MySql and Postgres.
- OpenSolaris( fastest OS out there ) or Mac OS X Server.
- Glassfish( most advanced Web Server )
- Free, take your pick Email servers
- Take your pick Oracle Database or free MySql or Postgres.
- Fast, EASY to Code, Java Front to Back.
- Most Secure web server.
- Most advanced web server, No Memory Leaks for example.
- Java: Code Like C, but let GlassFish Save your butt.
...could be worse - it could've used only the .NET framework
Oh, wait...
Quo usque tandem abutere, Nimbus, patientia nostra?
True, but damn - an ASM-only web server would be hella fast! (and hella boring).
Quo usque tandem abutere, Nimbus, patientia nostra?
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.
Scripting languages tend to be written in C. I've written my share of HTTP app servers as native code and some in scripting languages (one in C/lua a few years back -- fast). Frankly, the typical web stack is a rickety, cobbled together piece of shit! Web server, rewrite engine, scripting host, language framework, database abstraction library over an underlying database lib... It's often cleaner and leaner to write the entire app as a daemon which handles a subset of HTTP and then to reverse proxy.
I've been playing with Google's go language recently; even given it's current state, I'll not hesitate to state my preference for go over any scripting language for a web app.
I did write a MASM interpreter once. Perhaps I was doing it wrong, but it was _not_ fast. What it was: an abomination with all the convenience of assembler combined with the speed of interpreted BASIC. It was an interesting intellectual exercise, and that's all.
If you want a superfast scripting web language, try APL. You could probably fit all the APL code ever written in your CPU cache.
Help stamp out iliturcy.
C scripts are not C, it's just a scripting language that looks like C. You can't actually import normal C libraries and if I recall (I've only used C scripts once) you can't do much in terms of memory operations. On top of that they are scripts, so if they screw up the parser will tell you where thing crashed. Please don't be so critical of something you don't understand, scripts with C like context are nothing new and there are a variety of advantages to using the same syntax between your actual code and your scripting language.
Also, the scripting languages you mentioned are either not easily embeddable or somewhat focused for certain purposes. You should realize simple scripting and embedded scripting can be very different things. Particularly scripting languages like Lua can prove to be quite incredible, offering extremely advanced features (like tables) while still remaining surprisingly quick. Depending on what you are doing Lua can actually allow less capable programmers to write surprisingly complex code to enhance your program - we used it about a half year ago and with our scripts you could get moving objects on the screen in 3 lines, interactivity in 7, and easily an entire interface in less than 100. There are also a variety of scripting languages for actual embedded (as in hardware) applications which focus on being fast and light, but are often equally light on advanced features. I'd like to see you get python running capably on an 8-bit MicroController, or php doing something useful on one....
Why not just use Apache? C isn't designed to be used for server-side scripting...
You lives somewhere with free beer? Where is it so I can move in?
> software he was recommending contained over 100 bug fixes
So, did you guys replace windows, exchange, office with other products? Wait a minute...
Oops, my bad. You were talking about Joomla and Drupal. Somehow I did a mental s/Joomla/windows/g;s/Drupal/Office/g' in my head - subconsciously, I might add. And the whole time I was like - "Those bastards! The SP[123] and the freggin updates.windows.com" and not letting me shut down my computer without applying patches every other day (or so it seems)... But you're right. I googled a bit for a list of all the bugs for Windows and Office and couldn't find it. Occams Razor: there are none! That's professional! The Drupal/Joomla punks have the bugs listed on their OWN website!! How amateur!!
he should create a minor update, labelled as a very important security fix, with destructive intent if it's in Groupama's network.
He won't be responsible, since the bank has claimed G-WAN isn't even there. They might wish they had paid the $140 million...
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.
Oh great, you can't import real C libraries. So you get the all the annoyances of writing in C, while losing the platform flexibility and the availability of powerful external libraries. Wow, sign me up! While your at it, can you get me a spot in your "slamming your dick in a car door for fun and profit" workshop?
Finally a platform with built-in buffer overflow support!
Let the exploits games begin!
Passive Aggressive Douche.
Bait taken.
You can't read hex core dumps? Sissy.
P.S. At first I thought "G-Wan? Must be Obi-Wan's brother."
Too bad that "Use the source, Luke" doesn't apply.
thegodmovie.com - watch it
I've deployed hand written C web servers, not as an Apache plugin, but as a standalone server so I've seen what kind of performance you can get by cutting out all the bloat you don't need. For example, you can get a huge CPU boost by not fully parsing the headers and picking out only what you need. The server was difficult to debug at times (valgrind helped) but in the end it worked out pretty well because the needs at the time required a centralized solution. We were able to run a fairly high volume website on a single multi-core box. That's unheard of in enterprise level dev shops.
It worked because the architecture was centralized and the software deployments were super simple. When the requirements need an decentralized architecture that scales with IO or scales to astronomical numbers, it becomes impossible to make that work. It's been my experience that IO is generally the problem, not CPU. There are physical limitations with scaling IO on a single node so you're forced to go with a fleet of nodes. Maintaining C/C++ business code on a fleet is a LOT more difficult than doing the same with platform independent languages.
Part of the problem is that a C/C++ server is interacting directly with the OS and its libraries so dealing with the slight differences that always come up gets to be a huge time drain. It's a lot easier to develop, test, and deploy with a scripting language. Regardless of the underlying kernel and libraries, you can be reasonably assured your script will "just work" when the kernel and libraries vary. Also, C really is harder to get right the first time. Having built in memory management is a huge time saver because "sloppy but correct" code won't cause downtime. Be sloppy in C, and the website goes down hard.
Camping on quad since 1996.
That is assuming that you have symbols so you get at least a meaningful stack dump.
Without it you're SOL.
thegodmovie.com - watch it
---
Web Servers Feed @ Feed Distiller
I I just found G-Wan last week, while looking for a C-based web framework. Unfortunately, it is Windows based.
Can anyone recommend other C-based web frameworks, for those of us old guys who were raised on C?
I like environments without garbage collection, it gives more control, and doesn't degrade system performance while everything has to slow down continuously for GC.
But as for working in an environment without protected memory... that's just crazy talk.
It looks to me like someone took their homework project from Freshman year and decided to toss it out on the internet to see if anyone bites.
'The tyrant will always find pretext for his tyranny.' - Aesop's Fables
Pfft. Debugging symbols are for sissies. Or rather, they're not terribly useful unless you have the source as well.
But really, people who crack DRM'd software and reverse-engineer malware do quite a lot without any help from the authors of the software.
And after reading items on this timeline. I begin to question the author's sanity...
It never crashes or has a bug.
If it seems to have a bug, then it must be that big companies Poisoned DNS servers!
"Part of the problem is that a C/C++ server is interacting directly with the OS and its libraries so dealing with the slight differences that always come up gets to be a huge time drain."
It's more than a time-sink, it's a vulnerability... Consider:
If / when Microsoft ever considers G-WAN a risk, it's so easy for them to
create incompatibility that kills or drastically slows G-WAN for the kill...
This is why WE NEED THE BLOODY SOURCE CODE!!!
PS As I read this projects' info, the reason source code isn't available now
is, that it could be misused, etc.
There is no agreement to consider fixing any belatedly discovered
bugs, so what do we have to depend on here?
Also, the reason G-WAN isn't available as a native-Linux application
seems to do with its author's or project's desire to affect Microsoft's
web server
From what the OP wrote (ie, about the other matter pending in author's
Life), this project could end up disappearing, with NO support avail-
able (eg, if the author loses in the court(s).
More reasons for releasing the source code ASAP.
Maybe someone can uncompile it & we can go from there
If Author wan't folks to jump on this new platform, he's GOT to either
1. release the source code (my preference),
2. port it to Linux or
3. hand it to as someone else, who's just interested in writing
good code, & not quite as consumed with the battle, eg, for
good & evil).
Meanwhile, people who still have a little bit of sanity left can write FastCGI applications with cgicc and serve them using Cherokee, nginx, Lighttpd or Apache.
Sell to a government, your premature optimisation becomes effortlessly scalable. :)
10000 req/s is the big number feel good bait.
Takes 10x longer to develop malware for
Script kiddies cannot do C, only black hats, white hats and grey beards can that. C adds a touch of class and college lab sophistication.
"has no users" spin that as security thru obscurity with a hint of patriotic nationalism.
As for source code trust, people loved Enigma, Crypto AG, Apple and MS.
Domestic spying is now "Benign Information Gathering"
I'll one-up you and say we need a good Fortran education for our youth. Same reasons, but its even easier to produce dangerous code.
I guess it's OK to speculate on a new widget, like G-WAN, but
has there been an Alpha and/or Beta release of G-WAN?
Has anyone - here or elsewhere - claimed to have used G-WAN?
(How do we know there's no software bomb in the small ZIP,
eg, that could take away our files or screw up Windows?
OK, that's hardly likely... but it IS a theoretical possibility.)
Where is the System Requirements list?
Which version of Windows is it able to run on?
Are there any problems running it on Win 2000?
Which C compiler was used to compile & test C-scripts for it?
What compiler parameters & configuration are best to use?
Same question for Linker (if required)?
Was a free/OSS C language used? / tested? / can it be?
Same Q about its compiler parameters & configuration?
Is it simple .COM files that we need or .EXE's for C-scripts?
If a .COM, where to locate the code? etc.
How to test user-created C-scripts? (So far, we've only
had speculation about how to do this.) As we don't have
G-WAN's code, how to properly test C-scripts for it?
(I'm NOT trying to sound sceptical here, I'd just like to know
more, before committing resources to digging into G-WAN.)
Are there some user communities, yet? Where (URL's)?
And - why not? - Has anybody reverse-engineered G-WAN
to have a look at all that's inside the (so far) closed-source
box?
TIA.
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
I'm also a sysadmin at a social networking site with highly dynamic content. Unfortunately, Varnish won't help much because over 90% of the cumulative CPU time is ate up by the MySQL server.
The Web is like Usenet, but
the elephants are untrained.
...and want their CGI back.
This seems like an ideal tool if you want to have a drop-in solution for a zombie network to host illegal or pirated shit all over the internet.
Runs on cruddy already infected hardware! Perfect for Grandma Gertrude and Grandpa Horace to have hidden in their computers.
Feature set of this thing seems like a newer version of that pile of crap ORielly WebSite Pro.
Stay away... this dude doesn't want to kill IIS, he wants to kill every windows install anywhere on the planet.
I mean ... it must absolutely be a prank! The project's website looks like a bad infomercial - the guy's application is like a student project (write a simple web-compliant server that runs CGI scripts) gone totally wild.
If you need time-critical efficiency in your web app, I suggest you make your front-end in a high-level framework to do the pretty printing and then delegate the CPU-intensive requests to some back-end server written in highly-optimized C.
The truth is web-servers are usually mostly CPU-idling, the real clog is in the I/O. There's no "vertical scaling" goal to reach here by making the code more efficient. You need to buy monster hardware.
Only very few people can do string processing in C. Actually I believe more people can do string processing in assembler than in C, as with assembler you see where the problems are whereas C makes you believe it has some kind of string support.
I can't tell if sane or not but it certainly sounds like he is putting much effort into some software.
So it would help to defuse the impression of insanity that most of the posters here are suggesting. He doesn't sound insane at least not for a French programmer who has left the country due to corruption apparently.
Personally I would suggest an online explanation in more detail of two points:
1) Would he offer source to a company/institution that will sign an NDA? I bet he would sell it to say Facebook if they wanted to compile their own.
It isn't a crime to do closed source software although to my mind not offering the source in any way is going to slow adoption.
2) I took the time to read the blog and pdfs. His legal problems seems to have started when he caught a bank using his software. See: groupama.pdf
This refers to software he makes (in Switzerland now), Remote Anything
Okay. First, the pdf shows they have installed packs of 65535 units of his software. This makes no sense at all and looks like a dumb programming bug. He doesn't show the evidence he has, or how he got the reports. I imagine he has a phone home routine in his program. This is maybe why it gets called a virus too I could imagine, if that is the app he is talking about. The $200M fine he is seeking is therefore either crazy, a lie, or else based on such strong evidence I can't imagine not mentioning it. I think he needs to explain what the evidence is, how he got it, and why the numbers suggest some binary math errors. He has four lines that look like "64 DS + 256 Masters + 65536 Slaves = 34 million euros" and this is totally crazy. He seems to be suggesting they are using 250,000 clients if I am correct. His own site says Fortune 500 companies often buy tens of thousands of licenses. He should explain the discrepancy.
I think if he does these two things then he could expand his market more. If he doesn't want to go open source fine but comparing it to open source projects then should include this caveat. Maybe he could get a university or famous security company to audit the code.
People that never learn C or delve into actual hardware & kernel architecture have real troubles with issues such as concurrency, atomicity and threading. High performance code is difficult to master in Java, as you much understand what's happening in the implementation.
You seem to forget that the Java core is written in C/C++? I've worked at top tier industry web sites - java is not immune to stupid code practices. It crashes a bit nicer, but downtime is still measured in lost dollars.
I said no... but I missed and it came out yes.
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. He couldn't provide a suitable answer, and thus management gave him the boot. And so we're not using Drupal.
http://php.net/ChangeLog-5.php
Most recent version has approx 110 bug fixes, which was on 19-November-2009, the previous version (minor version) had a pretty big pile and that was just a couple months prior, and the same story going back.
The Drupal changelog shows... 3 bugs fixed...
So.... either your story is pure bullshit, or you are a first class moron. Or both more than likely.
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.
It's not too bad if it's a per-request fork()ing server. But under Windows... :(
I'd rather bug hunt crashes and core dumps than dig through bugs related to misuse of massive dynamic type systems.
On the otherhand I would not want one silly double free() bug to take out my entire site.
I demand something that is:
When I find it, I'll be sure to share it with all of you. Well, there is Yaws, but it's written in Erlang (not sure how to exclude Yaws given my list).
“Common sense is not so common.” — Voltaire
In my experience, most "professionals" are hardly any different than amateurs, except for a stuck-up pretentiousness that amateurs rarely have.
Example - your entire post. Which is complete gibberish - some particular solution apparently isn't good enough for you, because you need "professional" quality, with some poorly defined idea of what "professional" quality is that just happens to not intersect with the real world at all.
BUG FIXES ARE A GOOD THING! Every bug fixed is a bug that you no longer have, and all software has bugs. That's a simple fact.
If you're choosing commercial software, chances are there won't be any updates to a stable piece of software at all - neither bug fixes nor security updates. This isn't because the software is better - it's because the developers don't care. Fixing bugs or security holes in released software is generally not profitable, so they don't do it. Only in rare exceptions - like Microsoft - where a poor security record actually hurts the bottom line do you ever see updates for released software. In all other cases, bug fixes are rolled forwards into the next paid upgrade.
If that's your idea of "professional", fine. Personally, I find that approach to be reckless and irresponsible, particularly for something that's exposed to the internet.
In open-source land, there's absolutely no reason to hold back on bug fixes or security updates, or to be anything other than open and honest. As a result, decently supported open-source software tends to get lots of bug fixes and security updates, and every last bug fix and security update will be documented. This is the case with Drupal.
A big upside, though, is C's first-class string handling, especially where Unicode is concerned. Scripting languages just aren't in the same league.
USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
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. He couldn't provide a suitable answer, and thus management gave him the boot. And so we're not using Drupal.
http://php.net/ChangeLog-5.php
Most recent version has approx 110 bug fixes, which was on 19-November-2009, the previous version (minor version) had a pretty big pile and that was just a couple months prior, and the same story going back.
The Drupal changelog shows... 3 bugs fixed...
So.... either your story is pure bullshit, or you are a first class moron. Or both more than likely.
http://drupal.org/node/579476 [Drupal 6.14 changelog lists 51 bug fixes plus multiple security fixes to 6.x core]
http://drupal.org/node/579484 [Drupal 5.20 changelog lists 6 bug fixes plus multiple security fixes to the 5.x core]
Who in the hell wouldn't use 6.14 over 5.20?
BUT! Do you C it #?
Yes, writing scripts in C is a great idea.
It's certainly not a new idea ...
Minimal webserver, written in C, supporting C scripts ...
libguestfs - tools for accessing and modifying virtual machine disk images
Dimwits like you are the exact reason commercial software companies don't release detailed changelogs. Thanks, buttfucker.
(If you actually saw those changelogs, you would be shocked. Hundreds and hundreds of bugfixes and tweaks in every minor revision.)
I think you should be nominated for an award in stupidity.
What's your read/write ratio? memcached has helped us a lot with MySQL load for read extensive databases. IODrives has done the same for write extensive workloads. Don't be scared by the price tag, one server with an ioDrive can easily replace 5 servers without ioDrives.
A while back I had written a minimal HTTP server to figure out I/O completion ports in Windows over a weekend. You can download it from (BSD license): http://arunsagar.com/Code/rani.cpp
Similar throughput specs as the OP's server, and the C++ code can be part of the server itself (great for debugging). Buggy and incomplete, but you can play, fix and extend as you wish.
Even for a lowly CS minor, in most places, there's at least a core requisite class on fundamental low level stuff that will deal with C, it may not be the deep understanding you'd get with many classes involving it but at least the fundamentals are there.
I can't complain with that. Uhh... the thrill. Excites me just to think about it. Programming has been so boring with scripting language nowadays. Everything is sooooooo waaaayyyyyyyyyyyyyyyyy tooo easy. They got functions for everything, memory is well managed (actually garbage-managed), no core dumps, no crashes. No pointer bugs. What's the fun with _that_ !
The entire Internet backbone is powered by C. Do you think router software is written in perl? Operating systems? BIOSes? Harddisk firmware? Data encrypters? GPS firmware? Mobile phone firmware?
Real engineers program mostly in C.
The higher level stuff is just there to enable non programmers to write banal blogging applications that enable people to publish details of their uninteresting lives.
When the world fully wakes up to the amount of energy we waste executing inefficient algorithms in inefficient programming languages, we'll see who's smug then.
Open Source Drum Kit, LPLC deve board - mjhdesigns.com
"Do you see it hash?"
"Do you see it sharp?"
"Do you see it pound?"
Try picking a symbol without so many accepted names.
Today is red jello day - all workers must eat all of their red jello. Failure to comply will result in five demerits.
number-sign octothorpe ...
G-Wan has more of an East Coast flow than his brother.
You're full of it. Nobody would keep a retard like you in a position of authority for very long.
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.
Bah, Java is passé. We do everything in Logo nowadays.
PUT :page ON TURTLE
SEND TURTLE ON NETWORK
Go turtle ! You can do it !
May contain traces of nut.
Made from the freshest electrons.
Different tools for different jobs. For example, the USPS mandates the use of the System Networked Architecture Instructional Language for USPS mail servers.
"Neither snow nor rain nor heat nor gloom of night shall stay these servers from the swift completion of their appointed tasklists".
On the other hand, at least the "real engineers" don't have to waste their time writing the "banal blogging applications" that everyone and their grandma wants. Just imagine how much that would cost.
from http://www.gwan.com/
Also, getrusage() tells that G-WAN uses only ~1%** of this 4% CPU load while the kernel uses the other 99%. If G-WAN was 10x slower, its performances would be identical (it would not be the case for Rock).
With a 90% CPU load, Rock takes (90-4)/4=21x more time than the kernel and is therefore thousand times (21x100) slower than G-WAN. Linux only shows a 1.6x difference between G-WAN and Rock because, while Rock is slowing-down the kernel, G-WAN is slowed-down by the kernel.
Can anyone explain these calculations?
So you won that argument by appealing to the ignorance of your managers. Great job.
You said the PHP, Drupal, and Joomla codebases are poor. How do you know? What are you basing that on? I have to presume you've never looked at or used those packages because you failed to provide any detailed insight as to why they are poor from a technical standpoint. All that you mentioned was change logs, so that must be what you're basing your opinion on.
An active change log means the project is being maintained, which is a good thing because the last thing you want to support is a production website based on a framework with little or no updates. The length of the change log has no indication on the severity of the bugs. Sometimes you will see very large bug counts after housekeeping sprints, but low bug counts after fixing the critical security bugs. Sometimes an entry will roll-up several bugs, sometimes there are no bugs but consist of general software improvements. You can't use change log size as a heuristic relating to code quality. You generate that metric by scoring and tallying the individual bugs (discounting the general enhancements) and factoring in the size of the codebase. That requires stringent analysis and I guarantee you've not done that.
It seems your responders have been ripping you a new one and I have to say that I agree with them. You're arrogant and critical, yet you apparently misunderstood how normal software development works. There is nothing wrong with being critical, but when you criticize something or someone you're expected to support your argument and provide an alternative (particularly if the targets are high profile), but you didn't--during your meeting or in your post here.
I suspect your motivation was more about posturing and scoring points with your managers by shutting someone down at a meeting. I've worked with those exhibiting that personality type before, and I'll say they are quite unpleasant to work with. They tend to slow things down by throwing out road blocks without providing support. It's just too bad the contractor didn't have the debating skills to counter your unsupported points because it was very easy to do so.
Camping on quad since 1996.
... or you can just have loads of fun with the macro preprocessor in C. A friend of mine once used this with abandon. And then abandoned his no longer debug-able project :)
Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
C scripts are not C, it's just a scripting language that looks like C.
You mean PHP?
Computers are useless. They can only give you answers.
-- Pablo Picasso