Hmm, I've never used spybot (use Ad-Aware myself) but from the descriptions I've seen here, it seems as if the cure is more annoying that the disease. I don't want a program that pops up a dialog box every fourth webpage I go to, just to tell me that it's doing it's job.
Downloading simply implies that that there is a client/server relationship - you download from the server to the client. So saying you downloaded something onto your computer is perfectly valid, because it is implicit that it is from a server.
The submitter may very well have a PDA that can connect to the internet, in which case what he said is perfectly valid. Even in the case where you have to download from the server onto your computer and then sync to your PDA, the usage is still not that far off.
It's nice to hear an honest, levelheaded opinion on slashdot. It's funny - I felt almost the exactly the same way before the war and came to the opposite conclusion. I knew (and so did all of the conservatives I talked to) that what the President was saying was mostly political spin. We weren't going to war to liberate the people of Iraq, or because the WMD were a real threat, or because there were substantial links with terrorism. But at the same time the "blood for oil" motivations that the liberals were claiming seemed just as unlikely to me. So from my point of view all I saw was both sides yelling mindless reterict(sp?) and neither side actually give any meaningfull argument for or against the war.
In the end I decided that I really thought that this would be a good thing for both the people of Iraq and stability of the middle east, because it was truely in the best interests of the US to rebuild the country into a real democracy. And I couldn't think of any good reason not to go to war, except for the principle of the matter. So I chose not to oppose the war.
As the war got closer my conclusion became more polarized and irrational. Probably mostly because I live near a liberal arts college and work on a military base and was constantly harrassed by idiots whose entire political ideology consists of the phrase "f**k the man", and who look down on anyone who doesn't think like them as a stupid sheep who believe everything that the Man says. It would have been really nice to find someone who was actually willing to talk about the war.
This isn't insightful. You just came up with a bunch of things that aren't true and used that to paint the situation the way you see fit. Point by point, concidering the facts of this case:
Why shouldn't people exercising their First Amendment rights be searched,... They aren't.
... videotaped, audiotaped? Why would you expect privacy in a public place? If are having a conversation in a cafe then yes people can hear you.
Why shouldn't people exercising their First Amendment rights be forced to provide blood, tissue, and other fluid samples? They aren't.
Why shouldn't people trying to exercise their First Amendment rights have every word they read or write be marked down and poured over by government agents? They aren't. These are private cameras, not government. The government can't demand access to them unless they contain evidence of a crime. Furthermore the government doesn't have the man power or technology to pour over your every word.
Why shouldn't people trying to exercise their First Amendment rights be forced to prove their loyalty to the current administration and be detained indefinitely if they are incapable of expressing the proper amount of shock and awe? They aren't. Detractors of the president all across the country constantly converse with one other freely. As a matter of fact some of these people are even running for president, and no one is stopping them from doing so.
What, do you have something to HIDE?!? Regardless of whether I do or not, if I want to comunicate privately there are many ways I can do so.
Privacy and free speech are important issues, but allowing a cafe to have security cameras does not infringe upon your free speech right in any way.
Its hard because everyone keeps calling them receipts when thats not what they are at all. A receipt is something you keep for your personal records of a transaction. So when everyone keeps assering that we need receipts (usually without explaining how they work), people assume that they work line any other receipt.
Please everyone, call them backup ballots, or a paper trail. Anything but receipts. We aren't helping our cause by using confusing terminoligy.
Contributors: You said the code would be left in the CVS under our supervision! XFree86: We are altering the license. Pray we don't alter it any further.
Whatever Microsoft is guilty of, I don't recall it using patent violations as a tactic.
I was just thinking about something. With all the backlog at the patent office is it possible that Microsoft hasn't been too agressive with patents because it was waiting for them to come through? I mean, we are just now seeing cases like this one which are claiming 5 year old plus internet technology. And there was recently the article about Microsoft starting to enforce licencing of the fat32 extentions which are even older than that. Just wild speculation - I may be completely wrong. But regardless, you are right that our patent system is far too friendly to would-be extortionists, and it isn't wise to continue relying on the honor system to hope companies play fair with regards to patents.
I thought that FOTR was wonderfull, and that all the changes that I noticed made it a better movie in my opinion. But I can't say the same about TTT. I think the main problem with that one was that it simply shouldn't have been as long as it was. Many of the big changes (Aragon "dieing", taking the hobbits to Osgilith, Split second change of mind by the Ents, over emphasizing love story) seemed to be trying drag the story out longer, while still keeping the tension. I don't think that any of them would have been necisarry if TTT was just a normal length movie. I understand completely why he stopped when he did - a big battle is a natural climax for a movie - but by doing so there wasn't enough plotline to fill a movie that long.
But the two things that really bothered me the most were legolas skateboarding (nuf said) and the Ents. I was so excited to see them - they were rendered, animated, and voiced increadably well. But when the Ents who are the most patient, reflective race in the books went and made some emotional split second decision, it was completely and unnecisarrily out of character. I guess when I go to see an adaptation, I don't expect the plot to be the same, but I really want them to do a good job at accurately protraying the universe and characters that are in book. For the most part Peter Jackson did a good job at that, but these two scenes deviated from that standard.
What will our children do when these grafitti robots come and replace them? They will have nothing to do but wander the streets and vandalise things... oh wait nevermind.
No one has explained this well yet. Generics are not about containers. They are about writing algorithms that are can be reused for different data types. However, collections are a usefull example of how they can be used, so I will start with that.
There are a couple ways to design containers. First you have have them hardcoded into the language like, but eventually someone will want a different way of storing data than the language provides, and will have to implement their own container. The next simplest method would be to write a container for a specific object, say a linked list of employee records. But after writing the mteenth linked list library, all alike except of the data type it holds, this starts getting old.
Now in a pure object-oriented language, all classes are derived from some base class called Object. So one way to make your own container would be to design it to hold Objects, and then it could hold anything, since everything is derived from object. This does have the advantage that you can store many different type objects in the same container, but as you mentioned, this is not incredably usefull. There are a couple of downsides to this method, which all come from the fact that you don't know the actuall class of objects you will be holding at compile time. First since you don't know how much space each object will take up at compile time, you can't really have a collection of Objects - you must have a collection of pointers to Objects. Second when you take items out of the collection their type is Object and you must cast them into the correct type. Besides being sytactically burdensom, it also means you can't do typechecking at compile time. It must be checked at runtime. This is the pure-object method. I should note that you can do the same thing in non-object oriented languages, by making your collection hold type (void*). In this case typechecking is not done at all when you take objects out of the container and is potentially dangerous.
Generics provide a third option. You write your container for some generic type T. All you care about this type is that it has a copy operator (ie t1 = t2 is valid code). Then when you create an instance of the container you provide it with an actuall type (in c++ the syntax is Container my_list; ). Now since the compiler knows the type of the container at compile time, there is no need for the typecast, and it can also do typchecking at compile time. Furthermore (depending on the language) there are two ways the compiler can generate code for this. In the c++ it actually creates a new class for every type you instance. The result is the same as the manual method I first described, but the compiler is doing all the work of cutting and pasting the code and changing the type. A huge time saver. And since the code is being written for the actual data type, you have have a real container of x's instead of pointers to x's. This improves effeciency as you have one less level of indirection and don't need to be allocating a bunch of small data chuncks. The only downside to this compared to the pure-object method is that the code size will be larger, as the object method has a single class that will work on all objects, but this method creates a seperate one for each type. But other languages don't compile this way - they use a single class. In this case the performance is the same as the pure-object method, except it can do the typechecking at comipile time, which speeds things up slightly, and and is more bug-proof.
Generics are not limited to containers, however. For example say I wrote a function to sort an array. I would then have to rewrite it for every type of list (array, linked-list, vector, etc). Instead I could write it for a generic type which had iterator and swap methods. Then one version of the function would work on all of them.
In general generics provide a method of code reuse that is much more flexible than polymophism, and neatly often avoids nasty multiple inheritance problems. Unfortuneately, I don't know of any language that provides full support for generics - they are always seem to be just tagged on. Which is a shame, as can think of a bunch of cool things you could do if you built a language from the ground up around the idea of generics.
Yeah I was going to copyleft my soul, then some dude came and claimed that he was author and thus held copyright. I totally didn't believe him but all the paper work was in order. I guess it turns out that I have an exclusive license that allows free use of my soul, but sublicencing is prohibited. bummer. Oh, and the wierdest part was that every time I tried to ask this guy his name he'd get all pissy and go on with this "I am who I am" bit. Sheesh - artists are weird.
Secondly, by getting rid of the right mouse button, Apple introduced things such as "control click.. no, control, not option.. no, not alt.. control.. yeah" You will never convince me that control clicking, or click-and-hold (which doesn't even work outside of the finder) is an adequate replacement for a second mouse button.
Historically this isn't correct, because if you look at the mice (ie Xerox Parc) at the time, the multibutton system was a mess. Mice had three buttons whose use was very arcane. I wish I could remember exactly how it worked, so I could give some examples. I think selecting a peice of text involved clicking the begining of the selection with one button then the end of the selection with another button. It was full of modes, and very prone to error. Apple pioneered the click-drag-release method of selecting, among many other things. In general they simplified all the things that could be done with a three button mouse at the time to be done with a single button mouse. This was indeed a huge improvement and much easier to use. Which is why when Microsoft came along they made the behavior of the first mouse button nearly identical to the Machintosh. Different applications also some additional adhoc behavior to the second mouse button, until settling on context menus, which are really nice. Seeing this, Apple latter added context menus using control-click functionality.
So the problems were not caused by getting rid of the extra buttons, but rather by not adding some latter on when they increased the functionality. In fact the old Mac UI experts that I have heard from (tog, raskin) agree that you could make the mouse better with multiple buttons - if the usage is consistant and simple. Tog has specifically advocated for adding a context menu button to the mouse on the Machintosh. Raskin has given several ideas (aimed more for next generation non-WIMP systems) including seperating the select and move functionality to seperate buttons to avoid some of problems that arise from having the two on a single button. They also love scrollwheels.
Don't forget other UI disasters Apple is responsible for like Home and End keys that never seem to do what you expect. Apple has always used home and end to go to the begining and end of a document. The only reason it doesn't do what you expect is because you are use to windows. If you had learned mac first you would be complaining that in windows the Home and End keys never did what you expect.
If I'm selecting emails in mail.app, hitting up and down selects the next and previous emails, but hitting home doesn't take me to the top of the email list, it scrolls the currently selected email.
Thats a legitimate problem. They should fix it. But it isn't related to home and end in general, but rather confusion caused by effectivly having two items (the message list and the preview) in focus at the same time.
Building the world in less than 7 days As a result of the fact that the BSD base system is developed as a single unit, you can easily get the entire source tree for the entire base system. And because of the way it's designed, you can execute a single command at the top level to compile everything. For most of us, that's the normal way to upgrade; you update your source tree to the absolute latest (with a few hours, of course) changes made by anybody, compile it, install the new binaries, and you're done. Miller time.
Of course, you might not necessarily want the latest. You could grab the sources from last week, say. And normally, you do the whole rebuild process in four steps. You start with a make buildworld which compiles all of userland, then a make buildkernel which compiles the kernel. Then you take a deep breath and make installkernel to install the new kernel, and make installworld to install the new userland. Each step is automated by a target in the Makefile.
Of course, I'm leaving out tons of detail here. Things like describing the kernel config, merging system config files, cleaning up includes... all those gritty details. If you want to read about that, check the FreeBSD handbook, specifically the sections on updating and building and configuring your kernel, or the various other forms of documentation available. But those sort of things become second nature after you do them a few times. Really, the process of updating your system boils down to those four commands. I find it a lot easier than having to resolve cross-dependancies and changed library versions and such across a zillion binary packages.
This information is mostly based on FreeBSD. NetBSD uses a different model for doing the system builds. OpenBSD tends to be much more in favor of reinstalls, at least for major version changes.
Addon software Well, that sure was easy. But, what about all those add-on packages? How do we manage those? Let's talk about installing and upgrading ports.
I could see something like this selling for use in a niche of games - not because you get exercise, but because your strength determines if you win. Kind of like those big "ring the bell by hitting the mallet" games at carnival, or arm wrestling, or all the games in Mario Party that depend soley on hitting a button really fast.
This bothers me a little more because GM food has been tested and approved by the FDA so at least we know there are no obvious problems.
I think that the odds of this getting into the food chain are high. Like the funny post below pointed out, you know that some wise-guy will think that it would be awsome to dump a bunch of these into the local lake, and suddenly you can't fish in that lake anymore, for a while a least. Heck I wouldn't put it against some crazy PETA-like people to "protect" the fish population by releasing these making the public scared to eat fish. So in my eyes, it is a certainty that these will get into the wild.
Therefore the only responsible options (that I can think of) are 1) Banning or strictly regulating them 2) Determining that they are safe to eat and then letting anyone buy them. I am much more in favor of the second option.
The analogy he made was that depending on a single software system on all computers is dangerous to society because then a single disaster effects all computers, just like depending on single crop is dangerous because a single will effect the entire food supply. And to that extent he was correct: A disease did wipe out nearly the entire potatoe crop, and dependence on that single crop was the cause of the famine. Therefore if you depend on a monoculture (either because you decide to, or the english force you to), you are in danger. End of analogy.
He did not suggest at all that people were going to die as a result of a computer virus - you did. If you over-extend any analogy it will be incorrect - the only perfect analogy is the situation itself, but that defeats the entire purpose of using familiarity in one situation to explain another.
True, Yeager was not an identical analogy to your situation. I was pointing him out because he was an example of how non-"normal" people are necisarry to push society forward.
Here is another more relevent historical example. The original europeans settlers in america were just as isolated from the people they came from as the mars settlers were. I imagine the first people to colonize Hawaii were the same.
If we are going to colonize a planet, there must be a first person or group of people to go. The only people you will find to do this are ones who concider the downsides to be worth it, or as you call them "wackos". So should we never colonise anything, because we don't like the type of people that are willing to do the work?
The only other alternative that I see is that we wait until we can move an entire population to Mars before leaving anyone there. This is very unlikely to happen. You can't engineer such an elaborate project, in one heap. You have to work is steps, testing and improving along the way.
The point I was making in my original post is that all colonization was first done by people you concider wacko, and it was only through their hard groundbreaking work that the way was paved for "normal" people to come later.
Look at the crew of Columbus. They were people who were willing to sail across the ocean to what were the ends of the earth as far as they knew. They might never see land again - they could have been attacked my giant sea creatures, fallen off the end of the globe, or short of those 'supersticous' threats - died of scurvy. To do so they would have to be willing to spend year confined to a peice of wood thrown about the sea, likely to never see their homeland ever again. Why would anyone trust all that money on such crazy bunch. But someone did and the europeans were better for it.
Look at Chuck Yeager, a wreckless dare devil - yet the army entrusted him with their most expensive prototypes. Why? Because someone had to do it, and normal people wont. In fact, I would trust the mission more to a "whacko" because they wouldn't be going unless they place the mission above all other desires.
Another thing is that it might even hamper what we can learn. Concider all the effort that we go through to sterilize the probes we send up so as not to leave earth-born bacteria on Mars. It would be much harder to sterilize a human trip to Mars, especially if you are planning on them living, dying and rotting on the planet.
There is no reason to send people to Mars to learn about Mars. The reason is to conquer it, to advance our civilization, to colonize other planets, to make our species more viable, slowly weening ourselves off of earth. This is a wonderfull goal, and what it comes down to is that there is always a tradeoff that if we modify the environment to suit our needs, then we cannot study the environment itself. European colonization has hurt many cultures, human expantion has caused the extinction of many species before we even knew about them.
Since Mars has a much lower chance of life than say, the rainforest, colonizing Mars is really much more benign than other things we have done in the past.
That is the main reason (as far as i can tell) that Redhat dropped RHL in favor of Fedora and their enterprise line. Users want a cutting edge version of linux, and to provide that you have to release often. Businesses want stability and support. But if you release every year and support all those releases for 10 years, then you would easily end up having to support over 10 versions at any one time. This is not economical.
Instead they have their enterprise linux which releases changes less often, and will be supported for long durations, and Fedora the cutting edge distro which releases very often, but isn't supported.
I think you have a different idea of what systems research is compared to PM4RK5 and Robert Pike.
Basically what you are saying is that we know how to build OS's, like they are designed today, really well so there is no need to do further research into improvements of those techniques. Which I agree with, to a large extent, although there are still improvements going on in those areas.
But what PM4RK5 was saying was that we need to research fundementally different ideas. Things like plan 9, which extends the concept of treating everything like a filesystem to it's extreme. Or Open Doc which challenged the concepts a system being made up of isolated applications. That's what systems reseach is - figuring out how to structure large software systems in the most usefull manner. It about making computer systems that are not just UNIX or WIMP clones. It's not about how to make the most effecient kernal. And Robert Pike is correct in his conclusion that the reason that systems research isn't happening anymore is not because there is nothing to research - there's tons to research! But because our current academic research structure encourages projects that can be completed in a couple years, not large ambitious projects like this. The only real systems research I have seen in years, is coming from (I never thought I'd say this) Microsoft for longhorn. That is sad.
Hmm, I've never used spybot (use Ad-Aware myself) but from the descriptions I've seen here, it seems as if the cure is more annoying that the disease. I don't want a program that pops up a dialog box every fourth webpage I go to, just to tell me that it's doing it's job.
Downloading simply implies that that there is a client/server relationship - you download from the server to the client. So saying you downloaded something onto your computer is perfectly valid, because it is implicit that it is from a server.
The submitter may very well have a PDA that can connect to the internet, in which case what he said is perfectly valid. Even in the case where you have to download from the server onto your computer and then sync to your PDA, the usage is still not that far off.
It's nice to hear an honest, levelheaded opinion on slashdot. It's funny - I felt almost the exactly the same way before the war and came to the opposite conclusion. I knew (and so did all of the conservatives I talked to) that what the President was saying was mostly political spin. We weren't going to war to liberate the people of Iraq, or because the WMD were a real threat, or because there were substantial links with terrorism. But at the same time the "blood for oil" motivations that the liberals were claiming seemed just as unlikely to me. So from my point of view all I saw was both sides yelling mindless reterict(sp?) and neither side actually give any meaningfull argument for or against the war.
In the end I decided that I really thought that this would be a good thing for both the people of Iraq and stability of the middle east, because it was truely in the best interests of the US to rebuild the country into a real democracy. And I couldn't think of any good reason not to go to war, except for the principle of the matter. So I chose not to oppose the war.
As the war got closer my conclusion became more polarized and irrational. Probably mostly because I live near a liberal arts college and work on a military base and was constantly harrassed by idiots whose entire political ideology consists of the phrase "f**k the man", and who look down on anyone who doesn't think like them as a stupid sheep who believe everything that the Man says. It would have been really nice to find someone who was actually willing to talk about the war.
I was thinking of checking out the peace corps, but now for some reason I think the navy might be the better way to go.
This isn't insightful. You just came up with a bunch of things that aren't true and used that to paint the situation the way you see fit. Point by point, concidering the facts of this case:
...
... videotaped, audiotaped?
Why shouldn't people exercising their First Amendment rights be searched,
They aren't.
Why would you expect privacy in a public place? If are having a conversation in a cafe then yes people can hear you.
Why shouldn't people exercising their First Amendment rights be forced to provide blood, tissue, and other fluid samples?
They aren't.
Why shouldn't people trying to exercise their First Amendment rights have every word they read or write be marked down and poured over by government agents?
They aren't. These are private cameras, not government. The government can't demand access to them unless they contain evidence of a crime. Furthermore the government doesn't have the man power or technology to pour over your every word.
Why shouldn't people trying to exercise their First Amendment rights be forced to prove their loyalty to the current administration and be detained indefinitely if they are incapable of expressing the proper amount of shock and awe?
They aren't. Detractors of the president all across the country constantly converse with one other freely. As a matter of fact some of these people are even running for president, and no one is stopping them from doing so.
What, do you have something to HIDE?!?
Regardless of whether I do or not, if I want to comunicate privately there are many ways I can do so.
Privacy and free speech are important issues, but allowing a cafe to have security cameras does not infringe upon your free speech right in any way.
How hard is that to grok?
Its hard because everyone keeps calling them receipts when thats not what they are at all. A receipt is something you keep for your personal records of a transaction. So when everyone keeps assering that we need receipts (usually without explaining how they work), people assume that they work line any other receipt.
Please everyone, call them backup ballots, or a paper trail. Anything but receipts. We aren't helping our cause by using confusing terminoligy.
Contributors: You said the code would be left in the CVS under our supervision!
XFree86: We are altering the license. Pray we don't alter it any further.
Whatever Microsoft is guilty of, I don't recall it using patent violations as a tactic.
I was just thinking about something. With all the backlog at the patent office is it possible that Microsoft hasn't been too agressive with patents because it was waiting for them to come through? I mean, we are just now seeing cases like this one which are claiming 5 year old plus internet technology. And there was recently the article about Microsoft starting to enforce licencing of the fat32 extentions which are even older than that. Just wild speculation - I may be completely wrong. But regardless, you are right that our patent system is far too friendly to would-be extortionists, and it isn't wise to continue relying on the honor system to hope companies play fair with regards to patents.
I thought that FOTR was wonderfull, and that all the changes that I noticed made it a better movie in my opinion. But I can't say the same about TTT. I think the main problem with that one was that it simply shouldn't have been as long as it was. Many of the big changes (Aragon "dieing", taking the hobbits to Osgilith, Split second change of mind by the Ents, over emphasizing love story) seemed to be trying drag the story out longer, while still keeping the tension. I don't think that any of them would have been necisarry if TTT was just a normal length movie. I understand completely why he stopped when he did - a big battle is a natural climax for a movie - but by doing so there wasn't enough plotline to fill a movie that long.
But the two things that really bothered me the most were legolas skateboarding (nuf said) and the Ents. I was so excited to see them - they were rendered, animated, and voiced increadably well. But when the Ents who are the most patient, reflective race in the books went and made some emotional split second decision, it was completely and unnecisarrily out of character. I guess when I go to see an adaptation, I don't expect the plot to be the same, but I really want them to do a good job at accurately protraying the universe and characters that are in book. For the most part Peter Jackson did a good job at that, but these two scenes deviated from that standard.
What will our children do when these grafitti robots come and replace them? They will have nothing to do but wander the streets and vandalise things ... oh wait nevermind.
No one has explained this well yet. Generics are not about containers. They are about writing algorithms that are can be reused for different data types. However, collections are a usefull example of how they can be used, so I will start with that.
There are a couple ways to design containers. First you have have them hardcoded into the language like, but eventually someone will want a different way of storing data than the language provides, and will have to implement their own container. The next simplest method would be to write a container for a specific object, say a linked list of employee records. But after writing the mteenth linked list library, all alike except of the data type it holds, this starts getting old.
Now in a pure object-oriented language, all classes are derived from some base class called Object. So one way to make your own container would be to design it to hold Objects, and then it could hold anything, since everything is derived from object. This does have the advantage that you can store many different type objects in the same container, but as you mentioned, this is not incredably usefull. There are a couple of downsides to this method, which all come from the fact that you don't know the actuall class of objects you will be holding at compile time. First since you don't know how much space each object will take up at compile time, you can't really have a collection of Objects - you must have a collection of pointers to Objects. Second when you take items out of the collection their type is Object and you must cast them into the correct type. Besides being sytactically burdensom, it also means you can't do typechecking at compile time. It must be checked at runtime. This is the pure-object method. I should note that you can do the same thing in non-object oriented languages, by making your collection hold type (void*). In this case typechecking is not done at all when you take objects out of the container and is potentially dangerous.
Generics provide a third option. You write your container for some generic type T. All you care about this type is that it has a copy operator (ie t1 = t2 is valid code). Then when you create an instance of the container you provide it with an actuall type (in c++ the syntax is Container my_list; ). Now since the compiler knows the type of the container at compile time, there is no need for the typecast, and it can also do typchecking at compile time. Furthermore (depending on the language) there are two ways the compiler can generate code for this. In the c++ it actually creates a new class for every type you instance. The result is the same as the manual method I first described, but the compiler is doing all the work of cutting and pasting the code and changing the type. A huge time saver. And since the code is being written for the actual data type, you have have a real container of x's instead of pointers to x's. This improves effeciency as you have one less level of indirection and don't need to be allocating a bunch of small data chuncks. The only downside to this compared to the pure-object method is that the code size will be larger, as the object method has a single class that will work on all objects, but this method creates a seperate one for each type. But other languages don't compile this way - they use a single class. In this case the performance is the same as the pure-object method, except it can do the typechecking at comipile time, which speeds things up slightly, and and is more bug-proof.
Generics are not limited to containers, however. For example say I wrote a function to sort an array. I would then have to rewrite it for every type of list (array, linked-list, vector, etc). Instead I could write it for a generic type which had iterator and swap methods. Then one version of the function would work on all of them.
In general generics provide a method of code reuse that is much more flexible than polymophism, and neatly often avoids nasty multiple inheritance problems. Unfortuneately, I don't know of any language that provides full support for generics - they are always seem to be just tagged on. Which is a shame, as can think of a bunch of cool things you could do if you built a language from the ground up around the idea of generics.
Yeah I was going to copyleft my soul, then some dude came and claimed that he was author and thus held copyright. I totally didn't believe him but all the paper work was in order. I guess it turns out that I have an exclusive license that allows free use of my soul, but sublicencing is prohibited. bummer. Oh, and the wierdest part was that every time I tried to ask this guy his name he'd get all pissy and go on with this "I am who I am" bit. Sheesh - artists are weird.
It seems we need to work on the interface for wearables more than anything.
I agree comrade. I will inform the Ministry of Technological Development immediately and put a halt to this unproductive enginering.
> > Is collar-top computing the Next Big Thing?
> No, it isn't.
Yes, it is.
ha beat that one!
Secondly, by getting rid of the right mouse button, Apple introduced things such as "control click.. no, control, not option.. no, not alt.. control.. yeah" You will never convince me that control clicking, or click-and-hold (which doesn't even work outside of the finder) is an adequate replacement for a second mouse button.
Historically this isn't correct, because if you look at the mice (ie Xerox Parc) at the time, the multibutton system was a mess. Mice had three buttons whose use was very arcane. I wish I could remember exactly how it worked, so I could give some examples. I think selecting a peice of text involved clicking the begining of the selection with one button then the end of the selection with another button. It was full of modes, and very prone to error. Apple pioneered the click-drag-release method of selecting, among many other things. In general they simplified all the things that could be done with a three button mouse at the time to be done with a single button mouse. This was indeed a huge improvement and much easier to use. Which is why when Microsoft came along they made the behavior of the first mouse button nearly identical to the Machintosh. Different applications also some additional adhoc behavior to the second mouse button, until settling on context menus, which are really nice. Seeing this, Apple latter added context menus using control-click functionality.
So the problems were not caused by getting rid of the extra buttons, but rather by not adding some latter on when they increased the functionality. In fact the old Mac UI experts that I have heard from (tog, raskin) agree that you could make the mouse better with multiple buttons - if the usage is consistant and simple. Tog has specifically advocated for adding a context menu button to the mouse on the Machintosh. Raskin has given several ideas (aimed more for next generation non-WIMP systems) including seperating the select and move functionality to seperate buttons to avoid some of problems that arise from having the two on a single button. They also love scrollwheels.
Don't forget other UI disasters Apple is responsible for like Home and End keys that never seem to do what you expect.
Apple has always used home and end to go to the begining and end of a document. The only reason it doesn't do what you expect is because you are use to windows. If you had learned mac first you would be complaining that in windows the Home and End keys never did what you expect.
If I'm selecting emails in mail.app, hitting up and down selects the next and previous emails, but hitting home doesn't take me to the top of the email list, it scrolls the currently selected email.
Thats a legitimate problem. They should fix it. But it isn't related to home and end in general, but rather confusion caused by effectivly having two items (the message list and the preview) in focus at the same time.
System Upgrades
Building the world in less than 7 days
As a result of the fact that the BSD base system is developed as a single unit, you can easily get the entire source tree for the entire base system. And because of the way it's designed, you can execute a single command at the top level to compile everything. For most of us, that's the normal way to upgrade; you update your source tree to the absolute latest (with a few hours, of course) changes made by anybody, compile it, install the new binaries, and you're done. Miller time.
Of course, you might not necessarily want the latest. You could grab the sources from last week, say. And normally, you do the whole rebuild process in four steps. You start with a make buildworld which compiles all of userland, then a make buildkernel which compiles the kernel. Then you take a deep breath and make installkernel to install the new kernel, and make installworld to install the new userland. Each step is automated by a target in the Makefile.
Of course, I'm leaving out tons of detail here. Things like describing the kernel config, merging system config files, cleaning up includes... all those gritty details. If you want to read about that, check the FreeBSD handbook, specifically the sections on updating and building and configuring your kernel, or the various other forms of documentation available. But those sort of things become second nature after you do them a few times. Really, the process of updating your system boils down to those four commands. I find it a lot easier than having to resolve cross-dependancies and changed library versions and such across a zillion binary packages.
This information is mostly based on FreeBSD. NetBSD uses a different model for doing the system builds. OpenBSD tends to be much more in favor of reinstalls, at least for major version changes.
Addon software
Well, that sure was easy. But, what about all those add-on packages? How do we manage those? Let's talk about installing and upgrading ports.
Communit{y,ies} = {Community, Communities}
Because there are one or more BSD communities depending on how you look at it.
I could see something like this selling for use in a niche of games - not because you get exercise, but because your strength determines if you win. Kind of like those big "ring the bell by hitting the mallet" games at carnival, or arm wrestling, or all the games in Mario Party that depend soley on hitting a button really fast.
This bothers me a little more because GM food has been tested and approved by the FDA so at least we know there are no obvious problems.
I think that the odds of this getting into the food chain are high. Like the funny post below pointed out, you know that some wise-guy will think that it would be awsome to dump a bunch of these into the local lake, and suddenly you can't fish in that lake anymore, for a while a least. Heck I wouldn't put it against some crazy PETA-like people to "protect" the fish population by releasing these making the public scared to eat fish. So in my eyes, it is a certainty that these will get into the wild.
Therefore the only responsible options (that I can think of) are
1) Banning or strictly regulating them
2) Determining that they are safe to eat and then letting anyone buy them.
I am much more in favor of the second option.
The analogy he made was that depending on a single software system on all computers is dangerous to society because then a single disaster effects all computers, just like depending on single crop is dangerous because a single will effect the entire food supply. And to that extent he was correct: A disease did wipe out nearly the entire potatoe crop, and dependence on that single crop was the cause of the famine. Therefore if you depend on a monoculture (either because you decide to, or the english force you to), you are in danger. End of analogy.
He did not suggest at all that people were going to die as a result of a computer virus - you did. If you over-extend any analogy it will be incorrect - the only perfect analogy is the situation itself, but that defeats the entire purpose of using familiarity in one situation to explain another.
True, Yeager was not an identical analogy to your situation. I was pointing him out because he was an example of how non-"normal" people are necisarry to push society forward.
Here is another more relevent historical example. The original europeans settlers in america were just as isolated from the people they came from as the mars settlers were. I imagine the first people to colonize Hawaii were the same.
If we are going to colonize a planet, there must be a first person or group of people to go. The only people you will find to do this are ones who concider the downsides to be worth it, or as you call them "wackos". So should we never colonise anything, because we don't like the type of people that are willing to do the work?
The only other alternative that I see is that we wait until we can move an entire population to Mars before leaving anyone there. This is very unlikely to happen. You can't engineer such an elaborate project, in one heap. You have to work is steps, testing and improving along the way.
The point I was making in my original post is that all colonization was first done by people you concider wacko, and it was only through their hard groundbreaking work that the way was paved for "normal" people to come later.
Look at the crew of Columbus. They were people who were willing to sail across the ocean to what were the ends of the earth as far as they knew. They might never see land again - they could have been attacked my giant sea creatures, fallen off the end of the globe, or short of those 'supersticous' threats - died of scurvy. To do so they would have to be willing to spend year confined to a peice of wood thrown about the sea, likely to never see their homeland ever again. Why would anyone trust all that money on such crazy bunch. But someone did and the europeans were better for it.
Look at Chuck Yeager, a wreckless dare devil - yet the army entrusted him with their most expensive prototypes. Why? Because someone had to do it, and normal people wont. In fact, I would trust the mission more to a "whacko" because they wouldn't be going unless they place the mission above all other desires.
Another thing is that it might even hamper what we can learn. Concider all the effort that we go through to sterilize the probes we send up so as not to leave earth-born bacteria on Mars. It would be much harder to sterilize a human trip to Mars, especially if you are planning on them living, dying and rotting on the planet.
There is no reason to send people to Mars to learn about Mars. The reason is to conquer it, to advance our civilization, to colonize other planets, to make our species more viable, slowly weening ourselves off of earth. This is a wonderfull goal, and what it comes down to is that there is always a tradeoff that if we modify the environment to suit our needs, then we cannot study the environment itself. European colonization has hurt many cultures, human expantion has caused the extinction of many species before we even knew about them.
Since Mars has a much lower chance of life than say, the rainforest, colonizing Mars is really much more benign than other things we have done in the past.
That is the main reason (as far as i can tell) that Redhat dropped RHL in favor of Fedora and their enterprise line. Users want a cutting edge version of linux, and to provide that you have to release often. Businesses want stability and support. But if you release every year and support all those releases for 10 years, then you would easily end up having to support over 10 versions at any one time. This is not economical.
Instead they have their enterprise linux which releases changes less often, and will be supported for long durations, and Fedora the cutting edge distro which releases very often, but isn't supported.
I think you have a different idea of what systems research is compared to PM4RK5 and Robert Pike.
Basically what you are saying is that we know how to build OS's, like they are designed today, really well so there is no need to do further research into improvements of those techniques. Which I agree with, to a large extent, although there are still improvements going on in those areas.
But what PM4RK5 was saying was that we need to research fundementally different ideas. Things like plan 9, which extends the concept of treating everything like a filesystem to it's extreme. Or Open Doc which challenged the concepts a system being made up of isolated applications. That's what systems reseach is - figuring out how to structure large software systems in the most usefull manner. It about making computer systems that are not just UNIX or WIMP clones. It's not about how to make the most effecient kernal. And Robert Pike is correct in his conclusion that the reason that systems research isn't happening anymore is not because there is nothing to research - there's tons to research! But because our current academic research structure encourages projects that can be completed in a couple years, not large ambitious projects like this. The only real systems research I have seen in years, is coming from (I never thought I'd say this) Microsoft for longhorn. That is sad.