Quantcast
Channel: Code Simplicity
Browsing all 70 articles
Browse latest View live

The Third Law of Software Design

So now we know that there is more future time than present time and that software will change as time goes on. Our next law is, once again, axiomatic, and needs no derivation: It is impossible to...

View Article


Image may be NSFW.
Clik here to view.

The Fourth Law of Software Design: Complexity vs. Ease of Maintenance

Okay, so if we never change our software, we can entirely avoid defects. But change is inevitable! Particularly if we’re going to add new features. And after all, one of our goals was to make software...

View Article


If It Ain’t Broken…

Okay, so remember our third law? (You can’t break things if you don’t change them.) Well, that has a very important related rule, that every engineer on Earth knows, but sometimes forgets: Never “fix”...

View Article

Instant Gratification = Instant Failure

The broadest problem that I see in the software industry is that companies are unwilling to engage in strategies that only show results in the long term. Or, more specifically, that organizations are...

View Article

Image may be NSFW.
Clik here to view.

Truncated Posts in RSS?

Hey everybody. So, some of my posts are rather long, and so I truncate them with a (Read More…) link that takes you to the full post. That link also shows up in the RSS, as a (more…) link. For the...

View Article


Complexity and the Wrong Solution

Often, if something is getting very complex, that means that there is an error somewhere far below the level that things are getting complex on. For example, it’s very difficult to make a car move if...

View Article

Specific Solutions

So, I’m a huge Kyle XY fan, and I was entertaining myself this morning by watching the various “behind the scenes” clips that they have on the website. Of course, before each clip was an ad–the same...

View Article

The Never-Shipping Product

When you work as a professional programmer, you almost always know somebody (or are somebody) who’s going through one of the most common development horror stories in the book: “We started working on...

View Article


FOSSCoach 2008

If you’re going to be in Portland, Oregon or attending OSCON and you want to hear me talk, I’ve proposed a session for FOSSCoach called Code Simplicity: Software Design In Open Source Projects....

View Article


Unforseeable Consequences: Why We Have Principles

One of the most important things to know about any kind of engineering is: There are some things about the future that you do not know. Obviously it’d be ideal if we were all-knowing and could...

View Article

Creating Complexity: Lock-In To Bad Technologies

In The Never-Shipping Product, I mentioned seven ways to add complexity, and one of them was “Lock-In To Bad Technologies.” But what’s a “bad” technology? Is it all just based on opinion? Should we...

View Article

What Is A Bug?

Okay, most programmers know the story—way back when, somebody found an actual insect inside a computer that was causing a problem. (Actually, apparently engineers have been calling problems “bugs”...

View Article

The Source of Bugs

Bugs most commonly come from somebody’s failure to reduce complexity. Less commonly, they come from the programmer’s misunderstanding of something that was actually simple. Other than typos, I’m...

View Article


Talking at OSCON

I’m going to be talking at FOSSCoach, a free series of lectures at OSCON. You don’t need a session pass to attend, but you do need to register (for free). I’ll be talking on Thursday, July 24, at...

View Article

Slides From My Talk

So, I just had my talk, Code Simplicity: Software Design In Open Source Projects at OSCON 2008. It went really well! Here’s the slides from my talk (also available in PDF Format). -Max Comments: 0Code...

View Article


Image may be NSFW.
Clik here to view.

Sane Software Design

I have come up with an analogy that should make the basic principles of software design understandable to everybody. The great thing about this analogy is that it covers basically everything there is...

View Article

Design From The Start

I don’t know if this has become clear to everybody yet, but you really need to design from the start. You need to be working on simplicity and the other Laws of Software Design from the very beginning...

View Article


Designing for Performance, and the Future of Computing

So, you might have heard that Google released a web browser. One of the features of this web browser is its JavaScript engine, called v8, which is designed for performance. Designing for performance is...

View Article

Success Comes From Execution, not Innovation

There’s a strange sort of social disease going around in technology circles today, and it all centers around this word “innovation.” Everybody wants to “innovate.” The news talks about “who’s being the...

View Article

Image may be NSFW.
Clik here to view.

Top 10 Reasons To Work On Open Source (In a California Accent)

So, as a little digression from our normal content, I felt like writing a list of the top 10 reasons to work on open-source software…but being a born Californian, I felt I had to pay a little respect...

View Article
Browsing all 70 articles
Browse latest View live


Latest Images