That's how I solved it, to the extent that I have. The rules are fairly simple, if a bit brutal:
Don't download anything you don't trust. Better yet, don't download anything without asking me first.
Don't use IE. Ever.
Keep yourself updated.
I will support you if and only if you follow these rules.
The last few times I've rebuilt their computers, I've taken disk images. Another good step to take would be backup -- teach them to burn DVDs if you have to -- as that makes the rebuild easier. But worst case, image the broken machine, restore a known-good image, and restore files (after scanning) from the broken image.
But the point is, those rules are simple enough that it's not a question of education, it's a question of discipline. And as this isn't a business, you can actually ask them to meet you halfway on that. If they don't, you can simply stop supporting them, or demand that they start paying.
Think of it this way: If they asked you to come help them move, that's one thing. If they ask you to do that every 4-8 months, sooner or later, you give them the phone number of a local moving company.
That said, if anyone does find resources like you've asked for (videos, etc), I'd love to know about them.
Slashdot is making me wait, so I'm going to say: I'm guessing you're making a few assumptions, like that this makes things somehow less safe, or performs worth.
And, for that matter, C supports run-time reflection, it just takes a bit of work.
C is actually historically a "high-level language"; assembler is the real lowlevel language.
But accepting C as a low-level language, it is "just fine" at doing concurrency in the same way that assembly language is "just fine" for doing application development.
You're the first person who actually responded with a "yes". It seems that most of the responses recognize that this is the way the law currently works, but don't necessarily agree that it should be that way.
It seems you either missed the point of my analogy, or don't want to comment. But let's go with this:
if you have a collection of those sort of pictures, you probably enjoy them, so you're a criminal.
So you've done two things here, and each of them shocks me.
First, you've made the enjoyment itself a crime. That is, you've made a thought -- or, more accurate, an emotion, and a state of sexual arousal -- a crime.
The subject of this thread is appropriate: Thoughtcrime. The First Amendment protects freedom of speech -- don't you think we at least deserve freedom of thought?
And second, you've thrown out "innocent until proven guilty", and replaced it with "probably". It's really not hard to come up with cases where someone would have a collection of these sorts of pictures -- an FBI agent tracking pedophiles, parents swapping photos out of family albums, someone conducting a scientific study on early childhood development... The list goes on.
I think you should seriously re-examine your own beliefs here.
That is: Think about this.
I am not arguing for child abuse. I agree that actual child molesters, especially child rapists, should be punished, and generally kept away from children.
But do you really believe that someone should be put in prison for decades, simply for having a disgusting thought? Or having a photograph? Not even a real photograph, but a digital representation of one?
The problem is, if robots.txt is this stupidly obvious, any attempt to get a cut of Google's pie which ends in court will end badly for him.
"Ladies and gentlemen of the jury,
User-agent: Googlebot Disallow:/
Why is Mr. Murdoch wasting our time?"
The only obvious ulterior motive is an attempt to kill fair use for unrelated reasons -- for instance, if there was no fair use, this guy wouldn't be able to make the commentary he has. Fair use, in this sense, is kind of required for any kind of real dialog between news media.
Murdoch would sue. More likely, Fox would sue, whining that Google is discriminating against a conservative viewpoint.
No, what would make more sense is, with each of these articles, publicly respond -- in particular, contact whatever organization published the Murdoch rant. Make two offers:
First, offer to that news organization that a representative will be available for comment every time Murdoch does this. This isn't a big deal, as it'll pretty much be cut and paste.
Second, in this response and in all further comments, make the public offer to do exactly what he is asking for -- stop indexing his stuff. If he says "no", end of story. If he doesn't respond, he's going to look very stupid in future articles like this.
Sorry to reply to myself, but... Aside from this part:
upload robots.txt and retire.
The fact that this is so retardedly easy means that no one has told him. So I have to ask... Does anyone have his contact information? At the very least, someone could upload robots.txt and retire, and at best, we get a Slashmob emailing him.
Except for the bit where the guy responsible lives in Thailand, or Rwanda, or Guatemala. Most probably you don't have a suspect at all--at most you have a picture of the victim.
You also have a money trail. Follow the money.
Cracking down on child porn means cracking down on possession.
No, it means cracking down on sales.
Generally speaking there is no practical way to find the initial distributor or the victim.
You just have to get close enough to cut off the money.
I still see no real reason why possession of the material itself should be a crime. That's a bit like suggesting mere possession of a Jihad video should be a crime, because it's difficult or impossible to track down the people who actually chopped some guy's head off with a sword.
Do you see how fucked up those priorities are? It isn't as though people will stop chopping people's heads off because no one watches the videos. And it isn't as though the child rape will stop, even if there's no market for the porn -- I hate to be cold, but there's still plenty of demand for the girls themselves.
Yes, it's hard. But it would also actually do some good.
How have the people who gave them money caused "actual harm" anymore than in the "simple possession" case?
Please think about that for more than two seconds, and see if you can really hold that position.
Simple possession does no harm. That's like claiming, again, that me watching a Jihad video is like me cutting someone's head off. Or how about the 9/11 attacks -- should the entire country be punished for watching the videos of those planes flying into buildings?
No, you punish the people who fly planes into buildings, the people who send them, and the people who finance them. And you do this not just for punishment's sake, but to prevent things like that from happening in the first place.
People who give the child rapists money are giving them a real, monetary incentive to keep doing what they're doing. It directly supports that act, much like "vote with your dollars" applies to anything.
People who don't, aren't really doing much other than stroking their egos, which they're doing already anyway.
If you're willing to punish the one you should be willing to punish the other.
I'm willing to punish anyone who actually gives money to Al Qaeda. I am not willing to punish people who watch the 9/11 videos, or visit Ground Zero.
DNS (Domain Name System) is a hierarchical, distributed, autonomous, reliable database.
How is it autonomous? Or at least, how is it more autonomous than any other database, certainly any database which meets the other three criteria?
The first and only of its kind,
Sorry, no. Maybe the first, but it's certainly not the only. There are many other databases which offer distributed, reliable storage, and at least one I can think of which is hierarchical.
it offers realtime performance levels
Realtime? Are you sure?
I mean, aside from slow DNS servers, there's the fact that while reads may be realtime, updates are anything but. Just try changing IPs and watch how long it takes the change to propagate. Real databases measure this kind of thing in seconds or minutes -- DNS measures it in days.
Every TCP/IP traffic flow including every World Wide Web page view begins with at least one DNS transaction.
Bullshit. Want proof? Buy a Linksys router and hit http://192.168.1.1/ to configure it. Well, look at that! No DNS needed!
There are indeed people who run webpages off of IPs.
Alright, I didn't have to rip it apart that much, and maybe I'm nitpicking. But come on, the number of things which are simply wrong is staggering -- the BS-to-word-count ratio is quite high.
Do I want to read the rest of the article?
Maybe. It seems much cleaner and more accurate than that first paragraph, but it wouldn't have been that hard, especially for a guy with those credentials, to get it right.
I think you're exaggerating a bit. Here's where they aren't contradictory:
Parents are responsible for raising their kids. It is reprehensible to try to replace this with laws or technology. It can be assisted with rules, to a point -- for instance, kids can't get into R-rated movies alone. But this can too easily make parents lazy ("T for Teen? Well, I guess it's ok.") or remove their ability to make decisions, like effectively banning kids from seeing certain things, regardless of what their parents want.
My main objections with technology are simply that, like any other form of censorship, if they want to see it, they'll see it, and the act of trying to censor it only makes it that much more appealing. Once they get to the age where this becomes an issue, the solution isn't an arms race, but to sit down and explain to them why you feel the way you do about whatever you're blocking, and then unblock it, and let them make the choice.
None of this contradicts the moderate version of the second point, which is that you have to at least start letting your kids make their own decisions -- if you keep a tight enough reign until that 18th birthday, they'll probably rebel once they legally can.
That, and it isn't as if everything magically changes at 18. If they're an immature brat at 17, they probably will be at 19. If they're mature at 15 or 16, why not treat them like an adult?
These aren't contradictory, except in that extreme example. But they're based on the same idea -- the parent's job is to raise the kid to be a responsible adult.
Some software disappears. Things happen on the internet. Sometimes the only way to get a package that has been disappeared is to copy it out of the/Applications folder of one machine onto another.
Which has nothing to do with anything I just said -- I asked, "Did you ever pull down a single executable from a website and have it Just Work?"
Please read the post you're replying to, before replying.
Have you ever seen this in real life? Even once?
Many times. Off the top of my head:
Nexuiz is downloaded as a single zipfile, in which there is a Windows exe, an OS X.app file, and a Linux script which auto-selects the appropriate binary based on your architecture.
The Source Dedicated Servers set things up much the same way -- while it's a weird installation procedure, you end up with a script which selects, at runtime, which executable to use. It typically installs a bunch of random DLLs, too, last I checked.
In fact, just about every proprietary package I have does this, to some extent -- if only so they can modify the dynamic linker path. (Examples: Quake 4, Doom 3, Skype...) Even among open source apps, it's common to have a script wrapper around something -- Chromium and Firefox both do.
What I have yet to see is a proprietary Linux app ship as separate 32-bit and 64-bit tarballs, rather than use this technique. It's possible they exist, it just seems much more common to either only support i386, or to ship both binaries and select at runtime.
And if you're willing to forgive the word "executable" and allow a dmg with a single app in it that I can just drag and drop without picking which one to use or running any scripts, then I've done it quite often.
Except that was my main point.
The.app folder isn't a concept that the kernel needs to support -- that's handled at the level of Finder, as it should be. But these apps can contain multiple binaries, or really, anything the developer cares to bundle them with.
OS X supports universal binaries at the kernel level -- that is, the actual binary is itself universal. That is what I don't really see the usefulness of.
Yes, I think we all have at some point, but it wasn't for a Linux-based platform.
Was it for a Mac?
If you said "yes", you probably don't understand what an executable is. I say "probably" because it is theoretically possible, but you have more likely downloaded OS X packages.
Which totally falls apart when there is something you want that isn't in your repository, you can't find a repository or package for your distribution, distribution version and/or architecture (how many multiples is that?)
That's a comment on the current state of affairs, not on the idea of packages or package management in general.
For third-party software this falls apart totally and you are completely on your own with a statically compiled, standa-alone tar archive that give you know package or installation manager benefits whatsoever.
Unless they've provided:
An RPM.
A DEB.
It takes a bit of effort, but that really could be enough.
Have you noticed how that 'Check for updates...' thing simply does not work at all with Firefox on any distribution? Can you hazard a guess as to why?
Mostly because updates are handled by the distribution, as they should be, not implemented separately in every single app (a ludicrous duplication of effort).
It does, however, work for addons.
This is total and utter shite and no other sane operating system makes their users go through this brain damage.
No, other operating systems either make their developers each implement the equivalent of a package manager anyway, as part of the app, or they force their users to check for updates themselves. Does any sane OS really think it's a good idea for a user to have to check around 20 websites, by hand, just to get updates?
When people keep repeating the above untruth that everything is fine in software installation la, la land on Linux I wonder whether people have been using their package managers or distributions at all.
Given that the majority of people who actually use Linux disagree with you, there might actually be some truth to it. Not that everything is fine, but that it's better than the alternative.
Even worse, in order to overcome some perceived proplems someone then invents..............another package management system.
Mostly because just about every flaw you've described is a flaw in the implementation, not the idea. For instance, there's no real reason multiple architectures can't be supported by the same package.
IIRC, at least the RPM format is single-architecture unless they've changed that recently. I can't comment on the other packaging formats.
I'm fairly sure I've seen multi-architecture debs. After all, not all packages include binaries at all.
If not, that's a place to start.
everything gets built more than once, with different linker lines with different lib directories.
Whereas a fat binary means everything gets built more than once, but there's only a single lib directory. I'm not sure I see how that's better.
Speaking as somebody who beat my head against a wall dealing with cross-compilation in Linux for a while at my previous employer, are you sure you want to ask me that?
Yes. Despite the tone, I'm usually open to being proven wrong.
Oh, and remember that as soon as you get one app that does its own custom @INC hack to add a new directory full of Perl modules,
This should be trivial to resolve by setting @INC to begin with. That is, if the one app is looking for its own files, presumably those were built for a single architecture. If it's looking for the global files, it shouldn't have to know where those are ultimately stored, and the wrapper around/usr/bin/perl should've handled it.
I do know that Ruby doesn't seem to have much of this problem, though the usual hack is to install one copy of Rubygems (and of each gem) per interpreter -- that is, one for 1.8, one for 1.9, one for JRuby, one for Rubinius... My own solution has been to keep my custom-compiled Ruby 1.9 isolated from the distro-maintained Ruby 1.8.
Not usually an issue, though, as you usually only need the one architecture on a given machine.
But every benefit you listed can be achieved through secular means. All except the placebo effect can be achieved without the use of faith or deception.
that can't even be blamed on lack of "hardware drivers".
How so? What is it, specifically, that is Linux's fault about the sound situation?
I can't remember the last time I had a serious sound issue, though I've been forced to become a bit of an ALSA expert.
Even the MSO clone Kingsoft Office is better than OpenOffice.
Be specific. What's so bad about OpenOffice, and have you actually tried a recent version?
The point wasn't about ease-of-use, though that is part of it. This, in particular:
or just double-click it to run it straight from the dmg (not a good idea for tidiness' sake, but something I see lots of users do anyway).
It's more than a bad idea, it's a security risk. Firefox is an example of an app which will auto-update in general, but not when run from the DMG.
But the point was, you're not downloading an executable, you're downloading some sort of package. It would be exactly as easy (or not) if that package had multiple binaries inside it, and maybe a script to choose which one to launch.
My point wasn't against having "fat" applications, but against the need to implement this in the kernel with fat binaries.
That "file" is not a binary. It is an application package, which is the point I was trying to make.
Open that.app folder sometime and peek inside. See what I mean? It's a folder! There's no reason you couldn't have 2, 3, or 50 separate binaries in there, and a simple script to choose one.
With regard to the AJAXy Slashdot, the speed issue was never important to me. I'd command-click the reply button and have it load the reply box in a new tab while I read.
Yes, I did exactly the same.
These days, though, it's just faster -- especially if I have a quick point to make (right now). It's also nice in that I get that much more context while replying -- I can see your post, and posts below the one I'm making. When I submit, if Slashdot is feeling fast, I can preview/submit without leaving the page, without having to manage multiple tabs, and without really waiting at all.
It's kind of like the advantages I get from Git being faster. It's actually faster enough that it changes the way I work, because I can now commit at pretty much any stage, knowing I can redo the commit, or rearrange a bunch of commits before I push. I can also branch as often as I want, knowing that the merge will be instantaneous and much more often conflict-free than with Subversion.
In short, we're not complaining about AJAX in general, just the incredibly poor implementation on Slashdot.
Perhaps, or a bit of both. The point is that AJAX in general is faster on Chrome, and that it can make an incredibly poor implementation usable, a barely-usable implementation awesome...
I realize. My point was that, if anything, you'd expect Javascript to be slower, and that I found it incredibly ironic that someone was praising Chrome for performance in the same breath as they were berating people for using Java.
Compiled languages, when done right, are always going to be faster than non-compiled languages.
First, this isn't entirely true. There are optimizations which can be done at runtime, which can't be done at compile-time. Obvious examples are selecting an appropriate algorithm based on which data you actually have, not which data you expected to have. Now, you can theoretically duplicate these in a compiled language, but at a certain point, you'll find you've built your own mini-interpreted language anyway.
It's kind of like the assertion that manual memory management is always better than garbage collection. This is theoretically true, since in any case where garbage collection would perform better, you could manually build a garbage collector, and enable it for just that situation, and not others. But at that point, you kind of have to admit that there are real cases where garbage collection outperforms manual memory management.
Second, compiled or interpreted is a property of the implementation, not the language. Google Chrome compiles JavaScript. It's entirely possible to interpret C. Most so-called "scripting languages" do roughly the same tradeoff Perl does -- compile to some internal bytecode-ish representation, then interpret that.
C will always be faster than Java (because you have more control
Even if you were right, this is only true in that assembly will always be faster than C. And the problem here is, the speed of a nonworking program is irrelevant. People very rarely use assembler, simply because it's usually hard to write faster assembly than your C compiler, and even if you do, it's going to take you a lot longer, and it's going to be a lot buggier. I think similar tradeoffs can be made by replacing C with a higher-level language (though NOT Java, please), and using C or assembly when you actually run into something broken.
the compilers are still better
I'll give you that, tentatively. That's mostly a matter of popularity.
That's how I solved it, to the extent that I have. The rules are fairly simple, if a bit brutal:
The last few times I've rebuilt their computers, I've taken disk images. Another good step to take would be backup -- teach them to burn DVDs if you have to -- as that makes the rebuild easier. But worst case, image the broken machine, restore a known-good image, and restore files (after scanning) from the broken image.
But the point is, those rules are simple enough that it's not a question of education, it's a question of discipline. And as this isn't a business, you can actually ask them to meet you halfway on that. If they don't, you can simply stop supporting them, or demand that they start paying.
Think of it this way: If they asked you to come help them move, that's one thing. If they ask you to do that every 4-8 months, sooner or later, you give them the phone number of a local moving company.
That said, if anyone does find resources like you've asked for (videos, etc), I'd love to know about them.
Interesting, because its major selling point was that, especially as system languages go, it's relatively high-level and portable.
But you've got a source and I don't, so AC or not, I'll assume you're right.
Please explain why it's a bad idea.
Slashdot is making me wait, so I'm going to say: I'm guessing you're making a few assumptions, like that this makes things somehow less safe, or performs worth.
And, for that matter, C supports run-time reflection, it just takes a bit of work.
C is actually historically a "high-level language"; assembler is the real lowlevel language.
But accepting C as a low-level language, it is "just fine" at doing concurrency in the same way that assembly language is "just fine" for doing application development.
You're the first person who actually responded with a "yes". It seems that most of the responses recognize that this is the way the law currently works, but don't necessarily agree that it should be that way.
It seems you either missed the point of my analogy, or don't want to comment. But let's go with this:
if you have a collection of those sort of pictures, you probably enjoy them, so you're a criminal.
So you've done two things here, and each of them shocks me.
First, you've made the enjoyment itself a crime. That is, you've made a thought -- or, more accurate, an emotion, and a state of sexual arousal -- a crime.
The subject of this thread is appropriate: Thoughtcrime. The First Amendment protects freedom of speech -- don't you think we at least deserve freedom of thought?
And second, you've thrown out "innocent until proven guilty", and replaced it with "probably". It's really not hard to come up with cases where someone would have a collection of these sorts of pictures -- an FBI agent tracking pedophiles, parents swapping photos out of family albums, someone conducting a scientific study on early childhood development... The list goes on.
I think you should seriously re-examine your own beliefs here.
That is: Think about this.
I am not arguing for child abuse. I agree that actual child molesters, especially child rapists, should be punished, and generally kept away from children.
But do you really believe that someone should be put in prison for decades, simply for having a disgusting thought? Or having a photograph? Not even a real photograph, but a digital representation of one?
Mostly because he personally controls a large chunk of the news media in the US.
Also, he can spell.
The problem is, if robots.txt is this stupidly obvious, any attempt to get a cut of Google's pie which ends in court will end badly for him.
"Ladies and gentlemen of the jury,
Why is Mr. Murdoch wasting our time?"
The only obvious ulterior motive is an attempt to kill fair use for unrelated reasons -- for instance, if there was no fair use, this guy wouldn't be able to make the commentary he has. Fair use, in this sense, is kind of required for any kind of real dialog between news media.
But never ascribe to malice...
Murdoch would sue. More likely, Fox would sue, whining that Google is discriminating against a conservative viewpoint.
No, what would make more sense is, with each of these articles, publicly respond -- in particular, contact whatever organization published the Murdoch rant. Make two offers:
First, offer to that news organization that a representative will be available for comment every time Murdoch does this. This isn't a big deal, as it'll pretty much be cut and paste.
Second, in this response and in all further comments, make the public offer to do exactly what he is asking for -- stop indexing his stuff. If he says "no", end of story. If he doesn't respond, he's going to look very stupid in future articles like this.
Sorry to reply to myself, but... Aside from this part:
upload robots.txt and retire.
The fact that this is so retardedly easy means that no one has told him. So I have to ask... Does anyone have his contact information? At the very least, someone could upload robots.txt and retire, and at best, we get a Slashmob emailing him.
So, tell him "It's a complex and delicate process. For three million, I'll ensure that Google never indexes your sites again."
Then, upload robots.txt and retire.
Ah but they probably also want to punish people who get pleasure ( especially sexual) from watching 9/11 videos.
By that logic, child porn should be legal, so long as you don't enjoy it?
Well, define "innocent". Going 5 over the speed limit isn't exactly reckless. DUI is.
Except for the bit where the guy responsible lives in Thailand, or Rwanda, or Guatemala. Most probably you don't have a suspect at all--at most you have a picture of the victim.
You also have a money trail. Follow the money.
Cracking down on child porn means cracking down on possession.
No, it means cracking down on sales.
Generally speaking there is no practical way to find the initial distributor or the victim.
You just have to get close enough to cut off the money.
I still see no real reason why possession of the material itself should be a crime. That's a bit like suggesting mere possession of a Jihad video should be a crime, because it's difficult or impossible to track down the people who actually chopped some guy's head off with a sword.
Do you see how fucked up those priorities are? It isn't as though people will stop chopping people's heads off because no one watches the videos. And it isn't as though the child rape will stop, even if there's no market for the porn -- I hate to be cold, but there's still plenty of demand for the girls themselves.
Yes, it's hard. But it would also actually do some good.
How have the people who gave them money caused "actual harm" anymore than in the "simple possession" case?
Please think about that for more than two seconds, and see if you can really hold that position.
Simple possession does no harm. That's like claiming, again, that me watching a Jihad video is like me cutting someone's head off. Or how about the 9/11 attacks -- should the entire country be punished for watching the videos of those planes flying into buildings?
No, you punish the people who fly planes into buildings, the people who send them, and the people who finance them. And you do this not just for punishment's sake, but to prevent things like that from happening in the first place.
People who give the child rapists money are giving them a real, monetary incentive to keep doing what they're doing. It directly supports that act, much like "vote with your dollars" applies to anything.
People who don't, aren't really doing much other than stroking their egos, which they're doing already anyway.
If you're willing to punish the one you should be willing to punish the other.
I'm willing to punish anyone who actually gives money to Al Qaeda. I am not willing to punish people who watch the 9/11 videos, or visit Ground Zero.
Just in the first paragraph:
DNS (Domain Name System) is a hierarchical, distributed, autonomous, reliable database.
How is it autonomous? Or at least, how is it more autonomous than any other database, certainly any database which meets the other three criteria?
The first and only of its kind,
Sorry, no. Maybe the first, but it's certainly not the only. There are many other databases which offer distributed, reliable storage, and at least one I can think of which is hierarchical.
it offers realtime performance levels
Realtime? Are you sure?
I mean, aside from slow DNS servers, there's the fact that while reads may be realtime, updates are anything but. Just try changing IPs and watch how long it takes the change to propagate. Real databases measure this kind of thing in seconds or minutes -- DNS measures it in days.
Every TCP/IP traffic flow including every World Wide Web page view begins with at least one DNS transaction.
Bullshit. Want proof? Buy a Linksys router and hit http://192.168.1.1/ to configure it. Well, look at that! No DNS needed!
There are indeed people who run webpages off of IPs.
Alright, I didn't have to rip it apart that much, and maybe I'm nitpicking. But come on, the number of things which are simply wrong is staggering -- the BS-to-word-count ratio is quite high.
Do I want to read the rest of the article?
Maybe. It seems much cleaner and more accurate than that first paragraph, but it wouldn't have been that hard, especially for a guy with those credentials, to get it right.
I think you're exaggerating a bit. Here's where they aren't contradictory:
Parents are responsible for raising their kids. It is reprehensible to try to replace this with laws or technology. It can be assisted with rules, to a point -- for instance, kids can't get into R-rated movies alone. But this can too easily make parents lazy ("T for Teen? Well, I guess it's ok.") or remove their ability to make decisions, like effectively banning kids from seeing certain things, regardless of what their parents want.
My main objections with technology are simply that, like any other form of censorship, if they want to see it, they'll see it, and the act of trying to censor it only makes it that much more appealing. Once they get to the age where this becomes an issue, the solution isn't an arms race, but to sit down and explain to them why you feel the way you do about whatever you're blocking, and then unblock it, and let them make the choice.
None of this contradicts the moderate version of the second point, which is that you have to at least start letting your kids make their own decisions -- if you keep a tight enough reign until that 18th birthday, they'll probably rebel once they legally can.
That, and it isn't as if everything magically changes at 18. If they're an immature brat at 17, they probably will be at 19. If they're mature at 15 or 16, why not treat them like an adult?
These aren't contradictory, except in that extreme example. But they're based on the same idea -- the parent's job is to raise the kid to be a responsible adult.
Yes and no.
Yes, I wish there was a universal package format.
No, it should not resemble the OS X .app folder.
I have done this a lot of times.
Done what, exactly?
Some software disappears. Things happen on the internet. Sometimes the only way to get a package that has been disappeared is to copy it out of the /Applications folder of one machine onto another.
Which has nothing to do with anything I just said -- I asked, "Did you ever pull down a single executable from a website and have it Just Work?"
Please read the post you're replying to, before replying.
Have you ever seen this in real life? Even once?
Many times. Off the top of my head:
Nexuiz is downloaded as a single zipfile, in which there is a Windows exe, an OS X .app file, and a Linux script which auto-selects the appropriate binary based on your architecture.
The Source Dedicated Servers set things up much the same way -- while it's a weird installation procedure, you end up with a script which selects, at runtime, which executable to use. It typically installs a bunch of random DLLs, too, last I checked.
In fact, just about every proprietary package I have does this, to some extent -- if only so they can modify the dynamic linker path. (Examples: Quake 4, Doom 3, Skype...) Even among open source apps, it's common to have a script wrapper around something -- Chromium and Firefox both do.
What I have yet to see is a proprietary Linux app ship as separate 32-bit and 64-bit tarballs, rather than use this technique. It's possible they exist, it just seems much more common to either only support i386, or to ship both binaries and select at runtime.
And if you're willing to forgive the word "executable" and allow a dmg with a single app in it that I can just drag and drop without picking which one to use or running any scripts, then I've done it quite often.
Except that was my main point.
The .app folder isn't a concept that the kernel needs to support -- that's handled at the level of Finder, as it should be. But these apps can contain multiple binaries, or really, anything the developer cares to bundle them with.
OS X supports universal binaries at the kernel level -- that is, the actual binary is itself universal. That is what I don't really see the usefulness of.
Yes, I think we all have at some point, but it wasn't for a Linux-based platform.
Was it for a Mac?
If you said "yes", you probably don't understand what an executable is. I say "probably" because it is theoretically possible, but you have more likely downloaded OS X packages.
Which totally falls apart when there is something you want that isn't in your repository, you can't find a repository or package for your distribution, distribution version and/or architecture (how many multiples is that?)
That's a comment on the current state of affairs, not on the idea of packages or package management in general.
For third-party software this falls apart totally and you are completely on your own with a statically compiled, standa-alone tar archive that give you know package or installation manager benefits whatsoever.
Unless they've provided:
It takes a bit of effort, but that really could be enough.
Have you noticed how that 'Check for updates...' thing simply does not work at all with Firefox on any distribution? Can you hazard a guess as to why?
Mostly because updates are handled by the distribution, as they should be, not implemented separately in every single app (a ludicrous duplication of effort).
It does, however, work for addons.
This is total and utter shite and no other sane operating system makes their users go through this brain damage.
No, other operating systems either make their developers each implement the equivalent of a package manager anyway, as part of the app, or they force their users to check for updates themselves. Does any sane OS really think it's a good idea for a user to have to check around 20 websites, by hand, just to get updates?
When people keep repeating the above untruth that everything is fine in software installation la, la land on Linux I wonder whether people have been using their package managers or distributions at all.
Given that the majority of people who actually use Linux disagree with you, there might actually be some truth to it. Not that everything is fine, but that it's better than the alternative.
Even worse, in order to overcome some perceived proplems someone then invents..............another package management system.
Mostly because just about every flaw you've described is a flaw in the implementation, not the idea. For instance, there's no real reason multiple architectures can't be supported by the same package.
IIRC, at least the RPM format is single-architecture unless they've changed that recently. I can't comment on the other packaging formats.
I'm fairly sure I've seen multi-architecture debs. After all, not all packages include binaries at all.
If not, that's a place to start.
everything gets built more than once, with different linker lines with different lib directories.
Whereas a fat binary means everything gets built more than once, but there's only a single lib directory. I'm not sure I see how that's better.
Speaking as somebody who beat my head against a wall dealing with cross-compilation in Linux for a while at my previous employer, are you sure you want to ask me that?
Yes. Despite the tone, I'm usually open to being proven wrong.
Oh, and remember that as soon as you get one app that does its own custom @INC hack to add a new directory full of Perl modules,
This should be trivial to resolve by setting @INC to begin with. That is, if the one app is looking for its own files, presumably those were built for a single architecture. If it's looking for the global files, it shouldn't have to know where those are ultimately stored, and the wrapper around /usr/bin/perl should've handled it.
I do know that Ruby doesn't seem to have much of this problem, though the usual hack is to install one copy of Rubygems (and of each gem) per interpreter -- that is, one for 1.8, one for 1.9, one for JRuby, one for Rubinius... My own solution has been to keep my custom-compiled Ruby 1.9 isolated from the distro-maintained Ruby 1.8.
Not usually an issue, though, as you usually only need the one architecture on a given machine.
But some religions do provide clear benefits.
But every benefit you listed can be achieved through secular means. All except the placebo effect can be achieved without the use of faith or deception.
that can't even be blamed on lack of "hardware drivers".
How so? What is it, specifically, that is Linux's fault about the sound situation?
I can't remember the last time I had a serious sound issue, though I've been forced to become a bit of an ALSA expert.
Even the MSO clone Kingsoft Office is better than OpenOffice.
Be specific. What's so bad about OpenOffice, and have you actually tried a recent version?
The point wasn't about ease-of-use, though that is part of it. This, in particular:
or just double-click it to run it straight from the dmg (not a good idea for tidiness' sake, but something I see lots of users do anyway).
It's more than a bad idea, it's a security risk. Firefox is an example of an app which will auto-update in general, but not when run from the DMG.
But the point was, you're not downloading an executable, you're downloading some sort of package. It would be exactly as easy (or not) if that package had multiple binaries inside it, and maybe a script to choose which one to launch.
My point wasn't against having "fat" applications, but against the need to implement this in the kernel with fat binaries.
That "file" is not a binary. It is an application package, which is the point I was trying to make.
Open that .app folder sometime and peek inside. See what I mean? It's a folder! There's no reason you couldn't have 2, 3, or 50 separate binaries in there, and a simple script to choose one.
With regard to the AJAXy Slashdot, the speed issue was never important to me. I'd command-click the reply button and have it load the reply box in a new tab while I read.
Yes, I did exactly the same.
These days, though, it's just faster -- especially if I have a quick point to make (right now). It's also nice in that I get that much more context while replying -- I can see your post, and posts below the one I'm making. When I submit, if Slashdot is feeling fast, I can preview/submit without leaving the page, without having to manage multiple tabs, and without really waiting at all.
It's kind of like the advantages I get from Git being faster. It's actually faster enough that it changes the way I work, because I can now commit at pretty much any stage, knowing I can redo the commit, or rearrange a bunch of commits before I push. I can also branch as often as I want, knowing that the merge will be instantaneous and much more often conflict-free than with Subversion.
In short, we're not complaining about AJAX in general, just the incredibly poor implementation on Slashdot.
Perhaps, or a bit of both. The point is that AJAX in general is faster on Chrome, and that it can make an incredibly poor implementation usable, a barely-usable implementation awesome...
Java != Javascript.
I realize. My point was that, if anything, you'd expect Javascript to be slower, and that I found it incredibly ironic that someone was praising Chrome for performance in the same breath as they were berating people for using Java.
Compiled languages, when done right, are always going to be faster than non-compiled languages.
First, this isn't entirely true. There are optimizations which can be done at runtime, which can't be done at compile-time. Obvious examples are selecting an appropriate algorithm based on which data you actually have, not which data you expected to have. Now, you can theoretically duplicate these in a compiled language, but at a certain point, you'll find you've built your own mini-interpreted language anyway.
It's kind of like the assertion that manual memory management is always better than garbage collection. This is theoretically true, since in any case where garbage collection would perform better, you could manually build a garbage collector, and enable it for just that situation, and not others. But at that point, you kind of have to admit that there are real cases where garbage collection outperforms manual memory management.
Second, compiled or interpreted is a property of the implementation, not the language. Google Chrome compiles JavaScript. It's entirely possible to interpret C. Most so-called "scripting languages" do roughly the same tradeoff Perl does -- compile to some internal bytecode-ish representation, then interpret that.
C will always be faster than Java (because you have more control
Even if you were right, this is only true in that assembly will always be faster than C. And the problem here is, the speed of a nonworking program is irrelevant. People very rarely use assembler, simply because it's usually hard to write faster assembly than your C compiler, and even if you do, it's going to take you a lot longer, and it's going to be a lot buggier. I think similar tradeoffs can be made by replacing C with a higher-level language (though NOT Java, please), and using C or assembly when you actually run into something broken.
the compilers are still better
I'll give you that, tentatively. That's mostly a matter of popularity.