Articles

  • Check If the Screen Saver Is Running Or Not?

    Although its rare but at times while building desktop based applications, we might come across situation wherein we are asked to handle “Screen Saver” operation i.e. perform some logic based on whether the “Screen Saver” is on of off. I found the following code snippet on internet almost two years back. I would like to thank the original author of the code. It’s been long time and its not possible for me to search for the original author of the code.

  • Asynchronous Web Api Action Methods

    In one of my recent WPF project, we made extensive use of async-await pattern. Async-await pattern greatly simplified the call-back and continuation based code required for keeping the UI responsive. In WPF, the pattern for implementing async-await is to invoke the IO/CPU intensive code in a background thread and attach the continuation logic on the main UI thread. In WPF, since we have a dedicated UI thread that controls all of the UI elements, using async-await is really helpful in keeping the UI responsive without having to write complicated call-back based code.

  • Podcasts For Developers

    Podcasts are a great way of utilizing your time while you are on the move i.e. driving car or riding in a bus/train. If you are unlucky like me, who has to spend couple of hours each day travelling between office & home and vice versa, then listening to podcasts while you are stuck in traffic can be of great help. Not only are you learning something new but it also helps you in keeping calm and makes the journey appear comparatively shorter.

  • Configure Windows Live Writer for Asp.Net Weblogs

    Every time I change my laptop, I had to remember all the steps that are required for configuring windows live writer. Given that live writer is not being maintained anymore, finding its genuine download link itself becomes a challenge. In thins blog post, I am going to bookmark for myself, what are all the steps required for configuring windows live writer for blogging.

  • Pawan Mishra

    _Pragmatic and passionate developer with 7.5+ years of experience in developing a wide range of application types in healthcare & financial domain._ #### **Skills** ___

    C#, Java, F#, WPF, WCF, Asp.Net MVC, Asp.net Web API, Data Structure, Algorithms, Entity Framework, Sql Server, Postgresql, Git, PowerShell #### **Experience** ___ > ABCO Advisory Services India Private Limited (_July 2010 - June 2012|September-2013 - present_) > Barclays Capital (*July-2012 - August-2013*) > Infosys Private Limited (_Oct-2007 – August-2010_) ### **ABCO Advisory Services India Private Limited** ___ ##### **Xede(_September 2014 - Present_)** **Xede** is a platform for processing large amount of clinical & real-time ADT HL7 feeds. It can be configured to process data in parallel, provide de-duplication check, capture and emit various data load performance metrics via Restful API endpoints. > Implemented Restlet based restful services > Generating mybatis entities & corresponding queryDSL api classes > Java based loaders for processing flat files containing medical data > Implemented node, express & handlebars based web application for consuming restful services ##### **Patient Data Repository (PDR) (_September 2013 – August 2014_)** **PDR** is a centralized large scale multi-tenant patient’s data repository. It supports real-time data loading facilities, restful api based data querying and other patient centric analytics functionalities. > SQL Server Service Broker queues implementation > T4 template based code generation functionality > WPF application for interfacing with core application > Restful service implementation using Asp.Net Web Api > PowerShell scripting for Web Api testing, application deployment & configuration > Rx based API for streaming large datasets > Multi-threaded worker engine for processing SQL Server Service broker queues > Extensive unit & integration testing using xUnit and Ninject as DI container > Code reviews, task estimation & breakdown, team management ##### **Crimson Continuum of Care (CCC) (_August 2010 – June 2012_)** **CCC** is a market leading analytics software that offers severity-adjusted performance profiles, enabling the hospital–physician collaboration needed to advance quality goals and secure cost savings. It is being used by over 200+ large hospital systems in US. > Significantly improved performance of pdf report generation, insight in-memory data processing engine > Part of product core ARC (Architecture Review Committee) committee > Extensive refactoring & performance optimization of various SQL Queries > Used strategy & other design patterns for simplifying complicated table measure reporting functionality > Implemented various modules using DDD model > Extensive unit & integration testing using NUnit, Moq & StructureMap ### **Barclays Capital** ___ ##### **Meteor & CDRP (_July 2012 – August 2013_)** **Meteor** is a trade capture tool used for precious and base metal trading. It interacts with other trade processing components like LME, OpenLink, Prospect etc. It's a desktop based application built on top of WPF platform. CDRP is a commodities specific in-house developed risk calculation engine used for calculating risk of vanilla and exotic trades. > Development & functional testing of downstream feeds > Configuring TeamCity builds. WIX installer based development & deployment > Level 3 application support for various trade processing applications > ### **Infosys** ___ ##### **Buzz & IMAP (_Oct 2007 – August 2010_)** **Buzz** is a collaboration tool built on top of SharePoint platform. It consolidates functionalities like file sharing, chat, feed processing, email integration etc. IMAP (Infosys Modular Account Payable) is an invoice processing application built on top of Skelta BPM framework. The application used OCR technique for fetching data from scanned. WPF & WCF based application development > Introduced async programming model for WPF development > Implementation of Behaviors & Animations in WPF > Implemented WF 3.0 based internal workflow runtime engine > Introduced design patterns, unit testing & other latest technical offerings from Microsoft ### **Education** ___ B-Tech (Honors) with gold medal in Computer Science from Dr. MGR Deemed University, Chennai with 9.2 CGPA (2003-2007). ### **Other** ___ > **_US B1-visa_** valid till July 12th, 2021. > Part of ABCO's IIT Mumbai interview panel. Interviewed more than 300+ candidates in ABCO & Barclays combined. > Solving coding problems from various sources (HackerRank, CodeEval, GeeksForGeeks etc) > 2000+ points in StackOverflow forum & Star member in Asp.Net MSDN forum > Address: **_17A, A4, Jains Green, Pallavaram, Chennai: 600043, TamilNadu_** ### **Contact Me** ___ _rk.pawan@gmail.com_ | +91-9962988132 | [LinkedIn](https://www.linkedin.com/in/rkpawan) | [Facebook](https://www.facebook.com/rk.pawan) | [Github](https://github.com/pawanmishra/)

  • WPF MVVMLight Toolkit & Capturing Control Events

    If you have worked with MVVMLight toolkit framework, then you must be familiar with the RelayCommand pattern for processing control commands. For example, if you have to handle the button click event using MVVMLight framework i.e. to not have the code-behind button click event handler but instead call some method in your ModelView class, then you can do it easily using the RelayCommand pattern. Below is a sample example :

  • Git : Rename file with difference in casing

    In this blog post, I will explain on how to properly rename a file with difference in casing using git mv command. Before that first let us understand, why difference in casing is such a big thing when it comes to version control systems.

  • Binary Tree : Level Order Traversal

    In a binary tree, node level is defined as the number of nodes which are in between the node in context & the root node. If we consider root node is at level 0, then immediate child nodes of root are at level 1 and the subsequent child nodes are level 2 and so on. Thus level order traversal of a binary tre involves processing nodes on the basis of their levels i.e. level 0 nodes are to be processed before nodes at level 1 which are to be processed before nodes which are at level 2 etc. The screenshot below shows a tree and its corresponding level order traversal :

  • Building Recommendation System Using F# – Part 2

    In the first part, we implemented our first F# function towards building a recommendation system, which could tell us relative closeness of two users based on their ratings given to the various music bands. During implementation, I highlighted some of the core F# programming concepts like pattern matching, options, modules etc.. In this part, we are going to concentrate on following three things:

  • Building Recommendation System Using F# - Part 1

    In this blog post, using F# language, we will try to build a simple recommendation system. The true intent of this post is to learn F# language by implementing a recommendation system. If you are truly interested in learning what it takes to build a true recommendation system, then I would encourage you to read the following text : A Programmers Guide to data mining. I too have used this text as a source of reference for the content of this post. In this post, I am going to port the original python based code to F# and while doing that I will try to highlight various functional programming concepts.

Contact Me

rk.pawan@gmail.com | +1-737-202-7676 | LinkedIn | Facebook | Github |