Posted by Filip Ekberg on 05 Nov 2015
In 2013, I published my first Pluralsight course; MSIL for the C# Developer. The aim of this course was to teach you about how a compiler looks at your C# code, and translates that into something else. Understanding the internals of how C# is translated into IL is a good way to master C#. If you're building a car, knowing what an engine looks like on the inside will most certainly make you a better mechanic; although you'll get a long way without it as well. [...]
Posted by Filip Ekberg on 14 Aug 2015
I am very happy to announce that my Pluralsight course covering Asynchronous Programming in .NET is now available! In this course, we will cover the way to get started with asynchronous programming in .NET. You will learn how to apply these patterns in new and existing applications and you will see how to avoid the common mistakes. [...]
Posted by Filip Ekberg on 21 Jul 2015
Asynchronous programming can be very difficult, and if done incorrectly it can cause devastating results in your applications!In this talk I introduce asynchronous programming in .NET and talk about a few gotchas that will be handy along the way. I'd also like to take this opportunity to announce that I'm working on my next Pluralsight course that will talk about Asynchronous Programming in .NET. It is definitely an important subject and I hope you'll enjoy both my coming course, and the below presentation. [...]
Posted by Filip Ekberg on 20 Jul 2015
Over the past year I've done a few talks on C# 6.0 and the changes that we can expect from the next version of C#. Interestingly enough, each time I've done this talk a bunch of things have changed. Features have been added, features have been put on-hold and most importantly more people have joined the discussions on Github.
I was invited to speak at the Sydney and Canberra .NET User Groups where I talked about how C# is truly a relevant programming language of the future. It's time to embrace it! [...]
Posted by Filip Ekberg on 10 Jul 2015
Yesterday I was notified on Twitter that the RSS feed for my blog included draft posts. Which is not really ideal since it will contain articles that aren't really ready. I have previously written about how I moved to Sandra.Snow from Wordpress and how much I really enjoy this transition. One of the biggest benefits is that it is open source, this means fixing this bug was rather easy and quick.
Albeit the fix might have been easy and quick, I did run in to some issues with my automatic deployment. Every time I check something in to the git repository, Azure will notice this and start deploying my website. Little did I know that there was another bug, unrelated to the RSS feed getting my drafts, in my deployment script. Luckily for me, I got Microsoft Azure Traffic Manager running on-top of my blog, which means that I load balance between different zones.
The load balancer is configured to run in performance mode so that visitors in US are transferred to the US West location. Meanwhile, EU visitors are transitioned to the EU location and Asia to the Southeast Asia location.
To avoid down-time, I had two options when fiddling around with the fix for the bug.
- Clone the Website in one of the locations and setup a staging like environment
- Disable one of the locations in the load balancer and use that as a staging environment
Obviously the second option would be cheaper, but it does come at a price: users from that location will experience longer load times. [...]
Posted by Filip Ekberg on 28 May 2015
C# is as relevant as always and is definitely something you want to learn! In this talk I did at ANZ Coders, I talk about how C# has changed through history, what it potentially could get in the future and why you want to embrace this lovely programming language.
Let me know if this was helpful!
Posted by Filip Ekberg on 20 Apr 2015
As of next week I'm joining Invoice2go as a Senior Software Engineer! For the past 1 year and 8 months I've worked with some of the best people in my career at Readify. I'm truly grateful for the opportunity to move to Australia and work with these amazing people!
For the past 10 years I've worked as a consultant in some way or another and it's been a great journey! I'm super excited to step into a product company and face some really exciting challenges.
Working for Readify has given me a lot of confidence and opportunities to work on myself, which I am eternally grateful for. When moving to Australia I had never done any public speaking in English and it's been exciting to get better and better at this over time. Joining Invoice2go means I will still be living and working in Australia, which is great, the development community here is so friendly and exciting!
I would really like to thank everyone that has attended my sessions, watched my courses, read my book or visited this blog; you are all the reason I love doing what I do. Without your support, I would never have moved to Australia and I would never have had the opportunity to work with these great companies!
My adventure at Invoice2Go starts next week and I am super excited!
Posted by Filip Ekberg on 26 Mar 2015
I am very excited to announce that my latest course is now available on Pluralsight! This time I talk about the importance of tracking errors and how to easily track errors using Raygun!
Exactly two years ago, on this very day, I published an article on how to easily add error tracking to your applications using Raygun! Now I am very excited to announce this course on Pluralsight that covers the usage of Raygun in different types of .NET applications.
Watch this course to learn how to track unexpected errors in:
- Xamarin applications
- Desktop applications (WPF, Windows Forms, Windows Services)
- ASP.NET applications
Watch the course on Pluralsight: Getting Started with Raygun in .NET
I hope you enjoy my work on this course, please leave me a comment if you end up watching the course and let me know if it helps you!
Posted by Filip Ekberg on 25 Mar 2015
Asynchronous programming have been around for quite some time. Even so it is becoming more and more important! It is surely not an easy topic to master, but in this 1.5 hour session I will do my best to explain the fundamentals to Asynchronous Programming.
After watching this session, I hope that you will have a good understanding how to use asynchronous operations in your code. Be it a WPF, Windows Forms, Xamarin.iOS, Xamarin.Android, ASP.NET or other .NET application! We will of course look at the most common reasons for locking and killing your application.
Slides available below on Slideshare
Let me know if this was helpful to you and if you have questions about asynchronous programming!
Posted by Filip Ekberg on 24 Feb 2015
Not too long ago I noticed a rather interesting question on JabbR that caught my attention:
When is 1 not equal to 1? asked the developer. Loving to solve problems and help others, I started questioning my fellow developer about the details of the problem. The first thought that popped up in my head take us back to my university days when first hearing about
NaN (Not a Number), by definition
NaN != NaN.
To my surprise the data type was not of a type where
NaN is applicable; [...]
Posted by Filip Ekberg on 11 Jan 2015
The next version of C# brings a lot of sugar to the table, which we have looked at a few times already. Although, I think it will be interesting to look into a few of the features in more detail and of course look at what tools like reflector says about the code generated. To start this off I want to look at null propagation. This is one of my favourite language features in the upcoming version of C#. I think, and I hope, that this will change the amount of Null Reference Exceptions that we experience in our applications.
Let us start by just looking at the operator itself, it's simple and elegant. The null propagation operator looks like this:
Posted by Filip Ekberg on 07 Jan 2015
It feels like it was just yesterday that we moved to Australia, even though it is almost 1.5 years ago. It does feel like time goes faster when you're having a lot of fun, and I sure have had in 2014! I'm truly humbled and honoured to be awarded with the Microsoft MVP Award for a third year in a row. I'm really proud to be a .NET MVP!
I have every single one of you to thank for it, without you reading this blog, watching my videos, attending my presentations it wouldn't have been possible. It truly re-fuels me standing in front of a crowd sharing my knowledge, writing about new(or old) things that excites me or recording courses that will help you advance in your career. Speaking of career progression, I'm very happy to have been promoted to Senior Consultant at Readify. Not a single day goes by that I don't learn something new and I truly love it! [...]
Posted by Filip Ekberg on 14 Dec 2014
When you thought Azure Mobile Services couldn't become more awesome the .NET backend was thrown into the mix. This gives us an extremely powerful, scalable and easy to work with backend – in the cloud!
In this session, I'll show you how to get hacking with the .NET Backend for Mobile Services, how to cater for different connectivity patterns by taking data offline and how to leverage other data sources such as Mongo!
Posted by Filip Ekberg on 10 Dec 2014
Did you think C# was already the perfect programming language? Did you think there was no work left on refining the language?
In this session I’ll walk through what’s new in C# 6.0, how the new open-source compiler helped and why we have an awesome time ahead!
Posted by Filip Ekberg on 12 Nov 2014
Having a look at Visual Studio 2015
The next version of Visual Studio is right around the corner, it has previously been referred to as Visual Studio 14 but has now gotten its name; Visual Studio 2015. This new version of Visual Studio does not only include a bunch of new features that will make developers happier and more productive, but it also includes a new version in the family that means that you as a community contributor can get completely free version of Visual Studio 2015! [...]
Posted by Filip Ekberg on 05 Nov 2014
Azure Mobile Services As We Know It
If you, as many others, look for an easy way to create a scalable and reliable backend, Azure Mobile Services is a viable option. Up until today, we have had the capabilities of defining the backend in Mobile Services using NodeJS. Even if you have used Mobile Services though, you might not have had to bother with the NodeJS parts because out of the box you have a dynamic data schema that adapts with the models you define.
On-top of allowing you to easily define what the data looks like, you have been able to use NodeJS when inserting, updating or deleting data to for instance make sure that a user is authenticated. The word "mobile" comes nicely into play as developers of Mobile applications we do not want to focus too much on where we store data and how it is done; we want as low friction as possible! Thus having an extremely easy way to define, extend and scale a backend is highly valuable.
Posted by Filip Ekberg on 04 Nov 2014
Working in an agile environment
While working in a high paced and agile environment, building block by block to reach the ultimate minimal viable product, stakeholders will most definitely ask more than once if they can see what you have thus far.
Agile, Scrum, continuous delivery and testing are not new concepts or buzz-words. Although they have all been around for a while they are still something well worth talking about and working on improving in your team.
Over the years I have seen countless of products being worked on where there has been no real definition of, or well-thought through direction to get to, a minimal viable product. The main problem I see derives from the customer not being able to define a subset of features that are good enough for a first product release. If we put ourselves in the shoes of a customer, we might as well have been a customer or will be in the future, imagine having a vision of a great product and someone telling you to cut it in half and choose which side you like the most. It's difficult, right?
Posted by Filip Ekberg on 31 Oct 2014
A bit over a year ago I wrote and talked about Roslyn a fair bit, a lot has happened in this last year both in terms of the progression of the C# language and the compiler platform itself. Most notably is probably the decision to make the compiler platform open source which happened earlier this year. With the decision to open source the compiler platform, it meant that the community could take part of what is the next version of the languages, what the compilers looks like under the hood and most interesting of them all: the decision making behind language features and directions of the project.
I will not go into detail on the language features of C# 6.0 as there is an article published by me in the DNC Magazine on this. Instead we will take a look at how we can use what is available to us today. [...]
Posted by Filip Ekberg on 23 Sep 2014
I was again invited to write an article for DNC Magazine, this time on the changes that we will see in the upcoming language changes coming in C# 6.0.
We will not necessarily see new keywords in C# vNext, but we will see semantic differences that will make it easier for developers to avoid boilerplate code.
Some of these introduced semantic differences are much awaited and some of them are solving thinner edge cases; they are all very welcomed by the community! As the next version of the compiler is still under development, some of the language features may be taken out, some may be added and some may be delayed to the version after vNext.
The evolution of C# is a proof that the language lives, people are using it and it is here to stay.
Read the entire article in the DNC Magazine!
Posted by Filip Ekberg on 12 Sep 2014
In this presentation I'm covering features we can expect to see in the next version of C#. We're also looking at some of the features that we may see in the coming language update! [...]
Posted by Filip Ekberg on 31 Aug 2014
Cross-platform development and Xamarin is something that everyone is talking about right now and rightfully so! It makes development for iOS, Android and Windows Phone a delight! I was invited to give an Introduction to Xamarin (+ some more bonus content at the end!) at the Xamarin Hack Day in Sydney.
You can read more about upcoming Xamarin Hack Days around the world on xamarinhackday.com. [...]
Posted by Filip Ekberg on 02 Jul 2014
I've had the honour to be invited by DNC Magazine to write a bunch of articles for them over the past two years and this time I got to write a piece for their 2 year anniversary issue about Xamarin! Below is an abstract from article and I hope you'll take the opportunity to subscribe to their free magazine! The team begin DNC Magazine are truly making an excellent job putting together good and interesting articles and I hope you find my latest contribution interesting enough to keep subscribing! [...]
Posted by Filip Ekberg on 12 Jun 2014
I was invited again to the Brisbane C# Mobile Developers to celebrate Xamarin's 3rd Birthday by delivering a half an hour talk on asynchronous programming. Asynchronous programming is more important than ever and it's extremely important to understand what is going on when we're working with it. We really want to do whatever we can to avoid deadlocks! [...]
Posted by Filip Ekberg on 28 May 2014
Rather frequently I get questions from friends, family and strangers asking me about what it's like to work as a software engineer. We've got a good reputation that we are well paid and have fun at work, at least that is what I've noticed people thinking about this occupation. It's not like we're paid as much as movie stars, even though some of us pretend that we are stars, but it still attracts people because of the wages and its reputation. [...]
Posted by Filip Ekberg on 21 May 2014
As per my previous post I've moved to Azure and this has been a really interesting experience so far. Not only did it force me to learn more about the offerings of Microsoft Azure, but I also came to the conclusion that moving away, as far as possible, from Wordpress was about time. [...]
Posted by Filip Ekberg on 20 May 2014
For a very long time this blog has been running on a Swedish ISP, Glesys. I've been extremely happy with their customer service, their reliability and their speed. However, it comes with a cost, thus I've decided to move to Microsoft Azure!. [...]
Posted by Filip Ekberg on 29 Apr 2014
As I'm down in Melbourne for a Readify Dev Breakfast Xamarin talk, why not visit the local .NET User Group and have a chat about Universal Apps for Windows and Windows Phone?
With the new possibilities of sharing code between our Windows and Windows Phone applications, there is no longer a reason not to target all the platforms! We are looking at what this new development model looks like, how to make our first universal app and or course, how to communicate with the cloud! [...]
Posted by Filip Ekberg on 11 Apr 2014
I was invited to the Brisbane C# Mobile Developers by Glenn, a tutor I met during my first Xamarin University course. He's a great tutor and the Xamarin University lectures are of really high quality, if you can I'd really advice you to join the program!
In this talk I go into, in short, what Xamarin is, how to use a REST API from your applications and what kind of code sharing strategies there are. Sit back, enjoy and don't forget to pop some popcorn! [...]
Posted by Filip Ekberg on 04 Apr 2014
Are you keen to learn more about Cross-platform development using C# and Xamarin Studio? I have had a lot of interest in my Xamarin Introduction video, which was released in March, and I am very happy to announce that I will be doing a Xamarin tour in Australia!
These events are organized and hosted by my employer Readify. [...]
Posted by Filip Ekberg on 04 Apr 2014
This is truly an extremely exciting time, Microsoft is Open Sourcing the C# Compiler (Roslyn). Even without being open source, the new C# (and VB) compiler have had some proven potential. We have seen some exciting things such as semantic merge and powerful plugins for Visual Studio.
Now that the source is out there and they are accepting contributions - where do you think this will end? Personally, I cannot even imagine what the community will come up with.
C# Compiler Source Code Available Here. [...]