C# Is The Future

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.

The point is of course not to alienate any other programming languages, C#, Python, Ruby, JavaScript, F# and many others will be as relevant as they are today in the future. If you take one thing away from this session it should be that C# is living, and it is growing fast. Embrace the future!

Let me know if this was helpful!

[...]

Joining Invoice2go

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!

[...]

Getting Started with Raygun in .NET now on Pluralsight

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!

[...]

Asynchronous Programming in .NET

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!

[...]

When is 1 Not Equal to 1?

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; [...]

C# 6.0 - Null Propagation

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: ?. [...]

Hello 2015, Goodbye 2014!

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! [...]

Using WebAPI with Azure Mobile Services

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!

[...]

C# 6.0 Overview

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!

[...]

Visual Studio 2015 Preview and Open Sourcing .NET Announced

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! [...]

Introducing the Azure Mobile Services .NET Backend

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. [...]

Getting Started with Continuous Delivery

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? [...]

Microsoft Compiler Platform aka Roslyn

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. [...]

What's New in C# 6.0

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!

[...]

C# vNext (6.0) Overview

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! [...]

Xamarin Introduction on SSW TV

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. [...]

What is Xamarin and Why Should I Care?

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! [...]

Asynchronous programming

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! [...]

I Want To Learn Programming, Where Do I Start?

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. [...]

Goodbye Wordpress Hello Snow

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. [...]

Moving to Microsoft Azure

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!. [...]

Universal Windows and Windows Phone Apps

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! [...]

Xamarin and REST APIs

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! [...]

Cross-platform development using C# and Xamarin Studio Australia Tour

Posted by Filip Ekberg on 04 Apr 2014

XamarinAre 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. [...]

Microsoft Open Sources C# Compiler

Posted by Filip Ekberg on 04 Apr 2014

VS2013LogoThis 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. [...]

Xamarin Introduction

Posted by Filip Ekberg on 26 Mar 2014

Do you struggle with cross-platform development? Should we just use html and JavaScript? Should we write once for every platform? Enough with that. Come along and get an introduction to Xamarin's unique approach on how to solve the headaches of cross-platform development.

This talk was performed at the Sydney Mobile Development Meetup Group. [...]

Reliable and fast applications by introducing parallel and async

Posted by Filip Ekberg on 04 Mar 2014

In this breakfast event that I spoke at which my employer Readify organizes, I talked about Parallel and Asynchronous applications. The idea here is to talk about what makes an application fast and reliable. Then we talk about different concepts and how to apply these in small isolated code snippets to make use of some really powerful stuff we have to our disposal.

This talk is aimed towards C# developers, but the parallel and asynchronous information applies to more than just the .NET family. [...]

Understanding Sorting

Posted by Filip Ekberg on 24 Feb 2014

This is the third piece in the back to basics series that I've been doing and this time we're looking at one of the most fundamental algorithms out there. Arguably one of the first one you'd learn in school; sorting. There's a huge variety of sorting algorithms ranging from bubble sort, insertion sort, selection sort, merge sort, quick sort among many others. Most of them have their perfect use case, in the case of bubble sort, it's a great algorithm to get started with to understand how to re-position things in an array. However, bubble sort is a O(n^2) algorithm which means that it will grow quadratic as n grows. If you want to win a free digital copy of my book C# Smorgasbord, continue reading and leave a comment with an optimized version of the merge and merge sort functions! [...]

Calculating Document Distance

Posted by Filip Ekberg on 17 Feb 2014

Previously we looked at the first part in my Back to Basics series where we understood and implemented Peak-Finding. This time we are going to talk about something slightly different; Calculating Document Distance. I really recommend you to take a look at the MIT course on Introduction to Algorithms, for this post I really recommend watching the part about document distance. [...]

Understanding Peak-Finding

Posted by Filip Ekberg on 10 Feb 2014

No matter how far we are in our careers as professional developers, it's great to freshen up on our fundamentals. Be it the importance of Memory Access Patterns or algorithms in general, it's really beneficial. I find it quiet interesting that it's been a pretty long time since I sat in the algorithms and data structures course on my technical institute and I tend to understand it completely different now. [...]