Presentation Summary

Why is software architecture so important?  What is it, anyway?  How can "clean" software architecture actually make software development easier, faster, and less-painful?

"Uncle" Bob Martin has attempted to take the most robust and battle-tested architectural patterns and boil them down into "one architecture to rule them all"--in a matter of speaking...

We'll briefly look at what "Clean Architecture" is and what problems it attempts to solve.  Then we'll focus on how we might implement it in a .NET Core application with practical tips from real-world experience sprinkled throughout.

Speaker Biography

James Hickey is currently the senior software developer at IronFlow Technologies.  He focuses on improving software development processes, automation and architecture.  His current technical interests include .NET Core, Event Sourcing, Microservices, etc.

Presentation Summary

Kotlin is a statically typed, concise, safe, and pragmatic programming language that runs on the JVM and other platforms. It has been gaining in popularity over the last year ever since Google announced official support for Kotlin on Android. There are a lot of misconceptions out here of what Kotlin is and what it is good for. This talk focuses on dispelling some myths about kotlin and serves as a general introduction to the language.

Akiri has been using Kotlin for server and API development, replacing a traditional Java based stack.  Content for this talk is based on practical experience building a product using Kotlin.

Speaker Biography

Chris Dail is a Senior Director of Software Engineering at Akiri, a healthcare networking startup. He has 15 years of experience building software products in various roles including as a software developer, architect, and manager.  Chris is a programming language enthusiast and is passionate about clean, readable code.

Presentation Summary

Since 2003, Arduino has revolutionised physical computing with open-source hardware and software (and a community) that prioritises ease of use.  As a result, hundreds of thousands (if not millions) of people can call themselves "embedded systems programmers" without knowing much about the microcontroller (MCU) that they're programming.  And that's okay.

But hiding the microcontrollers' complexities comes at the cost of flexibility and performance.  Fortunately, the Atmel line of MCUs is in a unique position to bridge the worlds of Arduino and traditional (i.e., industrial-grade) embedded systems programming.

This presentation will cover the required "starter kit" of hardware and software, the required "starter kit" of C/C++ concepts, the basics of digital I/O, the basics of analogue I/O, a demo. project, and (as usual) a list of "gotchas."

Speaker Biography

Doreen Clemons is the proverbial chief-cook-and-bottle-washer at Bonaventure Software.  She started programming in BASIC on a TRS-80 at the age of 12 and has since earned her living with Visual Basic, "Classic" ASP, ActionScript, HTML, JavaScript, Java, T-SQL, PHP, and MySQL.  In her free time, Doreen lives out her Evil Mad Inventor(TM) fantasies by building stuff with Arduino and the Raspberry Pi.  During episodes of "coder's block," you can find her on Twitter as @bonaventuresoft.

Presentation Summary

Best practices for design patterns: KISS, DRY, SOLID.  You all know these, but they could be far from being part of your daily activities.  What you might see every day might instead be "God-class," duplicate code, unnecessary complexity, feature-envy and many other terrible practises.  "Code smell" is a generic term to group these under one keyword, but in most cases it indicates an issue with the design and a disregard for common best practices.  Let's try to identify these, list them, and suggest solutions with some examples.

Speaker Biography

Etienne Mermillod is a lead developer with TKS. He has previously worked on a Financial Analysis Dashboard, minind data from another system. He has also worked for SMEs to some of the biggest French companies, mostly in .NET but also with ActionScript and Python.  He fights dirty code every day and helps others achieve better designs.  Knowledg- transfer being one of his core values, he now invests some his time mentoring people and presenting these concepts.  Apart from his day-job, Etienne is a hardcore gamer and likes competitive activities (such as table tennis and badminton).

Presentation Summaries

Serge Leger: Containers from Scratch

What are containers? We can think of them as lighweight Virtual Machines, but what does that really mean?  In this Lightning Talk, we'll build a minimalist container engine in an attempt to demystify what a container is and how container engines like Docker work.

André Landry:  Deploying Containerized Application with Kubernetes

Kubernetes is a open source platform started by engineers at Google which was donated to the Cloud Native Computing Foundation. It's a portable and scalable way to manage and deploy containerized applications in a clustered environment.

This talk will explain key components of Kubernetes, showing you how they come together to deploy a containerized application.

Speaker Biographies

Serge Léger has been working in the IT industry for over 20 years. Most of those years were with the public sector.  For the past 10 years, he's been employed at the National Research Council, where he's worked with researchers in many different fields: machine learning, bioinformatics, educational and medical.

André Landry is a Full Stack Developer with over 10 years experience.  His passion with programming started with transcribing games from magazines on his Commodore 64.  Fuelled by coffee, André has shipped numerous web applications using various different technologies such as .NET, Javascript, Ruby On Rails, and EmberJS. He has worked for Netsphere Solutions since 2006.