Archive for the 'Open Source' Category

A walk-through of Git

If you are starting to work with Git, then have a read through this excellent introductory walk-through.

Starting open source github project - Studio Gallery

As part of a larger project, I am starting a new open source Github project - Studio Gallery. It is a Ruby on Rails application aimed at professional photographers.

The app will allow photographers to create galleries for clients, uploading photos from photo shoots. Once the gallery is created, clients can log on and select the photos they want to order. Other features include the ability to rate photos and filter by ratings as well as pick the size of print to be ordered.

The project is just beginning, so nothing exists for it yet except the Github repository. I will putting up a Trac site or Wiki for it soon.

Wicket it is

For my open source Java app, I have decided to go with “Wicket.”:http://wicket.sourceforge.net/ My decision really comes down to two things; 1) I like the idea behind Wicket, I like the website, and I like that it is suppose to be fun to program with and 2) I have to learn something so why shouldn’t it be Wicket. And getting a comment from one of the developer’s didn’t hurt either.

Plus, with working at ThoughtWorks, I figure I will have plenty of time to learn other frameworks, so why not learn one of the up and coming ones. At least this way, if I am ever put on a project at the beginning, I can argue for or against its use intelligently.

Thanks to all the people who offered their suggestions. So now I just have to get my butt in gear and start coding.

Installing Trac on a Dreamhost account

I had a few spare hours today and installed “Trac”:http://trac.edgewall.org/ onto my “Dreamhost”:http://www.dreamhost.com account using a “tutorial I found at Natmaster.com.”:http://natmaster.com/articles/installing_trac_0.10.php The tutorial is excellent and is mostly cut and paste. There is some editing of files though so you will need to know how to use a text editor.

There was one part of the tutorial that did not work for and that was getting dbauth up and running. The tutorial states add the following to trac.ini:

[central]
database = /home/{your username}/trac_sites/dbauth.db
envroot = /home/{your username}/trac_sites/{your trac project id}

However, Trac kept complaining that envroot was not specified in trac.ini. The only fix I could find for this was to use the following instead from the “dbauth site:”:http://www.trac-hacks.org/wiki/DbAuthPlugin

[dbauth]
database = sqlite:/home/{your username}/trac_sites/dbauth.db
envroot = /home/{your username}/trac_sites/{your trac project id}

users_table = trac_users
users_envname_field = envname
users_username_field = username
users_password_field = password
users_email_field = email

perms_table = trac_permissions
perms_envname_field = envname
perms_username_field = username
perms_groupname_field = groupname

cookies_table = trac_cookies
cookies_envname_field = envname
cookies_cookie_field = cookie
cookies_username_field = username
cookies_ipnr_field = ipnr
cookies_unixtime_field = unixtime

I am not sure how much of this is needed though. My problem may have stemmed from the fact that I was unable to download the version specified in the tutorial and had to get the plug-in manually. Although, the version I downloaded was 0.10.

Now to learn how to use the software.

Where are the open source modeling tools?

I use Eclipse and NetBeans almost every day. I use Ant, JUnit, jMock, Hibernate, Spring and half the Jakarta Commons library almost every day as well. I also use open source databases, web frameworks, and languages. What I don’t use though are open source modeling tools. This is because there aren’t any.

Where are the open source UML(Unified Modeling Language) and ER modeling tools? And why are no developers or organizations creating them? For me, the lack of existence of these tools can only lead to one conclusion: the open source community simply does not do any modeling before, during or after developing an application. The reverse of this statement is that only enterprisey companies do modeling. I am not sure if I buy into this conclusion.

Personally, I like to, before I start coding, to model the domain for my application. This gives me a better understanding of the relationships that exist between things in the real world and gives me to good starting point for building my domain object model. Modeling tools really help for this. I guess the open source community just uses the “back of the napkin” approach, literally. But napkins are hard to share with a distributed group of developers. Therefore, people must be using some tools. Where are they and what are they?

I think this is evidence one a problem with the open source community; only the tools that people use on a day to day basis get built. This ends up leaving holes in tool support. I can use an exceptional Java IDE(Integrated Development Environment) every day for free, but I have to go and pay hundreds to thousands of dollars to do database modeling because open source developers don’t do database modeling.

I realize that right about now the entire open source community is shouting in unison, “fix it!” And I would if I could, but the reality is that I am not sure that I can single handedly create an ER modeling tool. True, I would learn along the way, but Eclipse, NetBeans, JBoss, PostgreSQL, MySQL, and other tools were not created by single people, they were created by organizations. So where are the organizations creating modeling tools?

I also realize that there is “ArgoUML”:http://argouml.tigris.org/ and “DBDesigner4″:http://fabforce.net/dbdesigner4/ which are both modeling tools, UML and ER respectively. However, the last time I used ArgoUML is was almost unusable and DBDesigner4 does not work on a Mac.

Java Open Sourced

Sun has open sourced part of Java under the GPL(GNU Public Licence) v2 license.

bq. The initial release today will include the HotSpot runtime, javac compiler, JavaHelp, and Sun’s Java ME implementation. The rest of Java will be released under GPLv2 early next year. (”Javalobby.org”:http://www.javalobby.org/java/forums/t84244.html)

The interesting part of this release is the inclusion of a Classpath Exception which

bq. permits you to link your code to open source Java without forcing your code to fall under the GPL as well. (”Javalobby.org”:http://www.javalobby.org/java/forums/t84256.html)

In addition to the open source GPLv2 license, Sun is going to dual license Java so that commercial entities can use it without having to worry about the viral nature of the GPL, even though the Classpath Exception is, as I understand it, suppose to handle this.

In order to help us with this transition, “Sun has set up an FAQ page”:http://www.sun.com/software/opensource/java/. In addition, there is also the “OpenJDK website”:https://openjdk.dev.java.net/.

The following links have more information:

* “Open Source Java Editorial on Java.net”:http://today.java.net/pub/a/today/2006/11/13/open-source-java-editorial.html
* “Java GPLed on the O’reilly onJava.com website”:http://www.oreillynet.com/onjava/blog/2006/11/java_gpled_1.html?CMP=OTC-FP2116136014&ATT=Java+GPLed

As I find more links of interest I will post them here.