Tuesday, March 22, 2016

Megabus Review

Last week the kids were on spring break so we went to San Antonio for a few days by Megabus.  It was our first time on one.

Good

What's not to like about a double-decker bus?  The seats were equivalent to economy class on a US airline.  We paid extra for the 'premium' seats on the top deck towards the front, which have a little extra leg room, small tables, and electrical outlets.  Even paying for 'premium' seats for all four of us both ways the total was about $70.  The bus had Wifi, but most streaming services like YouTube, Netflix, and Pandora were blocked.

The San Antonio "bus stop" (see below) was convenient for us, about 4 blocks from our hotel on the Riverwalk.  There is easy city bus access from there to all the "touristy" stuff like The Zoo, Sea World, Fiesta Texas, The Pearl Brewery Art Museum, etc.

Not So Good

The "bus stops" are actually parking lots.  In Austin this wasn't a big deal because it was next to Dobie Mall and therefore access to food and bathrooms.  There was also a gate agent-type person and a security guard.  However in San Antonio there was nothing but a parking lot in the middle of an industrial area.

Overall

We'll probably ride it again the next time we go to San Antonio.  The kids liked it and it sure beats driving on I-35 in rush hour and parking downtown.

Thursday, March 10, 2016

Microsoft in the News

I work in a Microsoft-centric shop and some of their recent developments are of great interest:

SQL Server for Linux

The next major version of SQL Server (2016) will be available for Linux. This could have a big impact on licensing costs- Linux is heaps cheaper than Windows Server.
http://arstechnica.com/information-technology/2016/03/sql-server-for-linux-coming-in-mid-2017/

Microsoft buying Xamarin

Xamarin is a product that compiles C# code into native iOS and Android.  I'm following this acquisition closely and am hoping Microsoft will fold Xamarin into Visual Studio because that will make it feasible for organizations like mine to build iPhone/iPad and Android apps using our current tools and skill sets.  Otherwise we would have to set up separate dev environments and learn the languages of each platform (Objective-C, Java, Swift, etc. ), which isn't really an option at my small shop.

Wednesday, March 9, 2016

WPF/MVVM - The ObservableCollection strikes back

Currently I am leading a project to rewrite one of my organization’s major internal apps. I got to choose the architecture and decided on WPF/XAML, the MVVM pattern, and Entity Framework 6. All three are new to me and have pretty significant learning curves. Welcome to the new world. Well, new world for me anyway and apparently old world for everyone else since 2009.

Pretty early on I fell into what I now know is a common WPF “trap for new players”. When you display a list box or gridview of items in an ObservableCollection, changes to items within the ObservableCollection don’t fire its INotifyPropertyChanged event. Fortunately this problem is well known and solutions are easy to find. I ended up using this one-http://www.codeproject.com/Articles/660423/ObservableCollection-notification-on-member-change

Unfortunately this only solved half of the problem for me. I’m using Entity Framework in Database First Mode because I have to use an existing SQL Server database. Therefore my ObservableCollections don’t implement INotifyPropertyChanged, even though, after implementing the above solution, the ObservableCollection is listening for it.

After lots of Googling and testing I ended up using PropertyChanged.Fody to fix this. It implements INotifyPropertyChanged at compile time into whatever model objects you specify- http://www.codeproject.com/Tips/853383/Adding-INotifyPropertyChanged-to-Entity-Framework

I hope someone will find this helpful.

Tuesday, March 8, 2016

Hello world!

Hi everyone! Thanks for reading my first blog post ever. I guess I’ll start off with a little about me and why I’ve started doing this.

I’m developer and DBA at a small IT shop in Austin Texas. For about 10 years now I’ve been working with the Microsoft .Net stack- currently C#, WPF/XAML, T-SQL, LINQ, Razor, Javascript/J-Query, HTML, etc. I’m also a husband, father, Cub Scout den leader, amateur endurance athlete (road-biking and triathlon), and entry-level yogi. And I try to get a little sleep every now and then.

So why blog? Will I have enough to say? And will anyone care? Fortunately in the past year my organization has been making great leaps forward technology-wise. I’m learning a lot- often the hard way. Other people’s blogs have been very helpful getting me over the learning curve. So I would like to try to give back.  And Scott Hanselman’s “Get Involved” video on Pluralsight- https://app.pluralsight.com/library/courses/get-involved inspired me to take the plunge. So here we go. Hope you enjoy it!