You must not read/. often. Open source is aways specifically excepted from all liability on the grounds that it.. well, uh, you know, freedom of thought and all that stuff.
But seriously, you're absolutely correct that the surest way to kill the tech industry is to promote endless litigation and ambulance chasing instead of trying to build real solutions to the security problems (on all platforms) and punish the vandals.
I never cease to be amazed by how greedy and shortsighted people are.
What people seem to be forgetting is that mod chips hurt the smaller guys--the game developers--far more than they hurt Microsoft, Sony, or Nintendo. By using mod chips and pirating games* you're not screwing the big three, you're screwing the game developers out of existance.
Developing software is a gamble. The bulk of the cost is up front, and if you're lucky enough to even complete it, and if you're lucky enough that it sells well you might recoup the development costs. If you're really lucky you might even make a profit.
Mod chips diminish the ability for game developers to ever make a profit, decreasing incentive. I don't know about you, but I think that sucks, and I'm all for companies clamping down HARD on people that make and sell illegal products which have the sole purpose of leeching off the success of those who actually do the legitimate, hard, creative work.
*Yes, I know that some people use mod chips for other reasons which are semi-legit, but they are the vast minority.
One other piece of advice: Stop trying to type so goddamn fast.
I don't always heed my own advice, but the fact I occasionally acknowledge that I need to slow down is probably the only reason why I haven't had any problems, considering the time I spend on computers.
What is so urgent that you guys need to type so fast all the time? Coding doesn't require it. Email doesn't either; be more concise and thoughtful. I guess IM and IRC do, but I rarely use those... pick up the phone or go walk down the hall to talk to people.
It's just the Game of Slashdot. If Microsoft comes out with something you have to make up as many reasons as you can think of why it will fail, and why it's not innovative.
Of course, like the TabletPC, if a company announces a crappy Linux-based ripoff of this idea next week everybody will be suddenly interested in the possibilites.
I use my subnotebook on WiFi all the time now, and the keyboard usually just gets in the way. It seems to me that Mira would excellent as a 2nd monitor that I could just grab and carry around without having to power up my laptop, log in, and listen to the hard drive + occasional fan. The fact that it preserves my desktop session is another advantage over my laptop.
I suspect these devices will quickly drop well below even the lowest-end laptops in price because they're much simpler devices. The LCD display and battery probably make up the bulk of the cost.
Zaon has a thread dedicated to answering this question.
There's a permanant thread to the above link from CGTalk's discussion forum to keep this subject from coming up again and again. I highly recommend visititing CGTalk to view some of the discussions and images. They have forums for the major packages, threads for posting work in progress and finished images, and it's and all around great site with many professionals.
Or it could be that development cost is $X, and the number of people they expect to purchase the software is Y, and X/Y=$850*
Do you people really not understand how products get made?
I do hope that there is some subsidy for blind users purchasing this sort of software that couldn't otherwise afford it, but to think the people making and selling this software are taking advantage of blind people is an accusation bordering on libel.
In case you haven't noticed, wheelchairs, hearing aids, and all sorts of similar products are expensive, too.
And BTW, while it's one of the better ones, JAWS isn't the only screen reader out there. Windows even comes with Narrator, which while very basic could hold some users over for a while. (It also helps normal developers verify that their software is accessible to blind users.)
*-Wait, come to think of it, that's why high end 3D software is also priced so high.
I'll second this, if only because I hate political cruft. Rather than spending time searching for studies to present as evidence in a proposal to the PHBs to fund a multi-mon trial run focus group that can used to emperically prove that blah blah blah...
Just do it. If you're working at a real job and they're seriously short on money (i.e. because of the economy vs. just not caring about their employees), pony up for your own 15" monitor and graphics card. A couple hundred bucks will give you a great multimon experience, and who knows, you might start a trend. Demonstrate that it gives higher productivity, don't just tell. Plus, based on my experience with smaller companies I worked for during college, they feel slightly guilty if you bring in your own equipment if what they gave you wasn't adaquate.
Sure, PovRay is a great raytracer, but that is only a portion of the creative process.
Somebody interested in creating 3D images also needs to be able to model and animate the scene, and PovRay is mostly unsuitable for those things, except maybe for simple objects and a very small handful of people that spend an amazingly disproportionate amount of time at it. The guy who created the scenes in your link used multiple tools (some non-free) for modeling objects, and also borrows many of his objects from other people.
PovRay by itself puts a very low ceiling on creativity, even for the intelligent and technically inclined; you really need a good all-around 3D modeling/rendering/animation package. It's unfortunate that the programs that are any good are so expensive.
Many of my classes weren't either, but I noticed a trend in better ones. Here's how it went:
In those classes we always had to target a single compiler on a single platform (usually gcc or aCC and a specific Sun or HPUX machine) and turn in the assignment using a script. The TAs graded the source and compiled and tested the executable. The students could code using any environment they wanted as long as the code compiled and ran on the target platform without any dependencies on unapproved libraries. Having a single target platform put everybody on an equal footing and made grading tractable.
The code was expected to be reasonably high quality and compile without warnings. The executables were expected to run without crashes or bugs, and the TAs often pounded on the UI (if there was any) and selected pathological input to test edge cases. Sometimes you would be required to add additional functionality to get above a 90%. (For example, if the assignment were implementing a simple ray tracer, adding support for refraction, antialiasing, or texture maps would count.)
Programming is just a means to an end in "CS", but it's something that can be measured relatively objectively and it's what most of the graduates will be doing, so it might as well be taken seriously.
While finally having a halfway decent 3D program available for free is a Good Thing, I think this turn of events sets a bad precedent. It disturbs me that the/. crowd thinks this was somehow profitable, a success, or a model to follow in the future.
100,000 is a pathetic amount of money when it comes to software development; it's barely enough to pay one programmer for a year. Whoopteedo. This wasn't profitable; it was an act of charity by the investors that is sending the wrong message to a group of geeks that spends thousands of dollars a year on hardware, but are too cheap and greedy to pay for software.
Yeah, I have yet to see a system that worked better than the following (find your own open source equivalents if that's truely a requirement):
Word docs / HTML pages for the requirements and specifications.
Excel for workitem lists. Enter the data correctly and pivot tables, etc. become very handy.
SharePoint for managing the above on an intranet.
Good bug tracking software. For some projects we've imported workitems into the database, especially the unfinished or postponed ones. The bug database should allow you run queries so items for the next release can be filtered out in your daily usage.
Of course, don't forget to implement a good version control system, checkin procedures, daily builds, yadda yadda. Read Rapid Development by Steve McConnell for some good info. This site also has some practical articles and recommendations.
Oh, and above all, this needs to be as transparent and easy to use as possible, otherwise you put an unnecessary burden on your development team.
In the end, a college course measures that competence with several quizzes, a couple tests, maybe a project or two, and an exam.
This sums up what is causing many of the people on this thread to miss the point. A college degree is, in a sense, a certification, so what does it matter if you get your certification through a trade school, online course, or traditional university?
Unfortunately, a degree isn't proof of anything more than the person had the ability to pass his classes. He may have skipped every class, gotten ahold of the previous year's test, and crammed just enough at the last minute to do decent on the test. My job, when I'm interviewing, is to ferret out those people and show them the door.
The problem is that measuring competence is hard. Attending college, going to and participating in class, working on projects, working with professors doing cutting-edge research in your field, and getting a part-time job to help do research or teach a class, are worth far more than the sum of the parts. A degree doesn't show proof that you took advantage of all of those opportunities, but it indicates you had them, whereas you probably wouldn't for most other types of certifications. That is one of the reasons that a degree will help get you "in the door": the inteviewer can then attempt to not only measure your knowledge, ability to learn, and character, but also find out whether you took advantage of your college experience, or were just passing time.
I could go on and on about the reasons for getting a degree... For instance, my experience is that people that are self taught are extremely knowledgeable about one area, but they have holes in their knowledge and often don't realize it. They don't know what they don't know.
But, in the end, college isn't perfect for everybody. I highly recommend it if you can afford it, but it's easy to waste the experience (expecially if you're intelligent) by gliding through like you did in high school, or treating it as if the exams were the goal, and not just goalposts.
Almost all non DirectX windows 98 and 2000 software works in Windows 3.11 still, so they're in no rush to upgrade.
Absolutely false. You can't possibly believe that. No modern (Win32) software works on Windows 3.11 unless the developer spent a significant amount of work porting it. And by significant, I mean it'd be far more feasable to port between Win32 and Linux than bring something down to Win16. Yuck.
I had a witty response all planned, but let me just be blunt: Are you a masochist? Either that or you're not doing serious C++ development, or you're a manager that doesn't write code.
My team uses everything you mention, with the addition of some other stuff like automatic memory leak detection and OS-level hooks to detect heap corruption, invalid handle usage, etc. I'm not even sure how your smart pointer template library would detect or prevent all heap corruption bugs, as they aren't always caused by dangling pointers...
While these techniques and tools are great, even with great programming practices there's no way you can eliminate all bugs this way. People make mistakes.
So when you're in the initial stages of development you're meaning to tell me that neither you nor anybody on your team makes a mistake where you end up dereferencing a NULL pointer? Or do you try to track it down from the logging instead of taking three seconds to get a call stack with symbols and line number information in a debugger? What about when another component or library crashes or returns an unexpected result; don't you investigate? What about subtle logic flaws that become readily apparent when stepping through the code with a debugger? You can't log everything.
Yeah, given the itch scratching nature of open source I'm stumped by the shortage of Linux debuggers and how little they've progressed since I graduated from college four years ago. I would have honestly expected Linux to have the cream-of-the-crop of debugging tools by now.
In addition to VC++/.NET don't forgot the seriously powerful lower-level debuggers like windbg, cdb, and the NT kernel debugger (all free). I couldn't imagine developing a serious app without these kinds of tools.
My 802.11b PC card had some stern warnings against having the antenna part that protrudes from the laptop against your body for more than about 30 minutes at a time. It claimed the access points and being a few cm away from the antenna were safe.
So what's the scoop? Were the risks in the manual bogus? Would you want an always-on high power microwave antenna against your body all day, Star Trek communicator style?
Easy there, big guy. What do you care how I use my cell phone?
If you must know, I do take it with me for long trips and similar occasions, but even then I rarely drag it everywhere I go. In other words, it's for my convenience, not for the convenience of people trying to call me.
AC - you're missing the point. You can log onto your desktop via. Terminal Server and get your exact desktop, with all of the applications that you left running. It's pretty much the same as the description of the SunRay, except that you're remoting off of your own machine, not a central server.
Also, people in core product groups usually have 2-4+ machines 2+ monitors in their office, so when you need to collaborate it's a mini lab. Someone else can just drop by and log in using a spare machine to reference source code or whatever else they need.
(Is this new? No, X has been doing it for years. But it's still cool.)
You must not read /. often. Open source is aways specifically excepted from all liability on the grounds that it.. well, uh, you know, freedom of thought and all that stuff.
But seriously, you're absolutely correct that the surest way to kill the tech industry is to promote endless litigation and ambulance chasing instead of trying to build real solutions to the security problems (on all platforms) and punish the vandals.
Or somebody else nearby with Wi-Fi...
Try changing the channel. I had bad range with my Linksys until I changed it to use channel 11.
Geez, grow up and try to help out your family, regardless of whether they use Linux, Windows, OSX, or Joe's Bait Shop OS v.4.13.
Your family doesn't like your elitist, arrogant attitude any more than I do.
I never cease to be amazed by how greedy and shortsighted people are.
What people seem to be forgetting is that mod chips hurt the smaller guys--the game developers--far more than they hurt Microsoft, Sony, or Nintendo. By using mod chips and pirating games* you're not screwing the big three, you're screwing the game developers out of existance.
Developing software is a gamble. The bulk of the cost is up front, and if you're lucky enough to even complete it, and if you're lucky enough that it sells well you might recoup the development costs. If you're really lucky you might even make a profit.
Mod chips diminish the ability for game developers to ever make a profit, decreasing incentive. I don't know about you, but I think that sucks, and I'm all for companies clamping down HARD on people that make and sell illegal products which have the sole purpose of leeching off the success of those who actually do the legitimate, hard, creative work.
*Yes, I know that some people use mod chips for other reasons which are semi-legit, but they are the vast minority.
One other piece of advice: Stop trying to type so goddamn fast.
I don't always heed my own advice, but the fact I occasionally acknowledge that I need to slow down is probably the only reason why I haven't had any problems, considering the time I spend on computers.
What is so urgent that you guys need to type so fast all the time? Coding doesn't require it. Email doesn't either; be more concise and thoughtful. I guess IM and IRC do, but I rarely use those... pick up the phone or go walk down the hall to talk to people.
It's just the Game of Slashdot. If Microsoft comes out with something you have to make up as many reasons as you can think of why it will fail, and why it's not innovative.
Of course, like the TabletPC, if a company announces a crappy Linux-based ripoff of this idea next week everybody will be suddenly interested in the possibilites.
I use my subnotebook on WiFi all the time now, and the keyboard usually just gets in the way. It seems to me that Mira would excellent as a 2nd monitor that I could just grab and carry around without having to power up my laptop, log in, and listen to the hard drive + occasional fan. The fact that it preserves my desktop session is another advantage over my laptop.
I suspect these devices will quickly drop well below even the lowest-end laptops in price because they're much simpler devices. The LCD display and battery probably make up the bulk of the cost.
Zaon has a thread dedicated to answering this question.
There's a permanant thread to the above link from CGTalk's discussion forum to keep this subject from coming up again and again. I highly recommend visititing CGTalk to view some of the discussions and images. They have forums for the major packages, threads for posting work in progress and finished images, and it's and all around great site with many professionals.
Or it could be that development cost is $X, and the number of people they expect to purchase the software is Y, and X/Y=$850*
Do you people really not understand how products get made?
I do hope that there is some subsidy for blind users purchasing this sort of software that couldn't otherwise afford it, but to think the people making and selling this software are taking advantage of blind people is an accusation bordering on libel.
In case you haven't noticed, wheelchairs, hearing aids, and all sorts of similar products are expensive, too.
And BTW, while it's one of the better ones, JAWS isn't the only screen reader out there. Windows even comes with Narrator, which while very basic could hold some users over for a while. (It also helps normal developers verify that their software is accessible to blind users.)
*-Wait, come to think of it, that's why high end 3D software is also priced so high.
I'll second this, if only because I hate political cruft. Rather than spending time searching for studies to present as evidence in a proposal to the PHBs to fund a multi-mon trial run focus group that can used to emperically prove that blah blah blah...
Just do it. If you're working at a real job and they're seriously short on money (i.e. because of the economy vs. just not caring about their employees), pony up for your own 15" monitor and graphics card. A couple hundred bucks will give you a great multimon experience, and who knows, you might start a trend. Demonstrate that it gives higher productivity, don't just tell. Plus, based on my experience with smaller companies I worked for during college, they feel slightly guilty if you bring in your own equipment if what they gave you wasn't adaquate.
Sure, PovRay is a great raytracer, but that is only a portion of the creative process.
Somebody interested in creating 3D images also needs to be able to model and animate the scene, and PovRay is mostly unsuitable for those things, except maybe for simple objects and a very small handful of people that spend an amazingly disproportionate amount of time at it. The guy who created the scenes in your link used multiple tools (some non-free) for modeling objects, and also borrows many of his objects from other people.
PovRay by itself puts a very low ceiling on creativity, even for the intelligent and technically inclined; you really need a good all-around 3D modeling/rendering/animation package. It's unfortunate that the programs that are any good are so expensive.
When you can model this kind of stuff in PovRay let me know!
Wow, your classes don't sound very rigorous.
Many of my classes weren't either, but I noticed a trend in better ones. Here's how it went:
In those classes we always had to target a single compiler on a single platform (usually gcc or aCC and a specific Sun or HPUX machine) and turn in the assignment using a script. The TAs graded the source and compiled and tested the executable. The students could code using any environment they wanted as long as the code compiled and ran on the target platform without any dependencies on unapproved libraries. Having a single target platform put everybody on an equal footing and made grading tractable.
The code was expected to be reasonably high quality and compile without warnings. The executables were expected to run without crashes or bugs, and the TAs often pounded on the UI (if there was any) and selected pathological input to test edge cases. Sometimes you would be required to add additional functionality to get above a 90%. (For example, if the assignment were implementing a simple ray tracer, adding support for refraction, antialiasing, or texture maps would count.)
Programming is just a means to an end in "CS", but it's something that can be measured relatively objectively and it's what most of the graduates will be doing, so it might as well be taken seriously.
While finally having a halfway decent 3D program available for free is a Good Thing, I think this turn of events sets a bad precedent. It disturbs me that the /. crowd thinks this was somehow profitable, a success, or a model to follow in the future.
100,000 is a pathetic amount of money when it comes to software development; it's barely enough to pay one programmer for a year. Whoopteedo. This wasn't profitable; it was an act of charity by the investors that is sending the wrong message to a group of geeks that spends thousands of dollars a year on hardware, but are too cheap and greedy to pay for software.
Yeah, I have yet to see a system that worked better than the following (find your own open source equivalents if that's truely a requirement):
Of course, don't forget to implement a good version control system, checkin procedures, daily builds, yadda yadda. Read Rapid Development by Steve McConnell for some good info. This site also has some practical articles and recommendations.
Oh, and above all, this needs to be as transparent and easy to use as possible, otherwise you put an unnecessary burden on your development team.
In the end, a college course measures that competence with several quizzes, a couple tests, maybe a project or two, and an exam.
This sums up what is causing many of the people on this thread to miss the point. A college degree is, in a sense, a certification, so what does it matter if you get your certification through a trade school, online course, or traditional university?
Unfortunately, a degree isn't proof of anything more than the person had the ability to pass his classes. He may have skipped every class, gotten ahold of the previous year's test, and crammed just enough at the last minute to do decent on the test. My job, when I'm interviewing, is to ferret out those people and show them the door.
The problem is that measuring competence is hard. Attending college, going to and participating in class, working on projects, working with professors doing cutting-edge research in your field, and getting a part-time job to help do research or teach a class, are worth far more than the sum of the parts. A degree doesn't show proof that you took advantage of all of those opportunities, but it indicates you had them, whereas you probably wouldn't for most other types of certifications. That is one of the reasons that a degree will help get you "in the door": the inteviewer can then attempt to not only measure your knowledge, ability to learn, and character, but also find out whether you took advantage of your college experience, or were just passing time.
I could go on and on about the reasons for getting a degree... For instance, my experience is that people that are self taught are extremely knowledgeable about one area, but they have holes in their knowledge and often don't realize it. They don't know what they don't know.
But, in the end, college isn't perfect for everybody. I highly recommend it if you can afford it, but it's easy to waste the experience (expecially if you're intelligent) by gliding through like you did in high school, or treating it as if the exams were the goal, and not just goalposts.
Again, Pixar is notorious for this. ("We modelled the threads on the screws, even though you couldn't see them!")
How else would the objects stay together? Magic? Sheesh.
Almost all non DirectX windows 98 and 2000 software works in Windows 3.11 still, so they're in no rush to upgrade.
Absolutely false. You can't possibly believe that. No modern (Win32) software works on Windows 3.11 unless the developer spent a significant amount of work porting it. And by significant, I mean it'd be far more feasable to port between Win32 and Linux than bring something down to Win16. Yuck.
I had a witty response all planned, but let me just be blunt: Are you a masochist? Either that or you're not doing serious C++ development, or you're a manager that doesn't write code.
My team uses everything you mention, with the addition of some other stuff like automatic memory leak detection and OS-level hooks to detect heap corruption, invalid handle usage, etc. I'm not even sure how your smart pointer template library would detect or prevent all heap corruption bugs, as they aren't always caused by dangling pointers...
While these techniques and tools are great, even with great programming practices there's no way you can eliminate all bugs this way. People make mistakes.
So when you're in the initial stages of development you're meaning to tell me that neither you nor anybody on your team makes a mistake where you end up dereferencing a NULL pointer? Or do you try to track it down from the logging instead of taking three seconds to get a call stack with symbols and line number information in a debugger? What about when another component or library crashes or returns an unexpected result; don't you investigate? What about subtle logic flaws that become readily apparent when stepping through the code with a debugger? You can't log everything.
Yeah, given the itch scratching nature of open source I'm stumped by the shortage of Linux debuggers and how little they've progressed since I graduated from college four years ago. I would have honestly expected Linux to have the cream-of-the-crop of debugging tools by now.
In addition to VC++/.NET don't forgot the seriously powerful lower-level debuggers like windbg, cdb, and the NT kernel debugger (all free). I couldn't imagine developing a serious app without these kinds of tools.
Heh, that Seinfield skit reminds me of AOL's little $54 billion write off.
Best I can tell that's how it works; AOL stock went up after they announced it (the biggest writeoff in history).
My 802.11b PC card had some stern warnings against having the antenna part that protrudes from the laptop against your body for more than about 30 minutes at a time. It claimed the access points and being a few cm away from the antenna were safe.
So what's the scoop? Were the risks in the manual bogus? Would you want an always-on high power microwave antenna against your body all day, Star Trek communicator style?
It all goes straight to my inbox.
Easy there, big guy. What do you care how I use my cell phone?
If you must know, I do take it with me for long trips and similar occasions, but even then I rarely drag it everywhere I go. In other words, it's for my convenience, not for the convenience of people trying to call me.
Well said. Let me recommend the Zebra Pocket Pencil. It's a small, sleek, durable 4" mechanical pencil that fits perfectly into a wallet.
I've been carrying this pencil and some paper in my wallet for about six years now, and it has come in handy more times than I can count.
(I tried carrying a PDA, but they're all too bulky. I don't carry my cell phone around either.)
AC - you're missing the point. You can log onto your desktop via. Terminal Server and get your exact desktop, with all of the applications that you left running. It's pretty much the same as the description of the SunRay, except that you're remoting off of your own machine, not a central server.
Also, people in core product groups usually have 2-4+ machines 2+ monitors in their office, so when you need to collaborate it's a mini lab. Someone else can just drop by and log in using a spare machine to reference source code or whatever else they need.
(Is this new? No, X has been doing it for years. But it's still cool.)
And your source is...