All of your arguments are non-sequiturs, many of them also assume many things about my argument that I didn't say.
First of all, I did not say that the Bible should be used as national law. Nowhere in that post was that mentioned. It is not something I believe.
Second, believing that there were good things that used to happen IS NOT THE SAME as believing that everything that happened within that timeframe was good. There are many good things happening now, but that doesn't mean that EVERYTHING happening now is good. Where on earth do you get that my post was _against_ civil rights? That's specifically what I was talking against - the LAW CANNOT impose itself on religious belief. However, there are many things which happen in government which are not law. Order of ceremonies, leading a country, organizing government - none of these are a matter of law (although some have legal guidelines). If law were the entire matter of government, the executive branch would not need to exist.
Also, "unanimous consensus" has certainly not been unanimous, and a consensus without a vote does not change the constitution. That's the point of having a constitution that allows change - that you actually USE THE CHANGE PROCESS if you want it changed.
The first amendment does NOT state that God should be kept out of government affairs. It says that government affairs should not impose anything on God. Specifically, the legislative branch. It was not directed at executive orders or court decisions, but only that CONGRESS not make a LAW. If they had wanted a more general removal of God from government they would have been more general, but as is evident from their actions, writings, and the first amendment itself, this is not what they intended.
Don't read more into this post than is here, I'm simply saying that the first amendment is NOT about removing God and religion from government. It is simply about preventing congress from passing a specific kind of law. Note also that it does not restrict state governments in this area at all.
Re:Software Engineering is not just there yet
on
Code Generation in Action
·
· Score: 2, Interesting
Not to the same degree it is possible in Lisp. For example, in LISP, I can actually, say, read a file into a variable for compilation. With C++ I would have to read it at run-time, even if it's completely static.
For example, many games use precomputed lookup tables. It would be nice if the entire table could be generated at compile-time. You might be able to do it with a really awkward template, but it's best done using straight compile-time programming.
What's funny about C++ template metaprogramming is that it basically turns into LISP-like code because you have to define everything recursively!
Re:Software Engineering is not just there yet
on
Code Generation in Action
·
· Score: 4, Informative
Actually, it's very much there. It's not a _replacement_ for development, but there are many parts of coding which is benefitted by code generation. I often write tools to write code for me. Once I had to write a color-picker in HTML (VERY repetitive code), so I wrote a code-generator in Emacs Lisp and it saved me several hours. Several implementations of this concept exist:
* Templating (see Alexandrescu's book on Modern C++ design)
* Macros for those in the Scheme/Lisp world (these are GREAT and AWESOME)
* Compile-time programming (only available in LISP as far as I'm aware through the eval-when construct)
* Custom program-generators
And then there's the related concept of partial evaluation that, while excellent, has received very little attention by the commercial sector.
Now, many code-generation facilities could be done better with good libraries, but this isn't universally the case. Delphi is probably the best at putting in libraries/properties what others put in code generators, and their software is much easier and better because of it.
Macros and compile-time programming are two of the best ways to do this, but Scheme and LISP are the only ones that do this reasonably.
License concerns come up in both cases. VMWare is actually easier on the licenses, because you have already purchased the copies you have - no need to upgrade since it's a legacy operating system. For Terminal Server, you may have to repurchase licenses for remote use.
I have been totally annoyed with iMovie 3. One of the main problems I've had with it is that the dv files it produces appear to have major, major problems. I haven't found a non-mac player which will play the dv files (other file types are better, but you would think the "raw" format would be pretty good).
My goal was to edit in iMovie (because our A/V equipment is hooked up to a Mac) and encode using MJPEGtools, but the output from iMovie was so broken it just didn't work.
From the FAQ - http://www.fsf.org/licenses/gpl-faq.html#GPLRequir eSourcePostedPublic
"The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you."
According to the authors of the license, "internally within an organization" does not count as distribution.
After Linux takes hold, it won't really matter anymore. You see, once people understand the concept of freedom-based software, they will understand that there's no reason to be bound to a particular vendor or technology. I mean really, I can imagine a Linux vendor switching out the kernel for something else, but who cares? It's not like anyone uses the kernel directly anyway.
We already have multiple operating systems - Gentoo, Slackware, RedHat, etc. "Linux" is not a unified entity anyway.
VMWare is a migration step, and a good one at that. There's nothing wrong with running VMWare in that role. For the migration step at Telestra, they will be running applications off of NT Terminal Server or Citrix.
What you miss is, that with these options, they are saying that it is more cost-beneficial to go with Linux, even if you have to support a bare-bones NT install as well. That's saying a lot.
This wouldn't affect RDBMSs at all. Object prevalence is very fast, but the hierarchical databases before RDBMSs were very fast as well. The reason that RDBMSs took precedence was not speed, it was data integrity and data manipulation. It still has these advantages. If you just view an RDBMS as a bit-bucket, you should have just used hierarchical databases all this time, as they are much faster.
"No source code packages. You can't create a library, like you would in oracle."
I'm not sure what you mean here. You can certainly create.so files to be included into Postgres for calling from SQL. You can build Oracle from source, and there is the libpq library for accessing it. What is missing?
The main feature I see missing from Postgres is tablespaces.
It doesn't. However, Oracle _is_ evil, at least for their Enterprise Applications. Their sales reps are complete liars - the are trained to always say "yes" to "can it do X". Why? Because if it's not in the base install, you can code it yourself. Well, Golly Gee, don't I purchase an enterprise application so I don't have to code it myself?
In addition, you can't really take it for a test drive, because it takes MONTHS to set up, even for small installations (it was a year process for a 300-employee company I used to work for, but we also had customizations as well).
Also, they never feel a need to actually ship a _working_ product. The version we used would not let you enter an order quantity over 9. 9??? Was this tested by ANYONE? I've heard worse stories from their salesforce management software. They basically ship code straight from the developers to the end-users, and allow YOU to test it. And, when you discover a bug, it may take several months for them to get around to a fix, even if you have it escalated to SEV-1 (okay, maybe SEV-1s are fixed within a few weeks, but still...).
And their consulting staff... Ahhh!! We were paying hundreds of dollars and hour for someone who had only used Oracle for 8 months! This was from Oracle headquarters. The guy had only done COBOL programming before, and had never clued into the concept of local variables. We had to recode everything he did.
And, on top of that, we paid a HUGE amount of money for this privilege.
It's not really the money that's the problem. It's that you might expect such service from a two-bit company that charged you $10/hour, but to be charged hundreds an hour for a totally crappy product, you just feel screwed in the end.
"You would still have to pay boatloads for support...even with postgres... Open Source does not mean 24/7 Support calls..."
Let's see, with Oracle, I can call 24/7 and get access to a complete idiot with a phone who can say he's escalated it and give me a cute little number. I have to trust them that they do actually have qualified engineers working on it and not some lame-o that just got hired last week. The amount of time it takes to reach a senior developer is unknown.
With PostgreSQL, most emails to psql-general are looked at by a VERY experienced crew (many of the lead developers), who are very happy to help you out if you are polite.
If you need more than that, it is available, but a lot of the "support" that people need to pay for with Oracle simply isn't required w/ PostgreSQL or open-source in general.
Domain names are not case sensitive, but the rest of the URL is if it is being served by a UNIX machine (generally speaking, of course - I can't think of any statement that is generally true of ALL UNIX machines).
"Programming is not as highly skilled a task as you seem to think it is."
Two things:
a) for anything above trivial stuff, yes it is.
b) even for trivial things, at least in america, a lot of people have trouble with logic. They just don't get the concept "in order for the system to spit it out, it has to be put in there by someone". In addition, they have no idea how to structure a large project, or even set goals so they can do it in several smaller projects.
Even people with CS degrees seem to have trouble actually accomplishing anything. I am so amazed by all of the companies I see with tons and tons of developers. I always have to ask myself, "what on earth are they doing?" The answer is usually "at least half of them are incompetent, and it slows down those who know what they are doing tremendously"
Actually, if I were a nefarious business planner, I wouldn't do it for G5. Why?
The G5s are going to make Intel users lust after them. They might switch if they had a lifeboat back to the old world. So, by not providing it for the G5, they can keep much of their userbase from switching. Allowing it on the G5 would have the effect of giving their users an intermediate platform to make it easier to switch away.
Actually, that would be bad business sense. Why do that when they can just devote a few engineers to Bochs to make it faster?
Even better, with 8-20 engineers, they could probably finish out the Wine API and combine it with Bochs so that users could run Windows apps without paying any extra money at all, and it would cost Apple a few million less.
" It's considerably easier to port something than to make it run under an emulator."
This is incorrect. If the emulator is any good, it shouldn't need anything else to make it run.
"As to API calls -- that's where various layers of abstraction come in useful. If properly designed, a program should not be hard to port to any platform that offers the necessary features."
It depends on what you mean by "not be hard". If "not be hard" means it will take 6 months to a year, and then you have to maintain two separate code bases for the rest of your life, I'll agree. It will allow you to take less time than, say, rewriting from scratch, but it won't make it easy by any stretch of the imagination.
"Ever notice that Mac Office and Windows Office look nothing like each other? I don't think it's because of porting difficulties; "
It's not because of porting _difficulties_, it's because Mac behaves differently than Windows. It would be idiotic to have a Office behave like a Windows program - they're running a Mac for crying out loud - they didn't WANT windows.
Now, if you want to see a UI abomination that came from porting APIs, check out Photoshop for Windows. That whole "screen takes over everything" is Windows-specific, because they were using less-than-perfect porting API.
Now, in all honesty, Windows developers usually do not code in the modular fashion you describe. In fact, Microsoft usually has entire teams set up to do the porting effort. In fact, often times with Microsoft the ports to other platforms are essentially rewrites with similar specifications. Mac IE 5 was like that - the codebase for that and Windows IE 5 had almost no sharing.
I don't think they need a provable case - space exploration is something we need to do. However, I do think they need to have a _goal_. Right now their goal is to send people up and come back. Can't we have a better goal than that? Perhaps the next goal can be a station on the moon. But we need to have a goal.
Now, the problem is that us on the ground really don't know what all is necessary to fly into space, so our calculations of cost aren't necessarily useful. However, we should give them a fixed budget, and have _them_ tell us how much time it's going to take.
All of your arguments are non-sequiturs, many of them also assume many things about my argument that I didn't say.
First of all, I did not say that the Bible should be used as national law. Nowhere in that post was that mentioned. It is not something I believe.
Second, believing that there were good things that used to happen IS NOT THE SAME as believing that everything that happened within that timeframe was good. There are many good things happening now, but that doesn't mean that EVERYTHING happening now is good. Where on earth do you get that my post was _against_ civil rights? That's specifically what I was talking against - the LAW CANNOT impose itself on religious belief. However, there are many things which happen in government which are not law. Order of ceremonies, leading a country, organizing government - none of these are a matter of law (although some have legal guidelines). If law were the entire matter of government, the executive branch would not need to exist.
Also, "unanimous consensus" has certainly not been unanimous, and a consensus without a vote does not change the constitution. That's the point of having a constitution that allows change - that you actually USE THE CHANGE PROCESS if you want it changed.
The first amendment does NOT state that God should be kept out of government affairs. It says that government affairs should not impose anything on God. Specifically, the legislative branch. It was not directed at executive orders or court decisions, but only that CONGRESS not make a LAW. If they had wanted a more general removal of God from government they would have been more general, but as is evident from their actions, writings, and the first amendment itself, this is not what they intended.
Don't read more into this post than is here, I'm simply saying that the first amendment is NOT about removing God and religion from government. It is simply about preventing congress from passing a specific kind of law. Note also that it does not restrict state governments in this area at all.
You must work for EDS.
Not to the same degree it is possible in Lisp. For example, in LISP, I can actually, say, read a file into a variable for compilation. With C++ I would have to read it at run-time, even if it's completely static.
For example, many games use precomputed lookup tables. It would be nice if the entire table could be generated at compile-time. You might be able to do it with a really awkward template, but it's best done using straight compile-time programming.
What's funny about C++ template metaprogramming is that it basically turns into LISP-like code because you have to define everything recursively!
Actually, it's very much there. It's not a _replacement_ for development, but there are many parts of coding which is benefitted by code generation. I often write tools to write code for me. Once I had to write a color-picker in HTML (VERY repetitive code), so I wrote a code-generator in Emacs Lisp and it saved me several hours. Several implementations of this concept exist:
* Templating (see Alexandrescu's book on Modern C++ design)
* Macros for those in the Scheme/Lisp world (these are GREAT and AWESOME)
* Compile-time programming (only available in LISP as far as I'm aware through the eval-when construct)
* Custom program-generators
And then there's the related concept of partial evaluation that, while excellent, has received very little attention by the commercial sector.
Now, many code-generation facilities could be done better with good libraries, but this isn't universally the case. Delphi is probably the best at putting in libraries/properties what others put in code generators, and their software is much easier and better because of it.
Macros and compile-time programming are two of the best ways to do this, but Scheme and LISP are the only ones that do this reasonably.
License concerns come up in both cases. VMWare is actually easier on the licenses, because you have already purchased the copies you have - no need to upgrade since it's a legacy operating system. For Terminal Server, you may have to repurchase licenses for remote use.
I have been totally annoyed with iMovie 3. One of the main problems I've had with it is that the dv files it produces appear to have major, major problems. I haven't found a non-mac player which will play the dv files (other file types are better, but you would think the "raw" format would be pretty good).
My goal was to edit in iMovie (because our A/V equipment is hooked up to a Mac) and encode using MJPEGtools, but the output from iMovie was so broken it just didn't work.
From the FAQ - http://www.fsf.org/licenses/gpl-faq.html#GPLRequir eSourcePostedPublic
"The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you."
According to the authors of the license, "internally within an organization" does not count as distribution.
After Linux takes hold, it won't really matter anymore. You see, once people understand the concept of freedom-based software, they will understand that there's no reason to be bound to a particular vendor or technology. I mean really, I can imagine a Linux vendor switching out the kernel for something else, but who cares? It's not like anyone uses the kernel directly anyway.
We already have multiple operating systems - Gentoo, Slackware, RedHat, etc. "Linux" is not a unified entity anyway.
You are incorrect. The GPL says that redistribution within an organization does not count as redistribution.
VMWare is a migration step, and a good one at that. There's nothing wrong with running VMWare in that role. For the migration step at Telestra, they will be running applications off of NT Terminal Server or Citrix.
What you miss is, that with these options, they are saying that it is more cost-beneficial to go with Linux, even if you have to support a bare-bones NT install as well. That's saying a lot.
This wouldn't affect RDBMSs at all. Object prevalence is very fast, but the hierarchical databases before RDBMSs were very fast as well. The reason that RDBMSs took precedence was not speed, it was data integrity and data manipulation. It still has these advantages. If you just view an RDBMS as a bit-bucket, you should have just used hierarchical databases all this time, as they are much faster.
"No source code packages. You can't create a library, like you would in oracle."
.so files to be included into Postgres for calling from SQL. You can build Oracle from source, and there is the libpq library for accessing it. What is missing?
I'm not sure what you mean here. You can certainly create
The main feature I see missing from Postgres is tablespaces.
It doesn't. However, Oracle _is_ evil, at least for their Enterprise Applications. Their sales reps are complete liars - the are trained to always say "yes" to "can it do X". Why? Because if it's not in the base install, you can code it yourself. Well, Golly Gee, don't I purchase an enterprise application so I don't have to code it myself?
In addition, you can't really take it for a test drive, because it takes MONTHS to set up, even for small installations (it was a year process for a 300-employee company I used to work for, but we also had customizations as well).
Also, they never feel a need to actually ship a _working_ product. The version we used would not let you enter an order quantity over 9. 9??? Was this tested by ANYONE? I've heard worse stories from their salesforce management software. They basically ship code straight from the developers to the end-users, and allow YOU to test it. And, when you discover a bug, it may take several months for them to get around to a fix, even if you have it escalated to SEV-1 (okay, maybe SEV-1s are fixed within a few weeks, but still...).
And their consulting staff... Ahhh!! We were paying hundreds of dollars and hour for someone who had only used Oracle for 8 months! This was from Oracle headquarters. The guy had only done COBOL programming before, and had never clued into the concept of local variables. We had to recode everything he did.
And, on top of that, we paid a HUGE amount of money for this privilege.
It's not really the money that's the problem. It's that you might expect such service from a two-bit company that charged you $10/hour, but to be charged hundreds an hour for a totally crappy product, you just feel screwed in the end.
"You would still have to pay boatloads for support...even with postgres... Open Source does not mean 24/7 Support calls..."
Let's see, with Oracle, I can call 24/7 and get access to a complete idiot with a phone who can say he's escalated it and give me a cute little number. I have to trust them that they do actually have qualified engineers working on it and not some lame-o that just got hired last week. The amount of time it takes to reach a senior developer is unknown.
With PostgreSQL, most emails to psql-general are looked at by a VERY experienced crew (many of the lead developers), who are very happy to help you out if you are polite.
If you need more than that, it is available, but a lot of the "support" that people need to pay for with Oracle simply isn't required w/ PostgreSQL or open-source in general.
The same argument could be made for OS 9 apps now, but there is definite value in a native port.
Domain names are not case sensitive, but the rest of the URL is if it is being served by a UNIX machine (generally speaking, of course - I can't think of any statement that is generally true of ALL UNIX machines).
"it seems to be borne out, if only by the fact that I've never seen a "Teach Yourself LISP in 24 Hours" book."
:)
y -s cheme.html
Not quite, but very close
http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-
"Programming is not as highly skilled a task as you seem to think it is."
Two things:
a) for anything above trivial stuff, yes it is.
b) even for trivial things, at least in america, a lot of people have trouble with logic. They just don't get the concept "in order for the system to spit it out, it has to be put in there by someone". In addition, they have no idea how to structure a large project, or even set goals so they can do it in several smaller projects.
Even people with CS degrees seem to have trouble actually accomplishing anything. I am so amazed by all of the companies I see with tons and tons of developers. I always have to ask myself, "what on earth are they doing?" The answer is usually "at least half of them are incompetent, and it slows down those who know what they are doing tremendously"
It depends. Some of the authors are actually good, and the just do the "24 hours" thing for name recognition. Most, however, really do suck.
Actually, if I were a nefarious business planner, I wouldn't do it for G5. Why?
The G5s are going to make Intel users lust after them. They might switch if they had a lifeboat back to the old world. So, by not providing it for the G5, they can keep much of their userbase from switching. Allowing it on the G5 would have the effect of giving their users an intermediate platform to make it easier to switch away.
Actually, that would be bad business sense. Why do that when they can just devote a few engineers to Bochs to make it faster?
Even better, with 8-20 engineers, they could probably finish out the Wine API and combine it with Bochs so that users could run Windows apps without paying any extra money at all, and it would cost Apple a few million less.
" It's considerably easier to port something than to make it run under an emulator."
This is incorrect. If the emulator is any good, it shouldn't need anything else to make it run.
"As to API calls -- that's where various layers of abstraction come in useful. If properly designed, a program should not be hard to port to any platform that offers the necessary features."
It depends on what you mean by "not be hard". If "not be hard" means it will take 6 months to a year, and then you have to maintain two separate code bases for the rest of your life, I'll agree. It will allow you to take less time than, say, rewriting from scratch, but it won't make it easy by any stretch of the imagination.
"Ever notice that Mac Office and Windows Office look nothing like each other? I don't think it's because of porting difficulties; "
It's not because of porting _difficulties_, it's because Mac behaves differently than Windows. It would be idiotic to have a Office behave like a Windows program - they're running a Mac for crying out loud - they didn't WANT windows.
Now, if you want to see a UI abomination that came from porting APIs, check out Photoshop for Windows. That whole "screen takes over everything" is Windows-specific, because they were using less-than-perfect porting API.
Now, in all honesty, Windows developers usually do not code in the modular fashion you describe. In fact, Microsoft usually has entire teams set up to do the porting effort. In fact, often times with Microsoft the ports to other platforms are essentially rewrites with similar specifications. Mac IE 5 was like that - the codebase for that and Windows IE 5 had almost no sharing.
I don't think they need a provable case - space exploration is something we need to do. However, I do think they need to have a _goal_. Right now their goal is to send people up and come back. Can't we have a better goal than that? Perhaps the next goal can be a station on the moon. But we need to have a goal.
Now, the problem is that us on the ground really don't know what all is necessary to fly into space, so our calculations of cost aren't necessarily useful. However, we should give them a fixed budget, and have _them_ tell us how much time it's going to take.
So how is that different from SPAM? You can always shut off access to email based on the relaying host.