The Source for Java Technology Collaboration
User: Password:



Daniel Brookshier's Blog

J2SE 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.



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...



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.



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:



Swing Set 3 - The Rotary Bazooka T-Shirt launcher

Posted by turbogeek on July 02, 2005 at 02:32 AM | Permalink | Comments (0)

Tossing a t-shirt is not as easy as it looks. Especially if you are a software developer. That is at least what the Swing Set 3 team tells me. Looking at the flesh wounds of one of the members, it is a bit dicy (or rather the launcher bytes).

The Swing Set 3 team only garnered second place this year. I was quite surprised. The winning entry was closer to the Bluetooth of Danish Viking and King, Harald Blåtand, not the Bluetooth related to Java ME device (BTW Java ME is the new branding for J2ME). Swing Set 3 on the other hand was a marvel of electronics, old bycycle parts, and sharp pointy bits that together flung t-shirts to the back of the auditorium.

Ok, here is the team:

o Matt Quail (http://madbean.com) - The software guy and master of the GUI interface

o Brendan Humphreys (http://opencurly.com) - Aluminum expert, T-Shirt Artisan
o Conor MacNeill (http://codefeed.com) - Electrical engineer and cranker (Stopped the barrel with only a small loss of blood)
o Pete Moore - Fearless leader, tool guy (in charge of the sharp pointy bits)

Just a bunch of software guys trying to hardware, the same way they do software. That means bugs and crashes, right? But let's look at the technology now because it is quite impressive.

Features

o Long Blue Canisters - Low-range/high-volume release mechanism.

o Secondary low-volume/high-range t-shirt release boom - This one sent a t-shirt to the back of the room.
o Bike rims - Main axis of the barrel (hand cranked). Spins at a max of 250 RPM with the right pizza fed volunteer
o Separate 12 and 24 volt power busses on the main barrel - used for sensors and relays
o Infrared RPM sensor - Measures the speed

o Mac 15 inch 1.5gHz PowerBook - Command and control center

I love their visual interface. But as you can see by their photos, they really should stand a bit farther back from the imager.

Based on the speed, the software calculates the best time to release. That's the theory anyway and the hardest part.

Time for physics. A 200 gram t-shirt, spinning at 200 RPM, at a radius of 80 centimeters has an effective weight of 10 kilos. So forty kilos of t-shirt! That is a lot of shirt. The latches have to hold the 10 kilos and still be able to open in milliseconds or the trajectory will be wrong.

Now for the real problem. Inadequate code coverage unit testing in a real environment. The highly precise infrared sensor set to 850 nanometers are key to making the device wok. In fact testing in the auditorium was done to be double sure. Unfortunately these super accurate sensors were susceptible to broad spectrum source (like a reporter's camera flash). The end result was that the system did not have an accurate idea of where all the spinning bits were and let fly whenever a reporter's camera went off.

Another manifestation of Murphy's law and perhaps one to remember. If you have a very accurate measurement tool, the world will throw noise at you that looks like clean and accurate data.

Beyond the 28 hours a day that each member contributed to the effort to chuck a shirt, they also work for Cenqua. Cenqua has two tools; Clover and FishEye. Clover is a code coverage tool for Java (a great product but lousy for t-shirt launch testing). it tells you what parts of you code are not being tested by your unit tests. FishEye is a tool that provides a web based interface into your source code repository, allowing sophisticated searching, RSS feeds and much more. http://www.cenqua.com/

The build pictures are here http://flickr.com/photos/pte/tags/tshc



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 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 SchoolClipse

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

schoolclipse.jpg

Project Name: schoolclipse

Summary: School management (Eclipse rich client application)

Owner Name: Stavros S. Kounis

City: Thessaloniki

Country: Greece

Tell us a little about yourself.

I'm close to finishing Civil Engineering Dept. of Xanhti's University (Greece). I'm working as Programmer for a Civil Engineering related software company (Civiltech) and I'm a cofounder of my small company that provides internet solutions (hosting, web-design, web applications, web-apps). Schoolclipse is our first attempt to go in desktop applications market and a "playground" to investigate Eclipse for Rich Client Platform (RCP) applications.

In my free time I like to hear music, read books and search over the internet for new technologies in programming area.

Tell us a little about the project and why you started it.

This project is started as a request to give a managements solution to a friend who is the owner of a private school. During the same period I just started work with Eclipse RCP and shared my enthusiasm with one of my colleagues. So we have decide to start this project to work on eclipse RCP (giving my friend a school management solution at the same time) and determine if this platform can give us the things we need to go to the desktop application market.

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

A working instance is currently installed in my friends private school but we will be able to release a beta version in couple of months.

Generally the project is experimental and the area we need to develop and test is Eclipse RCP.

If you want to be informed about project's progress "stay in contact" with my blog at tools.osmosis.gr/blog

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

It will be great if we get some help in CVS management and organizing. Another issue is more architectural. We would like to discuss the ideas more experienced people, especially the architectural design of database management application.



New book "Java Generics and Collections" added to GELC for pre-publication help

Posted by turbogeek on June 03, 2005 at 12:04 PM | Permalink | Comments (0)

Phil Wadler and Maurice Naftalin are writing a book titled "Java Generics and Collections", to be published by O'Reilly Media, Inc. Their project in the Global Education and Learning Community (GELC) at https://java-generics-book.dev.java.net/ is for the book's technical review. They are posting draft chapters for download and comment by members that join the project. The book is being published by our friends at O'Reilly who make blogging at java.net possible.

This is a great way to use java.net and the GELC which supports learning in all its forms. If you are an author and working on a book, we would love to have you work on the material here.



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.



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 status and further plans for this project?

Keep adding examples as I get time.

What kind of help are you looking for?
I'm looking for folks to "adopt" specific Tapestry components, and add examples for those components.



Project Profile : JActionGroup2 a project for J2EE, Spring and other technologies plus Chinese translations

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

JActionGroup2has several different aspects from rapid development with J2E to using the Spring framework for presentation, an information platform using Spring, Ibatis, and Webwork. It also includes an all-purpose ACL model with AOP , web layer caching with caching (on Webwork). On top of all this, because the owner is in Shanghai, there is a translation of documentation from English to Chinese. They also have a larger web site with a lot of related information at http://www.jactiongroup.net

JActionGroup2 is hosted by the Global Education and Learning Community (GELC). It has swiftly made progress and has graduated from the GELC's incubator. I asked one of the project owners,Roger Ye, a few questions about himself and the project.

Tell us about yourself.

Well, I'm Roger Ye(laurince@dev.java.net). I have a Bachelor Degree, majored in Computer Sci. & Tech and my employer is Wuerth Phoenix (Shanghai).

What school are you associated or graduated from?

HUST (Huazhong University of Sci. & Tech. China)

What is your project about?

It's for the translation of the Spring Reference Documentation into Chinese, I'm interested in the Spring framework and want to donate to the community.

JActionGroup2 include two projects :

ShareJ will build a platform that that is used to share java projects for excellent technology or ideas. The platform includes open information management and articles as web components which base on Spring and Hibernate.

Spring aims to translate the Spring Framework reference into Chinese. The completed spring-reference 1.0 version was released at the Spring Chinese forum. Now we will revamp the project by converting to Docbook and use version control.

Please visit our site by http://www.jactiongroup.net for more information with the project and other information on Spring and related technologies for Chinese developers.

Where are you located?

Shanghai, China



JLogic - Object Oriented Digital Circuit Simulator

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

JLogic, is a digital circuit simulator with an object-oriented design and written in Java. The project has graduated in the Global Education and Learning Community (GELC) at Java.net. JLogic has also released its verst version. I had a few questions for the project owner,Alex Lam S.L. about himself and the future of JLogic:

An interview with ,Alex Lam S.L., owner of JLogic

Tell us about yourself

I'm studying in University of Cambridge as a Natural Sciences 2nd year undergrauate.
My hobbies include problem solving in general - and more specifically,
to utilise computers so as to achieve higher efficiency and effectiveness on such tasks.

Why did you start JLogic and what is it about?

Now that's interesting. I've started this project after demonstrating the idea about how powerful are objeect-oriented language,
and how they are immediately useful on some problems - I admit that I choose electronics because I have an interest in this area of studies as well. And after a whole day of programming, I tested the resulting project and find it to be rather satisfactory -
at which point I've decided to refine it as a proper project as it is indeed rather useful as a software package!

What is the status and further plans for this project?

We are currently working in 2 main directions:
1) To develop an intuitive GUI so as to make circuit design / testing a really easy job.
2) To develop a relatively comprehensive library of components so that most people would find the tool handy.

What kind of help are you looking for?

Mostly on the GUI implementation - we desperately need some geniune ideas on it, esp if there's a way to "debug" a circuit in accord to the expected specification.

Where are you located?

The (rather tiny) City of Cambridge, Cambridgeshire, UK

Looks like a great project! In fact I wish I had something like this when I got my degree :o) I invite everyone a look and joint to help him out. Join as an observer if you are interested and email Alex directly if you can help out with the next version.



New Projects in Global Education and Learning Community

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

The Global Education and Learning Community welcomes more great projects. This time we have big integer software, a digital logic simulator, ad a problem-based learning simulator.

Take a look at these great new projects and join them if you can help them out.

BigAI

owner: jonelo@dev.java.net

A free program for calculating really big numbers

BigAl is a command line tool, it is written entirely in Java. With BigAl, you can calculate really BIG numbers, the only restriction is the power of your computer. Not only basic calculations are supported but also special functions like factorial, fibonacci, lucas-sequence, periods, fraction reducing, binomial coefficient calculation and many more.

pibel

owner: ciler@dev.java.net

Pibel - a powerful Learning Management System using Problem-based learning (PBL)

Problem-based learning (PBL) has recently been introduced into the curricula of many universities and medical schools throughout the world. It is an active way of learning in which students are initially presented with a problem. Then, it is the realization of what they know and don't know about the problem that drives the learning process.

In the PBL setting, students are usually divided into small groups and presented with the problem in a progressive way. This method demands, and at the same time has the potential to develop, problem solving skills and learner independence.

jlogic

owner: alexlamsl@java

Pure object-oriented design for digital circuit simulation

This project is a circuit simulator using object oriented techniques, The first multi-threaded implementation released and tested for moderately large circuits. Although there could be rooms for improvements on efficiency, the package should be readily useful for everyone.

The single threaded version is up and running - feel free to use / test them out. Current available components:
Buffer, NOT, AND, NAND, OR, NOR, XOR, XNOR, D-Latch, D-Flip-Flop. Any other recommended components would be appreciated.

pereira-costa
owner: jackganzha@dev.java.net

This another Brazilian project and is used to publish the Pernambuco's Annals

Continue Reading...



New projects in Global Education and Learning for January, 31 2005

Posted by turbogeek on January 31, 2005 at 09:45 AM | Permalink | Comments (0)

The Global Education and Learning Community welcomes more great projects. This time we have
Take a look at these great new projects and join them if you can help them out.

JeLSIM

Owner: cdmilligan@dev.java.net
http://jelsim.dev.java.net/
A toolkit for producing educational simulations.


The JeLSIM toolkit facilitates the creation of educational simulations. The process of creating a simulation is split into model writing and interface design through a visual interface provided by the tools. This interface provides visualisation objects (sliders, graphs etc.) which can be linked to model variables. The advantage of this approach is that whereas a programmer is needed to create the original model, the visual development environment means that the construction of individual simulation interfaces can be carried out by a teacher or other educational expert. One model can give rise to an unlimited number of simulation interfaces each customised to a particular educational need. Models can be reused at different educational levels and even across different disciplines where the same underlying algorithm is present. Once finalised, simulation interaces are deployed in one click as java applets, or as SCORM or IMS Content Packages.

The tools are mature and have benefitted in the past from both public and commercial funding. Recent funding has been used to explore the potential for using these tools in an assessment environment. Prototype synchronous collaborative functionality is already present within the tools and asynchronous collaboration is easily achieved through saving state via to a server (using the SCORM API). We have also developed model builder functionality to allow the programmer to be removed from the loop for a class of models. Almost 50 models have already been developed (in chemistry, electronics, mechanics, mathematics and many other subjects) and these are also freely available. One of our aims is to create a community within a community creating a collection of freely available/sharable models and interfaces as a goal of the project. For more details visit: http://www.jelsim.org/ .

Liber


jackganzha@dev.java.net
http://liber.dev.java.net/
Liber Laboratory Projects

Liber is a research laboratory at Pernambuco's Federal University. There are multiple projects here covering EDMS (Electronic Document Management System), Human-Machine Interface, Information Retrieve 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. Sonora which deals with sound files.

Recuitment

http://recuitment.dev.java.net/
mraghurama@dev.java.net
Tools for recruiting

The Recuitment project was started to develop tools to select the eligible candidates for developer recruitment. In this project some reservation candidates will also be classified according to some norms. The system will also calculate statistics about the candidates. The system's primary function will be to put candidates through written tests and other eligibility tests.

Javahttpserver

nesk01@dev.java.net
http://javahttpserver.dev.java.net/
A HTTP 1.0 Server in Java for a school project

This is a student using java.net for his school project. I am happy to welcome students and teachers to host on java.net because we here to help.



JStateSim - Open Source Discrete Event Simulations project reaches version.7

Posted by turbogeek on January 18, 2005 at 09:47 AM | Permalink | Comments (0)

JStateSim - http://jstatesim.dev.java.net/

JStateSim is a framework project for the execution of Discrete Event Simulations. The project is hosted in the Global Education and Learning Community (GELC) of java.net. This project has been graduated from the GELC project incubator and is now part of the Learning Resources project area.

About JStateSim

JStateSim was developed from scratch by albtrentadue@dev.java.net to address a specific problem: the simulation of a very simple micro-controller (PIC) algorithm. Discrete Event Simulations can be used in a huge variety of application fields (electronics, economics, production processes, biology...).

The project is designed mainly for educational purposes. Its primary purpose is for clarifying the nature and the practice of Discrete Event Simulation, possibly lending itself as a productive evaluation tool for more and more complex cooperative processes.

For information on Discrete Event Simulation theory, see the explanation here. The approach used in JStateSim is the "next event", where event generation is invoked after each finalized 0-time transformation, feeding a time referenced event queue.

The project is now at version 0.7 , providing the following stable features:

• Basic simulation core functionality
• XML based simulated system definition
• Basic event generation processes (uniform, exponential, pulse)
• Basic event transformations (Fixed time service, random dispatcher, counter)

If you are interested, please join the project and help it reach its next version. Contact
albtrentadue@dev.java.net for more information.



Chinook: P2P & Web Services platform for Bioinformatics

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

Chinook -

http://chinook.dev.java.net/

I love it when a good P2P project using JXTA comes my way. This time it is Bioinformatics and JXTA. Project Chinook has just graduated from the incubator at Global Education and Learning Community (GELC) of java.net. The project's new home is the GELC research area. Let's take a look at it and talk to the project owner to learn more about what this project is about.

Chinook is a peer-to-peer (P2P) bioinformatics service. The goal of the Chinook platform is to facilitate exchange of analysis techniques within a local community and/or worldwide. Chinook operates by turning command-line applications into services which are broadcast over a virtual network. Currently, there are over 25 analysis services that have been made "Chinook-ready". These range from alignment to regulation prediction algorithms. Furthermore, Chinook is designed to make it extremely easy to add new services.

Chinook clients can be operated from Java, Perl, or within applications like Sockeye. (And soon Pegasys, and OrthoSeq)

I asked
the developer(Stephen Montgomery) about how Chinook was built. Here is his colorful and informative response:

Arghhh.... you are also asking me how Chinook was built. Well, for half of it, I ate some hallucinagenic chili peppers and ended up extreme programming in the mexican desert with my spirit guide, Duke. It's all about the test cases, man ;) Anyways....

The best I have for a general overview is the architecture diagram http://www.bcgsc.ca/gc/bomge/chinook/images/chinook-arch.png And then there is a user guide (the latest one comes with the installer)

Basically, for the P2P though, I just have a PeerGroup called Chinook. Under it are two different MSA advertisements (one for web services implementations and the other for RMI implementations). Users pick up the associate MIA for these MSA which has the URI of the server specified (either http://foo:8080/axis/services/ApplicationServerImpl or //foo:1099/ApplicationServerImpl) and then they talk to the server using either web services or RMI. I had to build a bunch of utilities to maintain state of jobs, the size/frequency of uploads and downloads, etc. etc. But everything is configured using XML under the resources directory.

For connecting Perl to Chinook, I just use standard sockets from the client to pass rudimentary messages to and from a client instance between perl modules and then send off the job/process the report.

For services, I am building a wizard to help server peers install new tools (it is about 75% done). And then I will package them with the installer for RMI mode only.

I used your book a lot back in the day to figure out what this whole JXTA thing was about.

If you are interested in Bioinformatics or JXTA, take a look at project Chinook and the Chinook home page. Also, if you know of any projects using JXTA, let me know.



Interview with Dana Nourie, project owner and founder of New2Java at Java.Net

Posted by turbogeek on January 14, 2005 at 10:46 AM | Permalink | Comments (0)

Want to learn about Java and you need a place to go to start learning? What about a project with forums, email list groups, lots of source code, tutorials and people like you and a few experts willing to answer questions. Dana Nourie, a Project Leader and Writer for java.sun.com has a group called New2Java in the Global Education and Learning Community. New2Java is currently the most popular project in the Global Education and Learning Community. I thought it would be a great idea to talk to Dana and find out what her project is about and why it is so popular.

Daniel: First, tell me about yourself and what you do for a living.

Dana: I am a staff technical writer for sun, still learning all I can about Java technologies. I've also been a budding programmer for sometime, and enjoy the Java programming language because of it's wonderful diversity in application, such as being able to use it for desktop applications as well as web applications.

Why did you start the New2Java project?

We have the New to Java Programming Center on java.sun.com, but that is an information outlet for developers new to Java technologies. For the new2java project, I wanted to create a community for these developers where they can get information to get them up and running, but also where they communicate with one another and people more experienced in working with the technologies. So New to Java on java.sun.com is the information source, where as new2java on java.net is the community of people with the common interest of learning Java technologies and putting them to use.

Tell us about the type of content you have for new Java developers.

At this point I have several articles, tutorials, quizzes, and code samples that developers can use to begin learning the Java programming language and various technologies. Soon I'm going to add a dive log application I wrote as a tutorial some time ago with the hope that developers and students will dissect it, add to it, change it, improve it, use it as a communial guienea pig Java project. I also hope that others add their coding projects to new2java so other people can add to it and help improve it. I feel we can all learn more by coding together, critisizing each other's attempts in useful ways, and seeing how others approach the development process.

What kinds of questions to you get asked about by your project members?

So far it's mainly been about where to find information or what specific Java technolgies are used for and requests for more code samples.

Are there active project members adding new content to your site?

Not yet, and that's what I hope will occur soon. That's really what a comminity is about, so I hope to see code sharing. When I add the dive log project, I hope others will be inspired to critisize it, add improvements, and make big changes. If this happens, then I'd like to write articles about the changes made, show examples that demonstrated how the code was orignally and how someone improved the code. This is a dynamic process I feel we, as budding developers, can all learn from.

You have the most members of any other project in the GELC. Any thoughts to why you project is so popular?

Many people want to learn Java and just don't know where to start. Many are coming from C or C++ backgrounds and just need a quick tour, while others are new programmers, and Java technologies is their introduction to the world of application development. I think the articles, tutorials, quizzes, and code samples appeal to everyone in this group.

Now, I hope they come together as a community and share their problems, their solutions, and their insights.

Anything else you would like to say?

I would like to encourage the members to use the forum to have conversations about their programming struggles, and encourage more advanced developers to help these folks resolve the issues. I'd also like to see students post their homework issues. This is an area that is heavily critisized in most forum formats, but I think sharing homework problems can be productive. I don't mean to imply that solutions should just be handed over, but people can encourage others to think about programming problems in new ways and to help the student figure it out. I'd also like to encourage teachers to post challenges or homework that they've used in their classrooms. I think it'd be fun to have a teacher do this, then to have the members crunch the solution right there live in the forum, and have other students say, Yes, but you can also do it this way!

I would like to hear from the new2java members about what their needs are and suggestions about how the new2java project can be used to help them learn. They can email me directly (dana.nourie@sun.com), or better yet share their requests with the community by emailing the mailing list: users@new2java.dev.java.net



Project Graduation of ienjinia

Posted by turbogeek on January 11, 2005 at 01:13 PM | Permalink | Comments (0)

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, games, is rather simple as are the types of game design possible. The second is that the emulator is a very simple platform for exploring programming.

The project relies on BeanShell but also includes a library that gave me the shivers of olden days. The commands look a lot like Wozniak's Apple Basic for the Apple II computer with its commands eek and Poke being used to write screen rasters and control sprites. The idea here is that such interfaces to hardware are so primitive that they are a concrete way to help a new programmer understand the interface between hardware and software. Although BeanShell is 90% Java, the library and new commands add the gaming console capabilities that we would see in the average Packman arcade game.

Is this the panacea we have been looking for to educate the average teenager? Perhaps, because this worked for me when I was peeking and poking on my Apple back in the late 70's. Mixing an interpreted Java interpreter and a simulated hardware platform might be the right mix.

If you know a teacher, a parent, a teen, or if you are a teen a parent or a teach, give this a try or pass on the information. Java is now on Advanced Placement exams for college, so high schools are now the first place kids see Java. Since they have to learn Java, why not in an environment adds game development to the fray.

Of course, this should be a boon to the older parents. If you cut your teeth on an Apple or similar computer and learned a bit of Java, you have all you need to help tutor your kids. But, be a mentor and facilitator and in this case, perhaps a game beta tester.

Kids are smarter than we think, especially when it comes to computers (take a look at the Hole-in-the-Wall Experiment). If you know of a teenager that might be interested, just give them the link and let them download and experiment. Many a career was launched from just a little curiosity.

Project IENJINIA was originally at SourceForge, but is now a java.net project within the GELC. The project also has a public web site at: http://www.ienjinia.com/ Project IENJINIA has graduated from the Global Education and Learning Community's incubator and is now in the tools for teaching area of the GELC.


New Projects at GELC for January, 10 2005

Posted by turbogeek on January 10, 2005 at 12:53 AM | Permalink | Comments (0)

The Global Education and Learning Community welcomes its first projects of 2005. This month we have an automata tester (from a Chinese developer), an eLearning platform based on SCORM, a MIDP RSS client, a virtual console for teaching Java to teenage students (from Mexico), a federated exchange of digital content and rights management, and a set of tools for teaching Algebra in High Schools with a graphical symbolic tool.

It is quite interesting that several of these tools already have code and working versions (or soon will have) because they were created elsewhere and have hosted their code at java.net.

Take a look at these great new projects and join them if you can help them out.


http://automata-platform.dev.java.net/
Summary: AutoMata Platform is a auto machine tool for test your automata

AutoMata is a very important course in computer scince subject. AutoMata Platform is a auto machine tool for test your automata arithmetic implementations.It provides state map view ,state trees,and a powerful extendable achitecture. The users (mainly students and teachers)can use this toolfor demostration and argumentation the auto machines. they can also implement their own automachine or layout arithmetics to enhance this platform to fill thier requests. Chinese Version: 《形式语言与自动机》是一门很重要的计算机专业课程。本项目——自动机平台,起源于北京航空航天大学计算机学院《形式语言与自动机》课程。 现阶段,平台提供了自动机中的正则表达式识别、正则表达式转NFANFA转换到DFA以及DFA化简,并使用图形化的状态图来帮助使用者进行跟踪学习。同时平台提供了强大的可扩展性,使用者可以使用java语言实现自己的自动机,并利用本平台提供的图形化状态图来进行测试和研究;也可以实现自己的布局算法,来扩展有关自动机状态图的布局等。

http://elearning.dev.java.net/
Summary: elearning java platform

eLearning Java Platform based on ADL's (Advanced Distributed Language) SCORM standard. Develop and Build a Portal with Java2 + XML language under rules specified by SCORM XML Controlling Document Specification, IMS Learning Resource Meta-data Specification and Sharable Content Object Reference Model Specification.

http://ienjinia.dev.java.net/
Summary: IENJINIA Virtual Console for teaching Java to teenage students. You can see the official IENJINIA homepage at http://www.ienijina.com

It was relatively easy for a teenager to fully understand all the hardware and software in computers such as the Apple II and Commodore 64. Now it has become quite hard to understand how everything works, even in a "simple" PC. The IENJINIA Virtual Console and Devkit emulate hardware similar to an early 80's video games console to provide a better environment for learning how to write software. Note that this project is a product of developers in Mexico.

http://jatse.dev.java.net/
Summary: Graphical Symbolic Algebra tools for High School

JATSE is a set of tools for teaching, learning and playing with algebra. They will provide a broad range of symbolic algebra functionality including a GUI to manipulate algebraic functions, components to render functions in a mathematical format, and classes that can "intepret" and describe arbitrary functions.

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.

This project currently consists of prototypes(Please see the Algebra prototype in the "Documents & files" Section) including:
• A set of classes that to represent algebra expressions in an expression tree.
• A set of GUI classes to manipulate algebraic functions. The GUI is designed to support ideas held
by reform educators.
• An engine to manipulate and render rational linear equations with two variables ("x" and "y").
• A rudimentary parser that turns an ASCII string into expression tree.

Much of this work is part of my employment with The Concord Consortium. They have graciously agreed to let me release this work as Open Source. I am spending a good deal of extra time extending this work.

http://mitmuml.dev.java.net/
Summary: mitmuml is an MIDP RSS client

mitmuml is an MIDP RSS client.It is nearly 90 % about document for user.

mitmuml is an MIDP RSS client.The User can read headlines from a number of news sites and have the link emailed to him via mobile client.Major,it will read information about medical history of patient in format RSS. RSS is a widely used XML format for news to feed their headline contents to aggregators.It is readable by users and can be parsed by XML parser.

http://voyager.dev.java.net/
Summary: Federated Brokerage Model for Digital Content

A Java-based brokerage system for the federated exchange of digital content and rights management.



GELC New Projects Nov 10th

Posted by turbogeek on December 29, 2004 at 01:32 PM | Permalink | Comments (0)

It's time to welcome new projects into the community. They need help and volunteers to get things going. Please email there owners and ask how you can help.

Here are the links and descriptions to the latest additions to the Global Education and Learning Community (GELC). Please look through the summaries (from their project page). If you find something interesting, join their projects and help out.

Code Fun

This is a place to share some of those funny and interesting code examples. If you have some of those examples yourself then you have likely forgoten some of them or would have liked a resource like this. If you are teaching a class or talking to a Java™ group then please come visit and share.

What makes a good code example for codefun? It should be interesting or have and interesting story to go with it. The actual code should be good, bad, elegent, or funny. Where applicable compiler messages can be included.

eregister

Our mission is to extend the SVS (student administration system) of our school (HTL-Leonding, Austria)

java-refactoring-project

This is an academic project for studying Java Refactoring in improving the software quality.



javastarterkit

Java Starter Kit is a hands-on project for java newbies. it covers all java api's & technologies.


geneticsj

GeneticsJ is a metasuite to wrap around a multitude of applications already available under GPL, but also to provide extra functionality and seamless integration of these tools. The primary motivation is for the development of a population genetic analysis framework, but may also incorporate other fields in future.


libman


A Library Managenent System implemented in the Java Technology. This software can be used in any college library purpose. The front end is designed in Java Swing. The front end is to some extent completed. The database is JDBC with Oracle. If anybody wants the raw code for the Swing part please email essenio97@yahoo.co.in.

online-college-management


Software for managing tha college based on different sections of the college 1 . library managemant online.. 2. deparmantal information of a student 3. account section clearance online through credit card systems. 4. DB of students information
. Also managing the students information like 1. Library managemant 2. Accounts and credits 3. Departmental dues based on absence 4 . Creating mail server for college intracommunications 5. students information according to the Scholar no in the college.


runing


Runing is a webLog based on Hibernate and Tapestry and Hivemind etc.


jstatesim

JStateSim is a framework project for the execution of Discrete Event Simulations.

This project was developed from scratch by me to address a specific problem: the simulation of a very simple micro-controller (PIC) algorithm. Nevertheless, Discrete Event Simulations can be used in a huge variety of application fields (electronics, economics, production processes, biology...).

The project has mainly an educational purpose, in particular that of clarifying the nature and the practice of Discrete Event Simulation, possibly lending itself as a productive evaluation tool for more and more complex cooperative processes.

I'm