• About
  • Archives
  • Categories
  • My interview at Sarmady – A Vodafone Company

    2011 - 09.22
    Howdy People :)
    Loooong time eh? I’ve been really busy lately doing my military service..
    Anyway I’ve intended to blog about my interview at Sarmady – A Vodafone Company. I know I know it has been more than a year now, but I’ve found a text note on my old laptop having those interview questions, so I asked myself why not to share them now =)
    Interview at Sarmady, was basically in 4 phases:-
    Phase 1 (Technical Written Interview):
    Written on a single A4 paper those questions:
    • Difference between Queue and stack
    • Difference between hashtable and array
    • Difference between malloc and new (keywords)?
    typedef struct{
    long date;
    char* name;
    } Actions;
    • Sort the above struct (in a form of Linked List) by date through code or drawing
    I was really worried, because the other candidate wrote much on his paper! I though it was kind of fail for me! :D
    Phase 2 (Technical Oral Interview):
    Next, I met iOS Team Leader – Ahmed Essam. He interviewed me for almost 30 mins asking some technical questions:
    • Define pointer to functions? What is callback?
    • Difference between outer join and inner join SQL statements
    • Why are Design Patterns used? Define Delegation Pattern?
    • How to prevent different processes from accessing the same file at the same time? Mutex, Semaphore.
    • What’s a web service? What’s the difference between SOAP and REST?
    • Talk about your graduation project.
    Phase 3 (Assignment):
    After then, Ahmed Essam asked me to choose one of two assignment projects that can be written under any preferable programming language:
    1. Flickr Image Viewer and Search.
    2. Twitter Client.
    I chose the second Twitter client project, and have successfully submitted SewSew – Twitter Client under WCF, in 2/3 days I remember.
    Phase 4 (HR Meeting):
    It was a very simple meeting with the CTO – Samia Gamal, Mobile Apps. Manager – Ramez Mohamed & HR Manager – Harrison Austins.
    I remember I’ve been asked very general questions about my previous projects, my vision, and how do I find mobile applications interesting and most importantly talking about my GP (Graduation Project).
    I’ve then received an email from Harrison, saying that I’ve been accepted to join Sarmady’s team! =) Hooray ;)
    My Opinion about 6 months working @ Sarmady:
    Shortly – I literally enjoyed every moment I spent there.  I learnt a lot, more than you could imagine! I made lot of friends and contacts (although I was the youngest in there). I’ve been engaged with mobile developers community in the region. Also I’ve attended couple of meetings & seminars..
    Wish you all best of luck in your career ;-)

    My Teapot – An OpenGL 3D Shooting Game w/ src

    2010 - 07.31

    My Teapot is a Projective space 3D Game, the player tries to prevent the collision between the teapot and the red opponents, while go for the green ones.. Also they can shoot any red opponent.

    ..:: Controls ::..

    W – Up

    S – Down

    A - Left

    D – Right

    SPACE - Shoot

    ..:: Download ::..

    Please contact me through email to send you the source code.

    ..:: Prerequisite ::..

    TAO OpenGL Library

    My House – A Basic OpenGL Geometric Drawings…

    2010 - 07.31

    My House is a simple OpenGL animation which demonstrates the power of drawing complex shapes using basic geometry..

    ..:: Controls ::..

    Press anywhere to trigger the animation on!

    ..:: Download ::..

    My House (executable)

    My House_src (VS 2008)

    ..:: Prerequisite ::..

    TAO OpenGL Library

    My Snake… The OpenGL Snake Game w/ src

    2010 - 07.31

    My Snake is the traditional snake game done using C# and OpenGL.

    ..:: Controls ::..

    W – Up

    S – Down

    A – Left

    D – Right

    Any other key to pause the game

    ..:: Download ::..

    My Snake (executable)

    My Snake_src (VS 2008)

    ..:: Prerequisite ::..

    TAO OpenGL Library

    SewSew – The C#er WPF Twitter Client

    2010 - 07.17

    SewSew is a WPF twitter client developed in C# that has many features including:-

    1- Responsive UI in heavy duty operations

    2- Users’ DP and tweet auto-cache

    3- Reply to a tweet

    [Known Issues]

    1- No Arabic/Unicode characters support

    [Download]

    SewSew (executable)

    SewSew_src (VS 2010)

    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.

    [Download]

    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.

    Download:-

    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]


    Download:-

    WindowsAeroDemo (Executable)

    WindowsAeroDemo_src (VS 2010)

    [2- Taskbar Progress]

    Download:-

    TaskbarProgressDemo (Executable)

    TaskbarProgressDemo_src (VS 2010)

    [3- Taskbar Controls]

    Download:-

    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

    [HOWTO]

    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.

    [DOWNLOAD]

    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.

    Download:-

    Multilayer Perceptron lib

    OCR Demo