86 karma · joined February 21, 2015
On the contrary, there were a handful of areas where humans had already begun to exploit motion and force outside of human muscle to carry out work. One long-time example is using horses, mules, and other animals to provide force for transporting goods over distances. Even humans were payloads transported upon animal backs. Another key advancement for humans was using water and wind to transport large amounts of goods from one place to another. Sailboats allowed for transporting of goods a very long distance. In today's age we may take self-driving transport for granted, but once upon a time humans actually had to transport goods by hand and foot.
Why the industrial revolution was a powerful next step in exploiting nature is because it allowed not only transport of goods, but also finer, more complex tasks to be carried out without requiring human muscle. Now sewing, grinding, cutting, molding, bending, digging, and drilling could be done by machine in large quantities with good reproducibility.
Hence, first humans exploited nature (and other animals) for transporting goods. Then humans began exploiting oil, coal, and electricity for carrying out more complex physical tasks that require large amounts of force. As machines grew finer, they were able to manufacture smaller, more precise goods.
The next stage was to allow humans to carry out not only large scale physical tasks without continuous human effort, but also to carry out intellectual tasks in mass without continuous human effort. This is where computers come in. They exploit nature to get information processed quickly and reliably.
At least a few areas remain where humans are doing the heavy lifting. One is reproduction. Humans are still required to take care of new humans while they are brought from incapacity to self sufficiency. This is still a difficult, time-consuming task, especially if the goal is having quality output. Another area where humans still do heavy lifting is learning. Unfortunately learning has not become much more efficient or quicker than it was in the past. Humans are very slow at learning, and a massive human effort is generally involved.
It would also be useful if the search engine could verify statements made on pages and give an accuracy/honesty score for each result. This is particularly important when the author of a page has a serious conflict of interest. Perhaps the search engine could tell you what that conflict is -- to help protect you from deceptive or incomplete information.
One way is to make sure you (a) provide real value and (b) know how to convey that knowledge effectively in tense situations. If you're not sure you provide real value, then BS talk may be your only hope. Even if you know you provide value, you need to be able to convince others of this or else you may be in trouble.
Perhaps the biggest problem with common understanding on the topic of value is that people fail to distinguish not only how much value an entity produces but also what type of value an entity produces (or doesn't produce). If I buy a bank repo house for $50k and sell it for $250k after doing essentially nothing but posting some pictures and descriptions of the place Online, then the only value I actually created is in the pictures, descriptions, and paperwork that I did. Say I spent 30 hours doing all these tasks. Then say the average person would agree that a fair pay rate for this type of work (papers, pictures, descriptions, and some phone calls) is $50/hour. The real value that I would have created would thus be 30x50, or $1500. Yet the sale of this property would net me at least $180k, after any expenses. Note the difference between value created (<$2k) and net gain ($180k).
The problem here is the discrepancy between value created and money "earned". It seems that a large portion of society is okay with this discrepancy. For example, many people see nothing wrong with gambling or Lottery, despite both involving accumulation and distribution of money without any value being created. Until the majority of society agrees that people shouldn't be paid more than the value they personally create, we can expect extreme income inequality to exist and persist. If ever society can change its mind on this matter, we might expect the following:
1. There is an income cap, based on the realistic maximum amount of value that a human can create. The actual value is based on scientific investigation into the amount of value (not money, but actual value to society) created by the smartest and most skilled humans. The cap would be somewhere in the ball park of this maximum value (perhaps a little higher, just for good measure). For example, I am willing to bet that a human is not capable of creating more than 100x that of the average (median) human in terms of real value. Every time we look at a scientific advancement of the past, we see that although person X came up with the idea first (and hence usually got all the credit for it), there were a bunch of other people working on the same idea, many of which only a handful of years behind X. Not only that, but the person usually was in the right place and right time, with the right connections, to achieve what he or she did. If you took random other persons and put them into that exact same situation, many would have accomplished a similar feat. Certain discoveries were meant to happen around certain times.
2. All now known and future known types of exploitation are prohibited. Any accumulation of wealth where the person gaining the wealth is not producing significant real value is outlawed. Such accumulation of wealth is deemed to be in the same category as counterfeiting since it funnels money from the actual producers to someone else. Examples such as the real-estate investor described above would be eliminated by government programs whose purpose is to deal with such situations as bank repo properties in a responsible and production-centric manner.
3. There are well-funded government programs whose purpose is to facilitate relocation of individuals currently working in non-productive positions into positions that make a positive difference for society. These programs are optional for these individuals, but nevertheless any non-productive positions are phased out of society.
4. Inheritance is capped at half of one lifetime's worth of median income (based on society in general). Hence, if the average person makes $6M in his or her lifetime, then $3M would be the maximum allowed by anyone to be passed on to any heirs. Remember: The goal is to promote productive individuals, so we cannot have people born into a life that doesn't require being productive.
I'm sure a bunch more changes would be needed for the best result, but the above may serve as food for thought.
If in society it were made clear that copying everyone else's designs and market research were okay and to be sought when possible, then there would be little wrong with an open-source project copying the designs of a proprietary project. On the other hand, if a proprietary project is not allowed, in practice, to copy the designs of its competitors due to fears of legal problems or public backlash, then it would be unethical for an open-source project to copy other projects' designs since that would give the open-source project an unfair advantage.
At the same time, there is still an element of exploitation if in practice the only ones investing significantly in market research and R&D are the proprietary firms. After all, any time someone is reaping the benefits of someone else's work without giving back equally in one form or another, there is a type of exploitation going on.
Now, we should avoid thinking in black-and-white. We should avoid saying x is ethical while y is unethical. In the real system that is society, there are many variables involved, and these variables are floating point. You would need to plug all the values into the formula of ethics to really see the relative balance of ethics followed by any given project or company at a given time.
I can tell you from my own experience with (embedded software/hardware) R&D that coming up with a fully functional, reliable product in terms of design and approach is a very costly operation. Simply measuring and cloning someone else's product is worlds easier than designing it in the first place. After all, the people doing the R&D are filtering out all the bad ideas for you -- and most ideas are bad ideas, often for reasons not clear from the start.
Like I said, however, one of the most important factors to consider is whether everyone is playing by the same rules. Doing things your competitors are not allowed to do without getting into trouble is cheating. And cheating is unethical -- despite the inner animal in us thinking there's nothing wrong with cheating as long as we're the one benefiting. Remember: The question is not whether you can do it, but whether it's ethical. These are not the same thing.
It should also be pointed out that there are two different directions here. Is an "enemy" someone you would harm, is an enemy someone who would harm you, or must the desire go in both directions? Moreover, in what tense does the problem take place? Perhaps someone harmed you in the past but is no longer trying to harm you. Is that still an enemy? What about someone who is conspiring to harm you, but you don't yet know about the danger. Is that an enemy yet? Another detail to consider is whether a mere competitor, for example an opposing sports team, is an "enemy". The case of intense dislike also possesses some of these specifics.
Edit: Another very important consideration is those who, while not actually trying to harm you, do so indirectly by exploiting you or otherwise trying to control you for their benefit. For example, is a slave owner the enemy of his slaves? If so, then anyone trying to use you without proper concern for your well-being could be considered an enemy.
Not to mention multiple versions of stored procedures having slightly different names because they have slightly different sets of parameters -- rather than having default values on the parameters.
For generic Programmers, see here: http://www.bls.gov/oes/current/oes151131.htm
TL;DR: Programmers = ($44k to $128k); App Devs = ($56k to $149k);
PS: Sorry about not answering the actual question, but I thought this would provide some background to the discussion.
Unless the issue is solely anxiety-based, exercise would in most cases help a considerable amount. Especially for smaller medical concerns (not sleeping well, aches, mild anxiety), doctors usually cannot really help. Medical intervention generally does not make sense until something is really wrong, and a proper exercise habit is a very good way to help prevent many types of conditions. Before I had experience with doctors, I thought they would be able to solve any medical problems, but I learned the hard way that with many problems they often cannot help a significant amount, if at all. Medicine is still a very crude science. Plus, it would be a folly to think a doctor cares as much about your health as you do. If you care about yourself, you need to do your part with diet and exercise.
This could happen, but I would think some of the cram-all-you-can hosting providers would not want to "waste" CPU power like that. SSL takes slightly more CPU to serve. My guess is the better half will probably do it, at least until browsers start complaining when a site fails to use SSL.
This is true. It probably took me somewhere around 20 hours to get everything streamlined with Let's Encrypt (I started before public beta, so the available software was buggy, convoluted, and not well documented). Just like with open-source operating systems, the advantage is not in the initial setup but in how many units can then be deployed for minimal unit cost. If you have only a couple of domains to be encrypted, LE is not worth it currently.
Perhaps the commercial providers should focus on the small-scale users, which is exactly what they probably would rather not do.
Edit: Perhaps a Kickstarter or related would be a good idea since this type of feature would be useful by so many people. Nearly everyone has functioning ears. (no offence to those who don't)
I am pretty sure they call this an operating system. Moreover, most operating systems do provide built-in or pre-installed functionality, such as for scheduling, messenging, and note-taking.
While this is true, it can also be hard to tell how much of a person's open-source code was actually written by that person. With the abundance of code available today, it would be relatively trivial for someone to take random code fragments and functions from all around and to assemble them together into a conglomerate. All the person would have to do is basically change the variable and function names, in addition to the syntactic style, to make it all appear as coming from the same person. Sure, this would at least show an awareness of syntax and style, but it certainly would not show the level of programming skill or even necessarily of problem-solving ability. On the other hand, if the person's repo is popular, then there is at least an indication of function and utility.
In the long run, having highly abstracted, well organised frameworks like .NET is good for humanity while in the short run it makes for painfully hungry infrastructure. There will always be a general group of people trying to make the best out of what is currently available -- focusing on efficiency. When I started programming back in the 90's, I remember hearing people quite often brag about how "real programmers" use assembly, calling anyone else a lamer. I started with VB and then C (not C++). I was considered one of those lamers using such "high level" technology. I remember thinking to myself, "At least I get things done in a reasonable amount of time". These days, C is considered quite low-level compared to modern languages and frameworks. My point is that abstraction is continually pushed onward for a very good reason, yet many people who have grown accustomed to older, more CPU-efficient platforms and methodologies may view the "cutting-edge" level of abstraction as unnecessary and bloated. This phenomenon follows the age-old "back in my days we had to milk our own cows" generation-to-generation viewing of the "new kids" as lazy and spoiled. The key is in recognising that the world keeps moving, even if you are growing old. There is always room for progress, even if progress appears unnecessary to those accustomed to older ways. As machines get more powerful, the world is no longer the one that demanded those levels of efficiency seen prior.
At the same time, I agree that some software and systems are obnoxiously slow. Visual Studio takes ages, even with a fast drive. I prefer AWS over Azure. When it comes to coding these days, I choose high-level unless the application demands working with large amounts of data. The programming time needed to make simple applications run faster is usually greater than the gain in time from running more efficient applications. When you are Microsoft, being pushed to implement every feature in the book, you are going to want to choose the most efficient way of implementing new features.