3 02 2016
As we have now fully functioning thermal solution running on Windows 10 IoT Core it’s time to focus to other components of our beer freezing solution. Our solution measures and calculates metrics of cooling beer but it doesn’t report this data anywhere. In this blog post we will set up Azure IoT Hub for our solution so it starts reporting measurements to Microsoft Azure.
3 02 2016
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.
2 02 2016
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.
1 02 2016
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.
21 01 2016
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.
21 01 2016
I have RaspberryPi 2 with Windows 10 IoT Core and I plan to use it for some brewing activities. In this blog post I introduce how to measure temperature with RaspberryPi using DS18B20 thermal sensors. This post is also example about how easy it is to get started with your IoT stuff using Microsoft tooling.
23 06 2015
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.
2 02 2015
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.
26 11 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!
9 05 2014
I made introductory presentation about Universal Windows Applications to local Microsoft User Group. In the end of presentation I introduced some of my speculations about the future of Universal Windows Applications. Here’s my thoughts about what happens next.
9 12 2013
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.
21 10 2013
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 […]
26 05 2013
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.
13 02 2013
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.
30 01 2013
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.
19 10 2012
Some years ago I published list of Microsoft training kits for developers. Now it’s time to make a little refresh and list current training kits available. Feel free to refer additional training kits in comments.
23 08 2012
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.
31 07 2012
It is often good idea to isolate our domain model from consuming applications by using service layer and data transfer objects (DTO) or application specific models. Using DTO-s means that we need two-way mapping between domain classes and DTO-s. In this posting I will show you how to use AutoMapper to build generic base class for your mappers.
14 06 2012
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.
24 02 2012
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.