Sunday, August 30, 2009

OSS Experience: jEdit

Overview

The purpose of this assignment is to familiarize ourselves with an open source project that's interesting to us. The project I chose to blog about is called jEdit. jEdit is a text editor written in Java. Java enables it to run in multiple operating systems. According to its web page, "jEdit is a mature programmer's text editor with hundreds (counting the time developing plugins) of person-years of development behind it." I went ahead and downloaded the Mac OS X package to see what the project has to offer.

Prime Directive 1

The project's main purpose is to edit text and it does it like every other text editors out there. One of the features that makes this a great text editor for programmers is its ability to be enhanced by installing plugins. jEdit has a large collection of plugins created by a "world-wide developer team." This simple text editor could be configured with the right plugins and become a very useful IDE.

PD1: Pass

Prime Directive 2

As a non-developer, this package was pretty easy to setup. It was up and running in a matter of minutes. The Mac OS X package comes in a .dmg file. Once downloaded, the dmg file mounts itself with one file in its directory. I simply copied the jEdit application file to my Applications directory. The application launched with no problems. The Download page provides an easy to follow User's guide. Another feature that I liked about the application is the display of "Tip of the Day." It's a neat way of learning the application's features.

PD2: Pass

Prime Directive 3

jEdit has a great community based development that continues to fix bugs and add features. A developer can easily join the community and start contributing to the project. A developer can contribute in the following specific category; writing/updating edit modes, writing macros, writing plugins, and fixing plugin or core bugs. From the looks of things, it seems pretty easy for a new developer like me to dive right in and modify and improve the project.

PD3: Pass

David Joel Lazaro

FizzBuzz: Welcome to Software Engineering

FizzBuzz is the first Java program that I've worked on since Fall 2008. My courses last Spring were about different scripting languages and database so my Java is pretty rusty. The goal of this program is to print out the numbers 1 to 100 with a few twists. When the current number is a multiple of 3, print "Fizz", when the current number is a multiple of 5, print "Buzz", and when the current number is a multiple of 3 and 5, print "FizzBuzz". The following code is my implementation of the FizzBuzz program.

public
class FizzBuzz {

public static void main
(String[] args) {

for (int i = 1; i <= 100; i++) {

if (i % 15 == 0) {
System.out.println
("FizzBuzz");
} else if (i % 5 == 0) {
System.out.println
("Buzz");
} else if (i % 3 == 0) {
System.out.println
("Fizz");
} else {
System.out.println
(i);
}
}
}
}

Once I got the algorithm of the program, it took me about five minutes to type and fix my errors in Eclipse. I did not have any problems with Eclipse or Java because I had everything set up even before I took ICS 413.

Before I typed this code in Eclipse, Professor Johnson gave this problem to us as our first quiz to be written on a piece of paper. Without having done some Java coding in a while, I was clueless on how to code this problem. I got the algorithm correct but my mind is still fresh with all the scripting languages I learned last semester. I realized that I have to practice more so that I don't fall behind in the later assignments. I'm hoping to come out of this class with much better knowledge and techniques on developing softwares.

David Joel Lazaro