Posts

Showing posts from April, 2018

GitHub is Cool

Developers love Git, and I am definitely one of them now, but it took a while to get there. At my main customer, we do everything Microsoft. We use TFS for our source repository, and a little over a year ago, the company said the new standard was to use Git which TFS started supporting. My first though was oh, this is great, I get to learn something that is marketable outside of the Microsoft world.  On most of my projects, I am the sole developer, so using git was pretty straight forward. I didn't need to do any branching and merging, but I played with it to see how it works. Everything I read about Git made it sound pretty easy, but the one thing that kept bothering me was the pull request. My problem was that I looking at pull requests and pulls as being the same thing. When you are working alone and only using master, getting those two things confused doesn't matter.  Then I got put on a project with another developer. Initially I was creating new branches, but she

Generic Repository Pattern C# Implementation

Over the past few years, I have been using the repository pattern in most of my applications that use the entity framework. I have been creating interfaces and classes for each model class, and implementing CRUD and extended queries in each repository class. Every project I think it would be better to use a generic base class to handle the CRUD operations and use inherited classed for the more specialized queries. Of course time constraints have always gotten in the way. I found a few articles on generic repositories, but none of them were quite the complete solution, so I took bits and pieces from each and put together a pretty decent generic repository implementation. To use this implementation, you will start out with the generic class repository.cs. I put this in the MtuRepository namespace, so it would be easier to reuse in each project. I typically create a separate project for my data model and create an Models and Repositories directory, but this will also work if everything

Impostor Syndrome

After my introduction yesterday, I really thought I should get a technical article out there as my next topic, but then I realized that I should discuss the impostor syndrome. I read an article years ago on Scott Hanselman's blog, and it really hit home with me. Here is a link to the original article.  https://www.hanselman.com/blog/ImAPhonyAreYou.aspx I often feel like I am an impostor, and that at some point my boss is going to realize I am not as good as he thinks I am. When I thought about writing this blog, the thought went through my mind that not only would I have to worry about my boss thinking I am an impostor, now I am opening up that possibility to the whole world. This could really limit my future income if everyone figured it out. My other thought was that if I post something that makes me look totally incompetent, someone will point it out to me, and if my ego will allow it, I could become a better programmer. That seems like a pretty positive upside.  As I g

Introduction

Hello, thanks for visiting my blog. My name is Jim Karnopp, and I am the owner of Kartech. This is my first post in the Kartech blog, so I figured this would be a good time to introduce myself.  I have worked in the IT industry for over 30 years. I have been a programmer, a SQL DBA, a system administrator, an email administrator, an internet infrastructure architect, and several other hats I am sure I am forgetting. I have been an independent consultant almost my entire career, so I have had a lot of variety in the work that I have done. The majority of my clients have been manufacturers of one type or another. Unfortunately I have never worked for a high tech software company, so I have always been in departments that are cost centers and not part of the revenue streams.  My current work is primarily developing web applications using the Microsoft .Net framework, angular, web api's, and SQL Databases. I have also been doing app development using the Ionic framework. I have bee