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.

Register on Eventbrite

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.

Presentation Summary

ASP.NET MVC Core 2.0 - The release of ASP.NET Core 2.0 brings compatibility with .NET Core 2.0, deeper support for running on Linux distributions, and the new Razor Page user-interface design paradigm.  In this demonstration, we will look at Razor Pages, run the website from the command line (and outside IIS), take a look at the Single Page Application (SPA) templates (specifically Angular), and C# 7.1.

Speaker Biography

Adam Greene started programming at age 16 on an NEC V20 and never looked back. He has worked for local and international companies from British Columbia to Germany. He has developed software and websites for the financial services industry, a large home delivery grocery store chain, worked freelance, and is currently a Senior Consultant / .NET Tech Lead with CGI. He has worked in a wide variety of languages: C/C++, Delphi, COBOL, Java, and now is a diehard fan of C#, working mainly in ASP.NET MVC.

Adam is on Twitter as @aspnetaddict

Presentation Summary

Reactive Programming is programming with asynchronous data streams. You  can create these data streams from anything:  Variables, user inputs, properties, data structures, etc.  On top of that, RxJS provides a multitude of functions that enable the combination, creation, and filtering of those data streams.

Speaker Biography

Patrick Webster is a Software Engineer at Dell EMC. His passion is in front-end technologies and he is currently working with Angular.