The next version of Qt adds a framework for defining and executing hierarchical finite state machines in Qt applications. With Qt State Machines you can effectively model how components react to events over time; these state machines are a natural extension to Qt's event-driven programming model. State machines allow you to express the behavior of your application in a more rigid, explicit way, resulting in code that's easier to test, maintain and extend. This session presents the core concepts and functionality of Qt State Machines.
Presentation by Kent Hansen held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for this webinar to explore the best of QML for mobile, embedded and desktop.
Part III will cover:
- C++ Backends
- Reusing existing code
- Creating QML Modules
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 1 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 1 will cover:
Building Blocks of QML
Qt Properties
Declarative Code
Anchors
Introduction to the Qt State Machine Framework using Qt 6ICS
The Qt State Machine Framework provides a practical mechanism to implement a GUI application as a state chart. Using Qt 6, this webinar will:
-Provide an intro to the framework
-Explore its features and its API in both C++ and QML
-Illustrate with an example how it can simplify development where the user interface is written in QML
This webinar is for any developer who wants to implement robust user interfaces.
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for this webinar to explore the best of QML for mobile, embedded and desktop.
Part IV will cover:
- Dynamic Item Creation
- Keyboard Input Handling
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for this webinar to explore the best of QML for mobile, embedded and desktop.
Part III will cover:
- C++ Backends
- Reusing existing code
- Creating QML Modules
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 1 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 1 will cover:
Building Blocks of QML
Qt Properties
Declarative Code
Anchors
Introduction to the Qt State Machine Framework using Qt 6ICS
The Qt State Machine Framework provides a practical mechanism to implement a GUI application as a state chart. Using Qt 6, this webinar will:
-Provide an intro to the framework
-Explore its features and its API in both C++ and QML
-Illustrate with an example how it can simplify development where the user interface is written in QML
This webinar is for any developer who wants to implement robust user interfaces.
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for this webinar to explore the best of QML for mobile, embedded and desktop.
Part IV will cover:
- Dynamic Item Creation
- Keyboard Input Handling
Improving app performance with Kotlin CoroutinesHassan Abid
Coroutines were added to Kotlin in version 1.3 and since then they became a popular choice for android developers to simplify code that executes asynchronously. Coroutines are lightweight threads and on android they help to solve the primary problems of long running tasks that might block the main thread and also providing safety for offloading network or disk operations from the main thread. This talk covers how coroutines work with architecture components
How to write multi threaded applications using Qt:
In the slides you'll learn about 3 alternatives, all of which allow running tasks simultaneously in Qt applications, and understand the use cases leading to choosing each.
In the final webinar in our summer series we will illustrate how the Model/View/Controller design pattern fits in Qt applications, specifically with the item-view objects. We'll present them, the model classes, and how they both interact. The concept will be demonstrated through a Napster/iTunes-like download manager.
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 3 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 3 will cover:
C++ / QML Integration
Reusing Existing C++ Code
Rust
Why do you care about Rust? Who has the time to learn all these new languages? It seems like a new one is popping up every other week and this trend is growing at an exponential rate. Good news, a fair number of them are crafted really well and efficiently solve specific problems. Bad news, how do you keep up with all of this, let alone decide which languages to include in your companies technology portfolio.
Despite the challenges of all these new languages, a majority of developers are intrigued about the idea of becoming a polyglot, but don't know where to begin or don't have the time. In my polyglot travels, there is one language of late that is the sure-fire answer to the above questions, Rust.
In this talk I’ll explore the value behind becoming more polyglotic as a developer, how to pick languages to learn, and then dive deep in the the language of Rust. Which in my opinion, is hands down the best up and coming languages to learn.
About the Presenter
Anthony Broad-Crawford has been a developer since the year 2000 with a short side stint as a semi-professional poker player. Since his transition to software development Anthony has...
1. Built 8 patent receiving technologies
2. Founded two global companies
3. Been a CTO (3x), CPO (1x), and CEO (1x)
and is currently the CTO at Fooda where he manages product, user experience, and engineering. Fooda is predominantly web and mobile technology company focused on bringing great & healthy food from the best restaurant's to people while at the office.
Through his career, in production applications Anthony has used Ruby, Java, Jave (Android), Objective-C and Swift, .NET, Erlang, Scala, Node.JS, LISP, Smalltalk, and even assembly, with his recent favorite, Rust . No, not all at the same time in the same application.
Anthony now spends his time building great teams, that leverage great technology, to build great products, but still looks to codes every chance he can get :)
SQLAlchemy is a popular database framework that provides an ORM and a schema centric query language, and in this talk we will take a look how to get started with the ORM. We'll learn how to establish connections to popular databases such as PostgreSQL and MySQL. Then we will look at how to define our models as user classes including relationships and persist them to the database. Next, we'll cover the how the SQLAlchemy session works with typical create, update, read, and delete operations. We'll wrap up with pointers of where to go next to learn more.
QVariant, QObject — Qt's not just for GUI developmentICS
In part II of our Qt for Beginners Summer Webinar Series we will explore how Qt is so much more than just a GUI toolkit. Through two classes, QObject and QVariant, Qt brings us introspection, makes it easier to manage memory in C++ and makes it easier to decouple classes.
What's LINQ, its advantages, its Operators and examples on some of them, Methods of Writing it.
LINQ to Objects and Collections and Data Source Transformation.
Improving app performance with Kotlin CoroutinesHassan Abid
Coroutines were added to Kotlin in version 1.3 and since then they became a popular choice for android developers to simplify code that executes asynchronously. Coroutines are lightweight threads and on android they help to solve the primary problems of long running tasks that might block the main thread and also providing safety for offloading network or disk operations from the main thread. This talk covers how coroutines work with architecture components
How to write multi threaded applications using Qt:
In the slides you'll learn about 3 alternatives, all of which allow running tasks simultaneously in Qt applications, and understand the use cases leading to choosing each.
In the final webinar in our summer series we will illustrate how the Model/View/Controller design pattern fits in Qt applications, specifically with the item-view objects. We'll present them, the model classes, and how they both interact. The concept will be demonstrated through a Napster/iTunes-like download manager.
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us for part 3 of our 4 part webinar series where we explore the best of QML for mobile, embedded and desktop.
Part 3 will cover:
C++ / QML Integration
Reusing Existing C++ Code
Rust
Why do you care about Rust? Who has the time to learn all these new languages? It seems like a new one is popping up every other week and this trend is growing at an exponential rate. Good news, a fair number of them are crafted really well and efficiently solve specific problems. Bad news, how do you keep up with all of this, let alone decide which languages to include in your companies technology portfolio.
Despite the challenges of all these new languages, a majority of developers are intrigued about the idea of becoming a polyglot, but don't know where to begin or don't have the time. In my polyglot travels, there is one language of late that is the sure-fire answer to the above questions, Rust.
In this talk I’ll explore the value behind becoming more polyglotic as a developer, how to pick languages to learn, and then dive deep in the the language of Rust. Which in my opinion, is hands down the best up and coming languages to learn.
About the Presenter
Anthony Broad-Crawford has been a developer since the year 2000 with a short side stint as a semi-professional poker player. Since his transition to software development Anthony has...
1. Built 8 patent receiving technologies
2. Founded two global companies
3. Been a CTO (3x), CPO (1x), and CEO (1x)
and is currently the CTO at Fooda where he manages product, user experience, and engineering. Fooda is predominantly web and mobile technology company focused on bringing great & healthy food from the best restaurant's to people while at the office.
Through his career, in production applications Anthony has used Ruby, Java, Jave (Android), Objective-C and Swift, .NET, Erlang, Scala, Node.JS, LISP, Smalltalk, and even assembly, with his recent favorite, Rust . No, not all at the same time in the same application.
Anthony now spends his time building great teams, that leverage great technology, to build great products, but still looks to codes every chance he can get :)
SQLAlchemy is a popular database framework that provides an ORM and a schema centric query language, and in this talk we will take a look how to get started with the ORM. We'll learn how to establish connections to popular databases such as PostgreSQL and MySQL. Then we will look at how to define our models as user classes including relationships and persist them to the database. Next, we'll cover the how the SQLAlchemy session works with typical create, update, read, and delete operations. We'll wrap up with pointers of where to go next to learn more.
QVariant, QObject — Qt's not just for GUI developmentICS
In part II of our Qt for Beginners Summer Webinar Series we will explore how Qt is so much more than just a GUI toolkit. Through two classes, QObject and QVariant, Qt brings us introspection, makes it easier to manage memory in C++ and makes it easier to decouple classes.
What's LINQ, its advantages, its Operators and examples on some of them, Methods of Writing it.
LINQ to Objects and Collections and Data Source Transformation.
Qt Application Programming with C++ is one of the best Qt QML training and courses in Bangalore India. This workshop is ideal for anyone who want to get started with developing GUI Application using Qt framework. Starting with basics, this workshop covers developing multi-threaded, multimedia and 2D graphics based applications with multiple Do-It-Yourself (DIY) exercises.
Performance is a key component of usability and crucial for the user experience, especially in today's modern user interfaces where graphical elements are being animated and transitioned. Bringing Qt Everywhere means a significant need for speed across desktop and embedded platforms. This presentation will give you a brief overview of performance improvements done in Qt, and will be highly interactive with hands-on sessions on how to squeeze every last drop of performance out of your Qt application.
Presentation by Bjørn Erik Nilsen held during Qt Developer Days 2009.
http://qt.nokia.com/whatsnew
For this info-packed and hands-on workshop we cover:
📍 Introduction to Kubernetes & GitOps talk:
We cover the most popular path that has brought success to many users already - GitOps as a natural evolution of Kubernetes. We'll give an overview of how you can benefit from Kubernetes and GitOps: greater security, reliability, velocity and more. Importantly, we cover definitions and principles standardized by the CNCF's OpenGitOps group and what it means for you.
📍 Get Started with GitOps:
You'll have GitOps up and running in about 30 mins using our free and open source tools! We'll give a brief vision of where you want to be with those security, reliability, and velocity benefits, and then we'll support you while go through the getting started steps. During the workshop, you'll also experience in action and see demos for:
- an opinionated repo structure to minimize decision fatigue
- disaster recovery using GitOps
- Helm charts example
- Multi-cluster example
- all with free and open source tools mostly in the CNCF (eg. Flux and Helm).
If you have questions before or after the workshop, talk to us at #weave-gitops http://bit.ly/WeaveGitOpsSlack (If you need to invite yourself to the Slack, visit https://slack.weave.works/)
The Qt Script module enables you as a Qt/C++ application developer to seamlessly integrate scripting into your application, providing script authors with an interface for working in the context of your particular Qt application. The Qt Script language is very similar to JavaScript, so many developers and designers should already find it familiar. This session gives an overview of the main steps of embedding Qt Script into an application, and covers some typical patterns of usage.
Presentation by Kent Hansen held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Symbio, a leading software foundry, provides software product engineering and R&D co-creation services to the world's technology innovators. With offices in Finland, Sweden, USA and China, Symbio serves such world-leading companies like China Mobile, Google, Nokia, PayPal and ST-Ericsson. www.symbio.com.
HGZ is developing and producing fully automatic coffee machines since 1969 in Switzerland. In 2006 the idea of a modern computer system based man-machine-interface was ready to be realized. Qt's linguist tool was the reason to start with Qt as development framework. This session will give live demonstration of the new coffee machine S400 and a retrospection of the GUI development in the passed three years. Why Qt was chosen as development framework, how the software is designed, and which Qt classes were used. The linguist tool in action and personal experience with the framework, its documentation and other Qt resources. Qt's hardware independence as chance and dependencies on the OS as possible bottleneck and how to prevent these.
Presentation by Samuel Lüthi held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Modern applications are more and more moving away from static forms. In a modern interface, widgets and graphical elements are animated and transitioned smoothly. Those effects make your application look good but their main purpose should be to help end-users find out what's going on in their applications. In upcoming Qt versions we’re adding a new Animation Framework that relies upon Qt’s QObject-based architecture.
Presentation by Thierry Bastian held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
With the introduction of multi-touch and gesture support coming in Qt, application developers now have the possibility of introducing new types of input and interaction to their applications. We will examine the various types of devices that one can expect to encounter in the multi-touch and gesture "world". This presentation will also introduce and explain the new API, walk through some example code, and show some demos of some of the possibilities we foresee with this technology.
Presentation by Jens Bache-Wiig held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Qt Quick/QML brings designers and developers together to create and collaborate. QML is a collection of technologies that can build modern and fluid interfaces for applications – quickly. Join us as we explore the best of QML for mobile, embedded and desktop.
Part I will cover:
- Building Blocks of QML
- Qt Properties
- Declarative Code
Weather service, maps and navigation, photo viewer, instant messaging, web browser, flick list or kinetic scrolling. You want all these with Qt? You get it!
Presentation by Ariya Hidayat held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
For the past 7 years, Midland Valley as been capitalizing on Qt to create advanced geological modeling applications for the Oil & Gas industry. Featuring 2D and 3D modeling and visualization, these applications provide enhanced user interface and easy to use workflows. Combining many Qt technologies in the applications and in our development process (from sockets and widgets to graphics views, models/views, Webkit, designer plug ins, unit tests) has enabled us to deliver superior applications with a better mixed-platform integration, a shorter release cycle, and improved quality.
Presentation by Mike Krus and Colin Dunlop held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
High Performance Relaying of C++11 Objects Across Processes and Logic-Labeled...vladestivillcastro
We present a software architecture based on two packages. (1) The gusimplewhiteboard package is a POSIX and ROS catkin compliant module that enables the construction and extremely efficient (see benchmarks) inter-process relaying of message-types as C++11 objects. gusimplewhiteboard would seem analogous to ROS:core that enables ROS:services and ROS:messages. All gusimplewhiteboard objects reside in shared memory. Moreover, our approach is to use idempotent message communication, in direct contrast to previously released platforms for robotic-module communication, that are based on an event-driven subscriber model that queues and multi-threads. (2) The compiler (clfsm) of arrangements of logic-labeled finite state machines (llfsms). The llfsms are executed concurrently, but scheduled sequentially, in an extremely efficient manner. The efficiency comes from compilation (as opposed to interpretation) and the removal of all race conditions, as the entire execution is a single thread. llfsms are also not event-driven, transitions are labeled by logic expressions. Moreover, the activities inside states can be any C++11 code as we integrate with the compiler clang .
Although independent, together, these tools enable effective robotic behavior design where arrangements of llfsms can be organised as a hier- archies of machines and submachines that enables composition of very complex systems. They have proven to be very powerful for Model-Driven Development, capable of simulation, validation and formal verification
Since the 1980s, Motif has been a popular toolkit for developing graphical desktop applications. Despite its age, legacy applications written using the Motif toolkit are still in production. There are a number of reasons to migrate these applications to newer platforms. Porting Motif applications to the Qt framework can achieve many of the benefits without requiring a total rewrite. In this webinar we'll look at scenarios, strategies, and general advice for porting Motif applications to Qt, based on the wide experience ICS has gained over many Motif to Qt conversion projects.
Introduction to Qt cross-platform application and UI framework. Explaining what Qt does, some historical background, hybrid Internet Applications with Qt Webkit and the future with Qt Quick.
KDE Plasma in your pocket.
Presentation by Alexis Menard held during Bossa Conference 2010 in Manaus.
Read more at http://labs.trolltech.com/blogs/2010/02/28/tokamak-4-the-kde-plasma-meeting/
http://qt.nokia.com
http://www.bossaconference.indt.org/
Shipping Mobile Applications Using Qt for Symbianaccount inactive
Presentation by Espen Riskedal held during Bossa Conference 2010 in Manaus.
Read more at http://labs.trolltech.com/blogs/2010/03/08/hi-from-bossa-conference-and-bossatetrix/
http://qt.nokia.com
http://www.bossaconference.indt.org/
Presentation by Marius Bugge Monsen held during Bossa Conference 2010 in Manaus.
Read more at http://labs.trolltech.com
http://qt.nokia.com
http://www.bossaconference.indt.org/
Graphics View becomes one of the prominent features of Qt these days, it also serves as the backbone for next-generation user-interface developments. This talk highlights several tips and tricks which you can employ to beautify your Graphics View-based application, in order to have much more exciting and interesting user interactions. In addition, a new addition in Qt 4.6, namely the graphics effect feature, will be introduced and demonstrated.
Presentation by Ariya Hidayat held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
The Qt WebKit Integration provides a powerful framework to seamlessly integrate web technologies into applications, where web content can interact with Qt components. This presentation introduces the QtWebKit APIs, the underlying engine and new features coming in future releases.
Presentation by Kenneth Christiansen held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Do you consider yourself a Qt expert, but want to learn how to turbo-charge your programming efficiency while using Qt? Join this session and learn from Qt gurus the tips and tricks you need to get the most out of Qt, get more done in less time and generally look better than your co-workers.
Presentation by Mirko Boehm and Till Adam resp. Romain Pokrzywka held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
This talk is an introduction to development of Qt applications for embedded devices running Windows CE. We will show how to build Qt for your device and you will learn how to create your Qt programs on Desktop Windows and cross-compile it for the target device.
Presentation by Jörg Bornemann held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Supporting several languages is a key point to increase the audience of an application. We will see what is needed in Qt to enable internationalization and how to ensure all the components can be translated. We will also see the tools available for the translators and how to use them.
Presentation by Benjamin Poulain held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Are you developing cross-platform applications with Qt, but are missing a cross-platform development environment? Qt Creator is the answer! Get an introduction to the new Qt Creator cross-platform IDE, see the major features in action and learn how to use Qt Creator to code, debug, build and run Qt apps across platforms.
Presentation by Erik Verbruggen held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Everything you want to know about QWidget, but were afraid to ask. QWidget is the base-class for all Qt's user interface objects. This talk will take an in-depth look at how QWidget works internally and how it interacts with the native windowing system.
Presentation by Marius Bugge Monsen held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
The long awaited port of Qt to the Symbian platform is set to be delivered later this year. In addition to being able to target a new platform, application developers will now be able to take advantage of new functionality in Qt to ensure their application integrates seamlessly with the underlying mobile operating system. This session features a brief introduction to the Symbian/S60 platform with a focus on mobile application development using Qt for the Symbian platform.
Presentation by Alessandro Portale held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Qt uses native style APIs on each supported platform, however there are some additional tricks you can use to make sure your Qt-based application looks, feels and behaves better. This presentation will run through examples, tips and ticks to help you make your applications look great on all platforms.
Presentation by Jens Bache-Wiig held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)account inactive
With Qt's new open contribution model and the Qt source code repositories open on qt.gitorious.org, contributing your code to Qt is easier than ever before. Learn how to take advantage of this new opportunity by walking through the example of debugging and submitting a bugfix using Gitorious.
Presentation by Simon Hausmann held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
The Qt Mobility project is developing new Qt APIs. These APIs will benefit all Qt developers. This presentation shall provide an overview of the APIs and demonstrate the use of some the APIs through an example application. This presentation shall fuel ideas for usage of the new APIs in your own projects.
Presentation by Alex Luddy held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
The Qt Kinetic project is an initiative to provide powerful frameworks to create dynamic, beautiful graphical user interfaces in Qt. As an extension of this effort, the next generation of Qt's item views framework is being designed with animated user interfaces in mind. This talk will give an introduction to the Item Views NG project and the new architecture that is being proposed.
Presentation by Marius Bugge Monsen held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Softwareaccount inactive
DAZ 3D strives to bring 3D art to the masses by delivering the highest quality 3D digital content and software at the most affordable prices. DAZ Studio is a free, feature rich 3D figure design and 3D animation tool that enables anyone to create stunning digital imagery. This is the perfect tool to design unique digital art and animation using virtual people, animals, props, vehicles, accessories, environments and more. In April of 2004, DAZ started the Public Beta release stage of development for DAZ Studio after two years of development. In June 2009, DAZ Studio v3.0 was released both as a free version and a monetized advanced version. This presentation will explain why Qt was originally selected, what benefits have been realized from it’s use in DAZ Studio, and what DAZ 3D’s experience has been in porting there app from Qt3.3 to Qt4.5. Specific topics will include scripting implementation, cross-platform compatibility, UI versatility, upgrade porting issues/experiences, benefits of the 4.5 opensource version, and styling benefits.
Presentation by Tyson Ratliff and Jarom Schow held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
Case Study: Porting Qt for Embedded Linux on Embedded Processorsaccount inactive
Qt has been crucial for Texas Instruments to develop attractive applications as system demonstrations including appealing graphics and communication features within a defined time space and resource environment. This session will discuss porting and using Qt for Embedded Linux on several embedded processors. Walzer will present TI's experience and the current status of configuring Qt for ARM based platforms running Linux as the operating system, as well as have a look at the current state of integrating hardware accelerators such as DSP and graphics cores into Qt4.
Presentation by Frank Walzer held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
2. About Me (Kent Hansen)
• Working on Qt since 2005
• QtScript
• Qt State Machine framework
• Plays harmonica and Irish whistle
2
3. Goals For This Talk
• Introduce the Qt State Machine Framework (SMF)
• Show how to incorporate it in your Qt application
• Inspire you to think about how you would use it
3
4. Agenda
• State machines – what and why?
• Statecharts tour
• Qt State Machine tour
• Wrap-up
4
5. Qt State Machine Framework (SMF)
• Introduced in Qt 4.6
• Part of QtCore module (ubiquitous)
• Originated from Qt-SCXML research project
5
6. Qt State Machine Framework (SMF)
• Provides C++ API for creating hierarchical finite
state machines (HFSMs)
• Provides “interpreter” for executing HFSMs
6
7. State Chart XML (SCXML)
• “A general-purpose event-based state machine
language”
• W3C draft (http://www.w3.org/TR/scxml/)
–Defines tags and attributes
–Defines algorithm for interpretation
7
8. Statecharts – Some use cases
• State-based (“fluid”) UIs
• Asynchronous communication
• AI
• Gesture recognition
• Controller of Model-View-Controller
• Your new, fancy product (e.g. “Hot dog oven”)
8
11. Why State Machines in Qt? (II)
• Program = Structure + Behavior
• C++: Structure is language construct
• C++: Event-driven behavior is not language
construct
11
12. Why State Machines in Qt? (III)
• Qt already has event-based infrastructure
• Event representation (QEvent)
• Event dispatch
• Event handlers
• So what's the problem?
12
14. The spaghetti code incident (I)
“On button clicked:
if X, do this
else, do that”
14
15. The spaghetti code incident (II)
“On button clicked:
if X, do this
else, if Y or Z
if I and not J do that
else, do that other thing
else, go and have a nap”
15
16. ifs can get iffy; whiles can get wiley
• if-statements --> state is implicit
• Control flow and useful work jumbled together
• Hard to understand and maintain
• Hard to extend
16
21. What's in it for YOU?
• Write more robust code
• Have your design and implementation speak the
same language
• Cope with incremental complexity
21
22. Qt + State Machines = Very Good Fit
• Natural extension to Qt's application model
• Integration with meta-object system
• Nested states fit nicely with Qt ownership model
22
24. When NOT to use Qt SMF?
• Lexical analysis, parsing, image decoding
• When performance is critical
• When abstraction level becomes too low
• Not everything should be implemented as a (Qt)
state machine!
24
25. Agenda
• State machines – what and why?
• Statecharts overview
• Qt State Machine tour
• Wrap-up
25
33. Behavioral Inheritance
• States implicitly “inherit” the transitions of their
ancestor state(s)
• Enables grouping and specialization
• Analogue: Class-based inheritance
33
40. Agenda
• State machines – what and why?
• Statecharts overview
• Qt State Machine tour
• Wrap-up
40
41. Qt State Machine tour
• API introduction w/ small example
• Events and transitions
• Working with states
• Using state machines in your application
41
42. Qt State Machine API
• Classes for representing states
• Classes for representing transitions
• Classes for state machine-specific events
• QStateMachine class (container & interpreter)
42
45. State machine set-up recipe
• Create QStateMachine
• Create states
• Create transitions between states
• Hook up to state signals (entered(), finished())
• Set the initial state
• Start the machine
45
46. State machine event processing
• State machine runs its own event loop
• QEvent-based
• Use QStateMachine::postEvent() to post an event
46
47. Transitions (I)
• Abstract base class: QAbstractTransition
–bool eventTest(QEvent*);
• Has zero or more target states
• Add to source state using QState::addTransition()
47
48. Transitions (II)
• Convenience for Qt signal transitions:
addTransition(object, signal, targetState)
• Standard Qt event (e.g. QMouseEvent) transitions
also supported
– QEventTransition
48
49. Responding to state changes
• QAbstractState::entered() signal
• QAbstractState::exited() signal
• QAbstractTransition::triggered() signal
• QState::finished() signal
49
50. Composite states
• Follows Qt object hierarchy
• Pass parent state to state constructor
QState *s1 = new QState();
QState *s11 = new QState(s1);
QState *s12 = new QState(s1);
QFinalState *s13 = new QFinalState(s1);
50
51. Paralell state group
• Set the state's childMode property
QState *s1 = new QState();
s1->setChildMode(QState::ParallelStates);
QState *s11 = new QState(s1);
QState *s12 = new QState(s1);
51
52. History states
• QHistoryState class
• Create as child of composite state
• Use the history state as target of a transition
QState *s1 = new QState();
QHistoryState *s1h = new QHistoryState(s1);
…
s2->addTransition(foo, SIGNAL(bar()), s1h);
52
54. Scenario: Game (I)
• Many different types of game objects
• Each type's behavior modeled as composite state
• Events trigger transitions
– Input (e.g. key press)
• States operate on the game object
–Setting properties (e.g. velocity)
–Calling slots
54
55. Scenario: Game (II)
• Each game object has its own state machine
• The machines run independently
• Separate, top-level state machine that
“orchestrates”
–Game menus & modes
–Start/quit
55
56. Scenario: Game (III)
• Presence of a state machine is encapsulated
• Up to each type of object
• “Simple” objects don't need to use a state machine
56
57. States and animations
• Integrates with Qt animation framework (also new
in Qt 4.6)
• QAbstractTransition::addAnimation()
• Almost all Qt animation examples use Qt SMF
57
58. My tips (I)
• Use the meta-object system integration
–assignProperty(object, propertyName, value)
–entered() and exited() signals
58
59. My tips (II)
• Use composition
–Build complex behavior from simple states
–Take advantage of behavioral inheritance!
–Don't subclass unnecessarily
59
60. My tips (III)
• Always draw the statechart first
–Visualizing the design from C++ is hard
–The statechart is the design document
60
61. Agenda
• State machines – what and why?
• Statecharts tour
• Qt State Machine tour
• Wrap-up
61
62. Summary (I)
• Statecharts are a powerful tool for modeling
complex, event-driven systems
–General-purpose
–Well-defined semantics
62
63. Summary (II)
• With the Qt State Machine Framework, you can
build and run statecharts
• Write more robust code
• You need to consider when/where/how to use it
63
64. The Future (Research)
• Qt-SCXML to become part of Qt?
• Qt state machine compiler
• Visual design tool?
• Your feedback matters!
64