mikeizbicki / cmc-csci046

CMC's Data Structures and Algorithms Course Materials
55 stars 155 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.

alexcnsf commented 1 year ago
  1. Zero Days - Security Leaks for Sale I thought it was most interesting that the government is not equipped in this sector to deal with the threats and also the highlighted importance on cyber security and I can't imagine how much more important it will be in the future. I wonder how this issue has changed in the last seven years since this was created.

  2. Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) I resonated with the emphasise put on learning by doing which is how I feel I learn best and often I can't learn by just listening to lectures. He put the idea forward of being the worst in a setting to learn from others isn't embarrassing but growth catalyst which I thought was a cool mention.

  3. Hacker Manifesto I like that this effect about I thought of school and made me question what I'm being taught and what I'm truly taking away from it when it comes down to it. Coming to a school like CMC it is hard to get out of the mindset of questioning and I found this to be really thought provoking!

  4. What to Study in College I liked the emphasise put on learning math as I've been putting my eggs in that basket and am finally starting to enjoy it when I haven't in the past in my life. I fear it was too quick to label a lot of fields of study as you can't truly understand them or fall in love with them unless you study them yourself, like philosophy.

jxviergonzalez commented 1 year ago

Reading (Non-fiction):

  1. Paul Graham’s What to Study in College a. This text particularly stood out to me as I was engaged with the perspectives he presented and the way he delivered them. The author’s bluntness truly sells his thoughts to readers. I felt that the section regarding rejection was important to include, given the highly competitive nature of the Claremont Colleges and the pressure we put on ourselves, as well as how we feel if we do face rejection. Overall, I thought this was a very interesting text!

  2. Jeff Atwood’s How to Become a Better Programmer by Not Programming a. While I might not fully agree with the entirety of the text, I enjoyed the mentions centered around building upon the foundation of programming and expanding in diverse subject areas to ultimately make you a better programmer. It’s important to be well-rounded in what you do, regardless of the field you’re in. I’ve struggled a lot with impostor syndrome before, especially regarding computer science, so some mentions about being naturally talented at coding struck me, I think anyone can master anything with full passion and drive.

  3. Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) a. I enjoyed reading this text, it provided me with some nice motivation as we’ve made it through this semester. There is always much to learn, and always room for improvement. Nothing will always be extremely easy, and there could be a learning curve. Hard-work, experience, and wanting to push yourself can truly be the catalyst for someone’s educational career. As I’ve seen in a lot of my psych classes, learning by doing is ideal!

  4. ESR's How to Become a Hacker a. I really liked this text, I found it incredibly interesting! I’ve always thought that there were many misconceptions regarding hackers, especially given the way that they are portrayed in media. I appreciated the author’s bluntness and the way his message comes across. Hacking doesn’t necessarily have any malintent behind it, however, it is the connotation associated with it that paints an “evil” picture. Hacking can be seen as a challenge, a hobby, or something fun that people partake in for numerous reasons. It made me think of hackers that willingly show what they did so companies can fix their issue.

elissayz commented 1 year ago
  1. (2 points) Mr. Robot: I thought Mr. Robot had a really interesting and enticing take on tech. After watching I wanted to know how technically accurate what they were showing was (I didn't understand all that much so it didn't seem fit to judge) but I was pleasantly surprised to see that it was widely acknowledged as being quite accurate. I also found it interesting how they decided to incorporate Elliot's struggle with mental health since I feel that there doesn't seem to be much talk about it in these areas.

  2. (1 point) ESR's How to Become a Hacker: I liked how clear and direct this article was. It was definitely helpful in laying out what hacker culture (or lifestyle) is like. Toward the end I did start to feel a bit odd about the phrasing, in particular, it felt to me as if hackers were inherently better than other people since their time ad mental resources were framed in a way that made it seem that way.

  3. (1 point) How to Become a Better Programmer by Not Programming: This article made a lot of sense to me. As someone who finds the hard sciences much more interesting than the humanities I often see that I can work on problem sets constantly whereas I severely dread having to start a paper. This is to say that I understand how it might be easy to focus solely on programming and not those other skills that will make you a better programmer.

agemeda commented 1 year ago

(1 point) https://norvig.com/21-days.html

Today there is such a rush around getting internships, finishing college and jumping right into the job market. I see so many ads promising people that they can become a Data Analyst or become fluent in multiple programming languages in weeks/months if they take certain online courses. As someone who tends to learn things slowly, Teach Yourself Programming in Ten Years, interested me right off the title. It's nice to see advice that emphasizes taking your time and trying a lot of new projects instead of learning fast money grabs and empty promises. And learning is not just taking classes, but everyday on the job practicing coding and understanding your computer and programming languages.

(1 point) http://phrack.org/issues/7/3.html I picked this reading as I have been interested in manifestos since my Digital Art class had a unit on them. This is a unique perspective on hacking as it is usually seen in popular media as a negative talent or used for the wrong things. But this manifesto shows the positive sides of hacking and that it is an artform, a skill full of creativity. The admittance to being a criminal of curiosity is powerful, as hacking is just the exploration of the internet and technology. I believe that coding and hacking should be more accessible to all and that starts with understanding what makes it captivating to people and this manifesto did just that. Below is a part I really like and reminded me of Mr. Robot.

"And then it happened... a door opened to a world... rushing through the phone line like heroin through an addict's veins, an electronic pulse is sent out, a refuge from the day-to-day incompetencies is sought... a board is found."

(2 points) Season 1 of Mr. Robot

This semester I decided to watch Mr. Robot as I had been putting it off for a while. Elliot uses hacking as an escape from the real world, and to understand people in a new way similar to how we use social media. I enjoy that the show is able to show hacking as a good thing, with the plotline to stop E Corp and erase debts but also acknowledge times when Elliot goes too far, such as when he hacks his Shrink. The show has great moments about mental health and morals, and does good work to understand the complexities behind hacking and cyber security. I feel like there is a bad rep around hacking computer systems and Mr. Robot was clear about showing all the aspects of the hacking world. The show reminds me of Black Mirror, specifically the episodes "Shut Up and Dance", but the reverse perspective when a teenager gets hacked by a society working to expose peoples crimes, similar to Elliot's work.

lwelch25 commented 1 year ago

Paul Graham's What to study in college: As a confused college student myself, I can truly relate to this article as I shared similar views and found Graham's perspective on hacking, math, jobs, and grad school intriguing. More specifically, Graham’s perspective on math and other college majors stood out to me since he spoke very highly of STEM related courses but lowly of non-STEM related courses such as social sciences and philosophy. This article has also brought clarity upon my decision in attending grad school, especially through an admissions standpoint. Overall, this reading was very helpful in gaining a deeper understanding of hacker culture and how to proceed from a college student.

Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days): Similar to Paul Graham’s article, Peter Norvig also provided personal clarification and conformity on what it takes to be a good programmer. For a long time I’ve approached learning to program from a textbook’s perspective, similar to the “How to” books. It was not until recently I discovered this was an inefficient method, and the Norvig solution to dedicating 10-20 hours a week is more valuable. I was inspired when Norvig quoted Alan Perlis, and even Auguste Gusteau from the movie Ratatouille, since it motivated me to become a good programmer through hard work and practice, rather than just maximizing efficiency. I guess, slow and steady really does win the race!

ESR's How to become a hacker: Before reading this article, I never properly knew what a “hacker” was. My interpretation of the word “hacker” was often confused with “cracker” which I now know is not true. This article provided me with an organized description and instructions of how to become a proper hacker which focuses on the hacker attitude, skills, and culture. Once again, this article gave me clarify into hacking culture and has taught me necessary skills such as using unix and learning a variety of programming languages.

ESR's The Art of Unix Programming: After reading “ESR's How to become a hacker,” I was inspired to learn more about unix as it is a necessary skill for becoming a hacker. I found that the variety of rules, specifically Rule of Extensibility: Design for the future, interesting because technology is always changing and hackers always need to keep up with technology. I also enjoyed learning about the one lesson of unix and that is KISS (Keep It Simple, Stupid!) because it defies the hacker stereotype of making everything more complex than what it really is. Keeping it more simple is that smarter approach.

ains-arch commented 1 year ago
  1. ESR's The Art of Unix Programming (3 points, one for each chapter) Chapter 1: Philosophy I think tech people should start writing manifestos again. Lots here but I really like the idea that Unix succeeds because it's fun to develop for rather than an adversary, and therefore it attracted smart people who wanted to create cool stuff on it. Chapter 2: History While I love a semi-objective unpacking of historical baggage, it has been fully 20 years since this was written and I do hope we've moved on. FOSS as an acronym and an approach to not having to deal with the baggage of the term free software seems to be pretty common, and while I've come across people having strong opinions about not using the term open-source, it seems they resoundingly lost that fight. Chapter 3: Contrasts Regrettably, I have very little background knowledge about operating system design so I don't think I followed this part as well as the preceding chapters. I also wish there was a comparison section on macOS/Mac OS X because that seems like an important part of the Unix legacy, but I guess it had only been a couple years at the point this was written.
  2. Peter Norvig's Teach Yourself Programming in Ten Years (not 21 days) (1 point) Sometimes one needs a bunch of semi-inspirational cold water on their goals. I don't know if I want to dedicate my 10 years to programming, but I hope I figure out how to dedicate it to something.
NACB commented 1 year ago

For the hacker culture caveat task I engaged with the following:

  1. War Games: I watched the movie once before when I was still in middle school, but watching it again from a CS perspective was interesting. I particularly love that AI in the movie, which could interact with weapons systems, wasn’t air-gapped.

  2. Paul Graham’s "Undergraduation": I particularly like Graham’s point about professors being more willing to work with students if the students can prove that it means a net decrease in the professor’s workload, instead of a net increase brought about by having to babysit the student. This squares nicely with the principle of the virtue of laziness. I also like the point about the administrative wishful thinking that led to CS being integrated into math departments throughout the country.

  3. Jeff Atwood’s "How To Become a Better Programmer by Not Programming": I think Atwood’s core argument, that a coder should diversify their interests to try and learn more about the industry they are in, holds for pretty much every field. There is a lot of value in knowing at least a little about a lot of things: it leaves you better prepared to see how your area of expertise fits into the puzzle.

  4. ESR’s "The Cathedral and the Bazaar": I was very surprised by the extent of the role universities have played in helping to shape the modern technological environment. I feel like “hacker culture” often dismisses academia, but academia is baked into the foundation of the tech they rely on, from the ARPAnet to forcing widespread adoption of Unix.

redietgh commented 1 year ago

Watching (Fiction):

War Games (1 Point) War Games was an interesting watch and provided clarity to the social and political contexts of the 1980s. It was a bit comical to see how elementary the security is, where a teenager has the ability to hack into military technology systems. It addresses many important topics including the overreliance on technology and artificial intelligence, especially when it comes to life-threatening and destructive weapons like nuclear energy. Human oversight and ethical considerations are not only aspects to consider but absolutely necessary when implementing artificial intelligence to this manner and degree.

Mr. Robot Season 1 (2 Points) I really enjoyed watching the first season of Mr. Robot and seeing the world through the experiences and words of Elliot. We witness his own personal struggles, with mental health as he battles depression and a distorted sense of reality. Class struggle and societal inequality is a consistent theme, ECorp is a powerful corrupt conglomerate, and Elliot uses his skills to expose these secrets and corruption. I enjoyed watching this series for the applicability to our real world and many people’s positioning in this area, despises the corruption and illegality of the actions of these conglomerates and technology companies but still engages and is a part of the system and industry that disadvantages and harms so many of lower socioeconomic standing.

Reading (Non-Fiction):

Teach Yourself Programming in 10 Years (1 Point) Through reading Norvig’s Teach Yourself Programming in 10 Years, I learned an important concept of deliberative practice. This refers to practicing with intention, not only doing it repeatedly but with new and harder tasks, beyond your ability, attempting continuously, analyzing performance, reviewing and correcting mistakes. Every skill takes 10 years to master, and this applies especially to programming. I also learned the importance of talking to other programmers and reading their programs, what has worked for them and what hasn’t to understand the best approach and what is most fitting for your goals. Finally, I became familiar with language standardization efforts and the value in getting involved with them, where you seek out what other people prefer in a language, how deeply and why.

Phrack, the Hacker’s Manifesto (1 Point) I really appreciated reading the Hacker’s Manifesto and hearing from an otherwise neglected perspective, a hacker. He rejects the criminal label, but rather their community being explorers and seekers of knowledge. They are free of societal dividers and distinctions like race and religion and independent of what society perceives of them. The manifesto writer recalls being in school and solving math problems in their head and reflects on being doubted by teachers. They feel isolation that is soon remedied, finding solace and community in the online world. The point that stands out to me most is their assertion that stopping one or a few hackers will not have any impact on hacking broadly as all hackers are united in their pursuit of knowledge and freedom of thought.

nliyanage commented 1 year ago

Reading – nonfiction – 1 point – what to study in college I really enjoyed this article, and I think it echoed sentiments that I’ve heard from other programmers; you get good at programming by doing it yourself and exploring new techniques, as opposed to taking a certain class or working with a certain person. The author of this article also held the classic CS-person sentiment of “the social sciences are bogus,” but I enjoyed the way in which this author articulated that sentiment. It seemed well-thought-out, as opposed to the usual CS-superiority-complex, and I felt that I (at least generally) agreed with the commentary on the way in which certain academic departments functioned. I hope I don’t get cancelled for saying that since I’m a Pitzer student.

Reading – nonfiction – 1 point – how to become a better programmer by not programming This article was possibly one of the more disheartening things that I’ve read about pursuing a career in programming. I know that the point of the article was “don’t sit behind your computer and write a million lines of code – go outside, touch grass, and meet a person or two.” However, and perhaps this is my fault, I interpreted the article a bit differently. It seems as though the article is saying “your programming skills are set in stone after year 2, don’t bother trying to improve, any intelligent person can determine if you’re worthless garbage or Apple SWE quality after meeting the year-2-programmer version of you.” This seems like a bit of a disheartening message, and I certainly hope that it’s not true, because I feel like I’m just starting to understand things after being 3 years into this major. However, I can confirm that becoming good at talking to people does help you with CS-adjacent things, so I do endorse the “go touch grass” message that the author was intending to convey.

Reading – nonfiction – 1 point – how to become a better hacker This article somehow encapsulated both the tangible aspects of being a part of hacker culture (such as being a competent programmer, needing to understand languages such as Perl even if not intending to utilize those languages, etc) but also the aspects that are purely based on vibes. Advice such as “don’t waste your time with anyone who calls themselves a cyberpunk” is very much vibe-based advice, but it yields an insight into how members of the hacker community determine whether you’re cool enough to sit at their lunch table. This specific piece of advice could have saved me from months of misery, but that’s a story for another day. Overall, I really liked this article, and I will be bookmarking it as a to-do list/how-to guide/replacement for life coaching, and I anticipate referencing it frequently.

Reading – nonfiction – 1 point – teach yourself programming in ten years I like that this article emphasized the idea that programming, like other skills, requires a consistent and dedicated effort in order to achieve mastery. It seems like there are a lot of sources in popular culture/media that seem to indicate that you can learn to code with a 2-week bootcamp or by watching one 24-hour YouTube video, and the perspective that there’s no silver bullet to instant CS mastery made me feel better about my failure to master all of CS after watching a set of YouTube videos. I also liked that this article didn’t buy into the narrative that good programmers have some innate gift that can’t be taught, replicated, or developed; this article contended that what sets good programmers apart from not-good programmers was the willingness to dedicate time into mastering skills over long periods of time.