Mobile authentication with Xamarin.Auth and refresh tokens

An internal app I’ve been working with for a while needed to use OAuth2 (specifically, OpenID Connect) to perform authentication against our Google Apps for Your Domain (GAFYD) accounts. Standard OAuth 1.0/2.0 flows are made easy with the Xamarin.Auth component. … Continue reading 

Posted in Xamarin | Leave a comment

Dealing with the linker in Xamarin apps

The last few months I’ve been working quite a bit with Xamarin and in particular Xamarin.Forms. I’ve got a series of posts upcoming on my exploits with that and migrating to ReactiveUI, but first things first, I actually need to … Continue reading 

Posted in Xamarin | 8 Comments

Azure Mobile Services with AutoMapper

At the recent Xamarin Evolve conference, Paul Batum gave a great talk on Azure Mobile Service in cross-platform business apps, part of which included a piece on how AutoMapper fits in with their overall system: There were sooooo many of … Continue reading 

Posted in AutoMapper | 1 Comment

Comparing processing times of NServiceBus saga patterns

A few weeks ago I gave a talk at NSBCon NYC on scaling NServiceBus, and one of the pieces I highlighted were various saga/processing patterns and how they can affect performance. It was difficult to give real numbers as part … Continue reading 

Posted in NServiceBus | Leave a comment

Domain Modeling Around Deletes or “Using Cassandra as a queue even when you know better”

Understanding Deletes Delete heavy workloads have a number of pretty serious issues when it comes to using a distributed database. Unfortunately one of the most common delete heavy workloads and the most common desired use case for Cassandra is to … Continue reading 

Posted in Cassandra | Tagged | 7 Comments

NServiceBus 5.0 behaviors in action: routing slips

I’ve wrote in the past how routing slips can provide a nice alternative to NServiceBus sagas, using a stateless, upfront approach. In NServiceBus 4.x, it was quite clunky to actually implement them. I had to plug in to two interfaces … Continue reading 

Posted in NServiceBus | 6 Comments

The value proposition of Hypermedia

REST is a well-defined architectural style, and despite many misuses of the term towards general Web APIs, can be a very powerful tool. One of the constraints of a REST architecture is HATEOAS, which describes the use of Hypermedia as … Continue reading 

Posted in Architecture, REST | 12 Comments

Cassandra Query Patterns: Not using the “in” query for multiple partitions.

So lets say you’re doing you’re best to data model all around one partition. You’ve done your homework and all you queries look like this: SELECT * FROM my_keyspace.users where id = 1 Over time as features are added however, … Continue reading 

Posted in Cassandra | 4 Comments

Cassandra Auth: Never use the cassandra user in production!

Normal best practice for security with applications is never to use the default admin user. In Sql Server this is manifested by the recommendation not to use the “sa” user. Likewise in Cassandra the default Cassandra user has full rights … Continue reading 

Posted in Cassandra | Tagged | Leave a comment

Container Usage Guidelines

Over the years, I’ve used and abused IoC containers. While the different tools have come and gone, I’ve settled on a set of guidelines on using containers effectively. As a big fan of the Framework Design Guidelines book and its … Continue reading 

Posted in Architecture, Dependency Injection | 46 Comments