The problem isn't caused by what Microsoft do, it's caused by what they stop others from doing. Microsoft can make a version of Windows with MSN Messenger built in, but I can't make a version of Windows with a Jabber client and sell it in stores or online. Forcing Microsoft to produce some token version without MSN Messenger won't have any effect.
The marketplace could be made more competitive while still keeping copyright on software. Microsoft could set a fixed price, say $80, for Windows and you could buy a copy at that price. But any third party would be free to take Windows, add their own features and resell it. Obviously Microsoft would still have to get their $80 so this 'Windows plus' might sell for $100. This would make the software market a bit more like other markets, where it's quite legal to buy a car or a house, modify it and resell it.
Yes, and you get slightly better compression too, at least for sending several small files. (Compress the first file with zip -0 and the outer file with zip -9.)
You're not at the mercy of the FSF. Your code will still be licensed under GPL v2 or later. So if people think the GPL3 terms are too onerous, they can keep using GPL2 as before. The only downside is if the new version is *too liberal* and lets people do things with your code that you'd rather not allow.
Really all that matters is the memory. If you can upgrade your old Pentium box to 256 megs of memory then it will run Fedora just fine. Indeed, on machines with lots of memory newer versions of Linux, KDE, glibc etc. are often faster than the old versions, at the expense of being a lot slower when RAM is limited. (Hence all the marketing telling you that version X+1 of a program is always faster than version X.)
Personally, I'd stay with Fedora (or other mainstream distribution) even with only 64 megabytes of RAM; just not run Openoffice on the thing. We used to run Mozilla 0.99 or whatever five years ago and it performed usably; Firefox is leaner and faster than those early Mozilla milestone releases. xemacs hasn't gotten any more bloated than it was before.
There is no ordinary SQL query (at least with the SQL92 standard, or with Oracle 9.x) that will populate the ancestor table with a transitive closure of the parent relation.
However, you can do it by running the same insert SQL over and over again until no rows are updated. This requires a loop, which SQL doesn't support - but you can easily do it using a procedural language like Perl or PL/SQL to repeatedly run your query.
Be careful. 'SQL procedures' are not SQL. They are some proprietary addon language like Postgres's PL/pgSQL, Oracle's PL/SQL or Sybase/Microsoft's T-SQL. SQL itself doesn't have any way to create procedures, set local parameters etc. Don't say SQL when you mean something else.
For those wondering about the difference: a good rule of thumb is that a programming language has recursion, or at least loops. SQL is less powerful than a full programming langauge because there are many things you can test in a program that you can't write an SQL query for. For example, if you have a table of (person, parent) relationships, you can't write a query to list all ancestors of a given person in form (person, ancestor). But you could easily do that given the same data and a general purpose programming language.
(Actually I think the very latest SQL standard may have some support for recursion to handle queries like this one. I don't know if it is Turing-complete though; I suspect not.)
Does this mean SQL is bad? No. Partly because it is less powerful than a full programming language, the database can often work out roughly what a given query will need to access and so make an efficient query plan for it. If what you want is expressible as SQL, it's very often a lot faster than coding the same thing in a general-purpose language, and easier to write and understand.
With an ordinary photograph you can play with the Refocus GIMP plugin. But you'd have to manually choose the radius of the circle of confusion. I don't think it will be possible to automatically get the whole range of focus ranges shown in their example images.
Is there a simple library that provides these various hashing functions, so that when one is broken in future it'll be easy to swap it out and replace with another?
As things stand now, going through all code to replace use of MD5 is quite a task.
Re:panspermia, evolution
on
Space Lichens
·
· Score: 1
I thought lichens were rather delicate lifeforms, in particular being very sensitive to air pollution. So the number of different kinds of lichen growing on your wall tells you how clean the air is.
A capitalist system does have democracy in the economic area, but some people have more votes than others, depending on how much money they have. Economic decisions are made by the collective buying power of individuals deciding what to buy, how many hours to work, what to invest in, rather than by a central authority. Monopolies and other market imperfections make it more difficult for individual voices to be heard, of course (e.g. at the supermarket I can't decide directly which suppliers to buy from, only those that have been selected for me by the supermarket's buying department); also a lot of 'voting power' is aggregated in firms, and while those are nominally controlled by their shareholders, the management of the company can tend to follow its own interests rather than listen to shareholders.
Scientists have attempted to decipher the meaning of the mouse songs. One theory is that the most common phrase roughly translates as 'we will wash it, we will scrub it'.
However not all experts are convinced. 'Fiddlesticks and flapdoodle. I never heard such nonsense!' commented Professor Yaffle, researcher at the Emily Foundation.
Government plans for disposing of nuclear waste have been thrown into turmoil by the resignation of a senior adviser, who has accused a key committee of endangering public safety by ignoring scientific expertise.
The Committee on Radioactive Waste Management (CoRWM) had become obsessed with public consultation at the expense of expert advice, Professor Ball told The Times.
It had spent a year considering far-fetched disposal options that were dismissed years ago by scientists, such as firing spent fuel into the Sun or shipping it to Antarctica, while hazardous waste languished in tanks that were vulnerable to an accident or terrorist attack.
It would be cool if someone knowledgeable could check the old MySQL Gotchas list and see how many have been fixed in 5.0. My hope is, nearly all of them.
I am not sure it makes a difference. Presumably Samsung already charge the price that maximizes their total profits. If selling RAM for $10 per chip is the most profitable price now, it will still be the most profitable price after the government imposes a one-off fine. The fine would make a difference only if it affected the cost of production - 'we will make you pay one dollar for every chip you sell during the next year'.
For those that are interested in such things, Xara is in fact the old Computer Concepts. I still have a Wordwise 16K ROM chip sitting around somewhere. When will they release the source for that?
Not mentioned: the PuTTY terminal emulator and ssh client, which lets you connect from your Windows box to some other system and so get some work done...
It also includes an scp implementation so you can securely transfer files between your Windows system and Unix boxes.
(Perhaps a niche market, but XKeymacs is useful for Emacs junkies stuck with Windows applications... there's also the Windows ports of GNU Emacs and XEmacs of course.)
Good point - what if you don't trust the local machine running your web browser? At least with the current multi-password setup you can log into Slashdot on a public terminal without also giving that machine access to the key for your bank account. I don't know if this circle can be squared: if you as the user want to provide enough information to the PC to let it access Slashdot but not the bank then the secret information for Slashdot and for the bank must be different - in other words separate passwords, which is what we were trying to avoid.
Similar to other applications of public/private keypairs, you could tell a website to accept other public keys. I am thinking here of what you do with ssh, when you can add as many keys as you like to your ~/.ssh/authorized_keys file. You could generate a 'low-security' keypair to carry on your USB storage device, and upload its public key to Slashdot and other unimportant websites but not to Paypal.
You are quite right. The random word generated by a site would need to be salted with the site's name. So evilsite.com would be allowed to generate 'evilsite123' or 'evilsite456', encrypt that string with your public key and send it to you. The bank site would use 'bank1234' etc. On decrypting you'd check that the site name matches before sending the plaintext back.
Could you trust grandma with this? No. If the bank always used a random string of the form 'bankXXX', you'd hope that the user would notice when pasting this text into evilsite.com - hmm, why does it say 'bank'? - but it would be unwise to rely on user intelligence. I suggest this manual system of GPG encrypting and decrypting more as a thought experiment. Obviously for widespread use you'd want the web browser to take care of the details. So the browser would check the salt on the plaintext string.
Re:Better than post-it notes
on
Too Many Passwords
·
· Score: 5, Insightful
Or better, just use your GPG keypair to identify yourself to start with. For example, when you register on a website you could paste in your GPG public key. Then to authenticate, the website encrypts a word with that key and shows it on a page; you decrypt it and enter the original word. So - no need to remember a password for this website, and if the website is cracked or just plain evil, they still can't do anything to access other sites since all they have is your public key.
The browser could automate this pretty easily, of course
Should computer players cheat?
on
Ask Sid Meier
·
· Score: 5, Interesting
I noticed in the original Civilization that the computer player would sometimes be able to 'cheat' or do certain things that humans could not. Presumably these worked around limitations in the AI, but they seemed to spoil the game a little once they became obvious. Was this part of the original game design, and do you think it's unavoidable, or do better AI engines mean that computer players can be subject to the same rules as humans?
The problem isn't caused by what Microsoft do, it's caused by what they stop others from doing. Microsoft can make a version of Windows with MSN Messenger built in, but I can't make a version of Windows with a Jabber client and sell it in stores or online. Forcing Microsoft to produce some token version without MSN Messenger won't have any effect.
The marketplace could be made more competitive while still keeping copyright on software. Microsoft could set a fixed price, say $80, for Windows and you could buy a copy at that price. But any third party would be free to take Windows, add their own features and resell it. Obviously Microsoft would still have to get their $80 so this 'Windows plus' might sell for $100. This would make the software market a bit more like other markets, where it's quite legal to buy a car or a house, modify it and resell it.
>I just put my zip files inside another zip file.
Yes, and you get slightly better compression too, at least for sending several small files. (Compress the first file with zip -0 and the outer file with zip -9.)
You're not at the mercy of the FSF. Your code will still be licensed under GPL v2 or later. So if people think the GPL3 terms are too onerous, they can keep using GPL2 as before. The only downside is if the new version is *too liberal* and lets people do things with your code that you'd rather not allow.
Really all that matters is the memory. If you can upgrade your old Pentium box to 256 megs of memory then it will run Fedora just fine. Indeed, on machines with lots of memory newer versions of Linux, KDE, glibc etc. are often faster than the old versions, at the expense of being a lot slower when RAM is limited. (Hence all the marketing telling you that version X+1 of a program is always faster than version X.)
Personally, I'd stay with Fedora (or other mainstream distribution) even with only 64 megabytes of RAM; just not run Openoffice on the thing. We used to run Mozilla 0.99 or whatever five years ago and it performed usably; Firefox is leaner and faster than those early Mozilla milestone releases. xemacs hasn't gotten any more bloated than it was before.
Yes, I've heard of CONNECT BY, and it is not powerful enough. Try it:
..... what?
create table parent (person varchar(100), parent varchar(100));
create table ancestor (person varchar(100), ancestor varchar(100));
insert into ancestors
There is no ordinary SQL query (at least with the SQL92 standard, or with Oracle 9.x) that will populate the ancestor table with a transitive closure of the parent relation.
However, you can do it by running the same insert SQL over and over again until no rows are updated. This requires a loop, which SQL doesn't support - but you can easily do it using a procedural language like Perl or PL/SQL to repeatedly run your query.
Be careful. 'SQL procedures' are not SQL. They are some proprietary addon language like Postgres's PL/pgSQL, Oracle's PL/SQL or Sybase/Microsoft's T-SQL. SQL itself doesn't have any way to create procedures, set local parameters etc. Don't say SQL when you mean something else.
For those wondering about the difference: a good rule of thumb is that a programming language has recursion, or at least loops. SQL is less powerful than a full programming langauge because there are many things you can test in a program that you can't write an SQL query for. For example, if you have a table of (person, parent) relationships, you can't write a query to list all ancestors of a given person in form (person, ancestor). But you could easily do that given the same data and a general purpose programming language.
(Actually I think the very latest SQL standard may have some support for recursion to handle queries like this one. I don't know if it is Turing-complete though; I suspect not.)
Does this mean SQL is bad? No. Partly because it is less powerful than a full programming language, the database can often work out roughly what a given query will need to access and so make an efficient query plan for it. If what you want is expressible as SQL, it's very often a lot faster than coding the same thing in a general-purpose language, and easier to write and understand.
With an ordinary photograph you can play with the Refocus GIMP plugin. But you'd have to manually choose the radius of the circle of confusion. I don't think it will be possible to automatically get the whole range of focus ranges shown in their example images.
Is there a simple library that provides these various hashing functions, so that when one is broken in future it'll be easy to swap it out and replace with another?
As things stand now, going through all code to replace use of MD5 is quite a task.
I thought lichens were rather delicate lifeforms, in particular being very sensitive to air pollution. So the number of different kinds of lichen growing on your wall tells you how clean the air is.
Ever heard of rpm and apt?
apt-get install package
That seems pretty standardized to me. And yes, there are graphical interfaces like synaptic so it's not necessary to use the command line.
A capitalist system does have democracy in the economic area, but some people have more votes than others, depending on how much money they have. Economic decisions are made by the collective buying power of individuals deciding what to buy, how many hours to work, what to invest in, rather than by a central authority. Monopolies and other market imperfections make it more difficult for individual voices to be heard, of course (e.g. at the supermarket I can't decide directly which suppliers to buy from, only those that have been selected for me by the supermarket's buying department); also a lot of 'voting power' is aggregated in firms, and while those are nominally controlled by their shareholders, the management of the company can tend to follow its own interests rather than listen to shareholders.
Scientists have attempted to decipher the meaning of the mouse songs. One theory is that the most common phrase roughly translates as 'we will wash it, we will scrub it'.
However not all experts are convinced. 'Fiddlesticks and flapdoodle. I never heard such nonsense!' commented Professor Yaffle, researcher at the Emily Foundation.
It would be cool if someone knowledgeable could check the old MySQL Gotchas list and see how many have been fixed in 5.0. My hope is, nearly all of them.
I believe there has long been an X11 port for Minix-386 (an enhanced and slightly bigger version of Minix running in protected mode on 386 boxes).
If you want a simpler windowing system you could try MGR.
Does it run Linux?
I am not sure it makes a difference. Presumably Samsung already charge the price that maximizes their total profits. If selling RAM for $10 per chip is the most profitable price now, it will still be the most profitable price after the government imposes a one-off fine. The fine would make a difference only if it affected the cost of production - 'we will make you pay one dollar for every chip you sell during the next year'.
For those that are interested in such things, Xara is in fact the old Computer Concepts. I still have a Wordwise 16K ROM chip sitting around somewhere. When will they release the source for that?
Not mentioned: the PuTTY terminal emulator and ssh client, which lets you connect from your Windows box to some other system and so get some work done...
It also includes an scp implementation so you can securely transfer files between your Windows system and Unix boxes.
(Perhaps a niche market, but XKeymacs is useful for Emacs junkies stuck with Windows applications... there's also the Windows ports of GNU Emacs and XEmacs of course.)
Perhaps you could use existing GPG key revocation mechanisms, though I'm not much clued up about what those are.
Good point - what if you don't trust the local machine running your web browser? At least with the current multi-password setup you can log into Slashdot on a public terminal without also giving that machine access to the key for your bank account. I don't know if this circle can be squared: if you as the user want to provide enough information to the PC to let it access Slashdot but not the bank then the secret information for Slashdot and for the bank must be different - in other words separate passwords, which is what we were trying to avoid.
Similar to other applications of public/private keypairs, you could tell a website to accept other public keys. I am thinking here of what you do with ssh, when you can add as many keys as you like to your ~/.ssh/authorized_keys file. You could generate a 'low-security' keypair to carry on your USB storage device, and upload its public key to Slashdot and other unimportant websites but not to Paypal.
You are quite right. The random word generated by a site would need to be salted with the site's name. So evilsite.com would be allowed to generate 'evilsite123' or 'evilsite456', encrypt that string with your public key and send it to you. The bank site would use 'bank1234' etc. On decrypting you'd check that the site name matches before sending the plaintext back.
Could you trust grandma with this? No. If the bank always used a random string of the form 'bankXXX', you'd hope that the user would notice when pasting this text into evilsite.com - hmm, why does it say 'bank'? - but it would be unwise to rely on user intelligence. I suggest this manual system of GPG encrypting and decrypting more as a thought experiment. Obviously for widespread use you'd want the web browser to take care of the details. So the browser would check the salt on the plaintext string.
Or better, just use your GPG keypair to identify yourself to start with. For example, when you register on a website you could paste in your GPG public key. Then to authenticate, the website encrypts a word with that key and shows it on a page; you decrypt it and enter the original word. So - no need to remember a password for this website, and if the website is cracked or just plain evil, they still can't do anything to access other sites since all they have is your public key.
The browser could automate this pretty easily, of course
I noticed in the original Civilization that the computer player would sometimes be able to 'cheat' or do certain things that humans could not. Presumably these worked around limitations in the AI, but they seemed to spoil the game a little once they became obvious. Was this part of the original game design, and do you think it's unavoidable, or do better AI engines mean that computer players can be subject to the same rules as humans?