Omar Al Zabir

Omar Al Zabir

  • @omaralzabir

London, England

Areas of Expertise:

  • ASP.NET
  • WCF
  • WPF
  • jQuery
  • HTML
  • CSS
  • KnockoutJS
  • consulting
  • speaking
Omar, is the Chief Architect of SaaS Platform at BT, UK. He was the co-founder & CTO of the first Social Web 2.0 Startpage - Pageflakes. He is a Microsoft MVP, 7 times winner. Omar regularly writes at his blog at omaralzabir.com and has 8 popular open source projects.

Building a Web 2.0 Portal with ASP.NET 3.5 Building a Web 2.0 Portal with ASP.NET 3.5
by Omar Al Zabir
December 2007
Print: $44.99
Ebook: $35.99

Omar blogs at:

Debugging Deeper through Reference Source

April 15 2014

A little over a month ago, the ASP.NET team announced several changes and updates to the .NET Reference Source and in this post we are going to discuss how to actually integrate it into Visual Studio so that you can step into the actual .NET Framework source when debugging your applications.… read more

Welcome to the Family, One ASP.NET

April 15 2014

Prior to the introduction of ASP.NET MVC into the .NET Framework in 2009, a .NET developer that needed to create a site or web application had one choice : Web Forms. When MVC came along however, the water became a bit muddled and developers had a major choice to make… read more

Applying Conditional Attributes in ASP.NET MVC Views

April 15 2014

If you have attempted to handle any kind of conditional logic within MVC Views before, you know that the process can often be tricky to get everything to work just right. A feature is present in newer versions of ASP.NET MVC provides support for handling conditional attributes, which might make… read more

Famo.us Guitar Tuner

April 15 2014

The Famo.us JavaScript library was released on 4/10/2014. The idea behind it is simple yet powerful: make HTML5/JavaScript/CSS web pages perform and feel like native mobile apps. There have been many companies that tried and failed to use HTML5 to build apps. Facebook famously decided to ditch HTML5 read more

After 50 years, BASIC still misunderstood !

April 15 2014

It appears that the BASIC programming language has been around a lot longer than most of us have realized. It had its beginnings back in 1964 at Dartmouth College. BASIC has a long and rich history as a programming language, but often today it is viewed as a beginners language… read more

F#17 : Mutable / Ref Cells

April 15 2014

So in the last bog, we wrapped up a part of this series, which was to do with the functional programming aspect of F#. We will now begin the “Imperative Programming” section. This will not be a huge section and will not involve that many posts, and hopefully will be… read more

Getting a RealSense of my status

April 15 2014

Long time readers will have realised that I have been spending a lot of time with the technology that was formally known as Perceptual Computing (PerC). You may also know that this technology is now known as RealSense and that it will be rolling out to a device near you… read more

How to manage learning resources when you are beginner (For programmer/ software developer)

April 15 2014

This article describes how to manage learning resources so that user can get them when they are necessary. read more

C++ Event Framework (EventBus)

April 14 2014

A lightweight synchronous event framework for C++ read more

7 JQuery Best Practices

April 14 2014

7 good practices that cover common scenarios that web developers face everyday read more

CQRS on Windows Azure - The query side

April 14 2014

The query side of the Command Query segregation or responsibility architecture read more

C++ Event Framework (EventBus)

April 14 2014

A lightweight synchronous event framework for C++ read more

JSON Spirit: A C++ JSON Parser/Generator Implemented with Boost Spirit

April 14 2014

A C++ JSON parser/generator written using Boost::spirit read more

Streaming logs with SignalR 2.0

April 14 2014

Implement NLog logging with SignalR read more

2D LUA Based Robot Simulator

April 14 2014

An article on designing your own robot simulator read more

Android development: a Bluetooth label/receipt printing demo

April 14 2014

BtPrint4 A Bluetooth Label printer demo This is my first Android project and I had to learn how to get an Android activity working. I am a Windows Mobile C# developer and had to learn that you have to do many handwritten code in compare to what Visual Studio for… read more

Creating Word documents in .Net using Docentric Toolkit

April 14 2014

Introduction As any other developer who has been involved in writing business applications, I have used different frameworks (and tricks) to generate word reports. It’s usually a roller coaster ride as most of the components and frameworks try to use various inbuilt features from Word (usually read more

Call Cross Domain WebService(asmx) from Jquery with Jqgrid

April 14 2014

How to call cross domain Webserver(asmx) service from jquery and bind the Json result with Jqgrid read more

Emulate Human Mouse Input with Bezier Curves and Gaussian Distributions

April 14 2014

Emulate Human Mouse Input with Bezier Curves and Gaussian Distributions read more

Login with other services to ASP.NET websites with TMS Cloud Pack for .NET

April 14 2014

Login with other services to ASP.NET websites with TMS Cloud Pack for .NET read more

Multithreaded ObservableImmutableCollection

April 14 2014

These classes should solve the multi-threaded issues plaguing the INotifyCollectionChanged classes for good. read more

Chatbot Tutorial

April 14 2014

Tutorial on making an artificial intelligence chatbot read more

Demystifying interfaces in C#

April 14 2014

To clear some of the misconceptions about interfaces read more

ASP.NET Interview Questions for Beginners and Professionals - Part 3

April 14 2014

This post is Part-3 in series of ASP.NET Interview Questions with detailed answers including necessary code examples. Previous parts of this ASP.NET Tutorial series are as follows:Top 10 ASP.NET Interview Questions and Answers for ASP.NET Web DevelopersASP.NET Interview Questions - Part 1 (covering read more

prevent a goback to the previous page and refresh the current page in asp.net 1.0 app

April 14 2014

This article describe a solution to prevent some browser's functionnalities read more

Understanding Normal Forms of Relationship for database

April 14 2014

How to create databese with forst 3 normal forms of relationship read more

Flexible Particle System - Start

April 14 2014

Particle systems are awesome! Not only can you create amazing effects, but you can also optimize code and push even more and more pixels to the screen. This post series will cover how to design a flexible particle system and apply a bunch of optimizations to run it fas read more

.NET Code Dependency Graph Visualization using Force Field Simulation

April 14 2014

Dependency graph is great visual way to examine code and understand the code base without having to look through it. There are number of powerful tools like Visual Studio Ultimate Dependency Graphs or ndepend especially for .NET code. Our Visualization Tool Review on MSDN Channel9: here Download: bi read more

Interview Questions Answers – Windows Communication Foundation (WCF)

April 14 2014

In this article, I have tried to answer all the frequently asked WCF questions in interviews. It helps you not only to crack interviews but to refresh the concepts of WCF programming. What is service ? A service is a unit of functionality exposed to the world. Service orientation (SO) is… read more

Dynamic paging in Entity Framework

April 14 2014

Appropriate query to fetch required no of results from DB instead of getting all at on time for binding controls like Gridview, listview etc read more

Smart pointers for single owners and their aliases

April 14 2014

The missing link for complete memory and pointer safety in C++ read more

XONOR pointers: eXclusive Ownership & Non Owning Reference pointers

April 14 2014

A smart pointer system for safe application development in C++. read more

Closure in JavaScript

April 14 2014

Magic of Closure in Javascript read more

Using stored procedures in Entity Framework Model First Approach

April 14 2014

Before starting with this article I will expect that you have a basic idea on the Entity Framework - Model First approach and its use.Here I am explaining the step by step approach how to use a newly created stored procedure in our C# code through the EntiFramework. Let say… read more

Port a 2D libgdx game to MonoGame

April 14 2014

Port your libgdx games to run in Windows Phone and Windows 8 platforms read more

HashSet that preserves insertion order or .NET implementation of LinkedHashSet

April 14 2014

I was looking for a data structure (under .NET) which will do all tree basic operations (add, contains and remove) in constant-time O(1) and at the same time allow to retrieve elements exactly in the same order as they where added. Some facts I’ve discovered after some googling: There is… read more

.NET Data Structures for Prefix String Search and Substring (Infix) Search to Implement Auto-completion and Intelli-sense

April 14 2014

Sources: https://trienet.codeplex.com/releases Binaries: https://trienet.codeplex.com/SourceControl/latest Review on MSDN Channel9: here Background Typing a complete word in a search box is out. So if you are implementing a modern user friendly peace of software you will very probably need something read more

Enhanced Remedy Macro

April 14 2014

a nice CLI for managing the BMC trouble ticketing service read more

Creating simple Data Layer - boilerplate code (C#, ADO.NET)

April 14 2014

Creating simple Data Layer - boilerplate code (C#, ADO.NET) read more

Understanding & Implementing Singleton Pattern in C++ and C#

April 14 2014

Understanding and Implementing Singleton Pattern in C++ and C# read more

Learning WPF by Playing League of Legends? Well... It's Possible :)

April 14 2014

I've had enough reading WPF tutorials and wanted to test learned skills in a real-life application. As I've always had problems with memorizing LoL items, I thought I could do something about this and kill two birds with a one stone. read more

Practicing Scrum

April 14 2014

Pocker Planning, Estimation, Velocity And Other Scrum Practices read more

MonoGame 3.2 NuGet packages are GO!

April 14 2014

Just over a week ago the MonoGame released the latest full package for the MonoGame framework, now baselined at Version 3.2 MonoGame 3.2 This release brought numerous fixes, improvements and new features to the MonoGame platform and updated the Windows installer that had long needed some love read more

All about XML transformation using XSLT and C#

April 14 2014

XML is a universal format for data exchange, most of the data repository owners store their data in xml format, and apply XSLT to transform the XML from one format to another when required, I came across to a similar project, where we were storing everything in XML and then… read more

An Eye on Refactoring

April 14 2014

Recently I ran across the article, "Is Design Dead?", from Martin Fowler's blog. Martin addresses the common misconception that design is discouraged in Extreme Programming. He describes the overall purpose of design in software and how the design emerges as part of the development phase. As more is read more

Two Level Cascading Drop Down in SharePoint 2013 using SPServices

April 13 2014

How to use cascading dropdown look up in Sharepoint 2013 using SPServices read more

Enhancing SharePoint 2013 Calendar sp.ui.applicationpages.calendar.js JavaScript Functionality

April 13 2014

SharePoint 2013 Calendar - Capturing Render & Resize events read more

Default endpoints and default protocol mapping in WCF 4.0/4.5

April 13 2014

This article describes default endpoints and protocol mapping default behaviors in WCF 4.0/4.5 read more

Dynamic Blob creation and Uploading files

April 13 2014

Check for the containers, add them and create dynamic blobs and upload files, Also check the Exceptions from blobs. read more

Installing Qt on Linux

April 13 2014

A brief step-by-step guide on what is needed to get Qt and the Qt Creator installed on your Linux environment read more