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.

Tuesday, February 17, 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 "Mohammad Mahmoud", it refers to the helpful community lead by Mohammad Mahmoud. 
  • 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

Saturday, January 24, 2009

An aspect of policy


One president of the united states was "swapped" with another from 2 days.
Although I'm not going to talk about the issue from political point of view, but I'll consider what I'll take about an aspect of policy.

In addition to the vast number of ways the inaguration was broadcasted, the Presidential Inaugural Committee (PIC) decided to stream the event live and online on its web site. The surprise that they have chosen to stream the event using Silverlight the Microsoft new technology instead of Adobe Flash.

The other thing that is a point of concern that at 12 am of the cermony day the white house website was "dressed" in a new design and had the new president's face on it. Also check its blog.
Was I fault when I said it is an aspect of policy?

Wednesday, January 21, 2009

New web ideas

Instead of studying algorithms for tomorrow's final exam, I prefered to break the ice of exams days by talking about 2 of these new ideas, I've recently read about
The first is simple; You write a message and determine a distenation email, instead of recieving the message, the distenation will fracly recieve other 2 things: an mp3 attached file and a link to a flash both are audio version of the message. The project launched on Tuesday is called "Blind Speak" is its beta version.



The other thing I would talk about is just a fancy way to preview google search results for a query that is inspired from Linux famous desktop cube.
You can rotate the cube by holding shift + dragging, open a search result by clicking it ..


Sunday, December 7, 2008

Make use of technology, but takecare of your culture

Launched nearly "Google ta3reeb" which converts efficiently the "franco-arab" (a fancy name of Arabic pronounced language written in Latin alphanumeric letters) to real Arabic.


Worth mentioning that the idea is not new, it was previously applied by the Yamli editor, The process is know as "Transliteration".

I'm not saying it is an evil or bad technology, in the contrary the idea appeals to me and helps "franco-arabians" a lot, that's why I wrote about it, but in the occation, I'm advicing those "franco-arabians" -including me :D- to be careful about their culture represented in such a simple thing as catching up with their laguage's keyboard layout.