yet another blog about computer, technology, programming, and internet

Sunday, October 29, 2006

GLUT with Visual Studio C++ Express Edition

Sunday, October 29, 2006 Posted by Ismail Habib , 57 comments
OpenGL is one of the most popular graphics library nowadays, we may even say that it is already a standard. This article below explains how to use GLUT with Visual Studio C++ Express Edition:

This document details the steps to get GLUT working along with Visual C++ Express Edition.
  1. Download and install Visual C++ Express Edition from http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
  2. The default install of Visual C++ Express Edition builds for the .Net platform. We'll need to build for the Windows platform since OpenGL and GLUT are not yet fully supported under .Net. For this we'll need the Microsoft Platform SDK.
  3. Download and install Microsoft Platform SDK. Visual C++ Express Edition will need to be configured to build for Windows platform. All these instructions are available here: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ (no longer valid, use http://msdn2.microsoft.com/en-us/express/aa700755.aspx instead)
  4. Now, we'll need GLUT. Download and unzip Nate Robin's Windows port of GLUT from here: http://www.xmission.com/~nate/glut.html
  5. Add glut.h to the GL directory in the platform SDK/include.
  6. In your Visual C++ Express Edition project properties -> Additional Linker Directories add the directory which has glut.lib
  7. Add the glut.dll to the Windows System32 directory.
  8. Your program which uses GLUT or OpenGL should compile under Visual C++ Express Edition now.

Say thanks to Ashwin Nanjappa!

Microsoft Visual C# 2005 Express Edition Programming for the Absolute Beginner Learning C# 2005: Get Started with C# 2.0 and .NET Programming (2nd Edition) OpenGL(R) SuperBible: Comprehensive Tutorial and Reference (4th Edition) 

Wednesday, October 04, 2006

Interesting Article

Wednesday, October 04, 2006 Posted by Ismail Habib 16 comments
Today I found an interesting article explaining .NET (Framework, SDK, IDE, etc). A nice explanation for anyone who wants to know more about .NET

Link: here

What is the Microsoft .NET Framework 3.0?

Wednesday, October 04, 2006 Posted by Ismail Habib , 3 comments
The Microsoft .NET Framework 3.0 (formerly WinFX), is the new managed code programming model for Windows. It combines the power of the .NET Framework 2.0 with four new technologies: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), and Windows CardSpace (WCS, formerly “InfoCard”). Use the .NET Framework 3.0 today to build applications that have visually compelling user experiences, seamless communication across technology boundaries, the ability to support a wide range of business processes, and an easier way to manage your personal information online. This is the same great WinFX technology you know and love, now with a new name that identifies it for exactly what it is – the next version of Microsoft’s development framework.

from .NET Framework 3.0 Community

Monday, September 25, 2006

SharpDevelop 2 vs Microsoft Visual Studio Express

Monday, September 25, 2006 Posted by Ismail Habib , , 11 comments
For those who are thinking about whether you'd like to choose between SharpDevelop 2 and Microsoft Visual Studio Express Edition, here is a comparison table between those two.

Hope it's useful :)

Taken from here


FeatureSharpDevelop 2.1Visual Studio Express Editions
Code auto-completionYesYes
Code syntax highlightingYesYes
Windows Forms DesignerYesYes
Web Forms DesignerNoProvided with Visual Web Developer
Code CoverageYesNo
Unit TestingYesNo
Languages SupportedC#, VB.NET, BooC#, C++, VB.NET, J#
Help documentationNoYes
Plug-in supportYesNo explicit support for plug-ins however third party plug-ins can work with the Express edition.
Insert PInvoke SignaturesYesNo
Testing Regular ExpressionsYesNo
Class ViewYesYes
Solution ExplorerYesYes
Project and Solution File FormatMSBuildMSBuild
Web referencesYesYes
RefactoringsRenameRename, Extract Method
Go to definitionYesYes
Find ReferencesYesYes
Code generationYes. Not as powerful as Visual Studio's Code Snippet Manager.Yes
Object BrowserYesYes
Database ExplorerYes. Lacking support for many database providers.Yes
PublishingNoYes
Data Sources ViewNoYes
Add Data Source WizardNoYes
Document Outline ViewNoYes
ResourcesLocal onlyLocal and project
ActiveX Toolbox ItemsPartial - need to generate .NET interop libraryYes
Integrated debuggerYesYes
Targeting different .NET frameworksYesNo
Code Completion for different .NET frameworksYesNo
ReportingYesYes through the report viewer plug-in
Task ListYesYes
Error ListYesYes
Database Designer ToolsNoYes
Code conversionYesNo
Integrated NAnt supportYesNo
Integrated WiX supportYesNo
Integrated FxCop supportYesNo
Navigation HistoryYesYes
XPath QueriesYesNo
Incremental SearchYesYes
XML documentation preview and generationYesNo

Tuesday, June 27, 2006

Implementing DAL with Microsoft Visual Studio.NET

Tuesday, June 27, 2006 Posted by Ismail Habib , 15 comments
DAL (Database Abstraction Layer) concept is extremely useful, especially when it comes to large applications. However, it has several drawbacks. One of them is that implementing a DAL might require a lot of time. Fortunately, there are some "tools" that allow us to cut the DAL implementation time required.

Microsoft Visual Studio.NET (VS.NET) itself gives a way to implements DAL in your application. As far as I know, VS.NET gives two way to access database. The first one is by accessing it through a SQL command, I call this direct database connection. The other way is by using ADO.NET. As ADO.NET provides several components to access databases, they are adapter and dataset. While adapter is dependent to specific database, dataset is completely transparent to any kind of database. VS.NET implements a dataset as a class that provide several methods to access database. Adapter works as an intermediate between database and dataset. Its implementation contains SQL queries relevant to actions (add, edit, delete) which are going to be invoked from dataset. Remember, this only work if you use database access with dataset manipulation and not direct database access.

Creating a Restore Point Using Windows Management Instrumentation (WMI) and C#.NET

Tuesday, June 27, 2006 Posted by Ismail Habib , , 24 comments
I have tried to find a way to create a restore point in Windows, but no matter how hard I tried, I just can't find the one using C#, one of my favourite language. Sigh, I have to make one on my own :P Windows has something called WMI (Windows Management Instrumentation). It contains a huge classes and objects that allow programmers to do a lot of things, creating a restore point is just one of them.
Here is the source code to create a restore point in Windows:

ManagementScope oScope = new ManagementScope("\\\\localhost\\root\\default");
ManagementPath oPath = new ManagementPath("SystemRestore");
ObjectGetOptions oGetOp = new ObjectGetOptions();
ManagementClass oProcess = new ManagementClass(oScope,oPath,oGetOp);

ManagementBaseObject oInParams = oProcess.GetMethodParameters("CreateRestorePoint");
oInParams["Description"] = "My Restore Point";
oInParams["RestorePointType"] = 0;
oInParams["EventType"] = 100;

ManagementBaseObject oOutParams = oProcess.InvokeMethod("CreateRestorePoint", oInParams, null);


Hope this will be useful. Don't forget to add System.Management as a reference!

Monday, May 08, 2006

Autonomous Object Tracking and Monitoring Using Video Processing

Monday, May 08, 2006 Posted by Ismail Habib 14 comments
Object Tracking and Monitoring is about recovering object's parameters that related to it's shape, position, velocity, etc. This activity could be used for many things. For example: vehicle monitoring and camera surveillance. Autonomous Object Tracking and Monitoring is about making system that simulate human intelligence to do Object Tracking and Monitoring by using Artificial Intelligence. There are two kind of technology that can be used in implementing object tracking and monitoring: Treading & Scale and Image Processing. Despite its complexness, Image Processing has better potential to recover object's parameters to a whole different level than the Treading & Scale technology.

Image Processing technology can be relativily expensive or cheap (compared to Treading & Scale) depending on how it being used. Several issues that goes along with Image Processing technology are: Artificial Intelligence complexness, quality of input device, and machine processing ability. Here, we will only talking about Video Processing and algorithm strategy to implement Autonomous Object Tracking and Monitoring.

There are at least 6 challanges that have to be faced when implementing Autonomous Object Tracking and Monitoring:
- image substraction
- background generation and update
- region finding and filtering
- associating region
- region's parameters
- vehicle identification

I will talk about them later when I'm not too busy (haven't I told you that I'm quite bu...**cough**lazy**cough**? :P)