Skip to content

Ramblings

Musings of Matt Williams
  • Blog
  • About
  • Chibi
  • Ruby Blender
  • Archives
  • Log in
 
Less
More
Trim
Untrim
« Older
Home
Loading
Newer »
Archive for August, 2008
14Aug08 Quotes on Simplicity
Just Enough Programming programming
1 Comment

“If a thing can be done adequately by means of one, it is superfluous to do it by means of several; for we observe that nature does not employ two instruments where one suffices.” — Thomas Aquinas

“Simplicity is the ultimate sophistication.” — Leonardo DaVinci

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity.

A program should follow the `Law of Least Astonishment’. What is this law? It is simply that the program should always respond to the user in the way that astonishes him least.

A program, no matter how complex, should act as a single unit. The program should be directed by the logic within rather than by outward appearances.

If the program fails in these requirements, it will be in a state of disorder and confusion. The only way to correct this is to rewrite the program.  — The Tao of Programming, 4.1

14Aug08 Foundations of Just Enough Programming
Just Enough Programming programming
1 Comment

The ability to simplify means to eliminate the unnecessary so that the necessary may speak. — Hans Hoffmann

A little while ago I’d come up with the following as a semi-serious description of Just Enough Programming:

Are you tired of over architected applications?  Does infinite scalability imply infinite development time?  Are you surrounded by applications whose sole goal is to be buzzword compliant?  Do you suffer indigestion from the “extra sauce” that makes the management happy?  Do the systems diagrams look like a redneck family tree?

If any or all of these are true, then you need Just Enough Programming™.  JEP makes liberal use of Ockham’s Razor, cutting through the cruft and getting to the crux of the issue.  It slices.  It dices.  It even juliennes.  JEP fosters simplicity and elegance by seeking to make systems as simple as possible, but not simpler.  Its goal is to achieve perfection by reaching the state where we have nothing more to take away.  JEP is not just a methodology; it’s a way of life.

While it’s tongue in cheek I’d like to talk about the foundations of JEP.
Continue reading ‘Foundations of Just Enough Programming’

13Aug08 The trouble with injection
gotchas tips
2 Comments

Ruby’s injection is very useful, but if you don’t remember one key fact, you’ll shoot yourself in the foot.

Continue reading ‘The trouble with injection’

13Aug08 Drag-n-drop
javascript web
0 Comments

Despite reports to the contrary, scriptaculous sortables do not work inside a table, nor a tbody. (as of rails 2.1)

13Aug08 [adjective] [gerund] websense
idiocy rants
0 Comments

I hit a web filter today which makes no sense whatsoever:  http://www.conditional-css.com is tripping the “entertainment” category.

Continue reading ‘[adjective] [gerund] websense’

12Aug08 O_RLY? A Ruby/Rails implementation of snowl (Part I)
programming rails
0 Comments

Recently Mozilla Labs released a prototype of snowl, a rss/atom/twitter feed reader. It is a firefox plugin and provides two views of messages — a “traditional” message view, as well as a “river of news“. I thought that this could be easily “redone” as a rails application. The rest of this article steps through the process of creating it.
Continue reading ‘O_RLY? A Ruby/Rails implementation of snowl (Part I)’

09Aug08 Just Enough Programming
Just Enough Programming
0 Comments

I’ve been giving a lot of thought over the past months to the idea of “Just Enough Programming”.  Agile manufacturing has led to Just In Time manufacturing.  We also have Just In Time compilers.  But I’ve seen far too many times where application architectures have been far too complex — where things are done, not because they’re truly needed, but rather because:

  • It is the “buzzword approved” method.
  • Architects and developers want to play with new toys.
  • Features and functionality added because they might be needed someday.
  • Premature scaling.  If an application does not need to be infinitely scalable, then why add the overhead of making it so?
  • Guru / Instructor / Net God / Writer X say that this is the right way to Y.

I’d like to make a case for applying a serious shave with Ockham’s Razor to these architectures, with a goal of creating “Just Enough Programming”.

Expect more on this topic in the weeks and months ahead.

08Aug08 Hello world!
administrivia
0 Comments

I’m trying something different here.  After reading Jay Field’s post Be Your Start-Up, I was inspired to do more to build my own “brand”.  In the past, I’ve operated under one or more nicknames/personas with varying amounts of notariety.  But I’ve not been known as myself.

This is an attempt to build the Matt Williams brand.

 
Browse Archives »
  • administrivia (6)
  • books (1)
  • Computers (2)
  • css (3)
  • eating crow (1)
  • games (1)
  • glassfish (1)
  • gotchas (18)
  • howto (2)
  • idiocy (3)
  • javascript (4)
  • jboss (5)
  • jruby (7)
  • Just Enough Programming (7)
  • life hacking (2)
  • mini sagas (1)
  • miscellany (1)
  • monitoring (1)
  • mysql (1)
  • philosophy (4)
  • php (1)
  • programming (17)
  • rails (7)
  • rants (2)
  • refactoring (1)
  • ruby (14)
  • tips (9)
  • tools (2)
  • torquebox (1)
  • Uncategorized (9)
  • UNIX (1)
  • utilities (3)
  • web (5)
  • web design (3)
 

Latest

  • rsh hates nohup
  • Torquebox and Cygwin: Take I
  • Rails & JRuby in a Jar
  • Fractal Terrain Generation
  • Quick thought on programming and distractions
  • Using jnp as a JBoss heartbeat
  • z-index and events
  • JBoss port confusion
  • SSL Joys
  • After long silence

Flickr

layout_newm3headerTerrain Testa

Blogroll

  • Development Blog
  • Documentation
  • Plugins
  • Suggest Ideas
  • Support Forum
  • Themes
  • WordPress Planet

Search

Browse by Category

  • administrivia (6)
  • books (1)
  • Computers (2)
  • css (3)
  • eating crow (1)
  • games (1)
  • glassfish (1)
  • gotchas (18)
  • howto (2)
  • idiocy (3)
  • javascript (4)
  • jboss (5)
  • jruby (7)
  • Just Enough Programming (7)
  • life hacking (2)
  • mini sagas (1)
  • miscellany (1)
  • monitoring (1)
  • mysql (1)
  • philosophy (4)
  • php (1)
  • programming (17)
  • rails (7)
  • rants (2)
  • refactoring (1)
  • ruby (14)
  • tips (9)
  • tools (2)
  • torquebox (1)
  • Uncategorized (9)
  • UNIX (1)
  • utilities (3)
  • web (5)
  • web design (3)

Browse by Tag

  • 1.2.6
  • 2.1
  • administrivia
  • autotest
  • books
  • controller
  • css
  • feed-normalizer
  • feeds
  • gotchas
  • idiocy
  • irb
  • Java
  • javascript
  • jboss
  • jruby
  • just enough programming
  • mini sagas
  • open-uri
  • philosophy
  • php
  • pragmatism
  • programming
  • quotations
  • rails
  • rants
  • reading
  • restful_authentication
  • rspec
  • rss
  • ruby
  • rubygems
  • scriptaculous
  • setup
  • simplicity
  • sprites
  • statemachine
  • tips
  • treetop
  • utilities
  • web
  • web design
  • websense
  • yaml
  • zentest

Browse by Month

  • August 2010 (1)
  • June 2010 (1)
  • March 2010 (1)
  • September 2009 (1)
  • August 2009 (2)
  • July 2009 (2)
  • May 2009 (1)
  • April 2009 (1)
  • February 2009 (4)
  • January 2009 (2)
  • December 2008 (2)
  • November 2008 (5)
  • October 2008 (3)
  • September 2008 (12)
  • August 2008 (28)
 
 
  • Blog
  • About
  • Chibi
  • Ruby Blender
  • Archives
  • Log in
 


Theme Design by Jay Kwong | Powered by WordPress and K2

 

Home Top Archives Entries FeedComments Feed