Gerard Gallant
Author of "WebAssembly in Action" | CIO at Dovico Software
Moncton, Canada
Actions
Gerard Gallant is the CIO of Dovico Software and has over 23 years of full-stack software development experience.
He started at Dovico as a Junior Developer in 2001 and has worked on a number of products over the years ranging from C++ client/server apps, creation of an ActiveX control to interact with local instances of MS Project via COM automation, Java applications, ASP.NET web applications, and created two C# REST APIs just to name a few things. He advanced to the Senior Software Developer / Architect role before taking on the CIO role in 2021.
Gerard currently maintains Dovico's hosted infrastructure, has built out their DevOps solutions, is the Lead Software Architect for two of the company's three products, still contributes code to the company's main product, and writes articles for their blog.
When not at work, you'll still find him coding, researching, or writing articles as he has an insatiable drive to learn and give back to the community.
As a huge fan of WebAssembly, he was fortunate to have the opportunity to write a book on the subject: "WebAssembly in Action" (https://www.manning.com/books/webassembly-in-action).
Area of Expertise
Topics
Creating a Slack bot to improve user productivity
Based on a Slack State of Work survey of 17,000 knowledge workers, context switching was their biggest barrier to productivity with 68% saying they spend at least 30 minutes a day just switching between apps! In this talk, you’ll meet your users where they are by learning how to create a Slack bot that uses a modal window to collect information.
Building an Interactive Slack Bot
Slack is a popular messaging app used by over 1 million companies including 77 of the Fortune 100 companies. Did you know you can do more than just send text messages with the odd image or emoji? It's possible to create a rich interactive UI using Slack's Block Kit UI framework. In this session we'll build a simple hot-desk booking bot with Node.js where you'll learn how to respond to events from your controls and adjust the displayed message.
WebAssembly Overview
In this session you’ll learn about WebAssembly: what is it, what problems does it solve, how it works, where you can use it, and what makes it secure. That last point about security is an important one because that’s one area that gives many people pause when hearing the words ‘native code’ or that C++ can be used. Immediately, we have flash backs of plugins and pointers.
In this session you’ll learn how to create a WebAssembly module and how to interact with it. WebAssembly modules are not limited to the browser so you’ll also learn how to make use of it outside the browser.
The State of WebAssembly
WebAssembly has been available in all major browsers, and Node.js, since 2017. Since then, additional features have been added and its use has expanded outside the browser to places like edge and serverless computing, containers, and IoT. It's even possible to leverage it from within your code! In this talk, you'll learn how WebAssembly works and about the new capabilities that have been added.
Creating a Slack bot to turn AWS services on or off
A number of AWS services charge by the hour but most services needed for development or testing are only needed during work hours. If it's only needed for 40 hours a week, why pay for the extra 128 hours? At the same time, maybe you'd rather keep the number of people in AWS to a minimum. In this talk, we'll create a Slack bot that automatically turns off AWS services at the end of the day but allows employees to turn them on or off from Slack as needed. We'll also set up an AWS IAM user with permissions to just the EC2 instances for added security.
Uno Platform & Blazor WebAssembly: Tapping into WebAssembly
Blazor WebAssembly and the Uno Platform allow you to write C# code that just works in the browser thanks to the Mono runtime. What if you'd like to take advantage of some WebAssembly features from your code? This talk will walk you through accessing WebAssembly features like fixed-width SIMD (single instruction, multiple data) from both platforms. I'll also give a quick overview of some of the latest WebAssembly changes in .NET.
Using WebAssembly in a Web Component as a polyfill
Many web developers choose features based on if they're supported in all major browsers for maximum reach. What if you didn't need to wait for support from all browsers? In this session, we'll explore the idea of using WebAssembly as a polyfill for the browsers that don't yet have the desired feature. As an example, we'll create a Web Component that uses WebAssembly to convert an image to a different type, on the fly, if needed.
Testing your website and web apps for accessibility
Aside from the potential legal consequences if your products are not accessible, you might also be missing out on a market with an estimated 27% of adults having some form of a disability. Also, many accessibility best practices benefit all users, can improve your SEO, and opens the door to companies that only buy products that are accessible. In this talk, I’ll cover what accessibility is and demo some tools you can use to test your products.
Local-first web development with the help of WebAssembly
In this talk, you’ll learn what the difference is between Local-first and Offline-first and why you may want to choose local-first instead of the traditional web development model. We'll dig into how WebAssembly can help as we create a simple web application that uses Postgres in the browser via PGLite. For the data sync with the server, we'll use ElectricSQL.
Creating a Teams Meeting App
With the rise of remote work, and the need to connect virtually with clients and customers from around the world, many of us have turned to video conferencing tools like Zoom and Teams. In this talk, I’ll walk you through creating a Teams app so that you and your team can prepare topics for a meeting, work with them during the meeting, and review items afterwards right in Teams rather than needing to switch between apps.
ConFoo.ca - 2024
My first talk of the conference was called "The State of WebAssembly." I explained what WebAssembly is and how it works. I gave several demos showcasing some of the latest features and locations where it can be used. Finally, I talked about what's coming: https://confoo.ca/en/2024/session/the-state-of-webassembly
My second talk of the conference was called "Creating a Slack bot to turn AWS services on or off." In this talk, I walked the attendees through configuring AWS, the Slack API, and building a Slack bot from scratch that allows an employee to turn AWS servers on or off right in Slack: https://confoo.ca/en/2024/session/creating-a-slack-bot-to-turn-aws-services-on-or-off
TechTalk NB - November 2023
This talk was called "Creating a Slack bot to turn AWS services on or off"
I used this a practice run for my upcoming talk at ConFoo in February 2024. I walked the group through creating a Slack bot from scratch that allows a user to turn AWS servers on or off from Slack. The talk went well but, based on feedback received, I improved the talk for ConFoo.
A LinkedIn post about the event: https://www.linkedin.com/posts/techtalknb_speaker-announcement-here-activity-7128043169857880064-7xul/
TechTalk NB - August 2023
This talk was called "An Introduction to WebAssembly"
I gave a talk that explained what WebAssembly is and how it works and included a number of demos to show what's possible.
A LinkedIn post about the event: https://www.linkedin.com/posts/techtalknb_webassemblyintroduction-techtalks-codingcommunity-activity-7095394164925743104-_b3O
TechTalk NB - April 2023
This talk was called: "Creating an Interactive Slack Bot"
This was a repeat of my ConFoo 2023 presentation showing the user group how to build a Slack bot from scratch by creating a simple hot-desk booking system using Node.js and Slack's Bolt for JavaScript SDK.
ConFoo.ca - 2023
My first talk of the conference was called "Rapid prototyping with the help of Docker." I showed the audience how the company I work for is using Docker to speed up development of one of our products: https://confoo.ca/en/2023/session/rapid-prototyping-with-the-help-of-docker
My second talk of the conference was called "Building an interactive Slack bot." I walked the audience through Slack's documentation and API as we built a hot desk booking bot using the Bolt for JavaScript SDK: https://confoo.ca/en/2023/session/building-an-interactive-slack-bot
ConFoo.ca - 2021
My talk was called "Joining forces to free WebAssembly from the browser"
I explained the WebAssembly System Interface (WASI) and gave a couple demos of it in action both from C# code and from the a runtime at the command line: https://confoo.ca/en/yul2021/session/joining-forces-to-free-webassembly-from-the-browser
ConFoo.ca - 2020
My talk was called "WebAssembly Overview"
I explained what WebAssembly is, the problems it solves, how it works, and what makes it secure: https://confoo.ca/en/yul2020/session/webassembly-overview
Moncton Developer User Group - December 2019
This talk was called "WebAssembly: Running code inside and outside the browser"
With my book "WebAssembly in Action" now officially published, I gave a talk that started with a quick overview of what WebAssembly is and how it works for those who might not be aware. The rest of the talk then focused of demonstrating WebAssembly's use outside the browser in places like Node.js and the Wasmer runtime. I finished with an overview of the Uno Platform that allows C# to run in the browser thanks to the Mono runtime.
The group's website no longer exists but I did find the EventBrite invitation for this talk (click the 'View details' link under the title and then the 'View all event details' button): https://www.eventbrite.ca/e/webassembly-running-code-inside-and-outside-the-browser-tickets-84464442421
Moncton Developer User Group - March 2019
This talk was called "WebAssembly: Writing, Securing, and Debugging"
With early access to the first two thirds of my book "WebAssembly in Action" now available, I gave the user group a more in-depth overview of WebAssembly, showed them how to create a module from C++ using Emscripten and how to interact with it both in the browser and in Node.js. Then I showed them the current options available for debugging the code.
The group's website no longer exists but I did find the Eventbrite invitation for this talk (click the 'View details' link under the title and then the 'View all event details' button): https://www.eventbrite.ca/e/webassembly-writing-securing-and-debugging-tickets-57563910205
Moncton Developer User Group - October 2017
This talk was called "Browsers, Bytecode, and WebAssembly"
I gave a talk about what WebAssembly is and how it works. I also talked about asm.js which was one of the two technologies that led us to WebAssembly (the other being Google's Native Client).
The group's website no longer exists but I did find the Eventbrite invitation for this talk (click the 'View details' link under the title and then the 'View all event details' button): https://www.eventbrite.ca/e/browsers-bytecode-and-webassembly-tickets-38208022223
Moncton Developer User Group - September 2013
This talk was called "HTML5 IndexedDB"
I gave a talk explaining what IndexedDB is and how to use it. I wrote a DZone Refcard article about IndexedDB in the spring but it was only published in November: https://dzone.com/refcardz/html5-indexeddb
The group's website no longer exists so the only link I can still find related to this talk is a Facebook post about it: https://www.facebook.com/MonctonUG/posts/661260827225784
Fredericton Developer User Group - November 2012
This talk was called "Windows Store Apps"
This was a repeat of my October talk in Moncton. I showed the group the process of creating a Windows Store app and publishing it.
The group's website no longer exists so the only link I can still find related to this talk is a Facebook post about it: https://www.facebook.com/share/wf3U2qYTqnumom37/
Moncton Developer User Group - October 2012
This talk was called "Windows Store Apps"
This was my first time teaching outside of work. I walked them through the process of creating a Windows Store app and publishing it.
The group's website no longer exists so the only link I can still find related to this talk is an X post after the event: https://x.com/monctonug/status/258946031042064384
Gerard Gallant
Author of "WebAssembly in Action" | CIO at Dovico Software
Moncton, Canada
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top