Interesting things I encounter doing my job...
A friend of mine told me to have a look at Redux as it is such an awesome and popular "framework". I had a look and I’m not convinced. This post describes my view on Redux. I've also written, my own predictable state container using TypeScript and standard design patterns, which I'll share.
In the Netherlands we have some amazing bandwith (300Mbit/30Mbit) at our homes. Combined with these dead cheap but very capable Raspberry Pi's readily available, I figured that I could easily run a couple of web servers at home. It's no problem to run Wordpress or a .Net Core web site (Scott Hanselman) on a Pi. The only issue I faced is that I have single public ip-address, but multiple sites to host. The other thing is that I wanted the traffic to these site encrypted with an SSL certificate. I don't want to log in with forms authentication over an unencrypted wire.
One of the things I do on a regular basis is to read somebody else's code in order to learn from it. And just this week I was reading some code of which I at first did not understand what was happening and then it struck me:
Almost a year ago I created my own solution to view both power and natural gas consumption in my home. I'm thinking about creating a blog post series on how you can create one yourself. But.... this will be a long, multipart, time consuming blog post series. Before I start this adventure I first want to find out if there is anybody out there that is actually interested in such a blog post series. In this first post I will just tell you what I did, and if I get enough comments in which readers express their interest in the full series, I'll continue explaining how I did it.
Along the lines of my previous post I wanted an easy way to implement client cache in a standard MVC web application. The OutputCache attribute does not allow us to dynamically change the cache settings for the current request. As MVC and Web API both rely on different libraries I could not reuse the Web API action filter in MVC so I had to come up with a new solution. This again resulted in two simple classes.
Last week I was working on some sample application that uses MVC Web API to return results to a client framework. While doing so I noticed that the standard Web API framework does not implement client caching in an easy to use way. Of course we can work with headers inside our controller actions, but as a big fan of DRY I decided to find out if I can use a different route. As a result I show you the ClientCacheAttribute together with its ClientCache.
Every now and then when I have to learn a new language I try to implement the Gang of Four design patterns in that langauge to get familiar with it. And so I did for TypeScript. Beside that I was asked to deliver a training on Design Patterns and so I did. Then I was asked to deliver screencasts with some explanation on design patterns and the implementation in TypeScript and so I did. Then I decided to share the result and the result is available over here TypeScript Design Patterns.
Last week I reviewed some code that contains memory leaks and I noticed that they fetched some credentials from the Secure Store Service in a way that just didn't seem right to me. If you look at this code sample on MSDN you should be able to see what I mean.
While I was working on a Python project, I needed asynchronous programming and noticed that I couldn't find a lightweight library to do so. So I made myself a promise...
SharePoint simply ignores the autogrowth settings of your model database and as such you need to make changes to the autogrowth settings of a lot of databases after installation or after adding new content databases. The script below can be used to create a batch script to save you from the tedious task of going over each and every database.