Khalid Abuhakmeh

How To Tell If A C# Type Is An Implementation Of A Generic Interface

We just released Supurlative and one of my favorite features is Formatters. It gives you the ability to intercept any type and perform custom logic. In our current API work, we wanted to intercept a type that implemented a generic interface. That type is an IRange<T> interface.

To check whether the type we come across is the . . .

Read More

July 26, 2015

Get All Route Names From A RouteCollection - WebAPI

This extension method runs on my tears

We recently released Supurlative, a hypermedia centric url and template generator. Part of generating templates is removing the constraints off of existing routes. To do this accurately without side effects, we need to iterate over each key/route pair and register them into our temporary RouteCollection. Sounds easy right? Well not so much, . . .

Read More

July 22, 2015

Announcing SupUrlative - Hypermedia Url and Template Generators for WebAPI

Links and templates are at the heart of a Hypermedia API. It is important to generate correct resource links in addition to properly defining the capabilities each resources exposes via url templates. ASP.NET WebAPI comes with first class support for generating urls using the RouteCollection class. SupUrlative attempts to standardize the way . . .

Read More

July 21, 2015

ASP.NET MVC Custom Errors Are Broken... But Here Is The Fix

Expectations vs. Reality

Custom error pages are one of the last development items on the creation of an ASP.NET application. During development, we want to see the yellow screen of death early and often to ensure users don't see the error pages at all. I've personally added custom errors to many web applications, and even wrote about it in a previous post.

In . . .

Read More

July 19, 2015

Using HtmlAgilityPack To Strip All HTML Attributes

I've been working with government generated HTML this week.By the looks of it, I assume the HTML I am working with is generated and exported directly from Satan's Word Processor. Here is a small sample of what some of this html looks like.

<table style=\ "\"font-family:Times New Roman;font-size:1em;width:340px;border:1px . . .

Read More

July 08, 2015

An Explanation Of Azure Content Delivery Networks (CDN)

Based on my current understanding

I've spent part of my July 4th Holiday researching Azure Content Delivery Networks (CDN). Let's start with a simple definition of what a CDN is.

A content delivery network (CDN) is a system of distributed servers (network) that deliver webpages and other Web content to a user based on the geographic locations of the user, the origin . . .

Read More

July 05, 2015

Implementing Bootstrap 3 Remote Modal

Bootstrap 3 comes with a lot of value. The modal is an amazing JavaScript component, but comes with a warning of deprecation.

This [remote] option is deprecated since v3.3.0 and will be removed in v4. We recommend instead using client-side templating or a data binding framework, or calling jQuery.load yourself.

The remote feature still . . .

Read More

July 05, 2015


All Categories: c#(2) elasticsearch(2) oss(1) home