The implication that a lot of people are reading into this is that being in IT makes you unhappy. I am inclined to believe that IT work attracts masochists for whom unhappiness is a critical and defining aspect of their personality. It's not like any of us are actually shocked that there are users who open every single attachment, as much as we pretend to be while bitching about it. We're used to it, and we stick around, because we secretly know that however unhappy we are now, we'd be at least as unhappy doing anything else, and bored to boot.
Actually, we do have those types. They can either listen to us, or hire someone for their own department. Usually they end up hiring someone for their own department, putting them to work setting up, maintaining, and supporting departmental resources which become so valuable to them that they'd rather call us anyway for most simple things. Of course, the directors we're dealing with have PhDs, and a very keen sense of the cost and benefit of local knowledge, as opposed to MBAs, who have a philosophical objection to evaluating externalities to their own short-term detriment, regardless of the long-term benefit.
Basically, to make our scheme work, you have to ensure that the person on the other end of the phone lacks the authority to get you fired over your boss's objection. For better or worse, our IT department has taken on a lot of roles that many IT departments don't, so we're a large and powerful part of the bureaucracy ourself.
If you can get on their computer, then you can fix it. The last thing you ever want to do to a user's computer is fix it. You want *them* to fix it, thus giving them at least the slightest bit of clue, and encouraging them to think for a second whether or not they could figure out their next problem themselves, thus causing them to become even more clueful.
I work in-house tech support, so we don't have a "convince them it's their fault and they need to buy another one" approach, and we have a standing policy against such things as Windows Remote Access. In rare cases, we will ask people to bring a machine to the helpdesk, which stresses the exceptional nature of the service.
We also take extra time on the phone to explain why the problem happened, so they can avoid it in the future. The result of this is that we spend less time on the phone, because our users get smarter. We usually have an empty call queue with a few people on the phone. Oh, yeah, and we service a few tens of thousands of users.
The defining moment of this philosophy was when my boss actually encouraged me to wear my "No, I will not fix your computer." shirt to work. Tech support doesn't have to suck. It just ends up sucking when your metric of success is short call times.
Actually a smart move, from where they are now
on
SCO Aims For The Feds
·
· Score: 2, Insightful
Think about it, they're already neck-deep in shit if they don't win everything. Pissing off the feds isn't going to screw them over any more. The chance that they're taking is that the way government agencies deemed important enough to be allowed supercomputing clusters, adding on a charge for linux licenses won't bother anyone enough to raise a stink about it. They then get the credibility of a federal agency paying up to voice their threat with.
That said, I think they *will* get hammered in court, but that doesn't make their behavior irrational from where they stand right now. Proving criminal fraud would basically require audio tape of them saying "No, we don't own the code, but we can still extort them for lots of money." which is unlikely, so all they really have to lose here are attorney's fees.
...there's no compelling state interest in banning profanity. There's a compelling state interest in banning obscenity. There's a big difference between the two. Indecency is an element of obscenity, and is the reason why you can hear a lot of stuff after 10 p.m. that you can't hear before it. If the Golden Globe broadcast was violating that compromise, then maybe they'd be subject to fines for indecency, though certainly not for obscenity, given the way the word was used. If that was their justification, I'd grumble about uptight conservatives and move on, but they're not just screwing over one broadcast here, they're trying to establish an entirely new regulative domain that the courts have held time and time again that they have no authority to do. Of course, it'll take a couple years to work its way through the courts. Fun.
For those of you who don't know PHP, just wait a version or two. It already supports VB, C, C++, Javascript and Perl style coding. Version 5 is basically Java. Expect Intercal, Unlambda, and BrainF*** support by version 7 or 8. If you know a Turing-complete language, chances are you'll be able to use it to code PHP by the end of the decade.
Am I the only person who has noticed that the practice of everyone and their dog rolling their own open source license for their project is extremely detrimental to the movement? We have the GPL, LGPL, BSD, MIT, X, and Apache licenses to name a few, and even these go through revisions. Then there are the people who make "GPL-compatible" (or so they assert) licenses, and things like that, further muddying the waters with regard to which code you can reuse where. It actually makes the headache of dual-licensing start to sound attractive.
Maybe, just maybe, a bunch of people with a lot more influence than I have could put aside their differences and egos and accept that there are a variety of rational views, and we should have a small set of standard licenses that is varied and general enough that just about everyone should be able to pick one and be almost completely satisfied.
Creative Commons got it right. Look at their list of licenses. It's not very long. I was actually considering publishing something under a creative commons license recently, and couldn't find any license that perfectly described what I wanted, but I found one that was close enough for practical purposes. I recall reading that Linus Torvalds used the GPL for Linux in deference to the GCC project, rather than an absolute devotion to the FSF's ideals. If accepting a "pretty good" license works for him, it ought to work for most of the rest of us.
Choice and uniformity both have value, but striking a balance between them requires either some organization or evolutionary dumb luck, which I don't think we should wait for. So, how about it, people?
I've TA'd a few 2nd-year CS courses, and I've noticed that even the most primitive CLI-proficient users are leaps and bounds ahead of the most advanced GUI-adept users when it comes to understanding the fundamentals of computation. CLI users are quite familiar with things like turing machines, because much of what they do behaves in a similar fashion. GUI users can't do anything without triggering events, dealing with multithreading, etc. It's so complicated they don't really know where to start when we make them build them themselves for the first few times. Our department has a few low-level classes that emphasis GUI-based programming, and a few that emphasize CLI-based programming. The students love the CLI, because, get this, it's a simpler and more intuitive way of doing things.
Granted, the average newbie and the average starting CS undergrad are a little different, but I've definitely witnessed the phenomenon at work.
I really like this idea, and I'd hope they could add a feature for remembering passwords too (though I know those exist already) but the use of a fingerprint worries me. Fingerprint scanners are easy enough to defeat as it is, and if it's only going to be one person using it again and again, it may get even easier. Hopefully they'll work out something to mitigate this before they bring it to market. In any event, this would certainly deter the casual wallet thief. Once I'm out of school and have a decently paying job, I imagine the convenience of ditching all my cards and having functionally limitless capacity for them might merit a $200 purchase.
I tried it with both the old-new $20 bills and the new-new bills. Nothing happened. Besides, they had these all in a stack, so if one got a hot-spot, they'd all go up in the same place. The microwave test proves nothing, though the RFID scanner test is intriguing.
Even if they had the authority to seize all the data, and it wouldn't surprise me if they in fact did not, they're MORONS for seizing everything. It's much easier to copy the data from on-site than to relocate everything and set it up, and THEN dump the data. It's also a lot less expensive. It also doesn't spread ill will among people who are helping your investigation.
After 9 days they've just barely started to get back up and running again. I guess the real moral of the story is to have an off-site co-lo contract you can activate in a heartbeat. Terabytes of backup restore would be a real pain though.
As I understand it, suing the government over things like this is nearly impossible. They still might be able to sue the agent on whose authority the seizure was conducted. Proving damage is trivial. I think if they can convince a jury that it was a case of gross negligence, the usual government protections don't apply. Any lawyers in the house?
They don't do that, except in cases of people believed to be dangerous, and then only for a very short period of time. That's the point. They went WAY too far in this case.
The 300W is more than just the CPU. There's a lot of other stuff that draws power in a computer, like the power supply, the memory, the disk, etc. The nice thing about underclocking is that power draw is proportional to the cube of the clock frequency (this becomes more of a quadratic relationship as you get away from the peak performance of the chip), so you get huge power savings from modest underclocking. You also get a better cpu/memory clock ratio, so the pain is still less.
You're right about the soccer field. I was on crack, and was thinking of a 70' x 110' soccer field, rather than 70m x 110m. I blame this on the united states failure to use SI despite officially adopting it a century and a half ago.
Yeah, the saddest part is, I play soccer myself. I was posting after not sleeping for a a very long time, and for some reason decided to make the meters-feet conversion, even though I was already thinking in terms of meters (70m x 110m). Thanks for the catch.
Given how long this will take to set up, battery power isn't a viable option. Still, using a laptop is a pretty good idea. If you compare a laptop drawing 65 watts to a desktop drawing 300 at full CPU utilization, with a knoppix CD spinning at full speed, plus monitor power, you see that they gain nearly an order of magnitude in energy efficiency, though this is probably offset a bit by the lower clock speed on the laptop processors.
Now, let's generously assume that each laptop is drawing half an amp at 110 volts. At 1200 laptops, that's 600 amps. The circuit breakers in my house trip at 15 amps, but I'll generously assume this facility has 50 amp wall circuits. That would still require 12 entire circuits, plus a safety factor, nevermind all my generous back-of-envelope assumptions.
Okay, so assuming they've got a lot of extension cords, now we just have to deal with space. Let's assume, again, generously, that each person + computer + associated infrastructure needs only one square meter of floor space. This makes the space requirement equivalent to a 30m x 40m area, or about two World Cup soccer fields. I hope they've got one hell of a big gym.
Heat is, by comparison, a relatively minor issue. If the facility can handle a crowd that large, adding their low-power laptops is minor. People tend to dissipate about 100 watts anyway, so the laptops won't be the most significant source of difficulty.
It sounds like a very daunting task they have ahead of them. I hope they've already gotten these problems figured out, because this project sounds really cool.
This is all just a scheme to get us to accuse them of securities fraud but be unable to prove it. We can expect them to start suing slashdot users for libel within 3 months.
Virtual memory spaces are specific to processes. The significance of the 4GB memory barrier is that while I can have a 64 GB RAM, 128 GB swap box running 48 processes that each use 4 GB, I can't have any one process that uses that much.
There are advantages to having a large virtual memory space even on a machine without so much RAM. I recall a recent benchmark that showed 64-bit binaries took a slight performance hit, except with applications like MySQL that address memory spaces far larger than the amount of memory they actually allocate, because it saves index lookups on large data sets.
I expect techniques like that will become more popular as 64-bit computers become more prevalent. We're not anywhere close to actually implementing memory systems that large. IIRC, the G5's MMU is only designed for 48-bit physical memory spaces. A 2^64-byte memory bank would have mass on the order of a kilogram times the number of atoms in each transistor, to say nothing of the power consumption.
This is typical software industry fare. Every major software company has hundreds of lame software patents, with the purpose of using them only if someone else brings a stupid suit. IBM dropped four patent infringement claims on SCO when SCO started that mess. They could probably find four patents in their database for any company in the industry.
This isn't a failure of the system. The system is working fine. It's the system itself that's the problem. Software patents are like nuclear weapons. Nobody likes their existence. Everyone has to have them.
A contract requires a "Meeting of the Minds" to be valid. (See Britney Spears's annulment filing) I imagine that most judges would take a look at the ToS and break down laughing. Then you default to Copyright Law. They're probably right that their enhancements of public domain photographs are not themselves public domain. Still, wow. Just, wow. </IANAL>
To be a programmer without ever learning assembly language is like being a professional race car driver without understanding how your carburetor works.
My corollary:
To program in assembly language is like driving in the Indy 500 in a car that doesn't have fuel injection.
Starting CS students in assembler isn't a new idea either. It's an old idea that some guy recycled, wrote a book about, and advertised on slashdot. Why are the old guys who started on assembler "wizards"? It's easy. Back then there weren't that many people doing it, and it was really hard. Anyone who stuck with it had to be really good.
Now for my own rant on the topic:
My first programming classes at the University of Virginia had me programming in VHDL and m68k assembler. This wasn't the intent of the curriculum or the CS faculty at all, but rather a result of some schedule conflicts and a first year advisor who wasn't in the CS department and didn't know any better. It was a disaster. Normally students here get their first taste of assembly in a course that works its way down to it from the high-level languages they'd been introduced to first. My pain with assembly distracted from the course material on architecture. I learned more about efficient programming during two lectures on C# than I did while banging my head against the desk writing m68k assembler.
Anyone who has benchmarked the C++ standard template library extensively will tell you that using the fairly complicated, safely implemented data structures are incredibly fast. Using an STL deque as an array, without any deque operations, is actually faster than using an array, which is the same in basically any machine-code language, be it C++ or assembly. The STL vector is even faster.
Moral of the story? Compilers are amazing. This has not always been the case, but it is now. Writing code in assembly results in a product that takes forever to create, is less likely to correctly handle special cases, is impossible to debug, is unreadable to those who did not write it, and often is slower than compiled high-level code. In fact, JIT compilers are getting good enough that bytecode languages are nearly as fast as well.
It's true that assembly can often be used to get a bit of a speedup. This is why game developers will often write everything in C or C++ except for 3 or 4 functions that they'll implement in assembly. The advantages that high-level languages give for correctness vastly outweigh any miniscule performance gains in almost all circumstances. Assembly's advantages in compactness are becoming moot too, as embedded devices are now capable enough to run full-fledged operating systems.
Aside from teaching architecture though, assembly does teach an important skill to CS majors though, and that is staying up all night to find a one-line bug that is making everything go wrong.
Assembly language programming has done wonders for teaching me algorithmic efficiency. Before I started writing code in assembly, I would always use random-pivot quicksort (with insertion sort on small base cases) to sort large data sets, but once I started using assembly I realized that bubblesort is much simpler and more elegant. I've been using bubblesort ever since. I can't say that programming in assembly has done anything for my knowledge of computer architecture, but it's definitely helped me write more efficient code.
...but I'm still going to need a free hand, so I'm not sure how useful this really is.
The implication that a lot of people are reading into this is that being in IT makes you unhappy. I am inclined to believe that IT work attracts masochists for whom unhappiness is a critical and defining aspect of their personality. It's not like any of us are actually shocked that there are users who open every single attachment, as much as we pretend to be while bitching about it. We're used to it, and we stick around, because we secretly know that however unhappy we are now, we'd be at least as unhappy doing anything else, and bored to boot.
Actually, we do have those types. They can either listen to us, or hire someone for their own department. Usually they end up hiring someone for their own department, putting them to work setting up, maintaining, and supporting departmental resources which become so valuable to them that they'd rather call us anyway for most simple things. Of course, the directors we're dealing with have PhDs, and a very keen sense of the cost and benefit of local knowledge, as opposed to MBAs, who have a philosophical objection to evaluating externalities to their own short-term detriment, regardless of the long-term benefit.
Basically, to make our scheme work, you have to ensure that the person on the other end of the phone lacks the authority to get you fired over your boss's objection. For better or worse, our IT department has taken on a lot of roles that many IT departments don't, so we're a large and powerful part of the bureaucracy ourself.
If you can get on their computer, then you can fix it. The last thing you ever want to do to a user's computer is fix it. You want *them* to fix it, thus giving them at least the slightest bit of clue, and encouraging them to think for a second whether or not they could figure out their next problem themselves, thus causing them to become even more clueful.
I work in-house tech support, so we don't have a "convince them it's their fault and they need to buy another one" approach, and we have a standing policy against such things as Windows Remote Access. In rare cases, we will ask people to bring a machine to the helpdesk, which stresses the exceptional nature of the service.
We also take extra time on the phone to explain why the problem happened, so they can avoid it in the future. The result of this is that we spend less time on the phone, because our users get smarter. We usually have an empty call queue with a few people on the phone. Oh, yeah, and we service a few tens of thousands of users.
The defining moment of this philosophy was when my boss actually encouraged me to wear my "No, I will not fix your computer." shirt to work. Tech support doesn't have to suck. It just ends up sucking when your metric of success is short call times.
Think about it, they're already neck-deep in shit if they don't win everything. Pissing off the feds isn't going to screw them over any more. The chance that they're taking is that the way government agencies deemed important enough to be allowed supercomputing clusters, adding on a charge for linux licenses won't bother anyone enough to raise a stink about it. They then get the credibility of a federal agency paying up to voice their threat with.
That said, I think they *will* get hammered in court, but that doesn't make their behavior irrational from where they stand right now. Proving criminal fraud would basically require audio tape of them saying "No, we don't own the code, but we can still extort them for lots of money." which is unlikely, so all they really have to lose here are attorney's fees.
...there's no compelling state interest in banning profanity. There's a compelling state interest in banning obscenity. There's a big difference between the two. Indecency is an element of obscenity, and is the reason why you can hear a lot of stuff after 10 p.m. that you can't hear before it. If the Golden Globe broadcast was violating that compromise, then maybe they'd be subject to fines for indecency, though certainly not for obscenity, given the way the word was used. If that was their justification, I'd grumble about uptight conservatives and move on, but they're not just screwing over one broadcast here, they're trying to establish an entirely new regulative domain that the courts have held time and time again that they have no authority to do. Of course, it'll take a couple years to work its way through the courts. Fun.
For those of you who don't know PHP, just wait a version or two. It already supports VB, C, C++, Javascript and Perl style coding. Version 5 is basically Java. Expect Intercal, Unlambda, and BrainF*** support by version 7 or 8. If you know a Turing-complete language, chances are you'll be able to use it to code PHP by the end of the decade.
Am I the only person who has noticed that the practice of everyone and their dog rolling their own open source license for their project is extremely detrimental to the movement? We have the GPL, LGPL, BSD, MIT, X, and Apache licenses to name a few, and even these go through revisions. Then there are the people who make "GPL-compatible" (or so they assert) licenses, and things like that, further muddying the waters with regard to which code you can reuse where. It actually makes the headache of dual-licensing start to sound attractive.
Maybe, just maybe, a bunch of people with a lot more influence than I have could put aside their differences and egos and accept that there are a variety of rational views, and we should have a small set of standard licenses that is varied and general enough that just about everyone should be able to pick one and be almost completely satisfied.
Creative Commons got it right. Look at their list of licenses. It's not very long. I was actually considering publishing something under a creative commons license recently, and couldn't find any license that perfectly described what I wanted, but I found one that was close enough for practical purposes. I recall reading that Linus Torvalds used the GPL for Linux in deference to the GCC project, rather than an absolute devotion to the FSF's ideals. If accepting a "pretty good" license works for him, it ought to work for most of the rest of us.
Choice and uniformity both have value, but striking a balance between them requires either some organization or evolutionary dumb luck, which I don't think we should wait for. So, how about it, people?
I've TA'd a few 2nd-year CS courses, and I've noticed that even the most primitive CLI-proficient users are leaps and bounds ahead of the most advanced GUI-adept users when it comes to understanding the fundamentals of computation. CLI users are quite familiar with things like turing machines, because much of what they do behaves in a similar fashion. GUI users can't do anything without triggering events, dealing with multithreading, etc. It's so complicated they don't really know where to start when we make them build them themselves for the first few times. Our department has a few low-level classes that emphasis GUI-based programming, and a few that emphasize CLI-based programming. The students love the CLI, because, get this, it's a simpler and more intuitive way of doing things.
Granted, the average newbie and the average starting CS undergrad are a little different, but I've definitely witnessed the phenomenon at work.
I really like this idea, and I'd hope they could add a feature for remembering passwords too (though I know those exist already) but the use of a fingerprint worries me. Fingerprint scanners are easy enough to defeat as it is, and if it's only going to be one person using it again and again, it may get even easier. Hopefully they'll work out something to mitigate this before they bring it to market. In any event, this would certainly deter the casual wallet thief. Once I'm out of school and have a decently paying job, I imagine the convenience of ditching all my cards and having functionally limitless capacity for them might merit a $200 purchase.
I tried it with both the old-new $20 bills and the new-new bills. Nothing happened. Besides, they had these all in a stack, so if one got a hot-spot, they'd all go up in the same place. The microwave test proves nothing, though the RFID scanner test is intriguing.
Even if they had the authority to seize all the data, and it wouldn't surprise me if they in fact did not, they're MORONS for seizing everything. It's much easier to copy the data from on-site than to relocate everything and set it up, and THEN dump the data. It's also a lot less expensive. It also doesn't spread ill will among people who are helping your investigation.
After 9 days they've just barely started to get back up and running again. I guess the real moral of the story is to have an off-site co-lo contract you can activate in a heartbeat. Terabytes of backup restore would be a real pain though.
As I understand it, suing the government over things like this is nearly impossible. They still might be able to sue the agent on whose authority the seizure was conducted. Proving damage is trivial. I think if they can convince a jury that it was a case of gross negligence, the usual government protections don't apply. Any lawyers in the house?
They don't do that, except in cases of people believed to be dangerous, and then only for a very short period of time. That's the point. They went WAY too far in this case.
The 300W is more than just the CPU. There's a lot of other stuff that draws power in a computer, like the power supply, the memory, the disk, etc. The nice thing about underclocking is that power draw is proportional to the cube of the clock frequency (this becomes more of a quadratic relationship as you get away from the peak performance of the chip), so you get huge power savings from modest underclocking. You also get a better cpu/memory clock ratio, so the pain is still less.
You're right about the soccer field. I was on crack, and was thinking of a 70' x 110' soccer field, rather than 70m x 110m. I blame this on the united states failure to use SI despite officially adopting it a century and a half ago.
Yeah, the saddest part is, I play soccer myself. I was posting after not sleeping for a a very long time, and for some reason decided to make the meters-feet conversion, even though I was already thinking in terms of meters (70m x 110m). Thanks for the catch.
Given how long this will take to set up, battery power isn't a viable option. Still, using a laptop is a pretty good idea. If you compare a laptop drawing 65 watts to a desktop drawing 300 at full CPU utilization, with a knoppix CD spinning at full speed, plus monitor power, you see that they gain nearly an order of magnitude in energy efficiency, though this is probably offset a bit by the lower clock speed on the laptop processors.
Now, let's generously assume that each laptop is drawing half an amp at 110 volts. At 1200 laptops, that's 600 amps. The circuit breakers in my house trip at 15 amps, but I'll generously assume this facility has 50 amp wall circuits. That would still require 12 entire circuits, plus a safety factor, nevermind all my generous back-of-envelope assumptions.
Okay, so assuming they've got a lot of extension cords, now we just have to deal with space. Let's assume, again, generously, that each person + computer + associated infrastructure needs only one square meter of floor space. This makes the space requirement equivalent to a 30m x 40m area, or about two World Cup soccer fields. I hope they've got one hell of a big gym.
Heat is, by comparison, a relatively minor issue. If the facility can handle a crowd that large, adding their low-power laptops is minor. People tend to dissipate about 100 watts anyway, so the laptops won't be the most significant source of difficulty.
It sounds like a very daunting task they have ahead of them. I hope they've already gotten these problems figured out, because this project sounds really cool.
This is all just a scheme to get us to accuse them of securities fraud but be unable to prove it. We can expect them to start suing slashdot users for libel within 3 months.
Virtual memory spaces are specific to processes. The significance of the 4GB memory barrier is that while I can have a 64 GB RAM, 128 GB swap box running 48 processes that each use 4 GB, I can't have any one process that uses that much.
There are advantages to having a large virtual memory space even on a machine without so much RAM. I recall a recent benchmark that showed 64-bit binaries took a slight performance hit, except with applications like MySQL that address memory spaces far larger than the amount of memory they actually allocate, because it saves index lookups on large data sets.
I expect techniques like that will become more popular as 64-bit computers become more prevalent. We're not anywhere close to actually implementing memory systems that large. IIRC, the G5's MMU is only designed for 48-bit physical memory spaces. A 2^64-byte memory bank would have mass on the order of a kilogram times the number of atoms in each transistor, to say nothing of the power consumption.
This is typical software industry fare. Every major software company has hundreds of lame software patents, with the purpose of using them only if someone else brings a stupid suit. IBM dropped four patent infringement claims on SCO when SCO started that mess. They could probably find four patents in their database for any company in the industry.
This isn't a failure of the system. The system is working fine. It's the system itself that's the problem. Software patents are like nuclear weapons. Nobody likes their existence. Everyone has to have them.
I read the journal entry, and I laughed very hard. Then I started to suspect the post was serious, and I started to cry.
A contract requires a "Meeting of the Minds" to be valid. (See Britney Spears's annulment filing) I imagine that most judges would take a look at the ToS and break down laughing. Then you default to Copyright Law. They're probably right that their enhancements of public domain photographs are not themselves public domain. Still, wow. Just, wow.
</IANAL>
From the description:
To be a programmer without ever learning assembly language is like being a professional race car driver without understanding how your carburetor works.
My corollary:
To program in assembly language is like driving in the Indy 500 in a car that doesn't have fuel injection.
Starting CS students in assembler isn't a new idea either. It's an old idea that some guy recycled, wrote a book about, and advertised on slashdot. Why are the old guys who started on assembler "wizards"? It's easy. Back then there weren't that many people doing it, and it was really hard. Anyone who stuck with it had to be really good.
Now for my own rant on the topic:
My first programming classes at the University of Virginia had me programming in VHDL and m68k assembler. This wasn't the intent of the curriculum or the CS faculty at all, but rather a result of some schedule conflicts and a first year advisor who wasn't in the CS department and didn't know any better. It was a disaster. Normally students here get their first taste of assembly in a course that works its way down to it from the high-level languages they'd been introduced to first. My pain with assembly distracted from the course material on architecture. I learned more about efficient programming during two lectures on C# than I did while banging my head against the desk writing m68k assembler.
Anyone who has benchmarked the C++ standard template library extensively will tell you that using the fairly complicated, safely implemented data structures are incredibly fast. Using an STL deque as an array, without any deque operations, is actually faster than using an array, which is the same in basically any machine-code language, be it C++ or assembly. The STL vector is even faster.
Moral of the story? Compilers are amazing. This has not always been the case, but it is now. Writing code in assembly results in a product that takes forever to create, is less likely to correctly handle special cases, is impossible to debug, is unreadable to those who did not write it, and often is slower than compiled high-level code. In fact, JIT compilers are getting good enough that bytecode languages are nearly as fast as well.
It's true that assembly can often be used to get a bit of a speedup. This is why game developers will often write everything in C or C++ except for 3 or 4 functions that they'll implement in assembly. The advantages that high-level languages give for correctness vastly outweigh any miniscule performance gains in almost all circumstances. Assembly's advantages in compactness are becoming moot too, as embedded devices are now capable enough to run full-fledged operating systems.
Aside from teaching architecture though, assembly does teach an important skill to CS majors though, and that is staying up all night to find a one-line bug that is making everything go wrong.
Assembly language programming has done wonders for teaching me algorithmic efficiency. Before I started writing code in assembly, I would always use random-pivot quicksort (with insertion sort on small base cases) to sort large data sets, but once I started using assembly I realized that bubblesort is much simpler and more elegant. I've been using bubblesort ever since. I can't say that programming in assembly has done anything for my knowledge of computer architecture, but it's definitely helped me write more efficient code.