You seem to not understand that saying that Foxpro is only good at running Foxpro code makes no sense.
It was a literary device aimed at native English speakers, and I apologize for any confusion it might have caused.
But PostgreSQL isn't a programming language and Python isn't a database language. Whereas VFP is both.
The key distinction is that Python isn't a crappy database - it doesn't pretend to be one at all - and PostgreSQL isn't a crappy programming language - it doesn't even try. Combining an awful language with an awful data backend doesn't magically make it good.
Have you considered using PostgreSQL with a VFP front-end (I'm going to assume that you're involved your company's upgrade)?
That's exactly what we're doing in the cases where migrating to a supported language isn't an immediate option. We're doing essentially all new development in other languages and phasing out the legacy codebase as time permits.
And besides, you don't really know anything about Foxpro and don't want to learn.
I'm not the only programmer here, and "legacy application" implies that someone wrote it in the first place. Those people are still here and still very good at FoxPro. The problem is that FoxPro isn't very good to them.
But IMO if three years ago your company had decided to go with a Postgre+VFP they would have been done with their upgrade two years ago, instead of still thunking away at a "decent, modern solution".
I can agree with that. On the other hand, we'd still be running on a programming platform that is officially, probably irreversibly, dead. If we're going to migrate at all, we're going to move to something a little more future-proof.
My company has a large application written in VFP, used by quite a few people simultaneously, multiuser over gigabit ethernet, all DBFs on a central server, and performance is quite reasonable.
I'm (fortunately) not directly responsible for supporting it, but I knew the people who are and I trust that they've tried everything. Maybe it's just a different usage pattern that's.
I was brought in a few years ago to rewrite the quickly-written ASP website with something more extensible and maintainable. For various reasons, we went with Zope on FreeBSD. The original idea was to write a Windows-based proxy, where the webserver would pass it requests, it would execute the query, and then return the results. This worked perfectly (and is still in use today), except that we learned early on that you can only run one SQL query at a time per machine. This evolved into a load-balanced farm of VMWare images, each running a copy of Win2K and the database proxy.
Dear God, how I hated that thing. The PostgreSQL solution eventually grew from the need to be able to run more than one query at a time. It basically had to grow nodes linearly with the number of simultaneous visitors we hoped to support. After a while, we simply couldn't scale the proxy farm behemoth to match the load that many simultaneous web visitors would place upon it.
I don't remember what gave me the idea to use PostgreSQL as a frontend to the FoxPro table files, but it's been absolutely blissful. We've also started migrating to native PostgreSQL tables for new development, with the eventual goal of only using FoxPro for the application layer. At that point, we can start replacing parts of it with components written in more favored languages until it eventually disappears.
It's only fast at running code in it's own language? You don't say!
I do say. It's not a fast database. It's not a particularly nice programming environment. It has little support for any kind of ACID goodness, and then only in the very newest release (which isn't completely backward compatible with its predecessors). No, it's true that the only thing FoxPro is particularly good at is running FoxPro code. Unless you have legacy FP applications to support, it has absolutely nothing to offer.
But there's no language in the world that works with data as well as FP.
...except, well, any other language. It is hopelessly ancient and restrictive compared to pretty much any modern system. VB.Net and SQL Server? Better, faster, and easier. PHP and MySQL? Better, faster, and easier. Python and PostgreSQL? Infinitely better, much faster, and far easier. Frankly, I can't really think of another database for sale today that I wouldn't rather use.
Queries were lightning fast if you didn't match too many rows and the query was optimized to work with your indexes.
But even indexed queries pale when compared to a "real" database. Since FP is file based - that is, each client has to read the files directly - even the index files have to be transmitted over the network to do those lightning fast queries. At some point you saturate your NIC, and after that all the processing power, RAM, or fast drives in the world won't make it a millisecond faster.
Compare and contrast with any client/server system, where all those queries are consolidated into one cache shared among all clients, and only the actual requested rows have to be returned. By its inherent architecture, FP simply cannot ever hope to be as fast.
I'm curious because I really want to know what made FoxPro the speed demon it's always purported to be.
It's not. It may be quick for the common case of a small table (10K lines) on a local drive, but move outside that and it's horrid. FP supports multi-user access by putting the data files on a network drive. If you want to query it, your machine has to read to entire file, throw out the lines it doesn't want, and present the results. My company has about 40 people using the same legacy FP database from a RAID 1+0 system over gigabit ethernet, and it's still hundreds of times slower than running similar queries via SQL to any "real" database.
Let me put it this way: I wrote a program to export our FP tables to tab-delimited text files and then import those into PostgreSQL. This takes about 25 minutes, and we run it hourly - and it's still worth the pain. Reports altered to query PostgreSQL instead of FP typically see speedups of several hundred times, multiple users can run the same reports simultaneously, and you can actually run the reports over a slow link since only the query and resultsets have to traverse the network instead of the whole table.
I know this will come across as flamebait, and I'd normally not say this, but anyone who claims that FoxPro is fast is a hobbyist programmer. It's simply not fast by any imaginable standard other than the trivial case of small files on a single user's drive.
I hate FoxPro. It's ugly, it's slow, it's ancient, and it doesn't play nicely with, well, anything. My company has spent the last few years migrating to a decent, modern solution with PostgreSQL and Python. My biggest hope is that they're actually releasing it through their proprietary "shared source" license and not a real F/OSS license, because I honestly want this to die once and for all.
BTW, yes, you read that right: FoxPro is glacially slow. Its proponents will swear up and down that it's the fastest database environment in the world, but the reality is that it's only fast at running FoxPro code. Port a FP program to pretty much any other language+RDBMS system, and actually write it in that combination's native idiom (that is, don't translate FP to Java line for line), and you'll leave it in the dust.
On of the reasons OS X is winning the war as my primary desktop OS is its ability to share arbitrary functionality like this among all programs.
Same here. Well, that and the fact that I got a used eMac in great shape for $100. But the one thing about the global services that irks me is that there are so many of them. Is there a way to hide services? I'd only like to see a few: maybe spell check, grammar check, search Google, and a couple others. I don't need "upload to iPod", "translate to Ukranian (southern)", or "turn into crossword puzzle".
More to the point, why are they even allowing smoking in the closed environment of a submarine in the first place?
No kidding! Can you imagine the kind of power it'd take to drive the air scrubbers for something like that? You'd have to plug them directly into a nuclear powerplant or something.
The reasons they'd allow smoking in that environment are that 1) in the scheme of things, the extra cleaning capacity needed to get the smoke out of the air is trivial, and 2) submarines are not exactly conducive to sanity, and the last thing you want to do before locking a smoker in a tiny underwater can for several months straight is to take away his calming influence. Actually, #2 is a far more important consideration than you might initially think.
(yes, yes, I know, he's no apologising in the usual sense; this is a play on words, or a pun, as it is also known)
Not quite:
Source: WordNet (r) 1.7
apology
n 1: an expression of regret at having caused trouble for
someone; "he wrote a letter of apology to the hostess"
2: a formal written defense of something you believe in
strongly [syn: apologia]
(this is another accepted meaning of a word, or an alternate meaning, as it is also known)
I downloaded that PDF, saw something that looked a lot like APL to my blissfully ignorant eyes, and ran screaming. Did he really apologize for writing FORTRAN by writing APL, and if so, why didn't he die of lead poisoning?
soon we may run out of real breakthroughs like the ones those genius created to pave the yellow brick road we run over nowadays.
Not to belittle them, but they often picked the low-hanging fruit. Much of what can be proven about normal, deterministic computation has been proven. Want to do some groundbreaking CS research today? Start reading on quantum computing, which isn't exactly for the faint of heart. Put another way, we pretty much know how to build a von Neumann machine and program it (even if we mostly chose not to do it "right" for time or money reasons).
I've wondered what it must have been like to pioneer a brand new, wide open field. We know many of the greats because they were geniuses who were there at the right time. I hope another right time comes along during my life, even if only so I can watch it from the sidelines.
Second, the police cannot arrest or even charge your example's boyfriend unless she is willing to bring charges.
That is generally incorrect. The state (that is, police) has the right to arrest people who it believes have acted to harm the state (that is, its citizens). If I beat you bloody, you have no direct say in whether I am arrested or prosecuted, although it's true that a district attorney is unlike to press charges if it's clear that the lead witness cannot be made to testify. That's a decision of convenience, though - they simply don't want to waste their time fighting unwinnable cases.
If you kid arrives to my care in that condition, you'll take him home over my cold and dead body despite your concerns about being deprived your constitutional right to starve and beat the shit out of your property.
First off, don't get so personal. This isn't about either of us.
In the case in question, Mommy Dearest coached a three year old to say that "Daddy put his penis in my vagina". Those words. From a three year old. A medical examination returned an intact hymen and no signs of physical trauma. And yet, his kids are pretty much gone for good.
I'm glad you live somewhere that average parents aren't terrified of the government stealing their kids. Please understand that this is not true for all Americans.
I wish you were right, but I don't believe so. I don't have the sources in front of me, but one report I read bragged at the 13% home replacement rate of CPS removals in southwest Missouri. That is, 13% of kids taken by the state eventually make it back to their home. I cannot be made to believe that their false positive rate on all accusations is only 13%, especially considering that a certain county there - home to a city of about 150,000 - has more kids in protective custody than does Orange County, CA.
I understand that CPS is an important last line of defense for a lot of children. However, the idea that a state agency can arbitrarily reassign your kids without requirement of due process or other constitutional considerations is absolutely terrifying to me.
This Colorado woman is a nutcase. That does not mean that the things she's rallying against aren't real problems, any more than Cindy Sheehan's weirdness should automatically discount protests against the war in Iraq.
She's basically providing information for people trying to resist intervention from child protective services.
In some places, I think that's entirely appropriate. I might have agreed with you until I watched a friend get accused of sexually abusing his kids by his crackhead ex wife. He's complied with ever detail of the law, and even though no evidence exists against him, he'll still probably not see his kids again unless they decide later in life to contact him.
Frankly, he would have been in far less trouble had he simply killed his ex and disappeared with the kids.
While I'm not saying that CPS is universally bad, I do know that I'll never again live in Missouri after seeing how they routinely shred the constitution "for the children".
Your company values things other than money, so you copy good practices even if they aren't going to earn you more money.
My company values money an awful lot - it makes staying in business a bit easier. It's just that we take the long term view. Doing these things gives us a better reputation, which is critically important in our niche market. It also means fewer 2AM emergencies and easier maintenance. Basically, we've decided that OpenBSD's values are very profitable, even if they don't choose to directly financially profit from them.
I heard a rumour that Microsoft did indeed look to the idea of emulating OpenBSD's security practices as a company.
Then someone pointed out the respective revenues of OpenBSD vs Microsoft, and the whole idea just seemed to evaporate.
My company makes far more than the OpenBSD team brings in, and yet we still respect them and try to emulate their practices. I'm not sure what kind of hubris it takes to dismiss someone's ideas just because you have more money.
2007-02-21: Core sends draft advisory and proof of concept code that demonstrates remote kernel panic.
2007-02-26: OpenBSD team develops a fix and commits it to the HEAD branch of source tree.
[...]
2007-03-05: OpenBSD team notified of PoC availability.
2007-03-07: OpenBSD team commits fix to OpenBSD 4.0 and 3.9 source tree branches and releases a "reliability fix" notice on the project's website.
[...]
2007-03-13: Core releases this advisory.
Release Mode: FORCED RELEASE
Kudos to Core Security for finding an exploit in OpenBSD code. Seriously, that's impressive. However, it sounds like they're a little too pleased with themselves. "Forced release"? I guess that's technically true, in the sense that a feather exerts a gravitational force on the Earth.
In a nutshell, they reported a problem and OpenBSD fixed it. Then they demonstrated that it was a more serious problem, and OpenBSD backported the fix to the current releases and announced it on their website. After reading the whole timeline, I'm not sure what else they were supposed to have done so that Core wouldn't be "forced" to announce the vulnerability that OpenBSD publicized on their own site as a "security fix" three days earlier.
The only place your MAC address even is used in ANY part of the connection is between your computer and your default gateway with any switches (not hubs) in between keeping that record for a few minutes.
A couple of minor corrections:
1) The piece of "smart" hardware you're first connecting to (eg the first switch or router after any hubs) uses your MAC address for the entire time you're connected to it. That's how they know which port to send your packets to.
2) As mentioned in another post, IPv6 by default constructs your IP address from your MAC address. Few people in the western world currently use IPv6, a smaller number of them use autoconfig, and a smaller number of those people leave their MAC address at its default value. That doesn't mean that no one meets all the criteria, though.
On comment to you naysayers ("MAC addresses don't make it past your router!"): IPv6 autoconfiguration builds the local part of your address from your MAC. Now, the percentage of people using IPv6, and autoconfig on top of that, is currently very small. Still, that's a non-hypothetical leak of your hardware identifier to the Internet at large.
Maybe little bit of knowledge of computer science would be useful for you to appreciate Gentoo.
I have a degree in computer science. Does that qualify me to join your elite company?
But then, you being a Baptist, maybe not. Oh but wait, what Baptism has to do with Computer Science? Nothing at all.
Being a Baptist has as much to do with computer science, as being a computer scientist to do with liking the number of packages available in Gentoo.
Would 15%+ percent of gain from switching to Gentoo on newer 64 bit computers be interesting to you?
No. It's actually much more cost effective for us to buy more and/or faster hardware than to pay someone to babysit it. Not that Gentoo is so incredibly difficult to manage, but you have to get those compile cycles from somewhere. If you build on the production machines, then you're taking processing time away from your applications. If you make a build server, then that's more hardware you had to buy, and more administrator time to set up and run the system.
They taught optimization in my math courses. Perhaps yours glossed over that part.
If you think your code is good and you want to release it, great! But if you won't consider bug fixes, keep the damn thing to yourself and/or contribute your code to an already-existing project instead.
That's true to a point, but misses a huge population of contributors: people who release employer projects. I've done this several times. Basically, my boss asks for something, and I can't find anything (even half-finished) that does it. I get a working system up and running and clean it up enough that I'm not embarrassed for my friends to see it, then post it somewhere.
Now, I have no intention whatsoever of maintaining these forever, but that doesn't mean that they don't work, or at least work well enough to be useful. You probably wouldn't want to take my projects and use them as-is, but it might beat starting your own similar project from scratch.
It was a literary device aimed at native English speakers, and I apologize for any confusion it might have caused.
The key distinction is that Python isn't a crappy database - it doesn't pretend to be one at all - and PostgreSQL isn't a crappy programming language - it doesn't even try. Combining an awful language with an awful data backend doesn't magically make it good.
That's exactly what we're doing in the cases where migrating to a supported language isn't an immediate option. We're doing essentially all new development in other languages and phasing out the legacy codebase as time permits.
I'm not the only programmer here, and "legacy application" implies that someone wrote it in the first place. Those people are still here and still very good at FoxPro. The problem is that FoxPro isn't very good to them.
I can agree with that. On the other hand, we'd still be running on a programming platform that is officially, probably irreversibly, dead. If we're going to migrate at all, we're going to move to something a little more future-proof.
I'm (fortunately) not directly responsible for supporting it, but I knew the people who are and I trust that they've tried everything. Maybe it's just a different usage pattern that's.
I was brought in a few years ago to rewrite the quickly-written ASP website with something more extensible and maintainable. For various reasons, we went with Zope on FreeBSD. The original idea was to write a Windows-based proxy, where the webserver would pass it requests, it would execute the query, and then return the results. This worked perfectly (and is still in use today), except that we learned early on that you can only run one SQL query at a time per machine. This evolved into a load-balanced farm of VMWare images, each running a copy of Win2K and the database proxy.
Dear God, how I hated that thing. The PostgreSQL solution eventually grew from the need to be able to run more than one query at a time. It basically had to grow nodes linearly with the number of simultaneous visitors we hoped to support. After a while, we simply couldn't scale the proxy farm behemoth to match the load that many simultaneous web visitors would place upon it.
I don't remember what gave me the idea to use PostgreSQL as a frontend to the FoxPro table files, but it's been absolutely blissful. We've also started migrating to native PostgreSQL tables for new development, with the eventual goal of only using FoxPro for the application layer. At that point, we can start replacing parts of it with components written in more favored languages until it eventually disappears.
I do say. It's not a fast database. It's not a particularly nice programming environment. It has little support for any kind of ACID goodness, and then only in the very newest release (which isn't completely backward compatible with its predecessors). No, it's true that the only thing FoxPro is particularly good at is running FoxPro code. Unless you have legacy FP applications to support, it has absolutely nothing to offer.
...except, well, any other language. It is hopelessly ancient and restrictive compared to pretty much any modern system. VB.Net and SQL Server? Better, faster, and easier. PHP and MySQL? Better, faster, and easier. Python and PostgreSQL? Infinitely better, much faster, and far easier. Frankly, I can't really think of another database for sale today that I wouldn't rather use.
But even indexed queries pale when compared to a "real" database. Since FP is file based - that is, each client has to read the files directly - even the index files have to be transmitted over the network to do those lightning fast queries. At some point you saturate your NIC, and after that all the processing power, RAM, or fast drives in the world won't make it a millisecond faster.
Compare and contrast with any client/server system, where all those queries are consolidated into one cache shared among all clients, and only the actual requested rows have to be returned. By its inherent architecture, FP simply cannot ever hope to be as fast.
It's not. It may be quick for the common case of a small table (10K lines) on a local drive, but move outside that and it's horrid. FP supports multi-user access by putting the data files on a network drive. If you want to query it, your machine has to read to entire file, throw out the lines it doesn't want, and present the results. My company has about 40 people using the same legacy FP database from a RAID 1+0 system over gigabit ethernet, and it's still hundreds of times slower than running similar queries via SQL to any "real" database.
Let me put it this way: I wrote a program to export our FP tables to tab-delimited text files and then import those into PostgreSQL. This takes about 25 minutes, and we run it hourly - and it's still worth the pain. Reports altered to query PostgreSQL instead of FP typically see speedups of several hundred times, multiple users can run the same reports simultaneously, and you can actually run the reports over a slow link since only the query and resultsets have to traverse the network instead of the whole table.
I know this will come across as flamebait, and I'd normally not say this, but anyone who claims that FoxPro is fast is a hobbyist programmer. It's simply not fast by any imaginable standard other than the trivial case of small files on a single user's drive.
I hate FoxPro. It's ugly, it's slow, it's ancient, and it doesn't play nicely with, well, anything. My company has spent the last few years migrating to a decent, modern solution with PostgreSQL and Python. My biggest hope is that they're actually releasing it through their proprietary "shared source" license and not a real F/OSS license, because I honestly want this to die once and for all.
BTW, yes, you read that right: FoxPro is glacially slow. Its proponents will swear up and down that it's the fastest database environment in the world, but the reality is that it's only fast at running FoxPro code. Port a FP program to pretty much any other language+RDBMS system, and actually write it in that combination's native idiom (that is, don't translate FP to Java line for line), and you'll leave it in the dust.
Same here. Well, that and the fact that I got a used eMac in great shape for $100. But the one thing about the global services that irks me is that there are so many of them. Is there a way to hide services? I'd only like to see a few: maybe spell check, grammar check, search Google, and a couple others. I don't need "upload to iPod", "translate to Ukranian (southern)", or "turn into crossword puzzle".
Well, there are the grammar checker...
No kidding! Can you imagine the kind of power it'd take to drive the air scrubbers for something like that? You'd have to plug them directly into a nuclear powerplant or something.
The reasons they'd allow smoking in that environment are that 1) in the scheme of things, the extra cleaning capacity needed to get the smoke out of the air is trivial, and 2) submarines are not exactly conducive to sanity, and the last thing you want to do before locking a smoker in a tiny underwater can for several months straight is to take away his calming influence. Actually, #2 is a far more important consideration than you might initially think.
Not quite:
Source: WordNet (r) 1.7
apology
n 1: an expression of regret at having caused trouble for someone; "he wrote a letter of apology to the hostess"
2: a formal written defense of something you believe in strongly [syn: apologia]
(this is another accepted meaning of a word, or an alternate meaning, as it is also known)
I downloaded that PDF, saw something that looked a lot like APL to my blissfully ignorant eyes, and ran screaming. Did he really apologize for writing FORTRAN by writing APL, and if so, why didn't he die of lead poisoning?
Not to belittle them, but they often picked the low-hanging fruit. Much of what can be proven about normal, deterministic computation has been proven. Want to do some groundbreaking CS research today? Start reading on quantum computing, which isn't exactly for the faint of heart. Put another way, we pretty much know how to build a von Neumann machine and program it (even if we mostly chose not to do it "right" for time or money reasons).
I've wondered what it must have been like to pioneer a brand new, wide open field. We know many of the greats because they were geniuses who were there at the right time. I hope another right time comes along during my life, even if only so I can watch it from the sidelines.
That is generally incorrect. The state (that is, police) has the right to arrest people who it believes have acted to harm the state (that is, its citizens). If I beat you bloody, you have no direct say in whether I am arrested or prosecuted, although it's true that a district attorney is unlike to press charges if it's clear that the lead witness cannot be made to testify. That's a decision of convenience, though - they simply don't want to waste their time fighting unwinnable cases.
First off, don't get so personal. This isn't about either of us.
In the case in question, Mommy Dearest coached a three year old to say that "Daddy put his penis in my vagina". Those words. From a three year old. A medical examination returned an intact hymen and no signs of physical trauma. And yet, his kids are pretty much gone for good.
I'm glad you live somewhere that average parents aren't terrified of the government stealing their kids. Please understand that this is not true for all Americans.
I wish you were right, but I don't believe so. I don't have the sources in front of me, but one report I read bragged at the 13% home replacement rate of CPS removals in southwest Missouri. That is, 13% of kids taken by the state eventually make it back to their home. I cannot be made to believe that their false positive rate on all accusations is only 13%, especially considering that a certain county there - home to a city of about 150,000 - has more kids in protective custody than does Orange County, CA.
I understand that CPS is an important last line of defense for a lot of children. However, the idea that a state agency can arbitrarily reassign your kids without requirement of due process or other constitutional considerations is absolutely terrifying to me.
This Colorado woman is a nutcase. That does not mean that the things she's rallying against aren't real problems, any more than Cindy Sheehan's weirdness should automatically discount protests against the war in Iraq.
In some places, I think that's entirely appropriate. I might have agreed with you until I watched a friend get accused of sexually abusing his kids by his crackhead ex wife. He's complied with ever detail of the law, and even though no evidence exists against him, he'll still probably not see his kids again unless they decide later in life to contact him.
Frankly, he would have been in far less trouble had he simply killed his ex and disappeared with the kids.
While I'm not saying that CPS is universally bad, I do know that I'll never again live in Missouri after seeing how they routinely shred the constitution "for the children".
My company values money an awful lot - it makes staying in business a bit easier. It's just that we take the long term view. Doing these things gives us a better reputation, which is critically important in our niche market. It also means fewer 2AM emergencies and easier maintenance. Basically, we've decided that OpenBSD's values are very profitable, even if they don't choose to directly financially profit from them.
My company makes far more than the OpenBSD team brings in, and yet we still respect them and try to emulate their practices. I'm not sure what kind of hubris it takes to dismiss someone's ideas just because you have more money.
FTFA:
Kudos to Core Security for finding an exploit in OpenBSD code. Seriously, that's impressive. However, it sounds like they're a little too pleased with themselves. "Forced release"? I guess that's technically true, in the sense that a feather exerts a gravitational force on the Earth.
In a nutshell, they reported a problem and OpenBSD fixed it. Then they demonstrated that it was a more serious problem, and OpenBSD backported the fix to the current releases and announced it on their website. After reading the whole timeline, I'm not sure what else they were supposed to have done so that Core wouldn't be "forced" to announce the vulnerability that OpenBSD publicized on their own site as a "security fix" three days earlier.
A couple of minor corrections:
1) The piece of "smart" hardware you're first connecting to (eg the first switch or router after any hubs) uses your MAC address for the entire time you're connected to it. That's how they know which port to send your packets to.
2) As mentioned in another post, IPv6 by default constructs your IP address from your MAC address. Few people in the western world currently use IPv6, a smaller number of them use autoconfig, and a smaller number of those people leave their MAC address at its default value. That doesn't mean that no one meets all the criteria, though.
On comment to you naysayers ("MAC addresses don't make it past your router!"): IPv6 autoconfiguration builds the local part of your address from your MAC. Now, the percentage of people using IPv6, and autoconfig on top of that, is currently very small. Still, that's a non-hypothetical leak of your hardware identifier to the Internet at large.
...but they do in effect make their system a couple hundred dollars cheaper than a competitor's system that ships with Office.
I have a degree in computer science. Does that qualify me to join your elite company?
Being a Baptist has as much to do with computer science, as being a computer scientist to do with liking the number of packages available in Gentoo.
No. It's actually much more cost effective for us to buy more and/or faster hardware than to pay someone to babysit it. Not that Gentoo is so incredibly difficult to manage, but you have to get those compile cycles from somewhere. If you build on the production machines, then you're taking processing time away from your applications. If you make a build server, then that's more hardware you had to buy, and more administrator time to set up and run the system.
They taught optimization in my math courses. Perhaps yours glossed over that part.
That's true to a point, but misses a huge population of contributors: people who release employer projects. I've done this several times. Basically, my boss asks for something, and I can't find anything (even half-finished) that does it. I get a working system up and running and clean it up enough that I'm not embarrassed for my friends to see it, then post it somewhere.
Now, I have no intention whatsoever of maintaining these forever, but that doesn't mean that they don't work, or at least work well enough to be useful. You probably wouldn't want to take my projects and use them as-is, but it might beat starting your own similar project from scratch.
Interesting coincidence.
Sincerely, Holden Yourass, M.D. (proctology)