|
| | Below are some of the projects I've implemented over the past
few years.
|
#
|
Project |
Description |
Language |
Source Code |
|
1
|
FlakeNet
|
Implementation of a replicated state machine on top
of flakeNet. Each client has some set of messages to send. There are
multiple servers. Clients may die, servers may die, and messages may be
dropped, reordered etc.
There are 10 "clients". Each client has a bunch of messages to
send. There are 5 "data servers". Messages are point to
point and can be dropped, or reordered. Processes can fail stop.
Implementation ensures that all live servers print out client messages
in the same order. When a server prints out a message, it sends a commit
message
. The client then prints out a message if at least three servers send a
commit message.
|
Java |
flakenet.zip
|
|
2
|
Tiger |
Complete compiler for Tiger programming language.
Tiger is a Pascal-like language that supports recursion, data
structures, built-in functions. Compiler implements basic lexing/parsing,
type checking, register allocation, and generation of executable code.
|
ML |
tiger.tar.gz |
|
3 |
shttpd |
Implementation
of an asymmetric, event-driven HTTP server daemon. Implements a subset
of HTTP/1.0. Emphasis was placed on efficiency and not functionality. |
C/C++ |
shttpd.zip |
|
4
|
Echo
|
Ecological simulation system based on John Holland's model. Echo is an
abstract world, inhabited by different agents. Agents' behavior is
influenced by their genomes. Agents compete with each other for limited
resources, mate, and mutate. Echo parses Eworld configuration from an
XML file. Various statistics data is collected in the course of
simulation and later outputted on the screen.
|
Java |
To be posted
|
|
5
|
Nibbles
|
Implementation of a popular video game Nibbles. A
snake crawls through the labyrinth, collecting numbers. As it eats up
numbers, it grows in size. 10+ levels implemented. |
x86
assembly |
To
be posted
|
|
6 |
RC |
Rhymations
Creations: a poetry website. A final project for a "Multimedia
Class". Archive includes applet PoemOfTheDay that scrolls a message
across the string. It also includes servlets implementation of a
fully-fledged SQL database. You can see how the website looks at http://www.mycgiserver.com/~aileron/RC |
Java |
rc.zip |
| 7 |
ChessBot |
Trivial
client to analyze mistakes made in chess games. It logs on to
chessclub.com, spawns a process with chess engine, parses the results,
and reports on mistakes made. |
C |
To
be posted |
|
8 |
Medley |
Implementation
of various algorithms: Turing machine simulator, mergesort, text
formatter, tic-tac-toe, topological sort, Turtle language interpreter,
bags data structure, binary search, Eulerian paths, prime factors
package. All algorithms are implemented twice -- once in Perl and once
in Python. |
Perl, Python |
medley.zip |
| 9 |
asm |
Assembler
and simulator for ELI02 (MIPS-like) assembly language. |
C |
asm.zip |

Copyright © 2002 Aleksandr Yampolskiy. All rights reserved.
Revised: February 27, 2002
.
|