No, like the grandparent mentioned it says more than that.
If you have a project that takes one engineer ten months, then you can't finish the project in one month by assigning 10 engineers to the project, even if they all start working on the project the same day.
You can't even take that 10 month project and turn it into a 5 month project by assigning 2 engineers from the first day.
The networking and communication problems the grandparent mentioned are about how much more efficient it is for one human brain to keep track of the project than it is for more than one. The more people you throw at it, the worse it gets.
So the statement "10 engineers can be 10 times as productive working for a year as 1 engineer." is false. Presumably the team of 10 can get more work done in that year, but because of communication overhead it will be less than 10X the output of one engineer. If the group dynamics are terrible, it may even be less than the output of 1 engineer. (I'm reminded of http://thedailywtf.com/Articles/The-Strong-Type.aspx where the source tree was deleted during a team fight.)
Of course, how the two situations will compare will vary. Some teams work better together. Some projects require a range of skills only available from a range of people. But the networking & communication problems decrease efficiency.
A couple of days ago Slashdot had Twenty Years of Dijkstra's Cruelty. In it, he proposed using a non-executable language to force the students to use formal methods to prove the correctness, rather than trial-and-error testing.
I was quite disappointed to see the conversation devolve into Python -vs- C -vs- Java -vs- Haskell, all of which are not what was proposed.
Has anyone gone to a University that does it the way Dijkstra proposed? (Does the University of Texas at Austin still do it this way? Any comments on it if they do?)
I'd think if your aim is to be a programmer at a commercial house later coursework would need to emphasize the skills needed for making successful software, as Stroustrup emphasized. But would Dijkstra's course be a better starting point?
Previously sales figures for Linux desktops were suspect because of the argument "Well, everybody buying them is just putting a pirated copy of Windows on them anyway." Scanning the article I didn't see anything about piracy...
But recently with activation & continuous authentication, Microsoft has tried to prevent this.
Has Microsoft finally given up its an extra tier of pricing beyond retail and volume? "You'd never give us a cent for Windows? Well, at least pirate it..."
Dr. Marshall Kirk Mckusick, private communication: ``According to the SCCS logs, the chroot call was added by Bill Joy on March 18, 1982 approximately 1.5 years before 4.2BSD was released. That was well before we had ftp servers of any sort (ftp did not show up in the source tree until January 1983). My best guess as to its purpose was to allow Bill to chroot into the/4.2BSD build directory and build a system using only the files, include files, etc contained in that tree. That was the only use of chroot that I remember from the early days.''
If you execute chroot() and then a seteuid(uid) where uid>0, then you prevent a hole/bug in your program from being exploited in a way that will allow file access/execution outside the chroot. That *is* a security advantage.
According to the page about breaking out of chroot linked from the discussion, the seteuid() is not effective because the process still has a real UID of 0 and can call seteuid(0) at any time.
You can create a chroot without any directories with mode 7771 privileges (a la/tmp), that is free of any setuid binaries, and without "useful" utilities like wget or curl that can make exploiting the system child's play. If your program runs inside of a chroot as a non-root user, and your chroot has no setuid binaries, and your kernel has no privilege escalation vulns, then you can be reasonably sure that nobody will break the chroot or achieve privilege escalation.
I'd agree, but it sounds like doing this is nearly impossible in practice. Others in the linked article suggested jail() on *BSD or vserver on Linux are tools actually designed for security even when privilege escalation is possible.
But if you read the article, getting OEMs on board is not enough.
Currently, multimedia support is considered an essential part of the desktop. However, it is illegal for an OEM to include various bits (DeCSS, MP3, codecs) without license agreements, and there isn't one person an OEM can pay for this license. Redhat doesn't even offer the option of paying them for this support.
So until the multimedia problem is solved, the pre-installation problem for the general public will wait. There are and will be niche places to get a PC with Linux pre-installed, but they won't be fit for the general public.
They do mention this in the article. They also think that Wine is coming along nicely and will allow Linux to provide the same level of backward compatibility that Win64 will. In part they expect the experience to be similar because there are signs backwards compatibility in Win64 isn't/won't be as perfect as it has been in the past.
They've got me convinced that the insurmountable problem is multimedia support is now an essential part of the desktop, and it is illegal to distribute a Linux desktop with full multimedia support in the U.S. Thus it is illegal to distribute a Linux desktop functionally equivalent to Win64 or MacOSX.
The debate I had heard recently was "Why is the incidence of autism increasing?" People have suggested better detection, childhood immunizations, and environmental pollution. But as far as I know studies haven't confirmed any of these causes. This is a potential new cause.
In my my previous comments I mentioned trying a number of services after getting my family webcams.
We now use MSN 7.5 (pre Live) quite successfully. It can switch to full screen, which helps considerably when there are people gathered round the PC to chat as a group. Occasionally have trouble with something locking up, but restarting the video conference usually fixes it.
I tried a number of services with my brother in another state before deciding on MSN. Skype had just released a beta of their video service, and the video quality wasn't quite as good. Yahoo didn't have a good update rate. I didn't try AOL which seemed to want to install much more than a chat client. There were a number of clients like ineen, so similar that I swear its the same software with different skins for different markets. All had tiny video.
After trying all of these I realized how important it is to keep the audio in sync with the video being displayed, and to degrade in a manner that is easy on the eyes. MSN outshone the others in this regard. (Talking on the phone as we start the conferences, you can really notice the delay imposed to keep the sync. But after we're just talking on the PC, its much more important to keep the audio in sync than to reduce the latency.)
Try searching for a review of a commerical product like a TV by model number. Google will fill the search with places selling the product, not with reviews. If Eopinions or Amazon does not have a review, you're screwed. You'll be buying blind.Okay genius, what keywords do you enter? If I wanted to find reviews on the Sony KDL-V40XBR1, I personally would type in "sony KDL-V40XBR1 reviews".
I tried your search. And I wasn't impressed with the results.
This is similar to what I've experienced recently searching for reviews on Google. I can eventually find them, but I usually need to use a much more complex search that removes keywords stores usually use. The next time, I'll try Yahoo and see how it goes.
Or maybe not. The same search at Yahoo turned up shopping.yahoo.com twice in the top 5, and a similar lack of reviews.
I've forgotten my LA Times log-in so I haven't read that review. But I'm interested in what others are using for video-conferencing, as I hope to set up several PCs this Christmas so my daughter can see her grandparents more often. All users involved will be pretty unsophisticated.
I bought Logitech webcams, but they don't include video conferencing software. Instead they have a link to Logitech's $x/month service. I don't have any idea why such a service is better than a direct connection, so I'm trying to avoid that approach. (There are several others.)
I plan to trial a few options with my brother later this month, and am interested in any suggestions.
The big player seems to be MSN. AOL just added video, and I couldn't tell from their pages if it included sync'd audio. Yahoo also has some sketchy details. At the moment this seems best, but I'm worried about IM spam & virii. I assume it can be avoided, but I don't know how many options need set to secure the client.
I've also planned to try Skype + Festoon. No idea how this compares with the Skype + Video announced here.
I've run accross ineen which worked really well, but had really tiny video. Maybe that's all I can expect from a cable modem.
Another poster mentioned yak for free, whose client looks surprisingly similar to ineen. Even the video size.
Any experiences doing video conferencing over cable modems, suggestions of other things to try?
The best people can do is say, "Put the computer in the family room, so you can watch what they're doing."
That's pretty effective. I remember growing up that the telephone and television were both in high traffic areas. And I can't imagine anything other than only allowing visits to white-listed sites being more effective than regular glances over their shoulder.
I wouldn't worry too much. With the regulations put in place since September 11th, the U.S. is not as favorable a destination as it once was. As word spreads on how difficult it is for a non-citizen to cross the border even when all the papers are legal, fewer qualified workers will want to move to the U.S. Wages and working conditions will have to improve to fill the shortage.
I used to do everything through NewEgg. Got a bad CPU through them, and the return went smoothly.
Unfortunately they don't have everything in the world. Recently had to replace a power supply in a Shuttle XPC. A local shop had something that would fit, but was terribly loud. Went looking for a PC 40 SilentX power supply. Newegg.com didn't have it listed, and I had a devil of a time deciding of those who did list it who was reliable.
Got lucky with ZipZoomFly.com. They had a good price & free shipping on that item. Seemed more legit than the places that made their profit on shipping.
Ah well, yeah. I've thought about doing that once or twice.
But I've clicked the I agree button on Matlab's license. Worse, I've signed the NDA to see what's coming in the next release. I wouldn't want to put the Octave project at risk.
I've read the comments posted to this story, and decided again to look into Octave. A quick google pointed me to the categorized list of Octave & Octave-Forge functions.. This list is fairly complete, and extremely useful because it lists what's missing.
Unfortunately, its missing a lot of features I've grown accostumed to using in Matlab. switch...case and varargin / varargout were two that jumped out at me. It appears the functionality is provided, but not in a compatible way.
Ah well. Half of my work is done in Simulink anyway, and the libre equivalent I've seen most people point to stacks up about as well.
I believe at the time their systems came with 1 year of free on site support. If their phone tech support determined there was a hardware problem, they'd send someone out to do the work.
It appears this option is still available as "At-Home Service".
Not sure what their support is currently like. They sent a guy to my house to replace my CD-ROM back in 1996 without asking too many questions.
Tech: What's the problem?
Me: The CD tray stops half way when I press the close button.
Tech: Ok. We'll send out a tech to replace it. Will you be available Tuesday from 1-3pm?
I think the conversation was a little longer, but it didn't take multiple calls or many hoops.
AMD lists several places to buy AMD64 systems, many of which offer the same optional on-site repair contract. Not sure who lives up to their claims, but for that I'll have to read the reviews as it sounds like few actually do these days.
My brother started telling his friends and family to buy Dell a few years ago when he decided he didn't want to be everyone's tech support guy.
The last time I had a Dell, I was quite impressed with their support. When the CD-ROM died, they sent someone to my house to pop in a replacement.
Now I think I may be looking for a new PC. And AMD's 64 bit chips look impressive. Is there anyone out there with a reputation for support and reasonable prices like Dell, that sells AMD's chips?
Just because an airline is unionized doesn't mean it is doing poorly. Southwest is heavily unionized and doing quite well.
Southwest comes to agreement with union
For average troop level of 100,000 troops (currently 138,000) this is:
821 deaths / 100k / yr
5,464 injured / 100k / yr
If 125,000 was the minimum troop level:
657 deaths / 100k / yr
4,371 injured / 100k / yr
So, I'd have to support your claim that joining the army is one of the more dangerous ways to pay for an education. But as others have said, if you stay out of the infantry, or serve during peacetime, the statistics are a lot better.
As for the payscale, Ask.com reports the starting pay is about $27k / yr. This doesn't compare favorably to the average U.S. salary of $36k / yr. Comparing a starting salary with an average covering a breadth of experience isn't fair. The average salary for someone with just a high school education is $15k / yr. So while I wouldn't say the military make much more than the average person, in some circumstances it can look pretty attractive.
The reason I prefer code generation over directly coding is that the abstractions in the modelling environment are better.
So you cannot "run" from the modeling environment directly? Is it due to CPU speed or something else?
In one sense, running from the modelling environment is like running within a debugger. Given enough CPU you can do it, but why bother once you've got it working.
Another reason is if the target is differant than a PC. Examples might include an embedded target without an FPU in the CPU. The simulation allows you to model not only the computing environmet but the physical plant it interacts with. Once you've generated targetted code, you interact directly with the actual plant.
Somebody will probably have already said it, but generally code generation is a sign that your language or abstractions are not powerful enough.
I've worked with code generation, and would have to agree with you. The reason I prefer code generation over directly coding is that the abstractions in the modelling environment are better.
We use tools to provide a better abstraction for our problem domain. These tools then generate ANSI C with well documented interfaces. (The code inside might be quite obscure, but isn't too hard to follow if you have the source model at hand.) We then have our choice of C compilers for our project.
The advantages:
Better divorce of hardware selection from software selection. Everyone supports ANSI C.
The requirements get described in the language non-software engineers are used to speaking in.
The modelling environment offers simulation, so you are less likely to have gaps in the requirements the developer must fill by guessing.
No implementation errors.
Its not perfect. Because the people doing the modelling aren't software engineers they do stupid things. But a software engineer can take a look, re-architect, and know they haven't introduced errors by comparing the before and after results.
No, like the grandparent mentioned it says more than that.
If you have a project that takes one engineer ten months, then you can't finish the project in one month by assigning 10 engineers to the project, even if they all start working on the project the same day.
You can't even take that 10 month project and turn it into a 5 month project by assigning 2 engineers from the first day.
The networking and communication problems the grandparent mentioned are about how much more efficient it is for one human brain to keep track of the project than it is for more than one. The more people you throw at it, the worse it gets.
So the statement "10 engineers can be 10 times as productive working for a year as 1 engineer." is false. Presumably the team of 10 can get more work done in that year, but because of communication overhead it will be less than 10X the output of one engineer. If the group dynamics are terrible, it may even be less than the output of 1 engineer. (I'm reminded of http://thedailywtf.com/Articles/The-Strong-Type.aspx where the source tree was deleted during a team fight.)
Of course, how the two situations will compare will vary. Some teams work better together. Some projects require a range of skills only available from a range of people. But the networking & communication problems decrease efficiency.
Symbolic links to directories are fine as long as you use junctions (available in WinXP) instead of symbolic links (available in Win7 (Vista?)).
Symbolic links (not junctions) to files or directories are recommended as prohibited, and Win7 seems to ship that way:
http://technet.microsoft.com/en-us/library/dd349804(WS.10).aspx#BKMK_16
A couple of days ago Slashdot had Twenty Years of Dijkstra's Cruelty. In it, he proposed using a non-executable language to force the students to use formal methods to prove the correctness, rather than trial-and-error testing.
I was quite disappointed to see the conversation devolve into Python -vs- C -vs- Java -vs- Haskell, all of which are not what was proposed.
Has anyone gone to a University that does it the way Dijkstra proposed? (Does the University of Texas at Austin still do it this way? Any comments on it if they do?)
I'd think if your aim is to be a programmer at a commercial house later coursework would need to emphasize the skills needed for making successful software, as Stroustrup emphasized. But would Dijkstra's course be a better starting point?
Previously sales figures for Linux desktops were suspect because of the argument "Well, everybody buying them is just putting a pirated copy of Windows on them anyway." Scanning the article I didn't see anything about piracy...
..."
But recently with activation & continuous authentication, Microsoft has tried to prevent this.
Has Microsoft finally given up its an extra tier of pricing beyond retail and volume? "You'd never give us a cent for Windows? Well, at least pirate it
http://blogs.sun.com/chrisg/tags/chroot
Dr. Marshall Kirk Mckusick, private communication: ``According to the SCCS logs, the chroot call was added by Bill Joy on March 18, 1982 approximately 1.5 years before 4.2BSD was released. That was well before we had ftp servers of any sort (ftp did not show up in the source tree until January 1983). My best guess as to its purpose was to allow Bill to chroot into theAccording to the page about breaking out of chroot linked from the discussion, the seteuid() is not effective because the process still has a real UID of 0 and can call seteuid(0) at any time.
You can create a chroot without any directories with mode 7771 privileges (a la /tmp), that is free of any setuid binaries, and without "useful" utilities like wget or curl that can make exploiting the system child's play. If your program runs inside of a chroot as a non-root user, and your chroot has no setuid binaries, and your kernel has no privilege escalation vulns, then you can be reasonably sure that nobody will break the chroot or achieve privilege escalation.
I'd agree, but it sounds like doing this is nearly impossible in practice. Others in the linked article suggested jail() on *BSD or vserver on Linux are tools actually designed for security even when privilege escalation is possible.But if you read the article, getting OEMs on board is not enough.
Currently, multimedia support is considered an essential part of the desktop. However, it is illegal for an OEM to include various bits (DeCSS, MP3, codecs) without license agreements, and there isn't one person an OEM can pay for this license. Redhat doesn't even offer the option of paying them for this support.
So until the multimedia problem is solved, the pre-installation problem for the general public will wait. There are and will be niche places to get a PC with Linux pre-installed, but they won't be fit for the general public.
They do mention this in the article. They also think that Wine is coming along nicely and will allow Linux to provide the same level of backward compatibility that Win64 will. In part they expect the experience to be similar because there are signs backwards compatibility in Win64 isn't/won't be as perfect as it has been in the past.
They've got me convinced that the insurmountable problem is multimedia support is now an essential part of the desktop, and it is illegal to distribute a Linux desktop with full multimedia support in the U.S. Thus it is illegal to distribute a Linux desktop functionally equivalent to Win64 or MacOSX.
The debate I had heard recently was "Why is the incidence of autism increasing?" People have suggested better detection, childhood immunizations, and environmental pollution. But as far as I know studies haven't confirmed any of these causes. This is a potential new cause.
In my my previous comments I mentioned trying a number of services after getting my family webcams.
We now use MSN 7.5 (pre Live) quite successfully. It can switch to full screen, which helps considerably when there are people gathered round the PC to chat as a group. Occasionally have trouble with something locking up, but restarting the video conference usually fixes it.
I tried a number of services with my brother in another state before deciding on MSN. Skype had just released a beta of their video service, and the video quality wasn't quite as good. Yahoo didn't have a good update rate. I didn't try AOL which seemed to want to install much more than a chat client. There were a number of clients like ineen, so similar that I swear its the same software with different skins for different markets. All had tiny video.
After trying all of these I realized how important it is to keep the audio in sync with the video being displayed, and to degrade in a manner that is easy on the eyes. MSN outshone the others in this regard. (Talking on the phone as we start the conferences, you can really notice the delay imposed to keep the sync. But after we're just talking on the PC, its much more important to keep the audio in sync than to reduce the latency.)
I keep running into things that require the MS Office API, not just the .doc or .xls format. I presume OOo doesn't replicate that.
The latest tool I've run into at the office actually requires Office 2003 or later.
Try searching for a review of a commerical product like a TV by model number. Google will fill the search with places selling the product, not with reviews. If Eopinions or Amazon does not have a review, you're screwed. You'll be buying blind. Okay genius, what keywords do you enter? If I wanted to find reviews on the Sony KDL-V40XBR1, I personally would type in "sony KDL-V40XBR1 reviews".
I tried your search. And I wasn't impressed with the results.
This is similar to what I've experienced recently searching for reviews on Google. I can eventually find them, but I usually need to use a much more complex search that removes keywords stores usually use. The next time, I'll try Yahoo and see how it goes.
Or maybe not. The same search at Yahoo turned up shopping.yahoo.com twice in the top 5, and a similar lack of reviews.
I've forgotten my LA Times log-in so I haven't read that review. But I'm interested in what others are using for video-conferencing, as I hope to set up several PCs this Christmas so my daughter can see her grandparents more often. All users involved will be pretty unsophisticated.
I bought Logitech webcams, but they don't include video conferencing software. Instead they have a link to Logitech's $x/month service. I don't have any idea why such a service is better than a direct connection, so I'm trying to avoid that approach. (There are several others.)
I plan to trial a few options with my brother later this month, and am interested in any suggestions.
The big player seems to be MSN. AOL just added video, and I couldn't tell from their pages if it included sync'd audio. Yahoo also has some sketchy details. At the moment this seems best, but I'm worried about IM spam & virii. I assume it can be avoided, but I don't know how many options need set to secure the client.
I've also planned to try Skype + Festoon. No idea how this compares with the Skype + Video announced here.
I've run accross ineen which worked really well, but had really tiny video. Maybe that's all I can expect from a cable modem.
Another poster mentioned yak for free, whose client looks surprisingly similar to ineen. Even the video size.
Any experiences doing video conferencing over cable modems, suggestions of other things to try?
The best people can do is say, "Put the computer in the family room, so you can watch what they're doing."
That's pretty effective. I remember growing up that the telephone and television were both in high traffic areas. And I can't imagine anything other than only allowing visits to white-listed sites being more effective than regular glances over their shoulder.
I wouldn't worry too much. With the regulations put in place since September 11th, the U.S. is not as favorable a destination as it once was. As word spreads on how difficult it is for a non-citizen to cross the border even when all the papers are legal, fewer qualified workers will want to move to the U.S. Wages and working conditions will have to improve to fill the shortage.
I used to do everything through NewEgg. Got a bad CPU through them, and the return went smoothly.
Unfortunately they don't have everything in the world. Recently had to replace a power supply in a Shuttle XPC. A local shop had something that would fit, but was terribly loud. Went looking for a PC 40 SilentX power supply. Newegg.com didn't have it listed, and I had a devil of a time deciding of those who did list it who was reliable.
Got lucky with ZipZoomFly.com. They had a good price & free shipping on that item. Seemed more legit than the places that made their profit on shipping.
Ah well, yeah. I've thought about doing that once or twice.
But I've clicked the I agree button on Matlab's license. Worse, I've signed the NDA to see what's coming in the next release. I wouldn't want to put the Octave project at risk.
There are times I think people need to look beyond Richard M. Stallman's views on software and take his other political views seriously as well.
I've read the comments posted to this story, and decided again to look into Octave. A quick google pointed me to the categorized list of Octave & Octave-Forge functions.. This list is fairly complete, and extremely useful because it lists what's missing.
Unfortunately, its missing a lot of features I've grown accostumed to using in Matlab. switch...case and varargin / varargout were two that jumped out at me. It appears the functionality is provided, but not in a compatible way.
Ah well. Half of my work is done in Simulink anyway, and the libre equivalent I've seen most people point to stacks up about as well.
Google: SMS Morse Java
Result:
http://scphillips.com/morse/jtrans.html
SMSMorse
I believe at the time their systems came with 1 year of free on site support. If their phone tech support determined there was a hardware problem, they'd send someone out to do the work.
It appears this option is still available as "At-Home Service".
Not sure what their support is currently like. They sent a guy to my house to replace my CD-ROM back in 1996 without asking too many questions.
Tech: What's the problem?
Me: The CD tray stops half way when I press the close button.
Tech: Ok. We'll send out a tech to replace it. Will you be available Tuesday from 1-3pm?
I think the conversation was a little longer, but it didn't take multiple calls or many hoops.
AMD lists several places to buy AMD64 systems, many of which offer the same optional on-site repair contract. Not sure who lives up to their claims, but for that I'll have to read the reviews as it sounds like few actually do these days.
My brother started telling his friends and family to buy Dell a few years ago when he decided he didn't want to be everyone's tech support guy.
The last time I had a Dell, I was quite impressed with their support. When the CD-ROM died, they sent someone to my house to pop in a replacement.
Now I think I may be looking for a new PC. And AMD's 64 bit chips look impressive. Is there anyone out there with a reputation for support and reasonable prices like Dell, that sells AMD's chips?
Just because an airline is unionized doesn't mean it is doing poorly. Southwest is heavily unionized and doing quite well. Southwest comes to agreement with union
CNN.COM:
Fielding's DangerFinder:
Forbes:
Military Casualties in Iraq:
- 1,402 deaths / 623 days
- 9,326 wounded / 623 days
For average troop level of 100,000 troops (currently 138,000) this is:- 821 deaths / 100k / yr
- 5,464 injured / 100k / yr
If 125,000 was the minimum troop level:So, I'd have to support your claim that joining the army is one of the more dangerous ways to pay for an education. But as others have said, if you stay out of the infantry, or serve during peacetime, the statistics are a lot better.
As for the payscale, Ask.com reports the starting pay is about $27k / yr. This doesn't compare favorably to the average U.S. salary of $36k / yr. Comparing a starting salary with an average covering a breadth of experience isn't fair. The average salary for someone with just a high school education is $15k / yr. So while I wouldn't say the military make much more than the average person , in some circumstances it can look pretty attractive.
The reason I prefer code generation over directly coding is that the abstractions in the modelling environment are better.
So you cannot "run" from the modeling environment directly? Is it due to CPU speed or something else?
In one sense, running from the modelling environment is like running within a debugger. Given enough CPU you can do it, but why bother once you've got it working.
Another reason is if the target is differant than a PC. Examples might include an embedded target without an FPU in the CPU. The simulation allows you to model not only the computing environmet but the physical plant it interacts with. Once you've generated targetted code, you interact directly with the actual plant.
Somebody will probably have already said it, but generally code generation is a sign that your language or abstractions are not powerful enough.
I've worked with code generation, and would have to agree with you. The reason I prefer code generation over directly coding is that the abstractions in the modelling environment are better.
We use tools to provide a better abstraction for our problem domain. These tools then generate ANSI C with well documented interfaces. (The code inside might be quite obscure, but isn't too hard to follow if you have the source model at hand.) We then have our choice of C compilers for our project.
The advantages:
Its not perfect. Because the people doing the modelling aren't software engineers they do stupid things. But a software engineer can take a look, re-architect, and know they haven't introduced errors by comparing the before and after results.