mikeizbicki / cmc-csci046

CMC's Data Structures and Algorithms Course Materials
53 stars 153 forks source link

Caveat Task: Hacker Culture #450

Open mikeizbicki opened 1 year ago

mikeizbicki commented 1 year ago

Reply to this issue with a summary of what you did for the hacker culture task. See the task instructions for instructions.

buffeinstein commented 1 year ago

Reading (Non-Fiction): (1 point each)

  1. 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."

  2. 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.

  3. 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:

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

jbecker7 commented 1 year ago

Reading (Non-Fiction): (1 point each)

  1. 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.

  1. 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)

  1. 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).

  1. 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.

ben-smith23 commented 1 year ago

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!

mikeizbicki commented 1 year ago

@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.

oklipfel commented 1 year ago

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.

oliviastevens11 commented 1 year ago

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:

  1. 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.
  2. 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.
  3. 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.

FallynB commented 1 year ago

Zero Days - Security Leaks for Sale

  1. 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.
  2. 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.
  3. Cybersecurity is becoming increasingly important as we technologically evolve as a society.

Teach Yourself Programming in Ten Years

  1. 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

  1. 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.
  2. 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.
yomnashousha commented 1 year ago

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.

tennisoctocat commented 1 year ago
  1. 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.

  1. 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.

  1. 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.

  1. 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.

abizermamnoon commented 1 year ago

Reading (Non-Fiction)

  1. 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.

  2. 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.

  3. 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)

  1. 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.
wdeforest23 commented 1 year ago

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.

angzla commented 1 year ago
  1. 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.

  1. 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.

  1. 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.

tnyamuronda commented 1 year ago

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.

jasminextan commented 1 year ago

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


Jeff Atwood's How To Become a Better Programmer by Not Programming

I think that this article is a great introduction to the larger picture beyond the technical skill of programming when it comes to being a programmer. It heavily emphasizes the importance of developing a well-rounded skill set and connecting with both engineers and customers if you really want to do well in the industry.

Paul Graham's what to study in college

Honestly, maybe I should drop out of college. This article does a dive into whether college is actually necessary for success, making the point that it is practical skills and passion that drives success. I personally think that the structured learning environment of college is kind of necessary as most 18 year olds are dumb and lack the motivation, drive, or ability to succeed without support, but I certainly understand why it isn’t for everyone.

Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days).

Okay, maybe I won't drop out of college. This is such a wake-up call in terms of what it actually means to be an expert programmer. There are so many articles and videos telling you “oh, just take the 6 month Google course and you can land a job at any SWE firm”, but the reality is that you have to be realistic, practical, and dedicated to become skilled. I appreciate his really applicable approach on tips for effective learning.

ESR's The Cathedral and the Bazaar

The Cathedral and the Bazaar "The Cathedral and the Bazaar" certainly convinced me that the bazaar model is much better than the cathedral model. Ultimately, I agree that community and collaboration are key when it comes to software development and I love that the culture has sort of become one that embraces the collaborative open-source approach.

The Mail Must Get Through

I appreciate the focus on code-sharing, collaboration, and expanding existing solutions, and it made me think of this class. I love that we are encouraged to collaborate and help each other when facing problems, as it makes the process of writing code so much less painful.

The Importance of Having Users

User involvement is the heart and soul of open-source development. I really liked the dive into Linus Torvalds’ linux dev model and the Emacs List library, as it provided actual examples of how open-sourcyness and collaboration are drivers of innovation and development.

Release Early, Release Often

This chapter really touches upon the importance of frequent release cycles when it comes to open development. It continues to push the benefits of community-driven development and how iteration and collaboration help to refine a project.

How Many Eyeballs Tame Complexity I really liked the discussion on bug reporting and I think I understand what he’s talking about when it comes to Brooks’s Law. Ultimately, when open source development is applied, because it makes it so much easier to communicate between developers, adding more devs doesn’t hinder the process.

When Is a Rose Not a Rose?

This is my favorite quote from this series of writings: “Smart data structures and dumb code works a lot better than the other way around.” Fundamentally, if you value the structures of whatever you’re building, listen to beta-testers’ feedback, and work on making your systems efficient, clean, simple, etc, you’ll be much better off.

Popclient becomes Fetchmail This chapter is all about recognizing user ideas and reframing problems when you’re developing a program. This is something I’m super passionate about within my own work in product management, and I really liked the analogies of the puddles and the ants.

Fetchmail Grows Up I have such a running list of things to keep in mind when developing something now; I mean, just in this one chapter, I’ve learnt the importance of solid design ideas, good engineering judgment, and being able to adapt to user needs. I also really appreciate the emphasis on keeping code clean and the importance of continuous improvement.

A Few More Lessons from Fetchmail This chapter totally blew, as I despise syntactic sugar, and one of the main takeaways is that “When your language is nowhere near Turing-complete, syntactic sugar can be your friend.” At least I can appreciate the lesson on security and the difference between appearing secure and actually being secure.

Necessary Preconditions for the Bazaar Style I really like that this chapter touches on the value of a solid project leader (especially given that I want to go into product management). I think that it really highlights the value of soft skills like communication, people skills, and making the work environment likeable and healthy (so people stay).

The Social Context of Open-Source Software This chapter took a bit of time for me to understand fully, and I still don’t really think I’m there yet. I think this is a more technical take on how to push the full potential of open source development through effective leadership, and I would love to read more about Kropotkin's “principle of shared understanding”.

On Management and the Maginot Line Once again, we are comparing traditional management tactics and open-source development. I think it makes a great point on the community’s ability to self-select, volunteer, and create a culture of collaboration that pushes the entire group forward. I would love to see this mentality and culture applied to other fields.

Epilog: Netscape Embraces the Bazaar

What a solid epilogue. I really like that this is wrapped up all nicely with the insight into the beginnings of the open-source movement and the influence of this piece. It provides a solid foundation to allow the reader to reflect on what really matters within software development.

Notes

These are just some final insights into open-source dev, emphasizing the importance of transparency, peer review, and flexibility. I liked reading about the EGCS project, which really embraced the bazaar-model.

mikeizbicki commented 1 year ago

@jasminextan Good job :) I've added +1 EC in sakai :)

maxinetamas commented 1 year ago

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.

Phrack hacker's manifesto

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.

npcrites commented 1 year ago
  1. 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.

  1. 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.

  1. 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.

  1. 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.

henrylong612 commented 1 year ago

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.

PArellano02 commented 1 year ago

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.

tylerting commented 1 year ago

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

epaisano commented 1 year ago
  1. 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.

  1. 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.

  1. 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.

  1. 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!

josefinebystrom commented 1 year ago

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.

pingff commented 1 year ago

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".

norawillett commented 1 year ago

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.

Mross2858 commented 1 year ago

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?

StefanoFormicola commented 1 year ago

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

justin-is-away commented 1 year ago

Undergrauation:

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.

How To Become A Hacker:

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.

Cameronshir11 commented 1 year ago

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!

Asiasm7 commented 1 year ago

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.

luisgomez214 commented 1 year ago

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.

deriksuria commented 1 year ago

Reply to this issue with a summary of what you did for the hacker culture task. See the task instructions for instructions.

Paul Graham on College (1 point) What I found surprising in Graham's article was his stance on social sciences, specifically psychology. While he belittled the value of social sciences in general, he in the next paragraph talks about the value of taking difficult classes in departments like history and economic history. I found this to be a bit contradictory. Furthermore, I disagreed with Graham's view of going to graduate school only if you want to do research as a career. In today's job market, many roles in and outside of the tech space require postgraduate experience.

How to Become a Better Programmer by Not Programming (1 point) To be honest I had trouble wrapping my head around the core idea of this article- namely that you're either good or bad at programming. I understand (and accept?) that not all programmers are created equal, and that working on your interests might motivate you to work harder. But if there is an inherently, predetermined skillset for programming, then that goes against the entire notions that we can work on ourselves and our skills to become better.

Mr. Robot Season 1 (2 points) I really liked the first season of Mr Robot and plan to continue watching the next few seasons. Every episode or plot development, I found myself exploring layers upon layers of critiques and struggles. It's not only about the Elliot's personal struggles in a world where he feels like he does not belong, but also exposes and comments on generational class inequality. All of this is in relation to technology as a tool to resist, oppress, and instigate change.

meghnapamula commented 1 year ago

TOTAL: +4 points

Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days): +1 POINT I enjoyed this article and I agree with the point that it made early on that many people these days seem to be in a rush to learn things, including programming. I enjoy the point that the article makes that the key to develop expertise is deliberative practice. I was interested in the idea that not only repetition is necessary but that it is necessary to challenge yourself with a task that is beyond your current ability. I agree that the best kind of learning is learning by doing, as Norvig states here.

Paul Graham's What to Study in College: +1 POINT I really enjoyed reading this article. Graham’s lighthearted tone, easy-to-understand language, and jokes sprinkled throughout made it enjoyable to read. Additionally, the topic felt very relevant to me as a college student. I appreciated the tips that he gave for those in college if they want to become a good hacker. It seems from reading his article that to become a good hacker, one mostly needs to be self-motivated to do projects on their own and practice a lot. My favorite part of the article was the “Everything” section where he talks about his thoughts on different majors and disciplines. I thought this was really interesting as I have a variety of interests but my parents have always suggested that only certain majors are worth pursuing. Graham notes that we can learn some subjects better by just learning them non our own than by taking them as a major. He also mentions that the social sciences are so affected by intellectual trends that they are not worth studying. This was really interesting for me to think about and I enjoyed reading his take on it.

Jeff Atwood's How To Become a Better Programmer by Not Programming: +1 POINT I thought this was a very interesting article. I hadn’t really thought about this idea before, because I feel like all of the advice I have heard about the subject has been that practice makes perfect and that the only way to improve is to practice as much as possible. However, this article states that after a certain point, our skill level at coding is somewhat fixed, and that after that point, the only way to improve is by cultivating a passion for the things that surround the coding itself, and by gaining real-world skills that help with understanding the applications of the coding and the B2C and B2B experience. After reading, I agree with the point this article is making.

ESR's How to become a Hacker: +1 POINT From this article, I really enjoyed the section on “The Hacker Attitude.’ It was interesting to see how a lot of the core tenets of being a hacker revolve around efficiency in some way. For example, the idea that no problem should ever have to be solved twice or the idea that boredom and drudgery are evil both clearly revolve around efficiency. At the same time, the article makes it clear that a true hacker needs to have a passion for what they are doing and it is not about working for anyone but oneself. This was interesting to me because I have always imagined a hacker as something very different from how this article described it. So, I have learnt a lot.

pulsar-heart commented 1 year ago

Peter Norvig's Teach Yourself Programming in Ten Years This really struck a chord, because I do think that with a lot of quantitative fields like coding, math and physics, success is assumed to be largely a matter of innate talent--particularly with coding, that is also assumed to imply that if one has talent one should know things quickly, or at a very young age. But if skill is at least as much a matter of effort, in my opinion that actually takes the pressure off; if it's effort that matters, it's worth it to keep trying even if you make a lot of mistakes at first.

Paul Graham's what to study in college I really enjoyed Graham's closing advice-- that the best way to be successful is to do what you love. I agree with him that solving challenging problems is important, and that genuine passion for the subject matter very value to accomplish that. I disagree with his emphasis on intelligence, as I believe that while people do have differing natural skillsets to work with, intelligence is often simply used for elitism. I'm also concerned that when he wrote that "you can skip ... the various departments created recently in response to political pressures," he was referring to departments like Africana Studies and Chicanx Latinx Studies. If so, I disagree vehemently.

Jeff Atwood's How To Become a Better Programmer by Not Programming I really like the idea that branching out and understanding the issues one is trying to solve by programming, as well as excelling at managing and communicating with people, are a crucial way of becoming a better programmer. This definitely changed my perspective a bit. I do question some of Atwood's thoughts on innate skill. I think a lot of factors affect people's performance and while some of those are unlikely to change over time, many are.

ESR's How to become a hacker I really enjoyed how the history of Linux, Unix, and open source software are tied into modern hacker culture. I think it's important to understand how things formed to understand how they operate now. Hacker culture from the outside can seem somewhat intimidating and inscrutable, especially since with mainstream media's portrayal of hacker's. I feel like I understand better now what it means to be a hacker.

baron-zeng commented 1 year ago

Total: (+4)

(+1) Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days).

I like how Norvig addressed the importance of dedicating deliberate time to learning anything—whether it be programming or other disciplines. Specifically for learning to program, it is insightful to learn that collaboration is an essential part of improving, and books alone will not be sufficient. Prior to learning more about programming culture through class and experience, my preconception was that programming is a solo activity.

(+1) Paul Graham's what to study in college

It was surprising to me how little value Graham sees in studying the social sciences and philosophy. However, the disconnect may stem from what we consider the social sciences and philosophy to be. I disagree that these subject areas were created purely "in response to political pressures". From my perspective, the social sciences and philosophy have a lot of overlap with math and history through my experience in the courses I have taken. On the other hand, I liked his emphasis on finding something you truly love to do because professors can tell whether a student is genuine or not.

(+1) Jeff Atwood's How To Become a Better Programmer by Not Programming

My understanding of this article is that it is important to keep your eye on the ultimate goal if your program when programming if you want to improve. In regard to Atwood's point about a developer either having "it" or not, I did not realize how important "it" or talent is in computer science. I am a bit skeptical about what he and Gates claim, but it may be that I am misunderstanding their point.

(+1) ESR's How to become a hacker.

I thought the Zen poem about becoming the master is quite romantic. The importance of English in maintaining standardization in computer science seems so obvious but never really occurred to me. It makes sense because programming is another language, so if many different languages were used to talk about it, confusion and miscommunication would be inevitable and unproductive.

adamzterenyi commented 1 year ago

Teach Yourself Programming in Ten Years, Peter Norvig (1 point) I thought Peter Norvig's viewpoint was important, especially considering how education – and especially STEM-based education – is changing toward a consumer-centric method. I agree with Norvig that there is a proliferation of learning content for programming, whether in the form of bootcamps, certifications, or online courses, that creates an environment where consumers are led to believe everyone comes with speed. I want to apply Norvig's insights on perseverance (and being fearless enough to routinely dedicate time over several years to a trade to properly learn it) to all aspects of my life, including coding.

What to Study in College, Paul Graham (1 point) I really enjoyed this article. While I am not primarily a CS or Data Science student and am more focused on the humanities and public policy, I found Paul Graham's views that you should do what you truly love and challenge yourself important. I'm primarily interested in both populism and urban planning. As I've expanded my interests in these subjects, I've noticed quantitative skills are helpful for social science research on populism and crucial for urban planning. If data science can help me in these fields and do what I love, it will help me. And demonstrating my genuine interest is the most important.

How To Become a Better Programmer by Not Programming, Jeff Atwood (1 point) I think the main takeaway from Jeff Atwood's article is not always that one should spend less time programming, but to be interested in things. Programming, for most programmers is a job or task that is certainly more of a means to an end. It is to create something or make it better, not to code in itself. For whom coding serves as a the ultimate pleasure, I can see taking the Graham article to heart and getting that Math or CS PhD. But for those like myself, who have interests where coding is central to success and the industry's functioning, it is these interests that will make coding important to me and rewarding enough to continue. That's why I have enjoyed so many of the assignments we've done: I was able to understand what we were creating and see how I could apply my work to other types of real-world tasks.

Hacker's Manifesto, The Mentor (1 point) Hats off to the Mentor for this piece – it is well written. The "Hacker's Manifesto" describes the demographic that enjoys programming on its own and makes me think back to middle school, where I got lost in simple "coding" (if you can even call it that) with Scratch and the Hopscotch app. While my passion for that type of recreational activity has died down, this article helped me understand why so many people enjoy programming today. I believe I have switched camps in the last seven years, to the social sciences and away from STEM. This makes me wonder about what could have been had I explored mathematics and STEM further. The article also serves as motivation to continue taking courses in my data science sequence.

NHendelman commented 1 year ago

Peter Norvig’s Teach Yourself Programming in 10 Years

I found Norvid’s suggestions to apply to much more than just coding. We—as a society—love shortcut solutions to tough challenges: a weightless pill, a crypto scheme, etc. The article reinforced the idea that there is a lot more to programming (and most subjects) than learning programming by itself. Practicing by doing, developing a genuine passion, and feeding off of other like minded individuals are great methods for success in programming and other fields. Just running through the motions of a subject typically generate limited results: steeping oneself in all aspects of a subject and committing extended time to it with a growth mindset, while more difficult, is much better approach to meaningful development.

Paul Graham's What to Study in College

I’m more mixed about Graham’s opinions. I like the end note of college being the best place to figure out what you truly like; however, Graham’s opinion to “skip the social sciences” like philosophy on account of their lack of clear answers is less agreeable. My CMC phil classes have made me revisit several assumptions I had about the world. I think they’ve made me rethink the way I live my life. While there are valid complains about the lack of practical impact that comes from philosophical discussion, I would argue that our social systems and economies stem from our attitudes, and if we never critically evaluate these attitudes (or are taught how to critically evaluate in general), we risk creating societies without rhyme or reason. Like Graham, I agree that finding the meaning of “is” is stupid, but in my experience, philosophy does much more to questioning our fundamental beliefs than defining ubiquitous words.

Jeff Atwood's How To Become a Better Programmer by Not Programming

I’m not sure how influenced I am by this theory. Bill Gate’s quote at the end, about people management as a strong component of people within Microsoft doing cool things, doesn’t necessarily apply to the 99% of students studying computer science still trying to get a grip on the subject like myself. I feel like the fruits of branching out from directly programming only come to bear when you’ve spend several years in the industry, which is not the position for most students studying CS.

ESR’s How To Become a Hacker

I really liked this post: the attempt to clarify the true meaning of a “hacker” as someone who likes to solve creative problems, resents boredom, is anti-authoritarian, and builds things instead of breaking them is really admirable for people like me who associate a negative connotation with the word. I found the list of things to do, and not to do, while not at a computer interesting, like reading science fiction and music in the positive category, and using a grandiose ID name in the negative category (I should change my xbox gamertag!). Overall a really enable read.

afr13dman commented 1 year ago

1 Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days). Norvig emphasized how programming has been a widely sought-after skill, yet people overlook that it is complex and difficult to learn and master. I liked how Norvig differentiated experiential/personal learning from book learning. He discussed the limits of book learning, such as not gaining a deep understanding or experience. I think one of the biggest skills to learn when coding is debugging and troubleshooting, something one cannot master by reading a book or in 24 hours.

2 Paul Graham's what to study in college. I liked that Graham mentioned that he did not officially study CS (though he took many classes). I felt that emphasized that you don’t need to study something you want to do. You can always learn in different ways. While a career and education in it helps, what is really important is to learn in whatever fashion you do. Do what you love, as he says at the end. It reminded me a bit of Norvig’s article, especially since Norvig said one of the best programmers he knew didn’t go to college. Additionally, it stuck with me when Graham said, “The whole field is uncomfortable in its own skin.” I’m not sure what I’m taking away from it, but I thought it was a compelling idea.

3 Jeff Atwood's How To Become a Better Programmer by Not Programming. The notion that there are good programmers and mediocre ones and that the mediocre programmers can’t ever get better stuck out. I’m not sure what to think and whether I agree with it. It seems like a problematic idea. However, I did like the emphasis on having passions and interests outside of coding and how that helps make one a better programmer.

4 The hacker's manifesto. I really liked the emphasis on how curiosity and learning drives people to become hackers and the actions they take. It reframes what is tended to be thought of as illegal and problematic behaviors (which I think they can still be). I think it is interesting to think of how we can benefit from hacking and the curiosity/learning it brings while also not causing problems from people harming others through hacking.

ajholzer commented 1 year ago

Teach Yourself Programming in Ten Years - Peter Norvig +1

How To Become a Better Programmer by Not Programming +2

Paul Graham's What to study in college +3

ESR's How to become a hacker +4

amyyu116 commented 1 year ago

Teach Yourself Programming in Ten Years (Peter Norvig) +1 I thought that the general idea that it takes 10 years to be truly proficient at anything no matter who you are was a pretty valuable lesson to take away. I think the general idea can be applicable to a lot of things outside of programming as well.

What to study in college (Paul Graham) +1 It was really interesting to me to compare this advice with other advice I’d received beforehand. It seems to be general consensus that math is really integral to computer science, but in terms of career paths and education, the ideas all seem to depend on the person.

How To Become a Better Programmer by Not Programming (Jeff Atwood) +1 I don’t think I agree with the idea that after a certain couple of years, you stop improving and you’re either a bad programmer or good programmer. I feel like you will always be able to develop a skill even if you’re old and even if improvement might slow down, I don’t think it’ll ever go stagnant either.

How to Become a Hacker (ESR) +1 I feel like there is a lot of useful information about what a hacker actually is, which helps dissolve the image people usually have of hackers because of how they are typically portrayed in media. I liked that the FAQ section at the bottom was really helpful for people who are interested in the hacker community but aren’t sure where to start.

Total: +4

Kevinl0378 commented 1 year ago

1. Peter Norvig's Teach Yourself Programming in Ten years (not 21 days) I really liked how Peter Norvig emphasized the “doing” part of “learning by doing”. This particular mantra is one of the reasons why I applied to CMC in the first place. I believe that what he said about working on projects both with and after other programmers made a lot of sense, as it would give me the opportunity to learn from hackers who are significantly more experienced and knowledgeable than I am. I also think that what Peter said regarding the “computer” in “computer science” was something that I had previously overlooked. Upon reading that particular bullet point, I realized just how important an understanding of how computers work (not just programming languages) is to being a true hacker.

2. Paul Graham's What to Study in College I thought that Paul Graham’s advice on going the extra mile, both in school and with coding projects in real life, was excellent. I liked the comparison that he drew between a football player bench pressing 300 pounds and students learning material that is more advanced than what jobs actually require. However, I did find it interesting, and somewhat controversial, that he categorized architecture and the classics as worthwhile departments while labeling social sciences as bogus. I don’t exactly agree with what he said about the social sciences because I’ve found the quantitative aspects of fields such as economics and psychology to be both insightful and practical.

3. Jeff Atwood's How to Become a Better Programmer by Not Programming Although I felt that his article was more on the pessimistic side, especially at the beginning, I do appreciate Jeff’s bluntness and honesty. It certainly wasn’t too encouraging to read that experience and practice won’t help an aspiring programmer cross the “skill chasm”. However, I understand that some people just have “a natural knack” for programming, as we all have different things that we are naturally gifted at. That being said, his advice that one has to be interested in way more than just programming to get better at it does make sense (though it does sort of conflict with what he wrote earlier), as having too much of a tunnel vision may prevent an aspiring hacker from picking up or considering external ideas or skills.

4. ESR's How to Become a Hacker I found ESR’s distinction between “hackers” and “crackers” to be interesting because I had never heard of the term “cracker” before reading his document. In fact, it wasn’t until the first day of CS40 in the fall that I learned that a “hacker” wasn’t actually a person who tries to break into networks and devices. In addition, I found it very interesting how CS40 and CS46 both follow many of the guidelines that were laid out by ESR in this document. For example, we use shortcuts in Vim to avoid “boredom and drudgery”, the first language that we learned in CS40 was HTML, and we are able to create pull requests to contribute to the class repo.

5. Hacker's Manifesto Reading this manifesto reminded me of ESR’s section on the hacker/nerd connection. My impression of the manifesto is that the author is angered by the fact that hackers are misunderstood by society since their curiosity is often mistaken for rebellion, which causes them to be looked down upon and casted aside. This manifesto also reminded me of the first season of Mr. Robot, as I definitely feel like it is something that Elliot’s character could’ve narrated over during the first episode as a sort of introduction to the series. In fact, a Google search reveals that an episode in season 3 contains an Easter egg that references this manifesto, which I thought was really cool.

milesba4 commented 1 year ago

Mr. Robot (2 pts)

Paul Graham's what to study in college (1pt)

Jeff Atwood's How To Become a Better Programmer by Not Programming (1pt)

mlcorral commented 1 year ago

1.Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) +1 Teach Yourself Programming in Ten Years" by Peter Norvig offers valuable insights on how to become a proficient programmer. Despite being discouraged from pursuing a CS major in my own journey, Norvig's ideas provide hope that mastery of programming can be achieved through time and effort. One of his key suggestions is to learn multiple programming languages, including those that emphasize different abstractions such as class, functional, syntactic, declarative, and parallelism. This approach can broaden a programmer's perspective and enhance their problem-solving skills. Implementing Norvig's recommendations can pave the way for continuous growth and development as a programmer.

2.Paul Graham's what to study in college +1 It's great to hear that the author acknowledges the value of studying math, even though they had a difficult relationship with it in the past. As a math major myself, I can relate to feeling pushed towards a certain path without necessarily feeling like it was my true calling. However, it's important to recognize that math is a valuable and versatile tool that can be applied to many fields, including computer science and AI. While it may not be necessary to have an advanced knowledge of math for hacking, there is still much to be gained from studying math for its own sake, such as developing critical thinking skills and gaining a deeper appreciation for the beauty of mathematics. Even if someone has had negative experiences with math in the past, it's never too late to rediscover its value and potential.

3.Jeff Atwood's How To Become a Better Programmer by Not Programming+1 While I agree with the notion that becoming a better programmer requires more than just coding skills, I disagree with the premise that skill in programming is fixed after a few years. Bill Gates' statement that after a few years it's clear whether someone is a good programmer or not fails to consider that people can continue to learn and improve their skills over time. It is true that some people may have a natural knack for programming, but that doesn't mean that others can't become good programmers through hard work and dedication. Additionally, I think the article's suggestion that programmers should cultivate passions outside of programming is a valuable one. Having diverse interests can lead to more creative and effective problem-solving. However, it's important to note that this doesn't necessarily mean that one needs to become an expert in a completely unrelated field. Simply having a general curiosity about the world can be enough to inspire new ideas and approaches to programming challenges.

4.ESR's How to become a hacker+1 This is a really comprehensive guide to learning programming! As someone who is just starting out, I found the author's recommendations on which programming languages to learn first really helpful. I appreciate that they acknowledge that learning to program is a complex skill that requires a lot of practice and dedication.I was also interested to read the author's critiques of certain programming languages and frameworks, such as Java and web application frameworks like RubyOnRails. It's helpful to know the potential pitfalls of using certain tools, especially if you're just starting out.Overall, this article has given me a lot to think about as I embark on my programming journey. I'm looking forward to exploring some of the recommended resources and putting the author's advice into practice.

DejeanSypher commented 1 year ago

Mr. Robot

I thought the way they captured cybersecurity and hacking was both enjoyable and thought-provoking. It made me really think about the parts of technology that I normally don’t think about such as corporate power, malware, and the ethical aspects. I’m interested in seeing where the next season goes!

Zero Days - Security Leaks for Sale

Similar to Mr. Robot, I thought this documentary was interesting for its insight into the relationship between hackers and the government as well as the ethics behind the usage of exploits. I also was not aware of hacker conferences.

The Internet's Own Boy: The Story of Aaron Swartz

While unfortunate, I enjoyed learning about the Story of Aaron Swartz. I am touched by his belief that information should be more accessible to anyone which makes me think about the role in which government plays when dealing with the internet.

Paul Graham’s What to Study in College?

I thought Paul Graham’s philosophy of doing what you’re truly interested in to be cliche but nevertheless a friendly reminder. After reading this writing, I might reconsider some of the courses I had planned to do.

irajmoradi commented 1 year ago

WarGames:

I thought the film itself was a bit funny in terms of how no one could conceive of the computer malfunctioning again after they had figured out it had malfunctioned once. I also knew that dial-up internet existed, but the fact that computers were just connected to phone numbers is still a funny and surprising concept to me.

Teach Yourself Programming in Ten Years:

I think that this reading really brought to my attention the fact that just doing a thing over and over again isn’t really an effective way of improving with it. I also think the reading sort of large time horizon is sort of scary, as it makes clear how large of an investment it takes to really get good at programming.

What to study in college:

The most shocking thing about the article is the author's belief that Social Science is not a useful subject of classes to take. It feels odd to condemn an entire category of courses by saying that you will learn more in any other course besides social sciences. I think that learning about what math really is is something that definitely takes time, even in college, as it takes getting to proof based courses to find what most advanced and upper level math is.

How To Become a Better Programmer by Not Programming:

I think the first part of the article, where the author basically says that there exists natural talent that distinguishes those who can be good programmers and those who cannot, is sort of surprising in a depressing way. That quote about graphic design though made me realize that our jobs or fields of study are merely tools or methods for which we can change the world, and it is required to also love parts of the world so we could use those methods to change it.

finnless commented 1 year ago

Watching

The Internet's Own Boy: The Story of Aaron Swartz (2014) +1

This documentary was an excellent watch and does a great job of capturing the life and legacy of Aaron Schwartz who is an inspiration to me. Information is power and ought to belong to the people. I recommend checking out OpenLibrary, one of the projects he co-founded. I joined the community a few years ago and am incredibly grateful for their support in introducing me to open source software development even though I knew very little at the time. They are always looking for more help, so if you are interested I would be happy to connect you! I also want to shout out the Open Book Genome Project, a special project of OpenLibrary I contributed to. The project could use some love, so if you are looking for something really cool to work on please reach out because I'd love to collaborate!

CitizenFour (2014) +1

This film offered an incredible inside perspective into the Snowden whistleblower event revealing the rapidly growing NSA surveillance apparatus of everyone including US citizens. It was a good reminder of the importance of having a free press in societies that are democracies and the power of small actors in holding large institutions to account.

Zero Days - Security Leaks for Sale +1

I thought this documentary did a good job of explaining the cybersecurity industry and it's importance and consequences. It made me think about the effectiveness of the tech industry embracing the hacking community, at least most of the time. Instead of making hackers the enemy, they are embraced thorough the concept of white hat hacking, bug bounties, and penetration testing.

War Games +1

War games was a really fun movie. Although it is not the most realistic, it does a good job of communicating the curious energy of hacker culture and the potential consequences of using digital systems to control world destroying weapons. I also like the theme of gamification of things, from computer systems to global thermonuclear war.

Season 1 of Mr. Robot +2

Mr. Robot is certainly one of my favorite shows because it pulls off being both dramatically invigorating and technically accurate. I was reminded of my first time watching it and getting excited when they used USB Rubber Duckys for an attack (shoutout Hak5). Elliot's kernel panic scene also resonated with me.

Reading

What to study in college (Paul Graham) +1

I thought this essay was great. I really appreciate its simplicity and accessibility while still communicating some valuable teachings. I am inspired to focus in on programming projects whenever I read this. I don't agree with all of it though. I think PG is too quick to dismiss the value of humanities classes, although I agree that they are too often bogus-like. I will follow the last line which says "the only way forward is doing what you love."

Teach Yourself Programming in Ten Years (Peter Norvig) +1

This reading was a good reminder that in order to get really good at anything, including programming, it needs to be done over time. I've always been skeptical of the 10,000 hours rule, maybe it's more like 5,000. I am a big fan of the learning by doing maxim because that is way more fun!

How To Become a Better Programmer by Not Programming (Jeff Atwood) +1

I was surprised by how much I liked this piece because I strongly resonated with it. I don't think of myself as an exceptional programmer and don't think I ever will be. This essay was a reminder that that is ok and that often non-programming skills are just as if not more important then hard programming capability. Without context programming is useless. There is not much value in creating a perfect algorithm if the algorithm is not useful or people never find it.

The Cathedral and the Bazaar (ESR) - Chapter 1: The Cathedral and the Bazaar +1

I thought ESR's analogy of closed source development being like the construction of a cathedral and open source development being more similar to an open market at a bazaar was interesting. At the time this was written, Linux was still a relatively new project and was already making waves. Now it is nearly ubiquitous and the choice of the largest organizations running critical infrastructure. Open source runs the world.

The Cathedral and the Bazaar (ESR) - Chapter 2: The Mail Must Get Through +1

This chapter made me think about why exactly open source development can be so efficient, efficacious, and enduring. In my mind, open source takes advantage of the economic concept of specialization because new contributions can be made by anyone in the world instead of being restricted to employees. There is also a excellent incentive mechanism. As ESR says, "Every good work of software starts by scratching a developer's personal itch." This is in contrast to closed source developers who sometimes only have the incentive of satisfying customers wishes which adds frictions to the development process or market.

Total: +11

jp-walker commented 1 year ago

Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) (1pt) Considering what it means to actually "know" programming is an interesting issue since there is so much variety. It's especially varied since what you need to know depends greatly on your programming interests. This article also brings up the question of how beneficial college is for programmers. It seems like everyone's advice is to work on code outside of class, and it seems widely understood that you can be a good programmer with no college degree. While I agree it takes time to learn to program, college doesn't seem far more beneficial for programming improvement than simply practicing on independent projects.

Jeff Atwood's How To Become a Better Programmer by Not Programming (1pt) This article reminds me of how people talk about the fact that most engineers are missing the ability to communicate their work to non-experts. I agree it's important to be able to communicate about your work to non-experts, but it feels reductive to suggest that programmers can also perform entirely different career paths at the same time as being programmers. I don't study or care for business, and I don't think engineers should be expected to be entrepreneurs, as that is a completely different profession.

Paul Graham's what to study in college (1pt) The author states that you can skip "the various departments created recently in response to political pressures," which is vague but makes me think he's referring to areas like women/gender/ethnic studies, which is very minimizing to the importance of those subject areas. He states they're useless because the approaches to each subject have completely changed their approaches in the past 100 years. A subject area reflecting the current political/social climate is far from useless because it's just a different type of educational benefit. I think understanding culture and social climates will always be beneficial, no matter what career path you take.

Zero Days - Security Leaks for Sale (1pt) I think the most interesting part was when a hacker said along the lines of, "if a hacker sells exploits to people and those people use them in illegal/harmful ways, is that really the fault of the hacker?" This video was almost suggesting that hacking/data security is inherently bad, rather than thinking about the fact that we have a lot of dangerous things in existence, and that's why we have laws to regulate them. The biggest issue is that tech develops quicker than regulators can keep up with it. However, if we think about "exploits" like poison, knowing that it could/probably will hurt someone, it wouldn't make sense to only blame the person who administered the poison and not the person selling poisons.

chatch166 commented 1 year ago
  1. What to Study in College

I appreciated Graham's emphasis on pursuing one's interests over resume-padding and his advice to study a little bit of everything. I see careerism as a threat to a meaningful liberal education, so I was glad to see Graham's advice here. Overall, I found his writing style clear and informative, and his advice on the benefits of professors who challenge and push their students to be particularly insightful.

  1. Teach Yourself Programming in Ten Years, not Ten Days

I appreciated Norvig's emphasis on the importance of learning multiple programming languages. It's easy to fall into the trap of sticking with what we know, but by exposing ourselves to different languages and paradigms, we can enhance our problem-solving abilities and become more well-rounded programmers. Norvig's article is a great reminder that programming is a long-term journey, and we should embrace the process of continuous learning and growth.

  1. The Internet's Own Boy: The Story of Aaron Swartz

This was a serious bummer of a movie, but it was inspiring to see the passion Swartz had for standing up for open information. In my other CS class, I was doing analysis on downloads from scihub, a more recent website that has come up to thwart academic paywalls. Reading about scihubs story and the constant legal battles its entangled in to stay up on the internet made me repeatedly harken back to Swartz's story.

  1. War Games

This was a fun one to watch, because everything portrayed is just so different from the internet and security protocols we know of today. It made me think of a common thought I have when reading about government services, that either they're so incredibly sophisticated and smartly implemented or they're frustratingly dump and poorly implemented, like a computer system that allows a teenager to access nuclear weapons systems!

kevinm126 commented 1 year ago

Mr Robot Season 1,2 and 3 (4 Points) I've watched this show a couple of times and personally feel that it never gets old (to be clear I rewatched these three season this semester). I feel that it does support the stereotype of what a hacker is but realistically if the show was about the average hacker it'd be pretty awful. This show is what got me down the rabbit hole of white hat and black hat hacking a long while ago. I find it interesting how Elliot toes the line of what he thinks is ethical and how he justifies his actions. I learned a lot about internet security and how Elliot views the world as naive in his own way. I liked the how the shows plot center around Elliots mental health as the seasons progress. I thought the 5/9 hack was cool and watching as Elliot deal with the fall out in the third season. It really opened my eyes to how finance is backed by technology and turned me down the rabbit hole of encryption.

The Hacker Manifesto (1 point) The first part of the hacker manifesto in some ways is and antithesis to Mr. Robot in trying to change the perception that society has of hackers and hacker culture. The Mentor tells of his experience in school and in society in a war that he feels people can relate to. I like how he explains the way he sees school as boring which is something I could relate to.

War Games (1 point) This Movie is really interesting because of what portrays technology as before. although it is fiction, War games tries to explore hacker culture and give a good portrayal of what it is. Having a hacker as the main character of the movie surely helped build the culture that exists today.

what to study in college (1 point) I appreciated this piece but i also feel that the mindset behind it is outdated. I appreciate when Graham talks about taking courses in things you want to do. Nonetheless, I think we should also take courses regarding things that we may not know interest us. I believe it is much more useful to find something your great at but hate doing as opposed to something you love doing but are terrible at. Although you may get better, you probably don't have the innate unteachable characteristics that are required to be successful.

giffiecode commented 1 year ago

Paul Graham - What to study in college (1 point) Graham said that math, hard science, and history have more intellectual content than humanities, which tend to be filled by ideological debates. Graham also commented on the meaning of grad school and phd trainings. The validation of his points really depends on what's the motivation behind the learner. If the leaner wants to be an artist or film director, I don't think his comments would be valuable.

Why learn programming in 10 years instead of 21 days (1 point) Norvig emphasizes the importance of deliberate practice and experimentation. Rather than simply consuming information, learners should actively apply what they learn by working on projects, collaborating with others, and seeking feedback on their work. In addition, Norvig suggests that learners should explore a variety of programming languages and tools, and gain experience in different domains.

The Cathedral and the Bazzare (1 point) Raymond argues that the decentralized, volunteer-driven nature of open-source development can lead to faster, more efficient innovation than the hierarchical structure of closed-source companies. Reymond also mentions the fact that free for open-source software mean free in terms of freedom but not necessarily in terms of costing zero dollar. The economic distribution is a puzzle that's yet to be figured out, according to Building in Public.

How to be a hacker eric reymond (1 point) Reymond ecommends that beginners start by learning to program, joining online communities, and contributing to open-source projects, and emphasizes the importance of ethical conduct and respect for others' privacy and security. Reymond also defines the hacker culture, which is more curiosity and passion driven instead of profit or organization driven. He defines the mindset or almost moral standard of open-source contributors, which partly explain why open-source projects have been the driving force of significant developments in the software world.

GusAlbach commented 1 year ago

1.The internets own boy. Growing up in my family, for one this documentary showed me just how sheltered I was from the internet. I don’t believe I had the talent he did in any case, but to be thoroughly contributing to adult programming projects at age 10-12 seems more than far fetched. Aarons thorough devotion to a set of morals, especially so specific as freedom of information puts almost every small effort I’ve put to living an ethical life to shame. Swartz’s multitude of projects, from helping with Reddit to developing proto-Wikipedia to his Guérilla free information manifesto (I forget the exact name), show just how powerful CS is in modern day society. Only so much information and culture permeate into the mainstream from this hacker culture we’re being brainwashed into, but it feels surprisingly left wing. I’d often assumed it was more uncaring, and am interested into how much of CS culture as a whole is impacted by hacker culture. Back on the Aaron Swartz note however, the governments treatment of him felt both incredibly harsh, but also inspirational. The internets encouraging response to his death indicates a small bit of hope for those who risk a lot for what they believe in and fight the law (particularly in a. Non violent manner)

  1. Zero Days This one felt like something I’d learn about in a classic Econ class. Where there is demand, there will be money or however the saying goes. The main insights this video brought was how long these trades have been going on (one hacker mentioned selling to the government in about 2008). Minutes he mix of white hats, grey hats, and black hats in the field was interesting, I’d generally assumed there was a much smaller proportion of white hats than actually exist. The part about different western democratic countries attacking each other was a little confusing. The assumption I walked away with was that this is to expose vulnerabilities and the possible exploits to help friendly governments, however I could be wrong. In sun, I learned about a whole market I’d never heard of before, especially that several people work as freelancer hackers, although I’m not sure what percentage of the field works for firms such as the French firm Vupen.

  2. Teach Yourself Programming in Ten Years This one was a fun and calm read about how to improve. The range of different recommendations felt incredibly true to what I imagine working as a computer scientist is like after college, and explored a range of options I've heard implemented in CS courses. I mainly say that thinking of the partner programming instituted in one of the Mudd CS courses. Perhaps the most important part was the statement about having to enjoy CS before you should commit to it. Before making progress, you have to know the path you're headed down won't completely kill your desire to hike. Ultimately this read had a positive note to programming, it doesn't come immediately and requires falling down and getting up again.

  3. What to Study in College I was confused as to whether Paul Graham's recommendations on majors / what classes to take (the everything section) was focused on jobs or just generally what one ought to learn. I object a little to his strong claims against philosophy, and other topics. I could understand how philosophy and psychology may not offer much help in a computer science role, but they do help shape how one thinks of the world. To me that isn't of minor importance. Furthermore, I think Graham undervalues the role data plays in psychology. His claim that "if a psychologist met a colleague from 100 years ago, they'd just get into an ideological argument" seems to miss the fact that psychologies data-driven nature means this may not be the case. I'm also surprised he finds history a useful field, even if he does seem to prefer a specific subset of history.