About Me
My name is Lachlan Barclay and I've been a professional software developer for . I wrote and maintain the Retirement Income Simulator in my role as the lead software developer at Mercer Australia. I have worked for CSIRO, Telstra, Fosters, Sensis, Intrepid Travel, CBM, Defence, Crown Casino & HP. I love 한글 but I'm really bad at it.
I've written articles for oWasp, volunteered at Rhok, been the guitarist in Toehider and played guitar, bass and drums many times at church. I've written mobile apps, built an arduino MIDI foot pedal, released a few albums, been on TV, ascended nethack and got a Grand Master rank in tetris.
Speaking
I have spoken at NDC Sydney, DDD Melbourne, DDD by night and Alt.Net. Talks that I have given are:
- How to be the best developer in the world
- Monitoring all the things with Prometheus and Grafana
- Porting your ASP.NET app from Framework to Core
- Introduction to Docker
- How to get things changed at your company
- Zero downtime deploys
- Typescript in the real world
If you are interested in any of these talks feel free to tweet me and let's get in contact.
Workshops
I love running workshops! Here's the two that I run:
Talk summaries
How to be the best developer in the world
Do you know what it takes to become an awesome developer? Have you sat back and compiled a list of all the skills, techniques and abilities you need to be fantastic at your job? Often we downplay the difficulties of becoming a great software dev, but in reality, it's a huge combination of technical skills, people skills, business skills, and the ability to keep 17 cats in the air at any-one time.
After hiring a junior graduate who was fresh out of university, I started compiling a checklist of everything I wanted for him to learn. I was shocked to find just how long that list was, and surprised at how many of them I was particularly bad at! Let's discuss what makes a great developer, how to keep your eyes on the prize, and how to eventually become a Grand Master.
Monitoring all the things with Prometheus and Grafana
Can you see at a glance how much memory, CPU, disk & bandwidth your applications are using across your servers? What about your databases and cache servers.. or even air quality? Let’s discuss Prometheus and Grafana so you can catch problems before they happen, thus achieving monitoring nirvana.
Open source application Prometheus provides a way for you to view and set alerts on anything you could possibly imagine. By adding two lines to your dot net application you can easily start monitoring your memory usage, API response times, CPU utilization and thread count. Using Grafana you can establish a baseline and set up alerts that won’t become annoying! You’ll get insights into the day-to-day running of your application to see what is being run the most often and work out where you should be concentrating your efforts to improve performance.
Once that’s established we can start talking about writing your own custom exporter to setup monitors and alerts on literally anything you can measure. If it has a number, you can monitor it.
Porting your ASP.NET app from Framework to Core
Do you have a framework application that you want to move to dotnet core? Does it seem like a massive, difficult and error-prone undertaking? Let’s discuss techniques for porting your application, taking small steps at a time, to reduce risk and end up with all the new dotnet core goodness.
Moving your framework application to dotnet core doesn’t have to be a dangerous experiment. By slowly moving your application across, one class at a time, you can make life easy for yourself, your users and your application. In this talk we will discuss:
- Migrating Entity Framework to EF Core
- Utilising dotnet standard
- Wrapping full-framework only libraries
- Bundling JS + CSS
- HtmlHelpers vs TagHelpers
- Error handling
- Session state
- Caching
- Antiforgery Tokens
- Authorisation
- SOAP
- WebApi
Plus a myriad of techniques to make sure everything continues to work as before!
Introduction To Docker
With the launch of cross-platform DotNet Core, it's now possible for dotnet applications to be deployed to linux! But how can we do this easily and without worrying about environment setup and nasty dependency libraries?
Docker provides the ability for us to quickly deploy extremely small, "vm-like" application packages, named images. These can be started up in less than a second, unlike a traditional Virtual Machine. However wrapping your head around Docker can be a difficult and daunting task. Come and here Lachlan simply explain, and more importantly show, what Docker is and how it can simplify your deployments.
How to get things changed at your company
As the logical, consistent and reasonable (ahem...) lot that us software developers are, we often expect everything else to be the same. Sadly, the world is not like that. Developers often butt heads with "Company Inertia" - the ability for a company to change their processes and practices quickly. This can lead to huge frustration, anger, cynicism and even despondence when it comes to our every-day job.
However, these can be worked around! With a bit of basic psychology, understanding of human nature and a whole lot of patience, there are plenty of tools and tips we can use to get things improved for the better. Come and hear from Lachlan what he has learnt.
Zero downtime deploys
Do your deployments result in downtime for your users? Are updates to your app done on the weekend or late at night to avoid upsetting them? Zero downtime deployments mean that your users won't even notice that the system has been updated. This is the final piece of your automated-deploy nirvana. Come and hear from Lachlan how to achieve this.
Typescript in the real world
After porting all of a large application's Javascript code to Typescript, I was shocked to find just how much I'd been missing out in terms of general maintainability and productivity. Typescript provides the ability to add Types to javascript, so that code can be more easily written and refactored. Come and hear what I've discovered over the past 2 years of retrofitting typescript to a 5 year old application.
Popular Posts
- Porting From Dotnet Framework To Dotnet Core
- Optimise Your App With Visual Studio's Profiler
- Setting Up CI To Setup Your Success
- Asp.net Two Factor Auth With Google's Authenticator App Part 2
- Asp.net Two Factor Auth With Google's Authenticator App Part 1
- How To Be The Best Developer In The World
- What programming concepts should I master?
Workshops
All Posts By Year
2023
- Jailbreaking a Japanese wii
- Inside my Yamaha DG-130 and Marshall 1936 cab
- Mounting a bike rack to your brick wall
- Adding a circuit breaker to your ASP.NET application
2022
- Programming an Arduino to connect a dance pad via USB for StepMania
- Song 'You are a star' chord chart
- Updating IIS certificates with powershell
2021
- Recommended Multiplayer Doom WADS
- Talking To Doom In 1993 From Discord In 2021
- Moving Dotnet App To Linux And Docker
2020
2019
2018
2017
- Deployments With Zero Downtime In Asp.net
- Setting Up CI To Setup Your Success
- Electron App Vs Native Winforms App
- Twenty Two Nerdy Things I Learnt This Week
2016
- Automated Builds With Gitlab And Jenkins
- I Suck You Suck We All Suck At Coding
- Toehider Gig With Gibson Les Paul
- Speaking At Ndc Sydney
- Arduino Based Midi Patch Changer Footpedal
- Using Nuget To Manage Shared Code
- Asp.net Two Factor Auth With Google's Authenticator App Part 2
- Asp.net Two Factor Auth With Google's Authenticator App Part 1
- Fixing Owasps Css
2015
- Update For Android App For East Timor
- Async Await And Asp.net
- How To Be The Best Developer In The World
- Ddd Conference 2015 Wrap Up
- Securing Your Pc After Online Abuse
- Speaking At Ddd Melbourne 2015
- An Android App For Timor Leste
- What programming concepts should I master?
- How To Know You've Been Coding Too Long In .net
- Succeeding At Every Job Interview
- An Asp.net Bug From 1973
- Generating Barcodes With Zen Barcode Generator
- Moving From Classic Asp To Mvc5
2012
2011
2009
2007
2006
- Voice Of Apollo Gig
- Petrucci Clinic Photos
- G3 Australia Melbourne Show Movies Pictures And Reviews
- Everything Else Vs Vb.net
- Cvs Sourcesafe Or Subversion
- Ascended Nethack
- Metaltheater.com Stats
- Downloading Entire Blog Site
- Connecting To A Mysql 5 Db Oracle 10g Db In Java
- Programming Ajax Code In Vb.net
- Oracle Sequences