Yes, I'm using a Fox TV show to make a point on slashdot. If you assume that the kids are average public school students, and the contestants are average adults, then I think it's pretty obvious where kids should go for their education.
In all seriousness, the public vs homeschool debate is moot. What makes the most difference is parenting. Parents who care and are involved will raise successful and productive children.
Do IBM sell software? No, they sell you a solution.
Actually, they do. $19B dollars' worth. That's a lot of software, or about 20% of their total revenue (for 2007, at least). Services (or solutions) revenue is tracked separately.
Granted, the software IBM sells is a solution to a problem. But to say that IBM doesn't sell software is like saying Gap doesn't sell clothes; they sell a solution to the nakedness problem.
Just because technology previously made it easy to limit distribution via an artificial monopoly doesn't make it right.
And just because technology currently makes it easy to distribute doesn't make it wrong to ask to be compensated for work.
Producing software, music, movies, art, whatever, still costs money, even if the distribution is much, much cheaper. I'm no fan of the RIAA, but I completely disagree that digital media should be free. The cost should be reduced to compensate for cheaper distribution (not to mention cutting out the middleman), but the creators of the work should still be compensated, if they choose so (I just want to be clear that I think the creator of the work should decide what the price is, whether it's free or not, or whether they should be paid in money or goats).
So are you saying bad law should be obeyed because somebody makes money off it?
No, it's because disobeying a bad law can still cost you money and time in jail.
And because it sets a dangerous precedent. Who gets to decide which laws should be obeyed or disobeyed? If I don't like the drinking and driving law, can I disobey that one?
Because there's no moral justification in civil disobedience unless it's a great injustice, like segregation?
I hope you're not seriously comparing the morality between segregation and free downloads. If you don't think there's a difference, and think that these two issues are at the same level on the "morality" scale, then we can just end the debate here, because I just don't have the capability or the desire to explain why that's wrong.
I can't imagine anyone thinking that someone managing techies doesn't need to have technical skills. Of course they need to have technical skills. A large part of management is decision making, and the better informed a person is, the better the decisions. Tech managers need to have technical knowledge to be effective.
And it's not just in the technical field, in any field. Retail managers need to understand the products sold in their store, bank managers need to have a clue about finance, etc.
I'm no economist, but I always thought capitalism was defined by two things:
* Private ownership of means of production and capital
* Prices determined by the market (I.e. no government interference)
By that definition, Open Source is capitalist. The production of software is owned privately, and the price is determined by the market. I think Open Source is a shining example of why capitalism is so good. A bunch of people decided that they could do better, at lower cost, which is what they did. It introduced competition in a market that desperately needed it, and I think it's made a lot of things better. Heck, even Microsoft has had to answer by improving security, opening their data formats, etc. And in return, Open Source software has had to improve usability, functionality, etc.
About the only place the Open Source movement fails in terms of capitalism is when some of the proponents keep pushing other companies to make their proprietary code open. Then it's no longer capitalist. That's nothing more than an outside force trying to remove the ownership of a good or production of a good from it's rightful owner.
So while I'm a big supporter of Open Source, I don't think it's right for the movement to request that governments institute all sorts of policies, such as no closed data formats, that stifle competition. For one, it's not necessary. If open data formats or open source is that much better, it'll win. Second, it completely goes against the spirit of capitalism, which is to leave the market decide for itself what's best.
I live about 4km away from the Vasa museum, and I do recommend it whole heartedly. It's an awesome sight.
They have a full featured movie that explains how it sank, and how it was brought back up. How it sank was the really interesting part. It's something all programmers and engineers will relate to: last minute changes to the design.
The king at the time (I think it was Gustav Vasa) decided he wanted the biggest ship in the world. And bigger meant more guns, so he asked for a second level of guns when the ship was already half built. That's a completely new deck of iron cannons on a gun that was designed for only one. Since it was a request from the king, nobody dared say no.
So the second row of guns was added, pushing the boat far lower in the water than was originally planned. So far down that the water line was only a few feet over the lower gun ports. Worse, because the boat was already so low in the water, they couldn't add additional ballast (ballast is the weight at the bottom of a boat that keeps it pointing up). Ballast is critically important to sail ships, since it counters the rolling effect of the wind. So sure enough, the first gust of wind to hit the sails caused it to tip far enough that water came through the already too low gun ports, and sure enough, it capsized and sank.
The reason it was kept in good condition is because of the silt, and also the salinity of the water. I don't remember if it's because it's too salty or not salty enough, but either way, woodworms don't like the salinity at that area, and so there aren't any there to eat the wood, so it kept really well.
The thing that amazed me the most at the museum was the main sail. Sails were kept in boxes at the time, to help protect them. One of the main sails was still in it's box when the ship sank. When the ship was brought back up, the sail was discovered, laid out on a huge piece of glass, and it's now on display at the museum, in remarkably good shape.
I completely agree that learning the foundation of technology is the key to learning how to program. I'd even go further and suggest taht the fundamentals of any field are key to learning how to practice in that field.
When I was in university, one of my professors told us that 90% of engineering problems can be solved with 1st year concepts, since they were the foundations of engineering, and I believe that to be true.
But Discrete Mathematics and Finite Automata and Computability were not part of the 1st year curriculum, and for good reason. These aren't fundamental concepts. They may be useful, and they may teach you to think in an abstract way, but they're also actually fairly advanced, and you won't need these often in day to day operations.
If someone were to learn programming, I'd recommend 3 areas of learning. First, programming languages. You need to learn the language without worrying about things like data structures and algorithms. Learn at least one scripting language (Perl, Python, Ruby, etc), one functional language (C should be the one, considering its importance) and an OO language (C++ or Java).
Second, you need to learn about general programming theory. THIS is stuff like data structures and algorithms. This is probably the most important material you need to learn to program, since this is what you need to solve problems.
Third, you need to learn how computers work. And for that, there's only one thing to learn: assembler programming. I'm not suggesting you learn how to write full applications in assembly. But you should take at least one course in that language to help you understand how your C/Perl/Java code gets executed by the machine. It will give you a good understanding as to how memory and other hardware relates to the CPU, and how the CPU can take a for loop and run it.
I'm no web development expert, but coincidentally enough, I've been agonizing over this very question for my own website lately.
Separating presentation from content is always a good thing, and it's a requirement I had for my own website. I did a bit of research for ideas on how to do this in a web application, and the solutions that others have presented here (like the Smarty Template) and other template-style presentation mechanisms were the common solution.
One problem with this approache was mentioned in the Architecture Patterns book; depending on how your site is designed, you may have to edit multiple template files to change something in your website's presentation. For example, if you have a set of links that should appear on every page, you may have to change each template file to change something about those links.
So what I've done is separate the content from the presentation the same way I would have if my website was static HTML. The HTML is nothing more than data wrapped in DIVs, and my presentation information is completely contained in CSS files. I've also separated the presentation classes from the application logic in the script. The markup is still embedded within the script, but that script does nothing else than aggregate the data and the markup.
This way, I can put common data (like general navigation links and titles) in a class, and page specific content in sub-classes. If I want to change a link in all pages, it's one change. If I want to change the data in a page, it's just one change as well. If I want to change the look and feel, I do so in a single CSS file.
It's definitely overkill for a personal website (although another goal I had was to see if this could hold up as the website grew). So far, it seems to be holding up, even if I'm still fairly early in development.
Disclaimer: I wasn't looking for it, I stumbled upon it. I love Google, Gmail is my primary mail tools, Linux roolz all, etc.
Environment: Windows XP Pro, Firefox 1.5.0.3
Test Case:
1. Launch Kitchen Sink Demo
2. Select the "popup" group from the list on the left
3. Click the Show Dialog button
4. Drag the dialog that pops up to the left of your browser window until the mouse pointer and the dialog are completely off the screen, and release it there (it's easiest to do if you have dual monitors or you reduce your browser window so you can "drop" the dialog on the desktop. Grab hold of the dialog on the very right edge of the title bar).
Result: The dialog is no longer in the browser and visible. You can't re-drag it back into view. And because it's a modal dialog, the controls that are visible are no longer clickable.
If anyone from Google is reading this, would I qualify for a job now?:-)
I don't understand how you can argue that installing hardware drivers on Linux is easier and faster than Windows when in the same paragraph you state that you often need to compile and/or load modules in most Linux distros.
Under Windows (and correct me if I'm wrong), almost all software is installed in one of two ways:
1. Insert CD, click the install in the autorun
2. Download.exe, click on open in the download window
Now, call me an ignorant Windows user if you'd like, but to me that sounds a lot easier than downloading source code, compiling and then loading a module. And that's assuming that I don't have to download any dependencies.
Also, it's been my experience that hardware support is much, much better on Windows. I've installed Linux on my last 4 PCs, and in all cases, I've had to struggle to get hardware working, and in a few cases, some of my components did not have any drivers at all, not even partial support. In fact, some of the problem I've encountered under Linux I don't even have to think about under Windows. For example, I've been running into kernel panics related to PCI Express on my computer (I'm not a kernel developer, it's just what was in the log right before Kernel Panic!:-) ). In my case, I know what this "PCI Express" thingy is all about, but can you imagine what Granma Mabel thinks when she sees this?
This doesn't mean that it always works under Windows (I had a very brutal time upgrading an ATI Video card a while back), but in this area, I think Windows wins hands down.
The only reason I don't have an anti-virus at home is because of the one we have at the office. It's very aggressive, and it completely degrades my system's performance. The network light may not be on, but my hard drive is constantly being accessed, and my CPU is rarely below 50%. Filemon and Task Manager reports that scan32 and mcshield are the culprits.
But your post made me realize I can still have some sort of virus protection without that hasstle. I can just install an anti-virus, and run a quick scan once or twice a week instead of leaving it on all the time.
I'm honestly not trying to flame or be sarcastic; I truly don't understand the issue from a user's point of view. My computers have been infected once by spyware in the last 10 years. No viruses, no rootkits, no malware nothing. Since I'm not an information security expert, I don't have l33t skills to help me stay secure, so why have I not been affected?
Seriously, I'm asking.:-)
Here's what my wife and have been doing. We both have computers, and we use it for very different things. Mine is games, programming, internet, and my wife's is for CAD, photoshop, internet.
They're both pretty much setup the same, other than the OS. My wife's runs Windows 2000 and mine runs XP. Both are connected to the Internet via a Linksys wired router. Both run Firefox only as the web browser. The Windows 2000 box runs ZoneAlarm as the firewall, and mine runs Windows firewall. We both use GMail as our email tool.
Other than that, there isn't much security software installed. I don't even have an anti-virus.
I am pretty diligent at applying patches however. Firefox and ZoneAlarm both notify me when a patch is available, so I apply them when they popup. I run Windows update weekly. I also have Adaware and Spybot Search and Destroy that I run weekly as well. Other than the usual ad cookie (Double-Click, etc), they've yet to discover something.
The only problem I've had with machines is with a bit of spyware that got installed. It was one of my wife's first online experiences, and she clicked on something she shouldn't have, AND she was running IE. I ended up reinstalling the OS, and after a very short Firefox tutorial, it was the end of spyware on her computer.
(As an amusing side effect, she's now become quite the advocate for secure online habits and for Firefox. Most of her family and friends are all Firefox users now. Can we get a free T-Shirt:-) ).
So what's the problem? Is it bad habits, or is it really that bad out there?
Unfortunately, open source code doesn't guarantee security. I'd rather have fully-featured, proprietary drivers to run my 3D card than an open source driver that doesn't fully support all of the features of the card, even if my chances of running into a security issue is a bit higher.
Because right now, the only option I have to run games is Windows, which is far more likely to have a security issue than a Linux box with a proprietary video driver.
stealing is taking someone else's property without permission
And is that not inappropriatly acquiring someone else's property?
The copyright infringement they are trying to stop, and which is illegal, is re-publishing material, not copying or stealing.
Well, yes and no. The people who are redistributing the material aren't stealing. They may have paid for a copy of the material legally. They're not following the terms of service for the material (by making illegal copies and distributing them), but it's still not stealing. The people who are downloading the material, however, are stealing. They are inappropriately acquiring someone else's property, so technically, they're stealing.
Trying to legally enforce, and place monetary value on potential, future sales is a road to disaster.
It has nothing to do with future sales. That's not even the point. The point is about wrongfully acquiring something.
It doesn't matter that the material is easy to copy. The person(s) who created the material is the owner, and he/she can put whatever conditions on it that he/she wants. The GPL is a great example of this. If I write a piece of software, and I decide to release it according to the GPL, what I'm effectively doing is putting conditions that my software will be free for ever. If someone doesn't want to abide by the conditions of the GPL, then they can't use my software.
So why can't someone else put their own conditions on their work, even if those conditions restrict the use of their creation to those willing to pay for it and not share it with others? A reverse GPL, if you will?
The way I see it, freedom goes both ways. If you want people to respect your conditions for your work, then you have to respect the conditions people put on their works as well.
Here we do again. Empty arguments to justify stealing.
Since digital media has no per-unit costs,
First error. Here's how unit cost is calculated: Production cost + (Manufacturing cost * Number of units)/Number of units. People always seem to forget the production cost when saying it costs nothing per unit. Do you even know how much it costs to develop a TV series or a movie or a video game? Millions of dollars. So just because it doesn't cost much to manufacture a copy, it's still really expensive to produce the material, and the production company deserves to be compensated for it.
NOT STEAL as stealing is removing ownership of a tangible object from its rightful owner and placing said ownership in my hands
That's completely incorrect. Stealing has nothing to do with tangible objects.
Stealing is inappropriately acquiring someone else's property. Note that the type of property is NOT specified
Indeed. Here's another example. Three friends of mine started a shareware game company. Their first title was an Asteroids like game, with better graphics, cool features like purchasable ship powerups and multiplayer support. It took about 6 months to deliver (although admittedly, they only worked 4-6 hours a day).
It did sell, but only at the sum of 200-300$ a month. Nowhere near enough to support 3 people.
The other thing to consider is competition. Visit Rocket Download and see how many games are listed there. Your game needs to be in the top 5 to even consider quiting you day job.
While Paul Graham may have incredible hacking skills, his writings about business leave much to be desired.
In his latest essay, he tries to explain why a Professional will never be as productive as an Amateur because Professionals don't do what they like. Excuse me? So you're saying amateur athletes players are better than people in the NBA/NHL/MLB/NFL because they'll play for free? That's absolutely ridiculous. Professional athletes are more motivated than anyone else. What about people who actually applied for jobs doing work they loved, like me. Not only do I have a job I love, I get paid to do it.
I'm certain there are people who hate their jobs, and who are very unproductive. But has Paul ever considered the fact that maybe they were unmotivated to begin with, and that the reason they took that job was because they were too unmotivated to get anything else?
A previous posted stated that motivation is what drives productivity. I couldn't agree more. Money has absolutely nothing to do with productivity, it's all about motivation.
Because it's not yours. It's like someone who has a car in his driveway, with the doors unlocked and the keys in the ignition: you can't take it out for a spin just because he never uses it between 1-5am. It's not your bandwidth, just like it's not your car.
Phemur
Re:A game developer's response...
on
A Gamer's Manifesto
·
· Score: 2, Insightful
I have a few rebutals for you, my friend.
The reason that a particlar game genre is produced again and again is become you asshats keep buying them. Again and again and again.
True, but you also state that alternative games are out there. Like what? I downloaded a few of them, and they *sucked*. We're talking Daikatana suckage here. So you're telling me I'm supposed to spend money on shitty games like Daikatana in order to convince other developers to keep producing this crap in hopes that one will be worth it?
I understand that games are ridiculously expensive to produce, and that money needs to come in. But I'm not willing to spend money on crap to encourage it. I'd rather spend the cash on tried and tested games that I know will be fun, even thought it probably won't have the WOW! factor that you'd get from a new paradigm in gaming like X-Com or Doom.
As soon as you come up with a mechanism to physically get 16 megs of data off a DVD rom faster than 1 second, I'll be all over improving load times.
Whoa there. I can run from one end of Kalimdor (one of two continents in WoW, for those unfamiliar with it) to the other without any delays or loading messages. Why doesn't this work in any other game?
Also, I have tons of free diskspace left and 2 gigs of RAM. There's no reason anything should be streaming off my DVD. Drop the entire contents on the HD, and stream it from there.
Granted, console gamers are out of luck (for the moment).
the exclusive deals that EA has inked with football is utterly deplorable and should be called what it is: a monopoly tactic.
Sorry I disagree with you here. The NFL owns and continues to own those rights, they've only licensed it to EA. So the blame lies exclusively on the NFL's shoulders. EA's mission is to make money through making games, not just making games, and this just solidifies their position in the football games market. Does it suck for gamers? Yes, but it's the NFL's fault.
But based on all of the successful games in today's market, it's obvious that graphics *are* actually the dominant factor in determining what game you're going to spend your hard earned dough on.
I'm not sure that's true. I think gamers spending money on graphic intensive games just because that's all that's available. Also, I think it's what gamers are buying because they don't know any better, since mainstream gaming magazines sell more since it's much easier to market a game that has pretty screenshots. I mean seriously, how do you brag about high quality audio or AI if all you can present are screenshots?
Non-graphic intensive games have been brought to market, and the revenue they generated sucked because they were boring games, not becaused the graphics suck. Games like WoW don't have ultra-realistic graphics, yet they're awefully fun to because of immersive game play.
The original poster's argument was that he tries to convince others to switch to Open Source projects to support those projects in hopes of improving them. I'm arguing that as a user of non-open source products, his argument isn't convincing me. I'll switch because I want the best possible product, not what *could* be the best product.
Don't get me wrong, I think people should evangalize products they believe in, even if they simply believe in the vision or the goal of a product, regardless of how it currently stacks against its competitors. But different people are motivated by different things, and it's good to have more than one argument.
People are going to want to switch because products are better, not to provide support in HOPES that it will get better.
For example, I switched from IE to Firefox because it suited my needs better. It was faster, had tabbed browsing, fewer bugs and it blocked popups. I chose Java and Python as my development languages, because of their portability and abundance of documentation. I chose VIM as my editor because it had better features than Notepad. Etc, etc, etc.
But I chose Windows as my OS because of the abundance of games, and because of better driver support.
But why in the world would I want to switch to Linux in hopes that it help support it as a gaming platform? In this particular case, Linux isn't even adequate, it's years behind. And despite the fact that I'd rather use Linux for day to day computing, it's easier for me to use Windows with the Open Source tools than to switch back and forth.
If you want people to switch, they'll have to be convinced that they're switching to a better solution without having to compromise. Otherwise, there's no point.
You need to read the previous paragraph very carefully, because it explains the one you quoted out of context.
The author came up with the formula by calculating the average cost of an error in a 3 month period ($165,000), based on the fact that that 90% of spreadsheets contain errors, and that there are 10 spreadsheets of value (90% * 10 = 9) in a Fortune 500 company (500).
The author states that 10 valuable spreadsheets is conservative. That's not conservative, that's unrealistic. I work for a financial software company, and our users have hundreds, sometimes thousands of spreadsheets being used. Assuming that 90% of all spreadsheets have errors, then his assertion that it's costing $10bn is probably closer to reality than his previous calculation.
I think this argument is a bit irrelevant. I run Windows because I'm not much of a hardware guy, and because my wife needs software that's Windows only.
But almost all of my tools are Open Source, and most are GNU-based. Does that make my system GNU/Windows? I don't think so.
By your rational, if I was a Microsoft tool user, I wouldn't be running Windows, rather Microsoft/Windows.:-)
If the demise of PC gaming is evaluated solely on your arguments, then I'd agree. However, I think you've missed a few arguments that change the picture somewhat.
First, PCs are just as ubiquitous as televions, which eliminates the high price argument. As a matter of fact, it could be argued that PC gaming is cheaper, since you don't have to spend money on the console.
Besides, contrary to what most think, you do not need a bleeding edge machine to play most games. You can get entry level machines that are roughly the same price as top-end consoles that have more than enough horsepower to run most games.
Second, the independent game and modding market is really picking up speed. Some very high quality titles are coming out of indie studios, and they're only available on PC. There's no motivation for indie developers to write these games for consoles, since the distribution costs would be too high. This may change if consoles are able to download and store games in the future.
Third, consoles have been around a long time, and it hasn't affected the PC game market at all. As a matter of fact, they've been around longer than PCs, yet the PC gaming industry has never been healthier.
Fourth, the market is big enough to support PC gaming and console gaming. There's no reason why one would die in favor of the other.
Yes, I'm using a Fox TV show to make a point on slashdot. If you assume that the kids are average public school students, and the contestants are average adults, then I think it's pretty obvious where kids should go for their education.
In all seriousness, the public vs homeschool debate is moot. What makes the most difference is parenting. Parents who care and are involved will raise successful and productive children.
Do IBM sell software? No, they sell you a solution.
Actually, they do. $19B dollars' worth. That's a lot of software, or about 20% of their total revenue (for 2007, at least). Services (or solutions) revenue is tracked separately.
Granted, the software IBM sells is a solution to a problem. But to say that IBM doesn't sell software is like saying Gap doesn't sell clothes; they sell a solution to the nakedness problem.
And just because technology currently makes it easy to distribute doesn't make it wrong to ask to be compensated for work.
Producing software, music, movies, art, whatever, still costs money, even if the distribution is much, much cheaper. I'm no fan of the RIAA, but I completely disagree that digital media should be free. The cost should be reduced to compensate for cheaper distribution (not to mention cutting out the middleman), but the creators of the work should still be compensated, if they choose so (I just want to be clear that I think the creator of the work should decide what the price is, whether it's free or not, or whether they should be paid in money or goats).
So are you saying bad law should be obeyed because somebody makes money off it?
No, it's because disobeying a bad law can still cost you money and time in jail.
And because it sets a dangerous precedent. Who gets to decide which laws should be obeyed or disobeyed? If I don't like the drinking and driving law, can I disobey that one?
Because there's no moral justification in civil disobedience unless it's a great injustice, like segregation?
I hope you're not seriously comparing the morality between segregation and free downloads. If you don't think there's a difference, and think that these two issues are at the same level on the "morality" scale, then we can just end the debate here, because I just don't have the capability or the desire to explain why that's wrong.
I can't imagine anyone thinking that someone managing techies doesn't need to have technical skills. Of course they need to have technical skills. A large part of management is decision making, and the better informed a person is, the better the decisions. Tech managers need to have technical knowledge to be effective.
And it's not just in the technical field, in any field. Retail managers need to understand the products sold in their store, bank managers need to have a clue about finance, etc.
* Private ownership of means of production and capital
* Prices determined by the market (I.e. no government interference)
By that definition, Open Source is capitalist. The production of software is owned privately, and the price is determined by the market. I think Open Source is a shining example of why capitalism is so good. A bunch of people decided that they could do better, at lower cost, which is what they did. It introduced competition in a market that desperately needed it, and I think it's made a lot of things better. Heck, even Microsoft has had to answer by improving security, opening their data formats, etc. And in return, Open Source software has had to improve usability, functionality, etc.
About the only place the Open Source movement fails in terms of capitalism is when some of the proponents keep pushing other companies to make their proprietary code open. Then it's no longer capitalist. That's nothing more than an outside force trying to remove the ownership of a good or production of a good from it's rightful owner.
So while I'm a big supporter of Open Source, I don't think it's right for the movement to request that governments institute all sorts of policies, such as no closed data formats, that stifle competition. For one, it's not necessary. If open data formats or open source is that much better, it'll win. Second, it completely goes against the spirit of capitalism, which is to leave the market decide for itself what's best.
Phemur
They have a full featured movie that explains how it sank, and how it was brought back up. How it sank was the really interesting part. It's something all programmers and engineers will relate to: last minute changes to the design.
The king at the time (I think it was Gustav Vasa) decided he wanted the biggest ship in the world. And bigger meant more guns, so he asked for a second level of guns when the ship was already half built. That's a completely new deck of iron cannons on a gun that was designed for only one. Since it was a request from the king, nobody dared say no.
So the second row of guns was added, pushing the boat far lower in the water than was originally planned. So far down that the water line was only a few feet over the lower gun ports. Worse, because the boat was already so low in the water, they couldn't add additional ballast (ballast is the weight at the bottom of a boat that keeps it pointing up). Ballast is critically important to sail ships, since it counters the rolling effect of the wind. So sure enough, the first gust of wind to hit the sails caused it to tip far enough that water came through the already too low gun ports, and sure enough, it capsized and sank.
The reason it was kept in good condition is because of the silt, and also the salinity of the water. I don't remember if it's because it's too salty or not salty enough, but either way, woodworms don't like the salinity at that area, and so there aren't any there to eat the wood, so it kept really well.
The thing that amazed me the most at the museum was the main sail. Sails were kept in boxes at the time, to help protect them. One of the main sails was still in it's box when the ship sank. When the ship was brought back up, the sail was discovered, laid out on a huge piece of glass, and it's now on display at the museum, in remarkably good shape.
Phemur
When I was in university, one of my professors told us that 90% of engineering problems can be solved with 1st year concepts, since they were the foundations of engineering, and I believe that to be true.
But Discrete Mathematics and Finite Automata and Computability were not part of the 1st year curriculum, and for good reason. These aren't fundamental concepts. They may be useful, and they may teach you to think in an abstract way, but they're also actually fairly advanced, and you won't need these often in day to day operations.
If someone were to learn programming, I'd recommend 3 areas of learning. First, programming languages. You need to learn the language without worrying about things like data structures and algorithms. Learn at least one scripting language (Perl, Python, Ruby, etc), one functional language (C should be the one, considering its importance) and an OO language (C++ or Java).
Second, you need to learn about general programming theory. THIS is stuff like data structures and algorithms. This is probably the most important material you need to learn to program, since this is what you need to solve problems.
Third, you need to learn how computers work. And for that, there's only one thing to learn: assembler programming. I'm not suggesting you learn how to write full applications in assembly. But you should take at least one course in that language to help you understand how your C/Perl/Java code gets executed by the machine. It will give you a good understanding as to how memory and other hardware relates to the CPU, and how the CPU can take a for loop and run it.
Good luck
Phemur
Separating presentation from content is always a good thing, and it's a requirement I had for my own website. I did a bit of research for ideas on how to do this in a web application, and the solutions that others have presented here (like the Smarty Template) and other template-style presentation mechanisms were the common solution.
One problem with this approache was mentioned in the Architecture Patterns book; depending on how your site is designed, you may have to edit multiple template files to change something in your website's presentation. For example, if you have a set of links that should appear on every page, you may have to change each template file to change something about those links.
So what I've done is separate the content from the presentation the same way I would have if my website was static HTML. The HTML is nothing more than data wrapped in DIVs, and my presentation information is completely contained in CSS files. I've also separated the presentation classes from the application logic in the script. The markup is still embedded within the script, but that script does nothing else than aggregate the data and the markup.
This way, I can put common data (like general navigation links and titles) in a class, and page specific content in sub-classes. If I want to change a link in all pages, it's one change. If I want to change the data in a page, it's just one change as well. If I want to change the look and feel, I do so in a single CSS file.
It's definitely overkill for a personal website (although another goal I had was to see if this could hold up as the website grew). So far, it seems to be holding up, even if I'm still fairly early in development.
Phemur
Environment: Windows XP Pro, Firefox 1.5.0.3
Test Case:
1. Launch Kitchen Sink Demo
2. Select the "popup" group from the list on the left
3. Click the Show Dialog button
4. Drag the dialog that pops up to the left of your browser window until the mouse pointer and the dialog are completely off the screen, and release it there (it's easiest to do if you have dual monitors or you reduce your browser window so you can "drop" the dialog on the desktop. Grab hold of the dialog on the very right edge of the title bar).
Result: The dialog is no longer in the browser and visible. You can't re-drag it back into view. And because it's a modal dialog, the controls that are visible are no longer clickable.
If anyone from Google is reading this, would I qualify for a job now? :-)
Phemur
I don't understand how you can argue that installing hardware drivers on Linux is easier and faster than Windows when in the same paragraph you state that you often need to compile and/or load modules in most Linux distros.
Under Windows (and correct me if I'm wrong), almost all software is installed in one of two ways:
1. Insert CD, click the install in the autorun .exe, click on open in the download window
2. Download
Now, call me an ignorant Windows user if you'd like, but to me that sounds a lot easier than downloading source code, compiling and then loading a module. And that's assuming that I don't have to download any dependencies.
Also, it's been my experience that hardware support is much, much better on Windows. I've installed Linux on my last 4 PCs, and in all cases, I've had to struggle to get hardware working, and in a few cases, some of my components did not have any drivers at all, not even partial support. In fact, some of the problem I've encountered under Linux I don't even have to think about under Windows. For example, I've been running into kernel panics related to PCI Express on my computer (I'm not a kernel developer, it's just what was in the log right before Kernel Panic! :-) ). In my case, I know what this "PCI Express" thingy is all about, but can you imagine what Granma Mabel thinks when she sees this?
This doesn't mean that it always works under Windows (I had a very brutal time upgrading an ATI Video card a while back), but in this area, I think Windows wins hands down.
Phemur
The only reason I don't have an anti-virus at home is because of the one we have at the office. It's very aggressive, and it completely degrades my system's performance. The network light may not be on, but my hard drive is constantly being accessed, and my CPU is rarely below 50%. Filemon and Task Manager reports that scan32 and mcshield are the culprits.
But your post made me realize I can still have some sort of virus protection without that hasstle. I can just install an anti-virus, and run a quick scan once or twice a week instead of leaving it on all the time.
Phemur
Seriously, I'm asking. :-)
Here's what my wife and have been doing. We both have computers, and we use it for very different things. Mine is games, programming, internet, and my wife's is for CAD, photoshop, internet.
They're both pretty much setup the same, other than the OS. My wife's runs Windows 2000 and mine runs XP. Both are connected to the Internet via a Linksys wired router. Both run Firefox only as the web browser. The Windows 2000 box runs ZoneAlarm as the firewall, and mine runs Windows firewall. We both use GMail as our email tool.
Other than that, there isn't much security software installed. I don't even have an anti-virus.
I am pretty diligent at applying patches however. Firefox and ZoneAlarm both notify me when a patch is available, so I apply them when they popup. I run Windows update weekly. I also have Adaware and Spybot Search and Destroy that I run weekly as well. Other than the usual ad cookie (Double-Click, etc), they've yet to discover something.
The only problem I've had with machines is with a bit of spyware that got installed. It was one of my wife's first online experiences, and she clicked on something she shouldn't have, AND she was running IE. I ended up reinstalling the OS, and after a very short Firefox tutorial, it was the end of spyware on her computer.
(As an amusing side effect, she's now become quite the advocate for secure online habits and for Firefox. Most of her family and friends are all Firefox users now. Can we get a free T-Shirt :-) ).
So what's the problem? Is it bad habits, or is it really that bad out there?
Phemur
Because right now, the only option I have to run games is Windows, which is far more likely to have a security issue than a Linux box with a proprietary video driver.
Phemur
And is that not inappropriatly acquiring someone else's property?
The copyright infringement they are trying to stop, and which is illegal, is re-publishing material, not copying or stealing.
Well, yes and no. The people who are redistributing the material aren't stealing. They may have paid for a copy of the material legally. They're not following the terms of service for the material (by making illegal copies and distributing them), but it's still not stealing. The people who are downloading the material, however, are stealing. They are inappropriately acquiring someone else's property, so technically, they're stealing.
Trying to legally enforce, and place monetary value on potential, future sales is a road to disaster. It has nothing to do with future sales. That's not even the point. The point is about wrongfully acquiring something.
It doesn't matter that the material is easy to copy. The person(s) who created the material is the owner, and he/she can put whatever conditions on it that he/she wants. The GPL is a great example of this. If I write a piece of software, and I decide to release it according to the GPL, what I'm effectively doing is putting conditions that my software will be free for ever. If someone doesn't want to abide by the conditions of the GPL, then they can't use my software.
So why can't someone else put their own conditions on their work, even if those conditions restrict the use of their creation to those willing to pay for it and not share it with others? A reverse GPL, if you will?
The way I see it, freedom goes both ways. If you want people to respect your conditions for your work, then you have to respect the conditions people put on their works as well.
Phemur
Since digital media has no per-unit costs,
First error. Here's how unit cost is calculated: Production cost + (Manufacturing cost * Number of units)/Number of units. People always seem to forget the production cost when saying it costs nothing per unit. Do you even know how much it costs to develop a TV series or a movie or a video game? Millions of dollars. So just because it doesn't cost much to manufacture a copy, it's still really expensive to produce the material, and the production company deserves to be compensated for it. NOT STEAL as stealing is removing ownership of a tangible object from its rightful owner and placing said ownership in my hands
That's completely incorrect. Stealing has nothing to do with tangible objects.
Stealing is inappropriately acquiring someone else's property. Note that the type of property is NOT specified
But don't take my work for it:
Merriam-Webster Online
Dictionary.com
Cambridge Dictionary online
WikiPedia
Could you please provide references to your definition?
do you think it is fair to say the producers of the content I watch are losing money from my viewing?
Of course. Your using their product, but you didn't pay for it, so they're out x$.
I'm not saying it's okay for another party to profit either in case you were wondering.
Like you for instance? Because you are profiting from watching their TV show without paying for it.
Phemur
It did sell, but only at the sum of 200-300$ a month. Nowhere near enough to support 3 people.
The other thing to consider is competition. Visit Rocket Download and see how many games are listed there. Your game needs to be in the top 5 to even consider quiting you day job.
Phemur
In his latest essay, he tries to explain why a Professional will never be as productive as an Amateur because Professionals don't do what they like. Excuse me? So you're saying amateur athletes players are better than people in the NBA/NHL/MLB/NFL because they'll play for free? That's absolutely ridiculous. Professional athletes are more motivated than anyone else. What about people who actually applied for jobs doing work they loved, like me. Not only do I have a job I love, I get paid to do it.
I'm certain there are people who hate their jobs, and who are very unproductive. But has Paul ever considered the fact that maybe they were unmotivated to begin with, and that the reason they took that job was because they were too unmotivated to get anything else?
A previous posted stated that motivation is what drives productivity. I couldn't agree more. Money has absolutely nothing to do with productivity, it's all about motivation.
Phemur
Because it's not yours. It's like someone who has a car in his driveway, with the doors unlocked and the keys in the ignition: you can't take it out for a spin just because he never uses it between 1-5am. It's not your bandwidth, just like it's not your car.
Phemur
The reason that a particlar game genre is produced again and again is become you asshats keep buying them. Again and again and again.
True, but you also state that alternative games are out there. Like what? I downloaded a few of them, and they *sucked*. We're talking Daikatana suckage here. So you're telling me I'm supposed to spend money on shitty games like Daikatana in order to convince other developers to keep producing this crap in hopes that one will be worth it?
I understand that games are ridiculously expensive to produce, and that money needs to come in. But I'm not willing to spend money on crap to encourage it. I'd rather spend the cash on tried and tested games that I know will be fun, even thought it probably won't have the WOW! factor that you'd get from a new paradigm in gaming like X-Com or Doom.
As soon as you come up with a mechanism to physically get 16 megs of data off a DVD rom faster than 1 second, I'll be all over improving load times.
Whoa there. I can run from one end of Kalimdor (one of two continents in WoW, for those unfamiliar with it) to the other without any delays or loading messages. Why doesn't this work in any other game?
Also, I have tons of free diskspace left and 2 gigs of RAM. There's no reason anything should be streaming off my DVD. Drop the entire contents on the HD, and stream it from there.
Granted, console gamers are out of luck (for the moment).
the exclusive deals that EA has inked with football is utterly deplorable and should be called what it is: a monopoly tactic.
Sorry I disagree with you here. The NFL owns and continues to own those rights, they've only licensed it to EA. So the blame lies exclusively on the NFL's shoulders. EA's mission is to make money through making games, not just making games, and this just solidifies their position in the football games market. Does it suck for gamers? Yes, but it's the NFL's fault.
But based on all of the successful games in today's market, it's obvious that graphics *are* actually the dominant factor in determining what game you're going to spend your hard earned dough on.
I'm not sure that's true. I think gamers spending money on graphic intensive games just because that's all that's available. Also, I think it's what gamers are buying because they don't know any better, since mainstream gaming magazines sell more since it's much easier to market a game that has pretty screenshots. I mean seriously, how do you brag about high quality audio or AI if all you can present are screenshots?
Non-graphic intensive games have been brought to market, and the revenue they generated sucked because they were boring games, not becaused the graphics suck. Games like WoW don't have ultra-realistic graphics, yet they're awefully fun to because of immersive game play.
Phemur
I think you've misunderstood my point.
The original poster's argument was that he tries to convince others to switch to Open Source projects to support those projects in hopes of improving them. I'm arguing that as a user of non-open source products, his argument isn't convincing me. I'll switch because I want the best possible product, not what *could* be the best product.
Don't get me wrong, I think people should evangalize products they believe in, even if they simply believe in the vision or the goal of a product, regardless of how it currently stacks against its competitors. But different people are motivated by different things, and it's good to have more than one argument.
Phemur
No offense, but that's a very weak argument.
People are going to want to switch because products are better, not to provide support in HOPES that it will get better.
For example, I switched from IE to Firefox because it suited my needs better. It was faster, had tabbed browsing, fewer bugs and it blocked popups. I chose Java and Python as my development languages, because of their portability and abundance of documentation. I chose VIM as my editor because it had better features than Notepad. Etc, etc, etc.
But I chose Windows as my OS because of the abundance of games, and because of better driver support.
But why in the world would I want to switch to Linux in hopes that it help support it as a gaming platform? In this particular case, Linux isn't even adequate, it's years behind. And despite the fact that I'd rather use Linux for day to day computing, it's easier for me to use Windows with the Open Source tools than to switch back and forth.
If you want people to switch, they'll have to be convinced that they're switching to a better solution without having to compromise. Otherwise, there's no point.
Phemur
You need to read the previous paragraph very carefully, because it explains the one you quoted out of context.
The author came up with the formula by calculating the average cost of an error in a 3 month period ($165,000), based on the fact that that 90% of spreadsheets contain errors, and that there are 10 spreadsheets of value (90% * 10 = 9) in a Fortune 500 company (500).
The author states that 10 valuable spreadsheets is conservative. That's not conservative, that's unrealistic. I work for a financial software company, and our users have hundreds, sometimes thousands of spreadsheets being used. Assuming that 90% of all spreadsheets have errors, then his assertion that it's costing $10bn is probably closer to reality than his previous calculation.
Phemur
I think this argument is a bit irrelevant. I run Windows because I'm not much of a hardware guy, and because my wife needs software that's Windows only.
:-)
But almost all of my tools are Open Source, and most are GNU-based. Does that make my system GNU/Windows? I don't think so.
By your rational, if I was a Microsoft tool user, I wouldn't be running Windows, rather Microsoft/Windows.
Nat
Someone's already working on it:
http://eyetap.org/
First, PCs are just as ubiquitous as televions, which eliminates the high price argument. As a matter of fact, it could be argued that PC gaming is cheaper, since you don't have to spend money on the console.
Besides, contrary to what most think, you do not need a bleeding edge machine to play most games. You can get entry level machines that are roughly the same price as top-end consoles that have more than enough horsepower to run most games.
Second, the independent game and modding market is really picking up speed. Some very high quality titles are coming out of indie studios, and they're only available on PC. There's no motivation for indie developers to write these games for consoles, since the distribution costs would be too high. This may change if consoles are able to download and store games in the future.
Third, consoles have been around a long time, and it hasn't affected the PC game market at all. As a matter of fact, they've been around longer than PCs, yet the PC gaming industry has never been healthier.
Fourth, the market is big enough to support PC gaming and console gaming. There's no reason why one would die in favor of the other.
And that's all I have to say about that.
Phemur