About Research Tools WebGL Games
.
.

About

I'm interested in programming languages, programming environments and game programming. Check out my research and game samples below.

Contact me at mrsmkl@gmail.com.

Research

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:

  1. Size
  2. Coupling
  3. Cohesion
  4. Importance
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.

Development tools

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.

Test here!

Code Completion Analysis

Test bench for evaluating completion systems for programming environments.

Coming soon!

Literate Programming Environment

Coming someday...

WebGL Samples

N-body simulation

This sample shows how to make n-body simulations in GPU. It includes gravitation and simple collision handling. Obviously it is much slower and more cumbersome than it would be using OpenCL. Requires VTF.

Flag demo

A flag waving in the wind. There is also a simple 3D fire effect. The sample can be seen here. This one uses VTF too.

Video effects

Some simple webcam effects.

Click here!

Env mapped webcam

Click here!

Icicle demo

Another sample using webcam and env mapping.

Click here!

Stars demo

Yet another sample using webcam. Now with a simple particle system.

Click here!

Games

Puck 3D

A 3D game using three.js.

Click here to play!

Freeze

Simple toy using the webcam. Requires Google Chrome.

Click here to play!

Nuclear Disaster

A game using Box 2D. Build a protective cover for nuclear power plant.

Click here to play!