In addition to my regular blog posting, I thought it might be worthwhile to have a post weekly on various blog posts, videos, talks, tools, whatever that I found interesting through the week. So this is the first of hopefully many roundups.
Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.
Blazor, Razor, WebAssembly, and Mono by Dave GlickReally great blog post explaining how it all works. I was actually working on a Blazor talk for my local user group and came across Dave’s post. Really worth a read if you want to understand the basics of how Blazor, Razor, WebAssembly and Mono all fit together.
RazorPageGeneratorI was actually curious of how you could use Razor without MVC. Turns out I found this console app in the Razor repo that does exactly that.
Rider 2018.1 is released!If you haven’t tried Rider yet, you really should. If you are already using it, you’ll be pleased to see that 2018.1 has been released. Probably the most interesting feature add to me is Roslyn analyzers:
Roslyn analyzers: in addition to Rider’s own 2400 code inspections to help you detect errors and code smells in all supported languages, Rider now detects Roslyn analyzers and highlights them in the code editor.
GOTO 2017 • The Dehumanisation of Agile and Objects • James CoplienI really enjoyed this talk for the long history and family tree from TPS to Agile that Coplien provides in the talk. But really I just love Coplien pointing out how far removed and generally ignorant our industry is from it’s history and their original ideas.
It can easily be argued that agile grew out of the spirit of object orientation: its focus on change, on anthropomorphism, and on people. Alan Kay saw objects as a way for people to connect with their environments through their machines. As late as the 1980s people were still talking about anthropomorphic programming. Fast forward 30 years and we witness the formal birth of Agile. “End users” dropped out of the vocabulary, and software became an independent artefact that only had to be “working,” as a consideration separate from “individuals and interactions.” And the focus on interactions between end-users and their software was displaced by interactions between developers. It was the nerds’ revenge. In the mean time object-orientation also devolved, replacing the end user’s mental model of networks of interacting objects with developers’ class hierarchies. The future soundness of software-intensive products will require giving end-user interaction the same attentiveness as nerd interactions, and on being more outwardly focused and inclusive of end-user perspectives than we are today. Domain-specific languages and a return to the original conception of objects as extensions of the user can serve us well.