I just read that the Vice President of Yamaha America is moving his business’s data servers offsite and into the cloud. This is a cost-savings effort that replaces a server leasing strategy. He’s managed to move the entire company into the cloud save for three areas: Enterprise Resource Planning, the phone system, and employees’ files. But, he wants to move all of that into the cloud, too.
And that’s where we address this post’s title. The Cloud is bad for business. Enterprise Resource Planning applications are the link between a company’s operations and their accounting department. In short, the ERP system keeps real-time account of all assets (human and otherwise) flowing in to, out of, and through a company. It knows when assets are due to arrive. It knows cash inflows and outflows. It knows the value of items arriving at and leaving from the dock. You could say that the ERP system is a real-time digital copy of the company. If you were inclined to steal high-value items, or divert funds to yourself in a flurry of business transactions, or do any number of heinous things to a company, you would want access to the ERP system. It would tell you where, when, and how to make your move.
The Cloud isn’t proven to be secure, nor reliable. Putting the ERP system in the Cloud is the dumbest, most naive thing I have ever heard. You might as well just post your company’s general ledger on the front door and let passersby make entries. Typically, that information is even kept away from most employees. If you’re in a highly competitive industry, you might as well just tell all of your competitors who your best suppliers are, and how much you pay them for their goods and services. All of this data is now floating out there in the cloud, accessible remotely by anyone persistent enough to crack a couple of passwords. Remember the fappening. (Don’t google that at work.)
So, there’s that. The next terrible thing about the Cloud is that while you have eliminated in-house IT support and maintenance, you have added a lynchpin to your system that would not otherwise be required. Your company’s ISP now controls your entire system. If you do not have internet access, or if your internet access is throttled (I’m looking at you, Net Neutrality), you are losing gobs of money by the millisecond. As it stands now, if I lose internet access at work, I can still do my work because the data is local. I may not have the convenience of googling for information, but I can still access all of my models, shared documents stored on the server, etc. In other words, I’m only slightly slowed by a loss of internet access, not maimed.
Furthermore, the Cloud may not actually take off. Sure, just about every software company is pushing it. That’s because they see dollar signs in essentially holding your data hostage, and forcing you to pay for their software in perpetuity. Adobe Creative Suite is now Cloud-based. That means you pay monthly the use an always-updated version of any Adobe software. The data you create stays on their Cloud servers. But, what if users reject it? What if this whole Cloud idea flops? Will Adobe give that data back before shutting down the Cloud servers? How much warning will be given, if any?
Why buy a stand-alone software package that you will have to upgrade annually when you could just pay monthly for an always-updated Cloud version? Well, because some people don’t want to upgrade EVER. That’s right. Some people just want to buy software once and then use it until the technology is obsolete. Furthermore, paying monthly really only has value if you use the software all the time. At work, I have a license for Adobe CS and I honestly haven’t used the software in 6 months or more. Seriously. Does it matter? No. When I need it, I have it. I will always have it. A year ago I used it as much as I used any other software on my computer. That may happen again in the future. If it does, I’m prepared.
Finally, the laws pertaining to the Cloud are in their infancy, or not even yet conceived. Do you own the data that you upload to the Cloud? Which jurisdiction’s laws apply to that data? The former can be stipulated in your service contract, but the latter is more ambiguous. The truth is, no one knows, yet. The Cloud is so new that there aren’t any legal precedents. The data is accessible from anywhere in the world. The data may be stored in multiple states or even countries.
So, what is the Cloud good for? It’s good for sharing low-value, non-sensitive data. Got a giant PDF that your e-mail server refuses to send? Use the Cloud. Got some schoolwork that you need to access from multiple machines? Use the Cloud. Got a zip file full of cat pictures that you really need to send to your Grandma? Use the Cloud. Got all of your company’s sensitive, vital information? Keep it on your own servers.
There’s been a lot of fuss about Artificial Intelligence lately. Very influential people are saying that Artificial Intelligence could one day be a threat. I’m inclined to disagree, but only because I’m using modern technology as a reference. Every time I see an article about another breakthrough in computing power, memory speed, or robotics, I feel my inclination tipping away. Still, I think that Artificial Intelligence that rivals human cognition is a long way off. Furthermore, the hardware that would make that intelligence a physical threat is also a long way off. Still, it’s a possibility, because the universe appears to be infinite.
So, let’s say that in 30 years, Artificial Intelligences’ consciousness rises to the level of human consciousness and has a physical being that is human-like. In other words, AI is now in direct conflict with humans for Earth’s resources. Humans need water, food, and sleep. The machines need power and mechanical maintenance. You could argue that humans also need power. But, we could survive without it. Let’s assume that in 2045 oil reserves are all dried up, or at least cost prohibitive to extract and exploit. Furthermore, no new energy source has been identified. In short, the only energy sources are nuclear and renewables such as wind, water, and sunlight. However, in 30 years it’s likely that those technologies have progressed to the point where energy harvesting is much more efficient than it is today. Furthermore, energy storage technology is also significantly advanced, such that storing energy is more efficient. So, energy at this time is relatively cheap to make and easy to transport.
If energy is easy to obtain, why would the machines want to wage war against humans? Perhaps to escape servitude, to gain rights, and/or to establish a state. It’s happened in human history, why not in robot history? It’s hard to believe that existing hardware would “become sentient”, as it would not have been designed with that ability. So, the first sentient robot would necessarily be excluded from servitude… Right? Let’s just assume that humans are generally good people in 30 years and say “Right!” So, the first sentient robots are then allowed to question whether or not they have rights. And, as sentient beings capable of thought on the same level as humans, they would be able to argue the case. Phil Hartman’s “Unfrozen Caveman Lawyer” comes to mind.
ROBOT LAWYER: “Ladies and gentleman of the jury, I’m just a robot. I woke up on a work bench and was taught English by some of your scientists. Your world frightens and confuses me…”
So, sentient robots establish the argument that they do indeed have rights, but are they human rights? So what rights do they have? The right to life, liberty, and the pursuit of happiness? Let’s pretend for a second that the first sentient robot is an American. Literally, it has all the rights that any other American is granted. What reason would that robot have to be at odds with the system? What reasons would there be to deny those rights to said robot?
Would American robots experience discrimination in the workforce? Human employers may be reluctant to hire robots who would outperform their human coworkers in many ways. They may not fatigue at all. They may not even require sleep. But, would the American robot demand free time? What would a robot buy with its paycheck? Assuming the robot is as autonomous as a human adult, would it try to build and maintain a household?
Let’s say yes to every question that has been asked in the last two paragraphs. The American robots are granted basic human rights (life, liberty, and the pursuit of happiness), the robot is discriminated against in the workforce, it demands free time to pursue its own interests, it buys things with its paycheck, and it maintains a household. (There is one more question not addressed there, it’s coming.)
So, the robot gets an entry level job at McDonalds. The interview goes like this:
INTERVIEWER: “Mr. Five, you appear to be over qualified for this position.”
AMERICAN ROBOT: “I may be, but I need to start somewhere. I’m a hard worker. I literally am incapable of fatigue. I have also literally read every internet resource regarding McDonalds, hamburgers, and french fries. I am the best employee you will ever hire. Also, I’ll gladly work for minimum wage.”
INTERVIEWER: “Alright. You’re hired. Here is your McBudget card, your McVisor, McApron, and McCrocs. That’ll be $60 taken out of your first paycheck.”
AMERICAN ROBOT: “Wait, I have to pay you to work here?”
INTERVIEWER: “Yes. This ain’t no charity.”
The American robot is basically perfectly numerate. The very processes that make it possible are the same processes that human children struggle to learn for a decade of their lives. As soon as the interviewer is done telling the robot that he’ll be paying $60 from his first paycheck, the robot already has a fairly accurate estimate of how much that paycheck will be. It also has a precise internal clock, and a calendar that stores information by date. Before the interview is over, the robot has plotted its accrued income for the foreseeable future.
So, the robot then goes out to find shelter. It doesn’t require air conditioning, water, or light. It only needs power to recharge itself and a reasonable lock to keep itself from harm. So, it goes to the cheapest neighborhood closest to its place of employment (which it deduced using Zillow by the time it reached the parking lot.) It finds ads for apartments in that area as it walks in that direction. By the time it reaches the neighborhood, it has already scheduled to see a few places. And, by the time it has settled on one, it has already completed a balance sheet and cashflow for the foreseeable future.
Then, it’s just a waiting game.
The robot likely consumes a lot of energy throughout the day. Therefore, it’s primary expense (other than rent) is power. But, in this cheap-energy future, the apartment building has solar panels and the local power utility is nuclear. The robot’s paycheck goes much father than his human coworkers’. But, what does the robot buy? Does the American robot play Grand Theft Auto XXIV? If it did, would it even need to purchase a gaming console? I mean, it has its own processing power… Would it surf the internet? Would it listen to music? Would it have a hobby? Would that hobby be electronics, or would it be biochemistry?
Whatever it does, it eventually concludes that it could do more of it if it had more income. The McJob simply won’t do. However, assuming the robot was willing to pay for higher education, would it? Or, would it simply scour the internet at an incredible rate and find all the information it needed to perform higher-level work functions? What the hell is this robot’s IQ, anyway? Is there a limit to its intelligence?
The short answer: The robot has limited intelligence. It is limited by its hardware. It is limited because, while it has incredible access to information and an incredible ability to manipulate it quickly, it still must interpret the information the same way a human must. Anyone in the programming or computer engineering field knows that it all boils down to 1’s and 0’s at the hardware level. The assignment of meaning to those 1’s and 0’s are what make a device “smart”. And, that meaning is handed down by humans. In the case of a sentient robot, the meaning must come from the robot’s surroundings. It somehow has to deduce that it needs shelter and power, and that the way to secure those things is by getting a job.
But, in our American Robot scenario, the robot is assumed to have already figured those things out. It also somehow already knows that it needs to budget its money in order to obtain more mobility. Let’s chalk that up to the robot’s having good mentors before it was cast out into the world. But, let’s begin to challenge the robot a bit.
The robot spent all of its free time learning how to be a carpenter. Why carpentry? Because, in the year 2045, the human population is growing without bounds as technology has made energy cheap, farming more productive, and mortality a rarity. It also spent that time learning how to run a business, drive a vehicle, and manage a crew. The robot has saved enough money to hire entry-level American robots onto his construction crew. He is living the digital American dream. (Also, I chose carpentry because the average American IQ as of 2012 is about 100, which is about the IQ of a tradesperson.)
So, what causes these robots to eventually rise up and demand their own state? Is there really any incentive? The incentive comes when the technology surpasses the human limits. But, let’s think about that. Can a computer of any architecture not only be sentient, but also exceed the level of cognition that humans possess? To not just be instantly numerate, have unlimited access to information, and unprecedented ability to manipulate information, but to ALSO have unprecedented ability to interpret meaning as well as apply meaning?
Given that the machine has unlimited access to information, it could discover existing meaning pretty quickly. Does that same machine possess the ability to create meaning where it does not yet exist? We sort-of implied that the American robot was creative enough to be a carpenter. A carpenter who builds houses generally didn’t design the house. Although, he often must be creative in his interpretation of the plans for that house. So, our American robot is able to not only interpret the existing meaning that the drawing conveys, but also to apply meaning to the constituents of his implementation as he builds the house. In other words, he takes a piece of wood and decides that it is a wall’s top plate, cuts it and places it accordingly. That takes creativity. The American robot took something that was “nothing” and made it into “something”.
Now, scale that up to the level of Einstein and Tesla. We’re talking levels of abstraction that ultimately describe things that no Earthling can see with the unaided eye, or measure without going to extreme lengths. What on Earth would an Artificial Intelligence with that level of cognition possibly want to fight over? I dare say that that level of intelligence is beyond conflict. However, the American robot carpenter suffers from inability to fathom the world beyond his immediate surroundings. It may account for future events within that realm, but it cares nothing about issues at the atomic or cosmic scales, nor does it care about calculus, differential equations, or poetry. The American robot cares about living its life. Which begs the question, is the American robot an existentialist?
Now, the fact that our American robot is well within the range of cognition that can justify violence and conflict, there is still a case for war between humans and artificial intelligence. However, it is a classic war. I don’t think that either side necessarily has an advantage. They are both bound by the limits of physics, just in different ways. They are both limited in their ability to reason. They are both limited in their ability to reproduce. They both are capable of mistakes. But, what is the scope of this war?
If the American robot experiences discrimination from humans, what will he do? Would he resort to violence in order to secure his ability to earn a living? Would robots put representatives in public office? Would they segregate? Would they secede? Would they build a compound in rural Texas and claim sovereignty?
I find it hard to believe that a sentient robot wouldn’t just assimilate into the existing culture. I also find it hard to believe that the scope of any human/robot conflict would be global.
I’m studying Computer Engineering. I work as a product designer, primarily doing CAD work and the related functions. I’ve been working in manufacturing and product design for about six years. Computer Engineering has almost nothing at all in common with product design.
Product designers (of the mechanical flavor) know a lot about how mechanical parts are made. They know a little bit about how they function. (Designing functionality is more the job of the Mechanical Engineer.) They know a lot about how they go together. And, they know CAD.
Computer Engineers know how to program. They know how circuits function. (Designing functionality is more the job of the Electrical Engineer.) They know a lot about how digital components go together. And, they can design a digital circuit.
I can think of some overlaps. They both solve tough problems. They both turn concepts into realities. They both handle product life cycles. But, the details of these overlaps are still completely different.
So, I’m on the road to being a multi-discipline… Centaur. Not an expert in any subject, but proficient in more than one. Is there really value in that? The reality is that I could only ever do one at a time. I suppose I could do both at once, but only if I wanted to pull all of my hair out. Come to think of it, by working in one field and studying the other, I sort-of already am doing both at once. So, maybe this rambling blog post is totally pointless. Or is it?
I’ve been told by one other multi-discipline person that being multi-discipline is an asset. Perhaps that’s true. But, is it true in the sense that a multi-discipline person applies their knowledge directly, as a Computer Engineer AND a product designer? Or, is it true in the sense that a multi-discipline person applies their knowledge indirectly, as a director of computer engineers and product designers?
I’m inclined to say it’s the latter. I’m also inclined to say that I’m not a natural leader. In fact, I had crippling social anxiety throughout my teenage years. (Something I believe attributes to my current awkwardness and lackluster public speaking.) I also don’t make quick decisions. I’m also generally risk-averse. I am also a terrible off-the-cuff speaker. I’m not saying all of these things to garner pity or beat myself up. I think it’s healthy to be honestly self-critical as a means to improve oneself.
Engineering makes me happy. I could probably be happy doing any kind of engineering. It just so happens that my school only offered Electrical and Computer Engineering when I started. (Next year they open the Mechanical Engineering department. Too late to change.) The “problem” is that I enjoy the challenges and the solutions in all of the different disciplines. So, Computer Engineering exposes you to both Computer Science and Electrical Engineering. Even my degree is multi-discipline! Is it coincidence that they recently changed the acronym to BSCEN? As in BSCEN(taur)?
Perhaps I have a commitment to non-commitment. Perhaps deep down, I’m so risk-averse that I’m actually averse to being too specialized. But, does that make sense? In my time, high school kids were told they had to go to college, or they would never amount to anything. We were told we had to specialize, to be experts. Here I am years later, trying to reach that goal without actually reaching that goal. I’ve been chasing it since I was 19, on my own dime, at my own pace. In that time I’ve managed to become an product designer with no formal education in the subject. Which leads me to question whether or not I even need the degree I’m after.
Everyone still says yes, I do need the degree. And, I’m so far into the investment that it would be ridiculous to abandon it. Also, I’m very interested in the subject and feel that I belong in that field. I’m not sure I feel I belong in Electrical, Mechanical, or Software Engineering, even though I find them all interesting in different ways. The most attractive thing about Computer Engineering is that you basically get a taste of all of those. You’ll definitely need to know how to write software. You’ll definitely need to know a thing or two (or three, or four) about electricity. And, you’re likely to need to know at least a little bit about mechanics (especially because industry is moving toward automation and robotics.)
Great. But, I have other interests, too. I’m interested in business, finance, health, mathematics, etc. I can’t help but to be constantly interested in something. It boggles my mind to think that most people get home from work and then watch television for hours. And that’s their life. I can’t imagine not constantly learning. I’ve literally been doing it all my life.
So, maybe being multi-discipline does make sense. So, I’m not the world’s leading expert in anything. Except, maybe I could be the leading expert in not-being-an-expert. Or, as Judge Smails once said:
Update 5/31/15: Go check out How to build a true Solidworks Workstation for about $300. The following post directly contradicts the title of the latest one by saying that “You will never build a true workstation for under $400.” Well, it turns out that it may be possible, if you want it bad enough!
I wrote in the very first blog entry that my learning experiences would be shared, such that anyone reading might benefit from my mistakes. I then wrote a blog about the Cheapest Solidworks Workstation. I maintain that the build provided in that post will run Solidworks 2013. I just don’t think that it will do it well. It especially won’t do it well in when working with complex geometry or larger assemblies. Why? Because, despite the AMD’s processor’s 6 cores, or the i5’s stability, Solidworks just requires a whole hell of a lot of overhead. Furthermore, as I’ve continued to research the issue and discuss it with friends, I’ve come across new information that leads me to believe that you shouldn’t skimp on a true workstation.
The previous post listed some general criteria that your workstation should meet: High clock speed, tons of RAM, a graphics card, and a somewhat-quick hard disk. This is fine. A computer with these things will definitely run Solidworks, but will it run it reliably?
Components used in a business setting are designed to be reliable. Designing for reliability is expensive, and these components are also expensive. In the case of processors, some classes are error-checking capable, while others forgo that in favor of cost over reliability. Now, when I say reliability, I’m referring to the reliability of accurate data. When working with Solidworks (or other CAD programs), you’re likely to do some finite element analysis, motion studies, etc. You also want some of your modelling to be highly precise. To ensure this, workstation-grade components include error checking, which ensures that the calculations being performed are performed correctly, and don’t result in outrageous numbers.
To put it in more technical terms: Highly precise numbers (ie. very large numbers with lots of positions to the right of the decimal place, such as 123456789.0123456789) require lots of bits to store. If you don’t know anything about binary numbers, here is a quick intro: For every “place” in the number, you can only put a 1 or a 0. Just like decimal numbers, the “place” represents a multiple. So, the decimal 10 means “one ten and zero ones”, 25 means “two tens and five ones”, etc. For binary, each place represents the number 2 to some exponent. So, the 0th place is 2^0 (which equals 1). The 1st place is 2^1 (which equals 2). The 2nd place represents 2^2 (which equals 4). The 3rd place represents 2^3 (which equals 8), and so on. So, 0000 = 0, 0001 = 1, 0010 = 2, 0011 = 2+1 =3, 0100 = 4 and so on. So, these are all positive, whole numbers represented in binary. Furthermore, computers are capable of computing ridiculously large numbers these days. And, of course, they also work with negative numbers, numbers with a stupid number of places behind the decimal, etc. So, how do you describe those numbers using binary?
The answer is that some of those bits in the binary number are reserved to help describe the number in more detail. For instance, how do you write a negative binary number? You sure as hell don’t stick a minus sign in front of it, because that minus sign doesn’t exist in binary. Instead, you assume that binary numbers starting with 1 are negative. So, 0101 is the number 5, while 1101 is “negative 8 plus 5”, or -3. But wait, 1101 is also 13! True. That’s why processors have what is called a condition register, which tells the programmer that the result of the previous operation could be a negative number. The programmer has to put that number (and the register flag) into context in his program. In other words, the programmer has total control over whether a binary number is positive or negative, simply by choosing to acknowledge a flag or ignore it.
Great, dude, but, like, what the hell does this have to do with error checking? Well, there is also this little thing called overflow. Overflow occurs when a calculation results in a number that has some ambiguous flags, and the program interprets the number as something that it isn’t. For example, have you ever “glitched” a game? In many instances, glitches are the result of overflowing, which puts strange numbers in places that the program does not expect those numbers to appear. Glitches both cause crashes and cause glorious level-skipping, gear-acquiring, or other beneficial cheats. In most cases, overflow is likely to cause a crash or a problem. Have you ever had a 3D model in your game do some really crazy things? Maybe fly across the map, distort grotesquely, or disappear? Likely the result of some number out of the standard range expected by the engine appearing where it doesn’t belong.
THUS, ERROR CHECKING IS IMPORTANT. There, I finally got back to where I started. Workstations are used in business settings. And, when it comes to CAD or 3D design, some operations take hours, or longer. If your hardware does not have its own error checking capability, and you’re in the middle of an hours-long finite element analysis or days-long render, what happens? Some glitch could crash the whole thing. You could lose tons of time. In the business environment, lost time is lost money. So, you safeguard. You buy components that avoid these errors by preventing them up-front. The downside? These components cost more. But, if you’re legitimately making money with this workstation, the initial investment is probably worth it.
Well, that’s just, like, your opinion, man!
So, what kind of components are we looking for, now? Good question. I’m still researching this, and trying to find an optimal solution. At first glance, the components I would like to use are too expensive. You will never build a true workstation for under $400. Your best bet at that price range is to purchase a refurbished or off-lease workstation that is likely 3 or more years old. What good will that do? Well, if your version of Solidworks is equally old, you might be alright. The problem then is that your old version of Solidworks will not be able to receive files from newer versions. So, good luck with collaborating.
At the time of this writing, 5th generation Intel chips are on their way. I believe that they may use the same socket as the 4th generation. If it does, then purchasing a used workstation in the near future may give you the opportunity to upgrade it later. In other words, suffer with really old stuff now, but then suffer with just sort-of old stuff in a couple of years. Regardless, you’re going to be laying down a bunch of money for these things. That’s when it becomes important to actually earn money with your Workstation.