Reading 09: On Linus Torvalds’ upbringing

I found the story of Linus Torvalds’ upbringing to be completely irrelevant because he grew up in such extreme circumstances that he was allowed to sit on a computer and literally do nothing else, other than eat occasionally. He hated literally everything other than computers, even sleep. He hated doing sports of any kind, or anything that required physical activity. Literally the only part I related to in his story was when he said “Maybe that’s why I’m always just ‘Linus’ on the Net. ‘Torvalds’ is just too confusing.” Except I went by my netid when I contributed to open source, so I guess I technically don’t fully relate to him in that regard either.

I guess you could say I find his upbringing interesting, but more in a *glad that wasn’t me* sort of sense. I find it interesting to learn about how he was in a situation where he was able to spend so much time with computers, but I would not find fulfillment in living that sort of lifestyle. In other words, that life style doesn’t interest me, but it is interesting to learn about.

Linus’ story is similar to that of Bill Gates and Steve Jobs in that he was in a very specific situation that allowed him to succeed in the computer world in the major way that he did. The major difference, however, is that Linus did the best he could to not interact with people, whereas Bill Gates and Steve Jobs were more outgoing businessmen.

Honestly, I know I won’t be able to make a huge impact on the computing world, and I’m okay with that. I could never sit in a green room for my entire life and just program like Linus did. I would literally go crazy. I can’t study for 3 days straight without losing my mind. I have to go be with my horse or do something other than just focusing on code for a while.

One thing that’s more unique to me than most other people is that I’m a computer scientist who also has a horse. One of the barns I was at had a Christmas party at which some of the younger girls asked me what I was majoring in and what I wanted to do with my life. When I said I was computer science because I want to code things and produce software for a living (I said it in more kid-friendly terms, but you get the idea), they started talking about their technology classes and getting excited that computer science would lead to a career that would allow them to keep horses later in life. I don’t necessarily need to inspire anyone, but it was cool to see their reactions when I let them know that I was in technology because they were really interested in technology, but kind of afraid to pursue it as a career because it seemed intimidating to them. I don’t need to force anyone to become a computer scientist, but if me having that as my career path inspires others to pick that career path, then cool. There’s a weird stigma in the equestrian community about going to college and having an engineering sort of job. It’s not very common, and some people have very negative reactions to it. I hope my story contributes to ending that stigma because computer science is a way to not deal with medical stuff and still be able to afford horses, which is really my only goal in life. I don’t have to inspire a nation, I just want to show some horse people that it’s a legitimate career choice compatible with the equestrian lifestyle.

Reading 05: On startups

Paul Graham’s success is an example of a person who gets unreasonably wealthy by putting in a lot of work at a really convenient time and reaping relatively extreme benefits because he was successful. YouTubers and entertainers also fall into this category. Essentially, they make content or provide a service that lots of people are interested in using. They get a certain amount of money for each user who employs their service or consumes their content. Since all of the content is available over the internet, they have an absurd number of users. This creates an illusion that the internet has the chance to make you a lot of money if you do something original on it that other people are interested in.

The scary thing is that YouTubers is the influence they have on young people. Now kids are dreaming about being YouTubers when they grow up, simply because they don’t understand that not everyone who tries to be a YouTuber ends up being successful. Most of the major YouTubers today went to college and started uploading content, then became full-time content creators once they started making enough money that they could support themselves. Modern hackers like Paul Graham paint a similarly unrealistic picture of what’s required to be successful — just join a successful startup and you’ll be fine. This glosses over the fact that not every startup will be wildly successful.

Society progresses when startups are successful, so it is important to encourage starting businesses. However, it is important that those who create a startup have something to fall back on in case it fails. I applied to a startup because one of its employees found me in a restaurant and asked me if I would apply. As the application process continued, I started looking into startups and realized they don’t pay that well in the beginning, and are often really risky because they aren’t well-established or stable yet. Therefore, I am trying to stay away from startups when I try to find a job. I need to be financially stable in order to keep my horse. I can’t be part of a failed company, so kudos to those who can. It is important to encourage people taking a risk and starting a business because, like Paul Graham mentioned, startups have to be innovative. This innovation will encourage progress at a much faster rate. Startups have to outdo a current company at something. Good startups add enough wealth to society that supporting them is important.

The next big things are virtual reality and automation to extreme levels like self-driving cars and home assistants. Machine learning and artificial intelligence are major components of all of these things. If I were to create a startup, it would be in one of those areas. Home assistants were popular when they were first released, but they lost popularity rather quickly after people realized the government uses them to spy on everything you do in your house. This creates the market for a home assistant that isn’t voice activated and isn’t listening all the time, which would make it an easier market to contribute to than self-driving cars, which would require creating an entire car company.

Reading 04: On programming languages

When I first learned to code, programming language was extremely important because I really only “knew” one language. Switching languages was difficult because understanding a new programming language required identifying and translating differences in syntax in order to write and read code correctly, and I was still trying to figure out how to come up with a logical solution to a problem that a computer would be able to understand. As I kept writing code, however, the choice of programming language became less and less important because I realized I could use Google and Stack Overflow to help me whenever syntax was getting in my way.

I find myself following the Blub paradox that Paul Graham brings up: I pick whatever language I decide to use, and I decide which language to use based upon how I think about code. I think about the world in English. I think about code in pseudocode that closely resembles Python in most scenarios. Thus, I write prose in English, and code in Python when given the chance. Similar to English, there are limits to thinking in Python. For example, Python is good at abstracting details and interpreting code that is very close to English in most cases, but trying to write low-level code like kernel code doesn’t work very well. Spoken languages like English have similar limitations like the word “love” has several different meanings and Spanish has 6 different words for “love” to distinguish between the different kinds of love one has for people and things. However, in both cases, I overlook the limitations of the language for the purposes of thinking coherently about the problem at hand.

I feel like it’s safe to say that most programmers think about code in a specific way that is modeled by some programming language they have encountered. Perhaps not specific syntax, but if they were to write out pseudocode, it would probably look a lot like their favorite language. Paul Graham touched on the idea that programmers in the future will want more flexible languages. I think future programming languages will mimic pseudocode, or at least mimic the way humans think about code, which is presumably close to English if not actual English. They will also likely have abstractions for complex algorithms related to machine learning, artificial intelligence, and controlling complex systems like the ones in flying cars.

It seems that unconventional programming languages today cater to a specific kind of programming. For example, Swift is one of two languages that can be used for relatively straightforward iOS development. Programming languages of the future will likely cater to increasingly specific and complicated kinds of programming. The only issue I see with future programming languages catering to such specific use cases is if their syntax is not similar enough to conventional programming languages that programmers don’t use those languages because they’re Blub programmers and would rather take their time and write a program in a language they’re familiar with over a language that would make their lives easier.

Reading 03: On another description of what it means to be a hacker

Paul Graham’s version of a hacker is compatible with Steven Levy’s description because both authors portray hackers as authors of original code who spend the majority of their time playing around to get their code in an effort to get it to work. The main difference I found was that Graham described very strong parallels between hacking, intelligence, and popularity, whereas Levy showed how hackers started out being unpopular when people didn’t understand what they were doing, but grew in popularity as computers grew in popularity. Graham spends an essay arguing that nerds are unpopular in school because they don’t want to be popular. They decide to spend the majority of their time doing computer things, rather than being caught up in other people’s drama, because “they want to be popular, certainly, but they want even more to be smart” (“Why Nerds Are Unpopular” by Paul Graham).

Levy focuses on the growing popularity of technology, and the almost overnight success it caused for many hackers. This contradicts Graham’s idea that hackers, like painters, need a day job. Levy presents hackers as wildly successful after fiddling around with code for a while. They got to do what they wanted because they were adding to computing. Graham, on the other hand, highlights how this is no longer the case today.

While both authors have valid descriptions of hackers for the time when they’re writing, I relate to Graham’s perspective more than Levy’s. The reality of the matter is that I won’t be able to work on whatever I want when I go into industry. I don’t actually know what I would work on if I got to choose what I program for a living and then go program it for someone. If I end up finding something I want to work on that badly, I’ll have to work on it in my free time. Levy’s view of the hacker suggests that I should be able to program whatever I want and monetize from it, but since coding has advanced beyond the point of a simple program radically changing the popularity and use cases for computers, this idea is dead.

As I read Graham’s essays regarding the definition of a hacker and his/her place in society, I had a chance to reflect on some of the struggles I encountered throughout middle school and high school without realizing it. A lot of the time, I was unpopular because I was interested in robotics or whatever technological thing I was working on at the time, and I was also unpopular because of equestrian. As I got older, I realized sometimes you have to sacrifice intangible things like popularity to do what you want in life. I disagree with Graham when he claims that smart kids understand how to be popular because that’s never a thing I really ever understood. Somehow there were the people everyone knew and liked, and somehow that left the nerds. My parents raised me by letting me be involved in things I wanted to be involved in, rather than things that all of my friends were involved in. I think that attitude is why I don’t understand how to be popular. Living in a way inconsistent with your passions to get approval from others seems like a bad way to live. Maybe this is what Graham’s getting at — maybe I’m smart enough to know how to be popular and just choosing not to do it. His description of being a hacker makes me feel like more of a hacker than Levy’s description, even though it highlights less desirable traits of being a hacker in the modern day.

Reading 02: On the hacker ethic in a world of profitable software

The hacker ethic cannot fully survive in a world of commercial and proprietary software because the two are fundamentally contradictory. Hotshot programmers get rich from programming commercial and proprietary software by earning a percentage of the royalties from their sales, which is inconsistent with the hacker ethic’s idea that information should be free. The goal of commercial software is to be sold to someone who didn’t code it for a profit. It is meant to be sold how it was programmed, and the code was not readily available to be manipulated. The idea was to code programs that fulfilled the needs of the marketplace well enough that they would sell. This moves away from the idea of hacker perfectionism, putting more effort on the software’s use cases. Since the code for such software is hidden, information is no longer always free, and it won’t be.

Once programming became a way of making money, the hotshot programmer became “professional, goal-oriented, and responsible,” while the hacker had a passion and strove for perfection. A hacker picks what s/he wants to work on, and focuses on making it perfect. The software industry, however, adopted the attitude that “‘If it’s not fun, if it’s not creative or new, it’s not worth it,’” (p. 322 “Hackers: Heroes of the Computer Revolution” Steven Levy).

Hotshot programmers and hackers are two very different types of programmers, but one is not better than the other, they just appeal to different audiences. If you think that it’s better to make money, then it’s better to be a hotshot programmer in your eyes. They are creating software that is making computers more widely accepted and used in society, and they are making money from it. Hackers, on the other hand, are essentially learning more information about computers to teach hotshot programmers. They’re basically hobbyists who want perfect programs. Hackers are original, hotshot programmers are reaping benefits inconsistent with the hacker ethic. Economists might say hotshot programmers are better because they gain more money from programming, but the argument can also be made that hackers are better because they produce better quality programs.

One of the main reasons hackers despise proprietary software is that it allows consumers to use computers without understanding how they work. But that’s okay. I drive a car and I don’t know how it works at a low level. I get to enjoy the benefit of going places using simple controls like the steering wheel and gas and break pedals. There are hobbyists who are obsessed with their cars and like to work on them in a way that requires such low-level knowledge, and they are comparable to hackers. Now that computers have advanced more, it is clear that users can benefit from them without programming them themselves. I didn’t program my car. Heck, I didn’t program my computer’s operating system. That doesn’t mean I can’t benefit from my computer and my car. This doesn’t mean that programming your own operating system or building your own car won’t give you more knowledge about those things than I have, it’s just to say that I don’t have to understand them at that low of a level to benefit from them.

Reading 01: On making the hacker ethic mainstream

The main goal of the hacker ethic is to create an environment in which the abilities of computers are both appreciated and broadened. The reason that society didn’t create such an environment at first was because they were under the impression that computers were just ridiculously expensive calculators. Since computers were viewed as a grand waste of resources, they weren’t seen in a positive light in the public eye. One way to combat this problem was to develop computers to the point where they were capable of more than being a calculator. Once computers were capable of something unique, they needed to become available to the public in a way that would showcase their abilities, and allow further innovation to take place.

Realistically, the “free information” part of the hacker ethic hinders the advancement of computer technologies because software developers still need an income to survive. Efrem Lipkin seemed to be more concerned with the hacker lifestyle of sacrificing everything for uninterrupted days of software development going away. The reality of the matter is that increased diversity in the software development space will spark more innovative ideas than having a group of men who are all attending the same university sit in a room and develop computer software. As Steven Levy stated in his novel “Hackers: Heroes of the Computer Revolution,” Jude Mlihon “…learned programming and found it delightful, though she never did see why hackers found it obsessively consuming,” (p. 160). She represents a more relatable character who is not willing to devote her entire life to computers because she wants a life outside of computers, but she is still interested in developing her own programs and contributing to technology as a whole.

The tension between wanting to implement the hacker ethic in society, but not being able to implement the hacker lifestyle along with it is contradictory. As computers were being introduced, it was clear that Efrem Lipkin had a valid concern regarding technology as a dangerous tool of oppression. After all, it was developed in a privileged institution by socially privileged individuals. Perhaps more people would have been willing to devote their lives to software development, but they were not presented with the same opportunity. However, now that technology has been woven so intricately into society, Lee Felsenstein’s idea about technology being a force for good rings true today.

When my Dad was growing up, he never had access to a computer. He graduated high school in 1984, then went on to become a chemical engineer. However, after he received his first programming assignment — write a program that calculates the flow rate of a pipe — he had to drop out of that major because he didn’t know how to use a computer. My Mom, on the other hand, was programming in BASIC in high school. Granted she didn’t end up pursuing a career in a technology-related field, but she had the exposure in high school. If she wanted to go be a chemical engineer, she probably could’ve written a program that calculated the flow rate of a pipe. She graduated 2 years after my Dad, in 1986. In my Dad’s case, technology was a dangerous tool of oppression that caused him to switch majors and, in his eyes, be a failure. In my Mom’s case, she was presented with the opportunity to program and develop code, but she chose a different career path.

I was first given a computer assignment in early elementary school. Since then, I have always used computers. Computers can be a force for good. With the development of the Internet, it seems as if information should be free to everyone. The fact of the matter is, however, that if all information were free, I would not be pursuing a degree in computer science. Just like Jude Milhon, I enjoy programming, but do not understand the obsession to the point of sacrificing any concept of life outside of it. My Dad thinks I’m crazy pursuing a degree in programming because it caused him to drop out of his original degree program. Now he thinks it’s the worst thing ever. My Mom doesn’t think I’m crazy for pursuing a computer science degree, even though she wouldn’t pursue one herself. She has tried programming, and often takes interest in some of the things I’m learning. From my parents’ stories and my own story, it is clear that having a larger impact on the world was worth breaking the hacker ethic and having to pay for software sometimes.

Reading 00: On the Definition of a “Hacker”

Ever since I was little, every time I used a computer, my Dad call it hacking. I always felt the need to correct him – I was just using a computer, it wasn’t anything special. He found it amazing how quickly I was able to complete whatever task I wanted on the computer because I understood it better than he did. After all, he does a lot of physical labor and some computer work with emails and one specific mapping software – he’s not so good with computers himself, outside of those few basic tasks. Before I started programming, I assumed hackers were people who understood how to code because that was something I didn’t know how to do with a computer. When I started programming, I quickly realized that a more generally accepted definition of a hacker is someone who uses code maliciously, typically accessing sensitive data and causing harm with it, or launching DDoS attacks. This has been my personal definition of a hacker since then.

According to Steven Levy’s “Hackers: Heroes of the Computer Revolution”, however, a hacker is defined as a person who encompasses the hacker ethic and lives a life consistent with the hacker lifestyle. The hacker ethic includes the following ideas: the hands-on imperative (learning is best done through trial and error), all information should be free (otherwise learning and progress can become hindered), decentralization should be promoted (and bureaucracy shouldn’t be trusted), hackers should be evaluated based on their abilities and not bogus demographics (although this book does not list gender as a bogus demographic), a computer can be used to produce art and beauty (both in what code does and how it looks), and finally that computers change your life in a good way (which is the idea that using a computer can benefit a person). The main elements of the hacker lifestyle require extreme determination. Greenblatt went as far as to pull 30 hour days when he was “in the zone”. He was so focused on hacking that he blew off his classes and ended up sleeping through his final. When he was “in the zone,” he would forget about things like food and sleeping. When he ended up eating, it was always Chinese food and Coke because it was convenient. None of the male hackers in the book had a love life or anything outside of hacking – hacking was their entire life.

I don’t have any major issues with the hacker ethic, assuming it doesn’t discriminate based on gender. I find the idea of a “True hacker” to be intimidating and repulsive, simply because I don’t love coding enough to be that dedicated to it. I’m dedicated to my horse, but there is more to life than being with him all the time. I know a girl who went to online high school and never went to college so she could go be a riding trainer – that is the equivalent to Greenblatt’s dedication to his machine to the point of sleeping through an exam. One thing I have come to realize is that you either have to have a balance in life, which does not allow for Greenblatt’s level of dedication, or you have to find others in life who are as dedicated to something as you are. Unless, of course, you want to be lonely forever. Therefore, I don’t aspire to be a “true hacker,” I aspire to find balance in life so I don’t go crazy.