That was my point. She's using Irix with the fancy 3D information explorer, but back then, it was highly unlikely a kid of her age would even know what Unix was, no to mention how to use it. Who could afford a workstation with 3D accelerated graphics? These days, kids can put Linux on their PCs and they've got 8X AGP GF4Ti cards, and it's not even unusual. Reality caught up, and "Unix! I know that!" isn't funny, because it's not unusual.
Of course, now that I had to explain it, it's even less funny.;-)
Imagine that Cray computer decides to make a personal computer. It has
a 150 MHz processor, 200 megabytes of RAM, 1500 megabytes of disk
storage, a screen resolution of 4096 x 4096 pixels, relies entirely on
voice recognition for input, fits in your shirt pocket and costs $200-$300.
What's the first question that the computer community asks?
"Is it PC compatible?"
It was funny at the time. Those specs were ridiculous!
Today I've got a 200MHz+ Zaurus with 64MB of RAM builtin, plus about 512MB worth of CF cards. And you can get 1-2GB CF microdrives. And it costs about $300.
It's like "Unix! I know this!" line from Jurassic Park... reality caught up, and it's not funny anymore.:-(;-)
You could use modutils and, say, gphoto2 along with a script to do it for you.
Since there's likely a specific USB driver, just insert a post-install line (post-install drivernamecommand) and when you plug it in, the module handler will start things going for you.
Since you're the one writing the script (which doesn't really have to be more than a gphoto command telling it where to put the pictures), you can make it as robust as you like... for instance, set up a file with camera ID to username mappings, and drop stuff in ~user/.photos-incoming or something.
If it's a camera that Linux sees as USB storage, the same thing pretty much holds, but you'll have to just run cp and put them where you'd like... no need to compile gphoto.
To bring this back on topic, I can't wait to check out 2.6, but I'm still in the middle of configuring test1.;-(
There was a funny story on a similar note from my hardware architecture class. The professor had been teaching about the various gates, and came to the NOT gate. The description given was "when the input voltage is OFF, the gate outputs an ON voltage". One of the students thought about this, and then asked the professor that, if this was the case, why couldn't you power a system by putting together a large quantity of NOT gates...
...engineers are working with software developers on a way to dramatically reduce power consumption by maximizing the number of 0-bits in memory.
"We think this could be a major breakthrough for laptop users dissatisfied with battery life," comments one developer who wishes to remain anonymous. "Studies show that modern software uses an increasing number of 1-bits, a side effect of the overcomplexity of today's lax programming standards and abundance of cheap, fast CPUs and RAM."
Sources indicate that in addition, storing fewer 1-bits on the disk may result in portable computers that weigh less, as well.
Nonsense. The GPL is intended to do exactly what you say it doesn't: it's intended to make all software free. It's a tool intended to destroy copyright from within.
Yes, basically, and no, I didn't say it wasn't.
Saying that it's viral is mere shorthand for that, and you obviously know that (since you define viral in that way).
Precisely wrong. The idea is to provide a great deal of high-quality software that's Free(tm) such that's it's easier (and perhaps cheaper) just to write more Free(tm) software than it is to write proprietary alternatives.
There's still nothing forcing you to write free software. You can go out and rewrite everything yourself. But that doesn't mean it's easy, and really: why should it be? Why should those who write free software make life easier for those who write proprietary software?
That's right, they shouldn't. But no one is stopping you from writing the proprietary software. (They're not making it harder, either. If that free software wasn't there, you'd still have to write your own.)
Grin... To stretch the analogy, suppose someone claimed that the common cold wasn't viral because you could avoid it by wearing a mask, washing your hands, and staying out of public. I know, it's a stretched analogy...
Yes, this analogy falls far short. The GPL is much more like peer pressure. It's easier and more fun to go along with it, but if you make up your mind not to, there's nothing stopping you.
I think you missed the point. The LGPL does not do what it was designed to do and what most programmers who use it think it does with their code.
No, the point is that calling the GPL or LGPL viral is wrong, whether or not it acts correctly in this case. Using the term "viral" is merely FUD-spreading. Saying "the LGPL has bugs when used with Java" would be far more accurate.
Besides, my point stands: you're responsible for knowing the actual terms of the license, not just thinking you know what it means. And you have the choice to follow them or use something else.
Now, if there are bugs with the license in this case, then let's have someone fix them. But spreading FUD is not doing any good.
Please read that again. And again, until you get it. The GPL is not viral. It's pretty simple, really. If you're going to use [L]GPL'd code, follow the terms of the license, or don't use it.
You have a choice. The [L]GPL is not a little bug trying to worm its way into your code. If you chose to use GPL code, then you follow the terms, or don't use the code. It's simple.
If you find some really neat library under the [L]GPL that you want to use, and you don't want to follow the terms, well: tough luck. Offer to compensate the author; perhaps he or she will license it to you differently. Otherwise, write your own code.
I had a thesis that was 180 pages in length and had ~800 references. Do that by hand? This is 2003, not 1973. We have COM-PU-TERS now with WORD-PROCESSORS. They make life easier when properly used/designed. That is their point for existence. Fine, you write a joke research paper with 10 references?
Meh. If you were really writing research papers, and were as computer-literate as you imply, you'd be using LaTeX and BibTeX: the real tools for the job.
Word processors are for writing letters to your grandma, not typing research papers.
Did anyone notice that he basically called theft of IP "stealing"? Isn't this what we've been fighting in the music area, that it's breaking copyright etc, but not stealing?
If you think about it for a bit... about a tenth of a second should be sufficient in most cases... no.
Copyright violation is not stealing. Let's all say it together: copyright violation is not stealing. It's just copyright violation.
What SCO is doing, however, is attempted theft (although not in the conventional sense). They're trying to take the IP for themselves, so no one else can have it (at least without paying SCO). This is taking from someone. Not just making a copy for themselves without permission. This is theft, not copyright violation.
Another similar game which is quite cool and growing better every release is Trackballs.
If you have a trackball, the control is incredible,
but that's to be expected for a game like this. Plus, it's free.;-)
I wish people would watch movies to watch movies instead of reading into them so much.
I'm speechless. I really don't know what to say to this, and I wonder what you are trying to say. Are you saying that movies shouldn't have anything to say and that people shouldn't look for what the movie says? Do we just sit a watch a movie mindlessly, without thinking about what it is doing?
I wish people would read comments to read comments without reading into them so much.
This just makes me more thankful for Privoxy. As an example, here are some fun rules I created. (Note, the regexps should be all on one line, regardless of what your browser displays.)
Remove IGN interstitials: this skips them for the most part. I'm sure it can be modified for other places. (I pay for IGN Insider and shouldn't be subjected to this. Granted recently they've introduced a feature to switch off ads for insiders, but this is still a useful example.)
Here's another one that makes a certain site you might be reading look considerably nicer:
FILTER: thissite Remove thissite's ad code s/<!-- advertisement code. -->.*?<!-- end ad code -->/<!-- Privoxy Filtered -->/gims
Of course, you should support any sites that you like. As I said, I subscribe to IGN, as they provide a great deal of extra content for insiders, in addition to an already great site.
Microsoft, on the other hand, has been more daring. They're attempting break free of the Win32 legacy with.net, even going for processor independence at the same time. [...]
"Innovation" is coming up with something new and useful. None of these things you have listed qualifty as either; they have been done to death, and Microsoft is just catching up 20 years later. (Java was hardly the first VM. And yes, other VMs have attempted this at the OS level, including Java, and even non-VMs, like Lisp.) "Catching up" and "doing things you haven't seen from us before" seems to be the MS definition of "innovation," but it's not the well-accepted one.
For unknown reasons, Linux seems to attract conservative thinkers. Any time replacing X11 comes up, there will be vehement advocates insisting that It Is The Way and that we shouldn't replace something that works. And so it goes. Twenty years from now we'll still be using X11.
Perhaps, perhaps not. We see the fact that people do not comprehend the reasons for X and its design, and rather look to things like having transparent windows as a more useful "feature" than network transparency. Standards like X and OpenGL are misunderstood; there are mechanisms for extending them with the fancy new features. There is no need to replace them, particularly with poorly-thought-out designs by people who don't truly understand windowing systems.
People who do understand them realize it's a lot easier to extend X than implement a new system.;-)
It's better to stick with X than be subjected to an inferior attempt at a windowing system.
TiVo is a "nice" company. They've let customers hack their machines without too much complaint.
What?! They let you do what you want with a product you purchased without too much complaint, and this is considered "nice"? Nice would be what I said. Nice is RedHat. Nice is VA, providing the community with excellent resources like SourceForge. (Laugh at VA as you will, they've done a lot. And RedHat is doing well as a business.)
Excuse me if I find your definition of "nice" lacking.
They are $200 and you save time, money and effort. Even the geek effect isn't worth it this time.
It took me at most an hour to hack up a script to record using Ruby and mp1e from RTE. Here it is, and here's a sample listing. Real hard. Not. It finds dupes, conflicts, and can easily support multiple cards just by running multiple instances.
Granted, it doesn't track showtime changes,
and it's not fancy at all. But it gets the job
done, it was easy to write, it's easy to modify, and it's been recording all the TV I watch for the past few months without a hitch. It cost me an hour of my time.
Spend the money and help a company.
Why would I want to do that? TiVo isn't exactly a "nice" company, either. It might be one thing if these came with open specs for modification, pulling the files off and burning them, and modifying the source to do what I want. But they don't. And they won't.
Here's a list of sites that can help if you're married to doing this:
How could you forget MythTV, particularly when Freevo is just a ripoff of MythTV source?
PHP's single greatest bottleneck with speed is Zend 1's object creation. Creating around 100-200 objects dynamically takes 5 - 6 seconds to do.
Odd, I ran a few tests initially to see if it could handle making lots of objects really fast, and it didn't seem like a problem. Since there's no easy way to profile code (unlike ruby), I figured the bottleneck was the text tag processing and recursion, as things went really downhill at the same time.
The widgets I make are one per "thing", where a "thing" isn't necessarily a tag. You can have Table, Row, Form, OptionList, etc, some of which map to one tag, others map to many. Makes doing the UI really quick. I hate HTML.:-)
So I created a complicated caching system to eliminate this.
I cached stuff as well---all the persistant loads from the database. It was way worse without, long before. With the new system, the backend caches objects from all volumes, and since the backend persists, that part is even faster. I didn't even bother trying without caching.
Difficult, not really. I'd done similar things before, and although it took all the cute PHP hacks I knew to accomplish it, it wasn't really hard.
As for the other, they wanted PHP, and it seemed fairly reasonable at the time.
Re:And, if you want it right now...
on
Introduction to PHP5
·
· Score: 4, Informative
Ah hem, but you're wrong. Well, a little bit right. No script should segfault the interpreter, but there's no good way I know of to keep the interpreter from segfaulting when the script makes calls to functions that drill down into shared libraries or.dll's.
There is an easy way. You catch the signal 11, and send an error to the script saying that something happened in the library that wasn't the interpreter's fault.
The interpreter should not just crash and return no useful output, like PHP was doing.
As long as something's in the same process it can take the whole thing down with an invalid memory access. I see it all the time in Java code using JNI to get at Win32.dll's. It sucks, yes, but it's not the interpreter's fault.
Maybe in Windows this is the case, but not Unix, where you can catch a segfault and do a longjmp to an error handler. Tidy and easy.
Now, today I'm running a Java application under a web application server and the server would just die -- with no error message. Nothing, not a single line of output. It just exited, logging nothing to a file nor to screen. -THAT- is horribly unacceptable.
I completely agree. This is exactly what PHP was doing.
Re:And, if you want it right now...
on
Introduction to PHP5
·
· Score: 4, Interesting
Specifics are about the same. Little over 300 files total (only a small fraction of the complete system unfortunately), about 1.5 meg of code. This is not just a simple database interface, though. It's a complete persistant object system, widget framework, with object access controls, interface building, and the like. It makes development very fast, and lets me do things that would be very difficult with straight PHP (or anything else).
Unfortunately, when it came to building pages themselves, generating them from objects recursively was the final straw. The times really shot up, although they had been building for some time as the codesize and functionality increased.
With the new Ruby version, most of the processing, including building the pages, is moved to a backend server (written in Ruby), with a thin layer of CGI (in Ruby) that calls it. Loading the interpreter, parsing, calling the backend, processing, returning, and output is down to half a second on my old p2-350. And the capabilities are far beyond what the PHP version had (although, this was in part due to the fact it's a newer version, but some things PHP's object model would not have been able to handle, such as the integration of any given object, and adding syntax for class and method metadata).
Re:And, if you want it right now...
on
Introduction to PHP5
·
· Score: 3, Informative
Those reasons are undebugged code. No app just mysteriously segfaults (mystery isn't allowed in computers)... if the code was correct, it wouldn't segfault. Might be something minor... and you might have poured over it a million times, but somewhere you're code was still wrong.
You're wrong. No script should cause the interpreter to seg, period. If there's an error condition, it should be reported. A segfault is a bug in the interpreter, no matter how buggy my code is.
Also, you're doubly-wrong, because statement reordering would sometimes alleviate the problem. Also things like calling get_defined_classes() (or whatever it was called) would segfault on PPC, but not x86. (This was fixed recently.)
And, if you want it right now...
on
Introduction to PHP5
·
· Score: 4, Interesting
And, if you want it right now, instead of waiting for PHP5, go get Ruby today. It's got all of this, and many more neat features. I've recently been moving PHP over to Ruby, because PHP wouldn't scale to a large project (taking 4-5 seconds to load and generate a page on a hefty server, the codebase was only about a meg and a half of PHP), and because it was incessantly segfaulting for mysterious reasons. I've had no such problems since.
And ruby's a lot of fun... you can use it for tiny scripts, sites, or large projects.
Duh. Obviously, they found it had been copied from SCO source.
That was my point. She's using Irix with the fancy 3D information explorer, but back then, it was highly unlikely a kid of her age would even know what Unix was, no to mention how to use it. Who could afford a workstation with 3D accelerated graphics? These days, kids can put Linux on their PCs and they've got 8X AGP GF4Ti cards, and it's not even unusual. Reality caught up, and "Unix! I know that!" isn't funny, because it's not unusual.
Of course, now that I had to explain it, it's even less funny. ;-)
A decade ago or so, I saw this fortune:
It was funny at the time. Those specs were ridiculous!
Today I've got a 200MHz+ Zaurus with 64MB of RAM builtin, plus about 512MB worth of CF cards. And you can get 1-2GB CF microdrives. And it costs about $300.
It's like "Unix! I know this!" line from Jurassic Park... reality caught up, and it's not funny anymore. :-( ;-)
So, a cat is a 4-legged mammal with hair? Isn't that a woolly mammoth?
Nope, invalid logic.
You could use modutils and, say, gphoto2 along with a script to do it for you.
Since there's likely a specific USB driver, just insert a post-install line (post-install drivername command ) and when you plug it in, the module handler will start things going for you.
Since you're the one writing the script (which doesn't really have to be more than a gphoto command telling it where to put the pictures), you can make it as robust as you like... for instance, set up a file with camera ID to username mappings, and drop stuff in ~user/.photos-incoming or something.
If it's a camera that Linux sees as USB storage, the same thing pretty much holds, but you'll have to just run cp and put them where you'd like... no need to compile gphoto.
To bring this back on topic, I can't wait to check out 2.6, but I'm still in the middle of configuring test1. ;-(
Even a blind pig finds an acorn sometimes...
There was a funny story on a similar note from my hardware architecture class. The professor had been teaching about the various gates, and came to the NOT gate. The description given was "when the input voltage is OFF, the gate outputs an ON voltage". One of the students thought about this, and then asked the professor that, if this was the case, why couldn't you power a system by putting together a large quantity of NOT gates...
...engineers are working with software developers on a way to dramatically reduce power consumption by maximizing the number of 0-bits in memory.
"We think this could be a major breakthrough for laptop users dissatisfied with battery life," comments one developer who wishes to remain anonymous. "Studies show that modern software uses an increasing number of 1-bits, a side effect of the overcomplexity of today's lax programming standards and abundance of cheap, fast CPUs and RAM."
Sources indicate that in addition, storing fewer 1-bits on the disk may result in portable computers that weigh less, as well.
Yes, basically, and no, I didn't say it wasn't.
Precisely wrong. The idea is to provide a great deal of high-quality software that's Free(tm) such that's it's easier (and perhaps cheaper) just to write more Free(tm) software than it is to write proprietary alternatives.
There's still nothing forcing you to write free software. You can go out and rewrite everything yourself. But that doesn't mean it's easy, and really: why should it be? Why should those who write free software make life easier for those who write proprietary software?
That's right, they shouldn't. But no one is stopping you from writing the proprietary software. (They're not making it harder, either. If that free software wasn't there, you'd still have to write your own.)
Yes, this analogy falls far short. The GPL is much more like peer pressure. It's easier and more fun to go along with it, but if you make up your mind not to, there's nothing stopping you.
No, the point is that calling the GPL or LGPL viral is wrong, whether or not it acts correctly in this case. Using the term "viral" is merely FUD-spreading. Saying "the LGPL has bugs when used with Java" would be far more accurate.
Besides, my point stands: you're responsible for knowing the actual terms of the license, not just thinking you know what it means. And you have the choice to follow them or use something else.
Now, if there are bugs with the license in this case, then let's have someone fix them. But spreading FUD is not doing any good.
Please read that again. And again, until you get it. The GPL is not viral. It's pretty simple, really. If you're going to use [L]GPL'd code, follow the terms of the license, or don't use it.
You have a choice. The [L]GPL is not a little bug trying to worm its way into your code. If you chose to use GPL code, then you follow the terms, or don't use the code. It's simple.
If you find some really neat library under the [L]GPL that you want to use, and you don't want to follow the terms, well: tough luck. Offer to compensate the author; perhaps he or she will license it to you differently. Otherwise, write your own code.
Meh. If you were really writing research papers, and were as computer-literate as you imply, you'd be using LaTeX and BibTeX: the real tools for the job.
Word processors are for writing letters to your grandma, not typing research papers.
If you think about it for a bit... about a tenth of a second should be sufficient in most cases... no.
Copyright violation is not stealing. Let's all say it together: copyright violation is not stealing. It's just copyright violation.
What SCO is doing, however, is attempted theft (although not in the conventional sense). They're trying to take the IP for themselves, so no one else can have it (at least without paying SCO). This is taking from someone. Not just making a copy for themselves without permission. This is theft, not copyright violation.
His use of the term is almost ironically correct.
Another similar game which is quite cool and growing better every release is Trackballs. If you have a trackball, the control is incredible, but that's to be expected for a game like this. Plus, it's free. ;-)
I wish people would read comments to read comments without reading into them so much.
This just makes me more thankful for Privoxy. As an example, here are some fun rules I created. (Note, the regexps should be all on one line, regardless of what your browser displays.)
Remove IGN interstitials: this skips them for the most part. I'm sure it can be modified for other places. (I pay for IGN Insider and shouldn't be subjected to this. Granted recently they've introduced a feature to switch off ads for insiders, but this is still a useful example.)
Just add +filter{ign} to your default.action.
Here's another one that makes a certain site you might be reading look considerably nicer:
Of course, you should support any sites that you like. As I said, I subscribe to IGN, as they provide a great deal of extra content for insiders, in addition to an already great site.
But ads still suck.
"Innovation" is coming up with something new and useful. None of these things you have listed qualifty as either; they have been done to death, and Microsoft is just catching up 20 years later. (Java was hardly the first VM. And yes, other VMs have attempted this at the OS level, including Java, and even non-VMs, like Lisp.) "Catching up" and "doing things you haven't seen from us before" seems to be the MS definition of "innovation," but it's not the well-accepted one.
Perhaps, perhaps not. We see the fact that people do not comprehend the reasons for X and its design, and rather look to things like having transparent windows as a more useful "feature" than network transparency. Standards like X and OpenGL are misunderstood; there are mechanisms for extending them with the fancy new features. There is no need to replace them, particularly with poorly-thought-out designs by people who don't truly understand windowing systems.
People who do understand them realize it's a lot easier to extend X than implement a new system. ;-)
It's better to stick with X than be subjected to an inferior attempt at a windowing system.
What?! They let you do what you want with a product you purchased without too much complaint, and this is considered "nice"? Nice would be what I said. Nice is RedHat. Nice is VA, providing the community with excellent resources like SourceForge. (Laugh at VA as you will, they've done a lot. And RedHat is doing well as a business.)
Excuse me if I find your definition of "nice" lacking.
It took me at most an hour to hack up a script to record using Ruby and mp1e from RTE. Here it is, and here's a sample listing. Real hard. Not. It finds dupes, conflicts, and can easily support multiple cards just by running multiple instances.
Granted, it doesn't track showtime changes, and it's not fancy at all. But it gets the job done, it was easy to write, it's easy to modify, and it's been recording all the TV I watch for the past few months without a hitch. It cost me an hour of my time.
Why would I want to do that? TiVo isn't exactly a "nice" company, either. It might be one thing if these came with open specs for modification, pulling the files off and burning them, and modifying the source to do what I want. But they don't. And they won't.
How could you forget MythTV, particularly when Freevo is just a ripoff of MythTV source?
Odd, I ran a few tests initially to see if it could handle making lots of objects really fast, and it didn't seem like a problem. Since there's no easy way to profile code (unlike ruby), I figured the bottleneck was the text tag processing and recursion, as things went really downhill at the same time.
The widgets I make are one per "thing", where a "thing" isn't necessarily a tag. You can have Table, Row, Form, OptionList, etc, some of which map to one tag, others map to many. Makes doing the UI really quick. I hate HTML. :-)
I cached stuff as well---all the persistant loads from the database. It was way worse without, long before. With the new system, the backend caches objects from all volumes, and since the backend persists, that part is even faster. I didn't even bother trying without caching.
Difficult, not really. I'd done similar things before, and although it took all the cute PHP hacks I knew to accomplish it, it wasn't really hard.
As for the other, they wanted PHP, and it seemed fairly reasonable at the time.
There is an easy way. You catch the signal 11, and send an error to the script saying that something happened in the library that wasn't the interpreter's fault.
The interpreter should not just crash and return no useful output, like PHP was doing.
Maybe in Windows this is the case, but not Unix, where you can catch a segfault and do a longjmp to an error handler. Tidy and easy.
I completely agree. This is exactly what PHP was doing.
Specifics are about the same. Little over 300 files total (only a small fraction of the complete system unfortunately), about 1.5 meg of code. This is not just a simple database interface, though. It's a complete persistant object system, widget framework, with object access controls, interface building, and the like. It makes development very fast, and lets me do things that would be very difficult with straight PHP (or anything else).
Unfortunately, when it came to building pages themselves, generating them from objects recursively was the final straw. The times really shot up, although they had been building for some time as the codesize and functionality increased.
With the new Ruby version, most of the processing, including building the pages, is moved to a backend server (written in Ruby), with a thin layer of CGI (in Ruby) that calls it. Loading the interpreter, parsing, calling the backend, processing, returning, and output is down to half a second on my old p2-350. And the capabilities are far beyond what the PHP version had (although, this was in part due to the fact it's a newer version, but some things PHP's object model would not have been able to handle, such as the integration of any given object, and adding syntax for class and method metadata).
You're wrong. No script should cause the interpreter to seg, period. If there's an error condition, it should be reported. A segfault is a bug in the interpreter, no matter how buggy my code is.
Also, you're doubly-wrong, because statement reordering would sometimes alleviate the problem. Also things like calling get_defined_classes() (or whatever it was called) would segfault on PPC, but not x86. (This was fixed recently.)
And, if you want it right now, instead of waiting for PHP5, go get Ruby today. It's got all of this, and many more neat features. I've recently been moving PHP over to Ruby, because PHP wouldn't scale to a large project (taking 4-5 seconds to load and generate a page on a hefty server, the codebase was only about a meg and a half of PHP), and because it was incessantly segfaulting for mysterious reasons. I've had no such problems since.
And ruby's a lot of fun... you can use it for tiny scripts, sites, or large projects.