Mehdi Fekih's Blog : Software Design

Wednesday, November 08, 2006

Windows Live Messenger 8.1 Beta

The Beta version of the new Windows Live Messenger 8.1 is available for download :



So you can try the new Features :
  • Redesigned, smarter contact cards give you more data about and easier access to your friends
  • Your display name, status and personalization roam with you to any computer
  • Try PC-to-phone calling with two free calls to virtually any phone in the world
  • Better server performance
  • Improvements to automatic updates
  • Improved sign-in performance
Don't hesitate to post your feedbkacks about your experience.

Labels: , ,

Sunday, October 22, 2006

Microsoft Certified Professional

Yes, I finally did it. I'm Microsoft Certified Professional : Application Development Foundation. I passed with a score 929 out of 1000, which is apparently not bad. I failed on several security related questions, but the rest were OK.

I would like to thank Sidi Ali Maelainin -Education and Citizenship Manager Microsoft North Africa- And Rochdi Chakroun (his blog : http://blogs.ugidotnet.org/rochdi) for supporting me.

You can watch my transcript at www.microsoft.com/learning/mcp/transcripts Transcript ID : 741994 , Access Code : MehdiFekih

Next Step, Technology Specialist : Microsoft .NET Framework 2.0 - Windows-Based Client Development 70-526 , so I can get my new Label Microsoft Certified Technology Specialist : .NET Framework 2.0 Windows Applications.

The skills measured by this exam are :
  • Creating a UI for a Windows Forms Application by Using Standard Controls
  • Integrating Data in a Windows Forms Application
  • Implementing Printing and Reporting Functionality in a Windows Forms Application
  • Enhancing Usability
  • Implementing Asynchronous Programming Techniques to Improve the User Experience
  • Developing Windows Forms Controls
  • Configuring and Deploying Applications

Labels: , , ,

Thursday, September 14, 2006

Generic Instantiator

I was involved in a Thread on how to create a generic instantiator. Here is the solution that I proposed, it's quite simple

I assume that CustomClass has a Default Constructor

C#
public static class Instantiator
{
public static GenClass CreateInstance()
{
return (GenClass)Activator.CreateInstance(typeof(GenClass));
}
}
VB.Net
Public Class Instantiator
Public Shared Function CreateInstance(Of GenClass)() As GenClass
Return CType(Activator.CreateInstance(GetType(GenClass)), GenClass)
End Function
End Class


And now how to use the Instantiator :

C#
CustomClass instance = Instantiator.CreateInstance<CustomClass>();
VB.Net
Dim instance As CustomClass = Instantiator.CreateInstance(Of CustomClass)()

Monday, September 11, 2006

Mishap of a motivated student

Just after 2 days when I was back from India, I started preparing a new certification, a Microsoft one this time, the 70-536: Microsoft .NET Framework 2.0 Application Development Foundation.

From Microsoft Preparation guide for the exam, the topic areas covered in this exam are:

  • Developing applications that use system types and collections (15%)
  • Implementing service processes, threading, and application domains in a .NET Framework application (11%)
  • Embedding configuration, diagnostic, management, and installation features into a .NET Framework application (14%)
  • Implementing serialization and input/output functionality in a .NET Framework application (18%)
  • Improving the security of the .NET Framework applications by using the .NET Framework 2.0 security features (20%)
  • Implementing interoperability, reflection, and mailing functionality in a .NET Framework application (11%)
  • Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application (11%)

To start my preparation, first I purchased this book: MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0—Application Development Foundation . I think it's the only book available right now to prepare the certification; it's a good one, very easy to understand with a lot of examples.

Second Step is reading msdn when something is not clear or is confusing, the problem with msdn is that you keep following the links on every page to learn more about the framework then sometimes, you feel like lost and reading about parts which are not included in the exam.

Third Step, participate in forums, this is an essential point especially when you open your Visual Studio and try to help people who nobody resolved their problems. For now I'm participating in a French Forum Developpez.net with my nickname mehdi_tn.

I'm ready right now to go ahead and pass the exam, so last Friday I went to buy my voucher from a prometic center. I knew that the voucher cost is 95 € in Europe, so I brought the equivalent of that amount in Tunisian Dinars hoping, why not, getting a discount or a "student price". Guess what, the voucher price here in Tunisia is about 200 € and no discount was proposed. That was the shock of my life! Just a reminder, the minimum salary rate of a Tunisian worker is 122 €, just to understand how expansive it is, especially for a student.

So as a result, I have to report my exam, just the time to save more money and get my 200 €, until that time I'll have this label in my mind

And hope that in few days, it will take its place just on the top of the java one

Saturday, September 09, 2006

Pictures From My Imagine Cup Experiece

Here are some pictures from my Imagine Cup experience, I think students will be more motivated to start working on after watching them :

My Team Stand

Taj Mahal In Agra, everything is built in marble

The monkey stole a banana from my room :)


Friday, September 08, 2006

Imagine Cup 2006


“Imagine a world where technology enables us to live healthier lives”

This year was my second participation to the Imagine Cup competition, and hopefully I got my ticket to India to participate to Finals as I was the winner of the national competition. This year 42 countries were represented; I was a member of the Tunisian team and also the team leader.

Here is a link in the imagine cup web site to my project description: Advanced Platform For Medical Collaboration. The Photograph of the Team is missed, I think they have got problems to upload it :)

Application Purpose
The application will allow to reduce the number of medical staff attending the operations field by offering doctors a virtual space which will allow them to receive data sent by the doctors located next the patients to analyze them, keep track of the patient status, take decisions and ask other doctors for some contributions, all this by staying at home.

But the purpose of our application is not only to minimize movements. In fact, it gives doctors some comfort and motivates them to become volunteers. On the other hand, the application integrates some intelligent features based on AI. It will implement an aid-decision system that will help doctors in urgent situations to make decisions by invoking them.

The system will compare the analysis with existent ones and will search for similarity based on criteria like pictures and numeric signals.

Implementation

  1. Medical Gate :

The medical gate is developed by ASP.Net and it is offering these principal
functionalities:

  • Subscribing a doctor
  • Communication tools between doctors
  • Taking in patients
  • Accessing to virtual consultation room. This virtual space offers the necessary tools to make a consultation or an analyze (for example a screen to show an electrocardiogram).
  • Submitting a report after a consultation.
  1. Doctor Application

This smart client is realized in C# Windows Forms. This application allows doctors who are near the patients to subscribe them to the platform, they can perform consultations. The doctors must dispose of devices to perform those consultations like an electrocardiograph

The application is offering these principal functionalities:

  • Subscribing patients.
  • Performing consultations.
  • Sending consultations.
  • Receiving results and reports.
  1. Web Services :

The use of web services allows an easier way access to the platform by the doctors using the smart client On the other hand; it will allow other platform (humanitarian movements, independent volunteers,) to use our services and to integrate the community. The web services integrate also all the intelligent process for the aid-decision system.

All the consultations and subscription processes are managed by the Windows Workflow Foundation engine which is a part of the Framework 3.0. The Workflow Runtime is hosted in IIS so it can be invoked by Web Services. The main Web services of our solution are:

  • Subscription Web Service
  • Consultation Web Service

Technical Architecture

The database and the workflow runtime are accommodated in IIS. The Web service offers many connectors to invoke the different Web Methods. The Smart client which is outside part of the Web Service can communicate with database only through the Web Services on the other side it disposes of a small database which contains native data like the list of countries or doctor specialties to reduce the number of calls to the Web Service. The Web application can in one side interrogates the database directly since they are both hosted on the same server, on the other side it can call the web services to interact with the workflow runtime.

I hope you enjoyed Advanced Platform For Medical Collaboration, unfortunately I stopped developing it because I didn’t get any support from any company. But it was a great experience to participate to Imagine Cup. I encourage all students to participate this year. The theme of this year’s Imagine Cup is “Imagine a world where technology enables a better education for all” . Subscriptions are open.

I'll try in few days to post some part of my code especially which concern the Windows Workflow Foundation.

My First Blog

Hello Everybody,

This is my first blog, my name is Mehdi Fekih, I'm from Tunisia, and I'm a software design engineer student at Higher school of computing of Tunis.

I'm
Sun Certified Programmer for Java 2 Platform 1.4, but I'm interested in Microsoft technologies since the release of the first Dot Net FrameWork.

Share this post.