Posts

Reading 06: The Cathedral and the Bazaar

Software development has diverged rapidly from older, more traditional development processes. Most notably, the Cathedral model of software development, in which larger projects are carefully planned out by a select few, have taken a step back to the Bazaar model, in which tens of thousands of developers pick and choose what and how to develop in order to contribute to one ultimate project. Having only worked on group projects in school and on one larger, protected project in a startup, I have experienced the Cathedral model of software development with little to no observations of how the Bazaar style of development works. As I have only seen this one style, there is no realistic way I can decide which model I prefer.             Lesson 17 in ESR’s “The Cathedral and the Bazaar” states to “Release early. Release often. And listen to your customers.” This principle rings most true to me, notably because I am currently taking a course this semester called Human-Computer Interaction.

Reading 05: Startups

Paul Graham’s take on startups as the sure-fire way to get rich is, in my opinion, misplaced. Understandably, his quote refers to a startup as the “best bet” in the pursuit of riches. While a startup can generate a massive amount of wealth, it is not for everybody. After all, I have heard before that 75% of all venture-backed startups fail. If you think about it, these are startups that have already made some progress towards their goal. Starting from scratch, a startup has even less of a chance to succeed. I am a big fan of the show Shark Tank, and on that show Mark Cuban is quoted stating that “entrepreneurs are willing to work 80 hours a week to avoid working 40.” This is precisely why startups are not for everybody. You work at a significantly greater pace, with a significantly smaller margin of success, in order to chase a greater amount of wealth. Despite this, a startup is something I find myself desiring to pursue in the future. This is because a vast majority of startups are

Reading 04: Programming Languages

A software engineer’s choice of programming language is dictated in two different environments. In terms of employment, this choice is restricted to the language desired by the employer. In terms of programming for personal reasons, e.g. a hobby, this choice often falls to whatever the programmer is most comfortable and familiar with. Despite this relaxed method of choosing a language, it holds true that this choice is one of the most important milestones in writing software. Not only do different programming languages offer different features and paradigms, but when used enough these languages actually alter the way a programmer thinks about problem solving. Personally, after programming in C++, Java, and Python I have grown very accustomed to object-oriented programming. Other paradigms to me seem, for all intents and purposes, messy and hard to maintain. With regards to different features of languages, Java has a conventional solution to object-orientation known as “interfaces.” Wh

Reading 03: Nerds as Hackers

Paul Graham’s vision of a hacker is very similar to the description provided by Steven Levy in  Hackers: Heroes of the Computer Revolution . The primary similarity is that of curiosity. Hacking, from Paul Graham’s and Steven Levy’s point of view, is simply obtaining information about the world in order to satisfy a desire for greater intellect. Both authors have an understanding that this is true. On the other hand, whereas Steven Levy keeps the description at that and that only, Paul Graham also gives a definition of the more general sense: “Someone who can make a computer do what he wants – whether the computer wants to or not” (Graham).             Interestingly, Paul Graham illuminates the fact that a “hack” is both a good and a bad thing. On the good side, a “hack” is an imaginative way to beat/navigate a system in order to accomplish things not normally thought of. On the bad side, a “hack” is an ugly way to accomplish something that could have been dealt with more elegantly.

Reading 02: Game Hackers

The Hacker Ethic can, in some sense, survive in a world of commercial and proprietary software. It cannot, however, exist truly and fully as it did before. Simply look at society today… the perspective of a “hacker” is not somebody simply wishing to gain information for the purpose of learning about the world. Instead, our society’s common perspective of a “hacker” is that of an individual who is mischievous, immature, lonely, and as one who prefers to spend all hours of his/her day on a computer. A hacker’s intellect and curiosity are overshadowed by the pre-conception that a hacker simply desires to cause chaos. I am getting ahead of myself, however, as I am talking about the current day without regard to how this current day came to be.             It can be argued that this world of “commercial and proprietary” software came to be largely due to the individuals considered “game hackers,” who held money as evidence of their programming capabilities. This is entirely separate from

Reading 01: Hardware Hackers

Spreading the Hacker Ethic, discussed in last week’s blog, to a wider audience is extremely important. Understandably, my opinion differs from those of many especially those belonging to the more “hardcore, extreme software hackers.” When the term “software hacker” is brought up, one can liken it to the “true hacker” discussed, again, in last week’s blog. True hackers and hardware hackers differed in many ways, however, similarities are found in key areas. Most notably, these two groups of hackers both sought to share information with each other, and both groups additionally sought to gain a deeper understanding of the world through knowledge already available. Despite these key similarities, the differences from the groups far outweigh the similarities. Whereas true hackers embodied a sense of elitism and exclusivity with regards to those who were capable of hacking to the same extent, hardware hackers sought to spread the Hacker Ethic to an audience not formerly considered by the fo

Reading 00: True Hackers

Being a “true hacker”, at least according to Steven Levy, differs from the mainstream perspective on those who hack in that these individuals are not simply unethical, mischievous people who seek to wreak havoc on systems belonging to corporations and individuals. In Steven Levy’s eyes, a “true hacker” is an individual who adheres to the Hacker Ethic which “consisted of allowing all information to be free in order to learn about how the world worked; using the already available knowledge to create more knowledge” (Hackers: Heroes of the Computer Revolution). Certain qualities are common to hackers, including a deeply ingrained dislike of “locked doors” that withhold information/capabilities to those who wish to have access. This stems from a belief that closed systems are inherently worse than open systems, no doubt a mindset that served as a precursor to the concept of open source that is common in today’s world. There are also qualities that may differ from one hacker to the next