random code

A collection of random code that I have written for various operating systems and platforms. © 2000-2008: Andrey Mirtchovskimailto:mirtchovski@gmail.com?subject=Code%20siteshapeimage_1_link_0

A port of the game Sokoban for the Inferno Operating System from VitaNuova

Download: sokoban.tgzcode_files/sokoban.tgzshapeimage_3_link_0

Ports of various screen manglers from XScreensaver to the Inferno Operating System from VitaNuova.

Decay: Slowly decays the screen into an unreadable mess.

  1.     decay.b

  2.     decay.dis

Lens: zooms the screen region under the mouse (a rewrite of Plan 9’s lens)

  1.     lens.b

  2.     lens.dis

Rotzoom: zooms and rotates the screen

  1.     rotzoom.b

  2.     rotzoom.dis

Zoom: zooms the screen and ten crawls it

  1.     zoom.b

  2.     zoom.dis


This linux binary can be used to run the Inferno Operating System from VitaNuova without X-Windows support, using only the Linux Frame Buffer. The port was used in a prototype One Laptop Per Child (OLPC) computer during the SuperComputing’06 conference in Tampa, Florida.

Linux framebuffer support
Download: emu-fb-386.gzcode_files/emu-fb-386.gzshapeimage_6_link_0
Simple timing plugin
Download: Timing.bundle.zipcode_files/Timing.bundle.zipshapeimage_8_link_0
iMovie ‘06

A basic plugin for iMovie ’06 which allows you to place a frame-counting timer anywhere on the screen. The counter is not global, instead, it just counts the current frame, so if you want to, for example, reset the counter after every lap you can do so by splitting each lap into a separate clip.

Place the unzipped bundle in Library/iMovie/Plug-ins in your home directory.
man page: wm-misc.mancode_files/wm-misc.manshapeimage_13_link_0
Download: fire.ccode_files/fire.cshapeimage_17_link_0

A very simple implementation of a basic particle system. Looks like fireworks.

Most of my OpenGL work was done as an undergraduate student, when I had one entire summer to play with graphics and learn the important parts of the API. As you can see, most of my interests lie in visualizing mathematical and physical phenomena, and not particularly in creating beautiful art.

The original site and descriptions is here: http://www.cs.usask.ca/home/aam396/opengl/

All code requires the GLUT library.

Fireworks + Gravity
Download: fire2.ccode_files/fire2.cshapeimage_21_link_0

Same as above, but falling towards the bottom.

Galaxy collision simulation
Download: galaxy.ccode_files/galaxy.cshapeimage_23_link_0

Galaxy collision... This is a port of the galaxy collision simulation Chris Worman and I wrote for a graphics class... The description document is available here: Galaxy Collision,the powerpoint presentation is here: ppp.ppt.

Sierpinski’s gasket
Download: pyram.ccode_files/pyram.cshapeimage_25_link_0

Sierpinski's gasket in 3d (using pyramids)..

Download: boxes.ccode_files/boxes.cshapeimage_26_link_0

Sierpinski's gasket in 3d (using cubes)..

water simulation
Download: mywater.ccode_files/mywater.cshapeimage_28_link_0

Surprisingly large number of people have asked me about this code, wanting to incorporate it in their work. From undergraduates working on projects, to PhD students doing their literature surveys.

Download: starfield.ccode_files/starfield.cshapeimage_30_link_0

This depicts motion through a field of stars. the mouse moves the point of

view, while the space bar shoots something very green, that could (or could

not) be used in some sort of an arcade game :) the blue objects are default

glut figures, drawn there just for fun.

There’s a lot more OpenGL code that I’ve written over the years, but nothing beats the youthful enthusiasm that brims from all those early forays in graphics programming... :)