A small part of Amazon is a computer company. The part that designs and sells their consumer electronic devices. But by in large, they are just a modern day catalog sales organization. They've made great use of computers to improve their efficiency and as a result are very competitive. But just about every company in the country uses computers to one extent or another. Hell, junk yards coordinate with each other on a big network to help each other sell used car parts. That doesn't make them computer companies.
A "computer company" is one which makes something computer related for sale (hardware or software) as it's primary business.
Using computers extensively to provide your primary service (in this case, ride sharing/taxi service) does not make you a "computer company". All it makes you is a company who uses computers. In the case of Uber, the computers have only replaced bulletin boards and/or dispatchers. It doesn't matter that the business model doesn't work anywhere as well without computers. Their business is not computers, it's coordinating ride sharing. Likewise, most of Amazon's business model is not much different than catalog sales. They just replaced the print catalogs and telephone operators with a website and have done a lot to automate their warehouses to be more competitive. That makes them more efficient but that part of the business is not a "computer company". Their side business with consumer electronics does begin to qualify that division as a "computer company" since the primary focus of that business is to make and sell computers.
So? That doesn't make them a computer company. Their product is not computers or software. Just about every company in this country owns and manages computers in support of their primary business.
I can see mentioning Amazon now that I think about it. They're a retail giant who dabbles in consumer electronics so they can very loosely be called a computer company, though that's not their primary source of income. Yet. But other companies who may use computers extensively wouldn't be considered "computer" companies. My hobby is working on cars and I go online for parts quite a bit. The websites at summitracing.com or rockauto.com are pretty extensive and probably maintained by an in-house team of developers. But there's no way you would call them computer companies.
In the age of "screw everybody to get another quarter point from the stock", the ones in charge will never pay the older developers what they are worth. It doesn't matter that the inexperienced developers will make the huge mistakes the older people could have warned them away from. It doesn't matter that the degradation in product quality will likely have long term negative effects on the company. All that matters is short term financial gain by the executive staff in this country.
First off, you have no idea what work I do on my desktop. Second, the processor, in and of itself, is only one small part of the equation. There's more to performance than how many FLOPS you can crank out. Third, it's people like you who just assume you know what other people are doing and what's "good enough" for them that is the whole problem. Thank you for proving my point.
Honestly, I use my desktop and laptop for vastly different tasks than my phone.
I use my phone only for basic communication. Email, texting, actually talking to people on the phone. I also have facebook, mostly for the messenger app since some of my friends seem to only be able to figure out how to use that instead of texting me directly. It's also my MP3 player since it's good at doing that. I have a few utilities on there like a calculator and a flashlight. And, of course, it has a pretty good camera so I use it to take snapshots.
Outside of Facebook, email, and playing MP3s while I'm working I do none of that on my desktop or laptop. When I'm at a "real computer" I do real work. I build software, I develop side projects, I write, I manage my website. Tasks that just don't work on a phone at all and are rather difficult on a tablet. Some of the things I build require some significant horsepower that you can't find in a mobile device.
Sure, if you're strictly a consumer, a "one-device-fits-all" approach may be appealing. And that's a non-trivial segment of the population. Quite a few people never do "real work" on a computer so they have no need to make use of a fully functional desktop. And a docking station that gives them a better monitor and keyboard at a desk may be all they need to do the few things that are cumbersome on the mobile device all by itself.
But don't make the mistake that just because you want something, everyone else should want it too.
And yes, that last statement applies to both sides of the argument. Saying "why doesn't everyone want X" is just as short sighted as "why would anyone want X". The fact is, different people want different things.
To the original point, I can understand why they are looking towards making your consumer electronic device be able to replace your full blown computer. It's something that some people find appealing. But there's still plenty of reason to keep real computers around because there are some of us who still need to do real work on real computers and we don't want to have to suffer through an over simplified touch-screen/mobile user interface because it gets in the way of us getting real work done. The best course going forward is for the OS developers to understand that and leave us with a choice of UI so that different people can use different systems for different things the way we want to use them.
The biggest issue with this convergence between phone and desktop is that the primary players are taking away our ability to choose the way we use computers and giving us the lowest common denominator UI that's really not suited to getting real work done.
A lot of the motivation for restrictions in avionics software center around what is considered safe.
For example, you have to put curly braces with every conditional and loop in order to avoid problems like the Apple "goto fail" bug. It's not a cure-all but rules like that help avoid bugs. There is also a heavy focus on determinism. That is, your code needs to be predictable in how it will execute. Take for example the STL vector class. Basic container class that everyone uses. But here's the thing. How long does it take for a push_back() call to complete? It depends. Have you filled up the currently allocated memory? If so, there's a huge delay while the class allocates more space and copies all of the data, including calling of the copy constructor and the destructor on every object. The bigger the vector is, the longer that takes. The more complex the constructor/destructor, the longer it takes. But in an avionics environment, you have to meet strict timing requirements. You can't have the flight controls freeze up while you wait for your push_back() to complete. That would be "bad". And what do you do if you're out of memory and the push_back() fails? Unhandled exceptions would cause a reboot of the whole system which, again, is "bad". Do you want to go through the hassle of doing a try/catch with every single use of the container? I don't. So the alternative is to limit the use of systems that are unpredictable. So basically the entire STL is off limits. At least the container classes. It makes some coding tasks harder in some cases but it does make them safer. And when it comes to the computers that keep the plane from making unintended contact with the ground, I'll go with the inconvenient but safe route
As an aside, these kinds of issues is what they tried to deal with when they designed the Ada language. Their intention was to build a language where the only option was the "safe" one. You have to explicitly do a great many things that you can do implicitly in C/C++. They take away a lot of rope to keep you from hanging yourself. The trouble is, it was designed by a committee and it's full of things that make it unpleasant to write code. Sure, you can get the job done. But it's more work. And like reflexively hitting OK on popup dialog boxes without thinking, a lot of that "more work" doesn't end up preventing people who are determined to do the wrong thing from going ahead and doing it. Then there was the Ariane-5 rocket explosion that proved people can make fatal mistakes regardless of the language involved and just because a piece of code worked on the previous generation of hardware, it's not guaranteed to work flawlessly when you drop it into new hardware. That being said, Ada isn't a terrible language. There's just no really good reason to pick it over any other.
Look at industries with huge legacy code bases that aren't going anywhere. I'm sure you could find a home in an insurance company maintaining their COBOL code that hasn't changed a whole lot in the last 30+ years and won't probably change much for the next 30+ years.
I actually like working in the aerospace field. I just don't like working on Ada because it has no future. Fortunately, Ada projects are becoming more and more rare.
Civilian aerospace vendors pretty much dropped every trace of Ada from new projects as soon as the FAA mandate was dropped back in the 90's. All new projects that I know of are in C and C++. There could be others that I don't know about. Same thing happened in the defense industry. Technical merits of the language aside, it's a lot harder to find people willing to work in Ada than it is to find C/C++ programmers, not to mention Ada development tools are harder to find and more expensive when you find them generally.
There's still a lot of Ada code out there because it's there and it works just fine for the task at hand so why bother changing it. They'll maintain it and even add significant expansions to it. But when it comes to new projects, more often than not they'll go with C/C++.
I've worked on a number of DoD projects that were coded in JOVIAL for the MIL-STD-1750A processor back in the 80's and they've all been translated over to C when the new hardware was commissioned to replace the 20 year old boxes they were running. I've been a technical lead on some of those conversion projects. There was never any question about whether to translate to Ada instead.
While C is a pretty loose language, civilian and aerospace jobs tend to work within a tight coding standard which is strictly enforced (more or less by project). They'll use standards like MISRA-C or something like that which put significant restrictions on the more risky constructs in C. Combine that with the exhaustive documentation and testing they have to do (no matter what language they use) and you end up with a product that's virtually bug free compared to a commercial product.
I'm not doing aerospace right now but I am designing software for satellite systems and the standards/documentation/testing environment is very similar to aerospace. I'm working in C++ on my current task. Well, a subset of C++ anyway.
They're taking a keyboard paradigm, which is inherently designed to be operated with two hands and they're trying to put it in a device that's attached to the wrist above one of your hands in a way that makes it impossible for you to use one of your two hands to operate it..
Trouble is, drudgery tends to dull your skills. Those who want to stay connected to the cutting edge won't be able to put up with drudgery for long. They will find themselves fighting against the inertia that comes with the drudgery, get fed up with the job, and leave to join something more cutting edge to begin with rather than stick it out for decades until retirement. If you're the kind who can put up with decades of drudgery, you will be so far from the cutting edge when you retire that you won't have any idea how to catch up with the cutting edge after being so far behind for so long.
The answer is a qualified yes—so long as the language or skill set in question is clearly on the rise.
Very much this. There is a reason why I, and many of my colleagues, leave Ada off our resume. I know more than one person who's stuck doing maintenance work on defense projects that haven't been cutting edge for more than 20 years because they hitched their wagon to obsolete languages.
The better companies are innovating and looking towards the future. Learning a new language that is on the rise is a good idea. Even if it doesn't pan out, the experience isn't always wasted. And you can demonstrate to future employers that you a good hire because you're good at learning new things in new environments.
Not just that. They look at it like everyone who illegally streamed the fight would have been a paying customer if they didn't stream it. In reality, if it weren't an option to stream it illegally they wouldn't have watched it at all. No real revenue was lost in that case but the executives can't figure that part out.
Thing is, every cable TV provider is trying to sell "value added" internet. They want you to use (i.e. subscribe to) their particular service instead of using a competitor (like Netflix). That's the whole reason for their fighting against being classified Title II. They want to restrict/block access to competitors so that you'll either pay more for their service or pay just to access competitors.
What I'd really love to see is for internet access to become a true utility. Break the connection part of the business from everything else and regulate it just like the electric or gas company. Set a rate schedule and minimum throughput for various tiers of service. The only thing they do is provide you a connection to the net and that's it. Then all content providers (the other side of the cable TV company as well as everyone else) would compete on a level playing field. Your connection to any of them is exactly the same. They would have to compete based on what content they provide and how much they charge.
Managing cell phone networks would be a fair bit more complicated since they already operate in each other's territory and there isn't the kind of monopoly that exists in local cable TV markets. That would require more thought than I'm prepared to give it right now. But certainly you would want to break the service providers apart from the content creators to ensure the providers don't discriminate against where the traffic is coming from.
But there's less profit in net neutrality and true competition which is why the various companies want to keep the status quo and they're fighting hard to protect their revenue streams.
You are right. It will be interesting to see how things work out in the next couple of years.
I'm willing to speculate that when you remove the people who have both CATV and internet and focus on people who have just one of those two services that there are more people with just internet than people with just CATV.
I'm not a fan of boxing so I didn't care to watch it. Nor do I have cable TV so I couldn't have watched it on PPV. But even if I was a big fan and I had cable TV, there's no way in hell I would have shelled out the $90 (+$10 for HD) they were charging for it. Not saying I would have streamed it illegally. But given the outrageous price they were charging, it's obvious why so many people did it. Ironically, had they charged a much more reasonable price, they number of people streaming it illegally would have been greatly reduced and they potentially could have walked away with more profit. Cut the price in half and I bet they would have more than doubled the number of people paying for it.
... the companies are actually willing to look beyond H1B visa holders and low wages. If they're not yet ready to pay what a real expert costs, they're not really in high demand.
All this ruling does is make them go back and file it in the appropriate venue. And while that's the right thing to do from a legal standpoint, it will have basically no bearing on the case when it is filed again in the appropriate location. This doesn't address the merits of the case (or lack thereof) in any way.
A small part of Amazon is a computer company. The part that designs and sells their consumer electronic devices. But by in large, they are just a modern day catalog sales organization. They've made great use of computers to improve their efficiency and as a result are very competitive. But just about every company in the country uses computers to one extent or another. Hell, junk yards coordinate with each other on a big network to help each other sell used car parts. That doesn't make them computer companies.
A "computer company" is one which makes something computer related for sale (hardware or software) as it's primary business.
Using computers extensively to provide your primary service (in this case, ride sharing/taxi service) does not make you a "computer company". All it makes you is a company who uses computers. In the case of Uber, the computers have only replaced bulletin boards and/or dispatchers. It doesn't matter that the business model doesn't work anywhere as well without computers. Their business is not computers, it's coordinating ride sharing. Likewise, most of Amazon's business model is not much different than catalog sales. They just replaced the print catalogs and telephone operators with a website and have done a lot to automate their warehouses to be more competitive. That makes them more efficient but that part of the business is not a "computer company". Their side business with consumer electronics does begin to qualify that division as a "computer company" since the primary focus of that business is to make and sell computers.
It sounds a lot like "we don't have incontrovertible direct proof but every shred of circumstantial evidence is in line with our assertion".
I bet they would meet the "preponderance of evidence" standard but not the "beyond a reasonable doubt" standard.
So? That doesn't make them a computer company. Their product is not computers or software. Just about every company in this country owns and manages computers in support of their primary business.
I can see mentioning Amazon now that I think about it. They're a retail giant who dabbles in consumer electronics so they can very loosely be called a computer company, though that's not their primary source of income. Yet. But other companies who may use computers extensively wouldn't be considered "computer" companies. My hobby is working on cars and I go online for parts quite a bit. The websites at summitracing.com or rockauto.com are pretty extensive and probably maintained by an in-house team of developers. But there's no way you would call them computer companies.
Uber is a computer company? Since when?
Since when are Amazon and Uber software companies?
You really think that a college class is the only thing that can make you aware of all the threats out there. I mean, you honestly believe that.
Interesting.
In the age of "screw everybody to get another quarter point from the stock", the ones in charge will never pay the older developers what they are worth. It doesn't matter that the inexperienced developers will make the huge mistakes the older people could have warned them away from. It doesn't matter that the degradation in product quality will likely have long term negative effects on the company. All that matters is short term financial gain by the executive staff in this country.
First off, you have no idea what work I do on my desktop. Second, the processor, in and of itself, is only one small part of the equation. There's more to performance than how many FLOPS you can crank out. Third, it's people like you who just assume you know what other people are doing and what's "good enough" for them that is the whole problem. Thank you for proving my point.
Honestly, I use my desktop and laptop for vastly different tasks than my phone.
I use my phone only for basic communication. Email, texting, actually talking to people on the phone. I also have facebook, mostly for the messenger app since some of my friends seem to only be able to figure out how to use that instead of texting me directly. It's also my MP3 player since it's good at doing that. I have a few utilities on there like a calculator and a flashlight. And, of course, it has a pretty good camera so I use it to take snapshots.
Outside of Facebook, email, and playing MP3s while I'm working I do none of that on my desktop or laptop. When I'm at a "real computer" I do real work. I build software, I develop side projects, I write, I manage my website. Tasks that just don't work on a phone at all and are rather difficult on a tablet. Some of the things I build require some significant horsepower that you can't find in a mobile device.
Sure, if you're strictly a consumer, a "one-device-fits-all" approach may be appealing. And that's a non-trivial segment of the population. Quite a few people never do "real work" on a computer so they have no need to make use of a fully functional desktop. And a docking station that gives them a better monitor and keyboard at a desk may be all they need to do the few things that are cumbersome on the mobile device all by itself.
But don't make the mistake that just because you want something, everyone else should want it too.
And yes, that last statement applies to both sides of the argument. Saying "why doesn't everyone want X" is just as short sighted as "why would anyone want X". The fact is, different people want different things.
To the original point, I can understand why they are looking towards making your consumer electronic device be able to replace your full blown computer. It's something that some people find appealing. But there's still plenty of reason to keep real computers around because there are some of us who still need to do real work on real computers and we don't want to have to suffer through an over simplified touch-screen/mobile user interface because it gets in the way of us getting real work done. The best course going forward is for the OS developers to understand that and leave us with a choice of UI so that different people can use different systems for different things the way we want to use them.
The biggest issue with this convergence between phone and desktop is that the primary players are taking away our ability to choose the way we use computers and giving us the lowest common denominator UI that's really not suited to getting real work done.
A lot of the motivation for restrictions in avionics software center around what is considered safe.
For example, you have to put curly braces with every conditional and loop in order to avoid problems like the Apple "goto fail" bug. It's not a cure-all but rules like that help avoid bugs. There is also a heavy focus on determinism. That is, your code needs to be predictable in how it will execute. Take for example the STL vector class. Basic container class that everyone uses. But here's the thing. How long does it take for a push_back() call to complete? It depends. Have you filled up the currently allocated memory? If so, there's a huge delay while the class allocates more space and copies all of the data, including calling of the copy constructor and the destructor on every object. The bigger the vector is, the longer that takes. The more complex the constructor/destructor, the longer it takes. But in an avionics environment, you have to meet strict timing requirements. You can't have the flight controls freeze up while you wait for your push_back() to complete. That would be "bad". And what do you do if you're out of memory and the push_back() fails? Unhandled exceptions would cause a reboot of the whole system which, again, is "bad". Do you want to go through the hassle of doing a try/catch with every single use of the container? I don't. So the alternative is to limit the use of systems that are unpredictable. So basically the entire STL is off limits. At least the container classes. It makes some coding tasks harder in some cases but it does make them safer. And when it comes to the computers that keep the plane from making unintended contact with the ground, I'll go with the inconvenient but safe route
As an aside, these kinds of issues is what they tried to deal with when they designed the Ada language. Their intention was to build a language where the only option was the "safe" one. You have to explicitly do a great many things that you can do implicitly in C/C++. They take away a lot of rope to keep you from hanging yourself. The trouble is, it was designed by a committee and it's full of things that make it unpleasant to write code. Sure, you can get the job done. But it's more work. And like reflexively hitting OK on popup dialog boxes without thinking, a lot of that "more work" doesn't end up preventing people who are determined to do the wrong thing from going ahead and doing it. Then there was the Ariane-5 rocket explosion that proved people can make fatal mistakes regardless of the language involved and just because a piece of code worked on the previous generation of hardware, it's not guaranteed to work flawlessly when you drop it into new hardware. That being said, Ada isn't a terrible language. There's just no really good reason to pick it over any other.
Look at industries with huge legacy code bases that aren't going anywhere. I'm sure you could find a home in an insurance company maintaining their COBOL code that hasn't changed a whole lot in the last 30+ years and won't probably change much for the next 30+ years.
I actually like working in the aerospace field. I just don't like working on Ada because it has no future. Fortunately, Ada projects are becoming more and more rare.
Civilian aerospace vendors pretty much dropped every trace of Ada from new projects as soon as the FAA mandate was dropped back in the 90's. All new projects that I know of are in C and C++. There could be others that I don't know about. Same thing happened in the defense industry. Technical merits of the language aside, it's a lot harder to find people willing to work in Ada than it is to find C/C++ programmers, not to mention Ada development tools are harder to find and more expensive when you find them generally.
There's still a lot of Ada code out there because it's there and it works just fine for the task at hand so why bother changing it. They'll maintain it and even add significant expansions to it. But when it comes to new projects, more often than not they'll go with C/C++.
I've worked on a number of DoD projects that were coded in JOVIAL for the MIL-STD-1750A processor back in the 80's and they've all been translated over to C when the new hardware was commissioned to replace the 20 year old boxes they were running. I've been a technical lead on some of those conversion projects. There was never any question about whether to translate to Ada instead.
While C is a pretty loose language, civilian and aerospace jobs tend to work within a tight coding standard which is strictly enforced (more or less by project). They'll use standards like MISRA-C or something like that which put significant restrictions on the more risky constructs in C. Combine that with the exhaustive documentation and testing they have to do (no matter what language they use) and you end up with a product that's virtually bug free compared to a commercial product.
I'm not doing aerospace right now but I am designing software for satellite systems and the standards/documentation/testing environment is very similar to aerospace. I'm working in C++ on my current task. Well, a subset of C++ anyway.
They're taking a keyboard paradigm, which is inherently designed to be operated with two hands and they're trying to put it in a device that's attached to the wrist above one of your hands in a way that makes it impossible for you to use one of your two hands to operate it..
Does anyone else besides me see the problem here?
Trouble is, drudgery tends to dull your skills. Those who want to stay connected to the cutting edge won't be able to put up with drudgery for long. They will find themselves fighting against the inertia that comes with the drudgery, get fed up with the job, and leave to join something more cutting edge to begin with rather than stick it out for decades until retirement. If you're the kind who can put up with decades of drudgery, you will be so far from the cutting edge when you retire that you won't have any idea how to catch up with the cutting edge after being so far behind for so long.
and you can take your pick of jabs and locations.
Yah, I could get one of dem dere jabs in Chicago. Den I could watch da Cubbies, da Bears and, of course, da Bulls. ;)
The answer is a qualified yes—so long as the language or skill set in question is clearly on the rise.
Very much this. There is a reason why I, and many of my colleagues, leave Ada off our resume. I know more than one person who's stuck doing maintenance work on defense projects that haven't been cutting edge for more than 20 years because they hitched their wagon to obsolete languages.
The better companies are innovating and looking towards the future. Learning a new language that is on the rise is a good idea. Even if it doesn't pan out, the experience isn't always wasted. And you can demonstrate to future employers that you a good hire because you're good at learning new things in new environments.
Not just that. They look at it like everyone who illegally streamed the fight would have been a paying customer if they didn't stream it. In reality, if it weren't an option to stream it illegally they wouldn't have watched it at all. No real revenue was lost in that case but the executives can't figure that part out.
Thing is, every cable TV provider is trying to sell "value added" internet. They want you to use (i.e. subscribe to) their particular service instead of using a competitor (like Netflix). That's the whole reason for their fighting against being classified Title II. They want to restrict/block access to competitors so that you'll either pay more for their service or pay just to access competitors.
What I'd really love to see is for internet access to become a true utility. Break the connection part of the business from everything else and regulate it just like the electric or gas company. Set a rate schedule and minimum throughput for various tiers of service. The only thing they do is provide you a connection to the net and that's it. Then all content providers (the other side of the cable TV company as well as everyone else) would compete on a level playing field. Your connection to any of them is exactly the same. They would have to compete based on what content they provide and how much they charge.
Managing cell phone networks would be a fair bit more complicated since they already operate in each other's territory and there isn't the kind of monopoly that exists in local cable TV markets. That would require more thought than I'm prepared to give it right now. But certainly you would want to break the service providers apart from the content creators to ensure the providers don't discriminate against where the traffic is coming from.
But there's less profit in net neutrality and true competition which is why the various companies want to keep the status quo and they're fighting hard to protect their revenue streams.
You are right. It will be interesting to see how things work out in the next couple of years.
I'm willing to speculate that when you remove the people who have both CATV and internet and focus on people who have just one of those two services that there are more people with just internet than people with just CATV.
I'm not a fan of boxing so I didn't care to watch it. Nor do I have cable TV so I couldn't have watched it on PPV. But even if I was a big fan and I had cable TV, there's no way in hell I would have shelled out the $90 (+$10 for HD) they were charging for it. Not saying I would have streamed it illegally. But given the outrageous price they were charging, it's obvious why so many people did it. Ironically, had they charged a much more reasonable price, they number of people streaming it illegally would have been greatly reduced and they potentially could have walked away with more profit. Cut the price in half and I bet they would have more than doubled the number of people paying for it.
..there is actual competition between cable companies. When you have a monopoly in an area, you have no incentive to treat your customers well.
... the companies are actually willing to look beyond H1B visa holders and low wages. If they're not yet ready to pay what a real expert costs, they're not really in high demand.
That's an interesting false dilemma logical fallacy.
All this ruling does is make them go back and file it in the appropriate venue. And while that's the right thing to do from a legal standpoint, it will have basically no bearing on the case when it is filed again in the appropriate location. This doesn't address the merits of the case (or lack thereof) in any way.