The Source for Java Technology Collaboration
User: Password:



Daniel Brookshier's Blog

Open Source Archives


JXTA at 5 Years Old

Posted by turbogeek on April 07, 2006 at 04:37 PM | Permalink | Comments (3)

JXTA is just about to turn 5 years old. Hard to imagine. Those internet years at 7 to 1 seem to be in play, at least with my memory. A lot has happened in 5 years.

I got involved with JXTA soon after it was announces. Anything with the mark of Bill Joy had to have something smart associated with it, so I jumped in head first. I quickly started writing applications and doing small things. I learned a lot.

Soon after things started, I got a call from Sams Publishing to do a book on JXTA. It was a difficult book. Though I had some experience, we were still struggling with how to best write P2P applications. P2P is not the easiest thing in the world. The idea of publish pipes and all that was not an easy thing to wrap your mind around. The ping example in the book went on for many pages - now I can write ping in one.

One of the key advances was simply an understanding of how to write P2P applications. One of the best is just the simplistic well-known-ID or WKI for lack of something shorter. For all the indexing and advertising, there are simpler applications of WKI that make it very simple to implement many P2P applications.

The JXTA spec and platform evolved too. The original version was painfully slow. Just connecting to the network could take a couple of minutes. Now average boot and connect to a JXTA network is a couple of seconds. Transfer speeds are also way up. The C version of the platform is also doing well and had a lot of heavy rewriting. Nothing better than a little refactoring, except more refactoring.

The protocol changed slightly, making up for some of the speed. The key advances were in how the Rendezvous worked. But it seems that a lot of things sped up with little changes here and there over a few years. None of this was without a lot of dedication from the platform team.

The next bit of advancement was the addition of a Socket wrapper for JXTA. One of the tough problems with the base API was working with an API that was unfamiliar. The socket API is very familiar and it is easier for the average developer to understand what's going on. The socket also hides things like reliability a bit better. There has been a lot of churn in the design of the code under the wrapper, but those changes are completely transparent.

The business viability of JXTA also continued to improve. I have been employed by several companies that were using JXTA, including many fortune 500's. I have also worked with several startups. JXTA makes sense for a lot of applications and businesses see that quite clearly. There are still a few things that big business needs like out of the box presence, identity management, and a true P2P database. We do have presence in our commons project, but there is room to grow.

The market for P2P is still growing and JXTA is still the only viable multi-purpose solution. Don't get me wrong, there is a lot of P2P out there, but mostly for file sharing and not writing business critical applications. The only alternative is Groove and that's owned by Microsoft. It also costs quite a bit. JXTA is open source and it is simple to set up your own P2P network for pennies on the dollar.

Where is the market? Where are the applications? They are in a lot of places from the military to telecom. I have consulted with a bunch of companies, plus there are many listed at jxta.org.

The latest startup I've been working with is called Kerika. They have a really cool tool that is best described as a graphical wiki. The workspace is sort of like a drawing tool mixed with the ability to add text, images, and documents but also relate them with connecting lines. The symbols can be clicked to reveal an even deeper view. Sort of like mind mapping, but this tools also adds collaboration and sharing to the mix. I think it is one of the coolest applications for P2P and it is written in 100% Java with Swing, but has its own look that is very clean and professional. They have just started their beta program, so the product is free, so check Kerika out.

Overall, it has been an amazing 5 years. JXTA is out in the real world and is doing a great job. We have a lot to grow. But that also means there is opportunities everywhere!

Quick Links

Kerika - http://www.kerika.com/
JXTA - http://www.jxta.org/
JXTA Commons Project - https://commons.jxta.org/
JXTA Company Spotlight - http://www.jxta.org/companies/companyarchive.html

Continue Reading...



JXTA in Belgium!

Posted by turbogeek on March 22, 2006 at 08:41 AM | Permalink | Comments (0)

JaDiMo is a very cool application that can do various things from finding an open parking space to booking a hotel room. It is written with JXTA and Java plus runs on everything from cell phones to desktops. What is really amazing is the number of business use cases they cover. They have very cleverly moved from their original goal of finding an open parking space to multiple patterns of time/space availability and reservation like hotel rooms.

I spoke with Steven Palmaers of the JaDiMo project to learn more about their application and the future of the project. So, on with the interview:

First give a quick explanation of what JaDiMo is and why it is important.

JaDiMo is a research project at the XIOS Hogeschool Limburg (http://www.xios.be), which is an institute for higher education in Belgium, comparable to a college in the US.

The project is co-financed by IWT and some commercial partner companies. IWT is the Institute for the Promotion of Innovation by Science and Technology in Flanders and was established by the Flemish government in 1991. They have a yearly budget which they use to support companies and research institutes financially. The JaDiMo project is financed by the so-called HOBU programme, which primary purpose is to research new, promising technologies. The proposed projects can have different subjects, such as medics, biology and ICT of course.

The main goal of the project is to research the use of JXTA in combination with J2ME. Most of the use cases have to do with the mobility problem. There is for example a carpooling system, a system to locate parking garages in a city and a system to locate restaurants or hotels. Most of the applications come as a web version, a desktop version and a J2ME version (both MIDlet as Personal Profile). The main purpose of the project is to provide our partners with a proof of concept of JXTA and P2P in general.

Tell us about yourself and the team.

The JaDiMo project team consists of three people: Marina Luwel, Nicky Eichmann and Steven Palmaers. Marina is the project leader, she’s also a Java teacher at the XIOS Hogeschool Limburg. Nicky and Steven work full-time on the project. Nicky and Steven graduated two years ago. Nicky holds a BS in Computer Science and Steven holds a MS in Computer Science.

How did it all get started? What made you think of the idea and use JXTA and P2P?

As we wanted to submit a HOBU project proposal, we were looking for a new, promising technology to do research in. A Belgian Sun employee pointed us towards JXTA, which was quickly becoming popular at that time (late 2002, early 2003). So the sentence “in the beginning there was JXTA” pretty much sums it all up. Once we had our technology, we had to think of possible applications. We defined several use cases, which all have something to do with the mobility problem. We also decided to use J2ME technology, as we wanted our applications to be usable on mobile phones and PDAs. After we submitted the project proposal, a jury rated the different project proposals. The JaDiMo project was one of the projects selected. January 2004 we started working on the project. All HOBU projects have a maximum duration of 24 months, so the project ends December 2005.

One thing that struck me as genius was how many of the modules are very similar like parking slots and hotel rooms. Do you look for matching patters to fit your first module or did you design your modules to fit multiple patterns?

As I stated before, in the beginning there was JXTA. We then looked at possible applications that could be developed in a P2P way. The first application we came upon was our carpooling system. This makes it possible to find a carpooling partner in real-time, without having to go through a cumbersome registration process on a website. One of our partners is an organization that organizes carpooling, lift services and home exchange services. So our first application can basically be seen as an electronic, mobile version of their system. The difference however is that our application is ad-hoc. As soon as I realize that I need to go somewhere, I take out my mobile phone or PDA and can immediately find other people travelling to the same destination.

Most other applications are also concerning mobility. For example finding a parking garage, finding a hotel or restaurant. So as it turns out, most applications can be send as “search and get” applications, which happen to be focused towards mobility. But it would be equally possible to create a self-organizing P2P dating agency. In fact it’s maybe not a bad idea to make the core functionality of our applications publicly available at the end of the project.

Another application that we developed is a bus application, that can be used by the bus companies to send delays to bus stops, track different buses (using a GPS receiver), …

On your web page, you list a lot of partners. What are you doing with them?

The project is co-financed by the Flemish government and some partners. We have one scientific partner, the Expertise Centre for Digital Media (http://www.edm.uhasselt.be) which is a research institute of the Hasselt University (http://www.uhasselt.be). The other partners are commercial companies or public organizations with up to 50 employees. In general those companies don’t have a budget to do research themselves. So in fact, we are investigating a new, promising technology, JXTA in this case, on their behalf. After the project finishes, the partners are free to use the applications that we developed. They can further adapt them to their needs and possibly commercialise them. Other partners simply see our research project as a ‘proof of technology’.
Every 3 months, we organise a user committee meeting, where we give a presentation about the recent evolutions of the project and the partners can give feedback or make suggestions. We also organized two technology days, which are in fact free courses for the partners’ employees. One was about JXTA and the other one about J2ME.

Has working with the partners helped the development and commercialization prospects for JaDiMo?

The primary purpose of our project partners, as outlined before, is to provide feedback during the user committee meetings. Our partners also have the right to further develop or adapt our applications to their own needs and possibly commercialise them.
In Hasselt (a town close to our institution) people are currently working on a wireless city implementation with all kinds of services. There have been some initiatives from one of our partners to propose some of our applications as services inside that project, but talks are still going on.

How do you describe P2P and JXTA to your clients and partners?

As we are a pure research projects, we do not have clients. Since JXTA is one of the main subjects of our project, we describe JXTA to our partners as a solid framework to develop P2P applications. We also organized a JXTA technology day, were our partners’ employees could follow a course to learn the basics of JXTA. So our partners have a good understanding of what JXTA is and what its possibilities are. Most people we talk to, and tell about P2P, almost always think of (illegal) file sharing or instant messaging when P2P comes up. We try to explain them that JXTA is much more than that.

What are you currently working on with JaDiMo?

At this time, we are fine tuning most of our applications. We are also working on some smaller applications that use JXTA. During the last weeks, we have also been working on a system for ‘event pooling’. The meaning is to reduce traffic problems around rock concerts, football stadiums, … Our system will allow people to register on a website or by mobile phone and enter their details (address, car available, …). The system will then automatically match users and send an e-mail or a text message to their mobile phones. They can then travel together to the concert or the sports event and so help reducing the traffic congestion that normally occurs. This application will be commercialized next year by one of our partners. It will probably be launched together with one of the major rock concerts in Belgium. JXTA technology only plays a small role in this application.

What are your plans for the coming years for JaDiMo?

The JaDiMo project ends December 2005, so we only have a few months left. After that, the project partners can further develop our applications to their own needs and possibly commercialise them. Unfortunately there will be no further active development on the JaDiMo applications. We will however keep an eye on the JXTA community evolutions.

Are you looking for help or certain types of partners for JaDiMo?

Currently, as the project is about to end in a few months, the primary aspect we are looking at is finishing the project up. So we are not actively looking for help.

What gets you excited about what you are doing with JXTA and P2P?

When we first looked at JXTA we didn’t really have a clue about what it was and what its possibilities were. Now, almost two years later, it’s amazing to see how many people are involved in the JXTA community and how much interesting applications are being developed. I hope that by working on our project, we can help to make JXTA more known in Belgium, and to prove that P2P is so much more than illegal file sharing. A lot of people just don’t realize that P2P can be applied in a lot of applications and domains.

Are you working on any other projects besides JaDiMo?

Currently we are not working on another project. However, when the current project ends, we are starting a new research project, again for 24 months. The (long) title of this new project is ‘OSGi as a framework for context-aware monitoring and updating software for mobile and embedded systems’. The short name will be OCoMIS. This project is in collaboration with the Expertise Centre for Digital Media, our current scientific partner. The primary purpose of the project will be to research the practical use of OSGi (release 4 specifically) combined with interactive television, mobile devices and domotics.

About the interviewer: Daniel Brookshier is seasoned Java veteran that is now a P2P/JXTA specialist. He has written several books on software and is currently working on a book about P2P patterns. He is on the board of directors for http://www.jxta.org and runs the P2P user group in Dallas.



An Interview with a P2P/JXTA Brazlillian

Posted by turbogeek on February 16, 2006 at 12:48 AM | Permalink | Comments (2)

Edward Ribeiro is a Student at the at University of Brasilia doing some interesting work on JXTA for his Masters dissertation. Daniel Brookshier sat down via email for a chat about what he is doing with JXTA.

Name: Edward Ribeiro
JXTA ID: edwardribeiro
University of Brasilia, Brasilia

Daniel Brookshier (Q): Tell us a bit about yourself.

Edward Ribeiro (A): I am a second year MSc. student at University of Brasilia (Brazil). I am currently working in a government institution in Brazil.

Q: How long have you been working with JXTA?
A: I have been working with JXTA since the beginning of 2005. Nevertheless, I have played with it during short periods of time since its creation.

Q: What are you using JXTA for and in particular why use Peer-to-Peer as a
solution to your problem?

A: My masters dissertation is centered on distributed systems applied to computational biology problems and it is heavily based on JXTA. We are trying to develop a P2P "cluster-like" system to process DNA sequences on BLAST. We think the P2P model can be scalable and flexible solution to distributed programs execution and, of course, we were highly inspired by the good example of Protein@HOME.

We have just finishing our first prototype using JXTA. It works well, but there are some open questions/bugs related to JXTA that need to be solved before deploying it. My advisor was very happy with the little demo I showed.

Q: What attracted you to choose the JXTA technology and platform?
A: It is the most mature P2P solution in the market. I could have written a customized P2PP2P solution, but this was not the point in the dissertation work. I needed a mature platform to implement further ideas on it.

Q: What open source JXTA projects are you working on?
A: I could say that I am particularly interested in the 'platform' project. I keep posting on a regular basis and solving doubts as much as possible. I hope to be deep involved in this project after defending my thesis. I am particularly interested in the jxta-c project, but I didn't have any free time to spend on it.

Q: Is your company using JXTA and if please describe it if you can?
A: There's a consortium of universities paying a close attention at my project. They want to use the distributed infrastructure that I am building. Therefore, JXTA can potentially be used to integrate all these universities in a comp. biology network.

Q: In either your company or in your open source projects, do you need help and if so what skills or experience are you looking for?
A: My project is a great JXTA testbed and I would be more the grateful if you could provide me some personal advice. It needs to be secure, encouraged.

Q: What JXTA platform(s) are you using (J2SE, J2ME, C)?
A: J2SE

Q: This is for us to do a better job, what do you think needs to be added to the JXTA.org web site to help you?
A: At first, I think that data transmission (pipes, jxtasockets, jxtabidipipes) should have the highest rank in a priority list, because jxtasockets and jxtabidipipes are not 100% reliable or efficient as plain sockets. I could certainly live with some degree of inefficiency, but unreliability makes me too upset. A related point in this area would be the addition of QoS (Quality of Service) to JXTA.

Finally, an updated version of JXTA inner workings. Something like this (http://wiki.java.net/bin/view/Jxta/JXTAImplementationUseCases#Publish_an_advertisement).

Q: One more question: What is your most burning question about JXTA or P2P development? (I'll reply if I have the answer)
A: Could you suggest a good presence design for JXTA? I have implemented my own, but it is not quite reliable as I would like to.:-)

Q: I would be happy to! Try https:commons.jxta.org where we have some good code for a simple presence system.

Thank you for your time!

You are welcome.:-)



An interview with Brian Koontz, creator of the Open Source Technology program at North Lake College

Posted by turbogeek on November 17, 2005 at 05:16 PM | Permalink | Comments (2)

There are two ways you can tell if there is a change in the wind. The first is
that the CEO on the golf course is talking about it. The second is when you
can get College credit. Well open source software has come of age based
on that measure with a certificate in Open Source Technology.

Brian Koontz created the Open Source Technology certificate program at
North Lake College in Irving Texas. This is near Dallas and in fact just

around the proverbial corner from my home. I learned about the program
from Slashdot through this link. It seemed like a great idea to see what
it was all about by talking to Brian and to post the interview here.

So, let's talk with Brian and see what this is all about.

Daniel Brookshier Q: First, tell us a little bit about yorself and how you got into
teaching computer science.

Brian Koontz A: While working as an air traffic controller in East Texas in the

early 90s, the thought occurred to me that there wasn't much of a
future for a retired controller. At the time, I've long held an
interest with computers and programming, so I decided the time was
right to formalize my technology experience and began working on my
M.S. in Computer Science at UT-Tyler. Times were good back then for
technology work, so I had no trouble walking away from my life as a
controller and into the world of technology.

After six years in the IT business, I was laid off as a consultant
shortly after 9/11. I had been tutoring math students at a local high
school, and thought teaching might be an interesting vocation. I
obtained my state teaching certificate in math and computer science,
and taught high school honors math and AP computer science courses for
the next three years, followed by my current stint as the Computer
Science program coordinator and OSS zealot at North Lake College.

Q: You have stirred up the developer world with the announcement that
you have a certificate program in open source. What has the reaction
been so far?

A: Very positive. Having braced myself for what I expected to be a
critical response to the announcement of our program on Slashdot, I
was pleasantly surprised that many comments were actually supportive
of the program. However, even before the Slashdot posting, the
program has received a warm reception from members of the various
local OSS-related users' groups. The encouragement from these groups
means the world to me, and I'm grateful for their continued support.

Q: Open source seems like it is expanding in its reach and use every
day. But the real measure of the mainstream is when it becomes part
of a teaching curriculum. What was it that made that transition for
you to go after students interested in open source?

A: Part of the reason is purely personal in nature: I've been
involved with various aspects of OSS development and support since
1996 (I cut my teeth on perl and vi, and have never looked back).
OSS has benefited my personal and professional life in so many ways;
it has always been my intention to contribute something back to the
OSS community which gives so freely of itself. On a professional
level, I've watched as Microsoft certification programs have dwindled
away, and decided it was time open source stepped up to the plate.

Q: I noticed that one of the classes is related to the philosophy of
open source. How did 'philosophy' bubble up to the curriculum?

A: Proprietary licenses exist in a realm that is defined by the paper
they are written on and the legal structure that is used to defend
them. When a company chooses to adopt an OSS solution, there are
some changes in philosophy that managers must be willing to embrace
for a successful adoption. As an example: Managers must realize
that they now shoulder some of the responsibility for technical
support and innovation with OSS, rather than relying exclusively upon a vendor
to supply such services (often at an exorbitant cost). While the myth
that service and support for OSS is non-existent still persists, true cost
savings with OSS are realized only if companies are willing to devote
in-house resources to customization and tech support.

Q: One of the questions I am asked a lot is, how do you make money in
open source? Since one of the reasons for education is to prepare for
a job, how are you approaching this question in the design of the
classes for the certification?

A: It's my belief that as OSS continues to gain corporate acceptance,
these companies will recognize the value in an employee who
understands what Open Source is about and can apply Open Source
principles to the company's bottom line. To me, Open Source is more
than just another collection of software tools used in the workplace.
It's a mindset that encourages innovation and the synergy that comes
from many individuals putting their collective wisdom together to
solve problems.

Q: One trend today is a blurring of working life and open source
community life. For example, I run several projects, I am a member of
others, I write books/articles/blogs on open source for fun/profit, I
am an open source community manager, and have always used pieces of
open source in code for many years. I see myself using some open
source for my job, some as a hobby and some as a career growth.
Do you think that this blurring of hobby verses career becoming
more pervasive? Will you be teaching open source as a career path
and as a sort of high-end continuing education?

A: We've already made plans to offer the courses as both credit and
continuing ed classes. In fact, continuing education is actually
geared towards the role of workplace training: Many employers who pay
for training will do so only if the courses are continuing ed courses.
But whether a course is taking for credit or CEUs is really beside
the point: The Open Source Technology certificate has been designed to
provide students with a solid foundation in Open Source technology and
best practices, while still allowing students who simply want to take
selected courses to do so without having to navigate a maze of course
prerequisites.

Q: Communities like java.net and sourceforge are sort of generic open
source communities that anyone can participate in. Do you have
students work in these communities? Do you teach them how to run and/
or participate in their own open source projects?

A: What a great idea! Student are required to demonstrate
familiarity with on-line help resources and code repositories in each
OSS course; I believe a successful OSS developer should be as
self-reliant as is possible when it comes to interacting with the OSS
community. Plans are in the works to develop two capstone courses
which take students through a complete OSS development lifecycle, and
that would be the ideal time to introduce students to the mechanics of
making their work publicly available, as you've suggested.

Q: LAMP (Linux, Apache, MySQL,Perl/PHP/Python)seems like a pretty
big subject. What is the focus and what elements are you expecting
a student to learn?

A: Actually, it's four separate semester-long classes at this point.
The goal of the program is for students to successfully incorporate
the knowledge gained in the certificate course (including LAMP) to
successfully design and implement a project of their choosing in the
final two capstone courses. We provide the tools (and encouragement)
for building successful OSS applications; it's up to the students to
discover new and innovative ways to use them.

Q: Open source is a fairly big arena. As an educator, how did
you choose what subjects to teach?

A: Before I was an educator, I was a software designer, developer, and
architect, so I've taken the liberty of drawing from my experiences
with various projects I've been involved with to put together a series
of courses I believe every developer should have exposure to.

Q: I'm a community manager. In fact I am moving into my second job
with this title this month. I have also served as a corporate
representative to open source communities to further corporate goals.
I bring this up because it seems that there are now many different
possible jobs in the open source world that are paid positions. Do
you think that education will evolve to include these, or will we
fill these positions through related education and experience?

A: I believe the Open Source Technology certificate program at North
Lake is on the forefront of "formal" OSS education. We're leading the
wagons down a lightly-trodden trail that few educational institutions
have traveled. As more companies come on board with OSS projects (and
no longer shy away from OSS as a "dirty little secret" to be hidden
from shareholders and customers), they're going to find themselves
tapping a market that is bereft of developers with adequate OSS
skillsets. Those who have had the foresight to pick up OSS skills
along the way will be in a prime position to take advantage of OSS job
opportunities.

Q: If you could create a full BS degree in open source software, what
would the goals be?

A: Too many BS degrees in IT/COSC focus more on mechanics than on
practical experience. Many graduates from these programs don't have a
clue when it comes to good software design practices (I know; I've
been there!). To answer your question, I'd have to answer
a precursor question: How can IT/COSC BS degrees be revamped in order
to produce graduates will real-world software application development
skills? Trying to develop an OSS-themed BS degree without a major
overhaul of the programs that currently pass for technology education
is premature. Ask me the question again when you find an IT/COSC BS
program that prepares its students for the real world!

Links
Weblog for the Open Source Technology program at North Lake College
North Lake College
Fall 2005 Schedule

Technorati Tags: ,



New Projects in the Education and Learning Comunity

Posted by turbogeek on October 06, 2005 at 11:57 AM | Permalink | Comments (0)

Once again, a fine crop of great projects in the Global Education and Learning Community. This time we have some normal fare for our community in terms of math with Algebra and Path Planning plus study aids and teacher aids with a Study Buddy and an Open Gradebook. We also have a student working on a programming assignment, an educational web site, and an online exam.

But this time we also have a very cool project called Clicker that aims at creating an open source version of the "clicker" device we see in some classrooms today. As you may know, the clicker is used to get instant feedback to a teacher and can be used for classroom interaction. In essence, it is like an audience participation vote device. Clickers are not always cheap or even well made and many schools put the burdon of cost and care to the student. It is inevitable that a student would see that there might be a better way. I recently was watching a documentary (Scientific American Frontiers?) that used a clicker and was amazed at the contortions of students trying to hit the infrared detectors in the classroom - not a ringing endorsement. There has to be a better way and so open development to the rescue. Let's see if we can create a better system!

Here is the summary list. Click below to see the slightly summarized details from each of the project proposals.

clicker - Open source "clicker" implementation

Monos - Monos Algebra Software
papaf - Path Planning Framework
CLEW - Collegiate Educational Website (CLEW)
StudyBuddy - Mindmapping, essay organiser, revison scheduler
wordsearchpuzzle - A project for a programming class
OnlineExamination - A user friendly exam
Open-Gradebook - A easy to use, non-intrusive grading system for teachers.

Continue Reading...



New Projects in the Education & Learning Community

Posted by turbogeek on September 07, 2005 at 03:22 PM | Permalink | Comments (2)

The Global Education and Learning Community continues to grow. Again we have a wide range from student-based exploration, teaching tools, Chinese language learning to an innovative healthcare application. The projects are from around the world and include Viet Nam, USA, China, and Brazil. Here are summaries of each of the projects. Click the link below to read more on the details from each of the projects.

compdoc2cn - Component Doc to Chinese
credweb - Academic project simulating an Web Interface of a Credit System
EpA - A web cooperative editor for learning environments
GHIN - Global Health Information Network
JAC - Vocabulary Trainer for Chinese
kids - help kids to learn and use Java
nb-elearning - eLearning Portal for Viet Nam.
Open Gradebook - Easy to use, non-intrusive open source grading system.
sfsucsc868group1f05 - CSc868 Group 1 Coursework
ufskart - Educational project through a virtual store.
virtual-campus - Virtual-Campus will be a feature rich E-learning / P2P tool
webbrowser - WebBrowser inclues various taste of different popular browser.

Here are the details of the projects:

Continue Reading...



TilePile - Making the art of Java really about art

Posted by turbogeek on August 11, 2005 at 02:38 PM | Permalink | Comments (1)

Greg Barton has created what I think is the first project in the GELC and possibly in all of Java.net that might be the first Java software you would find in the art classroom. Conceived by a professional artist and a very smart Java developer, this open source and non-commercial application is available to anyone that wants to use it. This software could make its way to your local high school or university art teacher. read on to learn more from the developer, Greg Barton. Take a look at the TilePile Project too and if you think it is cool as I do, look up your old art teacher and send them Greg's way.

The application is currently used in the classroom. As a part of the Lincoln mural project in Philadelphia, Greg Barton and his brother in law, set up five middle school art classrooms with Tilepile setups. (Two computers donated by IBM, tile racks and grids, and buckets 'o' tile.) The students use the system create tile square sections that will be included in the mural under the direction of volunteers from the Mural Arts program in Philly. Also look at this page on the Mural Arts site about the project, too.

Tell us a little about yourself (work background, hobbies, education, things we would be surprised to know).

I have an MS in computer science, focusing in artificial intelligence. I'm currently working as a GUI programmer for a small startup company based in Florida. My hobbies are playing the bass trombone and messing around with my open source projects. People would be surprised to know that I'm distantly related to the queen of England. I'd be surprised by that, too... :P

Are you a member of any Java user groups?

I'm a member of the Dallas area JavaMug and lead their Rules/AI special interest group.

Why did you start TilePile?

My brother in law is a muralist and needed some software to help him assemble a 30x300 foot glass tile mural. (Well over 1 million tiles.) Java to the rescue! :)

Tell us about the success of the project. Who is using it and how has it helped?

It is currently being used most heavily by my brother in law. One mural has been completed (the Barrio Anita mural in Tucson, AZ: http://www.dailystar.com/dailystar/news/50846.php) and another is being constructed for the Constitution Center in Philadelphia as a part of their Lincoln exhibit.

Other artists in the Philadelphia area have used it to construct murals as well.

What is the project's current status and plans for
the future?

Currently it's stable. What it's lacking most now is good programmer and user documentation. Planned features for the immediate future include splitting off the data serving and station control functions into different servers, a servlet based mural data server, and integration with outside image editing software like Photoshop and GIMP.

What kind of help are you looking for on this
project?

Testing on Mac OSX, mainly. Also folks with experience optimizing Java2D performance would be nice. Finally, anyone who loves writing user docs. (Like that'll ever happen! :P )

Any suggestions for GELC or Java.net?

Keep up the good work, and give Dan a raise. :)

Take a look at the TilePile Project too and if you think it is cool as I do, look up your art teacher and send them Greg's way.

Here are a few images that show that the TilePile application is truly a work of art. Great job Greg!!!

g!

Lincoln mural

Lincoln mural with grid grouping overlay

Lincoln mural, excluding sections with out of stock tile colors

NOTE: All artwork copyright 2003-2005 Joshua Sarantitis



Project Spotlight on JEDI - They are teaching Java in the Philippines!

Posted by turbogeek on August 10, 2005 at 01:44 AM | Permalink | Comments (1)

Sometimes you are surprised when you find someone in the world has the same passions as you. This time it is in the Philippines. One of our newest projects in the GELC is JEDI. JEDI is short for Java Education & Development Initiative. Quite a mouth full, so JEDI is a much better name. But what is JEDI all about?

The initiative is a partnership between the University of the Philippines Java Research and Development Center (UP JRDC) and Sun Microsystems in the Philippines. With the aid of the government and a slew of volunteers, teachers, and administrators, the goal of the project is to make Java a core part of the computer science curriculum in that country. The project is creating and supporting teaching materials and collecting tools for teaching Java in the Philippine university system and its high schools.

JEDI equips teachers with the knowledge, skills and resources for success. To do that, they needed to come up with a set of items, rather than just teaching materials. Here is a list of the primary things that the project provides:

• Free access to courseware and resources such as teaching slides, teacher
and student manuals, sample exercises and exams and various reference materials.
• Training on the courses themselves as well as how to teach the courses.
• Free software such as NetBeans, J2SE and various development tools and platforms that are used
for illustration and actual hands-on exercises, lab work and research work.
• Online community collaborating on JEDI through the Java.Net tools.
• Access to a JEDI Help Desk to help the teachers in using the course material.
• Participation in various JEDI events for students and faculty such as competitions, symposia and others

JEDI was launched in the Philippines on February 2005 and has already racked up some great statistics:

• 3 courses rolled-out
• 3 new courses being developed
• 29 JEDI member schools
• 63 teachers trained
• over 13,500 students to benefit
• Coordinating with 7 countries for implementation

As you can see, this is a lot more than just their project at java.net. They are in fact organizing a lot of people to create this operation. Java.net in this context is the hub where a lot of the information is manages and the community interacts. This is a truly different model than many open source projects.

The model used by JEDI is catching on. The GELC and Sun are working hard to add other projects like this in the general education area in Australia, Canada, and Korea. Also, the JEDI project is reaching out to other countries that can share the same materials and infrastructure.

There is a lot going on in this project. Take a look at it. You might want to help spread the word that there are some great resources for teaching Java.



Open Source for Capitalists, Part 1 - Free prize inside

Posted by turbogeek on August 10, 2005 at 12:46 AM | Permalink | Comments (2)

How do you make money from open source software?

I got the idea for today's blog from my friend Larry Snyder at Recursion Software. The question sounds ancient to me for some reason. It seems like a riddle passed down through the generations, perhaps with roots in mysticism or in ancient scrolls of the Tao or Zen. I can imagine Aristotle pondering on the subject. Perhaps I can at least guide the way. It's not as hard as it seems to answer, just hard to grasp for companies focused on profit margins. Making money from open source is like one hand clapping.

I'll break this up into a bunch of blogs. Here is the tentative list of subjects.

• Free Prize Inside
• Examples are Free, Right?
• Building Bigger Mousetraps
• Donations To A Worthy Cause

• Working In The Commons

Free Prize Inside

Seth Godin, who wrote "Free Prize Inside" and other Marketing books, might say that if you are a software company, the free side is the prize. If you are thinking about the cool toy in the cereal box, you understand what Seth is thinking. As a child, I remember a horrid cereal called Ruskets. It was like a brick of cardboard that you put in milk. Invented by by someone who was a 7th Day Adventists as I recall (vegetarians before it was fashionable). It is amazing how good these wheat cardboard-like bricks tasted with milk when there is a prize inside every box. The funny thing was, this was the whole marketing campaign at the time with "Free Prize in Every Bx" emblazoned on the side.

Think crackerjacks but leave out anything that tastes good. So the only thing left that is of value is the prize. I would eat as much as I could stuff myself with. Why? To get the next box and the next free prize.

Back to crackerjacks, they still sell while Ruskets are a memory. Why? Because there is value in the taste 'and' you get a free prize. So take something good and make it better by adding something special. You could add a software game or a personal organizer or additional tools. All of these can come from open source with only sweat equity to package them up with your product.

Look for example at adding a utility. Imagine your core database product is ten thousand dollars. Since it supports JDBC, why not include a lot of free tools from the open source world. That's a good prize and can make you look good by just including a few binary releases of free stuff. People love free stuff - even if it was free to the person giving it out.

Remember, it is not always about your product, but the experience of the product. Eating Ruskets alone is awful. Eating Ruskets with a FREE toy is an enjoyable breakfast. A database is nice, but a database with a FREE management tool is better.

I am leaning toward sending along a cool game. Engineers need to play, right? You can even get creative and somehow use the product to make the game work. To top it off, you release the game into open source. Now you have an example that uses your product, you have an open source project with your company name on it, and you have that free prize in every box.

Please pass the milk! I have a lot of cereal to eat.

Do you know some cool free prizes in open source that can be included with commercial software? Let me know!

For reference, here is a nice article: What Business Can Learn From Open Source.



Project Spotlight on JEDI - They are teaching Java in the Philippines!

Posted by turbogeek on August 09, 2005 at 11:11 PM | Permalink | Comments (0)

Sometimes you are surprised when you find someone in the world has the same passions as you. This time it is in the Philippines. One of our newest projects in the GELC is JEDI. JEDI is short for Java Education & Development Initiative. Quite a mouth full, so JEDI is a much better name. But what is JEDI all about?

The initiative is a partnership between the University of the Philippines Java Research and Development Center (UP JRDC) and Sun Microsystems in the Philippines. With the aid of the government and a slew of volunteers, teachers, and administrators, the goal of the project is to make Java a core part of the computer science curriculum in that country. The project is creating and supporting teaching materials and collecting tools for teaching Java in the Philippine university system and its high schools.

JEDI equips teachers with the knowledge, skills and resources for success. To do that, they needed to come up with a set of items, rather than just teaching materials. Here is a list of the primary things that the project provides:

• Free access to courseware and resources such as teaching slides, teacher
and student manuals, sample exercises and exams and various reference materials.
• Training on the courses themselves as well as how to teach the courses.
• Free software such as NetBeans, J2SE and various development tools and platforms that are used
for illustration and actual hands-on exercises, lab work and research work.
• Online community collaborating on JEDI through the Java.Net tools.
• Access to a JEDI Help Desk to help the teachers in using the course material.
• Participation in various JEDI events for students and faculty such as competitions, symposia and others

JEDI was launched in the Philippines on February 2005 and has already racked up some great statistics:

• 3 courses rolled-out
• 3 new courses being developed
• 29 JEDI member schools
• 63 teachers trained
• over 13,500 students to benefit
• Coordinating with 7 countries for implementation

As you can see, this is a lot more than just their project at java.net. They are in fact organizing a lot of people to create this operation. Java.net in this context is the hub where a lot of the information is manages and the community interacts. This is a truly different model than many open source projects.

The model used by JEDI is catching on. The GELC and Sun are working hard to add other projects like this in the general education area in Australia, Canada, and Korea. Also, the JEDI project is reaching out to other countries that can share the same materials and infrastructure.

There is a lot going on in this project. Take a look at it. You might want to help spread the word that there are some great resources for teaching Java.



New: 3D Math, Viet Nam eLearning, Vocabulary & Open Grade Book in Global Education & Learning Community

Posted by turbogeek on July 15, 2005 at 11:07 AM | Permalink | Comments (0)

This week we have three great projects from three different parts of the world. Here is this week's crop of great ideas from three countries.

o nb-elearning - eLearning Portal Services for Viet Nam
o Open Gradebook - Open source gradebook for teachers
o VICS3D - Interactive Visualizer of Curves and Discrete 3D Surfaces (Portuguese Interface)
o Dictionary - Learning a vocabulary of an specified idiom

These are some great projects from language to math to helping students and teachers. Since these are new projects in our community, if you find these interesting, email the owners and volunteer to help. We are a community and lending a helping hand makes us a stronger community. Here are a few more details on each of these projects and the email addresses of the owners:

nb-elearning - eLearning Services in Viet Nam
Owner: matrixvn171284@dev.java.net

This project is used to developing Elearning services in Viet Nam. This project is just starting, but if you are Vietnamese or can help out, please join this project.

Open Grade Book - Web-Based Grade Book for Teachers
Owner:matthewdfleming@dev.java.net

The goal of this project is to create an non-intrusive open source gradebook built for teachers, but accessible by parents and students. The application uses Tapestry as its front-end, Spring and Hibernate for the back-end. Any database that Hibernate supports should work but MySQL is used for development

Dictionary - Learning a vocabulary of an specified idiom
Owner: orneliojr@dev.java.net

There is a prototype application based on Java ServerFaces technology. The application is used for learning a vocabulary of an specified idiom, like english or spanish. Although the application is a multi dictionary in many languages, the original intention is to be a usefull tool to learn vocabulary.

VICS3D - Interactive Visualizer of Curves and Discrete 3D Surfaces (Portuguese Interface)
Owner: orneliojr@dev.java.net

Another application from our members in Brazil. Drawing surfaces and curves in three dimensions is not easy but it is a key tool for students are learning Calculus, Geometry and Algebra. The objective of this project is to create a modeller of curves and surfaces with a simple interface that allows the students to draw, manipulate, and to modify curves and surfaces in the two or three-dimensional space.

The surfaces and curves would are drawn in the systems of cartesian, cylindrical and spherical coordinates. The orientation of the systems of coordinate and viewpoint can be modified in real time through controls in the visualizer. The current version already has quite a few options.

The interface is in Portuguese. but we can only hope they get a multi-language interface soon. Here is a picture of what they have so far:



Open Source and the Puppet Master - Thinking Like John Gage

Posted by turbogeek on June 30, 2005 at 09:30 AM | Permalink | Comments (0)

Imagine John Gage and a puppet at JavaOne. How could that be related to community and open source? It is an interesting thought. All you need to do is think like John Gage.

I was at the second JavaOne. I would have been at the first, but I was on an airplane flying the other direction (reading Java in a Nutshell). I had had already ported a game called Xiang Qi (A.K.A. Elephant Chess or Chinese Chess) and a shortest path algorithm (for MCI). I was impressed by Java's speed and the wonder of Goslings stack safety, garbage collections, clear errors, and the exceptions. All the things missing from C++ at the time.

But missing the first JavaOne is not that bad. Missing an opportunity to listen to John Gage, I now see as the real loss.

John Gage, is the voice of JavaOne. Scott's key note and Gosling's demo fest are the high points, but John is the thread, the motivation, and the call to arms at JavaOne. John Gage capitalizes on the value of being with other smart people. Better yet, he reminds to make the best with those around us. Without John, we are just drones going to sessions. With John Gage, we are explorers, deal makers, and dare I say it, Brazilians! **

But back to the puppets!

Bruno Souza, The community manager for the JUG community at Java.net, created a mascot for the JUG community. It is a Java Finch. Bruno, with the help of many others has created a character in 2D and 3D and even a puppet. We call it(him?) Juggy.

Juggy 1.0

You may have seen Juggy around JavaOne. He is everywhere. I am almost certain that Juggy's picture has been taken with our fellow Java developers as Duke.

Tuesday night, Juggy met John Gage. John was following the Brazilians track at JavaOne. The Brazilians are quite a story with so many developers and grand success in Healthcare using Java. To quote an audience member at Fabiane Nardon's (Duke award Winner) Birds of a Feather on Brazil's new healthcare system: "Didn't anyone tell you this is impossible to do in only four month's?" You have to follow around these people just to figure out what they are doing right.

But to the puppet. Juggy's incarnation as a puppet is impossible to ignore. John had several conversations with Juggy, as many of us have had this week. Between one of these many deep and hilarious conversations John had with Juggy, he talked about the power of puppets. Simply, puppets are our alter egos.

Throughout the history of man, the puppets do and say the things we would live to do. The puppet is the alter ego, the id set free to be honest, gregarious, suave, overtly honest, and irreverent. The puppet is who we would be if we were unbound and free. In a word, 'open'. Yes, as is community and as in open source.

John's prime example is political puppetry in France. He also included the gambit of puppets, including the shadow puppets we might find on the island of Java in Indonesia. The French puppets, known also as guignol, get a away with saying a lot of hilarious things as they parody day-to-day politics. Looking like French and world leaders they say things we might wish they would 'really' say just so that we could laugh. Sort of comic satire from an obsessed and warped doppelganger. Political humor, no matter your own politics, is funny.

John Gage is the one person in the world that I just love to hear talk. I have met him many times over the past years. Every time he seems to find the profound wisdom from a casual remark, an idea, or a situation. He sees connections and then gives us the connection for us to examine. He does this with ideas and often times with people. If you are looking for a matchmaker of ideas and people, John is the one you want.

John also has a curiosity that is unbounded. He looks beyond the surface of almost everything. As an example, on the way to the W hotel, we happened upon a city worker pulling up a manhole cover. John was right there, bending over and peering into the dark hole, looking for enlightenment from the darkness below the street's of San Francisco. He was even asking the worker for the details to the mysteries. Tonight though the worker only laughed and said, "Jimmy Hoffa."

Remember, we were talking puppets. Or was it the puppet talking? The key connection is to the power of the puppet as a device to free the personnality of the puppeteer. When the puppet asks questions, you get that same openness and willingness too. How many people would cuddle up and kiss your hand and have a polite conversation with wiggling fingers? Put a puppet on your hand and it is all possible. Like open source, we can see people open up and look at their hidden code. We can ask for their ideas, the truth, and find what we would say if we could do it right, in our own terms. The puppet is a metaphor for open source. John Gage meets serendipity once again, or at least a puppet created under a creative commons license by and for Java developers and the open source community. A puppet that is open sourced and causes people to have fun and open their hearts and minds.

Juggy, as a mascot, is our ambassador. As a puppet, he is our comic relief. Juggy is also now a blogger. He will blog here at Java.net and make us laugh. As our own guignol, Juggy will use raw wit, satire and wacky humor to make us laugh, even when we are laughing at ourselves.

Ready for proof? Here is John Gage, Juggy, and Bruno Souza.

John Gage, Juggy, and Bruno Sousa

** If you have not been to JavaOne, Brazilians are the most vocal during keynotes. And as far as I know, the fastest growing community of Java developers in the world.



New Projects in the Global Education and Learning Community

Posted by turbogeek on June 28, 2005 at 10:31 PM | Permalink | Comments (2)

TilePile - A tile mural creation and editing program.
gbarton@dev.java.net

TilePile is an application used to aid in creating tile murals. It can be used to import images and convert them into tile murals, edit the murals, and distribute the tile setting process to a set of networked workstations.

Compression - The list of file in the DB should be compressed and named random
manickaraj@dev.java.net
To compress the list of files which are kept in the Data Base

ARS - Airline Reservation System
raj_tam@dev.java.net
Airline Reservation System



Project Graduation of Algebra project in Global Education and Learning Community

Posted by turbogeek on June 28, 2005 at 10:29 PM | Permalink | Comments (0)

Interview with Alex Lam S.L. of project Algebra
Project Name:
algebra
Summary: Developing application related to Algebra
Owner Name: Alex Lam S.L.
City: Cambridgeshire
Country: UK

Hi Alex, tell us a little about yourself. Education: 2nd year undergraduate in Natural Sciences (Physical) Profession: can't really get employed too seriously at this stage, can I? Current Employer: Hmm.... Hobbies: solving problems, in general.

What schools/universities did you attend? University of Cambridge & Girton College

Tell us a little about the project and why you started it. This is probably the project that most of you would be thinking of doing, once you have a strong passion into Mathematics / Sciences - and I do. The project does not start as straight-forward, though - I was trying to generalise the idea, such that a platform with tools ready for any programs to have a much stronger algebra manipulating power, which leaded to the born of AlgebraicMath. The development philosophy that I adopt is that after the very beginning of core implementation, several projects that would utilise the package should start developing at the same time, hence reduces total time of development all together but more importantly, served as a realistic guideline on how AlgebraicMath should grow - what features should there be / not to be. And here I am, back to the starting point - the obvious use of AlgebraicMath is, of course, to implement a software like Algebra - which is, as many would agree, a useful, intriguing, ambitious project.

What is the project's current status and plans for the future? Currently, a demo is released in order to gather opinions about what we should have to expand on the existing architecture. We are expected to push out a upgraded version in 2~3 months time (would be much faster if there aren't - guess what - exams taking place in the coming term)

What kind of help are you looking for on this project? As for help in general, spelling out your wishes with the functionality that you would like to see if a good start. The second way you could contribute though, is to build clients that have better looks and easier to be used; this can be done in any programming languages, (as the only specification is the protocol one, which is based on HTTP POST anyway) and we would be more than happy to give a hand if you ever need help with the development of it - just shout out in the forum.

Congratulations on your graduation Alex! Please let us know if the GELC can help you in the future.

If you would like your project spotlighted, please send an email to Daniel Brookshier at turbogeek(at)cluck.com



Sun's Jonathan Schwartz speaks FOSS and opens Sun's Application Server

Posted by turbogeek on June 28, 2005 at 10:40 AM | Permalink | Comments (0)

Free and Open Source Software (FOSS)
A fine quote from Johnathan's Keynote today: "There is a social utility to free software"

Johnathan's core message is that FOSS is good for business by bringing new people into relationships and creating a greater need and thus opportunity to provide infrastructure. It made sense to me. Instead of build it and they will come, this is provide them free software and they will buy your hardware and services to support it.

"There is no downside to FOSS", he also said. Hard to say. There is one to your competitor or the guy that competes against an open source project. No downside for Sun in the products like Glass Fish, JXTA, Open Office, NetBeans and others. If we saw Microsoft FOSS Office, would that be good or bad for OpenOffice?

Opening the Application Server

Open sourcing of the Sun application server was a big deal. The code is hosted at Java.net at: GlassFish) Some argue that Sun is not great at software. It is however great at supporting community creation of software. This now means a huge shift in the landscape. JBOSS was becoming a clear leader because we developers choose products we know.

How are our software product preferebes made? We know tools that we can afford to use. That's why JBOSS was popular. Download, install, and run but even better, whatever you can do with JBOSS you know you can afford to deploy it with JBOSS. So, free and I know my investment of time won't be erased by the cost of buying a $50,000 dollar app server license. Sun's application server can now play this same game.

Sun does have a second advantage. Sun has a lot of support and of course the prepackaged solution. That means when you are ready to pay for professional support, it is there.

Seems like Jonathan is pretty smart from my point of view.

I Sun a threat to JBOSS? Is JBOSS in trouble? Yes and no\, there is a lot of col and wonderful stuff in JBOSS. It was built by a group of guys with staggering intelligence. The question is that if Sun's application server is open source, how long before it has incorporated JBOSS innovations. Stay tuned.

But this is also a big win for education. Believe it or not, universities don't run on 100% open source. Like any business, a university needs reliability and support. But universities also need to build and innovate applications. Now there is no issue to a student of university employee or professor to get Sun's server and do cool things that may get ported to the university's professionally supported infrastructure. This reduces startup and supports student projects and adds future security when the application becomes mission critical.

I have trouble seeing a downside here. The only real issue is if Sun has open and closed source. If you have watched NetBeans and Forte, Forte lagged in its release cycle quite a bit. The result is when faced with free software that is up to date, they are going to select the free software. If Sun can support the open source source and shrink wrapped, they won't have an issue.

What do you think about releasing GlassFish? Is it the right thing to do? Is it Genius. I want to know what you are thinking?



Sun Ultra for 29.95 a month

Posted by turbogeek on June 28, 2005 at 01:40 AM | Permalink | Comments (5)

Wow, get a Sun opteron for 29.95 a month with all the software tools installed and access to support. Just like cell phone with nights and weekends free.

There may be a catch. Looking at the Sun web, there is a small clarification: "When you sign up for three years of Sun support services at $29.95 per month." Not too bad considering that it still boils down to $1078.20 a month. Still not bad even though it lists for $895. Given all the support it becomes cheaper than my Apple G5 and the Apple Care package.

Hard to get the specs and it takes a phone call to buy one. So we don't know if this is for the base system. Is it worth the price? Let me know.



IENJINIA At JavaOne (with Spanish Translation)

Posted by turbogeek on June 26, 2005 at 02:42 PM | Permalink | Comments (4)

Project IENJINIA will be at JavaOne at the Community Corner at JavaOne 's Vendor Pavilion in the Java.Net Community Corner Booth. The project leaders (who will translate this blog below into Spanish) will be talking about their project and how educators in Mexico are using it. But what is IENJINIA?

What is the first thing you think about when you imagine teaching software development? Games, right? Project IENJINIA emulates an 80's video games console. This is done for two reasons. First, most teenagers are interested in video games. The second is that the emulator is a very simple platform for exploring programming.

Writing software is an abstract and complex activity which makes it a hard to acquire skill. Students shouldn't be forced to deal on top of that with all the complexity of a modern computer system (operating system, compilers, linkers, complex "feature filled" IDEs, etc.). The IENJINIA DevKit is designed to provide a simplified computer on which the student can directly interact with the underlying (simulated) hardware using IPL (IENJINIA Programming Language).

IPL is a very simple interpreted language with dynamic typing, static scoping, automatic garbage collection and "standard" syntax (similar to C, C++ and Java).

----- Spanish Translation ----

El proyecto IENJINIA estará en el Community Corner Booth de Java.Net en JavaOne. Los líderes del projecto hablarán acerca de su proyecto y como ciertos profesores del ITAM en México lo están usando. Pero que es IENJINIA?.

Qué es la primera cosa que piensa cuando se imagina la enseñanza del desarrollo de software. Juegos correcto? El proyecto IENJINIA emula una consola de video juegos de los 80's. Esto fue hecho por dos razones. Primero, porque los juegos es algo que le interesean a los adolescentes. La segunda es que el emulador es una plataforma muy sencilla para explorar la programación.

Escribir software es una actividad abstracta y compleja que la hace una habilidad díficil de aquirir. Los estudiantes no deberían tener que lidiar con la complejidad de un sistema de cómputo moderno (sistema operativo, compiladores, linqueadores, IDE's complejos, etc). El IENJINIA DevKit está diseñado para ofrecer una computadora simplificada en la cual el estudiante puede directamente interactuar con el hardware (simulado) usando el IPL (IENJINIA Programming Language).

IPL es una lenguaje interpretado muy sencillo con manejo dinámico de tipos, "static scoping", recolección automática de basura y una sintáxis estándar (similar a la de C, C++ y Java).



Project Spotlight: Zemberek- Turkish NLP and Turkish OpenOffice Spellchecker

Posted by turbogeek on May 14, 2005 at 11:47 PM | Permalink | Comments (0)

Project Spotlight Interview with Ahmet Akin of project Zemberek.

Project Name: Zemberek
Summary: Turkish NLP library and Open Office Turkish Spellchecker Plugin
Owner Names: Ahmet Akin & Mehmet Dundar AKIN
City: Hato Rey, San Juan
Country: Puerto Rico

Tell us a little about yourself. I am 31 years old and originally an Electronics and Communications engineer. I worked in very different areas from Embedded system design to Technology Newspaper editor. I graduated and finished my master degree in Yildiz Technical University Electronics and Communications department in Turkey. I always had a weakpoint on software so changed focus to the higher level Software two years ago. Currently I am involving with Java development. My current employer is Softek Inc, I work as a developer there.

What schools/universities did you attend? Yildiz Technical University in Turkey and Istanbul Tecnical University in Turkey

Are you a member of any Java user groups? I moved to Puerto Rico two years ago, Java is not as popular as I want here and there is no local JUG. But I consider myself lucky because I'm involved with Java at work. I meet really great developers and my supervisor is a real Java guru (Victor Salaman) and I have learnt a lot from him. I still consider myself as a Java apprentice.

Tell us a little about the project and why you started it. Well, almost 5-6 years ago, I was interested in Mozilla project and I thought it would be cool to implement a real time spell checker for Turkish Language in it. Then I started to think how would it be and noticed that making a spell checker for Turkish is extremely hard. Truth is nothing like that is available in the open source area.

After I search about the subject, I became more interested in Natural Language Processing. I started a C++ project for the spell checker, and prototypes worked well. After 3 years and several changes in my life, with the help of my brother I decided to make the project alive again. But this time, we made a decision and rewrite the whole project in Java. It was a real breeze after C++. Seriously the difference in ease of development and deployment is huge, without sacrificing performance. We started a project in Java.net with the name of Tspell (the original name of the C++ project too).

Our scope was broader, we wanted to make a base for all kind of Turkish related computing and NLP problems. After almost one year, project was able to make Turkish spell checking, morfological extraction of the root and affixes of words, word suggestion for wrong words, and deasciifying texts written without using Turkish spesific characters. Then we changed the project name to Zemberek (Means main spring of clock) because "TSpell" was not Turkish and users did not like that. Now we also provide the first open source Turkish Spell checker for Open Office project and it works successfully. Zemberek is the only open source project in its area and we are proud of it. It bacame a part of the national Linux Project: Pardus ( http://uludag.org.tr/projeler/masaustu/zemberek-pardus/index.html ).

What is the project's current status and plans for the future? Although I still think that project is in its infancy, it is very active and usable for real life applications, Open Office plug-in is the proof of it. We also start developing a server project based on the core library. Server will hopefully provide language related services to other applications written in different languages, such as Mozilla and KDE. However, for us, there are a lot of work to do. Honestly right now Zemberek is still not doing serious "NLP" jobs. I can say it has a relatively simple structure and parsing mechanism is not really difficult.

After stabilizing the spell checker we will hopefully move on to more complicated and intresting subjects. Such as creating an open source wordnet for Turkish, sentence analysis, grammar checking, statistical analysis, maybe voice applications (TTS, Recognition, with the help of Free TTS and Sphynx4 libraries), translation, SQL with natural language, Shell commands with natural language, etc. Subjects in NLP are endless and when it is about Turkish there are very limited work available ( we know that in several universities in Turkey, there are advanced work available on the subject, but there are not many implemetations are available, especially in Java)

What kind of help are you looking for on this project? Of course, like all the other projects we are looking for developers. Currently three people are actively developing and it is really not enough. Unfortunately we cannot receive much help from international Java developers because of the nature of the project.

We are hoping that more help will come from Turkish Java developers. Knowledge related information is also crucial and project other members are helping. Turkish Linux communities helped a alot when we introduced Open Office plug in. Also we need linguists, experts in Turkish language and NLP.

Suggestions for GELC or Java.net It is great. I mean I really wish java.net would have started earlier.The services are improved nice and the projects in GELC are intresting. I know some NLP projects exist but since our main interestis Turkish I couldnt examine them in detail.

Suggestions, you should make yourselves more visible in educational environment. In schools MS is trying hard to lure the students, I think java.net, and Sun ingeneral should be doing this, because java's potential is greater.

Thanks, Ahmet!

If you have a project on Java.net and could deal with a little extra press, please contact me for a spotlight interview - Daniel Brookshier



JavaOne Community Corner

Posted by turbogeek on May 13, 2005 at 04:37 PM | Permalink | Comments (0)

Have you ever wished there was real focus on open source at JavaOne? Well, we have heard the call and are putting open source on stage all week long at JavaOne. Every day in the JavaOne Pavilion we are running mini talks on projects in the java.net community. The talks will be about 20 minutes long and run throughout the day. We will have a plasma display and seating for the audience in what is called the Java.Net Community Corner.

Community Corner is our way of helping everyone at JavaOne learn about Java.net and many of the great people and projects hosted there. As a leader in the Global Education and Learning Community I'll be there to talk about my part as well as a little with the JXTA community where I am a board member.

My guess is that we will have a lot to see all week long. We also have the advantage that we are in the Pavilion rather than the more formal sessions which means it will be easy to interact with anyone interesting hanging out at the Community Corner.

Now to the subjects. The talks are open to project owners of Java.net. That means if you or your buddies run a project on Java.net or move a project to Java.net real soon, you can probably get to talk about it. All you need to do is pick a time and propose it in the Community Corner wiki (I'll post it for you if you are unfamiliar with the java.net wiki). The process is that the community that your project is hosted in will approve your project and you are all set to go.

Scattered through the day, the community leaders of java.net will be giving talks too. This is so that you can see what is going on in our many Java.net specialties. We will also include info on how to create your own open source projects and how do it successfully.

In addition to the talks that you can both give yourself or just listen too, this will be the best place to talk to your community leaders and Java.net management.

Since we are a community here at Java.net, the most important things are sharing working together. At JavaOne this year, we'll be doing it all week long!

Sign your project up now for the community corner at JavaOne. Session times are limited!



New Open Source Projects in Global Education and Learning Community (GELC)

Posted by turbogeek on April 29, 2005 at 04:42 PM | Permalink | Comments (4)

We have another crop of new projects in in the Global Education and Learning Community (GELC). This week we have a system to publish theses, a Bliki written in Java, a Java Exam simulator, masters thesis investigating an agent-based privacy directive, a recorder that watches you work and listens to your speech, a compression database, language parser, and a purchase calculator. Take a look at these great projects and lend a hand to help them start.

liber-theses - Publish and catalog theses online
jrapido - Simple Java Bliki (Blog+Wikki)
JMockgen - Online Mock Simulator
Information-Agents - Investigating needed software for an active privacy directive
Copycat - A notepad that records writing and speaking
Compression - Compression of files to a database
CNLangParser - CN Language parser
Checkboxes - Display currency

Read on for more details on these projects

Continue Reading...



Peer Presence in JXTA

Posted by turbogeek on April 11, 2005 at 10:53 PM | Permalink | Comments (0)

First, I apologize for my long absence from blogging at java.net. I have a busy job as Chief Architect at No Magic. I do talks at conventions, training, run development in three countries (Lithuania, Thailand, and the US), and sing and dance for customers. Kind of hard to get time to blog on my passions of P2P and Java. So without further ado, no more excuses.

Lots of people assume you can just ask for who is online. Not going to work, unfortunatly.The problem is that the request is done through the protocol rather than a DB call which is what you would expect.
In the current implementation the RDV has an in-memory knolledge of the peers and their information. As each new peer arives, its info is added to the list plus broadcast to all connected peers. The new peer gets a copy of the list so that it knows about everyone currently on line.

In my new version, the data passed around will be minimal with just the peer ID, an email, and a last update date. The brunt of the data will be stored in an advertisement indexed by the peer ID. If the last update is newer than the local advert, the peer fetches the advert by specifying the peer ID and using the peer ID as the index (confused yet?). This works because the advert is matched via a primary key. If you just asked for adverts of a particular type, you only get the first few advertisements.

Now, if the peer is coming online and it has never done so before, it gets a list of peers online. It iterates through this list, asking for an advert of each peer. It only asks for the advertisement, but does not specify that only that peer be searched. So, what happens is that the nearest peer that has that advertisement will reply. The peer then checks the date of the last update and the date in the advertisement. If the date is older, it then re requests an advertisement from the peer+peerID so that it gets the most up to date copy. The upshot of this is that the info about the peer gets replicated so that no one peer is inundated with info plus each peer caches its view so that requests are limited to peers that have just changed their resume'.

Why not store all this on a RDV? The problem with that is it turns the RDV into a server. It loads it down with cpu, bandwidth, and memory reduction. It also causes it to be a greater point of failure. The less information stored on a RDV, the better.

Now for the magic of the presence system. I had said we don't want the RDV to serve. Well, it has to do a little, but only to peers connected. The data is also transient. As a peer connects it adds data. As it disconnects, it removes data. But if the RDV fails or is taken offline, peers will reconnect to a new RDV and add their info to the new RDV. So this is in fact fault tolerant.

Now for my next trick. Peers need to belong to peer groups. These help to do three things. First is just the address space, second is the ability to accept messages between peers only in the peer group, and finally to only use resources within the peer group. The final bit is of most concern to us. Since the core of peer presence is run from the RDV, only the peers in the peer group will get messages and be able to see data about fellow peers. This helps scale the system plus if we are doing this the most efficient way, a couple of peers within each group are volunteered as RDV which means no single computer does the duty for all peers.



New projects in the Global Education and Learning Community for April 5th, 2005

Posted by turbogeek on April 05, 2005 at 10:00 AM | Permalink | Comments (0)

We have another crop of new projects. This week we have learning with orangutans, a study group using Java, the implementation of a belief-system algorithm, and a system for managing a volunteer organization. Take a look at these great projects and lend a hand to help them start.

Orangutan
A game for learning using
https://orangutan.dev.java.net/
Owner: kauzet@dev.java.net

A game for learning by helping orangutan survive in the Bornean forest.
An interactive game for children 3-12 years old. they can learn how Bornean orangutan can survive in the natural Bornean forest.

fuja
https://fuja.dev.java.net/
Projects, articles and sample code produced by a Brazilian study group
Owner:
dwildt@dev.java.net

FUJA (FACENSA Usuários de Java) is a Java study group that works inside FACENSA (www.facensa.com.br) College. These students get together and produce Java code, articles and proofs of concept in many Java Technologies, like WebServices (Axis), Mobility (J2ME), Enterprise Apps (EJB), Web Standards (Struts, JavaServerFaces, Servlets, JSTL, JSP), IDEs (Eclipse, NetBeans), Persistence (Hibernate, Torque, POJOs), XML and other technologies.

Dempster-Schaffer - Dempster-Schaffer algorithm - Measuring belief and plausibility to make a decision based on multiple inputs.

https://dempster-schaffer.dev.java.net/

Owner: soticia@dev.java.net
Development of the Dempster-Schaffer algorithm in Java. To learn more, see:
http://www.eng.man.ac.uk/mech/merg/Research/datafusion.org.uk/techniques/dempster.html which has information about this algorithm. Here is what that web site has to say about the algorithm: “Dempster-Shaffer theory allows us to allocate probability-like weights to a set of events in a way that allows statements of ignorance about likelihood of some of the events. From the allocation of weights we get two numbers; the degree to which an event is supported by the evidence (Belief), and the degree to which there is a lack of evidence to the contrary (Plausibility). These two numbers are the basis on which any belief-based decision is made.”

DonorManagementSystem

https://DonorManagementSystem.dev.java.net/

A system for managing people and resources for volunteer Organizations.
Owner: smartware@dev.java.net

This is a system that will Enterprise Java Beans used to manage donors and sponsor in Volunteer organizations. The system will be able to track down the donors, sort them into groups, generates their history, produce donor certificates. The system will also map volunteers with their favorite chores. The system will have a simple management display to help in decision-making.



New Projects in the GELC

Posted by turbogeek on March 14, 2005 at 01:31 AM | Permalink | Comments (0)

Four new projects in the GELC to challenge your thinking. This week we have some high performance computing, a computer algebra system, a resource for Brazilians, and a venture into the hospitality arena to create a room rental system. Take a look at the projects, listed below, and join them if you are interested. If they get you thinking about something different, please propose your own project for the GELC. We are looking for education and research projects plus projects to be used by teachers and students to learn almost any subject.

lionra
owner: sprhodes@dev.java.net

The project is aimed at developing a library and framework for implementing Distributed Threads in Java. Lionra Threads, is the implementation part of a research project being conducted as part of a class at
Wake Technical Community College's program in High Performance Computing. There is a little bit of code written, but it's barely more (right now) than some example code from a basic book on RMI, and an Ant build script. There is also a blog where Phillip Rhodes the talks about this project quite a bit (along with a lot of other cruft, of course), and a website with some links to related material. To learn more about this project, there is an abstract from the first draft of the research paper that goes along with the project.

cas
owner: afishionado@dev.java.net

CAS computer algebra system - prototype of a Hartmath-based (http://hartmath.sf.net) computer algebra system

javabr
owner: jpriori@dev.java.net

A java web source for Brazilians programmers.

JRoom
owner: lordbit@dev.java.net

The purpose of this project is to study Java technologies and develop a project with room rental service for companies.



Project Jatse - An open source set of tools for teaching, learning and playing with algebra.

Posted by turbogeek on March 06, 2005 at 09:05 PM | Permalink | Comments (1)

Project Jatse, owned by Eric Brown-Munoz is an open source (Lesser General Public License) set of tools for teaching, learning and playing with algebra. The goal is to provide a broad range of symbolic algebra functionality that is missing in the open source community.


This project is targeted at the mathematics used in high school, although these classes can be extended to cover either more or less advanced math. The project is currently in its initial release on java.net and the working applet can be found here: http://jatse.dev.java.net/prototype.html

Jatse is a new project within the Global Education and Learning Community (GELC). It has swiftly made progress and has graduated from the GELC's incubator to the Tool For Teaching section of the community. To kick off the graduation of this project, I asked Eric Brown-Munoz for some info about himself and Jatse:

Tell us about yourself

I am currently working for The Concord Consortium to develop applets that support an innovative algebra curriculum. This involves building mathematical models with several views to give students insights into the underlying mathematics.

The grant I am working under is coming to an end. I would love to hear from anyone who is looking for an experienced educational programmer. Previously, I worked in many aspects of the software industry-- starting with phone support and moving through quality assurance and tools development. I also spent three years teaching high school science.

What school are you associated with?

I hold a B.S. degree in Physics from the University of Massachusetts.

Why did you start this project and what is it about?

Educational software needs good symbolic math tools. Most software uses numeric algorithms even though students do math symbolically in the classroom.

I started working in this direction in my current job, but I want to go much further than the grant I am working under needs.

What is the status and further plans for this project?

There is a pretty good Expression tree that can represent and evaluate arbitrary algebraic expressions. This is the heart of this project. I wrote a prototype GUI. This is based on one approach to teaching algebra which focusses on expressions as objects. There are also two packages, polynomial and render, that are the foundations for features I am working on for the futures. These are in progress.

All of this Code is currently available in CVS.

I plan to create three products...
- A library of useful classes based around the Expression Tree.
- A set of applications to meet educational needs.
- Resource materials to make these useful to students and teachers.

What kind of help are you looking for?

I am very interested in finding developers who would like to collaborate on this type of software. I would love to form a team to make software that is useful and cool.

Specific needs are:
- Good programmers with a strong interest in algebra education.
- People with user interface design skills.
- Someone with parser experience.
- People with educational design experience.

Where are you located?

Cambridge, Massachusetts.



zemberek - Turkish NLP library and Turkish Spell Checking

Posted by turbogeek on March 06, 2005 at 03:45 PM | Permalink | Comments (0)

Zemberek is one of the very interesting projects oriented around the Turkish language and subjects like Natural Language Processing and even spell checking for Turkish. This open source project is something we really like seeing here within the Global Education and Learning Community (GELC) because of its international base. I talked to the owners about themselves and their project.

Tell us about yourself

Ahmet Akin: I am an Electronics and Communications engineer. I worked in very different areas, in brief and historical order: Modem manufacturing and test (boring), Embedded system design with microcontrollers and early Smart cards, CAD software development in C++, Technology Newspaper editor, Long time embedded hardware and software development with C, Cryptology, web based design with php :) and at last, my long time dream, Java development. My current emplyer is Softek Inc ( www.softekpr.com ), I work as a researcher there. I do like java programming, photograpy, chess and table tennis. The other owner of the project is my twin brother, he graduated from the same university but Computer Engineering department. We worked in the same place for almost 5 years, but his job is mostly software related. He is currently working in National Research Institute of Electronics and Cryptology. I graduated from Yildiz Technical University Electronics and Communication Engineering in Turkey. I finished my master degree in the same university Communications department. I always had a weak point on software, so I started my doctoral study in Istanbul Technical University Computer Engineering with the purpose of working on Natural Language Processing subject.

Co-Owner: Mehmet Dundar Akin, has a BS degree from Yildiz Technical University and MS degree from Istanbul Technical University in computer Engineering. Currently he is working as senior researcher for National Research Institute of Electronics and Cryptography in Turkey.

What local Java user group are you associated with if any?

I moved to Puerto Rico one and a half year ago, and sadly Java is not so popular here in business environment (MS - Visual Basic Island). But I consider myself lucky because I use Java at work, I met Java programmers and my supervisor is a real Java guru (Victor Salaman) and I have learnt a lot from him. I still consider myself as a Java apprentice (my code says the same :)

Why did you start this project and what is it about?

Well, almost five years ago, I was interested in Mozilla project and I thought it would be cool to implement a real time spell checker for Turkish Language in it. Then I started to think how would it be and noticed that making a spell checker for Turkish is extremely hard. The deeper I go into the subject the more interested in Natural Language Processing subject I became. I started a C++ project for the spell checker, and my first prototype miraculously worked. After 3 years and several changes in my life, with the help of my brother (who is a good Computer Engneer with very good Java knowledge) I decided to make the project alive again. But this time, we made a decision and rewrite the whole project in Java. It was a real breeze after C++. Seriously the difference in ease of development and deployment is huge, without sacrificing performance.

We started a project in Java.net with the name of Tspell (the original name of the C++ project too). Our scope was broader, we wanted to make a base for all kind of Turkish related computing and NLP problems. After almost one year, project was able to make Turkish spell checking, morphological extraction of the root and affixes of words, word suggestion for wrong word, and deasciifying texts written without using Turkish specific characters. Then we changed the project name to Zemberek (Means main spring of clock) because "TSpell" was not Turkish and users did not like that. Now we also provide the first open source Turkish Spell checker for Open Office project and it works successfuly.

Zemberek is the only open source project in its area and we are proud of it. It bacame a part of the first product of a Turkish national Linux Project: Pardus (http://www.uludag.org.tr/ ). We will also made a presentation in a very important event, the Open Source Days in Istanbul BilgI University about the project. (http://open.bilgi.edu.tr/freedays/program.php?lang=en )

What is the status and further plans for this project?

Although I still see the project in its infancy, project is very active and it is almost usable for real life applications, Open Office plug-in is the proof of it. We also start developing a server project based on the core library. Server will hopefully provide language related services to other applications, such as Mozilla and KDE. However, for us, there are a lot of work to do. Honestly right now Zemberek is still not doing serious "NLP" jobs. I can say it has a relatively simple structure and parsing mechanism is not really difficult. But after stabilizing the spell checker we will hopefully move on to more complicated and intresting subjects. Such as creating an open source wordnet for Turkish, sentence analysis, grammar checking, statistical analysis, maybe voice applications (TTS, Recognition, with the help of Free TTS and Sphynx4 libraries), translation, SQL with natural language, Shell commands with natural language, etc. Subjects in NLP are endless and when it is about Turkish there are very limited work available ( we know that in several universities in Turkey, there are advanced work available on the subject, but there are not many implemetation is available, especially in Java)

What kind of help are you looking for?

Of course, like all the other projects we are looking for developers. Currently only two people are actively developing and it is really not enough. Unfortunately we cannot receive much help from international Java developers because of the nature of the project. So we are hoping that more help will come from Turkish Java developers. Knowledge related information is also crucial and project other members are helping. Also we need linguists, experts in Turkish language and general Language subject. NLP expertise is another .Turkish Linux communities helped a alot when we introduced Open Office plug in.

Where are you located?

Amet lives in Puerto Rico in the rural area near the city of Canovanas. Mehmet Dundar Akin lives in Turkey.

This is for us to do a better job: What do you think about the GELC and the java.net community, any suggestions?

The GELC and java.net is great. I mean I really wish java.net would have started earlier. The services are improved nice and the projects in GELC are interesting. I know some NLP projects exist but since our main interest is Turkish I couldnt examine them in detail. Suggestions, you should make yourselves more visible in educational environment. In schools MS is trying hard to lure the students, I think java.net, and Sun in general should be doing this, because java's potential is much better. Also maybe contest like events can be created.



Project profile: Liber - Projects for Electronic Documents, human interface, and information retrieval.

Posted by turbogeek on March 06, 2005 at 03:29 PM | Permalink | Comments (0)

Liber is a research laboratory at Pernambuco's Federal University developing projects focusing on Electronic Document Management Systems, Human-Machine Interface, Information Retrieval, and Data Integration. Liber has four major projects: Macunayna: a multimidia EDMS, The Pernambuco's Annals: a textual database created using PostgreSQL and Jakarta Lucene; Theses: compilations from theses and dissertations (like NDLTD) made at Pernambuco's Federal University and Sonora to deals with sound files.

I asked
Marcos Silva Pereira about these projects and himself.

Tell us about yourself.

My name is Marcos Silva Pereira , 25 years old, and I am coursing Computer Science in Computer Science Center at Pernambuco's Federal University. Nowadays, I have involved with Liber, a research laboratory that do academic research about Data Integration, Digital Libraries, Metadados and others.

Also, I am one of the JavaFree's administrator, a brazilian virtual JUG. I am a Open Source enthusiast and have involve with OpenNuke, a Nuke based upon PHPNuke completely written in Java. My hobbies are, cinema, music, photography, books, beach, and cartoons.

My projects in Java.net:

liber.dev.java.net

pereira-costa.dev.java.net
opennuke.dev.java.net
javafree.dev.java.net

Liber is a research laboratory at Pernambuco's Federal University developing projects about EDMS (Electronic Document Management System), Human-Machine Interface, Information Retrieve and Data Integration. Liber have four major projects: Macunayna: a multimidia EDMS, The Pernambuco's Annals: a textual database created using PostgreSQL and Jakarta Lucene; Theses: compilations from theses and dissertations (like NDLTD) made at Pernambuco's Federal University and Sonora to deals with sound files

What school(s) are you associated or graduated from?

Computer Science Center at Pernambuco's Federal University

Why did you start this project and what is it about?

I start it because Liber aims to be a open source laboratory and we believe that this, Open Source, is important. The project is related with research areas at Liber.

What is the status and further plans for this project?

All project are started and some will have a release coming soon. The further plans are improve documents, create friendly installers and have a active community.

What kind of help are you looking for?

Discussions about system architeture, best pratices, patterns, simplicity, english language and do professional development.

Where are you located?

City: Recife
State: Pernambuco
Country: Brazil



Looking for Tapestry Examples? They're here in the Global Education and Learning Community

Posted by turbogeek on March 06, 2005 at 08:30 AM | Permalink | Comments (0)

Tapestry seems to be one of the latest technologies coming out of the Apache/Jakarta community that is gaining steam. Tapestry lets you build web applications with objects, methods and properties instead of URLs and query parameters. But like many open source projects, it needs a little help. In order to fill the documentation and understanding gap, John Reynolds (johnreynolds@dev.java.net) started the TapestryWebComponentExamples project in the Global Education and Learning Community (GELC).

I talked with John about himself and his project. Here is what he had to say:

Tell us about yourself

I have an MSCSE from the University of Texas at Arlington, and a BSEE from Rice University in Houston. I've been a professional programmer/development manager/architect since 1980.

What local Java user group are you associated with?
Austin Java Users Group

Why did you start this project?
I published some Tapestry examples in my blog, and the feedback was very positive. Setting up a place for people to share examples seemed like a good next step.

What is the