Javascript can be used to develop applications and interfaces for the GNOME desktop environment. GNOME 3 introduced the GNOME Shell, which uses Javascript and the GObject Introspection system to interface GNOME libraries. GObject Introspection extracts metadata from C libraries to make them accessible from Javascript via bindings. This allows Javascript programs to import and use functionality from GNOME libraries. There are two engines for running GNOME Javascript code: GJS, which uses Mozilla's Spidermonkey, and Seed, which uses Apple's JavascriptCore. Both provide access to GNOME libraries but have some differences. Tools and documentation are still works in progress areas as GNOME Javascript continues to evolve.
Slides da apresentação no Meetup realizado no dia 13/04/2019 no CESAR.school, onde foi apresentada uma introdução ao desenvolvimento Android com Kotlin
Slides da apresentação no Meetup realizado no dia 13/04/2019 no CESAR.school, onde foi apresentada uma introdução ao desenvolvimento Android com Kotlin
Although Web and mobile apps are getting more capable every day, often your application makes the most sense on the desktop. In this talk, we’ll look at some recent technologies that have allowed significant desktop apps — like Barnes & Noble’s NOOK Study e-textbook reader, or Adobe’s Brackets IDE — to be written in HTML5 and JavaScript. Projects like the Chromium Embedded Framework, node-webkit, and AppJS provide an excellent native-to-JS bridge. With them in hand, you can bring the full power of the Node.js and front-end ecosystems to bear, while still gaining the advantages of running as a native app.
Slides approximating the Electron application used in our Angular presentation at ngConf 2017.
You can view the presentation here
https://www.youtube.com/watch?v=kW37RU5k8xM
A split screen-viable UI event system - Unite Copenhagen 2019Unity Technologies
Learn about the implementation of a 2-player split-screen user interface (UI) in Battle Planet Judgement Day. In Unity, the Event System allows only one element to be currently selected, which can be a problem when designing split screen UI. In this session, you'll discover how this issue was addressed in Battle Planet Judgement Day, the ups and downs of the implementation, insights on pitfalls to avoid and best practices learned during the time of development. We hope this will help you learn how to implement your own solution.
Speaker: Kevin Hagen - Threaks
Session available here: https://youtu.be/aR5UXatawmE
Although Web and mobile apps are getting more capable every day, often your application makes the most sense on the desktop. In this talk, we’ll look at some recent technologies that have allowed significant desktop apps — like Barnes & Noble’s NOOK Study e-textbook reader, or Adobe’s Brackets IDE — to be written in HTML5 and JavaScript. Projects like the Chromium Embedded Framework, node-webkit, and AppJS provide an excellent native-to-JS bridge. With them in hand, you can bring the full power of the Node.js and front-end ecosystems to bear, while still gaining the advantages of running as a native app.
Slides approximating the Electron application used in our Angular presentation at ngConf 2017.
You can view the presentation here
https://www.youtube.com/watch?v=kW37RU5k8xM
A split screen-viable UI event system - Unite Copenhagen 2019Unity Technologies
Learn about the implementation of a 2-player split-screen user interface (UI) in Battle Planet Judgement Day. In Unity, the Event System allows only one element to be currently selected, which can be a problem when designing split screen UI. In this session, you'll discover how this issue was addressed in Battle Planet Judgement Day, the ups and downs of the implementation, insights on pitfalls to avoid and best practices learned during the time of development. We hope this will help you learn how to implement your own solution.
Speaker: Kevin Hagen - Threaks
Session available here: https://youtu.be/aR5UXatawmE
Griffon: Re-imaging Desktop Java TechnologyJames Williams
Griffon is a desktop framework for Java Swing leveraging the dynamic language Groovy and values convention over configuration.
Presented at Devoxx 2008
Maven and Ant have dominated the build landscape in the Java world for more than a decade. Why on earth do we need or want another one? That’s a question many people ask themselves when hearing about Gradle. In this talk, I provide some context to what makes a good build and hence what you should expect from your build tools.
You will then learn how Gradle provides the features you need to solve any build problem, while still being easy to use for standard stuff. Afterwards, you’ll start to understand why Google picked Gradle for the new Android build system.
We will learn how to create repository, pushing, cloning and creating branches. Additionally we will talk about various workflows that are used by teams while collaborating in a project.
Writing native Linux desktop apps with JavaScriptIgalia
If you are a JavaScript developer and want to write something for the Linux desktop in JavaScript, two popular ways are to use Electron or to publish an extension for GNOME Shell on extensions.gnome.org. However, there is a third way that doesn't require users to use GNOME and doesn't require embedding a web browser!
In this talk Philip Chimento will walk through the process of creating a native desktop app written in JavaScript and publishing it to users.
(c) Linux App Summit 2021
13-15 May 2021
GLV OnAir Ottobre 2019
In questa introduzione a GitHub Actions: vedremo gli elementi base, cosa è possibile fare, cosa invece si rivela complicato o impossibile da fare, come trovare informazioni ed esempi.
A Year of the Servo Reboot: Where Are We Now?Igalia
Created by Mozilla Research in 2012 and now part of Linux Foundation Europe, the Servo project is an experimental rendering engine written in Rust. It combines memory safety and concurrency to create an independent, modular, and embeddable rendering engine that adheres to web standards. Stewardship of Servo moved from Mozilla Research to the Linux Foundation in 2020, where its mission remains unchanged. After some slow years, in 2023 there has been renewed activity on the project, with a roadmap now focused on improving the engine’s CSS 2 conformance, exploring Android support, and making Servo a practical embeddable rendering engine. In this presentation, Rakhi Sharma reviews the status of the project, our recent developments in 2023, our collaboration with Tauri to make Servo an easy-to-use embeddable rendering engine, and our plans for the future to make Servo an alternative web rendering engine for the embedded devices industry.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://ossna2024.sched.com/event/1aBNF/a-year-of-servo-reboot-where-are-we-now-rakhi-sharma-igalia
Building End-user Applications on Embedded Devices with WPEIgalia
The Web engine is the most important component of a Web Browser, enabling
developers to harness the power of the Web Platform to build their
applications. However, Web Browsers are not the only type of applications that
can be built with Web Engines, which can also be used to develop other types of
applications using the same Web-based technologies, but for a different type of
use cases other than "browsing the Web".
These use cases can cover a wide range of situations outside of the traditional
desktop or mobile environments, such as the ones embedded systems are usually
used for (e.g. set-top-boxes, smart home appliances, GPS navigation devices, or
in-car/in-flight infotainment systems, to name a few). And in those situations
it is very common to be running on boards with SoCs and a particular set of HW
capabilities that make it crucial for the Web Engine to be able to tightly
integrate with them.
In this session we will focus on how WPE, a fully Open Source port of the
WebKit Web engine for Linux-based embedded devices, can be used to adapt to the
different challenges that embedded devices pose to develop end-user
applications, using the power of the Web Platform underneath.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aNTr/building-end-user-applications-on-embedded-devices-with-wpe-mario-sanchez-prada-igalia
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
The Raspberry Pi 5 was announced on October 2023. This new version of the
popular embedded device comes with a new iteration of Broadcom’s VideoCore GPU
platform, and was released with a fully open source driver stack, developed by
Igalia. The presentation will discuss some of the major changes required to
support this new Video Core iteration, the challenges we faced in the process
and the solutions we provided in order to deliver conformant OpenGL ES and
Vulkan drivers. The talk will also cover the next steps for the open source
Raspberry Pi 5 graphics stack.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aBEx
Automated Testing for Web-based Systems on Embedded DevicesIgalia
Every day, embedded devices are becoming more powerful and capable of running
more elaborate applications. Among these applications are Web-based ones,
enabling to leverage features from the Web APIs to the embedded context, either
through a generic browser running a traditional Web application or through a
customized Web engine tightly integrated within the system.
But such capabilities usually bring new challenges, like testing user
interactions with the application using the embedded device's specific I/O
methods, such as gestures, or inspecting Web application internals with
JavaScript. In this context, using a browser automation framework such as
WebDriver, which is a W3C standard supported by WebKit Web engine, allows
testing Web-based applications on such devices as if the user were actually
using it, alongside running custom JS code.
In this session, we will cover why we need browser automation for testing on
certain types of embedded devices, with a focus on WebDriver as the proposed
tool to achieve that goal. We will also discuss WebDriver's main features and
limitations, as well as other possible approaches and frameworks that could be
considered for this kind of task.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aeSx/automated-testing-for-web-based-systems-on-embedded-devices-lauro-moura-igalia
Embedding WPE WebKit - from Bring-up to MaintenanceIgalia
Embedded devices have become powerful enough to run Web content a decade ago,
and any modern SoC that can run Linux and includes a GPU is a potential
candidate to hide a Web engine under the surface. How did it made it there?
Does it only show Web content? What else can it do? The talk will cover
bring-up tips to build and get WPE WebKit working on your custom embedded
device and make your own simple Web browser, as well as the best practices for
keeping the system up to date. No less important is integration with the rest
of the system: this session will detail the possibilities that WebKit brings to
the table, including how to add new JavaScript APIs which call into native code
to provide tight, performant access to platform functionality.
(c) Embedded Open Source Summit 2024
April 16-18, 2024
Seattle, Washington (US)
https://events.linuxfoundation.org/embedded-open-source-summit/
https://eoss24.sched.com/event/1aBFQ/embedding-wpe-webkit-from-bring-up-to-maintenance-adrian-perez-de-castro-igalia
This talk dives into how the scheduler impacts your gameplay on Linux and
unveils our journey to smoother gameplay. How does task scheduling impact Linux
gaming? Suboptimal task scheduling can cause stuttering while playing games on
the Steam Deck game console. First, we nail down the enemy. What exactly is
"stuttering," and how can we measure its impact on your gameplay? Next, we
extensively analyzed the characteristics of game tasks from the scheduler’s
point of view. Characterizing task behavior in Linux gaming helps to understand
why some schedulers create much stuttering and others create less and to unveil
the secrets behind smooth vs. choppy performance. Lastly, we will share our
progress on the optimized scheduler for reducing the stuttering problems in
Linux gaming, especially Steam Deck. We implemented the scheduling policy based
on sched_ext, a BPF-based extensible scheduling framework.
(c) Open Source Summit North America 2024
April 16-18, 2024
Seatle, Washington (US)
https://events.linuxfoundation.org/open-source-summit-north-america/
https://ossna2024.sched.com/event/1aBOT/optimizing-scheduler-for-linux-gaming-changwoo-min-igalia
So, we are adding a backend for the SpiderMonkey’s codegen to enable JIT
support for JavaScript running through Wasm. Sounds a bit cryptic so let’s
divide it into parts.
SpiderMonkey is a JavaScript engine which is used for running JavaScript inside
the Firefox browser. SpiderMonkey is written in C++ and supports compilation
into the Wasm module, see live demo -
https://mozilla-spidermonkey.github.io/sm-wasi-demo/. However, SpiderMonkey
compiled into the Wasm module supports execution of JavaScript only in the
interpreter-only mode and it doesn’t support just-in-time compilation because
there is no Wasm backend for that. There are backends for Arm, X86, X64 etc but
there is none for Wasm.
Why do we want to add support for JIT? Well, because we want speed. Right now
there is no solution to run JS scripts via Wasm fast, there are only
interpreters.
Why does JIT improve performance?
The reasons are the same for why an interpreter is slower than a compiler -
because it eliminates the interpreter loop, uses a more efficient ABI and, more
importantly, it can specialize polymorphic operations in JavaScript. So, we not
only enable the JIT tier in SpiderMonkey for Wasm but we also provide support
for inline caches.
Inline caches is a mechanism for specializing the behavior of particular
operations like plus or a call to specific arguments provided at runtime.
With all that we can generate Wasm modules on the fly, instantiate them, and
link them to provide from ~2x to ~11x speedup over the interpreter. In the
talks we will cover how the whole scheme works with SpiderMonkey: 1. How to
link modules on the fly into SpiderMonkey.wasm 2. How to add an exotic Wasm
backend into SpiderMonkey’s supported backend line - X64, X86, Arm, Wasm 3. How
to use the whole solution in the cloud instead of QuickJS 4. How to get a
speedup of your JS over wasm with test data.
Wasm I/O 2024
14 - 15 Mar, 2024
Barcelona
https://2024.wasmio.tech/
To crash or not to crash: if you do, at least recover fast!Igalia
What could be possibly worse that an almost unbeatable boss in
a game or a tough maze that consume hours of gameplay with not
much progress? How about a Linux kernel crash that makes you
lose all the game progress with no apparent reason or feedback?
Though rare, it is a real possibility that would make gamers
quite annoyed, given that Linux is used more and more as a
platform for playing games.
Some technologies are available to collect logs and feedback
the user in case such disastrous events happen, mostly related
with kernel crashes handling mechanisms. The main ones available
are kdump and pstore, but still there are work to be done in
this area...
In this talk we're going to present the basics about kernel
crash handling, like how a kernel panic might happen, how to
deal with that (with an overall discussion about kdump and
pstore techs) and the kdumpst tool, developed specially to
deal with this situation on Steam Deck (and generically on
Arch Linux); also we're gonna discuss some missing
pieces / ideas to make it even less likely gamers need to
complain that their device just got hang for no reason!
FOSForums 2023
Aug 26 - Aug 27, 2023
Institute of Computing, State University of Campinas (Unicamp)
Campinas, São Paulo, Brazil
https://www.fosforums.org/
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
Nesta charla impartida por Alejandro Piñeiro de Igalia, darase unha introdución
a Mesa, librería open-source para o desenvolvemento de drivers gráficos.
Explicarase a súa historia, os seus compoñentes máis importantes, que
utilidades proporcionan aos desenvolvedores e unha lista de hardware ás que dan
soporte. Finalmente explicarase o caso concreto do soporte proporcionado para
as GPUs dos dispositivos da serie Raspberry Pi, centrándonos nas Raspberry Pi 4
e Raspberry Pi 5
Igalia é unha empresa galega, con sede na Coruña, especializada en servizos de
consultoría, e que desenvolve solucións innovadoras de código aberto para un
gran conxunto de plataformas de software e hardware. En Igalia traballan nas
áreas máis interesantes do software de código aberto, incluídos navegadores,
gráficos e multimedia.
Igalia desenvolveu os controladores OpenGL ES 3.1 e Vulkan 1.2 conformes para a
GPU VideoCore VII Broadcom que se fornece coa nova Raspberry Pi 5.
Alejandro Piñeiro é enxeñeiro de Software e socio en Igalia, é desenvolvedor de
Software Libre desde 2004. A súa experiencia inclúe unha variedade de proxectos
de GNOME e freedesktop.org, enfocándose desde 2015 en Mesa, especificamente os
drivers Intel e Broadcom. É un dos responsables do desenvolvemento do
controlador Broadcom Vulkan para Raspberry Pi 4 & 5.
Máis información en https://aindustriosa.org/Mesa/
Esta actividade está patrocinada pola Xunta de Galicia e pola Axencia Para a
Modernización Tecnolóxica (AMTEGA).
(c) A Industriosa
https://aindustriosa.org
28 de Outubro (Vigo)
Chimera Linux is a novel Linux distribution built around FreeBSD core tools and
the LLVM toolchain. Since its initial launch in 2021, it has made a lot of
progress and is now in alpha stage. The system can be deployed on a wide array
of hardware and many people are using it as their desktop system; it works on
x86_64, AArch64, POWER (little and big endian) as well as RISC-V and by now
comes with thousands of packages.
While trying to be practical, Chimera is also highly hardened, partly thanks to
the LLVM toolchain, rendering it immune to various security issues other
distros are vulnerable to. It has transparent and robust infrastructure,
ensuring smooth deployment of packages. We are also developing various new
tooling that the whole ecosystem can benefit from, including the Turnstile
session tracker. Service management is based around Dinit, a modern,
supervising system; we maintain and create a variety of tooling around it,
trying to break the existing status quo with systemd, while abandoning legacy
approaches.
2023 has seen several major milestones, so I will focus on these, while also
giving a short overview so that people unfamiliar with the system don't feel
lost. I will also explain how our work benefits the entire Linux ecosystem, as
well as beyond.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2524-2023-in-chimera-linux/
For the last 3 years, I've been building a complete Linux distribution, Chimera
Linux (https://chimera-linux.org) using solely LLVM as its system toolchain -
that means Clang, compiler-rt, and libc++, alongside its other tooling. Right
now, it is a complete desktop system that is already used by many, with a
familiar GNOME interface and thousands of packages, targeting 5 CPU
architectures. In this talk I would like to focus on my experiences using the
toolchain, what obstacles got in the way, how I dealt with them, the issues
that are still left and I would like to see addressed, the many benefits using
LLVM gave the project, and overall give the audience an insight into practical
deployment of LLVM in a project where it isn't simply a drop-in alternative to
GCC.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2555-building-a-linux-distro-with-llvm/
turnip: Update on Open Source Vulkan Driver for Adreno GPUsIgalia
Turnip changed a lot since the last status update. You could now run AAA
desktop games via FEX + Turnip, Adreno 7xx is now supported, Turnip is used by
emulators on Android, and more!
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2033-turnip-update-on-open-source-vulkan-driver-for-adreno-gpus/
Graphics stack updates for Raspberry Pi devicesIgalia
This talk will show the efforts done in the Open-Source graphics stack for
supporting Raspberry Pi devices. Although the talk will focus on the recently
launched new Raspberry Pi 5, we will show the improvements done for previous
generations of the Raspberry Pi hardware.
Raspberry Pi 5 has available FLOSS GPU drivers on product launch, exposing
OpenGL-ES 3.1 and Vulkan 1.2. We'll go through the changes needed to enable
desktop OpenGL 3.1 on RPi4/5.
We will also review the changes done to the kernel driver to expose the RPi5
capabilities and the new GPU stats support for RPi4/5.
Finally, we will show the work done to use Wayfire as the default Wayland
compositor on the Raspberry Pi OS.
- https://www.mesa3d.org/
- https://www.raspberrypi.com/
- https://wayfire.org/
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2841-graphics-stack-updates-for-raspberry-pi-devices/
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSIgalia
This talk will cover our experience in utilizing Wayland subsurfaces and
implementing delegated compositing for Chromium on ChromeOS. Several concepts
will be covered - from overlay making decision in Chromium/Viz to design and
implementation of custom Wayland protocols, which were required to pass frame
data as overlays via Wayland and reconstruct that frame on the Wayland server
side.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-3177-delegated-compositing-utilizing-wayland-protocols-for-chromium-on-chromeos/
MessageFormat: The future of i18n on the webIgalia
Internationalization in JavaScript and on the web platform is very complicated,
but also vastly important for us developers in order to build accessible and
intelligible interfaces. Thankfully, Unicode Consortium's MessageFormat working
group and TC39 have been hard at work standardizing the next generation of i18n
tooling that aims to unify analogous non-standard tools in use today while
approaching this problem from a fresh perspective.
Join me along this tour of i18n in JavaScript, discover some of the newest
additions to the toolkit and learn about the ongoing MessageFormat proposal and
how it aims to radically improve the developer experience.
(c) FOSDEM 2024
3 & 4 February 2024
https://fosdem.org/2024/schedule/event/fosdem-2024-2832-messageformat-the-future-of-i18n-on-the-web/
Replacing the geometry pipeline with mesh shadersIgalia
This talk will discuss the problems with the traditional vertex processing
pipeline and present how mesh shading solves these problems. Instead of
processing a fixed set of input vertices, mesh shaders can create an arbitrary
topology of vertices and primitives. Mesh shading also includes a new solution
for geometry amplification: task shaders.
The talk should be scheduled before Timur's talk about implementing mesh
shaders in the RADV Mesa driver.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
Let's talk about developing AMD display drivers in the DRM subsystem as an
external contributor. Part of this work is a trail of breadcrumbs to build
documentation. What are those breadcrumbs? How do they help to review, fix,
improve and enable features of AMD drivers? How would both sides benefit if
those pieces of information were already documented? We are gathering
information from anywhere and also bothering experts for input. Ultimately,
this presentation focuses on AMD driver development but may fit DRM drivers of
any GPU vendors.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
There has been a lot of activity in V3DV, the Vulkan driver for Raspberry Pi 4,
over the last year: we have significantly reworked our synchronization code,
obtained Vulkan 1.1 conformance, implemented Vulkan 1.2 support, continued to
work on compiler optimizations and more.
In this talk I would like to go through the main development milestones and
changes we implemented in the driver as well as discussing some limitations of
the underlying hardware platform that have discouraged us from implementing
features such as scalar block layout or fp16.
(c) X.Org Developer Conference (XDC) 2022
October 4-6, 2022
Minneapolis, Minnesota, USA
https://indico.freedesktop.org/event/2/
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
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
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Javascript, the GNOME way (JSConf EU 2011)
1. Javascript, the GNOME way
Berlin, October 2nd, 2011
(follow the talk at http://10.109.2.56:8080)
2. A bit about of me
Eduardo Lima Mitev <elima@igalia.com>
Web apps developer, GNOME developer, eventdance, hildon-input-methods, libmeegotouch, filetea, ...
Not a gnome-shell/G-I/GJS core hacker myself, just a messenger...
7. GNOME 3 was released in April 2011
http://www.gnome.org/gnome-3/
8. GNOME 3 was released in April 2011
A major breakthrough in design
HW acceleration for graphics
Tons of cleaning up and restructuring of the stack
The gnome-shell to be the default UX
... and GNOME met Javascript
9. The gnome-shell
A modern, integrated user experience
Acts as a compositing manager for the desktop
Handles application launching, window switching, multiple desktops, and much more
Interfaces GNOME libraries using Javascript as glue
29,497 lines of Javascript code (39,538 of C)
13. what is gobject-introspection?
A set of tools for extracting and accessing the metadata of a
library's API in a convenient way for other programs to use it.
library APIs must be "annotated" and designed to be "introspection friendly"
14. gobject-introspection goals
Enable two level applications: C and <your favorite runtime>;
Share binding infrastructure work;
Other uses like API verification, improving documentation tools, etc
17. GIR file
An XML description of a library API
Can include documentation
Example: ZLibCompressor class from GIO's GIR
<class name="ZlibCompressor"
c:symbol-prefix="zlib_compressor"
c:type="GZlibCompressor"
parent="GObject.Object"
glib:type-name="GZlibCompressor"
glib:get-type="g_zlib_compressor_get_type"
glib:type-struct="ZlibCompressorClass">
<doc xml:whitespace="preserve">Zlib decompression</doc>
<implements name="Converter"/>
<constructor name="new"
c:identifier="g_zlib_compressor_new"
version="2.24">
<doc xml:whitespace="preserve">Creates a new #GZlibCompressor.</doc>
<return-value transfer-ownership="full">
<doc xml:whitespace="preserve">a new #GZlibCompressor</doc>
18. Typelib file
A binary representation of the GIR file for faster access during
run-time.
19. GIRepository: API for retrieving library info from a typelib file
http://moodleman.moodle.com.au/archives/202
20. libffi: fantasy fiction foreign function interface
http://moodleman.moodle.com.au/archives/202
21. Annotations
Go inline in the code (normally in the .c files)
Complement the API description with semantic information
Normally "guessed" correctly by the scanner
Documented at https://live.gnome.org/GObjectIntrospection/Annotations
26. GJS vs. Seed
GJS wraps Mozilla's Spidermonkey engine while Seed wraps Apple's JavascriptCore
GJS supports language features from ES-Harmony (let, const, etc), Seed doesn't (as of now)
GJS is more mature, it powers gnome-shell at the moment
Other minor differences (i.e module extensions, etc)
both have a fairly good G-I support
28. node-gir
G-I support for Node
early stage of development
written by Tim Caswell
code at https://github.com/creationix/node-gir
Why not use Seed or GJS?
"Because they are nice, but not what I'm looking for. Node is really popular and it would be nice to be able to
use it for desktop tools and applications.", Tim Caswell
31. Importing modules
No 'require', sorry
The 'imports' keyword
Importing is an assignment, not a function call
The full module's global scope is imported
'imports.searchPath' similar to 'require.paths'
Only synchronous
32. Importing a Javascript module
// this will import file 'path/to/my/module.js'
var MyModule = imports.path.to.my.module;
// this will import 'lib/Http.js'
var Http = imports.lib.Http;
// using 'const' here is nice but only works in GJS :)
const Promise = imports.lib.Promise;
33. Importing a module from the G-I repository
// this will import GLib library namespace
var GLib = imports.gi.GLib;
// this will import GTK+ library namespace
// for API version 3.0
var Gtk = imports.gi.Gtk-3.0;
// in recent versions of GJS you can do
var Gtk = imports.gi.Gtk = 3.0;
34. Importing modules
There are also native Javascript modules for more convenient
APIs, i.e: mainloop, dbus, lang, signals.
35. Importing a native JS module
// built-in JS modules are always accessible
// from the root importer
var Mainloop = imports.mainloop;
var DBus = imports.dbus;
36. Using G-I APIs
There are "well defined" rules for mapping the C symbols to their
corresponding Javascript syntax
37. Using G-I APIs: Functions
Library functions are mapped to Namespace.function:
g_timeout_add(...) becomes GLib.timeout_add(...)
38. Using G-I APIs: GObject methods
GObject methods are mapped to Namespace.Class.method:
gtk_button_new_with_label(...) becomes Gtk.Button.new_with_label(...)
39. Using G-I APIs: Enums
Enums are mapped to Namespace.EnumName.VALUE:
GST_STATE_PLAYING becomes Gst.State.PLAYING,
CLUTTER_STAGE_STATE_FULLSCREEN becomes Clutter.StageState.FULLSCREEN
40. Using G-I APIs: GObject properties
GObject properties are mapped to normal Javascript Object members replacing '-' by '_':
Property 'use-markup' of a GtkLabel becomes obj.use_markup
41. Using G-I APIs: GObject signals
GJS
obj.connect(signalName, callback) method is used to connect to GObject signals:
obj.connect('destroy', callback);
Seed:
A bit different: obj.signal["signal name"].connect(callback)
obj.signal['destroy'].connect(callback);
43. Documentation
No official documentation for Javascript bindings yet
Unofficial documentation at http://www.roojs.org/index.php/projects/gnome/introspection-docs.html
A hot topic right now
44. What about development tools?
http://blog.doomby.com/blog,7-of-the-best-free-website-development-tools,311404.html
45. Development tools
No specific developer tools for Javascript at the moment
Still too early: remains unclear what the needs will be
46. GNOME Javascript and CommonJS?
There is certain interest in the GNOME community, but
Not all CommonJS specs could make sense
More discussion and bridging is needed
node-gir?
gjs-commonjs?
47. gjs-commonjs
Wraps GJS to add CommonJS APIs
Just an experiment, not the way to go
Code at https://gitorious.org/gjs-commonjs (LGPL)
Only Modules 1.1 and Promises/D (partially) at the moment
48. Current issues and challenges
To complete introspection support in GNOME libraries
To complete introspection support in GJS/Seed
To have official documentation
To make GJS and Seed code fully compatible
To align with CommonJS for what makes sense
49. Final thoughts
An elegant and efficient combination of low-level and high-level languages
JS opened to a platform with 10+ years of evolution
Very convenient for fast prototyping and gluing
Expands the frontiers of JS in the desktop
50. An awesome stack!
your Javascript programs
GJS
(Spidermonkey)
Seed (JSC) node-gir (V8) ...
gobject introspection
Core
GIO
GLib
GObject
User
interface
GTK+
Cairo
Clutter
ATK
Pango
Webkit
Multimedia
gstreamer
Canberra
Pulseaudio
Communication
Telepathy
Avahi
GUPnP
Data
storage
EDS
GDA
Tracker
Utilities
Champlain
Enchant
Poppler
GeoClue
Desktop
integration
PackageKit
libnotify
seahorse
System
integration
upower
udisks
policykit