Incognito

by 

|

|  

in

“Software is hard.” – Donald Knuth Shipping software is hard. Supporting software can be even harder if you don’t set yourself up for success. If you have customers, you can’t just push the Ship It button and run away. Why is supporting software so difficult? One of the reasons is that re-creating what users are…

Read more…

Quick Look – .NET Core 2.1 Angular Template

by 

|

|  

in

With .NET Core 2.1 there is a new Angular template. That, in combination with the new UseSpa configuration, makes using Angular with .NET Core feel a lot better than .NET Core 2. Let’s take a quick look at this new feature. Create a new ASP.NET Core Web Application. Select Angular as the project template. Now…

Read more…

Using Razor Templates without MVC (RazorLight)

by 

|

|  

in

Formatting text is a common part of software development. Many web pages are just that, some sort of template that is converted into HTML. In the .NET world, we often use ASP.NET MVC for generating those HTML pages. We often also have a view that is rendered with a model to create an HTML page….

Read more…

How NOT to Choose a JS Framework

by 

|

|  

in

There are a ton of articles out there on how to choose a JavaScript framework. This article is not one of them. Instead, I’ve written this article to provide some guidance that should help you NOT choose a particular JS framework. Often, the correct choice is no JS framework at all. If you are just…

Read more…

Good Fake Data

by 

|

|  

in

When it comes to testing your code, good data is hard to come by. For new greenfield solutions, there often is no data. And using production data is a bad idea for a variety of reasons. But that doesn’t reduce the importance of good test data. We need good test data, and good (read: realistic)…

Read more…

Selenium Automated Browser Testing

Vogon Poetry Follow-up: Selenium Testing

by 

|

|  

in

Thanks to everyone for coming to our Vogon Poetry Reading on Selenium testing on June 27th. As a follow up to that fast-paced introduction, here are a few helpful links to get you started creating your Selenium tests. SeleniumHQ – This is the home of all things Selenium. Sauce Labs: Getting Started with WebDriver in…

Read more…

Hangin’ Around with Hangfire

by 

|

|  

in

.NET Core is awesome. Better performance, cleaned up interfaces, what’s not to like? Well, in the cloud world some things just aren’t there yet. For example, if you want to use WebJobs for async processing you might have some problems with .NET Core (at least as of June 2018). WebJobs provide a super easy way…

Read more…

Don't Panic Labs - Security Resources for Developers

5 Security Resources for Developers

by 

|

|  

in ,

Here’s a list of great security tools, many of the open source, that came out of the April 11th Vogon Poetry Security Open Forum. H/T to Jason Wilkinson of Firespring for helping me compile this list. Qualys Labs SSL Server Test – This tests that your servers are configured correctly to support appropriate levels of…

Read more…

Database Change Control, Part 4

by 

|

|  

in

We covered Entity Framework Code First in an earlier post where we just let Entity Framework create the database tables for us from a schema. That pattern might break down when we have actual data, but I do think letting Entity Framework create your tables is a great pattern for proof on concepts. In this…

Read more…

Database Change Control, Part 3

by 

|

|  

in

In my previous posts, I have covered two forms of database change control. Both of those focused on taking some sort of schema and deploying it. But in this post, I am changing focus to something that stores the deltas and reapplies them. Both DbUp and Code-First Migrations will basically play a continual list of…

Read more…