Welcome to the BIM open source web site. Here you will
find projects built using Java[TM] technology. I have
developed several useful products with many useful code
snippets. All of the jar files are executable self
extracting files. They will be extracted to whichever
directory the file is executed in(so I recommend placing
them in a new directory).
BIM MUSTRO 2
The Multi User Simulated Tournament Ruled Occupation(MUSTRO) 2
is a construction kit for fantasy swords and sorcery style role
playing games. Right now it is in late development stages. What
does this mean? The kit is compilable and is being tested. In
other words there are bound to be some bugs.
Using MUSTRO's creation interface many normally tedious develop
and design problems are solved without having to look at or
understand programming languages. The "construction" package
includes creation support for characters(people), creatures(artifical
intelligence), maps(including all options that a space in the virtual
world may possess), items(unequippable items, weapons, armor, food),
skills, and spells. MUSTRO allows you to tailor all of these things
to fit your needs and after developing everything you can start up
the world and begin a multiplayer adventure. Also, the "imagescan"
package provides applications for creating bim.rpg.strategy.image.StratImage
objects that are used for displaying images on the MUSTRO canvas.
More information about BIM MUSTRO 2 can be found by clicking the
link on the left side of the screen.
Target Compile: JRE 1.8
BIM Database Standard Edition
This application is a personal information manager. It
sports the qualities of some other very popular information
managers except for two especially unique qualities; it is
open source, and free of charge. To complement the open
source genre of this project I have taken the liberty of
marking mostly all methods and variables with guiding
pointers to their usage. Some other interesting qualities
for this project are its multi threaded event handler and
its ability to be used as a back end for small business
like scenarios(mimicing the basic sql commands, and these
methods could easily be ported to sql).
Target Compile: JRE 1.4
BIM Work Efficiency Planner
This project allows a supervisor to estimate and plan time
and cost for the completion of a collection of jobs to be
worked on by a group of workers. Specify the worker's rate
of work compared to the average worker and the worker's pay
rate per half hour and the worker's skill proficiencies and
any restrictions on coworkers to be involved in group work.
Next, create jobs based on skill proficiencies, number of
half hours estimated to complete the job, a pay rate that
can override workers' pay rates, and maximum number of
workers. Enter the workers and jobs into the application
and specify a limiter depending on time or cost and
the program will determine either efficiency based on time
or cost. No guarantee on whether the returned work plan
is the most efficient, but it has made planning easier
on tested data sets. Also, there is a feature for outputing
the plan to a html file for later viewing and/or print outs.
BIM Virtual Map Manager
Contains functions for creating a virtual map using intersections
and roads measured in miles and miles per hours. Calculate fastest
route between intersections. Choose major intersections for
prepared junctions. Uses a layer of abstraction between logical
and real intersections locations with virtual canvas and
latitude/longitude mappings respectively. Implements the haversine
formula for determining the length of road between intersections.
BIM Dynamic Development Environment
This project has provides for a Visual Development Environment.
It allows many different components that can be added easily to
the display. The display may then be converted to Java[TM] source
code which is fully independent of the BIM Dynamic Development
Environment architecture, or the display can be saved in BIM
Dynamic Development Environment(BDDE) file format. In this format
it is in scaled form so that it may be loaded at a later time on
any size display which has the BIM Dynamic Development
Environment. In BDDE file format it may be loaded into another
application included in the package and in this package it may
then be tested and/or converted into a html document. Above and
beyond all that has been mentioned the BDDE file format provides
a simple interface which allows for easy extension and creation
of new components that may be added to the BDDE file format.
These components may or may not have cycles of life(FormStage's)
which is an interface that extends Runnable and provides the
component with some artifical intelligence. Everything before
this point is functional. However this application is not fully
complete. This application is also intended to be an internet
application front end which will collect information and
dynamically change the front end according to the information.
Also the front end can transport information to the back end
for transaction server functionality(the plan is to incorporate
this application with the BIM Database which provides the back
end support needed).
Target Compile: JRE 1.2
BIM Telnet Client
It is useful for storing aliases, triggers, patterns, and some
artifical intelligence in a basic telnet interface. This client
can be used for multiplay.
Target Compile: JRE 1.2
BIM Telnet Client 3
Unlike its predecessor it is more light weight and isn't for
multiplay. It features aliases and triggers based on wildcards
instead of indices. It has a built in journal for keeping notes.
It also can execute batches of commands called sequences
that can be either manually entered or recorded for later
execution.
Target Compile: JRE 1.8
BIM Inventory Organizer
Create rectangular maps for keeping track of inventory.
Maps can contain submaps for organizing inventory by
location in relation to their containers. One practical
example is using the inventory organizer to keep track
of food in a refridgerator where maps can be created
for each shelf or drawer in the refridgerator. Also,
there is a search mechanism for finding items. Lastly,
you can also create recipes which are based on items
in your inventory and can automatically determine whether
or not you have the correct inventory items to make
the item formulated by the recipe.
Target Compile: JRE 1.8
BIM Appointment Manager
Schedule appointments and rate entities that you meet with
at the appointments. Graphical interface includes a calendar
display. Daily interactions manageable by clicking on
calendar days. Schedule appointments as far out in advance
as desired. Load and save multiple calendars(which could
be used for multiple peoples' schedules).
Target Compile: JRE 1.8
BIM Calorie Tracker
Track your caloric intake by averages for each day of the
week. View your averages for durations of one week, one
month, or one year. Compute the amount of time it will take
to burn a chosen amount of calories distributed to a
number of chosen activities based on percentages of
calories for each activity.
Target Compile: JRE 1.8
BIM Deadlock Profiler
Profile java packages to determine where execution could
result in deadlock in multi-threaded applications. Outputs
threats to a txt file for debugging code. Doesn't change
any of the java files automatically, all modifications to
avoid deadlock must be typed in by the programmer using
their text editor of choice. For more details read the
enclosed readme.txt file.
Target Compile: JRE 1.8
BIM Calculator
It calculates mathematical expressions expressed in terms of multiple
variables expressed in terms of x. Follows the order of operations.
Implements functions available to java.lang.Math which have parameters
and return types of primitive double. Provides a simple graphing
interface. Also, allows the user to interact with a magnifier for
displaying rectangles in a magnified format in a separate window
which may be useful for people with limited eye sight.
Target Compile: JRE 1.8
BIM Folder Deployer
It transfers the file and folder contents of a specified folder
from one socket connection to another possibly on a remote
computer. The deployer is intended to be used in conjunction
with BIM MUSTRO 2 for transfering the server folder on a local
computer to a remote server. The maximum file size transferable
is 2 giga bytes.
Target Compile: JRE 1.8
BIM Task Communicator
A multi-chat window task communicator for sending and managing
messages between workers in the field and managers at the base.
Uses HTML5 WebSockets in the front-end and Jetty8.1.19 for
receiving messages on the back-end.
Target Compile: JRE 1.8
BIM Obfuscator
It obfuscates source code(java) variables and methods. It protects
name integrity across packages. This is my newest project. It has
a few code writing rules that must be followed in order to function
properly(the rules can be found at the top of the source
code file named obfuscator/ObfuscateSources.java). One specific
that I will mention now is that the option -noverify must be
used at the command prompt when executing the obfuscator. I will
remove them when time allows it.
Target Compile: JRE 1.2
These are some of the major projects I have donated to the
open source community. I will continue to produce more code
time permitting.
I am Matthew Farhat and I hope you enjoy the code. My e-mail
address can be found in the frame to the left. If you like
the code and have any comments send me an email. If you don't
like the code and have any comments send me an email. If you
want a conversation on Java[TM] Technology theory, or want help
with any open source projects send me an email.