This blog is subject the DISCLAIMER below.

Thursday, August 23, 2007

FCI-H 1st Java Tech Talks Week



FCI-H 1st Java Tech Talks Week
27/8 - 30/8/2007

Dear all,

FCI-H student’s community is announcing the first JTT week (Java Tech Talks), the week is held in Faculty of Computers & Information Helwan University. It starts on Monday 27/8/2007 and last till Thursday 30/8/2007 @ Hall 1, 10:00 am.


All FCI-H students and fresh-graduates are invited to attend, below is the schedule of the week:

Day 1 (Monday 27/8) - J2SE Talks

Session

Start

End

Speaker

Opening Session: Introduction to java world

10.00

11.00

Youssef Mamdouh

J2SE :The kick start

11.15

12.15

Mohsen Hasan

J2SE: Sockets/XML

12.30

01.30

Mohsen Hasan

Break

1.30

03.00

-

Database programming through JDBC

03.00

04.15

Hossam Sadik

Day 2 (Tuesday 28/8) - J2EE Talks

Session

Start

End

Speaker

Introduction to J2EE

10.00

11.00

Hossam Sadik

Web Application Architecture

11.15

12.15

Youssef Mamdouh

Servlets basics

12.15

01.30

Youssef Mamdouh

Break

01.30

03.00

-

JSP Basics

03.00

04.15

Hossam Sadik

Day 3 (Wednesday 29/8) - J2EE Talks

Session

Start

End

Speaker

MVC Pattern & FrameWorks

10.00

11.15

Youssef Mamdouh

Struts FrameWork

11.30

12.45

Youssef Mamdouh

Introduction to JSF

01.15

02.15

Hossam Sadik

JAVA EE5 & Introduction to EJB 3.0

02.30

03.30

Hossam Sadik

Day 4 (Thursday 30/8) - J2ME Talks

Session

Start

End

Speaker

Introduction to J2ME

10.00

11.15

Mohsen Hasan

Advanced J2ME - Modeling

11.30

12.45

Mohsen Hasan

Mobile Networking

01.15

02.30

Mohsen Hasan

Writing Business Document

02.45

04.00

Mohsen Hasan

.. more.

Tuesday, August 21, 2007

Java EE 5 for beginners


Java EE
(Enterprise Edition) or previously known by J2EE, “The most widespread web-development platform”.


J2EE is a platform-independent, Java environment from Sun Microsystems for developing, building and deploying Web-based enterprise applications online. Java EE platform consists of a set of components, APIs, and protocols that provide the functionality for developing multitiered, Web-based applications.


Although J2EE was mainly designed to simplify application development process in a thin client tier environment, most of the beginners who start learning Java EE complain from the sophistication of platform architecture, terms, interfering of technologies and multiplicity of development environments. Actually these are the other side of coin in open source field, while the increasing of open source development by many vendors strength the platform and introduce better services, the multiplicity of tools and terminologies affect the end developer negatively. Most of beginners get confused about EE with a lot of question they face when start learning, such as where and how to start? Read books (Java how to program, Java core....etc.) or start with web tutorials!, Read in what? Servlets, JSP, Struts, EJB or JSF!!, Which IDE and Application Server? Eclipse with WebSphere, NetBeans with JBOSS or Jdeveloper with OC4J!!. Those were samples of common questions and problems that beginners usually suffer from.


We plan to publish a series of articles which mainly target the beginner developer who want to learn Java EE from scratch, it will be extension to (Explore the Java Platform: Overview, Part I, II and III) written by Youssef Momdouh and it will cover the following:


- Overview
- Java EE architecture
- Platform components (Servlets, JSP, EJB, JSF… etc.)
- API’s specifications, such as JDBC, RMI, e-mail, JMS, web services, XML… etc.
- Application Server configuring and deploying

The series is designed in a simple form to avert the common difficulties which usually face the beginners, each article will describe new concept -according to the course table- followed by applied example. Finally there will be an assignment to test your understanding for the concept, we also will try to help you in troubleshooting as much as we can.


Please, do not hesitate to provide us with your notes, feedback and reviews, to enhance the introduced content and spread the benefits. Wish you find it useful.


References:
http://en.wikipedia.org/wiki/J2EE#Java_EE_5_application_server_certified



.. more.

Saturday, August 18, 2007

SilverLight 1.0 and Silverlight 1.1 Alpha

in the name of ALLAH

Microsoft Announced the Release of SilverLight 1.0 and Announced about SilverLight 1.1 Alpha
This is a pre-release version of Silverlight that developers may use for evaluation.



Download both Version 1.0 and 1.1 for MS Windows and Mac OS x from Here,
Download Some Videos from Here
and FAQ From here

.. more.

Internet Explorer Developer Toolbar

The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. These features enable you to:

The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. These features enable you to:

  • - Explore and modify the document object model (DOM) of a Web page.
  • - Locate and select specific elements on a Web page through a variety of techniques.
  • - Selectively disable Internet Explorer settings.
  • - View HTML object class names, ID's, and details such as link paths, tab index values, and access keys.
  • - Outline tables, table cells, images, or selected tags.
  • - Validate HTML, CSS, WAI, and RSS web feed links.
  • - Display image dimensions, file sizes, path information, and alternate (ALT) text.
  • - Immediately resize the browser window to a new resolution.
  • - Selectively clear the browser cache and saved cookies. Choose from all objects or those associated with a given domain.
  • - Display a fully featured design ruler to help accurately align and measure objects on your pages.
  • - Find the style rules used to set specific style values on an element.
  • - View the formatted and syntax colored source of HTML and CSS.
Click Here To Download ... and Here For More Information

.. more.

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:
http://localhost/drupal-5.1
Ooops,
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

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE

TEMPORARY TABLES, LOCK TABLES ON drupaldb.* TO 'username@localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

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 :).
 



.. more.

Friday, August 17, 2007

Another Solution to DateTime problems (.Net)

Now that I read th last post, I remembered another solution that can be implemented on the Application level rather than the implementing it in your SQL statements,

Of course we have three parts of the problem. The first is how to display dates without any problems; like misinterpretation (dates like 2/3/2007 & 3/2/2007, if you don't know how your DB interpret dates) or throwing exceptions. The second is how to read user-input dates. The third is how to write dates to the DB in the right form & again without misinterpretation.

Displaying dates in the right form:


Remember that the problem is not just about the user misinterpret the displayed date, it's also your problem when you come to next part. for eg when displaying dates for the user to edit.

In this part we have to display the date with an enforced format that's:

string myDateFormat = ConfigurationManager.AppSettings["myDateFormat"];
Date.ToString(myDateFormat);

This way we can enforce the date format we want & also it's just a matter of configuration (just edit the configuration file to change the format of dates across a whole solution without rebuilding).

Reading user-input dates:


Now we come to last part, which much related to the previous part. Now after displaying the dates properly to the users, we need to make sure that the input of the user through editing the displayed ones or just typing new ones won't be misinterpreted. the solution itself comes in two parts:

  1. First, the input field must be validated according to the same format we are using through the solution, better be by retrieving the format string from the configuration file as we did in the previous part (for the same reasons; allowing all-in-one configuration).
  2. Given that that enforced a When parsing the date, use "ParseExact" not "Parse" to parse your date.

DateTime myTime = DateTime.ParseExact(myStringTime, myDateFormat, null);

Writing dates to your DB:


Now that we have the properly parsed date we should format in like the format below while writing to the DB

"yyyy-MM-dd"

Enforce the above format when writing dates to DB. The format is the standard format that won't be misinterpreted by the DB.

Conclusion:


Don't use Date.Pasre(...), unparameterized Date.ToString(), always use Date.ParseExact(...), & parametrized Date.ToString(). This way our application won't be affected by the date format of the machine it's running on or that of the DB server it's communicating with (either on the same machine or not).

.. more.

Solveing DateTime problem (SQL Server)

Are you created a table have a dateTime field before ? Are this field made a problem with your application because both of them have a different format ? if you don't want to change the operating system dateTime format to unify both …..

Read , this article that try to solve this headaches .

By the way , I found two SQL Server functions that may be a way to solve the problem because they provides a number of options you can use to format a date/time string.

  • getdate()

  • convert ( , )

by mixing the usage of both you can get your goal as this :

select convert(varchar, getdate(), 9)

that returns :

Dec 11 2007 11:11:11:111AM

You have many date and time schemes by changing the second parameter in Convert function (use one of the below values to change the format).

Rang (1 to 7 + 10 + 101 to 107 + 110 + 111 ) Date format

Rang ( form 8 + 14 ) Time format

Rang ( 9 or 109 ) DateTime format

Explore this simple Demo :


create table fci_blog_table1
(
z datetime null
)
/*Demo1 ,How to insert */
insert into fci_blog_table1 values ( convert(varchar, getdate(), 1))

create proc fci_blog_pro1 /*to make a stored proceure*/
@x int output
as
select @x = 1
WHILE (@x < style="color: rgb(51, 51, 255);">BEGIN

select convert(varchar, getdate(), @x)
select @x = @x + 1
END

PRINT 'Have a nice time'

DECLARE @TheCount int
EXEC fci_blog_pro1
@x = @TheCount OUTPUT
Select TheCount = @TheCount

.. more.

Thursday, August 16, 2007

Imagine Cup 2008

The Imagine Cup:

The Imagine Cup is one way Microsoft is encouraging young people to apply their imagination, their passion and their creativity to technology innovations that can make a difference in the world – today. Now in its fifth year, the Imagine Cup has grown to be a truly global competition focused on finding solutions to real world issues.

Competition Categories :
Software Design .
Embedded Development .
Game Development .
Project Hoshimi .
IT Challenge .
Algorithm .
Photography .
Short Film .
Interface Design .

For more information visit Imagine Cup web site .
The registration opens in on August 25th.

.. more.

Monday, August 13, 2007

.netBUTTON

.netBUTTON provides real-time dynamic button generation with results that look so attractive it is difficult to believe they were not individually hand crafted in Photoshop .
It works throw Dot Net 2005 ( for both desktop and web application controls ) .
It Supports ASP.NET validation controls .
it Sets text font, size and style along with color, background color and more .
See more features here .



.. more.

Saturday, August 11, 2007

Projects Day @ FCIH

The IEEE Student Branch @ FCIH is holding a Project day for the next year faculty seniors (4th graders) to allow them know about the ideas of FCIH graduates GPs, to inspire them new ideas & allow continuity of already pursued ones instead of reinventing the wheel...

The day will be next Wednesday @ 10:00 am, isA...So please send an e-mail message to m.shady@ieee.org confirming your attendance...

Please, tell your colleges about the day; tell your graduated friends to come to present their projects (please give them the above e-mail address too to confirm their attendance), and students to allow them get the chance to attend the day...

Don't miss the day...Let us all bring the genuine within ;)

.. more.

Thursday, August 02, 2007

Microsoft announced next Windows version just three years away codename "Windows 7"

Microsoft announced next Windows version just three years away codename "Windows 7"

Microsoft Corp. on Friday confirmed an approximate timeline for the next Windows release, seeking to smooth things over with corporate customers stung by its past product delays.
The next version of the flagship PC operating system -- known for now by the internal code name "Windows 7" -- will be released in about three years, according to a series of presentation slides from Microsoft's global sales meeting this week.

more on http://seattlepi.nwsource.com/business/324570_msftwindows21.html

.. more.

FCI-H rocked MIE and EED competitions

FCI-H rocked MIE and EED competitions, as Mr. Amr Ghoniem achieved the 1st place over 8 competitors in post graduation projects, Kernel team achieved the 2nd place in MIE competition and FuTex group achieved the 1st place in EED IT-Computer Science competition.

Excuse me, FCI-H RULES!!

Congratulation all.

.. more.

Friday, July 27, 2007

Visual Studio 2008 codename "Orcas" beta 2 for download



Get an early look at Visual Studio 2008

The next version of Visual Studio, Microsoft® Visual Studio® 2008, will provide an industry-leading developer experience for Windows Vista, the 2007 Microsoft Office system, and the Web. In addition, it will continue in the Microsoft tradition of development language innovation. To enable early feedback, this page provides links to prerelease versions of Visual Studio 2008, and for technologies that we plan to include in it. As previews of additional technologies become available, we will make them available from this page.

You can download Installation Disc Images right now

Visual Studio 2008 Standard Edition Beta 2

Visual Studio 2008 Professional Edition Beta 2

Visual Studio Team System 2008 - Team Suite Beta 2

Visual Studio Team System 2008 - Team Foundation Server Beta 2

Visual Studio Team System 2008 - Test Load Agent Beta 2

MSDN Library for Visual Studio 2008 Beta 2

.. more.

Thursday, July 26, 2007

Channel 8

in the Name Of ALLAH

Everyone knows Channel 9, right? It’s a great place Microsoft built more than 3 years ago for improving their level of conversation between them and developers around the world. Everything is about conversation and absolutely nothing about marketing.

Last year, Channel 10 also debuted online, creating a large community of people with passion for technology. Everything about music, mobility, photography, videography, gaming and new PC hardware/software.

And now, a new channel appears on the landscape: Channel 8. This time focused on the students who want to code, connect and create technology. It will be a place to share both news and experiences, find content of interest to students, and other stuff.

Again, Microsoft launched another website to possibly create even a bigger community.

At this moment, the website is still empty. You can only find a Joe Wilson video introduction to the new channel.

Go check out the interesting design, and check again in the coming months to find how much it will relate to us, the students...

This can be something very uselful for us...


Note : - This Post is one Of Microsoft Student Partners Community Posts

.. more.

Sunday, July 22, 2007

Threading 2

If you don’t know about threading please go and read the first part

In this part we will talk about some light part in threading and a special part for GUI programming, if you work with controls which created by the main thread of your application and want to access them by another thread, if you did, you would get this error “System.InvalidOperationException was unhandled
Message="Cross-thread operation not valid: Control 'Your Control' accessed from a thread other than the thread it was created on.”

This is in debug mode and you can disable this exception by writing this line CheckForIllegalCrossThreadCalls = false;

What I’ve found out that’s .NET don’t treat with Form as a control, in the previous post you cannot get this exception although you access the form from a thread which not the one created by.

Anyway, more than one thread on one the same data == inconsistency, race condition, deadlock lmlmlaa, and you MUST keep that in your mind while working with more than one thread on shared data and try to solve these issues.

You should maintain the consistency yourself but also working by volatile keyword isn’t the good way as MSDN says:
Fields that are declared volatile are not subject to compiler optimizations that assume access by a single thread.

To read more about volatile keyword see this

.NET team created a special component to solve and control this issue (doing some operation on a control created in a different thread) and this is called BackgroundWorker, let’s see how it works.

Drag from VS toolbox ->Components tab ->BackgroundWorker and drop it on your target form.
We almost done :)
Double click on BackgroundWorker to create its default event handler DoWork and call Start method which changes the Text of form to a number each 100 millisecond.

Sample code

.. more.

Saturday, July 21, 2007

Threading

This post for novice C# programmers..

Did you hear about Threading?

If not, let’s read these lines as a brief introduction about threading.

Thread is a tunnel between machine processor and your application. An entire application may contain more than one thread, and thread just owned by one application.Processor communicates with your application or in another manner does some processes needed by your application via main thread if you didn’t create a one by your hand, one thread and processor(s) == one process at time and the problem is here.

Sometimes you need to draw something, say dozens of lines using GDI+ on you form and do something on that time and ….. if you did everything right, let’s press F5, I can tell you what’d happen, your application would be in “Not responding” state until your Draw method exited. After that you’ll see your lines and your application run normally but sure that’s wrong.

So, what happened there were two processes processor did, the first Update method is one used to update application form and the second was Draw to draw the lines, once any change done on the form an event raised to redraw the form using Update method.

So, the solution is very clear is to create another thread; it controls the paint operation and this is good and works well till now.

So, the question is How to create another thread?!!

Just use System.Threading;

Let’s say we are going to draw the lines when the user press button “Start drawing”So in drawBtn click event handler we write this piece of code:

System.Threading.ThreadStart thrdStart = new System.Threading.ThreadStart(Draw);
System.Threading.Thread thrd = new System.Threading.Thread(thrdStart);
thrd.Start();

Sample draw method would be

To download the demo

To be continued…

.. more.

Google Analytics

Google Analytics a free tool from Google that monitor your site traffic. It shows you how people found your site, how they explored it, and how you can enhance their visitor experience.

With over 80 reports, Google Analytics account can track visitors through your site, and keep track of the performance of marketing campaigns - like AdWords campaigns, email campaigns, or any other advertising program. With this information, you'll know which keywords are really working, which ad text is the most effective, and where your visitors are dropping off during the conversion process.

Even if you do not represent a commercial entity...you will find it really amazing...& contains real deep details about your traffic...data fetched by analytics includes a lot of details like:
users languages, network locations, browsers, operating systems, screen colors, screen resolutions, java support, Flash version...etc

For more info...

take a Google Analytics tour:
http://services.google.com/analytics/tour/index_en-US.html

check Google Analytics blog:
http://analytics.blogspot.com/

not to mention Google Analytics itself ;)
http://analytics.google.com/

.. more.

Tuesday, July 17, 2007

“How Do I” Videos — ASP.NET

I've received that from Shawon, .NET Community founder

On this page you will find dozens of videos designed for all ASP.NET developers, from the novice to the professional. If you are new to ASP.NET, you can learn the basics of how to create dynamic web applications with ASP.NET 2.0 and Visual Web Developer 2005 Express Edition, using either Visual Basic or C#. If you have a bit of development experience, you will learn how to employ some of the great new features introduced in ASP.NET 2.0. New videos are added every week, so check back often.

More on http://msdn2.microsoft.com/en-us/asp.net/bb498194.aspx

Thanks Microsoft

.. more.

Friday, July 13, 2007

Microsoft Codename "Grava"

What is "Grava"?

"Grava" is the code name for a new set of tools from Microsoft’s Education Products Group that is designed to allow the education community to create and assemble materials that will increase discovery and allow learners to go at their own pace and learning style. "Grava" tools are scheduled for release in fall 2008.

"Grava" Player—The "Grava" player enables users to view the rich interactive content created in "Grava" Authoring.

Developer Tools—The "Grava" SDK is built on Windows Presentation Foundation (WPF) and provides a programming model and tools for building rich educational experiences.

Authoring—"Grava" Authoring allows users to create interactive and stimulating non-linear projects to view in the "Grava" player.

Services—"Grava" provides an array of services which complement the authoring, SDK and player components. These services include the ability to do assessments, log results, and create intelligent learning solutions.

What does "Grava" offer to the education community?

Whether you are a publisher, software developer, educator or learner, "Grava" offers something uniquely valuable. ....
Read more on http://connect.microsoft.com/Grava

.. more.

Sunday, July 01, 2007

IEEE Job Fair & Student Branch Opening @ FCIH



Student Branch team is honored to invite you, interested FCIH students, and all interested IT firms to join us in our first Job Fair at FCIH, held by FCIH IEEE Student Branch.

The day will witness the Student Branch Opening accompanied by the Job Fair where this year graduates will showcase the most recent graduation projects to be watched and evaluated.

When: Wednesday 11/ 7 / 2007 from 9:00 am to 6:00 pm

Where: Helwan University Conference Center

As you are probably familiar with previous Job Fairs, our fair will allow you to showcase your graduation projects (GP) to Software houses, & IT companies, etc representatives. Not to mention, that you may submit your CVs to some of these companies, too.
You can download the registration here, take a look at it and get back with us (at the contacts mentioned below) if you would like assistance with registering or if you have any questions.Register and show case your project, learn to present your work through real experience, gain job-related skills, enhance your resume and may be you can go back home employed!

For interested FCIH students:
Interested!!?? Come & join us and check your colleagues show case their projects, witness the Student Branch official launch, gain job-related skills, meet with representatives of a bunch of companies in the field and maybe you can go back home with an internship offer!
For interested firms:
Please check the contacts below for any inquiries about attending or sponsorship.For any further inquiries:Contact Student Branch team on sb.fcih@ieee.org or you may check www.fcih.net/ieeesb for more information

.. more.

Saturday, June 30, 2007

How to Play Flash (SWF) inside C#

Playing Flash (*.SWF) inside C# program with the ability to play ,pause and forward the movie :

All what you should to do in the first is to import the this two reference in the project as in this figure .
In the InitializeComponent function from Form.Designer.cs define your flash object as this :

this.AxShockwaveFlash1 = new AxShockwaveFlashObjects.AxShockwaveFlash();
then
//
// AxShockwaveFlash1
//
this.AxShockwaveFlash1.Enabled = true;
this.AxShockwaveFlash1.Location = new System.Drawing.Point(12, 12);
this.AxShockwaveFlash1.Name = "AxShockwaveFlash1";
this.AxShockwaveFlash1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("AxShockwaveFlash1.OcxState")));
this.AxShockwaveFlash1.Size = new System.Drawing.Size(525, 266);

To fill your Flash Object by SWF file:
AxShockwaveFlash1.Movie = “c:\ahmed.swf”;

To forward or pause the flash object :
AxShockwaveFlash1.Forward();

To Play the flash object :
AxShockwaveFlash1.Play();

.. more.

Thursday, June 28, 2007

Silverlight for Linux [Moonlight Project]

Posted by: Jack Vaughan on June 25, 2007 DIGG
Miguel de Icaza and his Mono project cohorts have quickly produced an implementation of Silverlight for Linux. The effort is called Moonlight.

Silverlight is an extended subset of the 2.0 .NET framework that can support rich media on multiple browsers and platforms.

Various developers worked intensely to create the first version of Moonlight, which de Icaza demonstrated at a European Microsoft MIX event last week.

de Icaza blog on Moonlight


Moonlight Project page

.. more.

Tuesday, June 19, 2007

Microsoft Code Name "Acropolis"

Brief Description
Microsoft Code Name “Acropolis” is a set of components and tools intended to make it easier for developers to build and manage modular, business focused, client applications for Microsoft Windows on the .NET Framework

Overview
“Acropolis” builds on the rich capabilities of Microsoft Windows and the .NET Framework, including Windows Presentation Foundation (WPF), by providing tools and pre-built components that help developers quickly assemble applications from loosely-coupled parts and services.

Download http://www.microsoft.com/downloads/details.aspx?familyid=72386ce5-f206-4d5c-ab09-413b5f31f935&displaylang=en&tm#AffinityDownloads

.. more.

Friday, June 15, 2007

Photosynth




Photosynth is a collaboration between Microsoft and the University of Washington based on the groundbreaking research of Noah Snavely (UW), Steve Seitz (UW), and Richard Szeliski (Microsoft Research).


The Photosynth Technology is a taste of the newest and most exciting way to view photos on a computer, yet ,uptil now, a bit slow even for DSL users. The software takes a large collection of photos of a place or an object, analyzes them for similarities, and then displays the photos in a reconstructed three-dimensional space, showing you how each one relates to the next.

You can access gigabytes of photos in seconds, view a scene from nearly any angle, find similar photos with a single click, and zoom in to make the smallest detail as big as your monitor.

On the project presentation on TED talks*, You can see how Photosynth really collaborates the images contributed by of thousands of people enriching the value of each with the value added by networking all these images together...

Here's the main site for Photosynth by Ms Live Labs
Where you can have a try also have a blog & other nice stuff to check...& Guess what It even works on firefox quite well, actuall on my PC I it didn't even work on IE6 just on Firefox. You may be asked to download and install a couple of things

*Also here's a presentation for the project on TED talks
You can watch it in browser or download it in MP4 format...


ENJOY!!!

.. more.

Thursday, June 14, 2007

Wireless Security

Wireless technologies have been growing fast in the last decade, which has introduced a wide range of attacking threats. Corporates or individuals that use wireless technologies should be aware of the consequences of using unsecured wireless devices.

To introduce the possible well-known threats, the Evil Twin threat is the perfect start.

The Evil Twin is one of the most popular threats to Wi-Fi users (also known as WiPhishing). It's an access point that replicates another network name, pretending to be that specific network. Some users find unsecured networks connections and think that it’s just another lucky day; actually its not!! Evil Twin typically awaits users that sign into that false access to do the desired attack on the user. Applications, which automatically detects the change of security settings prevents such attacks, are published and easy to use. Or simply stay away from unsecured wireless networks.


The Promiscuous Client (sniffer) is very similar to the Evil Twin. The thing is that it is not based on fooling a user that finds a free unsecured network, it forces him to connect to it. The Promiscuous Client is simply a user roving around armed with a Wi-Fi enabled laptop, a strong Wi-Fi sensor and directional antenna creating a wireless access point, Offering an irresistibly strong signal. 802.11 wireless cards often look for a stronger signal to connect to, so Promiscuous Clients simply transmit their wireless traffic through their fake access point, making their data transmissions accessible to others and their networks vulnerable to potential attacks. It is suggested to use a wireless "sniffer" that can help in monitoring and testing the network airspace.

Bluejacking and Bluesnarfing is all about attacking the Bluetooth wireless technological devices. It’s extremely dangerous to leave the Bluetooth device connection open, where Bluejacking, for instance, allows unauthorized users to send unsolicited messages to the Bluetooth-enabled phone. Bluejacking doesn’t really cause any harm, howerever, it can cause the client to panic or even think that the device is malfunctioning. Bluesnarfing is another Bluetooth threat, but in a harmful way, not like the Bluejacking. Bluesnarfing can steal data from the device. Bluesnarfing can only be controlled by stopping any incoming requests through pairing devices, allowing the trusted devices only to get access to the data. The problem with those attacks is that they are untraceable, so the user is the only one that can protect him from them.

Wireless network viruses (mobile viruses) are electronic viruses that targets wireless-enabled devices. It has become very difficult to secure the devices against attacks in the form of viruses or other malicious software (malwares). Wireless viruses are different than normal viruses, they can detect inner wireless networks, spread among them, attack and harm. To avoid this, install suitable antivirus and keep it up to date constantly.

Defending the threats:
1- WPA or WEP for access control and privacy. WPA and WEP are technologies that encrypt traffic on the network, where all the systems using that network need a key (password) to access it.

2- End to end encryption where encrypting at the network level only isn’t enough, so end to end encryption (typically SSL) is needed for privacy. The thing is that the entire conversation between the client and server is secured, not just the connection.


For further readings:
http://techdir.rutgers.edu/wireless.html http://www.microsoft.com/smallbusiness/resources/technology/broadband_mobility/6_wireless_threats_to_your_business.mspx http://www.wikipedia.com/

.. more.

Thursday, May 31, 2007

Microsoft Surface


Microsoft Surface is a forthcoming product from Microsoft which is developed as a software and hardware combination technology that allows a user, or multiple users, to manipulate digital content by the use of natural motions, hand gestures, or physical objects. It was announced on May 30, 2007 and is expected to be released by commercial partners in November 2007. Initial customers will be in the hospitality businesses, such as restaurants, hotels, retail, and public entertainment venues.

Visit: http://www.microsoft.com/surface

.. more.

Sunday, May 27, 2007

Microsoft Codename "Astoria"

What to know about Astoria
The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within corporate networks and across the internet. The data service is reachable over regular HTTP requests, and standard HTTP verbs such as GET, POST, PUT and DELETE are used to perform operations against the service. The payload format for the data exchanged with the service can be controlled by the client and all options are simple, open formats such as plan XML and JSON. The use of web-friendly technologies make it ideal as a data back-end for AJAX-style applications, Rich Interactive Applications and other applications that need to operate against data that is across the web.

To know more
http://blog.programmableweb.com/2007/05/01/microsoft-astoria-for-web-data-services/

To download the CTP: http://www.microsoft.com/downloads/details.aspx?FamilyId=1B6F85BC-8933-4D0E-A639-934EF85ADCE1&displaylang=en

.. more.

Friday, May 25, 2007

Eclipse


Eclipse is a wonderful Java development tool, that i recommend all of students to use to develop their own code.

Eclipse is open source environment that give a great power over any other Java development tools in market.

Eclipse has a wide variety of plug ins starting from UML editors till visual editors.
http://www.eclipse.org/

.. more.

Monday, May 21, 2007

Microsoft Popfly



in the name of ALLAH

Popfly is the fun, easy way to build and share

mashups, gadgets, Web pages, and applications. Popfly consists of two parts:

1 : - Popfly Creator is a set of online visual tools for building Web pages and mashups.

2 : - Popfly Space is an online community of creators where you can host, share, rate, comment and even remix creations from other Popfly users.



To know more about MS Popfly visit Popfly homepage or the FAQ Press here
to Download MS Popfly Click here to download.

.. more.

Thursday, April 26, 2007

Windows Server® Code Name "Longhorn" Beta 3

Windows Server® Code Name "Longhorn" Beta 3 are now available for downloading

"Windows Server "Longhorn" Beta 3 provides developers with the most secure, flexible and connected web and applications platform, reducing the time to craft high-performing, standards-compliant applications and make network services available remotely"

Download now : http://msdn2.microsoft.com/en-us/evalcenter/bb383571.aspx

.. more.

Friday, April 20, 2007

MS SilverLight

in the name of ALLAH

few Days ago , MS announced the release of MS SilverLight. So
what is MS SilverLight ?
Microsoft Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web.

Is Silverlight free?
What is the long-term vision for Silverlight?
Can I deploy Silverlight-based applications with the CTP?

to know the answers of this questions and to know more about it Press Here
or Here to The Official site

.. more.

Saturday, March 31, 2007

MDC 07 's Videos

MDC 07 's Videos are available right now on Barmagy

.. more.

Wednesday, March 21, 2007

Microsoft Robotics Studio Learning Materials

Microsoft Robotics Studio Learning Materials

http://msdn.microsoft.com/robotics/learn/On_Demand/default.aspx


On-Demand Video Tutorials


Architecture Overview
This session will go into depth on the underlying Microsoft Robotics Studio services-oriented runtime. Learn how the concurrency library makes asynchronous application development simple, and how the services and message-based architecture make it easy to access the state of a robot’s sensors and actuators with a Web browser.
Presenters: George Chrysanthakopoulos, Henrik Frystyk Nielsen

Launch Video

Visual Programming Language (VPL) 1
Learn about the Microsoft Visual Programming Language, an application development environment designed on a graphical dataflow-based programming model rather than control flow typically found in conventional programming. Using specific examples, you will learn how VPL can be useful for novices with no programming experience, as well as for professional-level robotics application prototyping.
Presenter: Andreas Ulbrich

Launch Video

Visual Programming Language (VPL) 2
This session builds on VPL1 and features a more advanced example. It demonstrates how to write a simple autonomous behavior for a robot, illustrates how to factor the behavior into multiple VPL activities, and shows how to work with data collection from robots. This session also outlines how to run the same VPL program in simulation and on a real robot.
Presenter: Andreas Ulbrich

Launch Video

Microsoft Robotics Studio- Simulation
Learn about the Microsoft Robotics Studio Simulation environment, a 3-D tool that simulates robotics applications in physics-based virtual environments, using the licensed PhysX™ engine from AGEIA™ Technologies Inc. This session will provide an introduction to the simulation runtime, show how to compose entities with simulation services and create a simulation environment. It will also show how to simulate joints and articulated arms.
Presenter: Kyle Johns

Launch Video

Microsoft Robotics Studio- Robotics Tutorials
This session, based on the robotics tutorials included with Microsoft Robotics Studio, will show how to create a service and coordinate between services. It will also provide an overview of manifests, contracts used to specify robotics hardware.
Presenter: David Lee

Launch Video

Microsoft Robotics Studio- Services Tutorials
This session, based on the services tutorials included with Microsoft Robotic Studio, will provide an overview of how to create a service, update the state of a service and persist the state of a service.
Presenter: Paul Roberts

Launch Video

Microsoft Robotics Studio- Controlling Simulated Robots Using VB.NET
This session will provide an overview on working with Microsoft Robotics Studio using Visual Basic .NET. Learn how to create a windows forms project and a user interface to drive a robot. It will also show how to start the simulation environment and connect the UI to perform the correct actions.
Presenter: Pavel Khijniak

Launch Video

Microsoft Robotics Studio- Controlling Simulated Robots Using Iron Python
This session will provide an overview on working with Microsoft Robotics Studio using Iron Python. Learn how to create a windows forms project and a user interface to drive a robot. It will also show how to start the simulation environment and connect the UI to perform the correct actions.
Presenter: Pavel Khijniak

Launch Video


(Hint: This articles copied from Microsoft Student-Partners website.)

.. more.

Saturday, March 17, 2007

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.

.. more.

Wednesday, March 14, 2007

Using Google Spreadsheets APIs in C#

in the name of ALLAH

Good news for C# developers using Google gData API platform
C# library download have been updated to include C# client libraries
for using the new Google Spreadsheets API .

Good Luck.

.. more.

Saturday, March 10, 2007

Linux Tip #4 : Virtual CD

Indeed sometime you have faced the situation that you have an ISO image and you want to use it as an actual CD but without burning it to a real CD. In windows you need to get some software to do that for you that usually create a virtual device etc.

In Linux you can do with a single line, mounting it to a folder.

Here's the command:
sudo mount -o loop -t iso9660 CD_IMAGE.ISO /path/to/folder

You give it the ISO file name and the path to the folder where you want to access it and it's all done for you! No device naming (A: G: I:...) required, no max number of virtual CD-ROM devices, none. Just that simple.

Enjoy.

http://www.linuxhelp.net/linux_downloads/

.. more.

Sunday, March 04, 2007

Linux Demo Week @ FCIH by SU

Students United is proud to announce the launch of Linux Demo Week. Hope that you all come and see Linux live in action


SU_Linux

.. more.

JavaSpaces-The Big Picture

JavaSpaces
The big picture


introduction
JavaSpaces is a technology that is mainly directed for parallel processing environments, although it is not a heavy used technology, it is very effective in terms of usage and performance.
you can think of JavaSpaces as a client/server map that contains data waiting for processing; these data have a set of defined rules that controls how these data can be accessed.

JavaSpaces has many usage scenarios, for example; a job producer program, that simply produce task list that needs to be handled by different processors in a parallel enviroment, JavaSpaces allows a high-powered CPU to grab a complex task and another Low-powered CPU to execute less complex tasks.

Getting into action
JavaSpaces is built on JINI, so the first approach to try JavaSpaces is to download JINI starter kit which contains sun's implementation of JavaSpaces called OuTrigger. Another better implementation of JavaSpaces is Blitz, which is much more effective and easy to use than Outrigger, however, blitz is an addition to JINI, that means it is downloaded separately.

Query by example (QBE)
JavaSpaces uses a simple but a smart way for data retrieval called Query By Example ( QBE ). QBE is another language for querying to create and modify relational data, it is different from other query languages in having a GUI that enables users to create example tables on screen.
we will not go much deeper in explaining QBE, but lets say it is a simple way of data access that adds a lot to JavaSpaces. for more information about QBE click here.

Using JavaSpaces
To use JavaSpaces you need first to have an instance of a JavaSpaces implementation to be running to provide a working JavaSpaces workspace to deal with.Once the JavaSpaces implementation is running it is very easy to add entries to it.

Entries in a JavaSpace are basically simple Java Objects that follow a few simple rules:
  • All data persisted in the space must be exposed in public fields.
  • The Entry interface must be implemented. This is a marker interface, requiring no methods to conform to the interface contract.
  • Objects must be used for the properties (i.e., no primitive fields.).
An entry can contain data and/or functionality, and can implement any interface or class that conforms to the requirements for JavaSpaces. Thus, a fairly common pattern is:
  • Implement a Command interface in an Entry, along with any data required to perform the command
  • Store the Command into the JavaSpace
  • Have a computing resource retrieve the Command and execute it, storing any results back into the JavaSpace for consumption if necessary
Connecting to a JavaSpace is very simple, either by using the simple Lookup class to search for JavaSpace05.class which will return a reference to the first JavaSpace it finds or by using methods provided by the JavaSpaces implementation it self (if it is available).

There are five basic operations associated with JavaSpaces. They are:
  1. Read an entry matching a template, leaving it in the JavaSpace
  2. Take an entry matching a template from the space, removing it from the JavaSpace
  3. Write an entry into the JavaSpace
  4. Register a callback for events in the JavaSpace
  5. Issue an event in the JavaSpace
Templates in JavaSpaces are instances of classes implementing the Entry interface (i.e., they're entries) that use “null” as a wildcard. Thus, if an Entry implementation has string properties A, B, and C, a template might populate A with “data” while leaving B and C null; a take operation would retrieve the first entry of that class that had “data” in the “A” property. (The list form of take() would return all entries that had “data” in the “A” property.)

References
TheServerSide
WikiPedia - the free encyclopedia

Links
You can Download Blitz here.

.. more.

Saturday, March 03, 2007

Turn off your monitor via code (C#)

In the name off Allah ,

How to turn off your monitor via code?
This is an important question at least to me , because I use my computer for long time daily and frequently turn on and off the screen as a way to save energy and power .
I hate to make that by using the monitor button(off/on) , because I hear sound from the monitor feel me that the screen may damage .
So I will inform you here , How to turn off your monitor via code ( C# ) ?

I will code that depending in API called SendMessage function it’s useful to handle monitor states - the display is going to low power, the display is being shut off and the display is turned on .

Syntax :
LRESULT SendMessage( HWND hWnd, UINT Msg,WPARAM wParam, LPARAM lParam );


Parameters:

  • # HWnd (first paramter)
    Handle to the window whose window procedure will receive the message. If you don't want to bother creating a window to send the message to, you can send the message to all top level windows (HWND_BROADCAST) or you can use GetDesktopWindow function sending the message to the desktop window.
  • # Msg (second paramter)
    Specifies the message to be sent (WM_SYSCOMMAND).
  • # wParam(Third paramter)
    Specifies additional message-specific information (SC_MONITORPOWER).
  • # LParam (last paramter)
    * 1 - the display is going to low power.
    * 2 - the display is being shut off.
    * –1 - the display is being turned on (undocumented value).

Start the coding now :

First of all you should use
using System.Runtime.InteropServices; //to DllImport

public int WM_SYSCOMMAND = 0x0112;
public int SC_MONITORPOWER = 0xF170; //Using the system pre-defined MSDN constants that can be used by the SendMessage() function .


[DllImport("user32.dll")]
private static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);
//To call a DLL function from C#, you must provide this declaration .


private void button1_Click(object sender, System.EventArgs e)
{

SendMessage( this.Handle.ToInt32() , WM_SYSCOMMAND , SC_MONITORPOWER ,2 );//DLL function
}
attached at this link the source code .
http://www.4shared.com/file/11593987/2d23f157/Turn_Your_Monitor_BY_Essawy.html

.. more.

Friday, March 02, 2007

Windows Presentation Foundation Part 3

In this post, I will speak about a new technology that is subset of WPF. It is called WPF/E that stands for Windows Presentation Foundation Everywhere. In the last post , I spoke about the WPF features. One of the most important WPF features is the deployment feature that helps WPF to offer XAML Browser Applications (XBAPs) besides standalone applications.

XBAPs are programs hosted inside a web browser such as Internet Explorer and help web applications to provide large WPF features to the users. So we have to install WPF on the client machines at first to use XBAPs.

But, the problem was: how building and developing web applications that must be accessible from other systems that don't support WPF and at the same time with great and modern interfaces like ones developed using WPF?!!!

WPF/E solved this problem as it provides subset of WPF features such as video, text, images, vector graphics and animations to different client platforms including the Macintosh, smaller devices and others and to multiple operating systems including Windows Vista, Windows XP, and Mac OS X and also to different Web browsers including Internet Explorer as IE6, IE7, Firefox , Netscape and Apple Safari.
WPF/E is based on XAML and JavaScript. WPF/E and WPF only share XAML presentation layer.

WPF/E provides video and audio as WMV, WMA and MP3.So, now using WPF/E enables you easily to stream interactive video to any browser without requiring any additional install or runtime as example: Windows Media Player is not required.

WPF/E also enables developers to easily integrate it within existing HTML pages and sites.
To enjoy with WPF/E, Download WPF/E" (codename) Feb 2007 CTP:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E63992D3-CCF5-40B9-B98A-D16BCA57467C&displaylang=en#QuickInfoContainer

To know more about WPF/E and watch more demos and samples, follow this link:
http://www.microsoft.com/design/Voices/Detail.aspx?key=better_web_wpfe&voice=wpfe

.. more.

Try Visual Studio 2005 for free

By the way ,I found Visual Studio 2005 offers many ways to discover the new features included in this release as time-limited trials to online hosted experiences,. From a comprehensive tools platform to reduced development complexity and improved team communication, Visual Studio 2005 continues to lead innovation in developer productivity. Many trials are fully functional, giving you the opportunity to evaluate the product to see how it can work for you and your organization.

Download Visual Studio 2005 Express Editions
Visual Studio 2005 Professional Edition 90-Day Trial
Visual Studio 2005 Team Suite 180-Day Trial
Visual Studio 2005 Team Foundation Server 180-Day Trial
Visual Studio 2005 Team Edition for Database Professionals Trial
Visual Studio 2005 Team Test Load Agent
Visual Studio 2005 Online Hosted Experience
Visual Studio 2005 Virtual Images

.. more.