Monday, January 10, 2005

Maiden Project

Hi. Sorry about the long delay.
I started work on the Maiden project, a sort of lovechild of Erc and its example code.
I found out early on that Erc was very good for AI coding. In fact, I was able to do complex AI problems not only in much fewer lines, but also without at much necessary previous planning. The Erc structure and syntax allows one to easily visualize a solution to an AI problem and provides an excellent environment to describe and execute a solution to such a problem. With the advent of revision 1.1, I found myself with a few people who were interested in it (though mostly from my shameless promotion on IRC and USENET), and I started writing example code. The example code, while short, illustrated how easily Erc could be applied to AI problems. The logical parser was written in 11 lines, and was able to implement the chain rule to deduce relationships and provide all the possible values for a statement to be true given multiple possibilities. I wrote a natural language parser core is about 15 lines, which allowed for translation of a given natural language (assuming the correct syntaxpack is loaded) to be translated into equivalent Erc code, which then could hypothetically be executed and the result translated back into the natural language.
With these examples in hand, I decided to take the next step. I decided to make a robotics/AI core module, extensible in Erc, for use either as a Linux kernel module or an embedded OS. This is the Maiden project.
I began work yesterday, writing headers, documentation, and makefiles, and continued today with the beginning of the module piece. I have registered a project on SourceForge for the Maiden project, and hope that it will be approved. I made a logo yesterday as well. Jon will likely help me, albeit with some resistance, and Two9a has agreed to try out helping.

Monday, November 08, 2004

pre2! yay!

I finally released majic v.0.01pre2! Yay! It's pretty much fully functional, sans the stream class, which I'll save for pre1. On the actual 0.01 release, I'll probably throw a party for the ercon (hehehe). It's really coming along :D. It now has library loading and keyboard input, as well as all the standard functions. More about it can be seen at http://sourceforge.net/projects/majic/ .

Thursday, November 04, 2004

Erc

My CS teacher agreed to consider my work on Erc a (read: my programming language) community service. So far, I did 7 hours on that, giving me 17 out of the required 40 finished, assuming I can get my guidance counciler to agree with my daring (for this area) social statement of community software development.
A little more on erc: I did an interpreter, a compiler, and revision 0 of a language documeatation. The interpreter is called Majic, and implements all documented functions except library loading and streams, plus some extra non-documented functions I'm planning on putting into revision 1. The compiler, Majicc, simply creates a new class that inherits from Majic's interpreter class (Majic's in java, and Majicc is in c++) with the erc source pasted in, ready to be compiled by javac,esentially into a self-interpreting executable. Decisions for the official language docs (standard erc revisions) are made by the Ercon, a group of four developers, led by me, who show an interest in the language and have signed a docurent swearing their efforts to the progression of the language. The Ercon consists of myself (John Ohno, leader and devecoper/documenter), Jon Kopetz (gimpery engineer :-P), Kraig Eisenmann (coder), and Marilynn Kramar (oor CS teacher, community service "site supervisor", and generl ercon "voice of reason"). Soon I will draft revision 1 of the Erc Standards, to await approval and amendment by the Ercon.
When library laoding is implemented it will support 4 types of libraries:
-erc source libraries: these will be thz most common, and are just the erc source files, loaded into the main web
-erc compiled librazies: these are "compiled" erc source files, loaded into the toplevel web like source libraries. If you've done your homework and read the Majicc source (ha ha ha) you probably realize that a compiled erc file is an op with the source pasted in. So the library files, when loaded, are ops within the toplevel web.
-java libraries: these are like compiled erc libraries, except that they include java functions that don't exist in pure erc.
-system libraries: these are libraries that are system-dependent libraries, loaded with java's load() command.
More info is available at http://erc-lang.tk

Wednesday, September 22, 2004

Sakura

Sorry for the lack of updates, I've been having some problems with shoddy winmodem drivers and kernel 2.6 .
A while back, I started a company called Accela Labs. The company's current project is a knowledge navigator, in other words a hypermedia ui. So far, I've been really the only one working on it among the people in the company, besides Avi, who did the logo. It's mostly in TCL, TCL/Tk, and Java, and I'm planning on integrating mplayer into it using mplayer's window-embedding and command-mode options. It's also going to be put into a distro called Sakura Linux.
Stay tuned for further updates.

Sunday, August 01, 2004

BinaryVerse client alpha code done

Monday, July 12, 2004

New anime

I began work on a new anime called Boolean Diety over my vacation, which hasn't yet ended. With help from Bret, the storyline is getting more and more developed. Plans are for a 15-or-so episode series, starting whenever we can get the first DS OVA finished. The backstory goes like this:
In the future, disasters are plauging mankind. Three teenagers are brought to a government facility and put into a project where they use their esp and coding skills to connect to the "Diety", the vast sea of code that runs the universe, in order to defeat processes in there called Golems who wish to destroy humanity. They do this by entering TICs (Total Immersion Capsules), also called "Coffins". They are enclosed beds with a computer integrated, with a screen and keyboard on the opening top and Dermatrodes ("trodes", self-adhesive brain-computer interfacing pieces that stick onto the wearer's forehead and use ESP) pulling from the side. When connected to the Diety, the programmers (D-Coders) are embodied as Golems themselves.
Not only that, but each of the characters go through massive trauma, with deaths of ones close to them and prophecies of destruction with no one listening (Cassandra Complex). There are mysterious murders and mass suicides, and it all stems back to the Diety, and Project Diety's mother organization, the Directorate, along with plans for the destruction of the project and all those involved.
If you're interested in perhaps being in on this project, as always, you may contact me.
~John

Friday, July 02, 2004

FreeDate

I wrote the engine for a dating sim a week or two ago. I uploaded it today. Here it is: Download Freedate.

Comment on Jon's comment

From a technically puritanical point of view, I have some suggestions that would help the game be more singular in design. I suggest that all objects have built-in physics functions, and react based upon the physics within it. Also, in order to aid in creating things from descrete parts, each object should have a meld{} method, which would connect it to whatever was specified and create a new object from the unison, connecting the code together possibly into one script. In addition, I have a bit of a problem with just the fact that he suggested "first person battle mode". I agree completely, but that's just a basic result of the bv design philosophy: everything as close to real life as possible. In real life, we don't go into a "battle mode", we simply go and hit someone. I want it like that, where you can just take out your katana and cut somebody to pieces without having to go into a "battle mode" at all, much less a 3rd person one.