Posts

Reading 10: When are we going to read about a jacked programmer

The way Linus Torvalds writes about his upbringing is in my opinion very digestible and interesting to read, even if it isn’t anything all too special. He has a certain way of writing such that his voice seems to pour out of the page - it’s dripping with his sardonic way of talking and his sarcastic humor. In terms of his actual upbringing, it bears a surprising number of similarities to mine, albeit with some big differences. Growing up, I was also exposed to computers at a very young age. My aunt is a computer programmer in Uruguay, although she works as an consultant and thus travels internationally quite frequently for work. As a child, she’d come and visit while she was working every year or so, and every few years she’d take a week or two off and have a longer vacation here (one of the perks of living in New York City). My aunt wasn’t a professor of statistics, but she told me a lot about her job and programming in general, and encouraged me to learn more about it. I was...

Reading 09: Open source? Sounds communist to me

Open source can still make business sense today, even if it isn’t necessarily the most profitable choice (by %). As ESR has mentioned, by providing software for free, you can increase your market share more than proprietary software, and then sell add-ons / support / premium versions of the software in order to monetize the open source software. I think another element in favor of releasing open source software is the potential for it to be widely used by developers, who then encourage their companies to use it (and their companies will pay for an enterprise license / support). I believe winRAR used a similar model of selling, since it allowed users to use the free version of it indefinitely even though it warned them that they would have to buy a copy of it eventually (albeit not being an open source piece of software). I think that services instead of software as a business model is definitely a viable model, potentially even more viable than the traditional model of simply ...

Reading 08: The craftsmanship model is still valid

I personally think that the greatest thing driving someone to participate in open source, above all else, is simply the need or want to create something (or improve/fix something) that they use. When people first start programming, and first start learning about open source software and the idea of free software, generally do not become ideologically fanatical about it and willing to contribute to open source purely because of their beliefs. For most people, their first contributions to open source are a small project that they’re proud of, or some fixes/features to a project that they use. It is only afterwards, as these people begin to use more open source software, and begin to contribute to more software that they begin to see the reasons that many programmers are fanatical about free and open source software. Once people see why so many programmers contribute to open source software simply to further the cause of open source software (and in some cases to further their reputation ...

Reading 07: My blog name is slightly relevant

In my experience, the bazaar is superior to the cathedral in terms of development models, simply because of the greater freedom allowed in it. While the advantage of a cathedral type system of open source software development should be that you have a small group of people that are able to intimately collaborate and decide the future of a project, allowing for more focused programming, the truth is that the bazaar has this too, just not officially. In any bazaar type open source project, you eventually end up having a few “power developers” who take an interest in the software to a far greater extent than anyone else, which leads to them developing more and naturally taking on a guiding role for the software, such that they build a community (which while open to all is of course dominated by “power developers”), in which they are able to plan for future features and the further development of the software similar to the “small group of mages” that are prevalent in cathedral developmen...

Reading 06: Why America is culturally superior to Europe (and all other countries)

 I think the success of modern hackers is just another example of the sort of entrepreneurial spirit and risk taking that is present in American culture compared to other cultures, especially European cultures. While Europe has had some notable startups (Skype, others probably), they pale in comparison to the amount of American startups (even Silicon Valley on its own). Part of that is the fact that America more so than other countries rewards risk taking and starting your own business. Part of it is boring and somewhat legal in nature - it is a lot easier to start a company in America, and regulations are very favorable compared to those in other countries. However, a large part of it is cultural in nature. It’s often said that Americans live to work and Europeans work to live, and studies looking at average hours worked by country bear this out. Obviously starting up a company requires massively more work than working at an already established company, so Americans clearly have a...

Reading 05: Watch your Language

Language is an incredibly important tool in all facets of life. Different languages have different ways of expressing concepts such as numbers or the future, all of which affect how we think about these concepts. In some languages, the future is described more in vague terms rather than exact terms, which can lead to differences in how cultures that speak that language view the future. In written language, we can see that the Arabic script is far more efficient than the Roman script in terms of numbers, which is the reason we now use Arabic numbers instead of Roman numerals. The same applies to programming languages. Choosing the programming language that you are going to use when starting a project is one of the most important design choices you could make. You must consider the efficiency of the programmer in addition to the efficiency of the program. For a small script that is unlikely to see use past a very few people, it is perfectly fine to choose a language like Python that is ...

Reading 04: Programming is an art (Donald Knuth approved!)

Paul Graham sees hacking (and by extension hackers) as closer to an artform than anything else. Paul describes hackers as makers, people who are creating something beautiful, not necessarily something new and original, but something beautiful whether in output or in design. I believe his definition is compatible and in fact fits in very well with Levy’s description of hackers. The hacker ethic even mentions that computers can be used for art and beauty! Additionally, from the stories we have read of early hackers trying to impress other hackers through code shaving to tales of hackers choosing to program an astronomically accurate star chart for the background of a game, we can see that beauty has been part of hacking since it’s very beginning. There are certainly diminishing returns to code shaving - once you’ve reached the point where you are spending hours upon hours to try and shave off a line or two of code, you’re wasting your time if you purely think of your efforts as being to...