FCI-Helwan blog

Just another FCI-H weblog

Cosmos Operating System

Cosmos is an open source operating system project that aims to be completely implemented in CIL compliant languages, that is currently 100% C#. It signifies everything that is important in Operating Systems: Universalization, Security, and Simplicity.

Design Overview

  • Completely .NET based.
  • Microkernel or close hybrid
  • Configurable using modules
  • Cross platform architecture

User Kit

Build your own shell, build and deploy in 30 seconds or less! See for yourself. The basic steps are:

  1. Install Cosmos user kit
  2. File, New, Cosmos Boot project from within Visual Studio.
  3. Modify the entry point. The default project has just a WriteLine.
  4. Run (F5). Cosmos will now build a boot disk and ask you what emulator to use. Press 3 to use included QEMU, or choose from VMWare, Virtual PC, ISO, PXE and more!

That is all you need to do! User kit tutorial.

Video Demo

Source :- http://www.gocosmos.org/index.en.aspx


April 16, 2008 Posted by | Microsoft, open source | Leave a comment

Wikimania 2008, Alex, Egypt, Call for participation Deadline is drawing near

Wikimania 2008

For those who visit my blog probably you know since long but I just realized that I (myself) don’t visit my friends blogs, for more than a year, may be (long live Google, Reader.. or is it “Don’t”..lol)..

Anyway, I’m just making sure that you know that Wikimania2008 (which will be held on 17-19 July, Alex, Egypt) call for participation deadline is drawing near. It is March 16, 2008.. So if you want to attend as a speaker, hurry up!!

If you rather be a regular attendee -like me 😉– you’ll have to just wait & keep tuned to the event page (that’s http://wikimania2008.wikimedia.org/wiki/Main_Page )..

I waited.. so much for the organizers to make an FB event but they didn’t.. so I’ll 😛 ( as if it’s a must.. lol)

March 8, 2008 Posted by | Announcements, open source | 1 Comment

Setting Up ANT !!!

One of the most boring tasks is to set up ant to work on your computer, it is really a a very boring task that i usually spend a good amount of time doing and if i need to set it up again for any reason i discover that i do not remember and the spaghetti of environment variables begin :S. So, this post is to remind me rather than any body else what i need to do when setting up ANT :).

After downloading ANT, you need to specify some paths in the environment variables in order to work just by writing “ant” on the command line:

-In case you do not know where to find the environment variables :
right click on my computer -> advanced -> Environment variables.

-Make sure you have a JDK installed, and set the variable JAVA_HOME with the installation path of the JDk. e.g; c:\jdk1.6.0_02

– Make a variable named ANT_HOME with the path to installation directory to ant, e.g; C:\apache-ant-1.7.0

– MAKE SURE to add the path to the bin folders of both the jdk and ant to the “path” variable. The “path” variable must contain these two entries:

Hopefully, you will get ANT working by now. If you do not know what ANT is, you can wait to see the coming post :).

March 6, 2008 Posted by | JAVA, open source | Leave a comment

Android – An Open Handset Alliance Project

The Open Handset Alliance (http://www.openhandsetalliance.com/), a group of more than 30 technology and mobile companies, is developing Android: the first complete, open, and free mobile platform.

So there’s no G-phone :(..So what’s new about that..Let me tell you..Cool apps that surprise and delight mobile users, built by developers like you & me, will be a huge part of the Android vision. To support us in our efforts, Google has launched the Android Developer Challenge, which will provide $10 million in awards for great mobile apps built on the Android platform.

For more about Android & to download The SDK check

Android Developers blog,

YouTube channel/User, where u can find many useful videos about Androids & the services already available by the OS & the SDK,

& finally Android community,

November 17, 2007 Posted by | Announcements, open source | Leave a comment

Linux & Open Source Replacments Session by IEEE SB

Click to cheek the full version

October 19, 2007 Posted by | Announcements, JAVA, Linux, open source | 1 Comment

Ubuntu 7.10 after two days

The official site of Ubuntu promise all Linux lover to a new version of Ubuntu, Kubuntu, Edubuntu, Gobuntu, and Xubuntu codenamed “Gutsy Gibbon” throw version 7.10 .

They consider this new release candidate to be complete, stable, and suitable for testing by any user.

The new version 7.10 is scheduled for 18 October 2007 (after two days ) and will have supporting for 18 month only so from users want support for longer time using Ubuntu 6.06 LTS, with security support until 2011 .

October 16, 2007 Posted by | Announcements, Linux, open source | Leave a comment

Best Linux Distribution for Java Development

I’ve spent the last few weeks learning the basics, coding and database development, source control…etc on Linux, as I want to completely transfer to it, that’s why I’m trying as much Linux distros as I can these days (@ home and @ work, trying to spread the open-source word); I tried Ubuntu 7.04 and Fedora 7, and currently downloading openSUSE 10.2, and till now I love Ubuntu and prefer GNOME to KDE, although KDE seems to have nicer visual effects, but I feel much more comfortable with GNOME, anyway, have you got any ideas that might help me find the best distro for development especially with Java? I need a fast and reliable system that doesn’t require much configuration, I’d be grateful if you could provide me with help in that, thanks!

By the way, I have a small – yet annoying – problem in Ubuntu that occurred on my laptop and home PC, and will try to trigger that problem on my work PC tomorrow to help me in choosing my primary Linux distro; when I shut my computer down improperly (e.g. by unplugging the power cable or pressing the Reset button), Ubuntu’s response became much slower than it used to (not just after the following restart, but always)!! Sometimes it returns back to normal (but usually after leaving the computer on for some time), but mostly it makes me want to SMASH MY PC!! I click any icon such as Firefox, Terminal or Thunderbird, gives no response for about 5 seconds and then starts execution!! Any ideas?? I don’t think I’m in the mail group yet, so I’d be grateful if you reply to my post here or e-mail me at aamr@fcih.net, thanks again.

August 26, 2007 Posted by | Linux, open source | 4 Comments

MySQL Server on Ubuntu 6.06 Server and Client on Ubuntu 7.04 Desktop Setup & Configuration For Remote Access

Hello Linux & MySQL users :), this is my first article here, and hope it’s useful! Here’s the scenario I’m trying to achieve: Using VMWare, I set 2 images up, one containing Ubuntu Server 6.06 and MySQL Server, and the other containing Ubuntu Desktop 7.04 and MySQL Client tools, and I wanted to access the server remotely (on the same LAN). Note: you can do the same using 2 separate machines on the same LAN, it’s not different at all. Ubuntu Server doesn’t have a Desktop Manager by default and I used the command line to achieve everything (I set an X-Server and a desktop manager called Icewm up later using this tutorial: https://help.ubuntu.com/community/Installation/LowMemorySystems )

  • MySQL Server

    1. Create a root account password: sudo passwd

    2. login with your root account: su

    3. if you didn’t set a LAMP (Linux, Apache, MySQL, PHP/Python…etc) server, you can download the mysql-server:
      sudo apt-get update
      sudo apt-get install mysql-server

    1. create the root account on mysql-server: mysqladmin -u root password ‘yourpassword’

    2. login to mysql using the root account: mysql -p

    3. create an administrator account that has all privileges of root, e.g.

        GRANT ALL ON *.* TO aamr@’%’ IDENTIFIED BY ‘yourpassword’

    4. exit from mysql: exit

    5. Edit the configuration file of MySQL (/etc/mysql/my.cnf ) to enable remote access to it using any text editor such as vi: vi /etc/mysql/my.cnf

    6. go to the line “bind-address”, press INSERT and change the IP to the IP of the server, e.g. From to

    7. After you complete editing, press Escape, then type :w to save and :q to quit

  • MySQL Client

    1. You can use the Synaptic package manager in System->Administration and search for mysql-client, mysql-query-browser, and mysql-admin and install them.

    2. Launch any of both, enter the username and password of the user you created, and there you go 🙂

August 24, 2007 Posted by | Linux, open source | Leave a comment

Installing Drupal with PHP 5.2, Apache2.2 and MySql 5.0

Drupal is an open source Content management system (CMS) which can create rich content light weight web sites, you can visit www.drupal.org for information about drupal.
This post targets the setup process of drupal on a Windows environment. Linux version of this post will be available soon.

Drupal is based on PHP,simply, it is a framework built using php, so in order to get it working you need to setup the environment suitable for PHP to work.

A- You need:
1- A web server (Apache is recommended for drupal however IIS is supported)
2- PHP itself
3- A data base server (Drupal supports both MYSQL 4.1+ and PostgreSql 7.3+)

1- Apache:
# you can get latest version of apache (2.2) from Here
— Setup:
Apache is very light weight web server with very easy to install procedures.
2- PHP:
# you can download PHP 5.2.3 HERE
— Setup:
It is recommended to download the Zip package and extract it manually to a folder usually C:\PHP

3- MySql:
# Mysql is a very efficient,light weight and easy to use data base server, currently the lastest version is 5.0 and u can find it HERE also you will find a set of usefull tools for mysql such as GUI admin which is very good instead of mysql command line.

B- Setting up PHP to work with Apache:
you need to configure apache to identify .PHP files and to process them upon request, this can be done by:
1- open the directory named Conf in the installation directory of Apache
2- edit the text file named httpd and:
– look for DirectoryIndex and add index.php so it looks like this:
DirectoryIndex index.html index.html.var index.php

– look for Addtype Section and add after the last sentence these lines
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

3- Now you need to load the php module for the apache to deal with, add these lines to the httpd file after the last LoadModule line:
LoadModule php5_module "C:/php/php5apache2_2.dll"
PHPIniDir "C:/php"
# of course directories here are relative.

What wont work:
1- Opening a .php file directly by left clicking it.
for apache to deal with a php file it has to be located in htdocs folder located in the apache installation directory and you can call a .php file by writing this in the address field of your web browser: http://localhost/"filename".php

C- Back to Drupal:
for druapl to start working you have to copy the folder named drupal-5.1 downloaded from drupal web site to the htdocs folder of apache, and type this in your web browser:
a page may appear with the message saying that your web server does provide any data base supported by drupal. How can this happen? we already installed Mysql!!!
The answer is in PHP itself, at this point you may get confused about the reason of that error and you start going in circles and reinstalling apache and PHP as well as mysql, this is not the error…
the problem is simply that mysql module is not installed in php

D- Installing Mysql to work with PHP
1- make sure that u have the Dll files requried for mysql in the ext folder (php_mysql.dll)
2- make sure that php.ini file is present in the PHP folder, AND NOT PHP.INI.RECOMMENDED, rename this to php.ini.
3- php.ini and look for
extension_dir = “.\” and change it to
extension_dir = “.\ext”
4- look for the line extension=php_mysql.dll in the dynamic extensions sections and uncomment it by removing the ‘;’ on its left.

As a basic test, many sites recommend writing a simple php script file the returns php info on your machine and running it to make sure that everything is fine, however, on some machines – including mine- after setting up the mysql module, this simple script does not work. To test, just point to this in your browser http://localhost/drupal-5.1
it is supposed now that you will see a database configuration page with the drupal logo above, this indicates that we are approaching the last step.

E- Drupal into action:
drupal needs a database with full access permissions to manipulate many aspects for building and managing sites, so we need to create a database in Mysql dedicated to Drupal, this can be done by writing some commands to the command line:
1- create a database in mysql for example named “drupaldb”

  mysqladmin -u username -p create drupaldb
2- manage ur database

mysql -u username -p

3- Setting the permissions to the user u created and logged in with to mysql, as this user
name will be supplied to drupal to work with it


TEMPORARY TABLES, LOCK TABLES ON drupaldb.* TO ‘username@localhost’ IDENTIFIED BY ‘password’;

where user name is the drupal user name and password is this user’s password.

now, supply the required information to the database configuration page of drupal, and hopefully every thing works now :).


August 18, 2007 Posted by | Database, Drupal, open source | 5 Comments

Solaris OS, Solaris Express and OpenSolaris

In this post, I want to discuss the main differences between Solaris OS, Solaris Express and OpenSolaris… coz I guess many of you are confusing and thinking that they are the same, and this is wrong.

(Solaris is a computer operating system developed by Sun Microsystems.)

Solaris OS: is Sun’s operating system product, and future versions of Solaris will be based on technology from the OpenSolaris project. Solaris is available as a free binary download.

OpenSolaris: is an open source project created by Sun Microsystems to build a developer community around the Solaris Operating System technology. The project’s goals are innovation, collaboration and the extension of OpenSolaris technology. It aimed at developers, system administrators, and users who want to develop and improve operating systems. OpenSolaris is available for download.

Solaris Express: is Sun’s official release of the OpenSolaris bits as well as additional technology that has not been released into the OpenSolaris source base. It consists of Solaris combined with a range of software (both current and future) to help you evaluate and Sun software as quickly as possible. It is primarily intended for Solaris customers to try out the very latest technology that will eventually be productized by Sun. Solaris Express is updated monthly and is available as a free binary download.

Therefore, Solaris is a product supported by a company; OpenSolaris is a development project run by a community of developers.

Check this site.

March 17, 2007 Posted by | open source, Solaris | 3 Comments