Socialism is a fundamentally different social system where the world's resources are not controlled by a greedy, undemocratic oligarchy. This is not the same as the capitalist welfare states that have existed in some European countries.

We offer them mediocrity while calling it magic. We offer them the illusion of intelligent software, seducing them into surrendering the task of thinking to the machine. Of course, the machine isn't thinking, which means that nobody is.

I actually don't believe that everybody should necessarily try to learn to code. I think it's reasonably specialized, and nobody really expects most people to have to do it. It's not like knowing how to read and write and do basic math.

Beware of Methodologies. They are a great way to bring everyone up to a dismal, but passable, level of performance, but at the same time, they are aggravating to more talented people who chafe at the restrictions that are placed on them.

The complaints I've had is that GitHub as a development platform - making commits, pull requests, keeping track of issues etc - doesn't work very well at all. It's not even close, not for something like the kernel. It's much too limited.

Once you realize that documentation should be laughed at, peed upon, put on fire, and just ridiculed in general, then, and only then, have you reached the level where you can safely read it and try to use it to actually implement a driver.

Bill Gates really seems to be much more of a business man than a technologist, while I prefer to think of Linux in technical terms rather than as a means to money. As such, I'm not very likely to make the same kind of money that Bill made.

Responsible Development is the style of development I aspire to now. It can be summarized by answering the question, How would I develop if it were my money? I'm amazed how many theoretical arguments evaporate when faced with this question.

I've been using Vista on my home laptop since it shipped, and can say with some conviction that nobody should be using it as their primary operating system - it simply has no redeeming merits to overcome the compatibility headaches it causes.

I used Agitator on some code I had unit-tested, and it made me a better tester. As an Agitar Fellow, I look forward to the leverage of working with an outstanding organization as together we continue to improve the value of developer testing.

Received wisdom is that if you spend time up front getting the design right, you avoid costs later. But the longer you spend getting the design right, the more your upfront costs are, and the longer it takes for the software to start earning.

When you actually sit down to write some code, you learn things that you didn't get from thinking about them in modeling terms...there is a feedback process there that you can only really get at from executing some things and seeing what works

It's very difficult for governments to dominate the Internet because it's so difficult to control. People want to be free. People want to hear multiple voices. They want to make their own decisions. And people who see things will report things.

What Bernie Sanders is calling for is incredibly important. Things like a $15/hour minimum wage, single-payer healthcare, taxing the rich, and free education. The radical reforms he has popularized are a key part of any socialist program today.

I'm not worried about the kernel itself or the basic system. All the commercialization is about the distributions and the applications. As such, it only brings value-added things to Linux, and it doesn't take anything away from the Linux scene.

When the New Deal programs were passed in the mid 1930s, millions of workers were joining unions, striking, and occupying factories to fight for a better life. It was this radical labor movement that forced the establishment to make concessions.

When you hear voices in your head that tell you to shoot the pope, do you do what they say? Same thing goes for customers and managers. They are the crazy voices in your head, and you need to set them right, not just blindly do what they ask for.

The big thing about distributed source control is that it makes one of the main issues with SCM's go away - the politics around "who can make changes." BitKeeper showed that you can avoid that by just giving everybody their own source repository.

When I do programming in my free time and for my own enjoyment, I really want to have a kind of protection: knowing that when I improve a program those improvements will continue to be available to me and others in future versions of the program.

I'm sitting in my home office wearing a bathrobe. The same way I'm not going to start wearing ties, I'm also not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords.

The funny thing about advertising is that it's not a zero-sum game... Historically, in the digital ad world, pie has gotten larger and it's possible for everyone to win, and it's perfectly possible that will continue to be true for quite some time.

Systems program building is an entropy-decreasing process, hence inherently metastable. Program maintenance is an entropy-increasing process, and even its most skillful execution only delays the subsidence of the system into unfixable obsolescence.

Watching nonprogrammers trying to run software companies is like watching someone who doesn’t know how to surf trying to surf. Even if he has great advisers standing on the shore telling him what to do, he still falls off the board again and again.

There is plenty of work to do, but big business isn't investing in rebuilding a green economy for the 21st century. Instead, they put their money into a gigantic financial casino, and when that led to catastrophe in 2008-9, they made us pay for it.

If you find yourself concentrating on the technology rather than the sociology, you're like the vaudeville character who loses his keys on a dark street and looks for them on the adjacent street because, as he explains, "The light is better there."

Some people have told me they don't think a fat penguin really embodies the grace of Linux, which just tells me they have never seen an angry penguin charging at them in excess of 100mph. They'd be a lot more careful about what they say if they had.

The thing I love about diving is the flowing feeling. I like a sport where the whole point is to move as little as humanly possible so your air supply will last longer. That's my kind of sport. Where the amount of effort spent is absolutely minimal.

For those who say you're thinking too big... be smart enough not to listen. For those who say the odds are too small ... be dumb enough to give it a shot. And for those who ask, how can you do that?... look them in the eyes and say, I'll figure it out.

If you think about the history of the PC industry, the PC industry has essentially been nothing but acquisitions by one company or another. Dell is the outlier. Dell built its own culture. They automated themselves to be the most efficient manufacturer.

Other people have other goals, and sometimes the BSD style licenses are better for those goals. I personally tend to prefer the GPL, but that really doesn't mean that the GPL is any way inherently superior - it depends on what you want the license to do.

If a project has not achieved a system architecture, including its rationale, the project should not proceed to full-scale system development. Specifying the architecture as a deliverable enables its use throughout the development and maintenance process.

You can learn more from failure than success. In failure you're forced to find out what part did not work. But in success you can believe everything you did was great, when in fact some parts may not have worked at all. Failure forces you to face reality.

Last week I was listening to a podcast on Hanselminutes, with Robert Martin talking about the SOLID principles... They all sounded to me like extremely bureaucratic programming that came from the mind of somebody that has not written a lot of code, frankly.

People are looking for software development that actually does something useful... People are looking for partners who deliver when promised, and at a reasonable and transparent price. I believe that the days of being able to value price software are numbered.

I was never a "big thinker". One of my philosophies in Linux has always been to not worry about the future too much, but make sure that we make the best of what we have now - together with keeping our options open for the future and not digging us into a hole.

Right now some people are just running around in circles and claiming that moving things to the kernel automatically makes it more stable. I'm telling you that the kernel is stable not because it's a kernel, but because I refuse to listen to arguments like this.

I will, in fact, claim that the difference between a bad programmer and a good one is whether he considers his code or his data structures more important. Bad programmers worry about the code. Good programmers worry about data structures and their relationships.

If something seems possible, that's probably because someone is already doing it. When something seems that it can't possibly work, nobody tries it. Real innovation happens when someone tries anyway, overlooking an obvious flaw, and finds a way to make an idea work.

I try to avoid long-range plans and visions - that way I can more easily deal with anything new that comes up without having pre-conceptions of how I should deal with it. My only long-range plan has been and still is just the very general plan of making Linux better.

Success is really about being ready for the good opportunities that come before you. It's not to have a detailed plan of everything that you're going to do. You can't plan innovation or inspiration, but you can be ready for it, and when you see it, you can jump on it.

People who bet against the Internet, who think that somehow this change is just a generational shift, miss that it is a fundamental reorganizing of the power of the end user. The Internet brings tremendous tools to the end user, and that end user is going to use them.

C++ is in that inconvenient spot where it doesn't help make things simple enough to be truly usable for prototyping or simple GUI programming, and yet isn't the lean system programming language that C is that actively encourages you to use simple and direct constructs.

Find a way to say “Yes” to things. Say yes to invitations to a new country, say yes to meet new friends, say yes to learning a new language, picking up a new sport. Yes is how you get your first job, and your next job. Yes is how you find your spouse, and even your kids.

One of the unintended negative consequences of online advertising has been the loss of value in traditional classifieds. It's simply quicker, simply easier for an end user who's online, on a broadband connection, to look things up and to figure out what they want to buy.

I can't say that I like MicroSoft: I think they make rather bad operating systems - Windows NT is just more of the same - but while I dislike their operating systems and abhor their tactics in the marketplace I at the same time don't really care all that much about them.

The programs that came to be known as the New Deal were not simply handed down by the benevolence of FDR and the Democrats. They were fought for. And in the 1960s, it was the similar. You had incredible movements against Jim Crow, poverty and the Vietnam War in the 1960s.

I've felt strongly that the advantage of Linux is that it doesn't have a niche or any special market, but that different individuals and companies end up pushing it in the direction they want, and as such you end up with something that is pretty balanced across the board.

One of the questions I've always hated answering is how do people make money in open source. And I think that Caldera and Red Hat - and there are a number of other Linux companies going public - basically show that yes, you can actually make money in the open-source area.

I don't go to conferences quite as much as I used to: having a child and movin away from the university leaves me with less time, but I've tried to balance things out - not just spending time with Linux all the time, but having a real job and a real life at the same time.

The essence of a software entity is a construct of interlocking concepts. I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation.

Share This Page