Hackers 10: King of the Ball

Linus certainly did not expect the attention of the media thanks to his operating system. Yet he had to deal with multiple requests for interviews a day, offers for speaking at conferences, and desires for marketing moves such as Linux 1.0 and a mascot. As unaccustomed as he was to these important aspects of having developed an internationally successful product, he managed them rather well. His speeches weren’t the best, but he was not as unusual as some hackers that the media present. For public relations, “Others volunteered to pick up the torch. This was pretty much how Linux itself was done – and somehow, it actually worked.” The nature of open source itself patched up the imperfections in the creator of Linux. For everything he could not do, some Linux contributor could and would.

I can really relate to how much Linus is less interested in money than many of the people he encountered as he grew more successful. Money is worthless unless it is spent on something worthwhile, and Linus often valued his personal life and ethic over money. He truly understood who he was, and that gave him the power to avoid selling out. When he met with Steve Jobs, he understood the difference between their goals. Linus just wanted to do what he enjoyed and work with technology that he liked. Steve was more interested in his strategy for success and assumed that others would agree with the path that seemed best to him. Linus didn’t like Mach, so he didn’t want to work with Steve. Linus also disagreed with Bill Joy, who seemed to have a philosophy that too much change is a bad thing. Linus sees evolution in society and technology and believes those to be naturally inevitable. Also, he very much disliked Sun Microsystem’s license that Bill helped out with.

Linus took quite some time to become more like typical technological celebrities. Many were surprised about how he often answered his phone directly, and he tended to worry much about if he would have enough money to get by. But eventually, the greatness of Linux caught up with him, and he learned how to adjust. Linux succeeded because it was not greedy. It did not force people to use it one way or another. It gave people the option to use as much or as little of it as they wanted. Because of this flexibility, it was easy to adapt to any situation the user needed. “[Linux] flows into anything that’s interested. Linux doesn’t have just one niche. It’s small and flexible and finds its way into many places.” This philosophy mirrors that of the hacker ethic. The only thing that really matters is that the technology is as useful for as many people as possible, and the programmers enjoy making it. Linus did not want his operating system to compete with others in the sense that he did not want them to fail so he could succeed more. He knew that Linux was not the operating system for every situation, and this gave him the competitive edge. Thus, the hackers in the bazaar naturally make the best product for hackers, and while not all people are hackers, there are enough to push a hacker like Linus into celebrity status.

Ethics 13: Computer Science Education

I don’t know what computational thinking means. More specifically, I don’t know what it is not. From what I have read about it, it seems that I only think computationally. I see everything in my life as some problem to solve or goal to reach and naturally work out the steps to solve that problem or reach that goal. I struggle when goals are not clearly definable or the number of steps overwhelms me. Yet, it seems that not everyone thinks the way that I do. As described in the Coding Horror article about the “double hump” in programming, there is legitimate evidence that not everyone can learn to code. (https://blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/). The root of the problem is that some people are unable to treat code as “meaningless.” The article did not explain this too well, so I spent some time thinking about it.

Treating something as “meaningless” in this sense means that there is nothing beyond its face value. The number 4 is meaningless because it means a specific quantity of something. It is not good or bad, it does not have any sort of intentions or desires, and it does not have extra connotations or complexities. Furthermore, it does not change in any sense. On the other hand, meaningful things are people, relationships, and art. Assuming this blog is accurate, people who view meaningless things as meaningful fit into this category of people who cannot learn to code. This is not a bad thing. People like this are much better at understanding others, adapting to new situations, and being spontaneous. It seems so bizarre to me that inconsistency is how those people view reality. On the other hand, it must seem strange to them how much consistency I often (incorrectly) attribute to parts of reality. This is why coding is so straightforward for people like me. To us, computers are how the world should be. Everything is logically consistent and does not break rules.

As for teaching coding, I believe that everyone should be required to study computer science a certain amount, but not too much. Some people are not good at English and reading classes, but everyone takes them. I believe the same reasoning should apply to computer science. This is because people who are good at it get the chance to discover their skill and people who aren’t good at it get to learn their drawbacks. They also get a better understanding that some people think differently from themselves. Therefore, everyone should spend at least half a year learning to program. Both good programmers and poor programmers would benefit from this.

I feel that learning a specific language early on has no importance. The reason programming should be taught is so that the students can learn exactly what computers can and cannot do. Also, understanding the similarities and differences between what they code in class and what code is used for in the real world gives them great insight into how their world works. Students can also learn from programming classes that they have the power to learn skills to solve problems. Hopefully, after a computer science class, when a student encounters something troublesome, they think “how can I fix this?” rather than “I guess I just have to deal with this.” This vital skill does not come out of many other high school subjects because it is very difficult to teach. Computer science, however, seems to be one of the best ways to teach it, as it can be used to solve so many problems rather simply.

Hackers 09: Birth of a Nerd

I had a similar experience to Linus’s childhood, although a bit more social. Instead of a Commodore VIC-20, I had a Lego Mindstorm NXT. At first, I just made cars that moved around, but thanks to a book my parents bought me, I eventually made more complex things such as a robot that you could play rock-paper-scissors against. Unlike Linus, however, my parents made sure I didn’t spend too much time on the computer. They often enforced rules about how long I could spend inside, and eventually, I would need to go play outside. This might have caused me to not continue my interest in programming as much, but I did continue to take programming classes in high school. It wasn’t until college that I was introduced to the idea of “programming for fun” with side-projects, something vital to becoming a true hacker. This is what made Linus such a leader in the hacker community. He always had some project that kept him interested. He mentioned that occasionally he was close to finishing a project and couldn’t see anything to do next, but something always came up. I imagine that if he ever ran out of projects to work on, he might not have dedicated so much of his life to programming as he has so far. Hackers raise themselves through dedication to a project and the desire to contribute.
Linus developed Linux first as a better terminal emulator than the one built into MINIX but then kept adding features until he decided that it was its own operating system. The main reason he kept working on this was simply because he found it fun, and nothing else competed for his attention. He relied mostly on Andrew Tanenbaum’s book Operating Systems: Design and Implementation, as well as suggestions for improvements and features from the MINIX email group. He built the project simply by choosing what seemed to be the most technically correct solution at each step, based on his own personal standards. This made Linux very popular among Unix users, even becoming more popular than the MINIX OS he based it one.

My current itch is to create a useful mobile app for Animal Rescue New Orleans. This is a shelter that I volunteered at with my girlfriend the past few summers. She has gotten more involved with them by designing brochures and flyers for them, and I want to help out with my skills as well. We have been talking about features that this app could have, such as a list of available animals, volunteer calendar, and a way to easily donate to the shelter. I am taking the class Mobile App Projects this semester, and I am making the app with two other people for the class project. However, we are only learning how to make Android apps in this class, so I will probably remake the app for Android and iOS after graduation. As I plan out this project more and more, I realized that I am getting very excited about it, unlike any project I have had before. The idea of making something that other people actually use and get value from reminds me of some of what Linus talks about in the book. He was more excited about being a part of a community created by his invention than anything else he had accomplished. My project would not help out quite as many people as Linux has, but I still find joy in it.

Ethics 12: Intellectual Property

While reading in preparation for this blog, I originally supported patents, then decided that they should be removed entirely, but now I think they are good for innovation if they are changed from how they are now. I reached this conclusion by considering several scenarios and analyzing how each would play out if patents existed and if they did not.

First, in NPR episode 551, the speakers discuss removing patents, and two proponents of that idea bring up the Wright Brothers. They patented flight in the US, but without much further development, useful flight comes in France later on. Their patents prevented any US companies from making truly useful airplanes quickly. In this scenario, it would be better for innovation if the Wright brothers did not get the patents.

Another scenario mentioned in the podcast is the drug market. Finding a new, useful drug takes years of effort and sometimes millions of dollars, and without patents, companies can sell the same drugs at a minimal cost by stealing the ideas from the company that discovered the drugs. In this case, patents are better than no patents, because companies can pay to discover drugs and be confident that they will earn the money back.

Finally, there is the problem of patent trolls. These companies exist solely by snatching vague or general patents, then sue other companies for infringement. These companies are ethically wrong and are no more than thieves who hamper innovation for the sake of their own greed. They provide no benefit to society, and they harm consumers by draining money from producers who need to make that money back somehow. Any system of laws that includes patents should include some way to prevent patent trolls, but, unfortunately, ours does not.

I am no economist, but I have thought of one way that might provide the best outcome for each scenario. I originally imagined a system in which patents last until the cost of producing the invention is made back in profits. This method, if it worked, would promote sharing of ideas without hurting the drug market dramatically. However, it still allows patent trolls to sit on patents without making profits. Also, keeping track of how much it cost to create an invention without fraud is practically impossible. I think a better solution is to limit patents to a single year, but patents could be renewed if the holder can show adequate profits or innovation generated by the patent. The year-long time limit would not reset if the patent is sold, so companies can simply wait out patent trolls, and settlements with patent trolls would only provide the profits made for that year. Drug companies can still earn back their discovery cost, assuming they continually renew their patents. Finally, the Wright Brothers would have lost their patent without innovation or profits, so others could develop planes more effectively. The twenty-year limit on holding a patent would remain, preventing a single company from keeping a monopoly on a market for too long.

I don’t think a pure capitalist economy is the best, but in a society as capitalistic as ours, our current patent system is holding us back. Patents have the ability to limit competition, which is vital for any successful capitalist society. That doesn’t mean that they are bad for this society, but they need to be very carefully regulated. The existance of patent trolls is clear evidence that something needs to change.

Ethics 11: Automation

Without significant action, this is what will likely happen as automation grows: Companies produce their products for cheaper by replacing human workers with robot workers. Then the companies will make more money, and their leaders will become richer. As more and more companies follow this model, more people will lose their jobs, and then companies will stop earning as much money. However, besides electrical and maintenance costs, pure software and robotic companies can continue to create their product or service, and so the economy will continue to function. The only possible solutions to people losing jobs to robots are to stop the creation of robots or provide a universal basic income.

Stopping the progress of robots will prevent a worsening of society, but will also prevent any potential advantage. Thankfully, we have a history that shows that automation does provide advantages. “Economists have shown time and again that automation helps overall standards of living rise, literacy rates improve, average life span lengthen and crime rates fall. After waves of automation—the Industrial Revolution, mechanization, computerization—we’re way better off in almost every way.” There is certainly potential for problems from embracing automation. Limits must be set. For example, “Machines must not make decisions which result in the death of humans.” Also, as machines become more prevalent, the opportunities for humans to use them for malevolent deeds increase in number. Technology has always had these challenges, however. We still use nuclear energy even though reactor explosions are terrible threats. Regardless, the benefits outweigh the downsides, and we have much to lose by holding back technology.

Once automation truly permeates society, universal basic income becomes both reasonable and necessary. With machines providing adequate food, water, medicine, housing, and other necessities, the cost of living can become nearly free. “The demise of the formal economy could free many would-be artists, writers, and craftspeople to dedicate their time to creative interests—to live as cultural producers. Such activities offer virtues that many organizational psychologists consider central to satisfaction at work: independence, the chance to develop mastery, and a sense of purpose.” People could do exactly the work that they want to do, without worrying about how much it pays. For example, “Schubert, who has two grown children and an infant grandson, said she’d loved teaching writing and literature at the local university. But many colleges have replaced full-time professors with part-time adjuncts in order to control costs, and she’d found that with the hours she could get, adjunct teaching didn’t pay a living wage, so she’d stopped.” With a universal income, she could teach without regard to the wages. The only problem in this situation is that those who receive money from the automated companies can hoard their wealth. They should definitely be rewarded for managing and organizing the services and products, but there seems to be a limit to how much money a person really deserves. This economy, without the threat of necessity deprivation, should exclusively reward creativity and direct effort, and especially not luck. Coming up with a product that happens to do well should not grant any more wealth than an equally creative product that does not succeed. In this society, everyone will have what they need, and people will become more interested in giving rather than getting.a

Ethics Project 3

Podcast:

https://drive.google.com/file/d/0BwX2A7FfvP-ONHpRMWhsdWpTV2M/view

Wikileaks is a very controversial organization. That much everyone can agree on. As I said in the podcast, it provides a service in a way that no other news agency does. It has a unique ability to faithfully separate the message from the messenger using the powerful tool Tor. If Chelsea Manning hadn’t confessed to Adrian Lamo, then I believe she would have been able to evade any efforts of identification. Because of this secrecy, her identity, at least for a time, had no impact on the leaks being presented. Organizations could not attack or punish her. This is the primary strength of Wikileaks, but there are some downsides. Sources can provide information about the legitimacy and motivation behind leaks. For example, if Russia is the leaker of the DNC emails, then the leak could have been politically motivated, and serious action should be taken. It is still a good thing that this information came to public knowledge, but I wonder if the timing or specific content of the leak could have been different if a truly neutral party had gotten the information. I believe that we cannot truly trust either the government or Wikileaks, but they provide enough checks on each other that we would be worse off without either one.

Vault 7 only solidified what I already believed. The government can access whatever data it needs, and there is little we can do about it. I am sure that for every technique revealed in the leak, the CIA has several more. Even if tech companies say the provided techniques are not strong, we already know the NSA has more. This leak did make me question the motivation of Wikileaks, however. As Matt pointed out, they may have just released this to emphasize their role and vilify the government more. Regardless, the more information the public has about the government, the better. The government should be afraid of the people, and WIkileaks is helping to make that become more of a reality.

I think whistleblowing should always happen when there is unethical action without needed oversight, except when it would bring harm to others. So far, I have not heard of any harm caused by Wikileaks, and if there was any harm, I am sure the government would seize the opportunity to use it against Wikileaks. Wikileaks could have done a better job of redacting information, but the potential change that comes from whistleblowing is a great benefit. Even if a few innocent people were harmed from the information in some of the leaks, I would like to think that many more innocent lives were saved when the military realized that it cannot act the way it acted in “Collateral Murder” anymore. It is the classic trolley problem, with extra potential penalties for switching the trolley from the track with more people to the one with less. Regardless, the minimal loss of life should always be the goal. The people should have the power to make the government do what they want, and that is very difficult to do without knowing what the government is doing.

Ethics 10

Trolling is is a type of abuse similar to verbal abuse but without the downsides. Verbal abuse gives the abuser a sense of power and control over the abused but can have consequences such shame or loss later on. With trolling, the abuser is completely anonymous and retaliation cannot be performed. The goal of trolling is to “waste the subject’s time or get a rise out of them or frustrate or frighten them into silence”. I understand these aspects of trolling, but the one thing I cannot understand is why trolls do it. It just makes no sense to me. Some of the factors seem to be boredom, lack of self-worth, and close-mindedness. However, all of these together still do not even help to justify the blatant contradiction in the actions of trolls. Why go through the trouble of posting hurtful comments? Why post at all? From this point of view, I cannot honestly suggest any method of convincing trolls to not troll. Instead, I will assume that trolls will always attempt to post hurtful comments and consider what can be done to prevent or mitigate the resulting damage.

As long as anonymity exists on the Internet, it will be impossible to punish trolls or prevent them from posting. Removing anonymity is not an option because it would actually make trolling worse. With access to so much additional information, the attacks can become more personal and varied. Anonymity, ironically, is the best defense against trolling. Therefore, we cannot remove anonymity, and so we cannot punish or prevent trolls. It seems that the only way to respond to this problem is to provide support for those who suffer from it.

We must make as many people as possible understand that the trolls are the ones who are acting unethically, not their victims. The trolls cannot defend themselves without addressing the contradictions inherent in the way they act. For example, “one woman who dared point out some of the misogyny in video games was so deluged by misogynistic threats over how there is no misogyny in video games that she was driven into hiding”. Gamergate is a good example of this because it “demonstrates a strange and seemingly contradictory “overdog” phenomenon: The most powerful members of a culture often perceive an increase in social equality as a form of persecution”. The trolls of Gamergate do not realize that their actions are harming the projection of the gaming culture into mainstream society. “These gamers would rather see games remain narrow enough to fit within their clenched fist than to see it flourish beyond their grasp.” So they resort to terrible tactics of harassment, bullying, and threatening. Their response is the natural response from the troll culture, a culture that is a detriment to society. By making society realize how severe this issue is and how wrong it is, we can bring about lasting change.

Internet harassment has similarities to workplace harassment. “Sexual harassment in the workplace has been greatly reduced not just because employers are suddenly liable—there’s also a huge social stigma against those who sexually harass their co-workers.” We can apply this approach to trolling by building a stigma against it. Publicity and descriptiveness from the victims can promote this. We must avoid thoughts like “trolls will be trolls” and “this is just how the Internet works.” These are thoughts that the trolls use to defend themselves. We cannot rely on tech companies to implement some protocol to fix this issue, because they will also be weakening the position of the victims of trolling. A drastic change in societal views must come, or more people will suffer needlessly.

Hackers 07: The Noosphere

According to ESR, the open source community can be understood as people attempting to stake out land in the “noosphere,” a sphere of ideas. Once a hacker claims and begins to defend an idea, that hacker owns that idea and others should respect that ownership. Sharing code comes from each hacker’s desire for status. Hackers have no direct power over other hackers, and there is no material product to exchange for status. Therefore, hackers gain status by building their own reputation, which is best done by providing for the community. This seems to be a pretty good analysis of the hacker culture, because hackers contribute knowing that they will not get anything for it, but do it anyway.

ESR’s taboos for the hacker culture all focus on protecting reputation. They seem fairly effective so far, but they give much power to the “owner” of a project. It seems that a bad owner could easily cause problems and deprive the community of something useful. What if the person who first made EMACS didn’t like modifications from anyone else, and it never got the improvements it needed because of that person’s selfishness? Sure, the culture would shame them and their reputation would fall, but without someone else forking or copying the project, it would not help out people the way it does today.

These taboos are good guidelines, but would not work as strict laws. It seems that they are used only as guidelines in the community anyway. I think the primary advantage is that they do not in anyway impede what a person can do for their own benefit. I can change a project and modify it as much as I want for my own use, but the taboos forbid me from openly distributing it to many other people. At first, this seems contrary to open source, but it always makes sense to talk to the moderators of the project about your changes first. Generally, they should be willing to incorporate the changes to the extent that the community desires them.

I often think about why I am not a hacker. I love solving problems, writing code, and helping others, and these are things that hackers do a lot. I sometimes get upset about how little coding I do without being forced to, even though I love it so much. The gift economy may play a role in why I have no drive to contribute this culture. I feel that so many other people have already built up their reputation in such a way that any problem I could solve, someone else has already solved or could solve better. Yet without ever starting, I cannot gain the reputation that I think I need.

In reality, I do not join the culture because deep down I do not think that I have the abundance that ESR says is required for a gift economy. I always worry if I am going to make enough money, and have the right job, and have great friends. I do have all of these things already, but that doesn’t stop me from worrying. Therefore, I focus more on these things than my own reputation, and contributing to open source cannot get me any of these things. I am not a self-motivator. I will not join the hacker culture without a straightforward guide or introductory projects. There are already so many things that I want to do more than contribute to projects. I know that it would make me a better computer scientist, but it does not seem worth the effort.

Ethics 09: Network Neutrality

Net neutrality is the idea that Internet Service Providers cannot provide different levels of service for different internet content providers. Those in favor of net neutrality argue that it makes the market of internet content a free market, without control by ISPs. It prevents Comcast from slowing down Netflix when Netflix fails to make an agreeable deal. It allows startups to compete with established companies without having to pay large fees to ISPs. Finally, it prevents ISPs with their own content from limiting competition by throttling competing content providers. On the other hand, a lack of net neutrality would allow consumers to selectively pay for only internet services they need and give the government much less control over internet traffic. I believe that currently, it is better that we have net neutrality, but if there were many more ISPs to provide more choices for consumers, then it could be better to not have net neutrality. Consider this chart below.

net neutrality (1)

This seems to be the different ways net neutrality could play out. Ideally, we would have the ability to reach the green circle, in which we only pay for services we need, and we pay the minimum cost. Net neutrality makes this scenario impossible because we have to pay for all services equally. However, it also guarantees that we will not reach the red circle, in which ISPs stack additional costs on top of the current internet costs, and have the power to throttle services that consumers might desire. I believe that net neutrality is better because there are two reasons that we cannot reach the green circle even if net neutrality is repealed. Firstly, very few people are able to change ISPs, so they reach the red circle. According to this video by John Oliver, “96% of the population has at most two wireline providers.” Clearly, many people go straight to the red circle once net neutrality is repealed. Even if there are many ISPs to choose from, they might all agree to make prices high. In that case, people would keep changing ISPs, but never find one that gets them to the green circle. Therefore, as the ISP market currently stands, net neutrality is the best solution.

So how do we reach the green circle? It is the better place to be for consumers, ISPs, and content providers. The only way to reach it would be if the ISP market becomes freer, and more ISPs compete with each other. The capitalist system only works when competition is strong, and right now there is very little competition in the ISP market. Based on what I have read about ISPs, they have not done much to foster competition and capitalism. This helps out their companies significantly but hurts consumers. Therefore, if ISPs want net neutrality repealed, they should be playing fairly and allowing competition more. One way to maximize benefit for the consumer is to enforce net neutrality in any area with five or fewer ISPs. Unfortunately, this market is a difficult one to enter because the cost of initial infrastructure is so high.

Overall, the internet has become such an important facet of our society that it should be a basic right for all. It provides so many services that have the potential to make our society better, such as huge amounts of information, opportunities for expression of free speech, and platforms for business construction. All people should have access to the internet simply because that access will make our society a much better place as a whole.

Hackers 06: The Bazaar

Eric Raymond’s history of hackerdom takes a different approach than Steven Levy and Paul Graham. ESR focuses more on general trends and main ideas, probably due to the brevity of his information. Also, he focuses more on topics that hackers of today might be more familiar with, such as C and Unix. On the other hand, Steven Levy is more interested in the people that shaped this culture, and Paul Graham is more interested in what we can learn today from hackers of the past.

Cathedral programming is the style of software development in which programs are “carefully crafted by individual wizards or small bands of mages working in splendid isolation.” On the other hand, bazaar programming involves coders who “release early and often, delegate everything you can, be open to the point of promiscuity.” Although I can understand both the pros and cons of these different styles, I feel that I have not experienced either of them enough to truly make sense of them. One thing I do know is that the bazaar can be a scary place to get into. It requires self-motivation, communication with strangers, and the ability to learn on the fly. This style is very different from school projects, which is what I am used to. School projects are more like cathedral programming, in which there is a precise and difficult to reach completion point, as well as collaboration with only a small number of people that know each other very well. I think that I would prefer cathedral-style programming because I do not like the idea of people seeing my incomplete work or providing possibly incorrect input. However, bazaar style is probably better, because it prevents projects from being tied to a specific person and their nature.

One of ESR’s principles for coding is “Plan to throw one away; you will, anyhow.” This means that the first, second, or even third solution is never the best one you will find. I have always used this principle when working on projects without really realizing it. For example, I recently started a project in my Network Science class to find a decent heuristic solution to the dominating set problem. Since my group is looking for a heuristic solution, we can try one algorithm, test its success, then try another. We will then completely throw out whichever works worse, then come up with another algorithm. Eventually, we hope to find a very good solution.

I have always had a lot of trouble finding problems to work on, especially when not motivated to do so by class or work. I really liked ESR’s principle that says “To solve an interesting problem, start by finding a problem that is interesting to you.” I don’t really care that much about EMACS plugins or compilers, which is what it seems like many other people work on as “side projects.” In reality, I care about things like video games and board games more than efficient programming. Focusing on these problems at first seems like a good way to practice coding on my own. As I code more often, then I will find more interest in making my own programs to help with coding efficiency.

I certainly do not think that the bazaar has “won,” simply because almost none of the software I use on a regular basis is open-source. Windows 10, Google Chrome, Overwatch, Itunes, and more were all built in the cathedral. Yet the cathedral has not won either because I am sure many of the programmers working in the cathedral used lots of programs and systems that are open source. The bazaar thrives in making products for programmers because it requires that its users provide constant feedback and cooperation, and most of its users are programmers. Each style has its own place, and a world with only one is worse off.