Thursday, February 19, 2009

Sample Project I

Not only because some colleagues advised me to do, but also because i found it a good idea to publish a sample project of each year and/or semester ..

I'll start by this one "Sorting simulator" was done in the second year with my partner Moustafa.

Why I'm starting with that project especially? Because it had many uniqueness properties not in many other projects.

  • It 's UI is inspired from Microsoft office 2007 ribbon.
  • It's UI is developed in SWT library and the program in Java.
  • We used the Hexapixel project.
  • We used the Nebula project (The pshelf on the left).
  • Time of working in this project was directly before the final exams by 2:3 weeks, we felt that we either won't finish the project or it would affect our exams badly, but thank God all are finished and all are over.
Project size:
  • Src directory contains 9 packages.
  • Model package contains 12 classes.
  • UI main class contains 1322 lines.





Notes about the project
  • Worth mentioning that the program can simulate as long list as the screen resolution permits it to do.
  • All actual sorting algorithms are actually finished normally without being disturbed by UI rendering instructinos. How do we simulate then? After each swap of a pair of elements, a new node is pushed to the simulation queue of this sorting type, which (the queue) is popped purely asynchronously by another thread.
  • Why we did that? To make the running time of the sorting algorithm accurate and not affected by simulation.
The source is available to anyone, just send me an email or comment demanding it.

Finally Here are you some screen-shots due to the bad quality video

  • The options panel:
  • The Results panel:

  • The input panel (ribbon oriented):
  • An overall running instance:

Update The project is now opensource.

The age of embedding Web-servers

The last period witnessed a "web-server-mania". Although I'll talk about running my pc as a server but this is not the reason why I say that.
About running my PC as a server it is not very sophisticated and can be done, just five systematic steps
  • Obtain static IP address.
  • Open port 80 (The port responsible for receiving HTTP requests).
    1. Adjust local firewall settings (to let HTTP requrests pass in).
    2. Do port forwarding (To open the port from the network and direct requests to the proper computer - To do it I downloaded the manual of my Router and searched for "port forwarding").
    3. Check the port is opened.
  • Install the server software on the pc; normally the word "Server" refers to two meanings the first: the Computer running as a server and the second: The software that translates clients' requests and reply by suitable responses (like what the browser does on the client side).
  • Register for a dynamic name service; that maps a certain DNS to your static IP address.
But the process even after its success is full of disadvantages, this article which summarizes the drawbacks of hosting on your own PC.


Back to the main thing that made me write this post ..
A Japanese Company called FreeBit had announced an iphone application that "server-ize" the iphone ...

 Yes once this application is installed on the iphone, all PCs can access it exactly like a web server.
Check this post for more information.

From the ability to "attach" the server on my PC to "embedding" it to a pocket device will change many concepts or at least make them more flexible and different from long age they were.

Monday, February 16, 2009

After a semester of being the class representative II

Welcome there ..
34 people had submitted their evaluation for me as their representative.
It has been about 20 hours since number was 34 and it is still 34, It seems that ther will no be any further submission.
Submission is now closed and here are results of the form.

  • Organization, Fairness and being helpful => Satisfying results.


  • Attendence => nearly 50:50 Good : Acceptable
  • Behaviour in problems => Satisfying
  • Decision in case of diffrences in opinion => Very satisfying (a bell shaped curve biased to [shifted towards] students :D).


Check this link to view a detailed version of the results.

I have some comments on the results

  • It is not true that these results refer to the person "Mohamed Abdelatif", it refers to the helpful community lead by Mohamed Abdelatif.
  • I had fallen in mistakes, because I'm a human, the skill (that I'm trying to gain) is decreasing mistakes results, apologize for them and avoid their occurance in the future.
  • I believe strongly in our class, I think we are the most helpful, active and connected class. I do not say that we are in our best state now, but we are better than all other class (at least in our college). That's why I'm enthusiastic and encourage to go on and keep being the representative for the 2nd semester too.
  • The rest of the week is opened for any one who likes to be the class representative, If you wish to be, just send us an email saying why you think that you will be a successful representative. And elections will go on Saturday 21.02.09 (The head of the second week of the semester)

Friday, February 13, 2009

After a semester of being the class representative I

Hi all, back to blogging.
The content of this post is somehow different from others, in spite of having a plethora of ideas and things that I would blog about.
But it is time to evaluate my performance as the class representative for the previous semester.

Note: Submission is now closed