The story of how I created a way to port Windows Apps to Linux
Some day during a weekend sometime around the summer in 2018 I was doing house chores while listening to aRead more.
ElectronCGI 1.0 – Cross-platform GUIs for .Net Core
I’m very happy to share with you version 1.0 of ElectronCGI. If you don’t know what ElectronCGI is, it’s aRead more.
ElectronCGI – A solution to cross-platform GUIs for .Net Core
.Net Core brought the ability to run (and develop) .Net in multiple platforms. However, it is still not possible toRead more.
TPL Dataflow in .Net Core, in Depth – Part 2
This is the second blog post on the Dataflow library. You can find the first one here. If youRead more.
TPL Dataflow in .Net Core, in Depth – Part 1
TL;DR – This article became so long that I decided to break it down in 2 parts. This isRead more.
ElectronCGI – Cross Platform .Net Core GUIs with Electron
UPDATE 2019-12-17: There’s a new version of ElectronCGI, you can find out more about it here. It was a veryRead more.
ASP.NET Core Web Api Antiforgery
When deciding how to secure a Web Api there are a few choices available, for example you can choose toRead more.
Sign in with an External Login Provider in an Angular Application Served by ASP.NET Core
Being able to sign in with an external login provider (for example Google or Facebook) is a good wayRead more.
Software Development as an Emergent System
Emergent systems are sometimes described as systems where the whole is greater than the sum of the parts. I personallyRead more.
Secure an ASP.NET Core Web Api using Cookies
Everyone is watching what you do online. How user tracking with cookies works
Have you ever visited a website to check out something you want to buy only to be inundated withRead more.
Refresh Tokens in ASP.NET Core Web Api
One thing that comes to mind when using access tokens to secure a web api is what do youRead more.
ORM-less Data Access in .Net Core
The use of Object Relational Mapper libraries (ORMs) is so prevalent today that it’s uncommon to see anyone question theirRead more.
IIS, colons in the URL and Angular named outlets
Angular routing supports multiple views through a feature named router outlets. This feature allows for parts of the sameRead more.
Setting up Entity Framework Core
Setting up Entity Framework in .Net Core can at times seem difficult. It’s easy to hit speed bumps like notRead more.
ASP.NET Core Development in Linux
When .Net Core came out there was a lot of excitement about the idea of developing .Net code outside ofRead more.
Logging in .Net Core Console Apps
Being able to quickly throw together a console application is a good way to automate a repetitive task. Sometimes theseRead more.
Angular and ASP.NET Core
The Angular CLI provides a way to develop front-end applications using angular that hides a lot of details. ForRead more.
Anatomy of an ASP.NET Identity PasswordHash
Have you ever looked at a user record in an ASP.NET Identity’s users table and wondered just what is beingRead more.
Things you wanted to know about storing passwords but were afraid to ask
Security breaches are very common. To make matters worse, when it comes to users’ passwords it is frequent that noRead more.
Create Your Own ASP.NET Core Middleware
ASP.NET Core uses the notion of a pipeline of middlewares. Each time a request is handled by ASP.NET, it goesRead more.
Secure a Web Api in ASP.NET Core
There are a few resources that you can find that teach how to secure an ASP.NET Core web application. I’veRead more.
Keeping Secrets in ASP.NET Core
There are things we don’t want to make public in an ASP.NET project. The best example is the database credentialsRead more.
ORMs, Lazy Loading and Web Applications
What do these three things have in common? They are frequently used together. Is that a good idea though? No,Read more.
Facebook Login in ASP.NET Core
Being able to have your users sign in to your website using their social media account is a great wayRead more.
External Login Providers in ASP.NET Core
Being able to have your users authenticate using Google, Facebook, Twitter, etc is a great way to remove the annoyanceRead more.
HTTPS in ASP.NET Core from Scratch
Recently, when looking at how to configure authentication using external login providers (e.g. Google, Facebook) with ASP.NET Core I noticedRead more.
Using OpenSSL to Create Certificates
There are a few reasons why you may want to create your own digital certificates signed by your own CertificateRead more.
Brief(ish) explanation of how https works
When learning about how to use OpenSSL to create self-signed certs, it became clear to me that most of theRead more.
Rethinking email confirmation
We are very accustomed to how user registration works online. Enter your email, possibly pick a username, enter password, re-enterRead more.
ASP.NET Identity Core From Scratch
Being able to have users create accounts on your website is the first step in creating a service that youRead more.
Cross platform database walk-through using ASP.NET MVC and Entity Framework Core
The release of .Net Core made it really easy to use .Net and C# outside of Windows. However, when itRead more.
Don’t just turn off the cache
If you’ve ever had to deal with ajax GET requests in Internet Explorer you will undoubtedly found out that IERead more.
Electron is Amazing
TL;DR This post describes what I had to learn about Electron to be able to build a cross platform pomodoroRead more.
How to make a web page that looks like a desktop app
Usually when you think HTML and CSS you don’t imagine desktop apps, but nowadays there are more and more examplesRead more.
On Software and Hammers
In 1964 Abraham Kaplan said: “Give a small boy a hammer, and he will find that everything he encounters needsRead more.
Hack your brain to learn more, faster and better
I had a really hard time naming this post. It’s hard not to make it sound like something dodgy, likeRead more.
What exactly is a "unit" in unit testing?
This should be an easy question to answer, right? Turns out that there are several definitions of unit testing, andRead more.
Principle of reasonable expectations
The area of design has a very elegant principle named The principle of least astonishment. Sometimes it is also referredRead more.
Why composition is superior to inheritance as a way of sharing code
Inheritance is one of the pillars of Object-oriented programming (OOP), the other two being polymorphism and encapsulation. Inheritance is thereforeRead more.
7 tips to find code faster in a web application
It’s difficult to locate where a certain functionality is implemented in a code base that is unfamiliar to us, andRead more.
Time to start getting familiar with Owin/Katana
Owin showed up sometime in 2012. The first time I’ve heard about it was on an Hanselminutes episode about KayakRead more.
How to manually use the ASP.NET MVC’s client side validation infrastructure
ASP.NET MVC client side validation is based on the jQuery validation plugin. It can be said that MVC’s client-side validationRead more.
Split your web application into smaller web applications
Working in big projects can be difficult, however most of that difficulty comes from accidental complexity (mostly unnecessary complexity introducedRead more.
Setup ASP.NET Identity using StructureMap
TL;DR: If you find yourself in a hurry, and you just want to quickly check how to setup ASP.NET IdentityRead more.
WCF Security Survival Guide – Part 2 – Authorization
In the first part of this series I described how you can secure your WCF service. The first part describesRead more.
Handle the keyboard like a Pro with easykeyjs
After being asked once again to add some keyboard shortcuts to a web application, and being tired of doing thingsRead more.
How to gracefully handle added/removed dependencies in unit tests
NOTE: This is not my idea, this is Brad Wilson’s, but it’s so useful, and as far as I know,Read more.
WCF Security Survival Guide
Setting up security in WCF can be a daunting task, there are so many switches that you can turn thatRead more.
Dependency Injection Without Referencing Implementations
Dependency injection is all about connecting abstractions with implementations. Carefully defining dependencies produces a codebase with more abstractions (interfaces/abstract classes)Read more.
What inverts in the dependency inversion principle?
Have you ever wondered why the dependency inversion principle is named the way it is? The dependency inversion principle isRead more.
Authorization redirect loops in ASP.NET MVC
Are you having problems with redirect loops in your MVC app? Maybe you are using ADFS or another identity server/securityRead more.
Security testing without committing to a particular authentication mechanism in ASP.NET MVC
Have you ever been in the start of a project where there is no agreement about how to authenticate yourRead more.
What does it mean to be authenticated in ASP.NET MVC?
Have you ever wondered how your user information gets to your action methods in MVC? For example, when you useRead more.
Promises vs Callbacks
A few months ago I answered a question on StackOverflow that got a lot of attention, especially after I’ve submittedRead more.
Finding out where in a codebase a jQuery event is being registered and unregistered with the special events api
jQuery allows you to define extra functionality around events, namely it is possible to define behavior that happens when theRead more.
Quickly finding and debugging jQuery event handlers with findHandlersJS
tl;dr: Finding event handlers registered using jQuery can be tricky. findHandlersJS makes finding them easy, all you need is theRead more.
Interaction testing, fakes, mocks and stubs
Today I was procrastinating by reading unanswered questions at StackOveflow, when I noticed a question about what Mocks are. IRead more.
TDD, BDD, [add every other method that promises software quality here] and the tea tasting lady
What can possibly TDD, BDD or adhering to SOLID have to do with a lady that is funny about herRead more.
Using ASP.NET MVC’s Html.DropDownListFor helper
Html.DropDownList is used when you need to create a view that has a dropdown that allows you to select oneRead more.
Where’s my ID?
Retrieving the value of an identity column from a record in a database table after inserting it may sound ridiculouslyRead more.