Well, he was gay so you can bet your last t-shirt that the media will drop the story pretty soon. (Can't say anything bad about them, even though both murder and suicide are pretty common in that community. It would lead to "prejudice", you know...)
See, you can have a media cover-up without a conspiracy, just wait a few days after the news-cycle has turned.
I tried to use Postgrest 2 years ago, but I could not get it to compile into a custom directory and decided that it's not worth the effort.
In the meantime I have written so many wrappers geared to MySQL that I will use it for many years to come. But I will certainly give Postgrest a try sometime in the future.
In 2008, 20% of the million busiest websites used Microsoft, now only 12% do, and the decline slowly continues.
When we talk about these installations, we talk about very heavy loads, very much data and very high requirements on reliability and availability.
So why does the high-end "enterprise" systems move away from that "pretty damn good" platform? The Microsoft apologists on this thread constantly tell me who licensing costs don't matter and how good all Microsoft products are ("honestly"!) - but exactly in the one area where licensing costs really don't matter (the one million busiest sites) Microsoft is also losing it. So why then?
Maybe it's not as "pretty damn good" as some anonymous internet commentators claim? Honestly?
Exactly. My hoster even charges extra for the privilege to run Windows. (Here in continental Europe, Windows is used on less than 10% of servers) - which makes MS SQL a "no go" for most installations.
In fact I would not even consider a database that runs only on a proprietary platform.
That's a lie - and you know it. Everybody (and their dogs) runs MySQL. Wordpress uses MySQL. Pretty much everybody in the computing industry who is working with databases (except maybe some Microsoft-diehards who refuse to run anything not from Redmond out of principle) has at least some MySQL experience.
If you're doing something that data intensive and can't afford a DB license, then you're doing something wrong.
The sheer stupidity in that statement is outrageous. You may not believe it, but it's not just Fortune 500 companies that do "data intensive" stuff. Even a freelancer (i.e. a single person) is able to do "data intensive" stuff.
So, whether you can "afford" a DB license depends on the application. There are lots of applications where using DB would price you right out of the market.
It's trivial to expose your lies, it's even on Wikipedia:
Recently, gang-related incidents have been on the rise. Between the years of 1997 and 2005 over 300 gang-related deaths have occurred. [..] In late September 2005, Toronto police arrested 44 members of the Rexdale-based "Ardwick Blood Crew" also known as A.B.C.
Hmm, also according to Wikipedia, "Rexdale's first residents were mostly English and Scottish, but evolved into a multicultural neighbourhood in the following decades."
But there is more:
Then in May 2006, 106 additional gang members were apprehended, who were part of Rexdale's "Jamestown Crew" (a Crip gang), in the largest gang sweep in Toronto's history.
Hmm, what ethnicity could a gang be that is called "Jamestown Crew"?.... Hmmm, you will probably never know...
In June 2007, Toronto police arrested about 95 people, including leaders of the Jane and Finch-based "Driftwood Crips" and the sister of murder victim Jordan Manners, for a lengthy list of 700 criminal charges.
Aha, a "Crips" franchise gang. What ethnicity could that be... It's a mystery...
Blacks genocided Khoi-San in Angola, Mosambique, etc. - now all violent deaths are black there. Blacks genocided (almost all) Pigmies in Kongo - now (almost all) violent deaths are black there. Blacks genocided Indians in Uganda - now all violent deaths are black there. Blacks ethnically cleansed Whites in Detroit - now (almost) all violent deaths are black there.
The preprocessor-haters always only offer theoretical arguments ("it supports conditional compilation!") but they never post real code.
Why?
Very simple:
First, even they have a hard time to learn C++ templates and all the other highly complicated replacements.
Second, even when you know about it, using templates is pretty hard actual work. You don't do that kind of work for a posting in a discussion-forum.
Third, when you do the work and compare all that highly sophisticated template-code with the preprocessor-stuff it is supposed to replace, you will realize that just using the preprocessor is so much easier that it is almost comical.
You only offer emotional arguments ("a blight", "relic from the past", etc.).
Yes, the preprocessor does not work at the same level as the compiler - and that is the good thing about it because it gives you leverage about what the compiler sees and it allows you to guarantee that the logic outside the #ifdefs is untouched by any changes - therefore you get much higher quality/stability.
Your example with the untested feature can be solved by isolating the crazy untested code in its own module, and simply *not enabling that module in the build scripts*.
So you have to have modules for every tiny feature?
And all that bloat and overhead just to satisfy your emotional sense of aesthetics?
So to avoid 2 lines of "ugly" code (#ifdef / #endif) you need to create a module, adapt the build-system, etc. etc.?
And we have not even gone into some "advanced" stuff like
#if defined(TEST_1) && defined(TEST_2)
So easy to do with the preprocessor - how do you do that with modules? Create a third module that contains just the code that is needed when both other modules are included? And hide everything in the build-system so that nobody can find and/or debug it?
And again, why all that overhead when all you get is a program that is slower, uses more RAM and (yes!) is much more difficult to understand and debug?
Ideally, the buld-system should not contain any logic. All the logic should be in the source-code.
And of course your "aesthetics before function" - approach may be acceptable on the PC where all that bloat does not matter much. But it is a absolute no-go in embedded-systems programming. Just two years ago I have worked in a project where we had only 128 KB (yes, that is kilobytes) of RAM. And we had to frequently cut the bloat to stay under that limit.
In that situation you forget about "modules", object-orientation and all that other buzz-words from the ivory-tower pretty fast.
So what do you do when you have a new revision of a circuit board that has a different pin-layout?
Do you throw away everything (several man-months of programming and testing) and create a sophisticated module-system that will create numerous other problems and limitations to satisfy aesthetics?
No: You use the preprocessor to add the new stuff while still avoiding any change for the old, so the old stuff can still be used and tested and (more importantly) you can compare the old with the new.
D supports conditional compilation [dlang.org]. And has features to accomplish any other sane use of the preprocessor, but in a cleaner way as first class language constructs.
As I explained to the other guy, it does not help against syntax errors. It does not allow for strict separation of features.
Yeah, but should you? That's basically writing code in a feature-poor unstructured string manipulation meta-language.
I certainly agree that the C-preprocessor is a poor language. But the problem lies in the lack of features of the preprocessor, not the fact that it is a preprocessor.
So yes, it is a poor language - but that is still better than no preprocessor at all.
You don't need a preprocessor to have conditionally compiled code.
Yes, you do.
Because programmers make mistakes and "crazy_new_untested_code.c" may include everything from normal software bugs to syntax errors.
A preprocessor is the only way to ignore syntax errors.
C# supports your use-case (producing different code depending on symbols being defined)
Don't lie. The use case was:
the program will still compile and work just fine, no matter what crazy things the new guy who was hired to program "crazy_new_untested_code.c" does.
If the guy checks in some syntax error in C#, it will no longer compile. End of story.
With a preprocessor you can be absolutely SURE that some disabled code does not influence your program. And if the programmer only has write access to "crazy_new_untested_code.c" he does not even have a theoretical possibility of breaking it.
I have not seen any supposed "replacements" of preprocessors that can do that. These "replacements" are full of unrealistic assumptions straight from the ivory tower. (for example your assumption that all code that is checked in is syntactically correct)
The preprocessor makes code harder to understand, very hard to parse, and makes things like refactoring tools, static analysis tools, etc. much harder than they should be.
Preprocessor-code is much easier to understand than C++ templates. (Yes, I admit it - I have once looked at these template programming and I have long since forgotten about C++ templates) In fact the basic #ifdef structure is straightforward.
Another use-case:
typedef struct { one int; #ifdef GREATFEATURE two int; #endif } mystructure;
In that case mystructure will be just as big as actually needed. Can you easily provide the same functionality with C++ templates? Probably not, you probably have to check some book and forum to come up with the code - if it's possible at all, which I'm not sure.
And that is the reason why C is still king for embedded software.
D may be "nicer" in some niche-aspects, but they destroy all that by dropping the preprocessor. Yes, I know that the snobists don't like it and think it's "outdated". Yet the preprocessor offers something that no other language feature offers: Because the preprocessor "creates" the C-code, you can do *everything* with it.
If you unset UNTESTED_FEATURE, the program will still compile and work just fine, no matter what crazy things the new guy who was hired to program "crazy_new_untested_code.c" does. He still can check in his work, testers can try it out by setting UNTESTED_FEATURE, etc.
This is the reason why we keep using C after all these years. It's the only (major?) language with preprocessor.
KDE has always had the kitchen sink mentality and it has suffered for it. All those buttons, menus and settings are great for people who want to change every last setting but they're a usability nightmare. I believe the reason that GNOME is the default in most Linux dists, particularly enterprise ones is because KDE provides far more opportunities for users to screw things up and raising support tickets. That's the reason it has lived in GNOME's shadow all this time.
Usability depends on the user. I like it when I can customize it to fit my needs and there is absolutely zero need to have another Gnome with a different name.
I can't handle Gnome because it is a usability nightmare for me.
Similar story for me, I've bin a big fan of KDE 1 through 3, I delayed KDE 4 as long as I could and even after all those years it's still bugs, bugs, bugs.
Yet KDE is still the best desktop environment out there - but the lesson I have learned (and you probably too) is to only use KDE but not use any critical KDE applications. I also used KMail in KDE 3 but I migrated to Thunderbird because I have heard so many horror-stories about KMail in KDE 4.
Not really, it was Hitler who removed the "unnatural"-clause in the homosexuality-paragraph 1935. That's no big surprise because most of his buddies were homos. Yes that is correct: before 1935, homosexuality was considered unnatural and you could lose your civil rights, afterwards it was just an ordinary minor crime. A big step for the LBGT movement.
And if you don't believe me, just look up the laws on Wikisource. This is not some conspiracy-nut war-propaganda, it's a law that was put on the books and everybody can check it - if they are interested in the truth, which most aren't.
The homos only got retroactively "victims" of the Nazis in the 1970s.
He also was a vegetarian and a fan of animal rights. A real progressive.
Exactly. Basically the Russians were greeted with open arms in Crimea, there was not a single death during that "invasion".
Compare that to the mess of Iraq, Afghanistan, Syria, Libya, etc.
But maybe that is the problem the Americans have with Crimea. They only stop nagging and criticizing when the country is in ruin and blood runs in the streets. They would love to drop some bombs on Crimea to show those bastards good old democracy.
It's only a disorder if it has a major negative impact on a person or society.
Well they have a high risk of becoming a murderer (about half of serial killers are homosexuals, which is an overrepresentation of about 1000-2500%) of becoming murdered (by aforementioned killers), of suicide and of sexually transferrable diseases.
To say that this is caused by "discrimination" is just flat out wrong, because the murder-rate tripled during the "sexual revolution", and did not decrease. Arguably a virus like AIDS could not have spread so wide and far before it as well. So the "reduction of discrimination" (which in the West has become special privileges already) actually decreased the homo-life expectancy, both because of murder and diseases. So it's the exact opposite of what you are claiming: Discrimination actually protected them from themselves.
People who are not brainwashed by Hollywood (for example the good people of Russia) know that. And now when the West has declared war on them, there is no longer a reason to suck up to the West.
Well, he was gay so you can bet your last t-shirt that the media will drop the story pretty soon. (Can't say anything bad about them, even though both murder and suicide are pretty common in that community. It would lead to "prejudice", you know...)
See, you can have a media cover-up without a conspiracy, just wait a few days after the news-cycle has turned.
No, AFAIK the lock is active only for 5 minutes (according to other sources 20, doesn't make a difference).
In other words the guy inside the cockpit has to re-lock the door every 5 minutes to prevent somebody from entering.
Pretty much the same for me.
I tried to use Postgrest 2 years ago, but I could not get it to compile into a custom directory and decided that it's not worth the effort.
In the meantime I have written so many wrappers geared to MySQL that I will use it for many years to come. But I will certainly give Postgrest a try sometime in the future.
It's always the same. The realists come with real issues, real arguments and real examples.
The Microsoft apologists only say that it's "pretty damn good". That's it. No specifics, no reasons, no nothing. It's just that good, "honestly".
(un)paid advertizement:
I love to dump on Microsoft as much as the next guy, but honestly SQL Sever 2000 on is pretty damn good.
Now, if SQL server is "honestly" so good, why are the one million busiest sites slowly migrating away from Microsoft?
http://news.netcraft.com/archi...
In 2008, 20% of the million busiest websites used Microsoft, now only 12% do, and the decline slowly continues.
When we talk about these installations, we talk about very heavy loads, very much data and very high requirements on reliability and availability.
So why does the high-end "enterprise" systems move away from that "pretty damn good" platform? The Microsoft apologists on this thread constantly tell me who licensing costs don't matter and how good all Microsoft products are ("honestly"!) - but exactly in the one area where licensing costs really don't matter (the one million busiest sites) Microsoft is also losing it. So why then?
Maybe it's not as "pretty damn good" as some anonymous internet commentators claim? Honestly?
Exactly. My hoster even charges extra for the privilege to run Windows. (Here in continental Europe, Windows is used on less than 10% of servers) - which makes MS SQL a "no go" for most installations.
In fact I would not even consider a database that runs only on a proprietary platform.
3: Finding MS SQL expertise is easy.
That's a lie - and you know it. Everybody (and their dogs) runs MySQL. Wordpress uses MySQL. Pretty much everybody in the computing industry who is working with databases (except maybe some Microsoft-diehards who refuse to run anything not from Redmond out of principle) has at least some MySQL experience.
If you're doing something that data intensive and can't afford a DB license, then you're doing something wrong.
The sheer stupidity in that statement is outrageous. You may not believe it, but it's not just Fortune 500 companies that do "data intensive" stuff. Even a freelancer (i.e. a single person) is able to do "data intensive" stuff.
So, whether you can "afford" a DB license depends on the application. There are lots of applications where using DB would price you right out of the market.
Don't you feel any shame?
It's trivial to expose your lies, it's even on Wikipedia:
Recently, gang-related incidents have been on the rise. Between the years of 1997 and 2005 over 300 gang-related deaths have occurred. [..] In late September 2005, Toronto police arrested 44 members of the Rexdale-based "Ardwick Blood Crew" also known as A.B.C.
Hmm, also according to Wikipedia, "Rexdale's first residents were mostly English and Scottish, but evolved into a multicultural neighbourhood in the following decades."
But there is more:
Then in May 2006, 106 additional gang members were apprehended, who were part of Rexdale's "Jamestown Crew" (a Crip gang), in the largest gang sweep in Toronto's history.
Hmm, what ethnicity could a gang be that is called "Jamestown Crew"?.... Hmmm, you will probably never know...
In June 2007, Toronto police arrested about 95 people, including leaders of the Jane and Finch-based "Driftwood Crips" and the sister of murder victim Jordan Manners, for a lengthy list of 700 criminal charges.
Aha, a "Crips" franchise gang. What ethnicity could that be... It's a mystery...
http://en.wikipedia.org/wiki/C...
That's not true at all.
Washington DC has a couple of black neighborhoods that are rich and violent.
Often compared to what exactly?
Because blacks commit more violent crime than all other races combined, one can say: Compared to everything else.
Blacks genocided Khoi-San in Angola, Mosambique, etc. - now all violent deaths are black there.
Blacks genocided (almost all) Pigmies in Kongo - now (almost all) violent deaths are black there.
Blacks genocided Indians in Uganda - now all violent deaths are black there.
Blacks ethnically cleansed Whites in Detroit - now (almost) all violent deaths are black there.
It's only "racist" when whites are doing it.
If blacks are doing it, it is "empowerment".
The sad thing is that Mozilla hides their ESR release. Once I (unsuccessfully) tried to find it on mozilla.org (Go ahead, try it!).
I only succeeded by using Google (oh, the irony!) to find an obscure download page on mozilla.org.
Mozilla treats their ESR release like some unwanted stepchild.
Another point:
The preprocessor-haters always only offer theoretical arguments ("it supports conditional compilation!") but they never post real code.
Why?
Very simple:
First, even they have a hard time to learn C++ templates and all the other highly complicated replacements.
Second, even when you know about it, using templates is pretty hard actual work. You don't do that kind of work for a posting in a discussion-forum.
Third, when you do the work and compare all that highly sophisticated template-code with the preprocessor-stuff it is supposed to replace, you will realize that just using the preprocessor is so much easier that it is almost comical.
You only offer emotional arguments ("a blight", "relic from the past", etc.).
Yes, the preprocessor does not work at the same level as the compiler - and that is the good thing about it because it gives you leverage about what the compiler sees and it allows you to guarantee that the logic outside the #ifdefs is untouched by any changes - therefore you get much higher quality/stability.
Your example with the untested feature can be solved by isolating the crazy untested code in its own module, and simply *not enabling that module in the build scripts*.
So you have to have modules for every tiny feature?
And all that bloat and overhead just to satisfy your emotional sense of aesthetics?
So to avoid 2 lines of "ugly" code (#ifdef / #endif) you need to create a module, adapt the build-system, etc. etc.?
And we have not even gone into some "advanced" stuff like
#if defined(TEST_1) && defined(TEST_2)
So easy to do with the preprocessor - how do you do that with modules? Create a third module that contains just the code that is needed when both other modules are included? And hide everything in the build-system so that nobody can find and/or debug it?
And again, why all that overhead when all you get is a program that is slower, uses more RAM and (yes!) is much more difficult to understand and debug?
Ideally, the buld-system should not contain any logic. All the logic should be in the source-code.
And of course your "aesthetics before function" - approach may be acceptable on the PC where all that bloat does not matter much. But it is a absolute no-go in embedded-systems programming. Just two years ago I have worked in a project where we had only 128 KB (yes, that is kilobytes) of RAM. And we had to frequently cut the bloat to stay under that limit.
In that situation you forget about "modules", object-orientation and all that other buzz-words from the ivory-tower pretty fast.
So what do you do when you have a new revision of a circuit board that has a different pin-layout?
Do you throw away everything (several man-months of programming and testing) and create a sophisticated module-system that will create numerous other problems and limitations to satisfy aesthetics?
No: You use the preprocessor to add the new stuff while still avoiding any change for the old, so the old stuff can still be used and tested and (more importantly) you can compare the old with the new.
D supports conditional compilation [dlang.org]. And has features to accomplish any other sane use of the preprocessor, but in a cleaner way as first class language constructs.
As I explained to the other guy, it does not help against syntax errors. It does not allow for strict separation of features.
Yeah, but should you? That's basically writing code in a feature-poor unstructured string manipulation meta-language.
I certainly agree that the C-preprocessor is a poor language. But the problem lies in the lack of features of the preprocessor, not the fact that it is a preprocessor.
So yes, it is a poor language - but that is still better than no preprocessor at all.
You don't need a preprocessor to have conditionally compiled code.
Yes, you do.
Because programmers make mistakes and "crazy_new_untested_code.c" may include everything from normal software bugs to syntax errors.
A preprocessor is the only way to ignore syntax errors.
C# supports your use-case (producing different code depending on symbols being defined)
Don't lie. The use case was:
the program will still compile and work just fine, no matter what crazy things the new guy who was hired to program "crazy_new_untested_code.c" does.
If the guy checks in some syntax error in C#, it will no longer compile. End of story.
With a preprocessor you can be absolutely SURE that some disabled code does not influence your program. And if the programmer only has write access to "crazy_new_untested_code.c" he does not even have a theoretical possibility of breaking it.
I have not seen any supposed "replacements" of preprocessors that can do that. These "replacements" are full of unrealistic assumptions straight from the ivory tower. (for example your assumption that all code that is checked in is syntactically correct)
The preprocessor makes code harder to understand, very hard to parse, and makes things like refactoring tools, static analysis tools, etc. much harder than they should be.
Preprocessor-code is much easier to understand than C++ templates. (Yes, I admit it - I have once looked at these template programming and I have long since forgotten about C++ templates) In fact the basic #ifdef structure is straightforward.
Another use-case:
typedef struct {
one int;
#ifdef GREATFEATURE
two int;
#endif
} mystructure;
In that case mystructure will be just as big as actually needed. Can you easily provide the same functionality with C++ templates? Probably not, you probably have to check some book and forum to come up with the code - if it's possible at all, which I'm not sure.
And that is the reason why C is still king for embedded software.
D may be "nicer" in some niche-aspects, but they destroy all that by dropping the preprocessor. Yes, I know that the snobists don't like it and think it's "outdated". Yet the preprocessor offers something that no other language feature offers: Because the preprocessor "creates" the C-code, you can do *everything* with it.
For example:
#ifdef UNTESTED_FEATURE
#include "crazy_new_untested_code.c"
#endif
You know what?
If you unset UNTESTED_FEATURE, the program will still compile and work just fine, no matter what crazy things the new guy who was hired to program "crazy_new_untested_code.c" does. He still can check in his work, testers can try it out by setting UNTESTED_FEATURE, etc.
This is the reason why we keep using C after all these years. It's the only (major?) language with preprocessor.
Ground-based telescopes are "as good as Hubble" for some applications, better at some and worse at others.
Hubble is still one of the best telescopes ever.
For example the "Hubble deep field" would not be possible with a ground-based telescope, regardless of how good the software may be.
KDE has always had the kitchen sink mentality and it has suffered for it. All those buttons, menus and settings are great for people who want to change every last setting but they're a usability nightmare. I believe the reason that GNOME is the default in most Linux dists, particularly enterprise ones is because KDE provides far more opportunities for users to screw things up and raising support tickets. That's the reason it has lived in GNOME's shadow all this time.
Usability depends on the user. I like it when I can customize it to fit my needs and there is absolutely zero need to have another Gnome with a different name.
I can't handle Gnome because it is a usability nightmare for me.
Similar story for me, I've bin a big fan of KDE 1 through 3, I delayed KDE 4 as long as I could and even after all those years it's still bugs, bugs, bugs.
Yet KDE is still the best desktop environment out there - but the lesson I have learned (and you probably too) is to only use KDE but not use any critical KDE applications. I also used KMail in KDE 3 but I migrated to Thunderbird because I have heard so many horror-stories about KMail in KDE 4.
Let's hope KDE 5 becomes more stable.
Not really, it was Hitler who removed the "unnatural"-clause in the homosexuality-paragraph 1935. That's no big surprise because most of his buddies were homos. Yes that is correct: before 1935, homosexuality was considered unnatural and you could lose your civil rights, afterwards it was just an ordinary minor crime. A big step for the LBGT movement.
And if you don't believe me, just look up the laws on Wikisource. This is not some conspiracy-nut war-propaganda, it's a law that was put on the books and everybody can check it - if they are interested in the truth, which most aren't.
The homos only got retroactively "victims" of the Nazis in the 1970s.
He also was a vegetarian and a fan of animal rights. A real progressive.
Exactly. Basically the Russians were greeted with open arms in Crimea, there was not a single death during that "invasion".
Compare that to the mess of Iraq, Afghanistan, Syria, Libya, etc.
But maybe that is the problem the Americans have with Crimea. They only stop nagging and criticizing when the country is in ruin and blood runs in the streets. They would love to drop some bombs on Crimea to show those bastards good old democracy.
It's only a disorder if it has a major negative impact on a person or society.
Well they have a high risk of becoming a murderer (about half of serial killers are homosexuals, which is an overrepresentation of about 1000-2500%) of becoming murdered (by aforementioned killers), of suicide and of sexually transferrable diseases.
To say that this is caused by "discrimination" is just flat out wrong, because the murder-rate tripled during the "sexual revolution", and did not decrease. Arguably a virus like AIDS could not have spread so wide and far before it as well. So the "reduction of discrimination" (which in the West has become special privileges already) actually decreased the homo-life expectancy, both because of murder and diseases. So it's the exact opposite of what you are claiming: Discrimination actually protected them from themselves.
People who are not brainwashed by Hollywood (for example the good people of Russia) know that. And now when the West has declared war on them, there is no longer a reason to suck up to the West.
Good for them.