While I agree with you to a certain extent, I think there are other options. Plus, I think that most people that use this argument do it wrong.
So, first of all, you have the option of approaching this through legal avenues. Our government is ostensibly representative, so you can have your voice heard by voting, talking to your representatives at all government levels, forming a lobby, joining a political party, or running for office yourself.
If you ARE going to try and change the law by disobeying it, you can't disobey it anonymously in your basement. The people that have affected change througout history have been public about their disobedience, and have been willing to sacrifice their time, money, and sometimes lives for their cause. I'm not saying that you need to get yourself killed over this, but I AM saying that downloading music while trying to avoid the law isn't going to get anyone much of anywhere. Unenforceable laws are everywhere, and they don't care about catching everyone, just enough people to serve as a deterrent. (Drug laws, for instance, are for all intents and purposes unenforceable. You can catch a few people, and sometimes even the ringleaders, but you can't stop drug trafficking.)
You would need to loudly and publicly denounce the laws, download music, and fight in court that it's your right to download music. Otherwise, you're still just breaking the law, and ONLY breaking the law. Not everyone that breaks the law is a freedom fighter or crusader. Sometimes, they're just criminals.
There's another, more subtle point that I forgot to make.
By allowing the levy to continue, you may recieve a 'moral' credit to download music (which you shouldn't have to pay for anyway:P) but if you let someone else collect the money, the person that really deserves it (ie. the artist whose work you downloaded) will probably never get the money. (Unless you're a fan of the big names like Britney Spears.) You could take that money and give it to the band that you REALLY like. After all, why prop up artists that you don't like?:)
The only reason that I used the term 'still' is because there have been a few attempts to curtail this right, and agencies have been working to get it taken away. I don't know how much longer it'll last, but for now, I 'still' have the right to download and copy music.
Of course, things don't work this way. Just because they've put a levy on something doesn't mean you have the right to commit the crime that you've pre-paid for.
(Let me get out of the way up front that I think the levy was a greedy money grab by people that generally don't deserve it. I resent it a lot.)
If there was a $5000 levy on bullets to compensate the families of victims of gun crime, would you feel that it was your right to go out and shoot someone after buying some bullets? After all, it's already covered.
I'd wager that you probably wouldn't. (At least, I hope so.:)
While the scale here is a little more forgettable - you're only downloading music and not paying people that don't 'deserve' it, after all - it's still not your place to decide that you can circumvent the law.
In Canada's case, it's still legal to download and rip music that you've borrowed. So frankly, you're in the clear anyway.
But don't use the argument as an excuse to download music. The excuse is that it's legal and not necessarily immoral. If you can justify it, or really do end up giving money to those bands anyway, so much the better.
Kill the levy. Kill it dead!
(I'm also aware that your post should have been modded 'funny'.:)
All the rest of you that are in a tizzy, slow down and think about it for just a second. How did you think they were going to prevent OS X from running on non-Apple Macs? Magic? Voodoo? Asking nicely?
Besides, it gives the 3r33t h4xx0rs something to fiddle with and crack. They'd be bored otherwise.:P
...but in the end, I just never found anything that useful.
A weather checking widget? Check. But I have a web browser with a tab to my local weather up at all times anyway.
A package tracking widget? You bet. But I only have one or two packages to track every year. I always have a tab open to that page.
A calculator widget? Of course. But it's still slower than asking google, since my web browser is always open.
Konfabulator (and Dashboard) can do some pretty interesting things, as long as you don't have any other utilities on your machine. Unfortunately, it's unable to consolidate and replace the bunch of utilities that you already have, since you're unlikely to give up big things like your web browser.
I'm sure there are a bunch of people out there that really like it, and find it super useful. That's awesome. I'm glad someone appreciates the hard work that the Konfabulator (and Dashboard) guys did. I just can't find a single useful widget that isn't better implemented or accessed somewhere else.
That's interesting. That's usually the kind of DnD that I'm looking for, and it specifically doesn't seem to work, even though it definitely works for both Quicktime and VLC.
I find that I most often need to copy between windows of the same application (ie. Finder), and the Expose command to just reveal application windows is best. In fact, I think I use that Expose command considerably more than any other.
Singapore is a perfectly reasonable place. I go there from time to time to visit family. It's clean, well run, and pretty easy going.
You have to understand that the people there vote for these kinds of changes.
Visit it sometime, and talk to the people there. The climate is nice, the people are nice, and the food is really, really good. (I personally think there's no place in the world better to sample many different cultures' foods at once.)
Sure, but it's considerably slower than the new Spotlight way. Not to mention that you can also search for photos that you took a few weeks ago with certain shutter settings, for instance, which may be important to you.
Incidentally, I said, "hundreds OR thousands" of files, but your point is well taken.
Yes, that is a problem, but I don't see that it's one that is easily mitigated, especially in a work environment that generally requires that you keep tabs on everything, even work several years old. Given that, I think that adding Spotlight into the mix is a definite plus.
I'm not advocating the replacement of the folder system. I just think that it's a powerful tool when used flexibly, with an open mind. Trying to use just the folder system or just the Spotlight system isn't as powerful as using both together.
I'm spending a lot more time replying to these posts than I should. Still, I can't let them slip.:)
A study was published just last year about how the desktop paradigm breaks down when a lot of files are trying to be stored. There's nothing wrong with the folder system from a technical standpoint. The problem comes when you have hundreds or thousands of files that need to be sorted and then found. Your capacity to remember such things is finite. If you know even vaguely what you're looking for ("Hmmm, it was about 2 weeks ago, I think it mentioned nintendo, and James may have written it..."), it's probably easier to find by searching than by trying to figure out if you filed it under James, Nintendo, or the documents that you got 2 weeks ago.
If you'd like to read the study, try and get your hands on the ACM Transactions on Human-Computer Interfaces, June 2004, Volume 11, Number 2. It's quite interesting; a lot less dry than most papers.:)
Categorization is hard, especially when you have a lot of files, and it probably gets even harder in a business environment.
The problem is that some things belong in more than one place. For instance, you may want all your documents in one place, organized in folders by date. Or perhaps you want them organized by priority. But if you want to find the file based on who sent it to you, your scheme has broken down. You could duplicate the organizational structure, but now you've doubled the amount of space that you're taking up, and you have another thing to remember. AND you have to make sure that you always duplicate the files when you sort them.
An amalgam of both is probably the most useful for most people. You store your files by some metric that makes sense to you - say, priority. Then you create a bunch of smart folders that also sort the files by person, date, title, whatever. That way they aren't just anywhere, but you can find things by the rules that make sense to you right away.
This type of filtering also makes it possible to bring disparate sets of data together. If you have things already sorted by name, you may want to find files that come from your bosses. You can union your two boss folders together without moving the files and ruining your previous scheme.
Opera's M2 mail client, Apple's Mail.app, Google's gmail, and to a less refined extent the latest Outlook all support filtering your mail. I filter by the person that sent them, the mail I've received in the last 7 days, the unread mail. These searches are powerful tools that can both augment and replace organization, depending on what you want. The true benefit is the extraordinary flexibility that we now have.
While this is true, people have a limited amount of space in their brain to remember where they put their files. I have a 160GB HDD in my Mac, and I can't remember where at least 80GB of those files are.
Spotlight's incremental search is also exactly what makes it so powerful. I've been using incremental searches for years in things like Emacs and Opera, and they're great because you can immediately tell if your search is failing because you spelled something wrong, or the item really isn't there. If I want to search for all the files with a long word in them, I don't want to have to type the whole long word. On the other hand, selecting a substring of the word may have too many false positives.
If you can get your hands on it, the ACM Transactions on Computer-Human Interface, June 2004, Volume 11, Number 2 explains why current desktop and folder based systems fail so badly as we increase the number of things we're supposed to keep track of.
Jef Raskin's book, "The Humane Interface" talks at least briefly about the benefits of incremental search.
It's a nice simple phone. It has a crappy camera in it, too, if you want to take awful photos. However, it syncs up with my wife's Powerbook just fine. No bluetooth, but that's sort of beyond the realm of a solid, simple phone.
No, but in that case it would ALSO be worth Sony or Acer's time to make sure that OS X didn't run on 'commodity' beige-box hardware. They're not making any money off of OS X.
This isn't an issue. OS X will ONLY run on Apple machines, regardless of CPU. They've said that they won't help or hinder people trying to run Windows on an Apple machine, but why the hell would you do that, anyway?
And if people want to go out and buy Apple hardware to run Windows on, Apple will laugh all the way to the bank. Their margins are on hardware, not software.
There's no ethical problem here. The iTunes/iPod bundle is perfectly fine. They tell you what they're doing up front, and you should be an aware enough consumer to read up on this stuff beforehand.
The problem with Microsoft still isn't that the bundled IE with their OS, it's that they did it in concert with a monopoly that they already held to exert unfair pressure on the market.
The iPod hardly holds a monopoly on the MP3 player market, and iTunes and the store certainly aren't a monopoly in any sense either. By bundling, Apple is trying to add value to their product. Most people appreciate the one-stop shopping, ease of use and integrated functionality of the product. If you don't, that's fine. But don't put this up as some sort of ethical battle - it isn't. This is just business.
Forget about other people. Worry about yourself. If you document code so that you would be able to come back after 5-10 years and be able to pick up where you left off with just a little bit of time reading comments, it'll be good enough for anyone.
For you 'genius' programmers out there that don't need comments: you're lying. I find most people that take that stance end up just hacking up a solution to their problem and cramming it in, regardless of thee appropriateness, and spend a lot of time complaining and debugging (though still never really getting everything working quite as well as would be liked).
Besides, commenting code is fun. It gives you an extra chance to be creative during the day. You can be conversational in your comments. I don't see anything wrong with comments that read like:// Holy frijoles! Our pointer ended up NULL, and now we're boned. Call the failover case and clean up.
Sometimes, if you're under stress, you may want to reduce that timeframe. In University, I spent a whole weekend awake and working on a project. At some point, I was adding documentation so I could remember what I was doing 4 LINES ago. Ideally, don't code tired, I guess. Barring that, though, make the comments work for you.
C is a perfectly fine language to program even large scale projects in. I know for a fact that both MDK II (BioWare) and Halo (Bungie) were written entirely in C. (In fact, everything in Halo was statically allocated! No mallocs!)
This quote is 15 years old, but I still think it gets to the heart of the matter:
"If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one?" --Tom Cargin (C++ Journal, Fall 1990)
I think that moving to Java is a terrible idea in too, but it has a lot more to do with the teaching than the actual language itself.
Java is a fine language. I've done a lot of cool stuff in Java. Out of the box, it has libraries to handle multithreading and all sorts of neat stuff.
The problem is that when you don't have to worry about things like memory management, you lose a huge part of your education. You don't think about things in terms of the kind of resources that you might use, you just do it.
In a way, it may be possible to go to a purer kind of programming with Java, needing only to worry about the algorithmic complexity of the method that you're coding. In practice, however, I've seen nothing but sloppy work out of people trained from the start using Java.
I coded in at least 6 different languages through my degree, and I did most of my work in C, not C++. I believe that when you start, you should start close to the machine, not as far away from it as possible. Start with assembly - the programs don't have to be big - and work your way up. Java is the last step you should take, after you understand what it's doing under the hood, and how to mitigate the overhead that those sorts of things will incur.
While I agree with you to a certain extent, I think there are other options. Plus, I think that most people that use this argument do it wrong.
So, first of all, you have the option of approaching this through legal avenues. Our government is ostensibly representative, so you can have your voice heard by voting, talking to your representatives at all government levels, forming a lobby, joining a political party, or running for office yourself.
If you ARE going to try and change the law by disobeying it, you can't disobey it anonymously in your basement. The people that have affected change througout history have been public about their disobedience, and have been willing to sacrifice their time, money, and sometimes lives for their cause. I'm not saying that you need to get yourself killed over this, but I AM saying that downloading music while trying to avoid the law isn't going to get anyone much of anywhere. Unenforceable laws are everywhere, and they don't care about catching everyone, just enough people to serve as a deterrent. (Drug laws, for instance, are for all intents and purposes unenforceable. You can catch a few people, and sometimes even the ringleaders, but you can't stop drug trafficking.)
You would need to loudly and publicly denounce the laws, download music, and fight in court that it's your right to download music. Otherwise, you're still just breaking the law, and ONLY breaking the law. Not everyone that breaks the law is a freedom fighter or crusader. Sometimes, they're just criminals.
There's another, more subtle point that I forgot to make.
:P) but if you let someone else collect the money, the person that really deserves it (ie. the artist whose work you downloaded) will probably never get the money. (Unless you're a fan of the big names like Britney Spears.) You could take that money and give it to the band that you REALLY like. After all, why prop up artists that you don't like? :)
By allowing the levy to continue, you may recieve a 'moral' credit to download music (which you shouldn't have to pay for anyway
The only reason that I used the term 'still' is because there have been a few attempts to curtail this right, and agencies have been working to get it taken away. I don't know how much longer it'll last, but for now, I 'still' have the right to download and copy music.
Of course, things don't work this way. Just because they've put a levy on something doesn't mean you have the right to commit the crime that you've pre-paid for.
:)
:)
(Let me get out of the way up front that I think the levy was a greedy money grab by people that generally don't deserve it. I resent it a lot.)
If there was a $5000 levy on bullets to compensate the families of victims of gun crime, would you feel that it was your right to go out and shoot someone after buying some bullets? After all, it's already covered.
I'd wager that you probably wouldn't. (At least, I hope so.
While the scale here is a little more forgettable - you're only downloading music and not paying people that don't 'deserve' it, after all - it's still not your place to decide that you can circumvent the law.
In Canada's case, it's still legal to download and rip music that you've borrowed. So frankly, you're in the clear anyway.
But don't use the argument as an excuse to download music. The excuse is that it's legal and not necessarily immoral. If you can justify it, or really do end up giving money to those bands anyway, so much the better.
Kill the levy. Kill it dead!
(I'm also aware that your post should have been modded 'funny'.
Mod parent up.
:P
All the rest of you that are in a tizzy, slow down and think about it for just a second. How did you think they were going to prevent OS X from running on non-Apple Macs? Magic? Voodoo? Asking nicely?
Besides, it gives the 3r33t h4xx0rs something to fiddle with and crack. They'd be bored otherwise.
Eeeeeeee!
Thanks.
...but in the end, I just never found anything that useful.
A weather checking widget? Check. But I have a web browser with a tab to my local weather up at all times anyway.
A package tracking widget? You bet. But I only have one or two packages to track every year. I always have a tab open to that page.
A calculator widget? Of course. But it's still slower than asking google, since my web browser is always open.
Konfabulator (and Dashboard) can do some pretty interesting things, as long as you don't have any other utilities on your machine. Unfortunately, it's unable to consolidate and replace the bunch of utilities that you already have, since you're unlikely to give up big things like your web browser.
I'm sure there are a bunch of people out there that really like it, and find it super useful. That's awesome. I'm glad someone appreciates the hard work that the Konfabulator (and Dashboard) guys did. I just can't find a single useful widget that isn't better implemented or accessed somewhere else.
That's interesting. That's usually the kind of DnD that I'm looking for, and it specifically doesn't seem to work, even though it definitely works for both Quicktime and VLC.
Unfortunately, the uniformity of support for DnD is very poor under Windows. At least, it's not as wide-spread as it is under OS X.
:P)
(Actually, the only application that I use regularily that doesn't support it under OS X is WMP.
I find that I most often need to copy between windows of the same application (ie. Finder), and the Expose command to just reveal application windows is best. In fact, I think I use that Expose command considerably more than any other.
While I agree with you, from talking to friends and relatives that live there, most of them don't actually care.
The people have actually asked for a lot of the laws that other people find so oppressive (pollution laws, for example).
In the end, it's not the worst system I've ever seen. The air is clean, you can drink the water, and the country is generally prosperous.
Singapore is a perfectly reasonable place. I go there from time to time to visit family. It's clean, well run, and pretty easy going.
You have to understand that the people there vote for these kinds of changes.
Visit it sometime, and talk to the people there. The climate is nice, the people are nice, and the food is really, really good. (I personally think there's no place in the world better to sample many different cultures' foods at once.)
Sure, but it's considerably slower than the new Spotlight way. Not to mention that you can also search for photos that you took a few weeks ago with certain shutter settings, for instance, which may be important to you.
Incidentally, I said, "hundreds OR thousands" of files, but your point is well taken.
Yes, that is a problem, but I don't see that it's one that is easily mitigated, especially in a work environment that generally requires that you keep tabs on everything, even work several years old. Given that, I think that adding Spotlight into the mix is a definite plus.
I'm not advocating the replacement of the folder system. I just think that it's a powerful tool when used flexibly, with an open mind. Trying to use just the folder system or just the Spotlight system isn't as powerful as using both together.
I'm spending a lot more time replying to these posts than I should. Still, I can't let them slip. :)
:)
A study was published just last year about how the desktop paradigm breaks down when a lot of files are trying to be stored. There's nothing wrong with the folder system from a technical standpoint. The problem comes when you have hundreds or thousands of files that need to be sorted and then found. Your capacity to remember such things is finite. If you know even vaguely what you're looking for ("Hmmm, it was about 2 weeks ago, I think it mentioned nintendo, and James may have written it..."), it's probably easier to find by searching than by trying to figure out if you filed it under James, Nintendo, or the documents that you got 2 weeks ago.
If you'd like to read the study, try and get your hands on the ACM Transactions on Human-Computer Interfaces, June 2004, Volume 11, Number 2. It's quite interesting; a lot less dry than most papers.
Categorization is hard, especially when you have a lot of files, and it probably gets even harder in a business environment.
The problem is that some things belong in more than one place. For instance, you may want all your documents in one place, organized in folders by date. Or perhaps you want them organized by priority. But if you want to find the file based on who sent it to you, your scheme has broken down. You could duplicate the organizational structure, but now you've doubled the amount of space that you're taking up, and you have another thing to remember. AND you have to make sure that you always duplicate the files when you sort them.
An amalgam of both is probably the most useful for most people. You store your files by some metric that makes sense to you - say, priority. Then you create a bunch of smart folders that also sort the files by person, date, title, whatever. That way they aren't just anywhere, but you can find things by the rules that make sense to you right away.
This type of filtering also makes it possible to bring disparate sets of data together. If you have things already sorted by name, you may want to find files that come from your bosses. You can union your two boss folders together without moving the files and ruining your previous scheme.
Opera's M2 mail client, Apple's Mail.app, Google's gmail, and to a less refined extent the latest Outlook all support filtering your mail. I filter by the person that sent them, the mail I've received in the last 7 days, the unread mail. These searches are powerful tools that can both augment and replace organization, depending on what you want. The true benefit is the extraordinary flexibility that we now have.
While this is true, people have a limited amount of space in their brain to remember where they put their files. I have a 160GB HDD in my Mac, and I can't remember where at least 80GB of those files are.
Spotlight's incremental search is also exactly what makes it so powerful. I've been using incremental searches for years in things like Emacs and Opera, and they're great because you can immediately tell if your search is failing because you spelled something wrong, or the item really isn't there. If I want to search for all the files with a long word in them, I don't want to have to type the whole long word. On the other hand, selecting a substring of the word may have too many false positives.
If you can get your hands on it, the ACM Transactions on Computer-Human Interface, June 2004, Volume 11, Number 2 explains why current desktop and folder based systems fail so badly as we increase the number of things we're supposed to keep track of.
Jef Raskin's book, "The Humane Interface" talks at least briefly about the benefits of incremental search.
It's a nice simple phone. It has a crappy camera in it, too, if you want to take awful photos. However, it syncs up with my wife's Powerbook just fine. No bluetooth, but that's sort of beyond the realm of a solid, simple phone.
No, but in that case it would ALSO be worth Sony or Acer's time to make sure that OS X didn't run on 'commodity' beige-box hardware. They're not making any money off of OS X.
This isn't an issue. OS X will ONLY run on Apple machines, regardless of CPU. They've said that they won't help or hinder people trying to run Windows on an Apple machine, but why the hell would you do that, anyway?
And if people want to go out and buy Apple hardware to run Windows on, Apple will laugh all the way to the bank. Their margins are on hardware, not software.
There's no ethical problem here. The iTunes/iPod bundle is perfectly fine. They tell you what they're doing up front, and you should be an aware enough consumer to read up on this stuff beforehand.
The problem with Microsoft still isn't that the bundled IE with their OS, it's that they did it in concert with a monopoly that they already held to exert unfair pressure on the market.
The iPod hardly holds a monopoly on the MP3 player market, and iTunes and the store certainly aren't a monopoly in any sense either. By bundling, Apple is trying to add value to their product. Most people appreciate the one-stop shopping, ease of use and integrated functionality of the product. If you don't, that's fine. But don't put this up as some sort of ethical battle - it isn't. This is just business.
Argh, you're right. I forgot all about the 5th book. It wasn't as memorable as the first 4. :P
Where'd you get the fifth book? It's not due for release for about a month yet.
Forget about other people. Worry about yourself. If you document code so that you would be able to come back after 5-10 years and be able to pick up where you left off with just a little bit of time reading comments, it'll be good enough for anyone.
// Holy frijoles! Our pointer ended up NULL, and now we're boned. Call the failover case and clean up.
For you 'genius' programmers out there that don't need comments: you're lying. I find most people that take that stance end up just hacking up a solution to their problem and cramming it in, regardless of thee appropriateness, and spend a lot of time complaining and debugging (though still never really getting everything working quite as well as would be liked).
Besides, commenting code is fun. It gives you an extra chance to be creative during the day. You can be conversational in your comments. I don't see anything wrong with comments that read like:
Sometimes, if you're under stress, you may want to reduce that timeframe. In University, I spent a whole weekend awake and working on a project. At some point, I was adding documentation so I could remember what I was doing 4 LINES ago. Ideally, don't code tired, I guess. Barring that, though, make the comments work for you.
C is a perfectly fine language to program even large scale projects in. I know for a fact that both MDK II (BioWare) and Halo (Bungie) were written entirely in C. (In fact, everything in Halo was statically allocated! No mallocs!)
This quote is 15 years old, but I still think it gets to the heart of the matter:
"If you think C++ is not overly complicated, just what is a protected abstract virtual base pure virtual private destructor and when was the last time you needed one?" --Tom Cargin (C++ Journal, Fall 1990)
I think that moving to Java is a terrible idea in too, but it has a lot more to do with the teaching than the actual language itself.
Java is a fine language. I've done a lot of cool stuff in Java. Out of the box, it has libraries to handle multithreading and all sorts of neat stuff.
The problem is that when you don't have to worry about things like memory management, you lose a huge part of your education. You don't think about things in terms of the kind of resources that you might use, you just do it.
In a way, it may be possible to go to a purer kind of programming with Java, needing only to worry about the algorithmic complexity of the method that you're coding. In practice, however, I've seen nothing but sloppy work out of people trained from the start using Java.
I coded in at least 6 different languages through my degree, and I did most of my work in C, not C++. I believe that when you start, you should start close to the machine, not as far away from it as possible. Start with assembly - the programs don't have to be big - and work your way up. Java is the last step you should take, after you understand what it's doing under the hood, and how to mitigate the overhead that those sorts of things will incur.