Once you learn how to blink an LED (the "Hello, World!" of embedded programming), it isn't long before your latest invention needs some sort of wireless access.
In 2014, Ai-Thinker released a small breakout board based on Espressif System's wifi-capable ESP8266 chip. Despite its (initial) lack of documentation, its low price-point quickly caught the attention of the DIY electronics community. ESP8266 has since evolved into a platform with multi-language support and dozens (if not hundreds) of hardware implementations.
This presentation will focus on the more common ESP-01 and ESP-01S versions of the ESP8266-based boards and the Arduino APIs. We will cover two scenarios: 1.) The ESP-01 as part of a larger Arduino project, and 2.) The ESP-01(S) as a programmable board in its own right. In the process, we will go over hardware & software requirements for wifi-enabling your projects, plus code examples for both the add-on and standalone scenarios. And as always, we won't neglect the "gotcha"s.
In September 2019, Microsoft announced .NET Core 3.0, an important milestone in the transition from the .NET Framework, a proprietary, closed source, Windows-only platform to an open source, multi-platform framework. It brought with it support for desktop development, C# 8, and enhancements to ASP.NET Core and Entity Framework.
In this talk, we will look at the benefits of .NET Core (focused on ASP.NET Core) for existing .NET Developers as well as the development community as a whole and take a look at the more exciting features of the platform (gRPC support, Blazor, enhancements to Identity, C# 8 features)… using Visual Studio for Mac, deploying to and debugging in a Docker container.
Adam Greene started programming at age 16 on an NEC V20. Over the last 20 years, he has filled a variety of roles including Tech Lead and CTO for a variety of companies, and now is enjoying his time working remotely as a Senior Software Engineer for Cvent focused on .NET technologies. Adam has worked in a variety of languages and platforms and has been an avid fan of .NET for almost 18 years (starting with .NET 1.1).
In this session, you will learn about WebAssembly: What it is, what problems it solves, how it works, and what makes it secure. Using Emscripten, you will learn how to create a module that can run both inside the browser and outside it, in places like Node.js and VMs like Wasmer.
The session will also include an overview of the Uno Platform where you can develop native mobile, desktop, and web applications using C# and XMAL via a combination of technologies like Xamarin.Forms and WebAssembly.
Gerard Gallant is a Senior Software Developer and Architect with Dovico Software. He learned he had a passion for programming in high school. More recently, when he started doing a jog several times a week to relax, Gerard rediscovered a second high school passion -- running. No longer a relaxing jog, his competitiveness has led him to take part in several races a year. As a huge fan of WebAssembly, he was fortunate to have been given the opportunity to write a book on the subject: WebAssembly in Action (https://www.manning.com/books/webassembly-in-action). He is passionate about his work, his hobbies and (most of all) his wife and his two young and very clever girls.
The software development of the web is being transformed by the introduction of Web Components. Web sites such as YouTube, Facebook, Bloomberg, EA Sports, Dominos Pizza, and many more are using web components to serve billions of consumers worldwide. Originally started as a way to extend HTML with custom tags, the web components spec. has grown to encompass a collection of features that make development of modern software easier to create, manage, and deploy. In this talk we will explore several web component libraries and frameworks such as Polymer 3, lit-html, and lit-element, and also tools for creating Progressive Web Apps. We will also cover scalability techniques for building large scale Single Page Applications and Web Components, plus the need for real-time updates and data streaming.
Simon Gauvin is an expert in the field of UX, mobile and cloud computing with 25 years of experience developing several startup software companies. He was former VP of Applications Technology at Plazmic Inc. (acquired by RIM in 2002) where he led the development of a mobile media platform for Warner Brothers and Disney in the Japanese mobile market. He completed Ph.D. research in Computer Science at Dalhousie University and has been published in several leading academic journals. Simon has authored software patents, invented and developed several new programming languages, and used this work to co-found Vizwik.com, a visual programming mobile app development platform. He recently co-founded another startup, Safelii Inc., which is using mobile and AI technology to help improve health and safety services for employees in corporations. He is also a freelance Chief Technology Officer consulting for small to medium sized companies in Atlantic Canada.
23 years ago, the Java Virtual Machine promised to free programmers from the error-prone drudgery of memory management and the frustrations of maintaining code-bases for multiple operating systems. Alas, the large memory requirements and long start-up times of early JVM versions gave Java the reputation for being "slow." The reputation lingers despite Just-in-Time compilation and two decades of optimisation and performance-tuning. This presentation will focus on some of the most recent changes to the VM to trim down and speed up apps. We will also talk about the high-performance GraalVM that can support multiple languages at once. Depending on time/interest, we might also look at Quarkus.
Robert J Saulnier is a Java EE Guardian who is passionate about all things Java: language, API, VM, and coffee. He has been experimenting, teaching, and developing with Java since 1996. And with over 21 years of professional experience, the last 12 years have been spent working at GTECH, EMC, and Willis Towers Watson, working on a range of tech. that spans embedded terminal systems to enterprise applications.