Monday, August 28, 2017
Digital Image Processing in a minute!
Digital Image Processing
What
is DIP?
Why DIP?
Processes
inside DIP:
Conclusion:
References:
Sunday, July 23, 2017
How to intercept HTTP request? asp.net core, IHTTPModule, middleware
Asp.net core is a brand new, open source and cross
platform framework for building modern internet applications. Unlike its
predecessor Asp.net core is lightweight, robust, fast (Kestrel Web server), and
cloud ready.
Asp.net core
is designed to integrate seamlessly with varieties of client side frameworks like
AngularJS, ReactJS, KnockoutJS …
Modern
internet applications communication language is HTTP. So you will came across
many scenarios to intercept client’s HTTP request and process it. I will explain
a real scenario, “As part of application authentication, you have to make sure user\company
employee must be logged into their corporate network/global login before
accessing application.”
In Asp.net
core Middleware’s replaced IHTTPModule
and IHTTPHandler. Middleware is an application pipeline to
handle request and response .
I will
quickly walk through you the code snippets:
a
First create two class as below
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace WebApplication5.Middleware
{
public class CustomMiddleware
{
private readonly RequestDelegate
_next;
public
CustomMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
string
companyAuthCookie = ApiHelper.GetConfigValue("companyAuthCookie");
bool securityEnabled = bool.Parse(ApiHelper.GetConfigValue("SecurityEnabled"));
if (securityEnabled)
{
var header = context.Request.Headers;
var cookies = context.Request.Cookies;
if
(cookies.ContainsKey(companyAuthCookie))
{
//allow other middle to process http request
await _next.Invoke(context);
}
else
{
//short circuit or terminate http process request because
user haven't logged in
context.Response.Redirect(ApiHelper.GetConfigValue("RedirectUrl"));
}
}
else
{
await _next.Invoke(context);
}
}
}
public static class CustomMiddlewareExtensions
{
public static IApplicationBuilder
UseCSPMiddleware(this IApplicationBuilder builder)
{
return
builder.UseMiddleware<CustomMiddleware>();
}
}
}
Then goto
Startup class (Startup.cs)
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
//in asp.net core order is important. Make
sure you call it in early stage
app.UseCSPMiddleware();
app.UseMvc();
}
That’s it,
you have created code to intercept http request and process it inside asp.net
core.
Reference:
Friday, July 7, 2017
Quotes by Mahesh
"Give me Data, I will give you the past or future" mcsj
"Gratitude is very rare, not Diamonds." mcsj
"Human life is a precious gift, ask plants, birds and animals" mcsj
"Once you understand a System thoroughly, then you can take control of it" mcsj
"Its very difficult to impress Aries" mcsj
"Where there is Quality, There is Demand" mcsj
"Where there is Healthy Competition, there is Creativity/Invention/Innovation" mcsj
"Best investment for a Nation, Family, Individual is on Education" mcsj
"Where there is no principles, structure, and order, there is no growth." mcsj
"A star gets birth, only to shine bright, remember you are a STAR " mcsj
"Your behavior decides, your education and social background" mcsj
"To understand a system, you have two choice, start all over, spend 100/1000 years on finding patterns or read books" mcsj
"Inside Mathematics, at any point of time you will be either doing JUST addition or subtraction" mcsj
"To solve issues or enhance or improve a system, first you have to understand the System" mcsj
"What is more important is whether you LIKE it or not, you should never worry about the price or anything else, life is short" mcsj
"What matter's is what do you do, not where you are" mcsj
"The only way to pierce into the minds of genius is by reading their book" mcsj
"Benefits of travel, it will make you wise, entrepreneur, humble, knowledge... " mcsj
"There are two kinds of people in the world, one who writes book, another who reads it" mcsj
"Queen must wait till she finds a guy with character\behavior of a King" mcsj
"One of the toughest task is, to communicate/exchange ideas/thoughts with people, without hurting their feelings" mcsj
"If you think its there, it is there, if no, it is not there, everything boils down to what you think" mcsj
"Greatest tips/tricks for any startup or work is, 'you just start working on it' " mcsj
"For certain category/group of kids, teach them basics, they will teach you advanced" mcsj
"The only way to travel fastest in the past is by reading a book" mcsj
"In theory with energy (e=mc2) we can travel, back into past or future, but with data practically we can go back into past or future" mcsj
"Excellent communicator or people manager is one who knows that, every individuals activity\personality\character is determined by the data inside their Brain" mcsj
To those who care
for people and mankind
"Gratitude is very rare, not Diamonds." mcsj
"Human life is a precious gift, ask plants, birds and animals" mcsj
"Once you understand a System thoroughly, then you can take control of it" mcsj
"Its very difficult to impress Aries" mcsj
"Where there is Quality, There is Demand" mcsj
"Where there is Healthy Competition, there is Creativity/Invention/Innovation" mcsj
"Best investment for a Nation, Family, Individual is on Education" mcsj
"Where there is no principles, structure, and order, there is no growth." mcsj
"A star gets birth, only to shine bright, remember you are a STAR " mcsj
"Your behavior decides, your education and social background" mcsj
"To understand a system, you have two choice, start all over, spend 100/1000 years on finding patterns or read books" mcsj
"Inside Mathematics, at any point of time you will be either doing JUST addition or subtraction" mcsj
"To solve issues or enhance or improve a system, first you have to understand the System" mcsj
"What is more important is whether you LIKE it or not, you should never worry about the price or anything else, life is short" mcsj
"What matter's is what do you do, not where you are" mcsj
"The only way to pierce into the minds of genius is by reading their book" mcsj
"Benefits of travel, it will make you wise, entrepreneur, humble, knowledge... " mcsj
"There are two kinds of people in the world, one who writes book, another who reads it" mcsj
"Queen must wait till she finds a guy with character\behavior of a King" mcsj
"One of the toughest task is, to communicate/exchange ideas/thoughts with people, without hurting their feelings" mcsj
"If you think its there, it is there, if no, it is not there, everything boils down to what you think" mcsj
"Greatest tips/tricks for any startup or work is, 'you just start working on it' " mcsj
"For certain category/group of kids, teach them basics, they will teach you advanced" mcsj
"The only way to travel fastest in the past is by reading a book" mcsj
"In theory with energy (e=mc2) we can travel, back into past or future, but with data practically we can go back into past or future" mcsj
"Excellent communicator or people manager is one who knows that, every individuals activity\personality\character is determined by the data inside their Brain" mcsj
To those who care
for people and mankind
Sunday, June 18, 2017
Wednesday, May 10, 2017
Computer Vision API - Microsoft Cognitive Services
MS Computer
Vision API is powerful REST API’s or Web services, which takes image as input,
processes it and return back the image analysis in JSON or in structured
format. For ex: API identifies for any adult content, does recognizes
texts/character (OCR), face recognition etc.
MS Computer
Vision API, is based on the hundreds of image processing algorithms which internally
uses lots of complex math’s to process and analyze the images.
Microsoft,
bundled image processing API’s into Computer Vision API and hooked up it with
her Cloud platform. So basically you have to pay for every single API call. You
might be wondering how and what scenario you can consume it.
Here is a typical
scenario where you can use Computer Vision API:
You have a camera, it’s an IoT device
hooked up with internet. You have set up that in front of your home / apt /
office, as soon as someone pops in and knocks the door. Your camera/IoT device
takes photo of her/his and sends it to MS Azure\ cloud, it’s their you make
call to MS computer vision api to process and get the result, from that result
you analyze and decide to open the door or not. Like this you can use it in any
scenario where you want to process image.
Following are
just few things you can do on images with CV API’s: Tagging, Categorizing, Identifying,
OCR, Face recognition, generate thumbnails and lot more. Obviously it can
process video (video is an illusion, when you display a set of frames /images like
24 images or more in a second, eye processes it as movie)
Simple Client program to invoke computer vision api:
Monday, April 24, 2017
Thursday, April 13, 2017
Asp.net Core MVC CORS preflight issue REST api
Browser -> CORS -> IIS -> Kestrel Asp.net Core MVC REST apis
Project:Silverlight migration project into HTML5/AngularJS/Asp.net Core MVC.
Problem:
CORS preflight (http options) request was throwing 403 forbidden error.
Story & Solution:
I did hosted Asp.net core REST apis on IIS, initially UI\AngularJS developers were consuming basic GET api's everything was going smooth.
Next, when they tried to consume my http POST apis, panic button pressed its not working.
Unlike WFC, xml web services, web apis, Asp.Net Core MVC has brand new web server called 'Kestrel' which is faster and modern compared to IIS. But Kestrel is not matured enough to put behind internet so we have to do reverse proxy using IIS, basically IIS forwards http calls to kestrel and vice versa. Story doesn't end their to make complicated, when angularjs or client makes calls from modern browsers, it will make a preflight call to web server to make sure request service is available and client has access, this is for security purpose according W3C CORS standard. So browser make a preflight http OPTIONS request, but most web server doesn't enable or accept http OPTIONS, PUT, Delete requests, admin disables it by default Then developer have to scratch his head and trace where its going wrong.
Solutions:
So, when you stuck, pls go through the following areas, which might help you to solve the issue.
a) Enable http log at IIS level, go through the logs.
b) Enable logging at asp.net core mvc api.
c) Use Fiddler or REST api client like postman(beware unlike browser postman doesn't make preflight request, it works here but from browser it fails)
d) In web config allow required verbs
e) Verify url scan config.
f) Verify and make sure all the required configs are enabled system32\inetserv\config applicationhost root config file for IIS.
Pls make sure changes you do must be compliance towards company cyber security policies.
PS: above tips works well other web servers; apache, nginx ...
Subscribe to:
Posts (Atom)


