Tuesday, October 13, 2015

Photos from Austin .Net Users Group October 12, 2015 - What's New in C# 6.0



Jimmy Bogard addressed 35 people at the Austin .Net Users Group on C# 6.0 and the new C# compiler.  The original C# compiler was written in 2000 in C++.  Roslyn, a completely rewritten compiler coded in C# is currently available.
Roslyn is only usable from VS 2015.

Roslyn being developed in the open at github.com by Microsoft.

It is multi-threaded.

Roslyn makes implementing new language features much easier.
Jimmy showed how C# 6.0 is used in his project AutoMapper.

Here are my unedited random notes on new features in C# 6.0:


0. private setter:
public Type SourceType {get; } //implies setting only in constructor

1. auto-initialize
public string FirstName { get; set; } = "Joe";
public string CreationDate {get;set;} = DateTime.Now;

field or property?  if using variable outside a class use property

2. Expression Body Function Members:
public string FullName { get { return FirstName + " " + LastName; }
replaced with 
public string FullName => FirstName + " " + LastName;
Can be used for methods as well:
public string GetFullName() => FirstName + " " + LastName;

3. Using Static - pulls in all possible methods from class to be used in class
using static System.Console;
WriteLine("....");
 using static system.math;
Round()
using System.Linq.Enumerable

4. Null Propagating Operator (The Elvis Operator) ?.
var x = source?.GetType() ?? sourceType;

5. String Interpolation - use instead of string.Format()
return $"Trying to map {SourceType.Name} to {DestinationType.Name}";

6. nameof()
throw new ArgumentNulException(nameof(context));

7. Index Initializer
static Customer() {
Dictionary customers = new {
[0] = new Customer(),
[10] = new Customer()
}
 }

8. Exception Filter

catch(Exception ex) when System.Threading.Thread.CurrentPrincipal.Indent.Name != "asdf"


9. await/catch/finally



Saturday, October 10, 2015

PersonalCapital.com as a replacement for Quicken

With Windows XP retiring, I looked for a replacement for my Quicken financial software which ran on my soon-to-be-obsolete XP computer.  I never liked Quicken, but it worked and was barely adequate.
 
After evaluating many software programs and web sites I settled on PersonalCapital.com.
I was queasy about uploading sensitive data to their site, but realized my home computer can be hacked as easily as their site - no place is safe anymore.

I love PersonalCapital.com.  It's one easy place to consolidate all my finances.
The best part is their asset allocation function which looks across all my accounts to determine if I  have the right mix of stocks and bonds, foreign and domestic investments. 

Their charts are simple but effective in showing trends in my finances.

I update my check categories and PC shows  how much I am spending each month on food, gas, entertainment and other things.

The coolest thing happened this last week.  PersonalCapital sent me a notification that one of my investment funds had a higher than expected fee.  Sure enough I researched recent changes in my retirement account, and our company had re-allocated our previous funds at Vanguard into new funds.  One of the new funds had a much higher fee than the previous fund.  Now I know I need to switch funds.

Thank you Personal Capital.