CENTERPrise - A tool to help manage and allocate invoices across departments of a corporation.
Stack: Python, Flask, JS, jQuery, Bootstrap, PostgreSQL, NGINX
View and manage invoices.

Create and allocated new invoices across departments.

Pharmacy Review Dashboard - A drug recommendation engine for medical professionals.
Stack: Python, Flask, JS, jQuery, Bootstrap, PostgreSQL, NGINX
View and track drug recommendations.

Create and manage recommendation rules.

CBOTracking - A medical billing tool to help manage insurance information for patients.
Stack: Python, Flask, JS, jQuery, Bootstrap, PostgreSQL, NGINX
Get alert updates for patients requiring updates.

Create new residents with dynamic forms.

Manage email alerts and notifications.

GraffitiWall - A highly collaborative social platform for increasing interest in a product
Stack: Flask, HTML5/CSS3, JS, NGINX
Public and private chat capabilities (EventSource long polling)

User editable notepads (heavy use of advanced jQuery and css3)

MS Paint like functionality (HTML5 Canvas, JS, jQuery)

Fine tuned user control capabilities

User generated media

TandemGraph - A Graphical Tool for Modeling String Regularities (Licenced by AFPL) - Documentation
Submission to BIOCOMP09 - The 2009 International Conference on Bioinformatics and Computational Biology (PPT Presenation)
The input for this application was generated using TRED.
Source Code can be obtained from the tandemgraph git branch.
Submission to BIOCOMP09 - The 2009 International Conference on Bioinformatics and Computational Biology (PPT Presenation)


POD - Person of the Day
An entertainment suite of apps for the web and mobile devices written with Django, and the iOS and Android SDKs.


TheChessGame - A GUI interface for a chess playing program.
A chess engine implementation is in progress. Also some networking capabilities are planned to be included in future releases.
Source Code (TAR)
Source Code (ZIP)

MyMissedOpportunities
A twitter clone for sharing your missed opportunities with others. Implemented with Django.

ChessEngine
A chess playing program written entirely in the Haskell programming language.
Uses material values and mobility as factors in evaluating possible moves.
Licensed by GPLv3.
Follow progress @ github.
[ramin@laptop ChessEngine]$ ./Main --+-----------------------+ 8 |BR|BN|BB|BQ|BK|BB|BN|BR| 7 |BP|BP|BP|BP|BP|BP|BP|BP| 6 | | | | | | | | | 5 | | | | | | | | | 4 | | | | | | | | | 3 | | | | | | | | | 2 |WP|WP|WP|WP|WP|WP|WP|WP| 1 |WR|WN|WB|WQ|WK|WB|WN|WR| --+-----------------------+ |A |B |C |D |E |F |G |H | Enter your move (a2 a3) g1 f3 Score: -9 --+-----------------------+ 8 |BR|BN|BB|BQ|BK|BB|BN|BR| 7 |BP|BP|BP| |BP|BP|BP|BP| 6 | | | | | | | | | 5 | | | |BP| | | | | 4 | | | | | | | | | 3 | | | | | |WN| | | 2 |WP|WP|WP|WP|WP|WP|WP|WP| 1 |WR|WN|WB|WQ|WK|WB| |WR| --+-----------------------+ |A |B |C |D |E |F |G |H | Enter your move (a2 a3) d2 d4 Good Move! Score: -13 --+-----------------------+ 8 |BR|BN|BB| |BK|BB|BN|BR| 7 |BP|BP|BP| |BP|BP|BP|BP| 6 | | | |BQ| | | | | 5 | | | |BP| | | | | 4 | | | |WP| | | | | 3 | | | | | |WN| | | 2 |WP|WP|WP| |WP|WP|WP|WP| 1 |WR|WN|WB|WQ|WK|WB| |WR| --+-----------------------+ |A |B |C |D |E |F |G |H | Enter your move (a2 a3) c1 f4 Score: -20 --+-----------------------+ 8 |BR|BN|BB| |BK|BB|BN|BR| 7 |BP|BP|BP| |BP|BP|BP|BP| 6 | | | | | | | | | 5 | | | |BP| | | | | 4 | | | |WP| |BQ| | | 3 | | | | | |WN| | | 2 |WP|WP|WP| |WP|WP|WP|WP| 1 |WR|WN| |WQ|WK|WB| |WR| --+-----------------------+ |A |B |C |D |E |F |G |H | Enter your move (a2 a3)
Ball Aquarium
An aquarium of balls jumping around in random directions at random speeds.

HTML5 Canvas Pattern Animation
Animates a pattern drawing using html5 canvas.
This snippet could be used as an example for creating
the classic snake game.
Three Address Code Interpreter
(See Wikipedia)
Interpretes the following grammar:
Program -> [label:] Statement Program | EOF Statement -> Assignment | print Expression | halt | goto label | BooleanExpr Expression -> Factor | Factor op Factor Factor -> id | boolean | float Assignment -> id = Expression BooleanExpr -> if Expression Statement | iffalse Expression StatementLicensed by GPLv3. Follow progress @ github.
PyBreakout - A python implementation of the classic breakout game.
Source Code (TAR)
Source Code (ZIP)

CnfSatFinder - A brute force CNF satisfiable solution finder running on randomly generated inputs.
(See Wikipedia)
Source Code (TAR)
Source Code (ZIP)
ramin@Desktop:~/py_projects/cnf_finder$ ./cnf_finder.py -clause_size 3 -exp_size 3 -variable_range 3 Generated CNF Expression: (identify(X0) or identify(X0) or identify(X0)) and (identify(X1) or identify(X0) or negate(X2)) and (negate(X2) or identify(X0) or negate(X1)) Solution: None Solving... Executing Iteration: #0, permutation: 000, Mapped Literal List: [[0, 0, 0], [0, 0, 0], [0, 0, 0]] Executing Iteration: #1, permutation: 001, Mapped Literal List: [[0, 0, 0], [0, 0, 1], [1, 0, 0]] Executing Iteration: #2, permutation: 010, Mapped Literal List: [[0, 0, 0], [1, 0, 0], [0, 0, 1]] Executing Iteration: #3, permutation: 011, Mapped Literal List: [[0, 0, 0], [1, 0, 1], [1, 0, 1]] Executing Iteration: #4, permutation: 100, Mapped Literal List: [[1, 1, 1], [0, 1, 0], [0, 1, 0]] Done! (identify(X0) or identify(X0) or identify(X0)) and (identify(X1) or identify(X0) or negate(X2)) and (negate(X2) or identify(X0) or negate(X1)) Solution: ['X0 = 1', 'X1 = 0', 'X2 = 0'] Solution took 0.00139284133911 sec to compute running 4/8 iterations. Architecture run on: Linux Desktop 2.6.27-11-generic #1 SMP Wed Apr 1 20:53:41 UTC 2009 x86_64