"And yet a great many of our institutions are set up to discourage, distract, destroy and derail the making of anything."
This may not be obvious to everyone writing software. Or maybe authors today just do not care. They are too busy chasing users.
As for the later some who would call themselves "hackers", I wonder: Did the original "hackers" from whence the term was taken have such ambivalence and accept what was made for them (including "platforms") fully knowing that it meant lock-in?
Thwarting "hackers" from making things for themselves may not always be obvious today because in fact some of these "institutions" are set up by organizations who desperately need developer contributions.
As long as they can take the contributions and use them to generate revenue or mindshare for the organization, they appear to be encouraging people to make things... but only if authors agree to jump through hoop after hoop.
"Instituition": Want access to our pool of end users? Jump!
Today's so-called "hacker": How high?
But what if the "hacker" does not plan to share his program with end users? What if he is writing it only for himself?
What is the purpose of making such an author jump through any hoops? How does that serve the author in any way?
Is there anyone selling a reverse-engineered, refillable pod for the coffee machines that only accept pre-filled proprietary ones?
Do these coffee machine vendors seek to use patents to protect their sales of coffee?
Edit: I know Keurig and Nespresso are the well-publicised examples, but I was thinking of the others. I assume with reasonable confidence there are others still using non-refillable proprietary pods.
My comment had a handful of upvotes over the holiday weekend then has been downvoted as the CS grads return to work.
I have long believed the weekend HN crowd is wiser than the weekday crowd.
I have also believed that CS may contribute to the urge to write "complicated software". Your admission reinforces this belief.
I like software that tries to avoid complexity. Any lazy person can write a complicated program, get it to compile and run. The world is full of such software. Consequently, it is nearly impossible to avoid. But that is different from consciously selecting it and we cannot infer that usage under these circumstances implies approval.
rk dewar, dmr, djb, a@kx, etc. none of them majored in CS as far as I know. Despite the lack of a CS "education", I still value and rely on what they produced. I consciously seek out such work.
The point of my comments is simple: a CS degree is not a prerequisite to writing great software. Call that a strawman if you like. I still think it is a point worth making when someone is blogging about low numbers of CS grads.
Difference between 1. computer scientists who are by nature of their CS training able to write high quality software and 2. the presence of CS subject matter in programs or the role of algorithms in today's Western societies. No one disputes #2.
Of those CS majors who write software, I see others with no CS degree, e.g., PhD in maths instead, who write better software. Conclusion: ?
Difference between earning a masters in Economics and actually needing that knowledge to do one's job at Salomon Bros. If the degree was needed for the knowledge it provided (versus window dressing for interviewers or clients) then I certainly missed that part in Liar's Poker because I recall the book arguing exactly the opposite. Back in those days I had a friend who was a Philosophy major and was extremely successful on Wall Street.
In fact, I am an unusual case and I do not consciously choose to use those Google, Microsoft or Apple offerings, nor do I value and rely on the ones I occasionally come in contact with. In many cases I view those are necessary evils, not high quality stuff.
I use TCP/IP but I did not choose it. There were many competing protocols. It just became the default.
I am not going to argue about this but many of the folks who wrote the software that I actively seek out and value had degrees in Electrical Engineering, Mathematics, and/or Physics. I might use different software than most users.
The authors were not CS majors. It is what it is. Maybe this means nothing. But to me it means, at least, CS is not a prerequisite.
I am not denying the contribution of Computer Science as a field or the work computer scientists. And I understand why kids major in CS. All good.
I am just referring to the practice of writing software. I would question anyone who argued one must have a CS degree to write great software.
To an audience of CS majors this will probably sound like trolling but honestly I have never used any software written by a "computer scientist" that I came to value and rely on -- software that I consciously chose to use.
Whereas I have found such software on multiple ocassions written by mathematicians or persons in some other field, e.g., physics, etc.
As a user of software, I do not believe that a computer science degree is of any significance in terms of the ability to write good software.
The blog post makes a comparison to Liars Poker. Perhaps it should be noted that the author of Liars Poker majored in art history. It was not necessary for him to have a particular degree in finance to do his "job". That was the point of book.
The question to ask today is whether one needs a degree in CS to write good software.
This truth is often hidden by some given abstraction.
(file, save, download, streaming, etc.)
Businesses have been built on such abstractions. Success stories.
On the flipside, existing businesses that were built before the internet who do not know the truth have been fed these abstractions. These businesses may stand nothing to gain from participating in the copy machine. Whomever is feeding these businesses with abstractions that hide the truth are not helping these businesses. They are helping themselves and watching these businesses being destroyed by a copy machine.
This may not be obvious to everyone writing software. Or maybe authors today just do not care. They are too busy chasing users.
As for the later some who would call themselves "hackers", I wonder: Did the original "hackers" from whence the term was taken have such ambivalence and accept what was made for them (including "platforms") fully knowing that it meant lock-in?
Thwarting "hackers" from making things for themselves may not always be obvious today because in fact some of these "institutions" are set up by organizations who desperately need developer contributions.
As long as they can take the contributions and use them to generate revenue or mindshare for the organization, they appear to be encouraging people to make things... but only if authors agree to jump through hoop after hoop.
"Instituition": Want access to our pool of end users? Jump!
Today's so-called "hacker": How high?
But what if the "hacker" does not plan to share his program with end users? What if he is writing it only for himself?
What is the purpose of making such an author jump through any hoops? How does that serve the author in any way?