Beer IoT: Estimating beer cooling time

In my last beer IoT post we measured out cooling rate of beer. In this post we try to estimate how long it takes for beer to start freezing. It’s actually simple calculation and we add it to our beer IoT background service before we focus on data reporting and persisting questions.

Beer IoT: Making cooling rate calculation testable

My previous beer IoT post introduced how to measure cooling rate of beer. As I introduced the first calculation there I implemented it in code the way it just works and gets calculations done. Now it’s time to focus on the implementation and make some small improvements that clean up code and improve technical design.

Beer IoT: Measuring cooling rate

As thermal sensors are connected and we have code to read temperatures it’s time to get serious and start real work on supporting the cooling process of eisbock. We start with measuring temperatures, calculating cooling rate and estimating how long it takes for beer to freeze. This post focuses on cooling rate.

Beer IoT: Moving to ITemperatureClient interface

My previous blog post “Measuring temperature with Windows 10 IoT Core and Raspberry Pi” introduced you my simple solution for measuring temperatures. In this blog post we go step further and make some modifications to solution architecture so we don’t have to keep sensors connected all the time and as a result we can also emulate temperatures and situations that are not easy to produce in home or office.

Generating CSV-files on .NET

I have project where I need to output some reports as CSV-files. I found a good library called CsvHelper from NuGet and it works perfect for me. After some playing with it I was able to generate CSV-files that were shown correctly in Excel. Here is some sample code and also extensions that make it easier to work with DataTables.

Coming soon to C#: Null propagating operator

C# 6.0 introduces language feature called null propagation. It’s about avoiding all this if-else mess in most sanity checks that avoid NullReferenceException.Of course, null checks can be found also from other parts of code that doesn’t necessarily deal with sanity checks. Let’s see how new null propagation feature help us write cleaner code.

Speaking at SDC 2014

Next week I have honor to speak at Software Development Conference 2014. It is held on 01-02.12 at Arnhem, Netherlands. I have sessions on both days – in total four sessions – and here is the short overview of these. It’s all mostly about ASP.NET, ASP.NET vNext, and cloud but there’s also something about legacy code. I hope you will join me!

Generalizing storage access for Windows Phone and WinRT apps

When building application that works both on WinRT and Window Phone you use Portable Class Libraries (PCL) for shared classes. As there are many application specific things that are not same on different platforms or that are not supported by PCL then you have to make some architectural decisions when creating shared functionalities. In this posting I will focus on persisting data for offline use.

Microsoft .NET: Architecting Applications for the Enterprise

Enterprise applications need good architecture to survive ever-changing demands of customers. At same time these systems must be stable, convenient and easy to use which leads us to need of good architecting skills. Some customers need desktop applications while others need web-based and mobile applications. Making good architectural decisions is not easy and this is […]

Understanding exceptions artistic way

Finding out reason of bug in code is not always easy thing to do. But it can be extremely hard if you have no idea what do with information that exceptions provide you. In this posting I introduce you weird artistic handling of exceptions and unfortunately this story comes from real life.

Using Microsoft Solver Foundation to solve linear programming tasks

One of soon-to-starts projects uses linear programming for some optimizations. As it is not very familiar topic to me I started looking for examples and tools so I am prepared better when action starts. In this posting I will show you how to solve simple linear programming tasks using Microsoft Solver Foundation – free math package available by DevLabs.

How to make NLog create separate log per service thread

NLog on is popular logging component for .NET applications. I am using it in one project where I built multi-threaded server that is running similar threads with different configuration. As those thread are independent services I needed way how to configure NLog to create different log file for each thread. Here is my solution.

Adding multiple data importers support to web applications

I’m building web application for customer and there is requirement that users must be able to import data in different formats. Today we will support XLSX and ODF as import formats and some other formats are waiting. I wanted to be able to add new importers on the fly so I don’t have to deploy web application again when I add new importer or change some existing one. In this posting I will show you how to build generic importers support to your web application.

Using TPL and PLINQ to raise performance of feed aggregator

In this posting I will show you how to use Task Parallel Library (TPL) and PLINQ features to boost performance of simple RSS-feed aggregator. I will use here only very basic .NET classes that almost every developer starts from when learning parallel programming. Of course, we will also measure how every optimization affects performance of feed aggregator.

Writing simple named pipes server in C#

I solved a little problem last night when playing with named pipes. I created named pipe that writes all output to file. Named pipe is opened for all users in machine. In this posting I will show you simple class that works as pipe server.

Setting up Windows Home Server 2011 development environment

For Windows Home Server 2011 (WHS) there are new API-s available you can use to extend WHS web and desktop interfaces. Actually there is no Windows Home Server SDK anymore – now we have common Windows Server Solutions (WSS) SDK that works also for Windows Small Business Server, Windows Storage Server and Windows MultiPoint Server. In this posting I will show you how to create development environment for Windows Home Server 2011.

Previous Posts Next posts