Robin Minto

Software development, security and miscellany

Alt.NET and Me

Microsoft, community and .NET Renaissance

I wasn’t there in the beginning. In 2003, whilst I was taking some time out to go snowboarding, a small group of pioneers were inciting the .NET revolution. Dissatisfied with the oppression of Microsoft, they wrought the iron of .NET into the sword of Alt in the fires of pain.

Anyway, I was in the Alps and the snow was great! So much so that I went back in 2004.

But the revolution was brewing.

IMGP1045 - rotated

Every day’s a school day

“You have to run just to keep up”
— My old boss, around 1997.

The pace of change in software development is significant and “every day’s a school day” has epitomised my software development career, where it can feel like you’re running just to keep up. I could have learnt different things in different ways but I’ve never stopped learning.

There have certainly been points at which my learning accelerated. One such moment is where new team members have joined the team and have brought new experience and insight. Another is joining the developer community.

Discovering community

Although I was learning, I was almost a Dark Matter Developer. I was getting stuff done but I was blissfully unaware of the vibrant community of developers that surrounded me. One of the team introduced me to the blog of Brighton (UK)-based developer Mike Hadlow. It was reading the comments on this blog post that I noticed a phrase that piqued my interest — “ALT.NET”.

2017-03-03 14_18_48-Code rant

What was this strange “ALT.NET UK” that they talked about? I Googled this magical thing and found that the Alt.NET UK conference was imminent — I registered immediately and I was in.

I met an amazing group of people at the Alt.NET UK unconference (including Mike Hadlow!). That led me to the London .NET user group, coding dojos, Progressive.NET, OWASP, DevOpsDays and the list goes on. I have many friends from that first Alt.NET event.

What’s in a name?

“There are only two hard things in Computer Science: cache invalidation and naming things, and off-by-one errors.”
— Phil Karlton et al

In Computer Science, naming things is hard. The same applies here. As Scott Hanselman said around the time of the first US conference, the Alt.NET name is polarizing. Some took it to mean anti-Microsoft. As with others, I took “alternative” to mean something that embraces choice.

Why shouldn’t we build software using any tools irrespective of where they come from? The key is that we build great software. The same is true of languages and frameworks. I love C# and .NET but if Python is more appropriate for a particular use case, use that. Why can’t we look at other the communities around other languages for inspiration too? We can, and that’s Alt.NET.

There was a feeling that Alt.NET was elitist and the Alt meant an alternative group of people. Perhaps. However, I wasn’t part of the elite and Alt.NET won me over. And the Alt.NET name still has a lot of power. It can be a rallying cry.

.NET Renaissance

I want a wider set of developers to discover a rich .NET ecosystem. Microsoft is treading a difficult path which seems to be guided by dragging large Enterprise customers using .NET Framework into the future that is .NET Core at the expense of new developers, who might struggle in adopting .NET Core. Will backwards compatibility and the complexity it brings mean that they choose PHP, Node.js, Go or something else instead?

Microsoft is a very different to the organisation that it was in the last decade. There are great people there doing great things but it is a large organisation and can do a lot of damage with little missteps. I want to see Microsoft continue to foster the ecosystem without stifling it. Much progress has been made here. Visual Studio wizards allow you to choose a unit testing framework other than MSTest; Newtonsoft Json.NET and jQuery were embraced, and not extinguished. These are limited examples but show the right intent. But even then, when Microsoft “bless” something, does that mean the others can’t compete?

.NET Core has amazing potential. It’s enabled a cross-platform world that was unthinkable at one time. It is even present in AWS Lambda ready for the next evolution of cloud computing. We have an opportunity to grasp all of that potential as a community and run with it.

Ian Cooper has detailed some of the reasons we need to take up the baton. Mark Rendle and Dylan Beattie have already written much more about the possibilities. As Gáspár Nagy says, it’s “high time to think positively”. I’m certainly not the only one looking forward to being a part of the .NET Renaissance!

"HTML5 basics for app devs" at BarCamp London 8

I’m at my first BarCamp this weekend (BarCamp London 8). I decided to do my "HTML5 basics" presentation again. I think it went quite well – there are a few bits that I could have explained better I think and a projector issue meant that my slides were yellow where they should have been white, but otherwise good. It was a room for 30 and it was standing room only (which is down to interest in HTML5 rather than me of course). Here are the resources that I pointed to in the presentation. These are some of the best HTML5 resources that I've found so far. Hope you find them as helpful as I have. We’re half way through Sunday and I can say that BarCamp has been great. The BCL team are quite practiced at conferences now and everything is running smoothly. It’s pretty remarkable for a free conference. Many thanks to everyone involved.

"HTML5 basics" presentation

I did a brief presentation entitled "HTML5 basics" at the London .NET User Group Open Mike night on Wednesday. I had a great time!
Open Mike night is intended to introduce new speakers to the community. I've been going to community stuff in London for a couple of years and I thought this was a good opportunity to step up and give something back. There were four other presentations, which were all excellent:
  • Sara Stephens - "Pair programming, the good, the bad and the ugly"
  • James Knowles - "Three years of running a tiny software company.. All my mistakes.."
  • Matt Lacey - "Cross platform mobile app development"
  • Garry Shutler - "Introduction to Sass"
I gained something watching all of them. I hope others got something from my talk. Thanks to Toby for organising the night and to Michelle and EMC Consulting for organising the venue and drinks. So, I wanted to post the resources that I pointed to in the presentation. These are some of the best HTML5 resources that I've found so far: Hope you find them as helpful as I have. EDIT: Toby's blogged about the event and upcoming events and one of the attendees has written a little summary. I'd agree that Sara and Rachel stole the show with their sketch to explain pair programming. I might have to use interpretive dance to describe HTML5 next time!