DDD South West 8
I attended DDD South West at the weekend in Bristol. As usual, it was a great event.
Here are the sketchnotes I took of the talks I attended.
Outside-In TDD
Give It A REST - Tips For Designing And Consuming Public APIs
Kubernetes For .Net Developers
Teaching An Old Dog New Tricks
Patterns And Practices For Building A Better Web API Architecture
Cambridge Alexa Devs Meetup
I recently attended the inaugural meetup of the Cambridge Alexa Developers Group held at Amazon’s Cambridge office. The group was set up by Bob Harris and Rich Merrett, who both gave talks on building Alexa skills and SSML.
David Low, Amazon’s Head of Solutions Architects, also gave a talk about how to best create a skill by working out its user value:
One particlarly interesting thing covered was a formula for working out whether a skill will be a “killer skill”:
| Cusomter value | × | Contexts | × | Frequency | × | Multipliers |
| Complexity | × | Friction |
The higher the output of this formula, the higher the likelihood that a skill will be succesful.
While this talk wasn’t recorded, he has given a similar talk before that was.
NDC London 2018
Last week I attended NDC London. It’s not the first time that I’ve been, but it is the first time I’ve done the workshops that run alongside the main conference.
I attended the “Identity & Access Control for modern Applications and APIs using ASP.NET Core 2” workshop hosted by Dominick Baier and Brock Allen. This was a two day workshop consisting of a mixture of presentation, discussion, and hands-on labs. It dived deep into the security aspects of modern ASP.Net applications, specifically the application itself and its APIs. The first day focused on how external authentication (via OAuth 2.0 and OpenID Connect) could be used to save having to implement authentication yourself in your application. The second day took this further and focused on how to secure an API that you may have in an application so that you can call it server-to-server, from mobile applications, or from JavaScript applications.
The remaining three days of the conference was in the form of talks. Like I’ve done before, I sketchnoted many of the sessions that I attended.
What Is Programming Anyway?
The Power Of Technical Decisions
You Build It, You Run It
An Introduction To Kotlin
Composite UIs: The Microservices Last Mile
Designing For Speech
Jewelbots: How To Get More Girls Coding
Who Needs Dashboards?
Pilot Decision Management
A Developer’s Guide To Machine Learning
CSP XXP STS PKP CAA ETC…
Web Apps Can’t Do That, Can They?
These are the other talks I attended but didn’t sketchnote:
C# 7.0
C# 7.1 and 7.2: The Releases You Didn’t Know You Had
The Psychology Of Social Engineering
The Modern Cloud
The Hello World Show Live
hosted by Heather Downing and Spencer Schneidenbach
Tips And Tricks With Azure
Why I’m Not Leaving .Net
DDD North 7
I recently attended DDD North 7 in Bradford. I’ve been wanting to take up sketchnoting for a while now, but have never gotten round to doing it, so when Ian Johnson (go check out his sketchnotes - they are great) prompted me to take my sketchbook and pens with me, I reluctantly obliged. I’m so glad I did though as I really enjoyed doing them, and I feel it had the effect of me being able to recall much more of the content of each talk. I tweeted the sketchnotes after each session and got a great response from both the speakers and attendees.
Here are the sketchnotes I did during the day.
Microservices: What I’ve Learned After A Year Of Building A System
Spot The Difference: Automating Visual Regression Testing
Married To The Mob (Programming)
How To Parse A File
Alexa, Open Sneezaroo…
Setting a culture for all threads in an application
If you do any kind of globalisation in your applications, you will probably already be familiar with the Thread.CurrentCulture and Thread.CurrentUICulture properties that can be used to set a culture on the thread so that .Net knows to load the correct resources and to format numbers and dates properly.
A big downside to using approach this is that the culture is only set on the current thread, meaning that any new threads created will be using the default culture for the application (which is tied to the regional settings of the operation system). This wasn’t too much of a problem years ago when multi-threading was not used widely, but in modern application development it is virtually impossible to avoid using multiple threads (e.g. Task Parallel Library), especially when trying to make use of modern multi-core hardware. You would have to manually set the culture when spawning new threads to ensure that the correct culture was being used - a real pain and a common cause of bugs.
.Net 4.5 comes to the rescue with the introduction of two new properties:
CultureInfo.DefaultThreadCurrentCulture
CultureInfo.DefaultThreadCurrentUICultureA culture can be set using properties that will then be used for all threads in the whole application domain, meaning that you can set the correct culture at application start up and all threads will use that culture. By default, these properties are set to null meaning that the pre-4.5 behaviour will still hold and that the system culture will be used by default.
The MSDN docs for CultureInfo.DefaultThreadCurrentCulture and CultureInfo.DefaultThreadCurrentUICulture provide more details.






















