cmc-csci046
cmc-csci046 copied to clipboard
Caveat Task: Hacker Culture
Reply to this issue with a summary of what you did for the hacker culture task. See the task instructions for instructions.
Reading (Non-Fiction): (1 point each)
-
Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days). lol thats a lot of Ratatouille references. I considered this advice on choosing an OS to be the most interesting part of the article - "the advantage you get from learning from your friends will offset any intrinsic difference between OS, or between programming languages."
-
Paul Graham's what to study in college. I appreciate his frank delivery. I disagreed with him on his perspective on social sciences. I agree that these fields are more easily negatively influenced by the presence of intellectual fashions, but I contend that it is still important to learn what those intellectual fashions are - they're shaping the world around you, and you're allowed to disagree with them. Overall, though, I enjoyed hearing his perspective on most of the topics he covered and agreed with a majority of them. I totally agreed with his perspective on math in academia and found it super comforting, because I cannot bring myself to care about my math grades too much.
-
Jeff Atwood's How To Become a Better Programmer by Not Programming AND 4. ESR's How to become a hacker. AND 1. Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days).
I'd compare Atwood's article to ESR's article to show the benefits and harms of gatekeeping. As ESR noted, in sociological research, gatekeeping is seen as a differentiator between a collection of people vs. an actual community.
I agree with @jbecker7 that the standard that Atwood puts out for a good developer is not great. He argues:
- "after the first three or four years, it's pretty cast in concrete whether you're a good programmer or not."
- "from what I've seen, there's just no crossing the skill chasm as a software developer. You've either got it, or you don't."
- "Good developers are good at programming. Really good at programming. You might even say fanatically good. If they're anything like me, they've spent nearly every waking moment in front of a computer for most of their lives."
I preferred ESR for accepting more types of people - he also loved "geek culture", but generally seemed more accepting of different types of programmers. His standards promoted more people coming into the community, and his filters only made the community seem more accessible (such as the promotion of open source software, telling people they can start at any age, etc.)
Then, I read Norvig's POV - he says 10 years! So I suppose he'd disagree with Atwood/Bill Gates' idea of knowing if you've got that ~x-factor~ within 3-4 years.
Overall, I'm seeing there are lots of different opinions between CS experts on what they consider to be "what it takes," and I appreciate being exposed to the differing views!
total: +4
Reading (Non-Fiction): (1 point each)
- Paul Graham's what to study in college
I was inspired to read this article after seeing @buffeinstein's comment above. I too enjoyed the frank delivery quite a lot and was unsure of how to feel toward his argument about intellectual fashions. I certainly agree that the social sciences are apt to change and that that can frequently undermine the shelf life of what they teach. That said, I think the experience of taking classes in these subjects can largely depend on one's professor and one's own perspective. If your professor (or you) think of, say, psychology as on par with math with regard to how grounded it is, you are set for failure. Rather than focusing on learning a new theory or perspective as a fact, I would say it is more valuable to think of a broader logical approach to learning about new things. If one can do this, I feel that these topics which he dismissed can be valuable.
- ESR's How to become a hacker
This was an awesome article, which I enjoyed much more than this one. ESR does a great job laying out a clear image of hacking culture, which he contrasts well with cracking culture. In addition, it does not have anywhere near the gatekeeping feel that the other article has. It focuses on norms and skills that hackers have instead of trying to peddle some bogus narrative about some people having what it takes and that being it.
Watching (non-fiction): (1 point each)
- RevolutionOS (2001)
I really enjoyed this documentary as someone who greatly enjoys FOSS but has not dipped too far into the culture in history. It was really interesting and honestly inspiring to hear Linus Torvalds, Richard Stallman, and other key figures discussing not only the history of GNU/Linux but also the movement surrounding it. I find the emphasis on accessibility and transparency exceptionally cool, and I think that those values have a chance to become even more widely accepted in the future (but also are threatened by overreaching companies and such).
- The Internet's Own Boy: The Story of Aaron Swartz (2014)
This documentary was, honestly, a bit depressing but also inspirational at points. Aaron Swartz did so many incredible things for dying at such a young age, and the creativity and passion he had for technology was very clear from clips of him talking as well as everything people said about him.
The Internet's Own Boy: The Story of Aaron Swartz
I learned how detrimental SOPA would have been had it passed, and I find it egregious that the Office of Technology Assessment was closed. I had never heard of Aaron Swartz before this film, and I feel his story is an absolute tragedy. I believe he would have accomplished many more great things had the government not tried to make an example out of him.
ESR’s How to become a hacker
This document is a useful source for better understanding the hacker ethos, specifically the bits about how to become a “hacker,” which apparently is a title bestowed on you by another hacker. I found ESR’s bluntness amusing, such as when he writes “I will also mentally write you off as a probable loser,” and I am curious to know how prevalent this attitude is in the hacker community.
Jeff Atwood’s How To Become a Better Programmer by Not Programming
Atwood argues that in order to become a better programmer, you cannot solely rely on technical skills and instead cultivate passion and interests in all types of things. I wholeheartedly agree and I feel that too often there is an emphasis placed on specialization, which comes at the cost of generalization. Generalization allows one to see the connections between different subject areas, thus enriching the subject one chooses to specialize in.
Paul Graham's What to Study in College
Graham advocates for doing something you are truly interested in and not something that just pads the resume. I see where he is coming from when he describes which majors he finds most useful, and I mostly agree, but I think the Thomas Huxley quote he uses should be the guiding words when determining what to study: study a little bit of everything!
@ben-smith23
I am curious to know how prevalent this attitude is in the hacker community
It's pretty prevalent. Here, ESR is writing in a particularly exaggerated way to make a point, and no one really thinks the other person is a "loser", but it's very common for the receiving end of the criticism to feel like they're getting called a loser. One of the key examples is Linus Torvalds (inventor of Linux), who is famous for going on "rants" and has a whole subreddit dedicated to these rants: https://www.reddit.com/r/linusrants/.
If you carefully read these rants, then they are usually directed at people who "should know better" and not at beginners. The benefits of these rebukes happening out in the open is that we all know exactly how decisions are made at the highest levels of the linux kernel and we trust Linus because he effectively stops bad actors (like governments trying to weaken the security of the linux system). But the disadvantage is that new users can be intimidated from contributing by the "threat" of having these rants directed at them in public.
http://www.catb.org/esr/faqs/hacker-howto.html I really enjoyed this article, I think it gives a good look into what kind of mindset is behind ‘hacker’ culture. I was especially interested in the part where he talks about doing left and right brain activities, such as training martial arts or listening to all kinds of music. It makes sense that this uses all parts of the brain, but was an interesting way to frame it and really made me think about how I do fit into that mold already a bit.
https://blog.codinghorror.com/how-to-become-a-better-programmer-by-not-programming/ I am not sure that I fully agree with this post, although I understand the idea behind it. I do however think that in anything there is a way for growth to happen, and although some people are geniuses and will always be, that's not to say that other programmers cannot improve. I do understand and agree with his other point though, how it is much easier to be invested in a project when I care about it.
https://norvig.com/21-days.html One of the most important things from this resource is the idea that learning anything takes time, and that programming is no different. A lot of resources seem to promote this ‘learn how to code in a summer or a day or an hour’ and it is reassuring that dedicating this much time in college doesn’t seem like a waste.
https://www.youtube.com/watch?v=jw8K460vx1c This documentary was incredibly interesting and super helpful for understanding the past of computer science. It also did a good job of showing and explaining the way that ‘hacker culture’ exists and where it comes from. Hearing the ‘buzzwords’ such as GNU and linux and unix be explained and given lots of history and context was incredibly helpful as well.
How to Become a Better Programmer by Not Programming https://blog.codinghorror.com/how-to-become-a-better-programmer-by-not-programming/
I would say I agree with 95% of this article. It is true that once you reach the “97th percentile” of anything, it is harder to get those last few percentage points without having soft skills. That is why it is important to have a diversified skill set. I mean that is the reason we go to a liberal arts school. We study all topics to be able to apply them to other subjects. It allows us to be more creative with our solutions and problems. Yet, the 5% I don’t agree with is that programming is an innate skill. While it may not come easy to some people, I do think it is possible to gain that innate sense.
Teach Yourself Programming in Ten Years https://norvig.com/21-days.html
I took away 3 key pieces of advice from this article:
- It is important to work with others because you learn from them and they learn from you. I grew up with four siblings. Coming from a large family, I became aware quickly that I wasn’t going to be the best at everything. Therefore, you have to rely on others to show you the ropes.
- No change happens as quickly as we want it. I liked the author’s point about how four years at college will give you the credentials for a job, but not the experience.
- It is important to start with a code that is designed to be easy to learn. When I first started coding, my mom told me to start with C++. I trusted her and started my journey, which didn’t last long. So, I wish someone told me this.
How to Become a Hacker http://www.catb.org/esr/faqs/hacker-howto.html
I really liked how this article was written: began with the attitude and then focused on the skills. I found it interesting when he said to automate boredom so that you can solve new problems. As code can be receptive, I thought this was a great piece of advice. Along with this, I also liked how he said to ”find a program under development that you're interested in and be a good beta-tester”. This message goes along with the other articles. It is important to work/learn with others.
What to Study in College http://www.paulgraham.com/college.html
I found it funny when the author said that “a lot of good mathematicians are bad teachers”. I am not going to say whether I think that is true or not, but it is important to understand the basics of mathematics for programming. I enjoyed his impartial opinions and understood a lot more because of his style. My favorite part of this article was the part about professors making your brain lift weights and the three differences between course code / real-life code.
Zero Days - Security Leaks for Sale
- This field is one that gives a lot of power to individuals who master skill. It counts on people choosing to be a good person and do the right thing.
- Governments are not really up to speed when it comes to issues like this. I really like the wide range of impact that people who know how to program can have.
- Cybersecurity is becoming increasingly important as we technologically evolve as a society.
Teach Yourself Programming in Ten Years
- The main take away from this article was that I should not rush my progress. I feel imposter syndrome starts to kick in when everyone is comparing their skills and attributes. This article was a reminder that good things take time and a steady work ethic will take me to the places I wish to be.
What to Learn in College
- I learned that I really should stop downplaying the importance of being good at math. Its something I struggle with, and that makes me unmotivated to have a positive attitude towards it.
- Taking a variety of classes is actually beneficial. It helps to improve all sectors of my life. I can want to be a programmer and still have important information from unrelated classes that improve my life.
Paul Graham's What to study in college.
I enjoyed how clear and straight to the point this article was. Graham touched upon a few things that I find important for one to realize and digest, those being: rejection is not the end all be all, understanding subject matters and what they’re “all about”, starting your own projects/doing things for the sake of your own interests, and really being interested in what you are studying/pursuing. It did include a few specifics that I personally disagreed with, like avoiding social sciences, but the overall gist of exploration was there. I believe that people should enrich themselves and follow their natural instincts to build, create, and learn.
Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days).
I really liked this article. I think it touched on an important issue that society faces today. In this day and age, everything is very quick and fast. We as the younger generation are pushed to learn so much and do so much, or else we won’t be good enough. Not only do we have to have extremely high GPAs and test scores, but we also have to have next-level extracurricular activities. I believe in the midst of that, especially during our developmental stages, we lose ourselves. We feel pressured by society to do and do and do, which makes us attracted to these quick and consumable articles/books, as we believe that they’ll suffice for this specific requirement for us to get by. People feel the need to spread themselves thin. I do believe that it is, at the end of the day, our responsibility to find ourselves again by taking a step back and realizing that there really is no “right” one-way path, and spreading yourself thin will only do so much for you. It is just disappointing to see how people feel pressured to not find something that they will want to spend 10 years learning.
ESR's How to become a hacker.
I do not, and do not think I could ever, see myself as a hacker; however, I really resonated with the “boredom and drudgery are evil” section. In my first internship, I was given the task of metrics collection, and I absolutely hated it. It wasn’t until I stepped up and created an automated software system that tracked, collected, and analyzed those metrics that I was provided with more head-on tasks, which have opened so many amazing doors and opportunities for me. Regardless of being a hacker/whatever it is you are pursuing, automation and emphasizing efficiency in every step of your work will propel you to greater success. The resources provided were very helpful and useful. I’ve bookmarked it in case I’d like to reference text on open source and infrastructure.
Season 1 of Mr. Robot
I really enjoyed watching Mr. Robot, specifically the way it delved into the language and culture of hacking as a way to explore broader social and political issues. Earlier on in the season, Elliot was asked by Mr. Robot, who is his own alter ego if he wanted to be a 1 or a 0 ( be in control of things vs let things happen to him). I believe that that was some sort of foreshadowing of his struggle with the idea of power. This comes to play when Elliot is approached by Tyrell and their allyship. Fsociety was able to successfully wipe all of Evil Corp’s digital files. This was important because Elliot had gone through almost a rollercoaster when it came to understanding power. He first felt powerless, and powerful, and then realized how power can corrupt people. I believe that it is an important lesson and reinforcement of how one should hold very close to their morals.
Jeff Atwood's How To Become a Better Programmer by Not Programming. I enjoyed reading this article’s take on Bill Gates’s statement. I think that it makes a lot of sense as programming is a very foundational skill. Talent sets people apart but I also believe that critical thinking and being able to look at and approach problems in a critical way is very important, hence why it does make sense that there is a point where growth starts to slow down, and the difference between programmers becomes apparent. That concept is why I always try to gain intuition behind the things that I am learning.
- Paul Graham's what to study in college
It was interesting to hear Paul Graham’s ideas on grad school, since this is something that I had considered as well. He came to the same conclusion that I had come to last semester, which is that I should go to grad school if I decide that I definitely want to do research instead of working in industry. Also, on a side note, I enjoy his humor--programming humor like this is what makes me enjoy reading programmer blogs like his.
- Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days)
I agree with most of what Peter Norvig says in this blog post. I certainly have learned much more from writing programs, fixing bugs, and talking to other engineers than I have by reading textbooks for classes, etc. It’s also funny that he mentions language standardization as something to both “get involved in” and “have the good sense to get off” as part of one’s learning.
- Jeff Atwood's How To Become a Better Programmer by Not Programming
I half-agree with this blog post. I don’t agree with the statement that “good developers always seem to have a natural knack for stuff” and that practice can’t help. I think that a lot of being able to understand code and develop this knack comes from exposure to coding, and experience developing and grappling with code. However, I do agree that understanding what goes on around the code (the people, the product, everything that code is used for) does make you a better programmer.
- Zero Days - Security Leaks for Sale, available on youtube
This documentary was thought-provoking. It's even more interesting because it was created 7 years ago, such that the importance of cybersecurity is likely even greater today.
Reading (Non-Fiction)
-
Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) The article argues that learning by doing is the best way to become an expert programmer. I disagree that one should learn as many languages as possible. One would argue that learning multiple languages would give one a different perspective on things, which would spark their imagination. However, these programming languages will be obsolete as easier-to-use languages emerge that are more powerful and easier to use.
-
Paul Graham's what to study in college Being an Economics major, I cannot agree that it is not a worthwhile major to study. Yes, economic ideas have changed over the years, but a better understanding of it helps shape business decisions and public policy. For example, Fed knows how much a small rise in interest rates can affect the economy because they have a good knowledge of economics.
-
Jeff Atwood's How to become a better programmer by not programming This was an interesting article because it tries to disprove my conjecture that experience makes you a better programmer. I don’t understand how managing people makes you a better programmer though. Also, I think Bill Gates is describing a product manager, who is responsible for communicating with different stakeholders of the product. I don’t see how being a good product manager makes one a good programmer.
Watching (Non-Fiction) 4. RevolutionOS (2001) I learned that GNU and Linux came about because some people did not like having to pay for software. At face value, this sounded like communism to me. Over the course of the video, I realized that it was different from communism because people are not forced to share their improvements on the source code. Despite it being free, I don’t know of anyone in the class who uses Linux or GNU other than Mike. I think that is because I have not seen a lot of computers that sell a software system that is not Windows. I have been inspired to download Linux on my computer too to support the movement.
Peter Norvig’s Teach Yourself Programming in Ten Years
This article nails home the point that there is a big difference between having a familiarity with programming/a specific program and having a deep understanding of it. I particularly like the referenced Alexander Pope quote, “a little learning is a dangerous thing.” Many mistakes can be made when we act on something that we think we know, rather than something that we truly know. In fact, I would argue that most times we would be better off knowing nothing about something rather than a little bit about it, because that way we can’t be lulled into a false sense of confidence. I also liked Peter Norvig’s “recipe for programming success.” In particular, I liked his emphasis on learning by doing. I have always personally found that I learn the best by immersing myself in the task and trying things out, failing, and then adapting.
Paul Graham’s What to Study in College
I learned that programmers tend to sort themselves into tribes according to the type of work they do and the tools they use, and some tribes are smarter than others. At first, this struck me as an odd observation. I thought that if it is well-known that there are different tribes, and that some are smarter than others, then why would anyone choose to be in the less-smart tribes? When I investigated further by reading the linked article, I learned that Paul Graham did not mean that some tribes are dumb and others smart. He meant that some are more passionate about programming than others, and that passionate programmers typically turn out to be better programmers.
Jeff Atwood’s How To Become a Better Programmer by Not Programming
The content of this article reminded me a lot of the concept of “product-market fit” in the startup world. A startup or entrepreneur can spend thousands and thousands of hours perfecting a product, but all their time will be for naught if nobody wants to buy/use it. I like this analogy because it reminds programmers that they will do their best work when doing something they are genuinely interested in, and that this will be magnified if many other people are interested in it as well.
Hacker’s Manifesto: The Conscience of a Hacker
I thought this was a very thought-provoking and relatable piece about how so many hackers (particularly young ones) feel trapped by their schools and day-to-day lives. It paints a clear picture of how misunderstood hackers and the hacker community are. They get shoe-boxed and stereotyped as screw-ups and under-achievers when really they are just curious and passionate about different things. It is satisfying to know how important this community has become to the world.
- Paul Graham’s What to Study in College (+1)
I liked how this article likened learning advanced topics in school to a football player lifting weights. I also learned the importance of personal projects in college, outside of in class assignments, and how grad school works especially for computer science. As an undergrad at a liberal arts college, I learned from this article to take advantage of all the classes I could be taking, even the ones that aren't related to my major.
- Jeff Atwood’s How To Become a Better Programmer by Not Programming (+1)
At first, I didn't like this article because I've always hated the idea that some people are naturally better at programming than others. I think that line of thinking dissuades a lot of people from computer science, and makes it a lot less accessible to learn programming. However, I do agree with other parts of the article, like how it's important to be a holistic person outside of what you can code.
- Mr. Robot Season 1 (+2)
I really enjoyed how the show brings into play the ethics of hacking and privacy, as well as the question of if vigilante hacking can be used for good. I liked the social and political commentary on capitalism and social class, as well as how the hacking was meant to be accurate and not just random screens of code. Personally, my favorite episode was the first one but I enjoyed the plot twist and use of an unreliable narrator.
Reading Non-Fiction
1.Paul Graham's what to study in college : My major take-away is how on our road to becoming hacker we need to be consistently learning from others who are already good hackers. I learned the importance of working on individual projects outside of class as this will help in improving my programming skills. I, however disagree with what he said about the social sciences focusing on "useless" issues. I also believe that what a person should study should be dependent on what they love doing instead of mere statistics about the program.
2.ESR's How to become a hacker : I really loved the part about the hacker culture being independent of the particular medium the hacker works in, meaning that anyone can become a "hacker" in their own field of study even if it is not CS! I also got a clearer distinction between a hacker and a cracker. The article also emphasized on collaboration and how no problem should ever be solved twice, but it can only be improved.
3.Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) : I loved how in this article interest is put forward as one of the keys of improving one's programming skills. It emphasized how the level of performance can be increased even by highly experienced individuals. learning more languages also helps to improve one's programming skills.
4.Jeff Atwood's How To Become a Better Programmer by Not Programming : In this article, Bill Gates was quoted as saying that experience does not programming easier and does not improve ones skills. I highly disagree with this notion because in any area of life people can always improve and there are not just two extreme sides, the good and the bad programmers. I feel like Peter Norvig gives a better outline of how people can improve their programming skills.
Caveat Task: Hacker Culture
Jasmine Tan
| Item | Points | Total |
|---|---|---|
| Jeff Atwood's How To Become a Better Programmer by Not Programming | 1 | 1 |
| Paul Graham's what to study in college | 1 | 2 |
| Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) | 1 | 3 |
| ESR's The Cathedral and the Bazaar: The Cathedral and the Bazaar | 1 | 4 |
| ESR's The Cathedral and the Bazaar: The Mail Must Get Through | 1 | 5 |
| ESR's The Cathedral and the Bazaar: The Importance of Having Users | 1 | 7 |
| ESR's The Cathedral and the Bazaar: Release Early, Release Often | 1 | 8 |
| ESR's The Cathedral and the Bazaar: How Many Eyeballs Tame Complexity | 1 | 9 |
| ESR's The Cathedral and the Bazaar: When Is a Rose Not a Rose? | 1 | 10 |
| ESR's The Cathedral and the Bazaar: Popclient becomes Fetchmail | 1 | 11 |
| ESR's The Cathedral and the Bazaar: Fetchmail Grows Up | 1 | 12 |
| ESR's The Cathedral and the Bazaar: A Few More Lessons from Fetchmail | 1 | 13 |
| ESR's The Cathedral and the Bazaar: Necessary Preconditions for the Bazaar Style | 1 | 14 |
| ESR's The Cathedral and the Bazaar: The Social Context of Open-Source Software | 1 | 15 |
| ESR's The Cathedral and the Bazaar: On Management and the Maginot Line | 1 | 16 |
| ESR's The Cathedral and the Bazaar: Epilog: Netscape Embraces the Bazaar | 1 | 17 |
| ESR's The Cathedral and the Bazaar: Notes | 1 | 18 |
Points: 2^4 (16) + 2^1 (2) = 18
@jasminextan Good job :) I've added +1 EC in sakai :)
Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days)
I liked Peter Norvig's advice! I have always been told to put myself in a position where I am the worst, so that I can learn from the best, but I agree that being the best in a project also teaches you valuable lessons, such as leadership and self-discipline. I hope to learn many more computer programming languages as per Peter's advice.
Paul Graham's what to study in college
I learned that, for most people, they learn the most outside of class when they find a project they are passionate about. It can be hard to program your own project from the start, so one way to find projects is through programmers who know more than you, like professors. It's ideal to find a balance between the two, because one gives you motivation and the other gives you structure.
Jeff Atwood's How To Become a Better Programmer by Not Programming
It's interesting to hear that good software engineers must be good at everything else that goes on around programming, but it makes sense. It seems that the best programmers understand how every engineering role is interconnected and how the company functions as a whole. As I get older and look to join the tech workforce in the future, I want to carry this with me and try to understand other roles along with just my own.
I enjoyed hacker's manifesto. It's interesting stepping into the mind of "criminals" who were prosecuted for their curiosity. Programmers shouldn't be punished for following their curiosity, but on the other hand, it depends on the severity of their crimes. I'm sure the most severe hacks committed didn't occur accidentally. All hackers shouldn't be lumped together if they have different intentions.
- War Games (+1)
This was a fun movie, and it was interesting to see how hacking has evolved over time. In the context of the late Cold War, it's also interesting to think about the ways technology is intertwined with social and political interest. I must admit, by today's standards, some of the actual hacking seemed a bit dated and unrealistic. I wonder if this is because the technology was more simple and accessible at the time, or if the move oversimplifies the process; maybe both.
- CitizenFour (+1)
As the digital world becomes increasingly reliant on the non-digital world (and vice versa), I think this is an extremely important movie and case study. With increasing data about the non-digital world, institutions like the government and other corporations might have the ability to enhance the quality of life for citizens / users by increasing safety, integrating technology into life more seamlessly, or providing tools to make tasks more efficient. Some of these ideas, however, come at the expense of personal privacy and digital autonomy. The movie (and Ed Snowden) hammered home that these are huge questions, but I wish they would have possibly explained the legality and legal history of first amendment laws in the digital sphere.
- Paul Graham's what to study in college (+1)
I found myself deeply identifying with some of the advice Paul Graham gave in his article. In my mind, I think it's crucial to pursue something out of interest, but not remain totally fixated on it. Dipping your toes into multiple different buckets it quite worthwhile in the long run as real-world problems often combine perspectives from multiple disciplines. Effective decision making can't rely on just one perspective. I disagreed with Paul's view that the social sciences were 'bogus' and suspect to intellectual fashions. If he'd look into the history of some of the 'hard' sciences, I think he'd find that no field may be separated from social or cultural understandings and that the hard sciences have been susceptible to these very same issues.
- Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) (+1)
I really liked this article, and found that it reaffirmed many of my beliefs one expertise and hard work. I always like to think that one can't really short-cut 'the process'. Norvig takes this idea and runs with it, defining what his idea of 'the process' represents. Norvig things that versatile coding experiences in multiple domains, engaging with programming community, and lots of time can lead one to success in their domain. I'd argue this is true for most disciplines, but I think Norvig should take a page from Paul Graham's book. To me, the key to being able to put in 10,000 hours in the first place is curiosity, balance, and persistence. Before devoting an incomprehensible chunk of time to learning to be a programmer, I think it's important to identify and reflect on why one might be pursuing the field in the first place.
DRAFT Revolution OS (2001) I am interested in Richard Stallman's explanation of the concept of copyleft—allowing users to change and redistribute copies so long as it remains free and open to others. It is also interesting that this prevents monopoly power regarding who can support a program. Eric Raymond's description of his paper, "The Cathedral & the Bazaar," makes me wonder whether the decentralized "bazaar" model could be a viable strategy for other industries. I am also fascinated by the differences between the philosophical "free software" movement and the practical "open source" movement.
The Internet's Own Boy: The Story of Aaron Swartz (2014) Aaron seems like an unusually and impressively precocious child. It is wild to me that he was able to keep grabbing JSTOR articles using shell script and Python code—both coding languages that we have learned. I wonder what he was trying to do with all of that data—the idea of using it for a research project seems very interesting. The Computer Fraud and Abuse Act seems like an overreaching regulation. Aaron's death is tragic, and I wonder what he would have been able to do had he lived longer.
"Teach Yourself Programming in Ten Years (not 21 days)" I think the advice to be the best programmer on some projects and the worst programmer on other projects is very helpful—while it is good to learn from others who know more than you, it is also good to learn by teaching others who know less than you. The advice to learn at least a half dozen programming languages seems daunting. I think that this culture caveat task is a good way to dip our feet into engagement with the programming community.
"What to Study in College" I am intrigued by his advice to learn about specific cool problems—I wonder what kind of problems I could find like that while studying at CMC. I want to heed his advice about math, but I am learning that he is correct that good mathematicians are often bad teachers. I thought his argument about the social sciences being ideological was funny and generally accurate. As a PPE major, however, I was sad to hear that he thinks that philosophy talks about important problems in a useless way. People often drop out of majors at CMC—does that mean that the majors they drop out of are inherently more valuable? I think I still need to answer whether I want to do research long-term before I decide whether to go to grad school.
"Hacker's Manifesto" In some ways, I identify with the author—I never liked showing my work in my math classes and enjoy working with predictable computers. In other ways, I don't harbor his same resentment for authority or disillusionment with the education system and broader society. I have my institutionalist streak. In a similar way, it seems like CMC is a poor place for fostering genuine hacker culture—at least as I've grown to understand hacker culture through this caveat task.
"How To Become a Better Programmer by Not Programming" I agree with this article that programming skill is often developed by fostering an interest in the subject about which you are programming. I have found that I have done my best work whenever I have been really interested in the topic. Mike's classes have done a really good job of fostering this kind of interest through engaging projects like the Reddit bot and Twitter clone.
What to study in college
At least this article confirmed my lack of desire to go to grad school. Other than that I feel like he does have a point when mentioning that we should study what other people find hard and also highlighting the importance of math. I think social sciences can be very useful when taught correctly and given correct application. I agree that people who are very good at math tend to be terrible at teaching it.
Teach yourself programming in ten years
Ironically, this article was inspiring more than anything else. There is nothing I agree more than the phrase, “learn by doing.” I think this is how I have acquired most of my valuable lessons and also had the most fun learning. Now I guess I just have to find myself a silly little project I am interested in and get to work.
How to become a better programmer by not programming
This article made me feel a little bit more hopeless than the last one. I have always thought of myself as someone who can put his head down and figure something out regardless of how long it takes, but this article seems to suggest that that would never get me very far. That being said, highlighting the need for social skills and management made me a little bit more hopeful.
The internet's own boy
This documentary kinda makes me realize that sometimes the government doesn’t really understand the implications of the existence of new technologies. It’s also very frustrating. I’ve lost count of the amount of times that I have tried to read an academic article and have been deprived of knowledge by a paywall, so in that sense I do sympathize with Aaron's attempts to make information public and to establish copyright law for a world with the internet. Still, despite my admiration of Aaron’s love for learning and agreeing with his ideology, I found this film unsettling. I don’t know if this is because of the incredible amount of power that can be wielded by a genius with a computer or by society’s attempt to suppress their genius.
Paul Graham's what to study in college.
In this article, I liked the phrase “College is where faking stops working.” He implies that the only way to get into grad school or land a job at a big corporation is to do what I love, which resonates well with me. This is because for grad school admissions, standardized test scores or grades do not matter as much and getting to know the professors well enough is the most reliable indicator of success. And to do so, I need to thoroughly enjoy doing what I do.
Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days)
One of the key takeaways from this article for me personally is that learning to program takes time and this is reassuring, considering I spend 10+ hours on terminal every week. I also liked how he emphasized the importance of making friends and working with programmers of all levels, better and worse, as there is much to learn from both.
Jeff Atwood's How To Become a Better Programmer by Not Programming
This was an interesting read. While I agreed that it’s good to be an all rounder and ‘cultivate passion for everything else on and around the programming’, I am not sure if I agree with him saying that there is a vast difference between competent and mediocre programmers. He argues that a mediocre programmer will not become a competent programmer just by programming and that we should instead not program. I think, just like everything else, anyone can master a skill by practice and dedicating years to the craft, like what Peter Norvig’s said in his Teach Yourself Programming in Ten Years (not 21 days) article.
Phrack hacker's manifesto This was an interesting read. I never thought hacking to be something that could be an activity done out of curiosity. I absolutely am able to relate to that and have a different opinion of hacking now
- Peter Norvig’s Teach Yourself Programming in Ten Years (not 21 days)
I really like the emphasis that Norvig places on experience, hard work, repetition, and deliberate challenges to oneself. My dad would always tell me the same growing up, and it always stuck with me. Like Norvig, he would always say that nothing that is worth something is easy, and I have always lived by this principle. It’s nice to see that the most successful people also live by this.
- Jeff Atwood’s How to Become a Better Programmer by Not Programming
I fully agree with Jeff Atwood’s theory that to be good at programming, one’s interest must be well-rounded. However, I think this goes for any industry out there. Further, I think CMC does a great job at preparing their students for this well-roundedness.
- The Mentor’s Hacker’s Manifesto on phrack
I really liked this piece because it really puts into perspective how admirable something like hacking can be when we put it into perspective with all the other actions that are being performed by the people that are making the laws and vilifying hacking. Further, hacking is a challenge—an obstacle to overcome, thus making it a knowledge endeavor.
- Short Wave Radio Hacking on phrack
I always knew radio hacking was a thing from media (i.e. movies, tv shows, etc.), but I think it’s so cool to actually have access to the entire world!
Paul Graham's What to Study in College I enjoyed the frank and direct tone that Graham took when approaching this writing as it seems very genuine and truthful. I have heard many times that one should explore all their interests and find what one like, and I agree with it because I find that I excel at things I enjoy. I also find it interesting how he deemphasized math as part of AI since I know even professors at the 5Cs like to consider Computer science a discipline of math when in reality coding requires little knowledge of advanced mathematics.
Jeff Atwood’s How To Become a Better Programmer by Not Programming From my experience, there is a stigma associated with programmers in the sense that all they do is sit at a desk in solitude and write code all day (which is very daunting to me). I enjoyed this article because not only did it emphasize doing what you’re interested in like Graham’s article, but it also highlighted how important it is for a developer to look at their code in the bigger picture of a project (industry, users, etc.) and not just the code itself. This is what mainly draws me to Product Management as a career path because I will be able to use my knowledge of what code can do/the best way to optimize code in order to improve a product by taking into account all the different aspects of it.
Peter Norvigs’ Teach Yourself Programming in Ten Years I agree that it is impossible to meaningfully learn Programming in such a short time and that people seem to increasingly want to find the least time-consuming ways to learn things, even if it means learning things in a worse way. I found the quote by Perlis interesting and also inspiring, as I have only ever learnt Python but really want to learn more languages to expand my programming knowledge (maybe even half a dozen like Norvig suggests!). I related to the concept of deliberative practice a lot – I find that my friends are able to study through reading the material but the best (and only) way for me to study effectively is by challenging myself with questions until I know all of the material.
The Mentor’s The Conscience of a Hacker (Phrack) This was the most eye-opening piece of the four I’ve read because it showed me another side to hacking. I’ve always associated hacking with negative connotations because even just the word sounds brutal and the act of hacking is usually seen as wrong in most people’s heads. This article made me think about how young teenagers often turn to hacking or other things that make them feel challenged in a new way outside of school, but then get framed as criminals. I now realize that some people do it not to be malicious or for crude personal gain, but because of a desire to explore new things and be curious about how far they can challenge themselves.
Peter Norvig's Teach Yourself Programming in Ten Years
I think Peter does a great job at summarizing the key points for programming success. He explains that success does not come overnight, but rather from continuous effort over a longer period of time. This is application to basically everything since knowledge takes time. I really relate with his point on "learning by doing". Just like many things in life, reading about it is not very useful. Life is about application, which we can only "learn by doing".
Jeff Atwood's How To Become a Better Programmer by Not Programming
I think Jeff's argument that while experience is important in software development, it is not the only factor that determines whether someone is a good programmer. His quote from Bill Gates explains this issue very well and suggests that natural aptitude and personal dedication are also very important factors in becoming a good programmer. To expand on those points, Jeff recommends cultivating a passion for everything that accompanies programming. I think this is very valuable because treating programming as a standalone topic is ignoring many other important aspects that come with it. Therefore, good programmers acquire knowledge about users, the industry, and the business to properly enhance their work.
Paul Graham's What to study in college
Paul claims that to be a good hacker in college, there are two main things to focus on: become very good at programming and learn about specific problems. Additionally, I should take courses that genuinely interests me and pursue it with passion without worrying about external validation or competition. His argument is consistent with what I have read so far, so it really emphasizes the point of doing something I enjoy doing.
ESR's How to become a hacker
I think it is interesting how the term "hacker" is not just applicable to software hacking; it is a attitude. It is about solving problems and finding joy in solving these problems. Once an individual embodies this attitude, they can call themselves a hacker. I think it is also very interesting how the hacker culture is so accepting, and hacker's called other hackers "kindred spirits".
Teach Yourself Programming in Ten Years) The biggest takeaway from this article is that learning takes place by doing, and not doing for only a short period of time. I resonate with Peter’s statement about using “how-to” books as a reference guide, but that these should only be used as a tool, and not a shortcut or path to obtaining experience in the field.
what to study in college I found Paul’s advice relevant to the liberal arts education at CMC, especially the quote “try to learn something about everything and everything about something.” I think the harder part of this quote is to find exactly what you love. I think Paul brushes over this topic, and doesn't clarify how to know if you love something, or if you don’t love something. I think that many college students feel like they don't absolutely love one area of study, but kind of just choose their major because it's convenient if they heard it was a good major to pursue.
How To Become a Better Programmer by Not Programming Jeff Atwood’s writing explains how it is important for coders to realize and entrench themselves in things other than programming. This looks like finding your strengths and weaknesses, and branching out in ways that will enhance the skills you already have. Some of the comments on this post were interesting, claiming that the more coding you do, the better coder you would be. While I think that practice is very important, Bill Gates touches upon this, saying that some people just are inherently stronger at coding than others (and that practice will not make up for this stark difference).
How to Become a Hacker ESR touches on hacker culture, specifically how posting open source software is important and will lead to you being high up on the hierarchy of hacking. I found it surprising that ESR encouraged people to learn English. I'm unfamiliar with other languages of coding, but I assumed that there were other languages that could also be used. This made me think about what coding is like in different countries where English is not the primary language, and whether or not coding is taught in these schools.
The Hacker’s Manifesto I found this manifesto very interesting and surprising. To me, it seemed like the hackers were defending themselves, and explaining their importance in society and why they enjoyed doing the activities they did. At the same time, it conveyed creativity and curiosity which I have experienced myself when working on coding projects.
CitizenFour I thought that the way the journalist portrayed her interactions with Snowden was riveting, and added to the intensity and explosive nature of what he was doing. I also thought it was cool to see the ways in which they communicated and how it seemed somewhat familiar to what we’ve seen in this class (using some sort of shell or terminal). The documentary also shed light on the sheer volume of data that the government has been collecting on people - a terabit every second?!?!
What To Study in College I thought that the start of the article was rather pessimistic, but I appreciated his sentiment at the end: that being, do/study what you love. While I’ll have to disagree with his statement about the social sciences being “useless” in practice (being a Org Studies major at Pitzer), I see the point that he’s trying to make: that you should know something about everything and everything about something. I have loved my org studies classes, now I know so much more about sociology, psychology, and business management, but I have yet to understand everything about any single subject we study.
How to Become a Better Programmer by Not Programming I thought this article was so interesting and incredibly applicable to myself and my career plan. While I’m not the most talented programmer, assignments take me ages, and concepts take me longer to understand than I imagine they do for other people in this class, I am very passionate about understanding human dynamics. I am an org studies major, essentially a interdisciplinary study of workplace sociology and psychology, and in my future I hope to do what Bill is talking about: approaching work as an exercise of managing people dynamics, with an understanding of the technicalities of engineering.
Teach Yourself Programming in Ten Years (not 21 days) This article is no exception to the general theme that if you want to get good at something, you have to fall in love with it. I agree that it takes this passion, but also commitment, to achieve anything close to expertise in any given subject. I think the author articulates an interesting point in the end of his article about time commitment versus innate ability, and I don’t know what to make of this point. It seems like he says that while it takes thousands of hours to achieve expertise, still, some programmers will never be as good as others: is it pointless to put in this time and effort if you know you will never be as good as others?
Watching (non-fiction) 1 point:
CitizenFour (2014) CitizenFour (2014)):
It was a great documentary. First, I really liked how they included a significant part to the entire U.S. spying on Brazil leak scandal. I actually remember this from when I was a kid and my parents talking about how the United States basically had control over everything that we were doing online. Second, I really liked learning more about the small things people can tap into. I think everyone has an idea that the NSA is capable of watching you if they really want to, but just watching the tiny things Snowden pointed out like disconnecting the hotel or hiding all the pro-bono lawyer phones was extremely interesting to me, it makes us all think about how we can be watched today and in what ways one can simply find out a lot about us.
Nonetheless, focusing more on his story than on the "espionage" specifics was a downside for me. On the perspective the documentary is filmed, they really emphasize how the government will try to make the story seem about Snowden and will try to make him the villain in order to shift the focus from how the government is conducting its observations. However, although the documentary does portray him as somewhat of a hero despite the government critique, they focus –for me– just a little bit on the specific leaks which made me want to dive deeper on them and not necessarily his story since, at the end of the day, that was his goal all along.
Reading (Non-Fiction): 3 points
ESR's How to become a hacker:
Although CS is not my major, I really enjoyed how the reading does offer advice that can be applied to other areas such an Engineering. I really connected to the advice on studying math. Taking classes ranging from Economics to Physics, I can completely see his point on how math is crucial to understanding a plethora of other things. Second, I connected a lot with my CMC experience when is mentioned that one must study other fields that are not necessarily in STEM. I completely agree with the position that intellectually challenging fields can aggregate a lot to one's experience.
I also really enjoyed learning more about how problem solving is crucial in future jobs, sometimes finding solutions to problems we might have, can lead to extremely impressive discoveries or solutions that can be applied anywhere. I do wish that the article had dived more deeply into specifics of one can become a better hacker without joining the CS field since that would be more applicable to my life.
Jeff Atwood's How To Become a Better Programmer by Not Programming:
I had heard a similar argument before several times, people that are bad at Maths, can get better, but there will always be those with more talent for it that will surpass them with less experience and practice. I really liked how this argument was expanded into programming (a lot of Maths in the field coincidentally), however, the author did not take such a bleak approach and really dove deep into a more people centered approach. I had never thought of the idea of falling in love with the other aspects of a subject in order to fully enjoy it, be that the business the people that work with it, or what goes behind it.
I think that this is can be applied to other areas as well and not just programming. Sometimes the best thing is taking a step back, another breath of air. Thus, something I disliked about the article was how short it was and I wished that the discussion could have went further, since I believe there is a lot more to this topic. The comment section is quite interesting and it is a 10/10 recommend.
Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days):
I really enjoyed how this article gives a great example to two common misconceptions that it highlights. First, is that we can learn something extremely fast if we just follow a specific methodology. True, there are things that we can do to speed up our learning as the author himself highlights, but it is also extremely difficult to completely master a skill in such a short amount of time and this is applicable to too many situations not just programming. Second, I liked how in the steps the author suggests us taking in mastering programming there is a staunch correlation to elements of the other articles: both the idea of collaborating with others and learning other things that go behind or are similar to your area.
One thing that I actually disliked is the citing of the 10,000 thousand hour rule though. Several, sources actually refute this argument so I believe it made the author's point a little less convincing. Nonetheless, I do throughly agree with the point that experience is key to learning something and that knowing everything that comes from a book is not the best step to take when truly mastering a particular skill –not just programming.
Total: 4 Points
I enjoyed this article; I think his sentiments about non-STEM subjects can feel reductive but I understand why he says them. What I took away was the importance of finding interesting problems (or chasing curiosities, as I interpreted it). I also think the line at the end is key - to do what you love (which sounds like a platitude, but the linked article offers more depth).
How To Become a Better Programmer by Not Programming:
I think the main sentiment of this piece generalizes to nearly any occupation, and is just solid life advice in general. Whether you're a biologist, writer, actor, teacher, having exposure to diverse life experiences and ideas is a crucial part in cultivating genuine interests and perspectives that inform your work and way of living. If you look at work schedules of many great people in history, they're not always working all the time. There is commonly an emphasis on deliberate rest.
Teach Yourself Programming in Ten Years:
I also like the main argument that this article makes, which is to focus on learning by doing and to compound your efforts. There's a quote that goes: "The best time to plant a tree was 20 years ago, and the second best time is right now". I think this mindset is how I tend to approach my own interests and skills - sort of like a byproduct of following what feels compelling.
I most liked the subsection "The world is full of fascinating problems waiting to be solved". I tend to think about this through an artistic, creative lens, where the phrase could maybe be modified to something like "The world is full of fascinating visions waiting to be manifested". The same ideas follow, where an artist gets a thrill in the creative process of making things and where they have to believe in their ability to learn and adjust on the fly.
Paul Graham’s What to Study in College I learned that in order to become a good programmer, I must challenge myself with hard problems on projects that I find engaging. I also learned that I do not need that much math to become a good hacker. However, since computer science stems from mathematics, I still believe studying math will help with computer science programming. One thing I didn’t like was that he was totally dissing social sciences, which was annoying since I am an Economics major. I do agree with him that many social sciences are changing in response to political pressures. Overall, I believe that having passion in something will create curiosity which drives a programmer to challenge themselves.
Jeff Atwood's How To Become a Better Programmer by Not Programming I learned that a programmer after reaching the 97th percentile of programmers with the experience of about 3-4 years cannot become a better programmer from continuing to code but to cultivate passion for everything else that goes around programming. I liked this article because it addresses the problem with moderate and great programmers and presents a solution. I dislike how they believe that sometimes their still and always will be a divide no matter how much someone programs for between the best and the average developers.
Peter Norvig’s Teach Yourself Programming in Ten Years
I learned that collaborating with other programmers and reading other programs is more important than any book or training course. I dislike the statement that one must be doing something for 10 years to master the skill, but I like the concept of “deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes.” Overall, it takes time to become good at anything, and programming is no different than any other skill.
ESR's How to become a hacker I learned that the term hacker came from a group of expert programmers, but the media has given the name to what is referred to as crackers. Crackers are the people who are able to break into computers and other softwares and are not considered to be hackers. And to be considered a hacker, you must be able to solve problems, build things, and believe in freedom and voluntary mutual help. I also liked the recommended sequence of learning different languages and how they can make you a better programmer. Overall, this was a very lengthy article, but I enjoyed it!
Reading (Non-Fiction): (1 point each)
-Peter Norvig's [Teach Yourself Programming in Ten Years (not 21 days)] I like the honesty and logic to this article. As he said there are a lot of "how to learn ... in ..." books out there, on almost every category. And while these books may give solid ideas and foundations, no one can master anything in a short amount of time. Nothing that isn't already basic that is. I enjoyed this article though, it was short and to the point without droning on about its topic.
-Paul Graham's [what to study in college] This felt a lot longer than it needed to be, mainly because it seemed the author was giving their thought out opinion on what they were saying. It was still a good and informative article, but not one I would go back to read later because of its length.
-Jeff Atwood's [How To Become a Better Programmer by Not Programming] I enjoyed the opinion in this article, because it is different than most, and to the point. The saying practice makes perfect is saying that everyone knows, and that most people believe. You can also find people in lots of places that believe that discipline, hard work and practice can make you the best at anything. And it is hard to believe that those 3 or so things can make you better at things that some people have a natural talent for. So it was interesting to read an article where someone had a different opinion to this, though I do disagree.
-ESR's [How to become a hacker] I learned the difference between a hacker and a cracker in this article, and it was interesting to see what kind of community hackers have and the ideals they believe in. It is a lot nicer than what the rest of the world believes of them. It also teaches the basics of becoming a hacker in a short and sweet way, and why you should learn what you should learn.
What to Learn in College: I learned that there are many ways to become a good programmer. It is not just limited to paying attention in class, practice and experience is important. I also learned why professors give difficult assignments. I liked the reasoning the author gave as to why. He compared it to athletes lifting heavy weights even if they will never have to use that much strength while playing. I also liked his way of thinking, I agree with some. Even though I am not a fan of the social sciences, I have an appreciation for them. I did not like how he said that there is nothing new to learn in the subjects when that is false. There have been advances in the social sciences that new students will get to learn that old ones didn't. I liked how he is not afraid to give opinions even if I did not like all of them.
How to become a hacker: I learned the real meaning behind the word “hacker” and what the difference is between a real one and a cracker. I learned what it takes to become a good hacker, such as practicing until it sticks. I liked the advice that the author gave. It is easy to find on the internet “how to become a hacker” but the author gives reasoning to his advice, which makes it more informative. However, I did not like how a lot of the information given was common sense. Such as learning English.
How To Become a Better Programmer by Not Programming: I learned that if you are not good at programming within your first few years, then they believe you don’t understand it. It is not that you can’t get better, you can. One of the things I liked about the article is how it redeems itself by saying that you can get better. However, I do not agree with the method. According to the article, you can get better by exploring other aspects of coding, such as career paths or the business side. I do not agree with this because I believe you can get better at coding overtime. If not, how did I and many others do so?
Teach Yourself Programming in Ten Years: I learned that there are many ways to teach yourself programming. These ways range from books to working with other programmers. I enjoyed that the author offered actual advice. He acknowledged that being book smart is not enough and that experience is key. Experience takes time, you have to be willing to put in whatever time it may take. One thing I didn’t like was how short it was. I genuinely found the article informative and wish the author provided even more detail.