User:Kanmuri/GSoC 2010 Application/Java Runtime Port

From Apertium
< User:Kanmuri
Revision as of 11:11, 6 April 2010 by Kanmuri (talk | contribs) (Created page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Name: Stephen Tigner

E-mail address: stephen.tigner@gmail.com

Other information that may be useful to contact you: Kanmuri on Freenode IRC (Will provide other contact information directly and privately to project mentors. I don't wish to post such publicly, however.)

Why is it you are interested in machine translation? The promise of machine translation (along with the internet) is that eventually all the world's information and knowledge will be available to everyone, regardless of location, nationality, or language. I want to help fulfill that promise, as it were.

Also, being able to communicate with people across the language barrier, breaking it down, as it were, interests me. I'm certain that there are those who share my same interests throughout the world, but we may never be able to connect with each other due to the language barrier.

Why is it that you are interested in the Apertium project? Well, because I'm trying to decide what field in computer science I want to pursue further. One field that had somewhat piqued my interest was computational linguistics, but I know pretty much nothing about linguistics, so I hoped to learn during the process of working with Apertium, to help me know if it's really the path I want to pursue or not.

Also, again, like I said above, Apertium is working toward fulfilling the promise of machine translation.

Qualifications and previous experience

I have my BS in CS (I did my final project in Java), and am currently studying abroad in Japan for a year, returning to home (the US) in late May. My programming experience has been mostly in-class stuff and small utilities or scripts I've written for my own use.

One exception was a "MUCK emulation" layer for a MOO. Basically it was creating a set of utilities that were written from scratch to emulate the operation as well as look and feel of some of the most common commands and utilities on MUCKs. This involved digging into the MOO core, understanding how it worked, and extending it as needed to support the MUCK style of operation, while not breaking the existing MOO-style utilities for users who wanted to use them.

(If you don't know what I'm talking about, that's fine. They're basically text-based shared user environments. MOO is an object-oriented language for creating these shared environments. The term refers to both the language and the environment itself. MUDs, MUCKs, MUSHes, MOOs, etc., are the predecessors of today's MMOs, and many still see somewhat active use even today.)

As for open-source contributions, I haven't really contributed to open-source projects before, unfortunately.

Which of the published tasks are you interested in? What do you plan to do?

Java port of Apertium runtime I'm interested in this one for several reasons.

A) This would make it much easier to run on non-*nix platforms (like Windows).
B) Having it in Java means it could potentially be used as a library

for applications in the mobile or embedded space on devices that support Java.

C) Java is the language I feel I am the most comfortable with right now.
D) There are many others like myself who are more comfortable with, 

and more likely to succeed at, experimenting with Java code than C++. Thus this would also allow for and encourage more people to contribute to improving the actual Apertium engine at a low level.

Work plan: Over spring break, I started reading the Apertium documentation on the wiki, and completed a code challenge posted on the GSoC wiki page that used dixtools as a library to implement a tool that checks for invalid stems. I won't have time for much additional coding until school gets out, however. (It can currently be found at: http://apertium.svn.sourceforge.net/viewvc/apertium/trunk/apertium-dixtools/stem-checker/ Sorry if it got stuck somewhere weird. ^^; )

[I'm still trying to get a handle on exactly what still needs to be done for this project, what's been done so far, etc., so I can know what I need to plan for as far as milestones and such goes.]