Welcome to Dream.In.Code
Become a Java Expert!

Join 150,375 Java Programmers for FREE! Get instant access to thousands of Java experts, tutorials, code snippets, and more! There are 1,590 people online right now. Registration is fast and FREE... Join Now!




jinx project in java

 
Reply to this topicStart new topic

jinx project in java

kmrfrom
28 Jan, 2008 - 09:28 PM
Post #1

New D.I.C Head
*

Joined: 18 Jul, 2007
Posts: 7


My Contributions
hi 2 everybody!
iam req all of u to help a MCA final year studetnt (myfriend) wants to do the project on jinx(The Java-based Unix-like Multi-user environment).but we need more info on how to do and what are the essential things of it compare to unix/linux;
and is there any official site on this topic etc., iam sending a copy here that we got through net(our ultimate helping source).
so kindly guide us. asap(today it self if possible:!)
----------------------------------------------------------------------

JINX is a Java-based unix-like multi-user environment. Here's the breakdown for that sentence, including the particular meaning of each part as far as JINX is concerned:
Java-based: JINX was built from entirely Java code. No C/C++/whatever. JINX does/will embed scripting languages, but these are also built using only Java code. We'll still be targeting J2SE 1.4.2, until the Apple JVM is updated (officially, not Beta) to J2SE 5.0.
Unix-like: JINX is intended to be a unix-like environment that loads and runs on any Java-enabled platform, including Windoze, Linux, Mac, etc. The purpose of this is to provide a uniform, remote and/or local command-line environment on any normal desktop/laptop system. The reason for this is that I wanted to build a MUD in Java that I could maintain the same way across multiple platforms. It is intended to be unix-like because I prefer that to a DOS-like interface, or a (custom, non-uniform) web interface.
Multi-user: A functioning JINX system allows multiple users to login remotely and run Java-based console programs. All of this runs under a Java Security Manager, protecting each user's files from being modified by other users. Their running programs are also protected in this manner. Each user's permission set varies, allowing anything from a super-user (equivalent of root on linux) to a nobody user with no permissions at all.
Environment: Look it up in a dictionary. I'm too lazy to look it up for you. ;-)

Why the name?
Originally, I called JINX Junix (J-Unix). After working on the first version (never released) for several months, I looked around on the internet and found a project with much the same goals and the same name (it seemed to be dead). Doh!
So I had to find new name. I started re-arranging the letters J, U, N, I, X and accidentally left out the U while I was tired. It spelled jinx, which seemed like a pretty good name, so I stuck with it.

Why the re-write?
We're currently at the beginning of a re-write of most of JINX, for several reasons:
First, JINX didn't function under Mac OS X unless security was disabled. No other platform had this problem. I'm fairly certain that it's a bug in the Apple JVM, but Jason disagrees with me, hence we never filed a bug report.
Second, several of the APIs were too interdependant, due to a lack of foresight on my part. This time around, I'm carefully planning out each package and designing them to function alone, so they can be re-used as much as possible in other projects. Once the re-write is complete, many parts will be useful libraries on their own: the logging API, a multi-channel chat system, user manager, multi-process launcher (allows running multiple programs from the same JVM), external process handler, general I/O utilities, configuration/preferences system, direct terminal interface (think curses), some form of GUI terminal (hopefully), a few java shells, command-line argument parser, transforming classloader (to dynamically modify classes at load time), custom java loader, etc. Most of these features exist in the current version of JINX, but are too interconnected to be easily separated. Those things that I'm already happy with will be copied straight across.
Third, I've learned quite a bit since I started this project and I want to do things right this time around.
Fourth, I'm culling the herd of external libraries that JINX depend on to function. Some of the current required libraries/programs are simply going to go away. I'm going to replace the only class in jregex I'm actually using (If I can). Janino will (hopefully) become an optional component. Tornado (the http server) has been replaced by an NIO based non-blocking server I wrote from scratch. The ftp server will be replaced by one I'm going to write myself (again, NIO based). The JTA (Java Telnet App) based console will be replaced with a custom console component written specifically for JINX.
Fifth, I intend to make everything as lean as possible, so the minimum install of JINX can be much smaller. Many of the currently required components will be made optional and placed into seperate jar files.

-------------------------------------------------------------------------
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 1/9/09 03:07PM

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter

Live Java Help!

Java Tutorials

Reference Sheets

Java Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month