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:

What is delay signing

June 12 2014

Delay Signing helps us to prevent our application from our own developers. Because our developer knows everything about our application, they know strong key file, dll name, function name etc so they can easily take the strong key file and can place a fake dll, that’s where Delay Signing comes… read more

Fun with Video

June 12 2014

Playing your favorite video all at the same time read more

Publish a form for anonymous users on a public site in Office 365

June 12 2014

CodeProjectIn this article I will demonstrate how to design forms for public sites in Office 365 with help of Forms Designer and make them available for anonymous users. As an example, I will create a simple feedback form and place it onto the Contact Us page. First, we need to… read more

How to move documents using workflow in SharePoint 2013 and Office 365

June 12 2014

In this article I will show how to move documents using SharePoint 2013 workflows. This approach works well for SharePoint 2013 on premise deployment as well as for SharePoint Online in Office 365. I will implement archival workflow as a proof of concept, which moves documents from one document libr read more

What is the difference between strong and weak references?

June 12 2014

We can understand weak reference and strong reference with the help of a windows application which have 1 windows project file and 1 class library. The class library has a very simple class Class1 which has 1 function called callme() which return “I am the real class”. We are invoking… read more

Web.Config is Cached

June 12 2014

There was a question from a student over on the Asp.Net forums about improving site performance. The concern was that every time an app setting was read from the Web.Config file, the disk would be accessed. With many app settings and many users, it was believed performance would suffer. Their… read more

UInt128: Division/Modulus

June 12 2014

Dividing and Modulo with a 128 Bit Unsigned Integer read more

Walkthrough: Making a SetInMotion Device Plugin

June 12 2014

Make a plugin for SetInMotion to talk to a device, and then control it from the entire SetInMotion ecosystem! read more

StopOnFirstBuildError

June 12 2014

Stops a solution build immediately after a project has failed to build read more

CRUD Operations using Partial View and jQueryUI in ASP.NET MVC4 - Part 2

June 12 2014

CRUD Operations using Partial View and jQueryUI in ASP.NET MVC4 read more

IE XML5633 Error when using jQuery.parseXML()

June 11 2014

The HTML returned in the AJAX request was actually invalid XML. For XML5633, IE shows a console error even if it's inside a try/catch block. read more

A Task Scheduler Library for .NET Applications

June 11 2014

This is an alternative for "A Task Scheduler Library for .NET Applications" read more

UInt128: Bit Operations

June 11 2014

Bit Operations on a 128 Bit Unsigned Integer read more

Real-time Tracing With SQL Server Express

June 11 2014

This article explains how to do tracing with SQL Server Express using a desktop application written in C#, .Net 4. read more

Introduction to Unit Testing with: MS tests, NUnit and Fluent Assertions.

June 11 2014

Different ways of achieving unit testing for your projects read more

Export Data from jqGrid into a "real" Excel File

June 11 2014

Easy-to-use library, to export the data from your jqGrid into a real Excel file. read more

AJAX Progress Bar for ASP.NET

June 11 2014

Async Progress Indicator with Messages and OnComplete Event read more

ASP.NET MVC Custom Compare Data Annotation with Client Validation

June 11 2014

This is an tip to add custom data annotation with client validation in ASP.NET MVC 5 read more

Tiny Java Editor

June 11 2014

A simple Java editor developed in C# read more

Do you use {pretty print} ?

June 11 2014

Steve Souders began to describe Web Performance Optimization 10 years ago. WPO is the field of knowledge about increasing the speed in which web pages are downloaded and displayed on the user’s web browser. He wrote and contributed to many books (High Performance Web Sites , Even Faster Web Si read more

Become a Responsible Programmer

June 11 2014

Our job is so … special. Isn’t it? Like me, you may have already been in this delicate situation where one of your friends ask you for help  “I have a problem with program XXX”, “I can’t order an item in this e-commerce web site”, “my computer is slow”…. Could… read more

A Task scheduler library for .NET applications

June 11 2014

A simple task scheduler utility by which you can schedule a task to run at any time or interval. read more

A Simple C++ Class Framework for Services

June 11 2014

A simple C++ class framework for writing Windows services read more

Extract Embedded Files from Microsoft Office Documents

June 10 2014

How to extract embedded files from Microsoft Office documents read more

Admiration for Swift

June 10 2014

Finally iOS developers get a new programming language as advanced as C# and Java read more

Solving Undo/Redo Problems with the MSHTML Editor

June 10 2014

This article presents solutions to problems relating to Undo/Redo when using the MSHTML editor. read more

Code Generator for 3 Tier Architecture

June 10 2014

Code Generator for 3 Tier architecture (for layers) & Stored Procedures (for CRUD operations) based on table design read more

Using LaTeX in articles on CodeProject

June 10 2014

A brief intro to using LaTeX in your articles read more

NBitcoin : How to scan the Blockchain ?

June 10 2014

An efficient and extensible way to scan the Blockchain read more

WPF MVVM Validation ViewModel using IDataErrorInfo

June 10 2014

A base viewmodel implementing IDataErrorInfo read more

An Workaround for Double Click on Treeview Checkbox

June 10 2014

This tip is used to fix a workaround for a bug in double click on checkbox read more

Windows Forms Controls: VB.NET Translucent Control using GDI+

June 10 2014

Build a standard Windows Forms translucent control using GDI+ & VB.NET read more

Copy remote website to modify functionality locally

June 10 2014

A method for duplicating a web page (including all scripts and styles) to run as if it originated from your own server, then modify server-side and client-side functionality afterwards. read more

Export data from jqGrid into a "real" Excel file

June 10 2014

Easy-to-use library, to export the data from your jqGrid into a real Excel file. read more

Secure Spike Engine Websockets with TLS/SSL

June 10 2014

Securing Spike Engine HTTP & Websockets with TLS/SSL layer. read more

MariaDB Galera Replication Cluster

June 10 2014

A very simple replication cluster with MariaDB read more

What is IDisposable interface & finalize dispose pattern in GC?

June 10 2014

Destructor/Finalize can be used to Clean up unmanaged code, but if we use destructor in our .Net application than the number of objects appearing in Gen 1 and Gen 2 is higher than no of objects in Gen 0.This is because when GC runs than it firstly ask to a… read more

jQuery Selector Tester and Cheat Sheet

June 10 2014

I've always appreciated these tools: Expresso and XPath Builder. They make designing regular expressions and XPath selectors almost fun! Did I say fun? I meant less painful. Being able to paste/load text and then interactively play with the search criteria is infinitely better than the code/compile/ read more

That Annoying ASP.NET Issue with Postback

June 10 2014

Arrgh!  I've got an annoying issue in ASP.NET postback:  its not entering the event handler for my button click at all.  Read on to learn how I solved this annoying issue. read more

Unity and C#: Game Loop (Awake,Start,Update)

June 10 2014

Introduction The central component of any game, from a programming standpoint, is the game loop. It allows the game to run smoothly regardless of a user’s input or lack thereof. Every game must and should have a game loop because a game must continue regardless of a user;s input. In this artic read more

How To Perform Drag-Drop Operations on TreeView Control in Windows Forms

June 10 2014

Friends, Drag/Drop functionality is a ease to end user in each and every technology and almost every user is comfortable using the drag-drop feature. In this post we will see how to perform drag and drop operation of nodes in a single TreeView control. There are few events that we… read more

Learning to Like Linq or, Loving the Linq Loquacious

June 10 2014

Once upon a time, long, long ago, I was working at a company that gave their engineers some shiny, state-of-the-art, new-fangled HP calculators. They were awesome; instead of battery-draining LEDs for display, they used something called an LCD. And, they had buttons galore: more buttons than any o read more

Master the Managed Azure Mobile Services Backend–Part Two

June 10 2014

CodeProject In the first part of this series you learned about the basic differences between the JavaScript and the managed backend. This part will introduce you to the basics of ASP .NET and OWIN. You will learn about the MVC pattern, controllers, self-hosting and how all of that relates to… read more

Unity : Porting labs – Takeaways

June 10 2014

On May 28th of this year,I was fortunate and privileged to attend Unity3d Porting Labs held at Microsoft India,Signature building,Bangalore.This was an event targeting  gameDev and hosted mainly for India Gamers Community members . The event had sessions by Microsoft,Dumadu Games and Intel. Session read more

Event Bindings outside of WPF

June 10 2014

Event Bindings outside of WPF CodeProject Code Location The code for this blog post can be downloaded from EventBindingTests.zip. The solution file EventBindingTests.sln is located under EventBindingTests\TESTS\EventBindingTests folder. Introduction Here I continue a series of blog posts about imple read more

Create Image Maps with GIMP

June 10 2014

Having a clickable image in a web page is not a big deal. Having an image in a web page with clickable hotspots is a big deal. The powerful GIMP editor has a tool to make creating clickable hotspots much easier. GIMP stands for GNU Image Manipulation Program. Its home… read more

Conversion Between DataTable and List in C#

June 09 2014

Conversion between datatable and List in C# read more

How to Send Email From an Exception Block in Android

June 09 2014

Simple code to send email which contains Exception text from a Catch Block read more