Have you ever wondered why you should implement a messaging strategy in your solutions, or when you should introduce this? As a Program Manager for Service Bus, this is a question I get asked frequently by our customers. It is true that implementing a messaging strategy can bring its own challenges. However, if implemented correctly, it will help you solve a myriad of architectural challenges.
In this session we will dive into the reasons of when and why we should use a messaging strategy, as well as the different types of messaging we can distinguish. You will learn about different patterns which will help solve various architectural challenges, and how to implement these using Azure.
This session will empower you, by giving a better understanding when to implement messaging in your solutions, and how to can identify patterns where this will help. The concepts from this session are not product specific and can be applied to most messaging services, although we will use the Azure services to explain most of them.
One day you're asked to "sit in" a DUO MFA project started months ago, and there's more questions than answers. 2 weeks later you're one of the 3 key members of a new task force aiming to roll out MFA as quickly as possible to over 40,000 staff and students at the University of Winnipeg.
The goal of this talk is to prepare companies for expected and unexpected hurdles throughout a large-scale (40,000+ users) DUO MFA implementation on M365. From the perspective of a technical leader brought in late to help the project, To help serve as a roadmap, a high-level tasklist is presented and discussed, as well as the roles in the project.
Topics include the expected: Test Environments, User Onboarding, Hardware Tokens, Duo Policy Management
And the Unexpected: Identifying "Active" Users, Constant DUO Advisories, Hardware Token Logistics, Shared mailbox migrations, User Accomodations, User Groups, Automatic New User Enforcement, Account Recovery, Duo "Strict" Enforcement, and more.
We routinely scan our code for vulnerabilities, but what about our infrastructure? Our infrastructure as code can have as many secrets as our codebase. Many organizations are using Terraform with automated pipelines like GitHub Actions. How do we automatically scan our Terraform modules for misconfiguration or secrets? How can we configure Terraform to store state securely in the cloud for each environment? During this session we will examine how to leverage open source tools to:
After this session you will have the tools and examples to securely deploy terraform to the cloud.
In this talk, I will explore the advantages of using Visual Studio Code (VSCode) with Docker containers for development. I will begin by discussing the challenges of setting up a consistent development environment across teams and projects, and introduce the concept of dev containers as a solution to these issues. Then, I will demonstrate how easy and effective it is to set up and use dev containers in VSCode, including configuring a dev container with Dockerfile and devcontainer.json files, and installing extensions and tools within the container.
I will also highlight the benefits of using dev containers for development, such as reproducibility, scalability, and ease of collaboration. I'll discuss how dev containers can simplify the process of onboarding new team members and reduce the risk of conflicts between development environments. Additionally, I will provide tips and best practices for using dev containers effectively, such as organizing container configurations with Git submodules and leveraging the power of VSCode's Remote-Containers extension.
Finally, as a bonus, I'll show you how to run, edit, test, and debug projects directly from Github.com without even installing VSCode and Docker on your machine. Overall, my talk will show you how Dev Containers can offer a Fullstack developer a toolkit to streamline their development workflows and improve collaboration.
Internationalizing your product and making it accessible in multiple languages is not only important for expanding globally; in Manitoba, 13 percent of people speak a language other than English and French at home.
In this hands-on talk, we'll localize a React application with open-source libraries like react-i18next. Regardless of your primary tech stack, you'll walk away with best practices and practical tips to avoid common pitfalls that single-language developers may encounter.
Some of the topics we'll cover:
When building out the frontend for an application with strong real-time requirements, there are many considerations to make. How do we get initial data? How do we get subsequent updates? What happens if they lose connectivity? Web components provide an excellent model for progressively enhancing initial markup. Workers allow us to move, rendering off the main thread. In this talk, we'll demonstrate an architecture that scales down to any device with a spotty internet connection while scaling up to a fully realized real-time application.
This talk hangs on the Reduce, Reuse, Recycle metaphor.
In this talk we'll introduce Postgres as a standard SQL database and talk about its feature parity with other database solutions like SQL Server. We'll then delve into some of the other, more advanced, things postgres can do to simply your stack. Using a messaging solution? Postgres can do that. Doing complex GIS operations? Postgres can do that. Need event storage? Postgres can do that. Full text indexing? Postgres can do that. Document database? Postgres can do that. Need your dog de-wormed? Okay, that Postgres can't do.
Coming out of this talk you should be excited to get into Postgres as an alternative to whatever database you're using right now.
If you're a web app developer, you've hopefully heard of the OWASP Top 10: the consensus of the most critical risks facing web applications every year. Did you know there's a whole standard written by the same organization? The ASVS can be an incredible tool for identifying weak points not just in the web interface itself, but also in the procedures and practices that surround the product.
This session will help you determine why and how you can apply the standard, point out how the results get used to improve broader security posture, and deep dive on a few controls that seem to constantly trip users up.
In this interactive session, we'll look at the differences in improvements that can be made by those on a team, and the environment in which those people have to work! You'll be moving around in this interactive & participatory activity as we expose the impacts & start a conversation!
Systems Thinking requires us to look holistically to understand the linkages and interactions between the elements and components that make up a defined system. The Ball Point Game is an interactive & participatory activity, which will expose the impacts & start the conversation! If you've heard the terms "common cause", "special cause", "theory of constraints", "local optimization", or "system optimization", but always wondered exactly what those are, and how they impact your work, this is the session for you! Once we start looking at ways to deliver value to our customers through the Systems Thinking lens, an entirely new world of possibilities will be exposed, giving us the opportunity to make a meaningful impact in what we deliver, and more importantly, how we deliver!
Building web apps is often characterized as painful, complex, and time consuming. There are many tools, libraries, frontend frameworks, and opinions about how to fix that problem… but they come with a catch. The frontend ecosystem is fractured into incompatible niches. They are incompatible with the web standards until they’ve been compiled. They are incompatible with each other, and often even incompatible themselves in between versions. This is especially frustrating as web browsers automatically update while remaining backwards compatible. The web is a medium where compatibility is a feature. By adopting non standard dialects we trade off the web’s most powerful feature.
Imagine if we could write code that just worked, and ran forever? Imagine not chasing npm updates? Imagine not hunting the forums for an elusive combination of configuration values to fix a broken build?
The development world is changing and there is an increased focus on low code. How does a traditional pro code developer fit into this world? This talk explores how to leverage the knowledge, skills, and patterns of a pro code developer in the low code environment of Azure Logic Apps.
Within this talk we will explore the following areas:
We will have discussions and demos that show parallels between source code that pro code developers would write and how that translates into a low code environment. Some specific examples are
How often have you seen this happen: A group talks about a problem and reaches a consensus. Then you start to see what you thought was alignment fall apart or not happen as you would have expected. The problem is that most people don't know how to align others behind an idea and give it momentum. But what if you could easily do so, in any context, at any time?
In this session, you will learn:
Building alignment is an art and science that will have you consistently getting people behind an idea and giving it life.
Do you often see type definitions in Typescript codebases and wonder what they do? Discriminated Unions, Map types, Type Guards, Conditional Types, Inferred Types!
In this session Craig will take you through various type system features of Typescript while giving practical examples of how to apply them in your Typescript applications.
Kubernetes is a platform many organizations choose for running scalable, reliable applications. However, configuring and running applications on Kubernetes can be complex and filled with pitfalls. This session will focus on Kubernetes resiliency, from the Infrastructure to Components to the Applications themselves. We will talk about Kubernetes in general as well as AKS on Azure.
We will talk about:
For many years ASP.NET MVC was a popular and well used framework for building applications both in enterprise settings and outside. However these applications are now getting old and difficult to maintain. It would be great to benefit from the work which has been done to modernize .NET into one of the most efficient frameworks out there. In this talk we'll examine the good and bad news about modernizing these applications and provide an approach that we've found to be very effective.
Graduating from high school a year early, I was also taking dual-enrollment classes at the Manitoba Institute of Trades and Technology. When I finished high school I had enough dual credits to receive a diploma from the Manitoba Institute of Trades and Technology in Software Development. Being 16 and wanting to get right into the tech industry I knew I had to have some killer projects on my resume. In my talk, I'll show you how you can make your very own version of my favourite project - a full-stack machine-learning prediction service that generates mosquito population predictions for each of Winnipeg's neighbourhoods.
My presentation will cover from start to finish how to create your very own machine-learning prediction website, and will be loosely split into the following four parts:
Today's world generates different kinds of data at unbelievably rapid rates. This has resulted in a shift away from traditional software development towards Data Science. This talk gives an overview of Data Science and delves deep into the pipeline data scientists use - right from fetching the data, the Python tools and frameworks used to creating models, gaining insights and telling a story. The session is aimed towards aspiring data scientists - hobbyists and professionals alike. Data-curious folks interested in knowing what the field of Data Science entails are welcome to attend too.
By the end of this session, audience members will have a better grasp of the capabilities and processes of Data Science. They will be familiar with the general structure of a Data Science pipeline and will develop a strong foundation to continue learning and experimenting in Data Science using Python frameworks and packages like Jupyter, numpy, scipy, pandas, sklearn, matplotlib and seaborn.
Because of amazing sponsorship support, we can offer the Early Bird pricing as the regular price for the conference!
Below are answers to the most commonly asked questions about attending the conference. If you have a question not covered, please send us an email by clicking the "Email a Question" button below!
On both days of the conference breakfast and the registration table open at 8AM and conference sessions end at 4:30 PM. Note on Tuesday the first sessions start at 8:30 AM. Please refer to the schedule for more details.
Registration is outside the Ambassador ballroom on the main floor of CanadInns Polo Park. Please refer to the map posted at the bottom of the schedule section on our website.
We take a "Vote with your feet" approach to the sessions. Attend whatever sessions you like, no pre-registration is required. Finding a session isn't what you thought it was? No problem, feel free to go to a different session!
Prairie Dev Con is meant to be a live, in person event. As such we don't record sessions for later viewing, but check with our speakers to see if their talks have been recorded elsewhere.
Yes! Both days will feature hot breakfast & lunch buffets and two coffee breaks.
Breakfasts: Scrambled Eggs, Bacon, Sausage, Savoury Breakfast Potatoes, and Pastries with a Selection of Butter and Preserves
Lunch Monday: Roast Beef with Pan Gravy, Vegetarian Cabbage Rolls, Mixed Garden Greens, Oriental Noodle Salad, Red Skin Garlic Mashed Potatoes
Lunch Tuesday: Chicken Parmigiana, Cheese Manicotti w/ Tomato Sauce, Caesar Salad, Mixed Garden Greens, Herb Seasoned Oven Roasted Potatoes
Please ensure that you've filled out our supplemental registration form found here where you can specify any food requirements. We'll ensure there are acceptable food options for you at the conference.
Please ensure that you've filled out our supplemental registration form found here where you can specify any accessibility needs. We'll ensure to accomodate as best as possible.
CanadInns Polo Park has free parking on their lot.
There is no set dress code for the conference, wear what you're comfortable in keeping in mind our Code of Conduct.
The conference organizer, D'Arcy Lussier, will be available throughout the conference. His contact information while at the conference will be provided on Day 1 and you're free to contact him regarding any concern you have.
All conference participants (attendees, speakers, sponsors and volunteers) at our conference are required to agree with the following code of conduct. Organizers will enforce this code throughout the event. We expect cooperation from all participants to help ensure a safe environment for everybody.
Prairie Dev Con is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form.
Additionally sexual language and imagery is not appropriate for any conference venue, including talks, workshops, vendor areas, social events, and social media/online ineractions.
Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organizers.