• About
  • Archives
  • Categories
  • SudoMe :: A Sudoku Game Solver

    2010 - 07.14

    SudoMe Screenshot

    SudoMe is an easy to use Sudoku game solver which uses mathematical algorithms to solve any given soduko.


    SudoMe V 1.5.2 (Executable)

    SudoMe_src V 1.5.2 (VS 2008)

    Boids :: Birds behaviour simulation in C#

    2010 - 07.14

    Boids Screenshot

    Boids, developed by Craig Reynolds in 1986, is an artificial life program, simulating the flocking behaviour of birds.

    As with most artificial life simulations, Boids is an example of emergent behaviour; that is, the complexity of Boids arises from the interaction of individual agents (the boids, in this case) adhering to a set of simple rules. The rules applied in the simplest Boids world are as follows:

    • separation: steer to avoid crowding local flockmates
    • alignment: steer towards the average heading of local flockmates
    • cohesion: steer to move toward the average position of local flockmates

    src: wikipedia

    How To:-

    Right Mouse Click: Add new Blue Boid

    Left Mouse Click: Add new Red Boid

    What happens next?

    The blue boids try to move in groups – notice they have a limited sight vision! They always fear the red boids so they try avoid them.


    Boids (Executable)

    Boids_src (VS 2008)

    Tutorial: Access Windows 7 New Features In Your C# Applications

    2010 - 06.03

    Ever wanted to create a more attractive applications using those new cool features of windows 7 including:-

    1- Windows Aero Glass (Forms Look transparent to background)

    2- Taskbar Progress (when downloading or copying files)

    3- Taskbar Controls (Try Windows Media Player Play-Next-Previous, when hovering on it’s icon on taskbar)

    4- Icon Overlaying (Think of MSN online-offline-busy icons)


    And Much more…

    [1- Windows Aero Glass]


    WindowsAeroDemo (Executable)

    WindowsAeroDemo_src (VS 2010)

    [2- Taskbar Progress]


    TaskbarProgressDemo (Executable)

    TaskbarProgressDemo_src (VS 2010)

    [3- Taskbar Controls]


    TaskbarControls (Executable)

    TaskbarControls_src (VS 2010)

    Dijkstra’s Shortest Path Calculator in PROLOG!

    2010 - 06.03

    A Shortest Path Calculator for undirected graphs using Dijkstra’s shortest path algorithm in PROLOG


    1- Use left mouse clicks to draw as many nodes.

    2- Use your left mouse button to choose the start node, then the right one on the destination node to draw an edge

    NB. You should specify the weight before drawing the edge

    3- After drawing your graph, you’ll need to choose your destination node using your right mouse button.

    NB. Your start node will be always node ‘a’

    4- Click on Calculate Shortest Path button.


    Shortest Path exec

    A Multilayer Perceptron Library in C# with OCR Demo

    2010 - 06.03

    Multilayer Perceptron (MLP) is a well known field of study in the Neural Networks.

    It’s has been widely used in various fields of machine learning.

    Demo: An Optical Character Recognition (OCR) Demo on MLP library

    Welcome WizardWizard to assist user input for various setup parameters of the MLP.

    Input SamplesSpecify File Path which contains Samples’ Data with an option to normalize those features in the file.

    Desired DataSpecify File Path which contains Desired Data.

    Layers SetupLayers setup, including activation functions and learning rates of each.

    Note that input and output neurons are already pre-calculated from previous 2 wizard steps.

    Additional ConfigSpecifying additional configurations for learning satisfiable conditions.

    Finish WizardFinish Wizard.

    MLP DrawAdditional Option to draw the MLP specified for demonstration purposes.

    Windows 7 SupportLearning in a separate thread with an option to stop at anytime.

    Note that Demo has support for window 7 Aero and Taskbar features.

    GraphLearning error output graph.


    Multilayer Perceptron lib

    OCR Demo

    Security Myth – Funny

    2010 - 05.24

    To Find the key which unlocks her heart you’ll need:-

    1- To understand her encryption algorithm
    2- Find her Private Key
    3- Work hard to decode her cipher
    4- Share the same ‘n’
    5- Get into the same depth level
    6- Make sure you sign her certificate
    7- Never allow a bloody damn non-prime to fall in between!

    Only Then u can hack into her heart ! ;)
    Shady A.

    iCryptography – A C# Cryptography Library

    2010 - 05.24


    [.Net 3.5 Technology Compliant Class Library]
    [Universal Input Validation]
    [Illustrative UI]
    [Different Modes [ASCII/HEX/Binary/File]]
    [All Algorithms Working under optimized Byte Arrays]
    ——[Chapter 2]——
    [1] General Caesar
    [2] Monoalphabetic
    – Random Cipher Generation
    – Validation for duplicates
    [3] Vigenere
    – Auto key & Repeating Key Generation
    – Auto-update
    [4] Playfair
    – Auto-Draw Digram Cipher
    – Auto-Validate Input for duplicates & size
    [5] Hill Cipher
    – Auto-Pad
    – Auto-Draw Key Matrix
    – Validate Sizes
    [6] Rail Fence
    – Draw Tree
    – Auto-update
    [7] Columnar
    – Auto-Divide input across available places
    – Auto-Draw user input text
    – User defined key & Key size
    ——[Chapter 3]——
    [1] DES
    – View all keys
    ——[Chapter 4]——
    [1] Extended Euclids
    [2] GCD
    ——[Chapter 5]——
    [1] AES
    – Different Key Sizes [128/192/256 bits]
    ——[Chapter 6]——
    [1] RC4
    [2] Triple-DES
    ——[Chapter 8]——
    [1] Primality Test
    – Fermat’s
    – Miller-Rabin
    ——[Chapter 9]——
    [1] RSA
    – Generate Random Private Key
    ——[Chapter 10]——
    [1] Diffe Hellman
    [2] ECC
    – Generate Random Private Key
    – Key Exchange
    ——[Chapter 12]——
    [1] MD5
    [2] SHA-1
    ——[Chapter 13]——
    [1] DSS

    This Library is organized by NameSpaces based on chapters from Cryptography and Network Security by William Stallings


    Dll Library [v.1]

    Demo App [v.1]

    Chat Application using WCF

    2010 - 04.01

    Chat Application using WCF NetTcpBinding


    [V.2] 24.05.10

    + Support for (two way) Authentication, Confidentiality & Integrity using RSA Public Key Encryption/Decryption & MD5 Hashing (currently working only for user passwords)


    1- Calculate Password’s MD5 Hash

    2- Encrypt Using User’s Private Key

    3- Append to Original Password

    4- Encrypt whole Packet with Server’s Public Key

    + FIX: Nudge Glitches



    + Support user registeration

    + Support adding contacts using their usernames

    + Allow user to accept or reject adding requests

    + Show user’s contact list showing who’s online and who’s offline

    + Support Contact status

    + Support Contact DP

    + Update status & DP for online conacts

    + Allow sending and receiving text message to and from any online contact

    + ‘Enter’ to send ‘Cntl-Enter’ for new line

    + Toolbar notifications

    + User is writing..

    + Added Icons

    + Added invitations

    + Support sending emotions within text messages

    + Selecting an emotion

    + Auto detect emotions (When writing or copy-paste)

    + Nudge

    + Nudge lock for 1 minute

    + Asynchronous Calls

    + Send offline msgs

    + Show offline messages to the user once s/he goes online

    + Allow sending files (of any type or format) to an online contact (700 MB+)

    + Support Video conversation (each peer sees the other peer’s live camera)

    + Support Audio conversation (each peer hears the other peer’s live voice)

    -> [Security Measures] <-

    + Generate a session key (random number) to be assigned to each online user & used to communication with the server

    + Appending a random number to each contacts’ Display Pictures

    + Generate a random invitation ID foreach sent invitation and store receiver’s response along with the invitation ID


    Registration Window

    Chat Window




    Executables (Host &  Client) [V.2]

    Executables (Host &  Client) [V.1]


    MyShooter – Opengl First Person Shooter Game

    2010 - 04.01

    MyShooter is a first person shooter game developed under C# using Tao opengl library


    MD2 Model loading

    1-    Shotgun

    2-    Opponents

    3-    Bonus packs


    1-    Background music

    2-    Shotgun reloading

    3-    Shooting a bullet


    Skybox is used as an environment for the game that simulates the background world.

    Bill boarding

    Game uses bill boarding technique so that the opponents always rotate to face the hero.

    Bonus Packs

    The opponents leave a health packs randomly when they die and the hero can grab to increase his healthy status.


    The hero can jump to bypass different obstacles.


    Game uses fog technique in order to harden the game level so that far opponents would look foggy.



    Game Manual

    Setup (.MSI)

    Visualize Tool

    2009 - 12.01

    Visualize tool was my final OOP task required.

    It reads any .CS file and parse strings (using simple string operations) in order to extract all classes, attributes & functions present.

    Also it has the ability to determine Access Modifiers, parent / children classes, defined and inherited attributes and functions.


    Visualize Tool

    Download Source File (VS 2008)