Xamarin Evolve 2016 Recap

I'm currently writing this at the Orlando airport waiting for my flight to head home back to South Carolina. Normally I couldn't wait to head back home after an event to relax and to just, well, be home. However, I'm a bit sad that I have to leave. I met some awesome folks, both Xamarin employees and other attendees. I have an absolute blast helping to give training for Xamarin University. And I got to experience Wizarding World and Jurassic Park at Universal.

I'll split this recap up into two sections, training and the actual conference, since they were two different event. Yet I couldn't imagine a better experience without doing both.

Training

At each Xamarin Evolve they include a two day bootcamp style training. It's basically a set of Xamarin University classes in two full days. It can be pretty intense, but you really get a lot out of it.

A colleague and I were asked to become adjunct trainers to help out with some of this training. When I was asked to join I first thought, "Crap, this is going to be really scary being up in front of folks for two full days!". But then I remembered that the best way to grow is to get out of your comfort zone. So I accepted.

During the time up until the actual training, I learned a lot about how much preparing and practicing really does matter even though it's the last thing I want to do for it. It was also around that time that I heard a Hidden Brain episode on grit. The lesson learned there is that using your grit to do things is the least fun experience, but it helps reap in the rewards once it's all done that much more. I then took preparing more seriously. I even took a hiatus from reading books! That's something that hardly ever happens.

The first day of training comes and I don't feel as nervous as I did during the practice sessions. My colleague did the introductions and welcome session. Then I was up for my first session to introduce Xamarin Forms. I then ended the day finishing half of the last session on local data. The next day I resumed the local data talk and went straight into web services, while my colleague finished out the rest of the day.

My absolute favorite part of the training was interacting with the students one-on-one and helping them when they had questions or issues during the labs. I definitely want to do this again and it's great inspiration to give more talks. I'm already thinking of what I can present on next and start preparing the materials for that.

Conference

The conference itself was nothing short of amazing! Tons of great sessions that are already posted online (thank you, Microsoft!). I learned a great deal just by attending the ones that I did and will definitely take that home with me for future projects and learning.

Here are a few sessions I attended:

  • If You Build It: Making Apps for Humans - A wonderful presentation that showcases several interviews the presenter had with, not only some other developers, but with people you would encounter on the street with other careers besides tech. Honestly, this made me want to attempt something similar in my home town.
  • Becoming a XAML Master - I've done XAML in Xamarin Forms for around a year and half now and have come to really enjoy using it for building up my UI. This session covers a few extra tricks I can incorporate to utilize the power of XAML instead of having to write out extra code.
  • Enhancing Your Mobile Application with Machine Learning - I've been interested in data science and machine learning for a while now and this was the perfect session to get me started on the path of learning more of it. Great demos in this one!
  • Mobile Apps in F# - Of course I have to go to an F# session! This one really drives examples of why you should try F# and some demos of using it in Xamarin applications. The async and MailboxProcessor stuff here is really digestible!

Another one of the highlights of the conference was definitely going to Universal Wednesday night for Wizarding World and Jurassic Park. Rode on a couple of rides, finally got to try some butter beer, and just hung out with awesome folks.

Something that surprised me was the amount of F# fans that were also at the conference. I met several of them there and had tons of great discussions on the language itself and the community that surrounds it.

An interesting thing they do at Evolve is they have a section called the Darwin Lounge. This includes mini-hacks that you can do and win prizes and play with some of the awesome things they have also created


All this really sums up to is to just go to Xamarin Evolve every chance you get! It was and still is the best conference experience I've ever had!

And obligatory monkey photo...

More Medium Shenanigans

Once again I've been playing around (and definitely reading) with Medium. Honestly, this is probably one of the best mediums for writing, especially how much tied it is to Twitter and Facebook for very easy sharing. I figured I'd write a few articles there to share around that community.

If interested, y'all can follow me on Medium. I do more recommending and writing responses to other articles than creating my own.

Book Review: Elon Musk Biography

I've done a few book reviews in the past here, but I admit I've been slacking a bit. Not on the reading, though. I've actually been reading even more. I've been slacking a lot in writing about my thoughts and notes on each of the books. It's time to change that.

 

 

For those who are a bit out of the loop and doesn't know who Elon Musk is, he's the CEO of both SpaceX and Tesla as well as a chairman of SolarCity. From those credentials alone you can definitely tell that this guy knows what he's doing! One thing I like to tell people when describing Elon Musk is that I do believe he's the biggest innovator of our generation. This book, Elon Musk: Tesla, SpaceX, and the Quest for a Fantastic Future, will definitely describe how that statement is true.

From the start you get a sense of Elon as he was as a young kid. The biggest thing to hit me was just how much he read at a young age. This is actually not very surprising as I've always heard that the best leaders and innovators are voracious readers. Of course, that's not the reason I like to read, but it is nice to know that you share this habit with people like Elon.

What is interesting is the story of Elon's earlier companies, Zip2 and X.Com. X.Com eventually did merge with PayPal and Elon was the largest shareholder in the company. These two companies gave Elon his first millions.

SpaceX

With the money from the previous companies, Elon started SpaceX. This was brought on by a life-long dream to go to Mars. The book details the innovations and early failures of the company that builds their own rockets right in the US.

The innovations being that all parts of the rocket were built in-house at the SpaceX factory which turns out to be much cheaper than buying them from other countries. They continue to innovate by building rockets that can be reused by coming back to earth and land by themselves.

They did have early failures when they tried to launch the first version of their Falcon rocket which almost brought the company into bankruptcy. Thankfully, they were able to get a successful launch and able to win a lot of bids from NASA to keep the company going.

Tesla

Tesla is definitely a company I've been following for a while. Ever since I got to test drive a Model S in Houston a year ago, I've been interested in them.

A bit of a detail of Elon and Tesla is that he's a co-founder because he was the first investor into the company. If he didn't do this, then the company would have gone bankrupt long ago and due to that, I would consider him a co-founder. With that said, Elon probably did do a lot for the company as its CEO. He helped get the initial Roadster out and had a lot of input into the Model S.

I'm definitely looking forward to what this company will bring, especially with them making their gigafactory that should help bring down the cost of the batteries and, overall, the cost of the car.

Conclusion

Overall, I thoroughly enjoyed this biography. I already thought Elon Musk is an interesting person and definitely someone I'd want to meet one day. This book gave a bit more insight into him as a CEO and innovator as well as the histories of SpaceX and Tesla.

I'm pretty sure there will be more to come from Elon and I'll be waiting anxiously for another book on the rest of Elon's innovative career.

Wintellect F# Blog Post Collection

I know it seems I've been MIA lately, but the truth is I've actually been blogging quite a bit on F# at my spot in Wintellect for a little while. Below is a collection of what's currently out there.

There will definitely be more in the future so keep an eye out there for more posts on F# and there may even be a few on Xamarin with F#.

Introduction to Paket

Paket has been quite the talk lately in the .NET community, and for very good reason. It is essentially another way to manage dependencies in your .NET projects.

But why replace NuGet?

Paket is basically a NuGet replacement so I'm sure you're wondering, "why would we need to replace NuGet?" Paket essentially just takes the functionality of NuGet and adds some extra nice features.

For one thing, Paket makes it able for you to control exactly what's happening with your package dependencies. No more conflict between different packages if those packages reference different versions of the same dependent package.

Another really cool thing Paket does is that it can reference a single file from GitHub. How many times have you needed that and just wound up downloading what you needed and using it that way? If a new version of that file comes along, you'll have to repeat that process.

But I'm already using NuGet

No problem at all! Paket has a nifty convert-from-nuget command to get you up and going.

I'm hooked...but how do I get started?

First, you need to include a .paket folder in the root of your solution. This will include paket.exe that will be used to install and restore packages.

Once that folder and its contents are there, you'll need to create a paket.dependencies file in the root directory of your solution. This file will be similar to the following:

source http://nuget.org/api/v2
nuget FSharp.Data
nuget FAKE

This file tells Paket what the sources are (NuGet or GitHub) and the package/file names so it can be downloaded.

You can then use a build.cmd file or manually call paket.exe like below.

\.paket\paket.exe install

This will create a packages folder that will include all the libraries.

From here you can always manually reference the libraries that you want, but Paket makes this easy as well. In each of the folders where you have a project file, create a paket.references file that contain the names of each library you want to be referenced, like below.

FSharp.Data

Note that FAKE isn't in the file since it won't get referenced. The paket.references file will only add to the project if the library is in a lib folder. FAKE is in a tools folder. This isn't a problem since it can be referenced manually in the build.fsx file.

To get Paket to use the references file, simply rerun the install command with the --hard switch.

\.paket\paket.exe install --hard

This will look at the paket.references file and use that to automatically reference the project with the appropriate libraries.

After that, you're good to get started on your project.

Conclusion

Hopefully this walkthrough will help you get started with using Paket to make your package management easier than before. This is still a young and very active project so I wouldn't be surprised if there are tons of things that this can do for all of our .NET projects.