I'm interested in programming languages, programming environments and game programming. Check out my
research and game samples below.
Contact me at email@example.com.
Program source code has both semantic and non-semantic content. The non-semantic
content is related to style or structure of programs, and it depends on the features of programming environment.
In the scientific research of programs the problem is to finding the rules and laws that exists in the programs.
Because the semantic content only depends on requirements, there are no
rules related to that. An example of simple rules are indentation and similar rules.
Modules have no semantic content, so it is possible that there exist rules governing the structure of them.
Four different properties are related to modularity:
These properties depend on the source code of the modules, as can be shown from the weight function of modules.
Weight of a module is the probability of the module P(m) multiplied by the size of the module |m| added to
coupling overhead factor o.
Cost of m = P(m)(|m|+o)
We get the following rule for the modularity of programs:
Modular structure should minimize the weight function of modules.
Empirical research shows that the programs follow the above rule.
Same rule can be in another situation, where modules are data sent to client by a server.
Then a module is a piece of data that is sent in one transaction and the overhead is the transaction overhead. These findings and more are reported in my
dissertation Cohesion metrics for improving software quality.
JQuery for pretty printing and refactoring
Source code can be parsed into a tree, and then this tree can be
converted into HTML. HTML can be processed using normal tools such as
CSS for colors and JQuery for other changes.
Code Completion Analysis
Test bench for evaluating completion systems for programming
Literate Programming Environment
This sample shows how to make n-body simulations
It includes gravitation and simple collision handling.
Obviously it is much slower and more cumbersome than it would be using OpenCL.
A flag waving in the wind.
There is also a simple 3D fire effect.
The sample can be seen here.
This one uses
Env mapped webcam
Another sample using webcam and env mapping.
Yet another sample using webcam. Now with a simple particle system.