NDC Conferences
The Philosophy of Architecture - Barry OReilly - NDC Oslo 2024
updated
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#ddd
Misunderstandings between developers and the business are a plague. Bad communication makes projects fail. This talk presents a remedy. The session's highlight will be a practical demonstration with the auditorium as an interview partner.
Domain Storytelling is a technique to transform domain knowledge into effective business software. It brings together domain experts and development teams to: (a) understand the domain of a software system, (b) find microservices boundaries, and (c) talk about requirements.
We let domain experts tell us stories about their tasks. While listening, we record the stories using an easy-to-understand pictographic language.
The domain experts can see immediately whether we understand their story correctly. After very few stories, we are able to talk about the people, processes, and events in that domain.
The talk is aimed at everyone involved or interested in software development, including non-technical people.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #csharp #fsharp #functionalprogramming
We are two developers with a long experience in OOP, and in the .NET world it means C#. Both of us later discovered functional programming, and in the .NET world it means F#. One of us was convinced to make a switch to F# with its immutable data and terse syntax and never looked back. The other one was convinced that the evolution of C# and adoption of FP elements make it a solid language to take advantages of both paradigms. Perhaps both of us are right in our choices but what would YOU do?
Come to our session, and you will become our judge. You will be presented a series of small tasks with solutions in both languages, and you will vote for a winner in each category. Perhaps yo can make a choice for your own future?
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#testing #devops #api #web
In this presentation we'll introduce you to k6, an open source load testing tool, developed by Grafana Labs. k6 is very easy to run, powerful and very flexible thanks to the testing scenarios you can write in Javascript.
You'll learn how to define testing scenarios, set checks for expected behavior and define thresholds. We will also look at visualizing metrics using a variety of tools such as Prometheus, InfluxDB and Grafana.
k6 can scale beyond a single node and we'll show you how to run distributed tests while controlling the execution remotely via the CLI and API.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#testing #ethics #web #application #apps #applications
Accessibility is important to ensuring that everyone has access to services and information needed to help them live as independent and fulfilling of lives as possible. However, sometimes ensuring things are accessible can be a bit of a daunting process to get started with when you initially start looking into it. This talk will delve into some concepts, methods, and tools that you can use to get started on your accessibility journey.
We'll look at features that may already be available to you in applications you use every day, as well as additional applications, extensions, and resources you can make use of. Life is rough enough, but with accessibility we can work together to make it better.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #sql #apps
When JK worked with many different clients and projects, he frequently heard "EF Core is slow" or "We should do this in raw SQL" only to realize they haven't used EF Core correctly.
JK will show you how to improve your EF Core statements as well as how various configurations impacts the performance and scalability of your application. You'll be blown away at how small changes can significantly impact not only the performance but also stability of the application.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#devops #microservices
While observability is the first step towards building observable systems, monitoring enables us to action on the telemetry collected.
Previous approaches to monitoring have relied primarily on infrastructure and service metrics, but modern approaches have embraced the idea of monitoring based on metrics that reflect the user experiences more accurately.
This talk will elaborate on those differences and a new monitoring approach that actions on SLOs. We’ll cover the following:
1. Observability vs Monitoring
2. Metrics and Types of Metrics & Monitors
3. Why SLOs are a good monitoring strategy
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#css #web #javascript
Embark on a journey to revolutionize your approach to responsive design and unlock its true potential in 2024. Discover the power of modern CSS, including container queries, style queries, clamp, and delve into the remarkable capabilities of flexbox and grid. By exploring new frontiers and embracing innovative techniques, we can break free from the traditional dependence on media queries
Imagine a future where media queries are used sparingly for specific elements like website headers. The rest of the design seamlessly adapts using size container queries, fluid sizing, and upcoming cutting-edge features. By embracing these advancements, we can create truly responsive websites that dynamically respond to users' needs and device specifications.
Join us as we navigate this exciting landscape and propel ourselves towards a future where responsiveness is more intuitive, efficient, and adaptable than ever before.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#chatgpt #machinelearning #database #ai
What comes after ChatGPT? Vector database projects like Weaviate, Pinecone, and Chroma recently got millions of dollars of funding for their projects. But what are vector databases? And why will they be so important in the future?
Let us see how Vector Databases can help you define and run your machine learning business use cases. We will explore some real-world use cases and try to understand the potential of vectors and vector databases. A brief hands-on demonstration just using open source will give you an idea, of how to use the new generation of databases in praxis.
We will also cover how vector databases can work together with chatGPT and helps you to overcome some limitations of chatGPT.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
Technological progress is non-linear. Sometimes, innovation is a smooth curve; hundreds of small, incremental improvements over many years – until something comes along that changes the game; something that fundamentally challenges our assumptions around what technology can achieve. Within the last few decades, technology has profoundly and irreversibly changed the shape of human society; how we work, how we relax, how we communicate and collaborate. And, in almost every case, the key has been digitalisation: the ability to take transform part of our reality into a stream of bits.
With the benefit of hindsight, it’s easy to see the tipping points, to identify the moments when a particular technology or idea achieved critical mass, when something went from being an interesting prototype to a viable product – but for people who were there at the time, it often wasn’t nearly so obvious. In an industry that’s perpetually excited about the “next big thing”, how do developers and technologists decide what to focus on? Should we be thinking about augmented reality? Will machine learning replace developers? Is AI a fun toy, a useful tool – or an existential threat to humanity?
Join Dylan Beattie for an entertaining look at the innovations that really did change the world (and a few that didn’t!), and how understanding our history can help us make sense of the next digital revolution – whatever that turns out to be.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/@NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#ai #cloud #machinelearning #web #code #github
It's time you meet your AI pair programmer. Do you find yourself stuck on a chunk of code? Unsure of how best to center a div? GitHub Copilot can help. Get unstuck by seeing suggested lines or code, whole functions, and learn more about your development journey through having code explained, and even translate your code into other languages.
Find out more about GitHub Copilot, new features, updates, and see a demo.
The session will cover:
- What is AI
- Applications of AI
- How GitHub Copilot works
- How to get better results from GitHub Copilot with prompt engineering (the art crafting effective prompts)
- Power of conversational coding with GitHub Copilot Chat
- What's coming next
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture #devops #programminglanguage #testing #tdd
After more than 10 years of development, our pet project, Fluent Assertions has almost reached the 300 million downloads. Providing a high quality library like that doesn't come for free. We've been trying to write code that is clean enough for our contributors, write tests that are self-explanatory, ensure breaking changes are strictly controlled and try to make it easy to use.
In this talk, I'd like to share the tools and techniques we have been using, how they've enriched our day jobs, and how they may do that for you too.
I'll talk about the release strategy, documentation, versioning, naming conventions, code structure, the build pipeline, automated testing, code coverage, API change detection, multi-targeting and more.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#ui #ux #web
Even the smallest design flaws can have a seismic effect on business. Yet product teams continually miss the little things. Why? Join me on a tour of seemingly insignificant interface design quirks (and the larger flaws behind them) that have changed history, caused mass panic, otherwise upended society, and completely ruined my sandwich.
Because software and apps are central to modern life, our day-to-day work has monumental purpose and value. We banish interface rage, help businesses save and make serious money. We keep people safe from disaster and yes, pickles.
We'll explore why small interface problems are never the whole story behind historic (or mundane) UI failures. You'll come away with a stronger sense of purpose in the smallest details and broader context of your important development work.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#space #technology
What will it take for humanity to become a space-faring civilization?
Join Richard Campbell as he talks about the near-term technologies that are moving this idea closer to reality. The first problem is getting up there - and improvements in rocket design have substantially lowered the cost of access to space. Then the question - what do we do up there? And how do we stay? And is that even possible in the long term? Why bother being a space-faring civilization?
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#workskills
Are you tired of feeling overwhelmed because you overcommit? A recovering “People Pleaser,” I know the harm and unrest that can come with saying “yes” too often. Learn to recognize your resistance to saying “no.” Get examples of strategies you can begin to implement immediately to get better results in your life. This talk will present tips and tricks for re-training your mind to only accept invitations that will propel you forward in life.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#devops #cloud #code
It's almost 15 years since the inception of DevOps. The core value of DevOps was to break down the silos and improve communication to achieve stability, reliability, availability, and security. In the boom of the ecosystem since that point, it sometimes feels like we've created more silos and stemmed communication in every way with the tooling we have. What if we take the lessons we’ve learned along the way and try to reimagine DevOps tooling to fulfill the original promise of the DevOps movement? What if we could remove the 200% problem (the need to know a specialist language AND a cloud framework) from our tooling? What if we could focus on delivery in a collaborative manner rather than communicating via a series of handoffs via pull requests? It’s time for a second wave of DevOps tools.
In this talk, Paul is going to reflect on the lessons we've learned along the DevOps journey, for example Infrastructure as Code, and talk about the work System Initiative is doing to revolutionize how people collaborate to build and maintain complex infrastructure. System Initiative is the beginning of an ecosystem to create a real-time, multiplayer, multi-modal reinvention of DevOps tooling. System Initiative provides a modern, state of the art approach to infrastructure management that increases productivity with its simulation-based workflow.
Once you see what it’s possible to achieve, you won’t want to settle any longer.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #architecture #agile #ddd #microservices #software #apps
While traditional layered architectures have held their ground for years—structing applications into recognisable tiers such as “presentation”, “business logic”, and “data”. Are they really suited to the demands of modern software development?
Teams are being asked to move faster and faster as well as be able to change direction quickly as customer needs change. And what happens when a product hits success and needs to scale, fast! Do these architectures make it easy for apps to scale and new developers to get up to speed and be productive quickly?
Essentially, do these architectures allow teams to build for change? The one constant in our industry.
In this talk, we’re going to look at an alternative way to build applications using vertical slice architecture (VSA). You’ll learn what VSA is and how it differs from the layered approach. We’ll cover it’s key advantages and how it can help you, or your teams, build better software, faster. We’ll also talk about some common misconceptions of the architecture as well as trade-offs when choosing it.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#cloud
In the ever-evolving landscape of technology, operational health isn't just a checkbox; it's a crucial aspect of business success. This critical importance extends across the entire organization, with every individual playing a role.
This talk is focussed on walking through what an Operational Health Maturity Model looks like, what its different aspects are - availability, SLOs, data and metrics, people, process, etc.. And then dives deeper into a power tool called Operational Review you can leverage at different levels of the organization, its potential pitfalls and how to avoid them. I will be sharing war stories and experiences of how I have watched different companies I have worked at go through this maturity journey both as an engineer and an engineering leader. You will walk away from this talk with tips and tricks and ideas on how you can adapt and leverage this for an organization of any scale and size.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #architecture #web #app
It’s served its users well, but now our .NET 4.8 app is looking a bit long in the tooth. Although technically still supported, the framework as a whole is at a dead end. It’s time to modernize, but that doesn’t mean rewrite.
In this talk, I’ll walk through migrating a typical enterprise .NET 4.8 web app from soup to nuts. We’ll look at tools and techniques for migrating features and components incrementally (and still deploying to production). I’ll also highlight some of the newer analyzers to see what we can easily migrate, adapt, or replace. We’ll look at many of the common dependencies and components most systems incorporate, such as Entity Framework, SignalR, and DI containers, and how to modernize and migrate those components. There may even be Web Forms!
Migrating to modern frameworks can seem daunting, but luckily for us, we can do so in a safe, deliberate approach that I will walk through in a real-world example.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #gaming #mobile
Growing up I used to love diving into a ‘choose your own adventure’ style book and then later on in life, the same concept in video game form. I would like to apply this concept in today’s talk…
Join me in learning about how we can build video games with .NET MAUI in the form of a ‘choose your own adventure’ style game. You as the collective audience will be able to choose the paths that we go down and influence the content that gets presented.
Learn through our own voting system how we can combine technology such as SignalR to provide real time multi-player support into our .NET MAUI based games as well as many other cool techniques to really make our games or applications feel alive.
Get Your Tickets at ndctechtown.com
#shorts #cpp #clanguage #softwaredevelopment
Get Your Tickets at ndctechtown.com
#shorts #cpp #clanguage #softwaredevelopment
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #audio #opensource #api #code
For over 20 years Mark Heath has been maintaining NAudio (github.com/NAudio/NAudio), an open source audio platform library for the .NET platform. While the original goal was just a bit of fun and creating some music related utilities, the library ended up becoming a mainstay of many large commercial telephony related applications.
Along the way, he learned a lot about the many and varied Windows audio APIs, battled with the limitations of .NET as a platform for real-time audio, and experienced the joys and frustrations of running an open source project.
In this session he'll share many of the lessons he learned about writing high performance .NET code, the quirks and capabilities of Windows audio APIs, and show some of the new possibilities on the horizon thanks to .NET 6 and beyond.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #programminglanguage
Intermediate Language (IL) Weaving is a powerful technique that allows to greatly simplify the experience of developers using the .NET Realm SDK by hiding a fair amount of complexity from end-users.
Working with a weaver, though, is tedious, error prone and the resulting code is a black box. These are some of the reasons that convinced us to migrate to Source Generators, a feature introduced in .NET 5 that allows to produce code on the fly during compilation.
This talk will go through the reasons why IL Weaving was used in the first place, our long journey switching to Source Generators and why they do not yet satisfy all our needs.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#security
OAuth has been around for more than 10 years now, and has become the standard protocol for token-based security. Like every popular technology that has been growing with its requirements, there are some things which work really well, and some that did not quite stand the test of time.
This talk looks at the essentials you should know about, if you would enter the OAuth ecosystem today. Which protocol flows and extensions should you study, which “dialects” like OpenID Connect are important, and if you decide to dive deeper, what would that “recommended reading” list look like?
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture #data #bigdata #computer
For millennia, humans have known things. Pretty quickly, we started writing them down; our brains aren't particularly good at storing all the things we know reliably, and we needed something more durable.
A long time ago, 'writing things down' looked like clay tablets with cuneiform on them, and affairs have only got more complicated from there. Nowadays, we try and write things down so that computers can understand them too, and that's given us a bewildering array of options - disk drives, magnetic tape storage and so much more.
In this talk, we're going to take a look at the history of writing things down, and discuss why some methods have worked better than others. We're going to talk about why writing things down for humans is different than doing it for a computer, and why it's difficult to try and do both at the same time (this is what code is). Finally, we'll take a look at what the state-of-the-art is today for keeping data safe, and what the future might hold.
This talk has no prerequisites, although a fondness for weird facts will certainly enhance the experience.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/@NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#azure #kubernetes #cloud #dotnet #microsoft #serverless
You have decided to run your cloud-native applications using containers. But how will you deploy these containers to Azure Cloud?
AKS or Azure Kubernetes Service is very popular, but it also adds a lot of complexity to setting up and deploying your infrastructure!
ACA or Azure Container Apps are Microsoft Azure's new serverless container offering, built as an abstraction on top of AKS, and could be the solution to your question!
In this session, I will introduce you to Azure Container Apps for .NET 8 and guide you through setting up a multi-container app using Azure Container App container environments.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#code #softskills
Code reviews is feedback, but if your friend or partner or colleague would ask you for feedback on some of their work, you would probably not send them a list of 50 things they did wrong. Yet in code reviews, this is perfectly normal.
Could we do better code reviews by just changing the way we give and take feedback? I'll share 10 tips that I try to follow to turn code reviews from a boring exercise or something you dread to a much more pleasant experience.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#ai #bigdata
In this interactive session, we'll explore the fascinating realm of neural style transfer, a subfield of Generative AI. This talk will involve a deep dive into the technical aspects of style transfer algorithms and their applications in art and design. Audience members will have the opportunity to interact with a live style transfer model and create their own AI-powered artwork.
Introduction:
We'll start by sharing a brief history of Generative AI and the advent of neural style transfer.
Then, we'll understand the core concept of style transfer and its intersection with the field of art and design.
Finally, we'll look at some examples of notable AI-generated artwork.
Technical Dive into Neural Style Transfer:
We will discuss the architecture of neural networks used in style transfer, including Convolutional Neural Networks (CNNs).
We'll look at the concept of 'style' and 'content' in images from a machine learning perspective.
We'll provide a walkthrough of the process of separating style and content in images and recombining them.
We'll present the mathematical formulations and loss functions involved in style transfer.
Challenges and Solutions in Neural Style Transfer:
We'll highlight challenges such as maintaining the balance between content and style, computational requirements, and creating high-resolution images.
We'll discuss the solutions and techniques used to overcome these challenges, like style scale, multi-scale image synthesis, and others.
Interactive Demonstration of Neural Style Transfer:
We'll conduct a live demonstration of a style transfer model where attendees can submit images for content and style, and see the resultant stylized image.
We'll walk through the process happening behind the scenes when the model generates the new image.
Applications and Implications of Neural Style Transfer
We'll discuss various applications of style transfer in art, design, entertainment, and more.
We'll touch on the ethical and copyright implications of AI-generated artwork.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #database #devops #microsoft #testing #code
How does a highly functional development team manage enterprise data engineering? They focus on the core principles of Schema Management, Standards Enforcement, Database Testing, and Automated Incremental Deployment. Microsoft brings an agonizing menu of choices to architects and engineers; they can be a challenge to wade through. This session can help. Let’s review how some of the world’s largest and most critical app & data engineering teams handle change management, observability, and quality at enterprise scale.
Goals: • Understand how enterprise teams manage schema control, including versioning, migrations, and updates, to ensure data consistency across all environments. • Explore how enterprise teams ensure engineering quality through automated testing, code reviews, and standards enforcement. • Learn how enterprise teams automate reliable delivery through continuous integration and deployment, reducing errors and improving efficiency.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/@NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture #devops #cloud #security #malware
In today's world of personal data, privacy concerns, malware and just plain bad luck, having access to a production system and production data is simply a Bad Idea. And not just for yourself, but every one. The developers, the database admin, the operations team - none of them should have access to production.
So how can we do that, and at the same time maintain our high rate of releases, our agility and our sanity?
Glenn will go though some principles to follow and also show you in practice how you can create your environment, lock it down and update it, all without human intervention. He will also show you how you can monitor the environment for unauthorized changes. How you can have "emergency hatches" for when you really need access, but in a controlled fashion. Examples will be for Microsoft Azure, but the principles are universal.
In short, if you want to keep your production environment and production data at an arms length, but still so what you need when you need it, this is your session.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#devops #agile #cloud #github
Want to learn how a large enterprise works in an agile way? April will talk about how Microsoft engineering teams embarked on their own DevOps journey reducing a three-year release cycle down to three weeks. This required changes to their people, process and products.
April will then talk about how GitHub builds GitHub with GitHub. Comparing the two agile journeys to deliver the largest developer platform on the planet.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#security #cloud #devops #web
Over the past year, the interest in NRK.no has increased among foreign powers. Although it's nice to be popular, it can sometimes become a bit too much. In this presentation, we will go through how DDoS attacks are experienced at NRK.no and how we try to minimize the consequences when the attacks occur. We will also see that not all attacks are hostile or come from external sources.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#ethics #softskills #ux #design #workskills
The designers are creative, the developers are talented, so why are you miserable all the time? The project is a mess, there’s about a hundred tickets about the whitespace between items, and everybody is mad at each other because we’re behind schedule. How did it get like this, and how can we fix it?
In this high-energy talk focused on developers, Lemon shares a framework for effective and respectful communication between development and design teams, making sure that everyone feels appreciated and confident to provide suggestions in good faith. We’ll talk about the shifting power structure between these roles thru the lifecycle of a website, from the pitch all the way up to launch, and how every member of the team can stay engaged and feel heard at every step.
And as a bonus, we’re going to talk about the things you can do (and things you definitely *shouldn’t do*) to impress a client.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @SaturdayNightLive@NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture #dotnet #cloud #web #sql
This is based on a true story.
My day job is software archeology. I find joy in recovering and analyzing code bones and culture as well as making the skeleton walk again. A short time ago, however, I was confronted with the most horrible code base I have ever seen. This talk is about how we managed to save it and achieve bi-weekly deployments with a high level of confidence.
Five million lines of code in multiple languages (Classic ASP, .NET, VBScript, VBA, JavaScript, T-SQL, PL-SQL) in one monolith. The business logic stretched from the UI (WebForms, Scripting, SQL Queries) down to the database (Stored Procedures), there was no test coverage and an enormous amount of hidden coupling. A version control system was not used, we had no test environment, deployments required developers to copy their local compilation to production and multiple customer installations are supported by uncommenting and commenting code.
Together we will explore what to do when you inherit such a thing: how to identify hotspots, find hidden coupling, explore how connascence can help you, ways to test as well as refactor and how to achieve a regular deployment schedule.
This talk was recorded at NDC London in London, England. #ndclondon #ndcconferences #developer #softwaredeveloper
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture #microservices #dotnet #graphql
REST, gRPC, SignalR and GraphQL. As .NET developers, we hear a lot about those four technologies to build API. However, it is not always crystal clear how to decide the one to pick for a use case. REST is a software architectural style. gRPC is a cross-platform open source Remote Procedure Call (RPC) framework. SignalR is a free and open-source software library. GraphQL is an open-source data query and manipulation language for APIs.
In this talk, we discuss their core concepts and the problems they are trying to solve. We showcase how to quickly bootstrap an API in C# with each one of them. Finally, we propose a decision-tree to help you decide the right one for your use case.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/@NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#tdd #architecture #testing
Have you tried Test-Driven Development (TDD)? Do you think it's not for you? Was it leading to over-testing and unnecessary complexity? Tests became a maintenance burden? Does it slow down the development process? Due to industry misconceptions, all that is normal.
I have good news. We can still change that. You can still reach enlightenment and become a TDD lover.
This talk finds inspiration on my journey to become a test-driven enthusiast. We will go from Unit Testing to Test-Driven Development, leaving behind a trail of tips to master it. We'll debunk misconceptions and see an effective method of practicing TDD.
If you are open to becoming TDD addicted, this session is for you. You can expect to go home inspired to master the testing craft.
Be prepared to be Test Infected. Beware, there's no cure!
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#ai #ethics #machinelearning #ml
If you've been remotely tuned in to the developments in generative AI over the past year, you've likely been inundated with news, ranging from claims that these models will replace numerous white-collar jobs to declarations of sentience and an impending AI apocalypse. At this stage, the hype surrounding AI has far surpassed the actual useful information available.
In this presentation, we’ll cut through the noise and delve deep into the current applications, risks, and limitations of these generative AI models. We will start with the early research endeavours aimed at creating an "artificial brain" and trace the path that has led us to today's sophisticated models. Along the way, we will address the misconception of mistaking these models for intelligent systems and shed light on the actual requirements for developing true artificial general intelligence, and see how far we seem to be from this goal. Moreover, we will highlight how an excessive focus on topics like the sentience of these systems has overshadowed the genuine issues associated with these models. By shifting our attention towards their real limitations, we will see how we can better maximise the potential of these exciting models.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture
Legacy architectures are a business risk, stifling your organization's ability to innovate. On the other hand, modernized architectures can be a competitive advantage allowing your business to innovate at speed and scale their organizations.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#dotnet #architecture #microservices #code #database
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly coupled code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#git #programminglanguage #web
What's in the .git folder? How are commits stored? How do branches work? We'll dive deep into the objects folder, unpack commits, look at the types of DAG nodes, examine object content, and build a complete visualization of the stored content. We'll also quickly look through Git hooks, Git config, and ref logs. Come experience the zen of git.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#security #javascript #ux #design
The more users you get, the better, right? Well, this is not always true. You certainly want to keep bots and fraudulent users out of your app. It's a common practice to add a second factor and send a verification code. However, there's a new villain in town and 2FA has to evolve to keep up. Done incorrectly, this can hurt your customer onboarding experience and be a costly mistake. Join this session to learn about a new approach to layering multi factor authentication to keep your applications secure.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/@NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#web #software #react #blazor #technology #webassembly
It’s 2024, and the web continues to dominate the software landscape. Innovation proceeds in all directions, with new frameworks, build systems, and architectural patterns emerging at pace. But where are we all heading? Is there a pattern? What’s the next big phase?
In this demo-centric talk we’ll look at the common trends across web frameworks: disruptive new features that are showing up across technologies and changing how web apps are built. We’ll dig into live code examples in Next.js (React), SvelteKit, Blazor, Astro, and more. We’ll see how these and others are setting a similar path for the next phase of web technology – and how you could implement the same features yourself without any framework.
Finally, we’ll catch up on the state of WebAssembly and try out WASI preview 2 – the upcoming reinvention of WASI. Will it achieve the dream of seamless interop across all languages, operating systems, and CPU architectures? Will it become the standard for server-side cloud programming? Let’s build something with it!
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#machinelearning #ml
Thanks to third-party libraries and packages, machine learning has become more accessible than ever, making data science available at your fingertips. However, as we move forward in our craft, it is crucial that we address the elephant in the room (or in the dataset): bias. Bias crops up everywhere, from the unconscious biases that exist in society- to those that can be introduced in datasets and algorithms.
This session is meant to encourage participants to consider their own biases (and the impact they may have on machine learning models), and to provide the tools needed to create more fair and just systems. We will begin with an interactive and human-focused discourse about bias: what it is, the forms it appears in, and how it permeates our society. Then we'll explore different types of bias within the context of machine learning, such as overfitting bias, algorithmic bias, and prejudice bias, using real-world stories and examples. Together we will examine the consequences of bias left unattended, including the potential for discrimination and unfair decision-making.
We will delve into the latest research and several approaches to mitigating bias, including data preprocessing, fair representation learning, and bias correction algorithms. We will also work through one example together to give participants a hands-on understanding of how to apply these techniques in practice. By understanding bias and taking the steps necessary to quell its effects, we can ensure that machine learning is used responsibly and ethically in the future, resulting in a world with more trustworthy technology.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture #cloud #apps
In this talk, I will share the journey we took at FundApps to build a more sustainable future for our planet, and our business, by rearchitecting the core of our platform from a self-hosted, long-lived, single-process application to a cloud-native, distributed architecture in AWS.
FundApps provides compliance as a service to the investment management industry. Monitoring over 15% of the global AuM for shareholding disclosure every day. Four years ago, we were at the stage where our core service was not working optimally for a significant number of our clients. Clients experienced unpredictable runtimes, slow runtimes and even batch process failures. And it was a sales barrier.
We decided to take the plunge and rearchitect the platform - and as a B-Corp, demonstrating our commitment to social and environmental performance, we did so while focusing on scale and sustainability. This is the story of how we did it.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#architecture #cloud #devops #ddd #code #microsoft #azure
Infrastructure as Code (IaC) is a powerful way to automate the deployment of your Azure infrastructure. With IaC, you can define your infrastructure in code, and use that code to deploy and manage your resources. In this session, we will explore the different ways to use IaC in Azure, including Azure Resource Manager (ARM) templates, Microsoft's Bicep language processor, and popular open-source tools like Terraform and Pulumi. We'll also compare the pros and cons of each approach, and discuss when it's best to use each one. Whether you're new to IaC or a seasoned veteran, this session will provide you with the knowledge you need to take your cloud deployments to the next level.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#azure #api #sql #database #architecture #cloud
Azure Cosmos DB is a fully-managed, multi-tenant, distributed, shared-nothing, horizontally scalable database that provides planet-scale capabilities and multi-model APIs for Apache Cassandra, MongoDB, Gremlin, Tables, and the Core (SQL) APIs. It currently powers many mission-critical services both within Microsoft (such as Microsoft Teams and Active Directory) and across large-scale Fortune 500 organizations (such as Walmart and Adobe).
This talk covers the internal architecture of Azure Cosmos DB and how it achieves high availability, low latency, and scalability. I will first cover the design of the storage engine, with particular emphasis on ensuring high availability and scalability through partitioning and replication. Next, I will zoom in on the request routing gateway to see how it has evolved to solve the well-known multi-tenant cloud infrastructure challenges of containing noisy neighbors and limiting blast radius. Lastly, I will discuss performance as a feature and as a culture. I will cover what I measure and how we think about SLOs to achieve and maintain low latency.
Building planet-scale services necessitates solving complex scalability challenges and making numerous tradeoffs across various components in the product. I look forward to sharing my experiences and lessons learned in building Azure Cosmos DB.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#coaching
Despite the prevalent mythology of the lone creative genius, many of the most innovative contributions spring from the creative chemistry of a group and the blending of everyone’s ideas and concepts.
How can we best leverage this collective wisdom to generate creative synergy and co-create? Let’s look at the process of recognizing and removing our personal creative blocks, connecting and communicating with others, combining ideas using play, and constructing a collaborative environment to discover effective methods for tapping into a group’s creative brilliance. Through these steps, you’ll learn to capitalize on the super-linearity of creativity to embrace and leverage diversity to create better together.
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/ @NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#code
Writing code is fun! Reading it, not so much. As developers we spend as much, if not more time reading code than we do writing it. However we often forget when coding that we're writing for other humans to read as much as we are for computers to execute.
This talk goes over how to create a better developer experience in your projects by writing code with intent. Leading the reader through your codebase should feel like settling in to watch your favourite TV show; enjoyable and unsurprising.With this, and other DX skills covered in the talk, we will create maintainable, educational and pleasant to use projects, not only for other developers, but also for our future selves!
Attend the next NDC conference near you:
ndcconferences.com
ndclondon.com
Subscribe to our YouTube channel and learn every day:
/@NDC
Follow our Social Media!
facebook.com/ndcconferences
twitter.com/NDC_Conferences
instagram.com/ndc_conferences
#iot #microservices #fun
Aircraft are everywhere. Knowing exactly where is paramount as it’s considered bad form for two aircraft to be in the same place at the same time. To avoid this, aircraft worldwide constantly and publicly broadcast their location, heading, and all sorts of other data using a system called ADS-B or Automatic Dependent Surveillance Broadcast.
This data is a natural fit for an event stream. After all, it’s a constant stream of data that is literally being broadcast in real-time. But how can we capture these broadcasts and the data within? Surely it must require expensive hardware and special tools!
Not so much. It turns out that we can capture ADS-B data easily using a combination of a cheap radio dongle and free software—a combination called software-defined radio. From there we can store it in an event stream and consume, transform, and publish it at our leisure. Cool, right?
In this session, you’ll learn how software-defined radio works (and not just for ADB-S), how to receive and store ADS-B data in event streams, and how to use those streams to build a map showing real-time flight data using Node.js, Redis Streams, and whatever front-end JavaScript framework happens to be popular that day!


