[Reprint] Nice People More Likely To Go Bankrupt, Study Finds

WASHINGTON — They say nice guys finish last when it comes to dating, but that might not be the only time that it hurts to lack some edge. A new study finds that nice people may be more likely to struggle financially — even to the point of bankruptcy — than those who are less thoughtful.

Researchers from the Columbia Business School and University College London School of Management say that kinder individuals are more prone to financial hardships because money simply isn’t as important to them.

Read More

[Reprint] The Rise of "Worse is Better"

I and just about every designer of Common Lisp and CLOS has had extreme exposure to the MIT/Stanford style of design. The essence of this style can be captured by the phrase “the right thing”. To such a designer it is important to get all of the following characteristics right:

  • Simplicity-the design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation.

  • Correctness-the design must be correct in all observable aspects. Incorrectness is simply not allowed.

  • Consistency-the design must not be inconsistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness.

  • Completeness-the design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness.

I believe most people would agree that these are good characteristics. I will call the use of this philosophy of design the “MIT approach”. Common Lisp (with CLOS) and Scheme represent the MIT approach to design and implementation.

The worse-is-better philosophy is only slightly different:

  • Simplicity-the design must be simple, both in implementation and interface. It is more important for the implementation to be simple than the interface. Simplicity is the most important consideration in a design.

  • Correctness-the design must be correct in all observable aspects. It is slightly better to be simple than correct.

  • Consistency-the design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the design that deal with less common circumstances than to introduce either implementational complexity or inconsistency.

  • Completeness-the design must cover as many important situations as is practical. All reasonably expected cases should be covered. Completeness can be sacrificed in favor of any other quality. In fact, completeness must sacrificed whenever implementation simplicity is jeopardized. Consistency can be sacrificed to achieve completeness if simplicity is retained; especially worthless is consistency of interface.

Early Unix and C are examples of the use of this school of design, and I will call the use of this design strategy the “New Jersey approach”. I have intentionally caricatured the worse-is-better philosophy to convince you that it is obviously a bad philosophy and that the New Jersey approach is a bad approach.

Read More

You're up and running!

Next you can update your site name, avatar and other options using the _config.yml file in the root of your repository (shown below).

_config.yml

The easiest way to make your first post is to edit this one. Go into /_posts/ and update the Hello World markdown file. For more instructions head over to the Jekyll Now repository on GitHub.

Read More