Skip to content

Instantly share code, notes, and snippets.

Deepu Madhusoodanan deepumi

Block or report user

Report or block deepumi

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
deepumi / Extensions.cs
Last active Aug 16, 2019
HttpStatus code enum -> int & string
View Extensions.cs
using static System.Net.HttpStatusCode;
internal static class Extensions
internal static string AsString(this HttpStatusCode status) => status switch
Continue => nameof(Continue),
SwitchingProtocols => nameof(SwitchingProtocols),
Processing => nameof(Processing),
EarlyHints => nameof(EarlyHints),
deepumi / Logger.cs
Created Aug 13, 2019
Logging class for CLI tools!
View Logger.cs
internal sealed class Logger : ILogger
private readonly FileStream _writer = new FileStream(Config.Configuration["LogFile"], FileMode.Create, FileAccess.Write,
FileShare.None, 1024, FileOptions.SequentialScan);
private readonly UTF8Encoding _utf = new UTF8Encoding(true);
private readonly byte[] _line;
internal Logger() => _line = _utf.GetBytes(Environment.NewLine);
deepumi / Sample.ps1
Created Aug 5, 2019
Powershell sample
View Sample.ps1
deepumi / PropertySetter.cs
Created Jun 18, 2019
Poco property setter using Expressions tress.
View PropertySetter.cs
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Reflection;
internal sealed class PropertySetter<T>
private const BindingFlags Flags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.IgnoreCase;
private readonly Type _type = typeof(T);
deepumi / Sort.cs
Last active Jun 14, 2019
Insertion Sort
View Sort.cs
string[] arr = { "orange", "nest", "apple", "ABC","xyz", "bana", "cat"};
for (int i = 0; i < arr.Length; i++)
for (int j = i + 1; j < arr.Length; j++)
if (arr[i]?.CompareTo(arr[j]) > 0)
var temp = arr[j];
arr[j] = arr[i];
deepumi / StaticThreadySafety.cs
Last active May 14, 2019
Thready safety in Static Variables
View StaticThreadySafety.cs
//Interlocked class Provides atomic operations for variables that are shared by multiple threads.
private static string _data;
public ActionResult Index()
//Compares two instances of the specified reference type <paramref name="T" /> for equality and, if they are equal, replaces the first one
if (Interlocked.CompareExchange(ref _data, "test", null) == null)
deepumi / feature.cs
Last active Dec 22, 2018
Feature flag
View feature.cs
using System;
using System.Collections.Concurrent;
namespace FeatureFlagTest
class Program
static void Main(string[] args)
var home = new HomeController(FeatureFactory.Feature);
deepumi / TypeActivator.cs
Last active Aug 1, 2018
Create instance using Reflection
View TypeActivator.cs
public static class TypeActivator<T>
private delegate T Activator<T>(params object[] args);
private static readonly Dictionary<string, Activator<T>> _items = new Dictionary<string, Activator<T>>();
/// <summary>
/// </summary>
/// <returns></returns>
public static T Create()
View sample.go
package main
import (
deepumi / StripMarkupTags.cs
Created Mar 29, 2018
Strip Html Markup Tags
View StripMarkupTags.cs
private static string StripMarkupTags(string source)
if (source == null) return string.Empty;
var length = source.Length;
var array = new ArrayBuilder(length);
var markup = false;
for (var i = 0; i < length; i++)
You can’t perform that action at this time.