Except, it won't be installed by default, and users downloading it and installing it once they have firefox ought to understand what it does and any potential risks. Particularly (I haven't used it yet, but assume this is either the case or will soon be) there ought to be a warning in the user interface that installing scripts can be potentially harmful, similar to the one that exists when you install an XPI package.
Maybe the failiure to grasp these concepts is typical of the Open Source crowd?
Actually, I'd say the opposite is true. It is the realisation that this freedom is not guaranteed which is the motive behind the free software movement; without understanding that people don't implicitly have the right to modify and redistribute your software, you would not usually think to _grant_ them that right...
By changing the structure of the page, you're going to potentially break pages that dynamically change themselves.
Fine. But script developers are going to see this, realise that their script doesn't work and either (1) fix it, or (2) abandon the idea. If the problems are more subtle, then the user's going to know they installed a script that's changing the page, and are going to try disabling it first to see if that fixes the problem...
This is a power user feature, not something your average newbie is going to install and use straight away...
Greasemonkey scripts are bound by the same restrictions as any other javascript.
No, they aren't. They are inserted into the code of another site's pages, therefore they get local access priveleges over those pages.
If you want to share info between different webapps, you'll need to find some way of storing the information -- perhaps add a function that embeds an image with the information you want to upload it to a third server?
Your random number generation in that script looks screwy to me (with not particularly good javascript coding knowledge) -- I'd say you'll have half as much chance of getting either your first or last sig as any of the rest.
You probably want Math.floor(Math.random() * mySig.length) instead (assuming such a method exists).
Even then the FAQ suggests that intimate semantics and/or complex data structures would need to be involved.
Yes, but there's no reason this couldn't be achieved through a pipe.
I think the way I would see it is this: if it is practically infeasible to replace the GPL subprocess with another implementation of the same interface (regardless of whether any implementation exists at the moment... it's the practical possibility that one may be created I'm thinking of), then the tie is probably too close and the new program is a derivitive work of the GPL one. But, IANAL, etc.
sorry, call it just-in-time compilation if you like, but no matter how you look at it, it's still a language (bytecodes) being translated to another language ( native ASM ) in execution-time ( execution of the JVM, that is ). That's interpretation for me, not compilation.
Strange, sure sounds like compilation to me. Just compilation that's delayed until it's needed. Interpretation implies that it is done on every execution, not just the first.
Ocaml, Python, Scheme, Haskell or Ruby?
All of which are either interpreted or just-in-time compiled, if I'm not mistaken.
Not that I disagree with your choices, some of these are great languages, but don't complain about an aspect of another language that your own preferences have in common with it.
Memory footprint for PHP and apache is typically quite low. Java has a high overhead, but scales reasonably well. I doubt it will be a problem on any modern servers, which are likely to have 256MB or more of RAM.
Doesn't JSP provide the same functionality as PHP?
No. PHP is an interpreted language with loosely typed variables, late binding and variable substitution in strings, all of which features are useful for quickly building web applications.
JSP is just a flimsy front end onto Java Servlets, which are a much more powerful but rather harder to use environment for building larger and more complex web systems.
Second the suggestion of using memory mapped IO. It allows the system to optimise cacheing much more effectively than you're likely to be able to.
The thing to remember is that Windows (this is undocumented) won't allow you to open a memory-mapped file that is larger than 1 GB
OK... does it fail at CreateFileMapping or MapViewOfFile? If the latter, you can work with larger files, you'll just need to restrict yourself to a 1Gb window within them.
and under FAT32 file systems (Windows 95/98/ME/and some low-end XP systems) the total of all memory mapped files on the entire operating system must be below 1 GB (this requirement really sucks the breath out of some applications).
Are you sure this is related to the filesystem? My understanding was that this restriction was because Win9x could only share memory in the address range 0xc0000000 - 0xffffffff (which is automatically shared between all running applications!), and memory mapped IO had to take place in the shared memory segment. If so, it shouldn't apply to XP.
Remember that if you are putting pointers into the file directly, that it works better if the pointers are relative offsets rather than direct memory pointers, even though direct memory pointers are in theory possible during a single session run.
If you use the MapViewOfFileEx function, you can specify the location at which you want the file mapped. This may or may not be useful: if you have 3rd party DLLs whose versions may change you can't easily predict where space will be available, and if you're on a Win95 family OS, it has to be available for _all_ applications, and the allowed range of addresses is severely restricted.
Either you have really bad luck, or I would question just how clean the power is to your house.
I've had no trouble with any of my seagate drives, most of which are much older than these maxtors, and some of which are used for much heavier duties.
The server with the two disks was also plugged in through a rather large spike suppressor, which should have ironed out most irregularities that wouldn't utterly fry everything not plugged into the same socket.
Another poster has pointed out that these disks run rather hot; this might well be the cause of my problem -- all the disks were installed in fairly small cases that might not have provided the best possible airflow to the disks. I've since moved to a much bigger case for the server, and the two replacement Maxtors in there are going strong.
ALso I'm really not sure what the difference is between downloading an American show that I missed a few weeks ago on the Sci-fi channel (yup, again I pay for that), and recording it with a VCR, DVR, TiVo or whatnot.
Programming on the sci-fi channel is partly funded by adverts. By downloading the content instead, you are not figuring in their audience statistics[*] and therefore you reduce the value of those adverts, costing the channel money.
[*] - Yes, I know this is only _really_ true if you are part of a viewer's survey group... but we can probably assume that an approximately proportional number of those are also downloading content instead of viewing it live, so it probably counts.
If the devices boots into Linux, but there are no applications to start (because they are proprietary and so you didn't have the source to compile them), so it doesn't do anything, that's not against the GPL - neither letter nor spirit of the GPL. You still get the source for the parts based on the GPL - but you'd have to write your own application software to run on top of it.
Or keep a copy of their applications from the originals provided and install them on your rebuilt system. This is a process which only involves making a transient unlicensed copy -- when you return it to the original device the copy is still licensed (unless you have agreed to specific terms which would terminate your license to it in this case) -- and is therefore probably legal in most jurisdictions. Check with an IP lawyer first, if you're worried, but my belief is that this is fine.
The "mere aggregation" clause in the GPL is intended to allow unrelated software to be distributed together, which is quite clear if you read the entire sentence it is found in:
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
The problem is defining what "another work not based on the Program" means. It is unclear in your example whether or not your program is based on the program it executes or not... this is a difficult concept that has yet to be decided by case law.
Firefox (or at least Mozilla) is a business, they just don't force you to buy their products if all you want is to get a copy of their web browser. However, if you want a nice package with printed manual and installation CD, you can buy it from them. They also sell merchandise.
We have 70 desktop systems (HPaq d530) with Maxtor 40GB drives. We've had 8 hard drives fail in these machines in the last 12 months - that's >10% failure rate
That's fortunate for you. I have 2 desktop systems with Maxtor 40Gbs and a server with 2xMaxtor 40Gb. All 4 disks failed within a month of each other, towards the end of last year.
le code source courant de Java peuvent être téléchargés ici
With a singular subject, the verb should be in a singular form (e.g. 'peut'), and the verbal adjective in the subordinate clause should also agree (masculine subject - code - so 'téléchargé' would be correct)
The license may well say that, however the last time I checked the open source Java implementations would not accept code contributions from developers who did not assert that they had never viewed Sun's code.
If you want to fork one of these projects and not follow this rule, be my guest. But it's a *very* big project to undertake without assistance.
Except, it won't be installed by default, and users downloading it and installing it once they have firefox ought to understand what it does and any potential risks. Particularly (I haven't used it yet, but assume this is either the case or will soon be) there ought to be a warning in the user interface that installing scripts can be potentially harmful, similar to the one that exists when you install an XPI package.
Maybe the failiure to grasp these concepts is typical of the Open Source crowd?
Actually, I'd say the opposite is true. It is the realisation that this freedom is not guaranteed which is the motive behind the free software movement; without understanding that people don't implicitly have the right to modify and redistribute your software, you would not usually think to _grant_ them that right...
By changing the structure of the page, you're going to potentially break pages that dynamically change themselves.
Fine. But script developers are going to see this, realise that their script doesn't work and either (1) fix it, or (2) abandon the idea. If the problems are more subtle, then the user's going to know they installed a script that's changing the page, and are going to try disabling it first to see if that fixes the problem...
This is a power user feature, not something your average newbie is going to install and use straight away...
Greasemonkey scripts are bound by the same restrictions as any other javascript.
No, they aren't. They are inserted into the code of another site's pages, therefore they get local access priveleges over those pages.
If you want to share info between different webapps, you'll need to find some way of storing the information -- perhaps add a function that embeds an image with the information you want to upload it to a third server?
Your random number generation in that script looks screwy to me (with not particularly good javascript coding knowledge) -- I'd say you'll have half as much chance of getting either your first or last sig as any of the rest.
You probably want Math.floor(Math.random() * mySig.length) instead (assuming such a method exists).
Even then the FAQ suggests that intimate semantics and/or complex data structures would need to be involved.
Yes, but there's no reason this couldn't be achieved through a pipe.
I think the way I would see it is this: if it is practically infeasible to replace the GPL subprocess with another implementation of the same interface (regardless of whether any implementation exists at the moment... it's the practical possibility that one may be created I'm thinking of), then the tie is probably too close and the new program is a derivitive work of the GPL one. But, IANAL, etc.
Don't turn ProxyRequests On; use RewriteRules to specify what proxying to perform. This should be secure.
sorry, call it just-in-time compilation if you like, but no matter how you look at it, it's still a language (bytecodes) being translated to another language ( native ASM ) in execution-time ( execution of the JVM, that is ). That's interpretation for me, not compilation.
Strange, sure sounds like compilation to me. Just compilation that's delayed until it's needed. Interpretation implies that it is done on every execution, not just the first.
Ocaml, Python, Scheme, Haskell or Ruby?
All of which are either interpreted or just-in-time compiled, if I'm not mistaken.
Not that I disagree with your choices, some of these are great languages, but don't complain about an aspect of another language that your own preferences have in common with it.
Memory footprint for PHP and apache is typically quite low. Java has a high overhead, but scales reasonably well. I doubt it will be a problem on any modern servers, which are likely to have 256MB or more of RAM.
Doesn't JSP provide the same functionality as PHP?
No. PHP is an interpreted language with loosely typed variables, late binding and variable substitution in strings, all of which features are useful for quickly building web applications.
JSP is just a flimsy front end onto Java Servlets, which are a much more powerful but rather harder to use environment for building larger and more complex web systems.
The two complement each other rather well, IMO.
Second the suggestion of using memory mapped IO. It allows the system to optimise cacheing much more effectively than you're likely to be able to.
The thing to remember is that Windows (this is undocumented) won't allow you to open a memory-mapped file that is larger than 1 GB
OK... does it fail at CreateFileMapping or MapViewOfFile? If the latter, you can work with larger files, you'll just need to restrict yourself to a 1Gb window within them.
and under FAT32 file systems (Windows 95/98/ME/and some low-end XP systems) the total of all memory mapped files on the entire operating system must be below 1 GB (this requirement really sucks the breath out of some applications).
Are you sure this is related to the filesystem? My understanding was that this restriction was because Win9x could only share memory in the address range 0xc0000000 - 0xffffffff (which is automatically shared between all running applications!), and memory mapped IO had to take place in the shared memory segment. If so, it shouldn't apply to XP.
Remember that if you are putting pointers into the file directly, that it works better if the pointers are relative offsets rather than direct memory pointers, even though direct memory pointers are in theory possible during a single session run.
If you use the MapViewOfFileEx function, you can specify the location at which you want the file mapped. This may or may not be useful: if you have 3rd party DLLs whose versions may change you can't easily predict where space will be available, and if you're on a Win95 family OS, it has to be available for _all_ applications, and the allowed range of addresses is severely restricted.
Either you have really bad luck, or I would question just how clean the power is to your house.
I've had no trouble with any of my seagate drives, most of which are much older than these maxtors, and some of which are used for much heavier duties.
The server with the two disks was also plugged in through a rather large spike suppressor, which should have ironed out most irregularities that wouldn't utterly fry everything not plugged into the same socket.
Another poster has pointed out that these disks run rather hot; this might well be the cause of my problem -- all the disks were installed in fairly small cases that might not have provided the best possible airflow to the disks. I've since moved to a much bigger case for the server, and the two replacement Maxtors in there are going strong.
ALso I'm really not sure what the difference is between downloading an American show that I missed a few weeks ago on the Sci-fi channel (yup, again I pay for that), and recording it with a VCR, DVR, TiVo or whatnot.
Programming on the sci-fi channel is partly funded by adverts. By downloading the content instead, you are not figuring in their audience statistics[*] and therefore you reduce the value of those adverts, costing the channel money.
[*] - Yes, I know this is only _really_ true if you are part of a viewer's survey group... but we can probably assume that an approximately proportional number of those are also downloading content instead of viewing it live, so it probably counts.
Software vendor XXX is releasing a commercial piece of software but includes a GPL component like LAME.
Since it is a codec they are using do they need to release source for LAME (+modifications) in addition to source for their entire application?
If they are linking directly to LAME, then they need to release their code under the GPL to keep this legal.
If they are linking to a codec management layer that has a LAME-based plugin (e.g. Windows ACM) then they don't.
(My opinion only, IANAL, get legal advice if this is important, etc.)
If the devices boots into Linux, but there are no applications to start (because they are proprietary and so you didn't have the source to compile them), so it doesn't do anything, that's not against the GPL - neither letter nor spirit of the GPL. You still get the source for the parts based on the GPL - but you'd have to write your own application software to run on top of it.
Or keep a copy of their applications from the originals provided and install them on your rebuilt system. This is a process which only involves making a transient unlicensed copy -- when you return it to the original device the copy is still licensed (unless you have agreed to specific terms which would terminate your license to it in this case) -- and is therefore probably legal in most jurisdictions. Check with an IP lawyer first, if you're worried, but my belief is that this is fine.
The "mere aggregation" clause in the GPL is intended to allow unrelated software to be distributed together, which is quite clear if you read the entire sentence it is found in:
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
The problem is defining what "another work not based on the Program" means. It is unclear in your example whether or not your program is based on the program it executes or not... this is a difficult concept that has yet to be decided by case law.
The FSF's interpretation of this is available here.
This sounds to me like a flaw with the entire concept of hyperthreading -- I don't think a microcode patch could solve this.
Firefox (or at least Mozilla) is a business, they just don't force you to buy their products if all you want is to get a copy of their web browser. However, if you want a nice package with printed manual and installation CD, you can buy it from them. They also sell merchandise.
Yep, that's my understanding of that clause too.
Bastards.
FSYNC(2) Linux Programmer's Manual FSYNC(2)
NAME
fsync, fdatasync - synchronize a file's complete in-core state with
that on disk
[...]
NOTES
In case the hard disk has write cache enabled, the data may not really
be on permanent storage when fsync/fdatasync return.
No, it doesn't. Or at least the documentation doesn't seem to think so.
We have 70 desktop systems (HPaq d530) with Maxtor 40GB drives. We've had 8 hard drives fail in these machines in the last 12 months - that's >10% failure rate
That's fortunate for you. I have 2 desktop systems with Maxtor 40Gbs and a server with 2xMaxtor 40Gb. All 4 disks failed within a month of each other, towards the end of last year.
They weren't all from the same batch, either.
everything sucks
:)
Wow. A working theory of quantum gravity. Nice.
new BTX form factor cases
BTX??? Whoever called it that deserves to be shot.
ATXX would be a much better name. To be followed by ATXXX, of course.
le code source courant de Java peuvent être téléchargés ici
:)
With a singular subject, the verb should be in a singular form (e.g. 'peut'), and the verbal adjective in the subordinate clause should also agree (masculine subject - code - so 'téléchargé' would be correct)
OpenOffice est le bébé du soleil.
Indeed. And perhaps of Sun, too.
Thanks for the laugh.
The license may well say that, however the last time I checked the open source Java implementations would not accept code contributions from developers who did not assert that they had never viewed Sun's code.
If you want to fork one of these projects and not follow this rule, be my guest. But it's a *very* big project to undertake without assistance.