Education has been a common thread throughout our life at Don’t Panic Labs. It used to be about educating our team and the community through various public events. Then we created our Advanced Continuing Education program for developers, a week-long intensive that covers several topics around modern software development. With the creation of Nebraska Dev…
Read more…
Parsing files is one of the most common coding operations we perform in software development. Often the goal of parsing a file is to transform it into another format. In this blog post, we parse some CSV data, read the data, and write the data to a CSV file. All of which is pretty easy….
Read more…
PrimeNG is a framework for building web applications, comparable to Angular Material, which we have used previously. PrimeNG is a lot like Angular Material; it provides a bunch of components we can use to build our web applications. The difference with PrimeNG is the sheer number of components. PrimeNG has more components than Angular material,…
Read more…
.NET Core has changed things quite a bit from the old .NET Framework days. While it is really easy to look at a .NET Core console application and think it is pretty much a .NET Framework application, there are potentially many differences. In both .NET Framework and .NET Core, you can quickly just create a…
Read more…
Azure Functions supports a little-known feature call “Proxies.” This feature could be used to enable many features for your Azure Function. What we are going to discuss here is using proxies to host the static site (in this case, Angular) that calls our Azure Function backend. Azure Functions are sometimes classified as a serverless solution…
Read more…
At Don’t Panic Labs, we build a lot of software. Much of it is for new greenfield projects, but we also do a good amount of brownfield improvement projects. But regardless of the type of project, we want certain things in place, and a big one of those items is automated builds. Automated builds are…
Read more…
When writing tests for some new functionality, our goal should be to write the minimum number of tests with the highest likelihood of finding defects. To do this, we need a repeatable, consistent approach to defining our tests that will result in a similar outcome and quality of tests across the development team. In the…
Read more…
When writing tests for some new functionality, our goal should be to write the minimum number of tests with the highest likelihood of finding defects. To do this, we need a repeatable, consistent approach to defining our tests that will result in a similar outcome and quality of tests across the development team. In my…
Read more…
When writing tests for some new functionality, our goal should be to write the minimum number of tests with the highest likelihood of finding defects. To do this, we need a repeatable, consistent approach to defining our tests that will result in a similar outcome and quality of tests across the development team. Thankfully, lightweight…
Read more…
Is butter harder? This has been the focus of many Canadians lately, as their butter isn’t spreading across bread or club crackers (which I personally love) as they expect. But, what I don’t love is crackers breaking as I spread butter on them. Harder butter makes that more likely, so this hard butter issue is…
Read more…