Digital Sanctum

software development, technology and other square topics

Archive for the ‘Software Development’ Category

Paul Graham’s Design Philosophy

without comments

I read Paul Graham off and on and find most of what he writes about interesting even if I don’t agree with all of what he has to say. His latest essay, “Six Principles for Making New Things”, is one that seems to echo a lot of what’s been said before about solving problems with software. In his own words the steps are:

I like to find (a) simple solutions (b) to overlooked problems (c) that actually need to be solved, and (d) deliver them as informally as possible, (e) starting with a very crude version 1, then (f) iterating rapidly.

To summarize, find a simple solution to a problem and release early and release often.

Written by Shane

February 16th, 2008 at 10:28 pm

Da Vinci Machine: Bringing More Languages to the JVM

without comments

Da Vinci MachineSun has launched a project called the Da Vinci Machine, also being described “a multi-language renaissance for the Java Virtual Machine architecture.” The project includes prototype JVM extensions to run non-Java lanugages on the JVM. The intent is to address JSR 292 Request and have the extensions included in the next release of Java SE, Java SE 7.

It should be pretty interesting how far John Rose (project lead) can take this and whether it will truly lead to a renaissance for Java in light of the popularity of dynamic languages.

Written by Shane

February 6th, 2008 at 8:07 am

gem install rjb on mac os x leopard

with 2 comments

If you’ve tried installing the rjb 1.1.x gem on Mac OS X Leopard, you will probably end up with an error like:


lipo: can’t open input file: /var/tmp//ccpyNy8b.out (No such file or directory)
make: *** [load.o] Error 1

In order to get around this you have to run the following commands:


sudo su -
export JAVA_HOME=’/System/Library/Frameworks/JavaVM.framework/Home’
gem install rjb

Written by Shane

February 2nd, 2008 at 8:22 pm

Tomcat and Log4J

without comments

After battling with several different configurations when it comes to logging and Tomcat 5.5.x, I decided to put together this guide for a simplistic approach. This assumes that you would like to use Log4J for both Tomcat’s internal logging as well as your deployed web application’s logging needs.

For the impatient, here are the steps:

  1. Place a log4j.properties file which uses the RollingFileAppender in common/classes.
  2. Add your log4j.jar to the common/lib directory.
  3. Add commons-logging.jar (1.0.4 or later) and log4j.jar to your application’s WEB-INF/lib directory.
  4. Add a log4j.properties OR log4j.xml file to your application’s WEB-INF/classes directory.

Read the rest of this entry »

Written by Shane

January 19th, 2008 at 11:10 pm

What Companies Can Learn from Software

without comments

There are parallels between the organization and operational philosophies of companies and what is considered “good” software design. Attributes that immediately come to mind about good software design that can be applied to a company’s operation are loose coupling, polymorphism, and reuse.

Read the rest of this entry »

Written by Shane

January 12th, 2008 at 5:16 pm