Easily supporting multiple target frameworks (TFMs) with VS2017 and Nuget

April 5, 2017

In VS2017 it much easier now to support multiple frameworks inside a single .csproj file. When you create a new project VS2017 (that target .NET Core or .NET Standard) this is what you'll get inside your *.csproj <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard1.4</TargetFramework> </PropertyGroup> </Project> Cool right? A lot of the boilerplate configuration was removed in order to make the MSBuild format clean and readable. By default, all the files inside your project folder will be added. If you want to make adjustment you can always add (or remove some of the files). For example, this is how it will look if...

New Speaking Engagements – CodeMash Ohio and ConFoo Montreal

October 20, 2016

2017 is still a few months away but the conferences plans already began, and I’m happy to publish that I’ll be giving talks at two very exciting conferences CodeMash Ohio – January 10-13, 2017 CodeMash is taking place at the Kalahari resort which looks very cool. I’ll do two talks: Creating a responsive application using Reactive Extensions From Zero to the Actor Model   ConFoo Montreal – March 8-10, 2017 The expected temperature for March in Montreal is between –12 °C and-6 °C (Freezing!!!), but I promise that my sessions will be hot. .NET Debugging tricks you wish...
no comments

"Could not contact node rabbit@[machine_name]" after upgrading to RabbitMQ 3.6.5

October 13, 2016

This error kept me busy for almost two days, so i thought it would be best to describe the steps i took to fix it Make sure that the erlang cookie file (.erlang.cookie) is configured correctly in all places. i.e. %HOMEDRIVE%%HOMEPATH% and %SYSTEMROOT%. it should contain the same value in all places Open the RabbitMQ command prompt with Administrator privileges Remove the RabbitMQ service by using the command: rabbitmq-service remove  Navigate to %APPDATA%\RabbitMQ\db Delete everything (make sure you have a backup just in case) Go back to the command promp and install the service with the command:...
tags: ,
one comment

Using Autofac Aggregate Services

September 13, 2016

I really like using Autofac, it’s one of the most productive libraries I know, and it’s so much fun to discover new features. Aggregate Services is Autofac feature that allows you to wrap a set of dependencies into a single aggregate without the need to implement a concrete type for it. Consider the following case where you have a base class that has dependencies on a few other services, and two derived classes: class BaseLicenseGenerator:ILicenseGenerator { //members public BaseLicenseGenerator(ILogger logger, IUserRepository userRepository, ILicenseRepository licenseRepository) { ...
no comments

Slides and demos from my talks at the Copenhagen .NET User Group

Last week I spent a few days at Copenhagen together with my family and friends. Copenhagen is amazing and I had such a good time that is hard to come back. During this time I gave two talks at the Copenhagen .NET User Group which was hosted at the Siteimprove offices who also sponsored the event. It was very fun and I’d like to thank to everyone who came Here are the links to the slides and demos of my talks Rx 101 http://www.slideshare.net/TamirDresher/rx-101-tamir-dresher-copenhagen-net-user-grouphttps://github.com/tamirdresher/Rx101 Debugging tricks you wish you knew http://www.slideshare.net/TamirDresher/debugging-tricks-you-wish-you-knew-tamir-dresherhttps://github.com/tamirdresher/DebuggingTricks

New speaking engagement – Copenhagen .NET User Group

June 30, 2016

I’m very excited and greatful to be invited to speak at the Copenhagen .NET User Group (CNUG) on August 25th. If you’re around, come and meet me. You can register at: http://www.meetup.com/Copenhagen-Net-User-Group/events/230231914/  I’ll do two sessions during the meetup: Reactive Extensions (Rx) 101 Reactive applications are designed to handle asynchronous events in a way that maximizes responsiveness, resiliency, and elasticity. Reactive Extensions (Rx) is a library that abstracts away the sources of events and provides tools to handle them in a reactive way. With Rx, filtering events, composing event sources, transforming events, and dealing with errors all...

New speaking engagement–NDC Oslo 2016

March 6, 2016

I'm very thrilled to take part at this year's NDC Oslo conference. This wil be my first time at Oslo and i'm really looking forward to it. Here are the details of my presentation: Cloud Patterns (9. june 2016 09:00 - 10:00) Cloud computing provides amazing capabilities for the modern application, but there are many pitfalls to be aware of – scalability, resilience, elasticity, security and more. In this session we will look at basic must-know patterns when architecting for the Azure cloud: Message-Oriented, Poison Messages, Cache-Aside, Priority Queues, Retry Patterns and more. http://ndcoslo2016.oktaset.com/p-4357
tags: , , , ,
no comments

Giving more memory space to 32bit process

January 20, 2016

Its fair to say that the standard CPU architecture that we all use these days is 64bit. But even though everyone has 64bit processor and 64bit windows, some processes are still 32bit. I’m currently working on a project that uses some 32bit 3rd party package, and because of that must also be build in 32bit. This project does a very heavy simulation and uses some very big geometric models that can take a large amount of memory. Because of the large models that the application needs to work with, there were times that we got OutOfMemoryExceptions.Obviously we...