The reason for this problem is that the query planner did not use an index on a bigint column when the 123 literal in the query was an int literal, so id did an sequential scan instead of an index scan.
But this problem is well-known with well-known workarounds, and fixed since 8.0.
Another workaround is using
select * from tbl where id = 123::bigint
For a full list of postgresql (and mysql) gotchas, see http://sql-info.de/
Actually, once the data phase of the smtp transaction starts, You have to wait until it completes. It doesn't save you any bandwidth, just saves on the hitting delete.
That's wrong.
First, you can send the error and then close the connection (forcibly / conn reset) before the whole virus attachment is transmitted.
Second, it saves the bandwidth for the user fetching his mail via POP/IMAP/WebMail or whatever.
Third, if you send appropriate error codes, the spammer might even delete your address, so you may get some less spam in the future.
You say it yourself: "The GPL namely allows the customer [...] to give the code away to the public" - thats empowering the customer. The customer has the choice.
Of course, the more customers you have, the more likely it is that the code will find its way into public - but hey, even lots of the windows code has found its way into public:-)
Does the GPL allow me to develop a modified version under a nondisclosure agreement?
Yes. For instance, you can accept a contract to develop changes and agree not to release your changes until the client says ok. This is permitted because in this case no GPL-covered code is being distributed under an NDA.
You can also release your changes to the client under the GPL, but agree not to release them to anyone else unless the client says ok. In this case, too, no GPL-covered code is being distributed under an NDA, or under any additional restrictions.
The GPL would give the client the right to redistribute your version. In this scenario, the client will probably choose not to exercise that right, but does have the right.
If I distribute GPL'd software for a fee, am I required to also make it available to the public without a charge?
No. However, if someone pays your fee and gets a copy, the GPL gives them the freedom to release it to the public, with or without a fee. For example, someone could pay your fee, and then put her copy on a web site for the general public.
in contrast to the GPL, which obligates developers to make their modifications available to the public
Thats just plainly wrong, please re-read the GPL! The GPL just obligates to make the source avaliable to every receipient of the binary, and enforces that you cannot change the license.
Thus, if you develop complex modifications for a GPL software, and your customer pays you lots of money for it, nobody is forced to give those modifications to the public.
GPL enpowers the customer, not the public. The customer gets the freedom to modify (or pay someone else to do it) the software, independently from the original vendor.
Just read the quote, it states: "these numbers are guessable on many platforms" - which means that there are "many" platforms which have insecure random generators, and so it is guessable on those. The other which have secure random generators haven't guessable ISNs, and so are secure.
The university of Ulm is developing an distributed OS called Plurix. It is planned to go public and make it open source in the end of this year.
It is based on atomically transactions and distributed shared memory.
More information can be found at the Plurix Website - but not really up to date:-(
New OS Concepts are being researched...
on
The End of Unix?
·
· Score: 1
In the universities and companies, new OS Concepts are researched. I think the best of those Concepts will make it into the future OSes.
One of them is Plurix, which was demonstrated at the CEBIT fair in Hannover a few weeks ago. The main concept is a distributet address space:
When creating distributed, user friendly systems, most of the work is hiding and overlaying the OS concepts with new ones. E. g. using stub objects and transferring the commands and data over the net, where a stub caller accesses the real object. (this way JAVA-RMI and DCOM work). This is overlayed over a local OS, that even builds walls between the applications on the same machine, creating the need for translation and serialization of data, code and requests. The main reason for this is to protect apps from "bad" apps. Most of the bad apps result from programming errors, very often caused by pointer arithmetics (e. G. off-by-one-errors), Alloc/Free problems and wrong casts. Especially C and C++ are very dangerous in this area. Most of this could be avoided by using type-safe languages like Oberon or Java with automatic garbage colleciton, and validating the code when linking it into the memory. This way, you can spread one mem-address-space over the network, instead of dividing every machine into several address spaces.
Another project which researches for new security concepts is SPEEDOS.
The reason for this problem is that the query planner did not use an index on a bigint column when the 123 literal in the query was an int literal, so id did an sequential scan instead of an index scan. But this problem is well-known with well-known workarounds, and fixed since 8.0. Another workaround is using select * from tbl where id = 123::bigint For a full list of postgresql (and mysql) gotchas, see http://sql-info.de/
Well, how can I toggle the interrupt bit in userspace? I presume this is only allowed when running in kernel mode (ring 0 on x86).
You say it yourself: "The GPL namely allows the customer [...] to give the code away to the public" - thats empowering the customer. The customer has the choice. :-)
Of course, the more customers you have, the more likely it is that the code will find its way into public - but hey, even lots of the windows code has found its way into public
Thats just plainly wrong, please re-read the GPL! The GPL just obligates to make the source avaliable to every receipient of the binary, and enforces that you cannot change the license.
Thus, if you develop complex modifications for a GPL software, and your customer pays you lots of money for it, nobody is forced to give those modifications to the public.
GPL enpowers the customer, not the public. The customer gets the freedom to modify (or pay someone else to do it) the software, independently from the original vendor.
One can actually write OS kernels with java, see e. G. http://www.plurix.de/ or http://www.jxos.org/.
See http://ars.userfriendly.org/cartoons/?id=20040406 and http://ars.userfriendly.org/cartoons/?id=20040415.
BIND means "Bugs Integrated Name Server" - so let's hope that this version has less holes compared to the predecessors.
Hmm, I can't see where the problem is...
So, no problem at all...
Just read the quote, it states: "these numbers are guessable on many platforms" - which means that there are "many" platforms which have insecure random generators, and so it is guessable on those. The other which have secure random generators haven't guessable ISNs, and so are secure.
It is based on atomically transactions and distributed shared memory.
More information can be found at the Plurix Website - but not really up to date :-(
One of them is Plurix, which was demonstrated at the CEBIT fair in Hannover a few weeks ago. The main concept is a distributet address space:
When creating distributed, user friendly systems, most of the work is hiding and overlaying the OS concepts with new ones. E. g. using stub objects and transferring the commands and data over the net, where a stub caller accesses the real object. (this way JAVA-RMI and DCOM work). This is overlayed over a local OS, that even builds walls between the applications on the same machine, creating the need for translation and serialization of data, code and requests.
The main reason for this is to protect apps from "bad" apps. Most of the bad apps result from programming errors, very often caused by pointer arithmetics (e. G. off-by-one-errors), Alloc/Free problems and wrong casts. Especially C and C++ are very dangerous in this area.
Most of this could be avoided by using type-safe languages like Oberon or Java with automatic garbage colleciton, and validating the code when linking it into the memory. This way, you can spread one mem-address-space over the network, instead of dividing every machine into several address spaces.
Another project which researches for new security concepts is SPEEDOS.
---