Rust CZ/SK Meetup in Brno 8th Feb 2023. Espressif Systems Rust Teams discuss options of Rust std and no_std for ESP32. Discussion contains also new examples of Async using Embassy, plus introduction of Wokwi local simulator for VS Code.
How Open Source Community and Espressif made it possible to use Rust language...Juraj Michálek
Espressif Systems and Open Source community is working together on bringing Rust language support to ESP32. The chip can be simulated in the web browser using Wokwi.com/rust.
Fastlane - Automation and Continuous Delivery for iOS AppsSarath C
Automation and Continuous Delivery for iOS Apps using Fastlane tools. This was presented at FAYA, Technopark, Trivandrum on 01-Jun-2016.
Fastlane is a collection of utilities that work beautifully together without friction. It's now part of Fabric, Twitter's developer tools and development lead by Felix Krause (Twitter: @krausefx) and many other amazing developers.
iOS developers typically spend several times managing provision files, certificates and so many mundane and boring stuffs they've to do with Apple Developer portal and tools. Fastlane tools can help you to right from creating a project to deploy your app to AppStore.
Fastlane has an amazing ability to pass the result of data around each of the utilities in your pipeline. Also the actions helps you to customize and extend your fastlane utilities.
Fastlane often come pre-installed with popular continuous integration servers like CricleCI. Utilities like match can help you a lot to manage your certificates and provision files by securely shari across computers. This works quite handy with with CI servers as well.
These slides were presented at GDG MeetUp in Bangalore which was held on 21st September 2013. Uploading the slides to help the people who wanted the slide Deck
This presentation describes vulnerabilities in two popular single sign-on strategies like SAML and OpenID/Connect and how to mitigate and these vulnerabilities are
1) SAML Authentication bypass vulnerability using canonicalization method which ignores comments section of SAML response for SAML signature calculation.
2) JWT validation vulnerability with "none" algorithm - certain libraries ignores JWT validation if algorithm is defined as "none" in JWT header.
Presentation describes various methods to properly validate SAML response or identity token ( id_token ).
How Open Source Community and Espressif made it possible to use Rust language...Juraj Michálek
Espressif Systems and Open Source community is working together on bringing Rust language support to ESP32. The chip can be simulated in the web browser using Wokwi.com/rust.
Fastlane - Automation and Continuous Delivery for iOS AppsSarath C
Automation and Continuous Delivery for iOS Apps using Fastlane tools. This was presented at FAYA, Technopark, Trivandrum on 01-Jun-2016.
Fastlane is a collection of utilities that work beautifully together without friction. It's now part of Fabric, Twitter's developer tools and development lead by Felix Krause (Twitter: @krausefx) and many other amazing developers.
iOS developers typically spend several times managing provision files, certificates and so many mundane and boring stuffs they've to do with Apple Developer portal and tools. Fastlane tools can help you to right from creating a project to deploy your app to AppStore.
Fastlane has an amazing ability to pass the result of data around each of the utilities in your pipeline. Also the actions helps you to customize and extend your fastlane utilities.
Fastlane often come pre-installed with popular continuous integration servers like CricleCI. Utilities like match can help you a lot to manage your certificates and provision files by securely shari across computers. This works quite handy with with CI servers as well.
These slides were presented at GDG MeetUp in Bangalore which was held on 21st September 2013. Uploading the slides to help the people who wanted the slide Deck
This presentation describes vulnerabilities in two popular single sign-on strategies like SAML and OpenID/Connect and how to mitigate and these vulnerabilities are
1) SAML Authentication bypass vulnerability using canonicalization method which ignores comments section of SAML response for SAML signature calculation.
2) JWT validation vulnerability with "none" algorithm - certain libraries ignores JWT validation if algorithm is defined as "none" in JWT header.
Presentation describes various methods to properly validate SAML response or identity token ( id_token ).
Learn All Aspects Of Maven step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
Native mobile application development with Flutter (Dart)Randal Schwartz
Create beautiful performant mobile apps for both iOS and Android using the revolutionary Flutter framework, originally from Google, now supported by a large community.
This slide deck was presented at Scale16x in Pasadena. The screencast is at https://www.youtube.com/watch?v=O7TXamVRSbY and the video recording is https://youtu.be/C3WipFZ0blQ?list=PL57quI9usf_vq2TH9NV5sMsbabkMGOnRA&t=13374 (timecode 3:42:54).
YouTube Link: https://youtu.be/9XMt2hChbRo
** Edureka Online Training: https://www.edureka.co/ **
In this edureka PPT, Flutter tutorial, you will learn about google's cross-platform mobile application development framework. You will also learn to make a basic app using flutter at the end of this video.
The following topics are discussed in this PPT
Mobile Application Development
What is Flutter?
Why learn Flutter?
Flutter Architecture
Types of Widgets
How Flutter Compiles
Flutter Installation
Writing Our First Flutter Application
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...Frans Rosén
Regardless on how sophisticated your framework is, how many layers of firewalls and mitigation techniques that are put in place, there's a common weakness that often gets overlooked: the insecure direct object reference. The flaw exist everywhere: WordPress with username enumeration issues. Twitter where remote attackers could delete credit cards for the ad service and to OculusVR with a horizontal privilege escalation vulnerability which got disclosed recently.
How to build a chat application with react js, nodejs, and socket.ioKaty Slemon
In the tutorial, we will learn about how to build a chat app using ReactJs, NodeJS, and Socket.IO. Clone the Github repository and play around with the code.
Building and deploying PHP applications with PhingMichiel Rook
Slides for my talk at the PHP UK Conference 2012.
Some of the examples discussed during the talk can be found at http://www.touchdownconsulting.nl/conferences/phing-phpuk2012-examples.tgz
If you attended, please leave me some feedback at http://joind.in/4954 - thanks!
Flutter overview - advantages & disadvantages for businessBartosz Kosarzycki
After half a year experience with Fluttter, two internal projects and one commercial one, we'd like to share our view on what FLUTTER as a framework gives developers and businesses alike.
Slides from a talk given at DevSecCon on 206h October 2016 http://www.devseccon.com/blog/session/automating-owasp-zap/
The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular and best maintained free security tools. In this workshop you will learn how to automate security tests using ZAP. These tests can then be included in your continuous integration / delivery pipeline. Simon will cover the range of integration options available and then walk you through automating ZAP against a test application. The ZAP UI will be used to explain the concepts and python scripting used to drive ZAP via its API – this can then also be used to drive ZAP in daemon mode.
This workshop is aimed at anyone interested in automating ZAP for security testing, including developers, functional testers (QA) and security/pentesters.
A story of the passive aggressive sysadmin of AEMFrans Rosén
# By Frans Rosén
Adobe Experience Manager is an enterprise CMS with a troubled history. It was created with the angle of high customization factor, enabling consulting firms to deploy it all over the world for huge customers.
Then came security.
Frans will go through some terrible default configuration mistakes, Adobe’s love for bad Flash and how a sysadmin accidentialy exposed an international multi billion dollar company using only sad thoughts.
# About speaker
Frans Rosén is a tech entrepreneur, bug bounty hunter and a Security Advisor at Detectify, a security service for developers. He’s a frequent blogger at Detectify Labs and a top ranked participant of bug bounty programs, receiving some of the highest bounty payouts ever on HackerOne.
Frans was recently featured as #2 on Hackread’s list of 10 Famous Bug Bounty Hunters of All Time and the results of his security research has been covered in numerous international publications such as Observer, BBC, Ars Technica, Wired and Mashable.
Talk from Rust Linz - 27th Edition in November 2022. Explained development using Bare metal and STD Rust for ESP32. Example of development using wokwi.com/rust. Discussion about shifting business logic of app to Rust and re-using the logic in Embedded device and WASM application.
Learn All Aspects Of Maven step by step, Enhance your skills & Launch Your Career, On-Demand Course affordable price & classes on virtually every topic.Try Before You Buy
Native mobile application development with Flutter (Dart)Randal Schwartz
Create beautiful performant mobile apps for both iOS and Android using the revolutionary Flutter framework, originally from Google, now supported by a large community.
This slide deck was presented at Scale16x in Pasadena. The screencast is at https://www.youtube.com/watch?v=O7TXamVRSbY and the video recording is https://youtu.be/C3WipFZ0blQ?list=PL57quI9usf_vq2TH9NV5sMsbabkMGOnRA&t=13374 (timecode 3:42:54).
YouTube Link: https://youtu.be/9XMt2hChbRo
** Edureka Online Training: https://www.edureka.co/ **
In this edureka PPT, Flutter tutorial, you will learn about google's cross-platform mobile application development framework. You will also learn to make a basic app using flutter at the end of this video.
The following topics are discussed in this PPT
Mobile Application Development
What is Flutter?
Why learn Flutter?
Flutter Architecture
Types of Widgets
How Flutter Compiles
Flutter Installation
Writing Our First Flutter Application
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...Frans Rosén
Regardless on how sophisticated your framework is, how many layers of firewalls and mitigation techniques that are put in place, there's a common weakness that often gets overlooked: the insecure direct object reference. The flaw exist everywhere: WordPress with username enumeration issues. Twitter where remote attackers could delete credit cards for the ad service and to OculusVR with a horizontal privilege escalation vulnerability which got disclosed recently.
How to build a chat application with react js, nodejs, and socket.ioKaty Slemon
In the tutorial, we will learn about how to build a chat app using ReactJs, NodeJS, and Socket.IO. Clone the Github repository and play around with the code.
Building and deploying PHP applications with PhingMichiel Rook
Slides for my talk at the PHP UK Conference 2012.
Some of the examples discussed during the talk can be found at http://www.touchdownconsulting.nl/conferences/phing-phpuk2012-examples.tgz
If you attended, please leave me some feedback at http://joind.in/4954 - thanks!
Flutter overview - advantages & disadvantages for businessBartosz Kosarzycki
After half a year experience with Fluttter, two internal projects and one commercial one, we'd like to share our view on what FLUTTER as a framework gives developers and businesses alike.
Slides from a talk given at DevSecCon on 206h October 2016 http://www.devseccon.com/blog/session/automating-owasp-zap/
The OWASP Zed Attack Proxy (ZAP) is one of the world’s most popular and best maintained free security tools. In this workshop you will learn how to automate security tests using ZAP. These tests can then be included in your continuous integration / delivery pipeline. Simon will cover the range of integration options available and then walk you through automating ZAP against a test application. The ZAP UI will be used to explain the concepts and python scripting used to drive ZAP via its API – this can then also be used to drive ZAP in daemon mode.
This workshop is aimed at anyone interested in automating ZAP for security testing, including developers, functional testers (QA) and security/pentesters.
A story of the passive aggressive sysadmin of AEMFrans Rosén
# By Frans Rosén
Adobe Experience Manager is an enterprise CMS with a troubled history. It was created with the angle of high customization factor, enabling consulting firms to deploy it all over the world for huge customers.
Then came security.
Frans will go through some terrible default configuration mistakes, Adobe’s love for bad Flash and how a sysadmin accidentialy exposed an international multi billion dollar company using only sad thoughts.
# About speaker
Frans Rosén is a tech entrepreneur, bug bounty hunter and a Security Advisor at Detectify, a security service for developers. He’s a frequent blogger at Detectify Labs and a top ranked participant of bug bounty programs, receiving some of the highest bounty payouts ever on HackerOne.
Frans was recently featured as #2 on Hackread’s list of 10 Famous Bug Bounty Hunters of All Time and the results of his security research has been covered in numerous international publications such as Observer, BBC, Ars Technica, Wired and Mashable.
Talk from Rust Linz - 27th Edition in November 2022. Explained development using Bare metal and STD Rust for ESP32. Example of development using wokwi.com/rust. Discussion about shifting business logic of app to Rust and re-using the logic in Embedded device and WASM application.
Introducing the new high-performance Javascript and Typescript compiler which is written in Rust and the demonstrations at Tiki Co., Ltd. (tiki.vn)
Internal sharing session at Tiki Co., Ltd. on September 8 2022 by Thien Ly
_________________
On September 8, I held a presentation about a Javascript and Typescript compiler for my team at TIKI. It is the SWC - the new high-performance compiler written in Rust with customizable plugin API. This could make some massive enhancements to the DX(development experience) for your team in Node and Browser Products.
Read more about the SWC document here: https://swc.rs
#javascript #share #development #dx #typescript #compiler #slide #rust
Lab Handson: Power your Creations with Intel Edison!Codemotion
by Francesco Baldassarri - Come along and play with Intel Edison, for the Internet of Things? Learn about the Developer Kit for IoT, chose your preferred environment and test it – or test all the possibilities? We will be providing information and hands on training for developers interested in testing our solutions in C/C++, Javascript, Arduino, Wyliodrin and Python. Just bring you laptop and we will help you to get started. We will also provide information about our Cloud Analytics platform, and test hardware samples with the Grove Starter Kit – Intel IoT Edition. Visit us anytime and start making! What will you make?
Introduction to ESP32 Programming [Road to RIoT 2017]Alwin Arrasyid
Introduction to ESP32 programming using official development framework, ESP-IDF and Arduino for ESP32.
Every demo code is published in this github repository:
https://github.com/alwint3r/RTR_Surabaya2017
An Overview of the IHK/McKernel Multi-kernel Operating SystemLinaro
By Balazs Gerofi, RIKEN Advanced Institute For Computational Science
RIKEN Advanced Institute for Computation Science is in charge of leading the development of Japan's next generation flagship supercomputer, the successor of the K. Part of this effort is to design and develop a system software stack that suits the needs of future extreme scale computing. In this talk, we focus on operating system (OS) requirements for HPC and discuss IHK/McKernel, a multi-kernel based operating system framework. IHK/McKernel runs Linux with a light-weight kernel (LWK) side-by-side on compute nodes with the primary motivation of providing scalable, consistent performance for large scale HPC simulations, but at the same time to retain a fully Linux compatible execution environment. We provide an overview of the project and discuss the status of its support for ARM architecture.
Balazs Gerofi Bio
Research Scientist at RIKEN Advanced Institute For Computational Science.
Email
bgerofi@riken.jp
For more info on The Linaro High Performance Computing (HPC) visit https://www.linaro.org/sig/hpc/
Have a quick overview of most of the embedded linux components and their details. How ti build Embedded Linux Hardware & Software, and developing Embedded Products
Build Low-Latency Applications in Rust on ScyllaDBScyllaDB
Join us for a developer workshop where we’ll go hands-on to explore the affinities between Rust, the Tokio framework, and ScyllaDB. You’ll go live with our sample Rust application, built on our new, high performance native Rust client driver.
World of C is evolving. New use cases are often with embedded or mobile systems. Software engineer should be aware of technology stack connected to open source technologies like Arduino for IoT.
Development in C language in context of year 2016. Reference to new tooling and productivity tools. Update about Gradle 2.13 and new tools like Clion or Visual Studio Code
Story about implementation of small game based on KiwiJS and graphics from Enigma game. Exploring technologies like Angular2 and Visual Studio. Explained game mechanics included in the game.
Talk at FI MUNI about C++ and important skills that should developer know. Talking about soft skills and communication with architects and product owners.
C language in context of our world. Mapping interesting tools, IDE, open source libraries. Introduction to Gradle and packaging for Linux. Link to language Go.
Deploying change into RnD is not easy task. It could be done in iterative way. Where each phase has it's part of internal marketing. This talk explores on instance of changing Maven into Gradle and then explaining more about Atlassian stack and deployment into RnD. The important outcome is open mindset of RnD.
Gradle and build systems for C language. Explaining basics of Gradle on simple examples. How to add support for Visual Studio or Linux package to build.
The story behind building application PF2014 based on Cordova with AngularJS, jQuery without Canvas. Short info about app markets like Google Play, Apple App Store, Amazon App Store and Windows Phone store
Talks about PowerShell UIAutomation used by Y Soft for automating GUI Windows installer testing in multiple languages. How to integrate PowerShell with continuous integration system Jenkins.
Slides form talk at FI MUNI about development in C (2012). Covers topic about C libraries including libuv library from Node.js and its relation to Google V8 JavaScript Engine.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
First Steps with Globus Compute Multi-User Endpoints
Rust Embedded Development on ESP32 and basics of Async with Embassy
1. Rust Embedded Development
on ESP32
and basics
of Async with Embassy
2023-02-08
Rust CZ/SK Meetup - Brno
Juraj Michálek, Juraj Sadel - Espressif Systems
3. Rust ESP32 Community meeting
Regular meeting every two weeks
https://github.com/esp-rs/rust/discussions/
4. Community based effort to make Rust better
The Rust on ESP Book - https://esp-rs.github.io/book/
Awesome ESP Rust - https://github.com/esp-rs/awesome-esp-rust
- submit your project :-)
5. Designing Open Hardware - esp-rust-board
KiCad templates
https://github.com/esp-rs/esp-rust-board
ESP32-C3-DevKit-RUST-1 (available at Mouser, AliExpress)
https://www.espressif.com/en/products/devkits
9. Create new project Rust project
Bare metal:
cargo generate https://github.com/esp-rs/esp-template
STD with ESP-IDF:
cargo generate --vcs none --git https://github.com/esp-rs/esp-idf-template cargo
10. Multi-target project (PoC) - ESP32 Spooky Maze
https://github.com/georgik/esp32-spooky-maze-game
Idea: sharing business logic in Rust between
multiple targets
Targets: ESP32, ESP32-S2, ESP32-S3, ESP32-C3, M5Stack, Wasm and Desktop
Article: https://georgik.rocks/rust-bare-metal-application-for-esp32-desktop-android-and-ios/
https://github.com/espressif/esp-box
11. Wokwi - VS Code Plugin
Add wokwi.toml and diagram.json
to your project
cd m5stack-fire
cargo build --release --no-default-features --features "wokwi"
CTRL+Shift+P - Wokwi: Start Simulator
12. Async with Embassy
Embassy: https://github.com/embassy-rs/embassy
Examples of Embassy on ESP32:
- https://github.com/esp-rs/esp-hal/blob/main/esp32-hal/examples/embassy_hello_world.rs
- https://github.com/esp-rs/esp-hal/blob/main/esp32-hal/examples/embassy_spi.rs
- https://github.com/esp-rs/esp-hal/blob/main/esp32-hal/examples/embassy_wait.rs
13. Development options
- Local
- bootstrap whole env with “espup install” - https://github.com/esp-rs/espup#installation (written in Rust)
- Windows Online idf-installer - https://github.com/espressif/idf-installer/releases/tag/online-2.20 (includes VC
Tools)
- bootstrap with sh/pwsh (older method) - https://github.com/esp-rs/rust-build#download-installer
- Local in container
- Podman, Docker, Lima
- with VS Code Remote Container extension
- Cloud in GitPod.io or CodeSpaces
- EDC22 Day 2 Talk 11 Just Few dot files in Repo or Paradigm Shift to Cloud-based Embedded Development -
https://youtu.be/WAwfRyOy7N8
- Wokwi.com
16. Using async
- Don’t have to setting and waiting for interrupt resuming the program
- Async executor can do that for us instead
- Power efficient
17. async/.await
- Non-blocking operations
- Transforms each async function into future object
- When future blocks I/O it yields -> executor selects different future to execute
- No guessing which future is ready
18. Embassy (EMBedded ASYnc)
- We need an EXECUTOR to be able to use async
- Controlling which task should run
- Embassy consists of multiple crates (Executor, HALs, Networking,...)
- no_std
- Can be (relatively) easily extendable/configurable with other public crates
- https://embassy.dev
19. Executor
- Queue of tasks, when created it’s polled (1)
- Executing until gets blocked (awaiting async function) (2)
- Executes other task (3)
20. Interrupts
- Task is polled and executing (1)
- Task uses a peripheral to perform an operation(2)
- Interrupt occurred while awaiting (3)
- HAL ensures that interrupt signal updates
the peripheral state (4)
- Executor poll the task (5)
21. Rust language support
Talk: Embedded Rust on ESP32 - Juraj Michálek - Rust Linz November 2022
https://youtu.be/0PPPdqoDBQs
22. Training Embedded for ESP32-C3 by Ferrous Systems
Training: https://ferrous-systems.com/training/#package-espressif-beginner-training
Material: https://espressif-trainings.ferrous-systems.com/
GitHub: https://github.com/ferrous-systems/espressif-trainings/
25. Many chips, many boards - quick help
https://products.espressif.com/
26. IDE
Supported by Espressif:
- VS Code with Espressif Extension -
https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/vscode-setup.html
- Espressif IDE - https://dl.espressif.com/dl/esp-idf/
Supported by 3rd party and community:
- Visual Studio with VisualGDB - https://visualgdb.com/
- CLion - https://www.jetbrains.com/clion/
28. OSes and integration
ESP-IDF (OS based on FreeRTOS) - https://github.com/esp-rs/esp-idf-hal (full feature)
no_std a.k.a. bare metal with Rust - https://github.com/esp-rs/esp-hal (minimalistic)
Zephyr - https://zephyrproject.org/
- EDC22 Day 1 Talk 10: Applications of Asymmetric Multiprocessing with ESP32 Devices -
including Rust on one core - https://youtu.be/oble9ObAqxM
NuttX - https://nuttx.apache.org/ (as app, Linux-like OS)
SVD files: https://github.com/espressif/svd
29. Further languages and frameworks
Arduino - Maker choice
- warning: limitation on production due to licenses!
VM based:
- CircuitPython and MicroPython - Python-like language
- Toit - Toit language
- Nanoframework - C# language
- Mongoose OS
- downside: bigger VM
- upside: more robust, comes with OTA and monitoring
30. CTAG-TBD
CTAG TBD >>to be determined<< an extendible
open source Eurorack sound module
https://github.com/ctag-fh-kiel/ctag-tbd
35. Visit us in Brno
Espressif Systems (Czech) s.r.o.
Přízova 3, 602 00 Brno
Czechia, Europe
See you in Linz in 2023. We’re planning ESP32 Rust Workshop ;-)