Putting the Fun into Functioning CI/CD with JHipsterGerard Gigliotti
Talk from the inaugural JHipster Melbourne Meetup (21/06/2017) about the various JHIpster generators available for CI/CD. Discusses Jenkins 2, Heroku, Gitlab and Rancher.
Associated Repository: https://github.com/ggotti/jhipster-ci-cd-talk
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)Ross McDonald
QGIS is a modular and extensible open source geographic information system. It has a Python API that allows developers to build plugins that interact with QGIS functionality and libraries. Plugins can be built with C++ or Python and interface with QGIS through the QgisInterface class. Example plugins include InaSAFE for hazard impact scenarios and Crayfish for visualizing flood modeling results. Developers can also create standalone applications using the QGIS libraries for tasks like automating GIS processes, building custom editing tools, or developing specialized mapping applications.
Qt Creator is an extensible IDE platform based on plugins. It uses an ExtensionSystem library to manage plugins with dependencies and command line arguments. Plugins are defined using an XML PluginSpec file. The core plugins include an ActionManager for actions and commands, DocumentManager for editing, and ProjectExplorer for managing projects. Existing plugins provide functionality like searching, C/C++ support, version control integration, and Qt/QML support. The documentation provides guidance for writing new plugins that communicate properly with Qt Creator.
1. Qt is a cross-platform application development framework written in C++ that allows developers to write once and deploy applications across desktop and mobile platforms like Windows, Mac, Linux and embedded systems.
2. Qt provides modules for user interfaces, databases, networking, multimedia and more that have a common API design. It extends C++ with macros and introspection.
3. The presentation demonstrated a simple "Hello World" Qt application and introduced Qt Creator as the IDE for Qt development. It also covered signals and slots, stylesheets, deployment and the Qt Mobility APIs for mobile.
Kubernetes is open-source container-centric platform for automating deployment, scaling, and operations of application containers across clusters of hosts.
Atomic Developer Bundle packages some of the most widely used container orchestration tools into a single Vagrant box to provide developers with a configuration as close to production as possible!
Putting the Fun into Functioning CI/CD with JHipsterGerard Gigliotti
Talk from the inaugural JHipster Melbourne Meetup (21/06/2017) about the various JHIpster generators available for CI/CD. Discusses Jenkins 2, Heroku, Gitlab and Rancher.
Associated Repository: https://github.com/ggotti/jhipster-ci-cd-talk
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)Ross McDonald
QGIS is a modular and extensible open source geographic information system. It has a Python API that allows developers to build plugins that interact with QGIS functionality and libraries. Plugins can be built with C++ or Python and interface with QGIS through the QgisInterface class. Example plugins include InaSAFE for hazard impact scenarios and Crayfish for visualizing flood modeling results. Developers can also create standalone applications using the QGIS libraries for tasks like automating GIS processes, building custom editing tools, or developing specialized mapping applications.
Qt Creator is an extensible IDE platform based on plugins. It uses an ExtensionSystem library to manage plugins with dependencies and command line arguments. Plugins are defined using an XML PluginSpec file. The core plugins include an ActionManager for actions and commands, DocumentManager for editing, and ProjectExplorer for managing projects. Existing plugins provide functionality like searching, C/C++ support, version control integration, and Qt/QML support. The documentation provides guidance for writing new plugins that communicate properly with Qt Creator.
1. Qt is a cross-platform application development framework written in C++ that allows developers to write once and deploy applications across desktop and mobile platforms like Windows, Mac, Linux and embedded systems.
2. Qt provides modules for user interfaces, databases, networking, multimedia and more that have a common API design. It extends C++ with macros and introspection.
3. The presentation demonstrated a simple "Hello World" Qt application and introduced Qt Creator as the IDE for Qt development. It also covered signals and slots, stylesheets, deployment and the Qt Mobility APIs for mobile.
Kubernetes is open-source container-centric platform for automating deployment, scaling, and operations of application containers across clusters of hosts.
Atomic Developer Bundle packages some of the most widely used container orchestration tools into a single Vagrant box to provide developers with a configuration as close to production as possible!
After I attended Google IO 2014, I wanted to present what is new for Android Lollipop from a Developer perspective.
This presentation covers almost everything except, maybe, native Android Wear development, Android Auto and Android TV
Qt is a cross-platform application and UI framework that is used by over 250,000 developers. It allows developers to write code once and deploy applications across desktop and embedded operating systems. Nokia acquired the company behind Qt in 2008 and aims to expand its use on platforms like S60 smartphones and Maemo tablets to provide a common development experience.
GitBucket: Git Centric Software Development Platform by Scalatakezoe
GitBucket is an open source Git server platform written in Scala that provides easy installation and setup. It allows for public and private repositories along with features like issue tracking, pull requests, wikis, and notifications. While based on traditional Java technologies like Jetty and JGit, it uses the Scalatra framework to integrate these components and provide a unified web interface for managing Git repositories and collaboration.
This document discusses the Go programming language and some of its uses. It provides an introduction to Go, noting that it is statically typed, scalable, productive, and supports networking and multiprocessing. It then gives examples of how Go is used for web applications, standalone applications, parallel applications, and interfacing with hardware like RFID and GPIO devices on Raspberry Pi. Code examples and demos are provided for OpenCL and RFID implementations in Go.
This document summarizes a meetup on Node.js hosted by Farsheed Atef and Eddy Kim and sponsored by Drumbi. The meetup covered an introduction to Node.js including what it is, why it is useful, its benefits, and its event-driven and asynchronous architecture. It discussed Node.js' use of JavaScript and modularity. An overview of resources and hands-on examples were also provided.
- The Qt Project was launched 3 months ago to manage the Qt framework as an open source project, with over 1000 new accounts and 7000 code commits since.
- Qt 5.0 is currently in development with goals of supporting all platforms, state-of-the-art UIs, modularity, and compatibility with Qt 4.x. It features a new graphics stack, JSON support, and C++11 compatibility among other changes.
- Migration from Qt 4 to Qt 5 is designed to be very easy, with full support for Qt Widgets in Qt 5 and no requirement to use Qt Quick or OpenGL.
How to keep maintainability of long life Scala applicationstakezoe
Naoki Takezoe discusses maintaining long-term Scala applications. He outlines two main difficulties: programming style differences that impact understandability and upgrades that require coordinating framework, Scala, and Java version changes. Case studies show upgrades can be blocked until dependent libraries support new versions. Solutions include reducing dependencies, using popular libraries, custom libraries for core components, and considering Java alternatives. Regular maintenance and preparing for breaking changes are key to sustainable Scala applications.
This document introduces Qt, an open source cross-platform application framework for building graphical user interfaces. Key points: Qt was originally developed by Trolltech and is now maintained by Digia; it allows developers to write GUI apps in C++ that run on multiple platforms; Qt provides widgets, graphics, multimedia and other APIs and is used in many applications including Skype, VirtualBox and the KDE desktop environment. The document discusses Qt's history and licensing, installation, technical features like signals and slots, and examples of Qt in use.
By Maksim Sisov.
Slides at https://docs.google.com/presentation/d/13D5M9ZDGM-i33GDjMFLFrPHWRvYJcZvai3zI4RQ0tDM/edit#slide=id.p1
(c) BlinkOn 10
Toronto, Ontario (Canada)
April 09 - 10, 2019
https://docs.google.com/document/u/1/d/e/2PACX-1vTgBrqyQ4KCchsymvssri1pN1BkOg3sEqHThqhvFDl9-zl-hLx1S5c8sc5gaZ_VzKEVaYj94H3m1vso/pub#h.igsyfaa103a0
Node.js is a JavaScript runtime built on Chrome's V8 engine that uses an event-driven, non-blocking I/O model. It was created by Ryan Dahl in 2009 and is used for building fast and scalable network applications. Node uses an event loop model that makes it lightweight and efficient as opposed to the thread-based model that is typically used for servers. It allows for real-time web applications and helps solve the C10K problem of handling a large number of concurrent connections efficiently.
Building Multi-platform Video Games for the CloudChris Schalk
This is a presentation on how to build multi-platform (HTML5, Flash, Java/Android) video games using an open source technology known as Forplay (PlayN).
This presentation was delivered in Mexico City on Aug 9th, 2011 at the "EstoEsGoogle" aka Devfest Mexico event on Aug 9th in Mexico City by Google Developer Advocate Chris Schalk
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
At the first Jenkins Meetup in Montreal, CloudOps' Khosrow Moossavi discussed some CI/CD tools that can help you set up efficient and dynamic DevOps pipelines.
This document discusses GStreamer support and integration in WebKit. It covers:
1. The current integration of GStreamer for HTML5 audio and video playback, as well as WebAudio.
2. Plans for next-generation video rendering using GstGL instead of WebCore's internal video sink.
3. Support for adaptive streaming using Media Source Extensions and how GStreamer implements the "append" and playback pipelines.
4. Protected content playback support using Encrypted Media Extensions for key negotiation and decryption, including potential approaches for secure video rendering.
5. Progress on WebRTC support through the OpenWebRTC project.
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...Igalia
By Gustavo Noronha Silva, Martin Robinson, Alejandro G. Castro.
On WebKit Clutter:
The Clutter port of WebKit has been recently announced and the branch has been uploaded to a public repository where its development continues. It shares most of the GObject-based public API with the current WebKitGTK+ port, and also shares all the backends that provide platform-dependant services to WebCore: cairo for drawing, soup for HTTP and GStreamer for multimedia.
During the talk we'll explore how the clutter port manages to share code with WebKitGTK+ and the challenges there are to sharing even more. Given clutter doesn't have a single widgets toolkit, we'll talk about how the port acknowledges that fact and allows supporting the various clutter-based toolkits. We will also look at web compatibility, and explore the features that have been implemented.
Looking forward, and most importantly, we'll discuss what work could be done in the future to make it rock even more, in particular by leveraging clutter functionality and its ability to use the GPU. We'll raise questions about pushing it upstream to live inside webkit.org, and how it could be better integrated or even merged with WebKitGTK+ in the future.
On WebKitGTK+:
This talk for WebKitGTK+ embedders and those interested in integrating the web with the free desktop will summarize the various WebKitGTK+ improvements from the last year in rendering, GTK+ 3 support, accessibility, networking, etc. Also, we will cover WebKit2 architecture and the roadmap for WebKit2 support for WebKitGTK+, including API design, plans for GNOME integration and demos.
Igalia is working on enabling Chromium to run natively on Wayland-based Linux systems by improving the Ozone/Wayland implementation. There are ongoing discussions around implementing external window mode in Ozone to allow Chromium windows to be separate from the host desktop, as well as splitting the UI and GPU components into separate processes as in ChromeOS. Igalia is focused on changing the Mus demo to support external window mode and getting Chromium to launch in this mode on Linux. Further work is also needed on desktop integration and using Mojo for inter-process communication in Ozone/Wayland.
Qt 4.7 introduces Qt Quick, a new way to create user interfaces using a declarative language called QML. QML allows designers to build UIs visually without C++ knowledge by describing interface elements and their properties in a tree structure. Qt Quick is aimed at simplifying UI development across Qt platforms like Windows, Mac, Linux, embedded systems and Symbian.
The document discusses a pipeline for continuous integration and deployment using MSBuild conventions. Key goals of the pipeline are to have a short feedback loop, enable rapid deployments, and optimize the process for build grids. The pipeline uses MSBuild conventions to configure builds that can compile code, run unit tests, analyze code quality, deploy to environments like UAT and production, and more with simple commands. Future enhancements proposed include automated rollbacks and cross-browser testing.
Docker build, test and deploy saa s applicationswilliam_greenly
Docker can be used to build, test, and deploy software applications. It allows creating software containers that package code and dependencies together. Docker is useful for testing applications in isolation, continuous integration testing, and distributing software. Some key benefits are portability across stacks, reusable images, and treating infrastructure as code. Challenges include evolving standards and ensuring version compatibility across images and tools.
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware...Igalia
By Víctor M. Jáquez.
Slides at https://github.com/01org/gstreamer-vaapi/tree/master/docs/slides/gstconf2015
GStreamer-VAAPI is a set of GStreamer elements (vaapidecode, vaapipostroc, vaapisink, and several encoders) and libgstvapi, a library that wraps libva under a GObject/GStreamer semantics.
This talk will be about VAAPI and its integration with GStreamer. We will show a general overview of VAAPI architecture, the role of libgstvaapi, and finally, the design of GStreamer elements. Afterwards we will show what is ahead in the development of GStreamer-VAAPI, and the current problems and challenges.
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...Igalia
This document discusses improving multimedia support in QtWebKit on the Raspberry Pi. It outlines the Raspberry Pi hardware, WebKit rendering architectures, and platform improvements that could enhance multimedia playback. Specifically, it examines optimizing video and audio decoding by leveraging the Raspberry Pi's hardware accelerators and reducing unnecessary data copying and context switching.
1. The document summarizes the key steps taken by GStreamer when playing a media file using the playbin element. It initializes plugins and elements, creates the playbin pipeline, handles state changes, analyzes the stream to determine the decoder, and connects decoded pads to sinks.
2. When playbin is launched with a URI, it loads required plugins, creates the playbin element, decodes the stream with uridecodebin and decodebin, and connects decoded elements like video and audio to playback sinks. It handles state changes and uses typefind to analyze the stream format.
3. Decodebin emits signals as new pads are detected to determine the appropriate decoder element. It connects the decoded pad
After I attended Google IO 2014, I wanted to present what is new for Android Lollipop from a Developer perspective.
This presentation covers almost everything except, maybe, native Android Wear development, Android Auto and Android TV
Qt is a cross-platform application and UI framework that is used by over 250,000 developers. It allows developers to write code once and deploy applications across desktop and embedded operating systems. Nokia acquired the company behind Qt in 2008 and aims to expand its use on platforms like S60 smartphones and Maemo tablets to provide a common development experience.
GitBucket: Git Centric Software Development Platform by Scalatakezoe
GitBucket is an open source Git server platform written in Scala that provides easy installation and setup. It allows for public and private repositories along with features like issue tracking, pull requests, wikis, and notifications. While based on traditional Java technologies like Jetty and JGit, it uses the Scalatra framework to integrate these components and provide a unified web interface for managing Git repositories and collaboration.
This document discusses the Go programming language and some of its uses. It provides an introduction to Go, noting that it is statically typed, scalable, productive, and supports networking and multiprocessing. It then gives examples of how Go is used for web applications, standalone applications, parallel applications, and interfacing with hardware like RFID and GPIO devices on Raspberry Pi. Code examples and demos are provided for OpenCL and RFID implementations in Go.
This document summarizes a meetup on Node.js hosted by Farsheed Atef and Eddy Kim and sponsored by Drumbi. The meetup covered an introduction to Node.js including what it is, why it is useful, its benefits, and its event-driven and asynchronous architecture. It discussed Node.js' use of JavaScript and modularity. An overview of resources and hands-on examples were also provided.
- The Qt Project was launched 3 months ago to manage the Qt framework as an open source project, with over 1000 new accounts and 7000 code commits since.
- Qt 5.0 is currently in development with goals of supporting all platforms, state-of-the-art UIs, modularity, and compatibility with Qt 4.x. It features a new graphics stack, JSON support, and C++11 compatibility among other changes.
- Migration from Qt 4 to Qt 5 is designed to be very easy, with full support for Qt Widgets in Qt 5 and no requirement to use Qt Quick or OpenGL.
How to keep maintainability of long life Scala applicationstakezoe
Naoki Takezoe discusses maintaining long-term Scala applications. He outlines two main difficulties: programming style differences that impact understandability and upgrades that require coordinating framework, Scala, and Java version changes. Case studies show upgrades can be blocked until dependent libraries support new versions. Solutions include reducing dependencies, using popular libraries, custom libraries for core components, and considering Java alternatives. Regular maintenance and preparing for breaking changes are key to sustainable Scala applications.
This document introduces Qt, an open source cross-platform application framework for building graphical user interfaces. Key points: Qt was originally developed by Trolltech and is now maintained by Digia; it allows developers to write GUI apps in C++ that run on multiple platforms; Qt provides widgets, graphics, multimedia and other APIs and is used in many applications including Skype, VirtualBox and the KDE desktop environment. The document discusses Qt's history and licensing, installation, technical features like signals and slots, and examples of Qt in use.
By Maksim Sisov.
Slides at https://docs.google.com/presentation/d/13D5M9ZDGM-i33GDjMFLFrPHWRvYJcZvai3zI4RQ0tDM/edit#slide=id.p1
(c) BlinkOn 10
Toronto, Ontario (Canada)
April 09 - 10, 2019
https://docs.google.com/document/u/1/d/e/2PACX-1vTgBrqyQ4KCchsymvssri1pN1BkOg3sEqHThqhvFDl9-zl-hLx1S5c8sc5gaZ_VzKEVaYj94H3m1vso/pub#h.igsyfaa103a0
Node.js is a JavaScript runtime built on Chrome's V8 engine that uses an event-driven, non-blocking I/O model. It was created by Ryan Dahl in 2009 and is used for building fast and scalable network applications. Node uses an event loop model that makes it lightweight and efficient as opposed to the thread-based model that is typically used for servers. It allows for real-time web applications and helps solve the C10K problem of handling a large number of concurrent connections efficiently.
Building Multi-platform Video Games for the CloudChris Schalk
This is a presentation on how to build multi-platform (HTML5, Flash, Java/Android) video games using an open source technology known as Forplay (PlayN).
This presentation was delivered in Mexico City on Aug 9th, 2011 at the "EstoEsGoogle" aka Devfest Mexico event on Aug 9th in Mexico City by Google Developer Advocate Chris Schalk
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
At the first Jenkins Meetup in Montreal, CloudOps' Khosrow Moossavi discussed some CI/CD tools that can help you set up efficient and dynamic DevOps pipelines.
This document discusses GStreamer support and integration in WebKit. It covers:
1. The current integration of GStreamer for HTML5 audio and video playback, as well as WebAudio.
2. Plans for next-generation video rendering using GstGL instead of WebCore's internal video sink.
3. Support for adaptive streaming using Media Source Extensions and how GStreamer implements the "append" and playback pipelines.
4. Protected content playback support using Encrypted Media Extensions for key negotiation and decryption, including potential approaches for secure video rendering.
5. Progress on WebRTC support through the OpenWebRTC project.
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...Igalia
By Gustavo Noronha Silva, Martin Robinson, Alejandro G. Castro.
On WebKit Clutter:
The Clutter port of WebKit has been recently announced and the branch has been uploaded to a public repository where its development continues. It shares most of the GObject-based public API with the current WebKitGTK+ port, and also shares all the backends that provide platform-dependant services to WebCore: cairo for drawing, soup for HTTP and GStreamer for multimedia.
During the talk we'll explore how the clutter port manages to share code with WebKitGTK+ and the challenges there are to sharing even more. Given clutter doesn't have a single widgets toolkit, we'll talk about how the port acknowledges that fact and allows supporting the various clutter-based toolkits. We will also look at web compatibility, and explore the features that have been implemented.
Looking forward, and most importantly, we'll discuss what work could be done in the future to make it rock even more, in particular by leveraging clutter functionality and its ability to use the GPU. We'll raise questions about pushing it upstream to live inside webkit.org, and how it could be better integrated or even merged with WebKitGTK+ in the future.
On WebKitGTK+:
This talk for WebKitGTK+ embedders and those interested in integrating the web with the free desktop will summarize the various WebKitGTK+ improvements from the last year in rendering, GTK+ 3 support, accessibility, networking, etc. Also, we will cover WebKit2 architecture and the roadmap for WebKit2 support for WebKitGTK+, including API design, plans for GNOME integration and demos.
Igalia is working on enabling Chromium to run natively on Wayland-based Linux systems by improving the Ozone/Wayland implementation. There are ongoing discussions around implementing external window mode in Ozone to allow Chromium windows to be separate from the host desktop, as well as splitting the UI and GPU components into separate processes as in ChromeOS. Igalia is focused on changing the Mus demo to support external window mode and getting Chromium to launch in this mode on Linux. Further work is also needed on desktop integration and using Mojo for inter-process communication in Ozone/Wayland.
Qt 4.7 introduces Qt Quick, a new way to create user interfaces using a declarative language called QML. QML allows designers to build UIs visually without C++ knowledge by describing interface elements and their properties in a tree structure. Qt Quick is aimed at simplifying UI development across Qt platforms like Windows, Mac, Linux, embedded systems and Symbian.
The document discusses a pipeline for continuous integration and deployment using MSBuild conventions. Key goals of the pipeline are to have a short feedback loop, enable rapid deployments, and optimize the process for build grids. The pipeline uses MSBuild conventions to configure builds that can compile code, run unit tests, analyze code quality, deploy to environments like UAT and production, and more with simple commands. Future enhancements proposed include automated rollbacks and cross-browser testing.
Docker build, test and deploy saa s applicationswilliam_greenly
Docker can be used to build, test, and deploy software applications. It allows creating software containers that package code and dependencies together. Docker is useful for testing applications in isolation, continuous integration testing, and distributing software. Some key benefits are portability across stacks, reusable images, and treating infrastructure as code. Challenges include evolving standards and ensuring version compatibility across images and tools.
GStreamer-VAAPI: Hardware-accelerated encoding and decoding on Intel hardware...Igalia
By Víctor M. Jáquez.
Slides at https://github.com/01org/gstreamer-vaapi/tree/master/docs/slides/gstconf2015
GStreamer-VAAPI is a set of GStreamer elements (vaapidecode, vaapipostroc, vaapisink, and several encoders) and libgstvapi, a library that wraps libva under a GObject/GStreamer semantics.
This talk will be about VAAPI and its integration with GStreamer. We will show a general overview of VAAPI architecture, the role of libgstvaapi, and finally, the design of GStreamer elements. Afterwards we will show what is ahead in the development of GStreamer-VAAPI, and the current problems and challenges.
Efficient multimedia support in QtWebKit on Raspberry Pi (GStreamer Conferenc...Igalia
This document discusses improving multimedia support in QtWebKit on the Raspberry Pi. It outlines the Raspberry Pi hardware, WebKit rendering architectures, and platform improvements that could enhance multimedia playback. Specifically, it examines optimizing video and audio decoding by leveraging the Raspberry Pi's hardware accelerators and reducing unnecessary data copying and context switching.
1. The document summarizes the key steps taken by GStreamer when playing a media file using the playbin element. It initializes plugins and elements, creates the playbin pipeline, handles state changes, analyzes the stream to determine the decoder, and connects decoded pads to sinks.
2. When playbin is launched with a URI, it loads required plugins, creates the playbin element, decodes the stream with uridecodebin and decodebin, and connects decoded elements like video and audio to playback sinks. It handles state changes and uses typefind to analyze the stream format.
3. Decodebin emits signals as new pads are detected to determine the appropriate decoder element. It connects the decoded pad
This document provides an introduction and overview of GPU programming with Haskell using the Accelerate library. It discusses GPU architecture, when GPUs are suitable compared to CPUs, and demonstrates pricing financial options on a GPU using Accelerate. The document outlines the talk, introduces key GPU concepts, demonstrates basic Accelerate usage including arrays and computations, and provides references for further reading on GPU programming in Haskell.
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basicsnpinto
1. GPUs have many more cores than CPUs and are very good at processing large blocks of data in parallel.
2. GPUs can provide a significant speedup over CPUs for applications that map well to a data-parallel programming model by harnessing the power of many cores.
3. The throughput-oriented nature of GPUs makes them well-suited for algorithms where the same operation can be performed on many data elements independently.
This document discusses parallel computing on GPUs using OpenCL. It provides an overview of basics of parallel computing, a brief history of SIMD and MIMD architectures, and details of OpenCL. It then describes a case study of using OpenCL and OpenMP to perform a Monte Carlo study of a spring-mass system. The study models the system, uses the Euler method for numerical integration, develops SIMD approaches for GPUs, implements OpenMP, analyzes results and speedup, and provides conclusions on parallelization.
Presented September 30, 2009 in San Jose, California at GPU Technology Conference.
Describes the new features of OpenGL 3.2 and NVIDIA's extensions beyond 3.2 such as bindless graphics, direct state access, separate shader objects, copy image, texture barrier, and Cg 2.2.
Presented as a pre-conference tutorial at the GPU Technology Conference in San Jose on September 20, 2010.
Learn about NVIDIA's OpenGL 4.1 functionality available now on Fermi-based GPUs.
presented at SIGGRAPH 2014 in Vancouver during NVIDIA's "Best of GTC" sponsored sessions
http://www.nvidia.com/object/siggraph2014-best-gtc.html
Watch the replay that includes a demo of GPU-accelerated Illustrator and several OpenGL 4 demos running on NVIDIA's Tegra Shield tablet.
http://www.ustream.tv/recorded/51255959
Find out more about the OpenGL examples for GameWorks:
https://developer.nvidia.com/gameworks-opengl-samples
Gtk+ is a widget toolkit for building graphical user interfaces. It uses several libraries like GLib for core functions, GObject for object-oriented programming, and Gio for file and network operations. Gtk+ started in the 1990s and is currently at version 3. It is used in many GNOME applications and supports multiple programming languages through bindings like Vala.
Multimedia support in WebKitGTK and WPE, current status and plans (GStreamer ...Igalia
By Philippe Normand.
This talk is about multimedia support in the WPE and GTK+ WebKit ports. I will give a status update about the HTML5 features currently supported by our GStreamer backend, such as WebRTC, MSE, MediaCapabilities support. The talk would also include a brief case study about using WPE and its Cog browser on IMX6 platforms.
(c) GStreamer Conference 2018
CC-BY-SA 3.0
https://gstreamer.freedesktop.org/conference/2018/
https://gstconf.ubicast.tv/videos/multimedia-support-in-webkitgtk-and-wpe-current-status-and-plans/
WPEWebKit, the WebKit port for embedded platforms (Linaro Connect San Diego 2...Igalia
By Philippe Normand.
WPEWebKit[1] is a WebKit flavor (also known as port) specially crafted for embedded platforms and use-cases. During this talk I would present WPEWebKit's architecture with a special emphasis on its multimedia backend based on GStreamer[2] and implementing support for the MSE[3], EME[4], MediaCapabilities specifications. I would also present a case study on how to successfully integrate WPEWebKit on i.MX6 and i.MX8M platforms with the Cog[5] standalone reference web-app container or within existing Qt5 applications, using the
WPEQt QML plugin.
[1] https://wpewebkit.org
[2] https://gstreamer.freedesktop.org
[3] https://www.w3.org/TR/media-source/
[4] https://www.w3.org/TR/encrypted-media/
[5] https://github.com/Igalia/cog
Linaro Connect San Diego 2019
September 23-27, 2019
https://connect.linaro.org/resources/san19/
The document provides an introduction and overview of OpenGL graphics programming. It discusses that OpenGL is a 3D graphics rendering API that is hardware independent and portable. The document outlines the OpenGL rendering pipeline and libraries. It describes that OpenGL is not a language itself but makes calls to functions from libraries like GLUT, GLU, and OpenGL in a programming language like C/C++. The basic framework of an OpenGL program and functions for initializing OpenGL state, registering callbacks, and the event processing loop are also covered.
Inject the Web into your GStreamer pipeline with WPE using a GStreamer/WebKit...Igalia
Philippe Normand discussed injecting web content into GStreamer pipelines using WPEWebKit. He introduced WPEWebKit, an embedded version of the WebKit engine tailored for devices. He described the GstWPE plugin that allows rendering WPEWebKit content in GStreamer pipelines. This allows overlaying web pages on video streams. Future work includes adding audio support and improving input event handling.
This document discusses using JavaScript in Linux desktop applications and platforms. It describes how JavaScript can be used in desktop applications through platforms like XULRunner, GNOME's Seed/GJS runtime, and GNOME Shell extensions. These platforms allow JavaScript to integrate with and control desktop libraries and APIs like GTK, Clutter, and GStreamer. The document also notes differences between Seed and GJS and provides examples of JavaScript desktop applications.
Tech Days 2015: Multi-language Programming with GPRbuildAdaCore
The document discusses GNAT Project technology, which allows defining multi-language software projects using GPRbuild project files. A GPR project file provides a declarative description of project properties like source directories, compilation options, and targets. GPRbuild understands different languages and compilers and can build multi-language projects. It can also perform distributed builds across multiple machines.
Basics of GTK Programming in C Session by Karthik at Indian Linux Users Group, Chennai Monthly meet.
http://www.ilugc.in/content/ilugc-monthly-meet-december-11-th
Porting the Source Engine to Linux: Valve's Lessons Learnedbasisspace
These slides discuss the techniques applied to porting a large, commercial AAA engine from Windows to Linux. It includes the lessons learned along the way, and pitfalls we ran into to help serve as a warning to other developers.
Graphics Programming in C under GNU Linux (Ubuntu distribution)Tushar B Kute
This document discusses how to set up graphics programming in C using SDL and libgraph libraries on Ubuntu Linux. It explains that SDL is a cross-platform multimedia library for accessing graphics, sound and input devices across platforms, while libgraph implements the Turbo C graphics API using SDL. It then provides step-by-step instructions on installing prerequisite packages, downloading and compiling libgraph, and compiling a sample C program to draw a circle using the libgraph library.
Go is a compiled, statically typed programming language with strong concurrency features. Gomobile is a tool that allows Go code to run on mobile platforms like Android and iOS. It can generate native Android apps or build Go libraries that can be imported into Android and iOS projects. The presentation demonstrated how to set up Gomobile and build Go mobile apps and libraries, highlighting some caveats to consider.
GitBucket: Open source self-hosting Git server built by Scalatakezoe
This document provides information about GitBucket, an open source self-hosting Git server created by Naoki Takezoe using Scala. Some key points:
- GitBucket is an open source self-hosting Git server built using Scala and Java technologies. It allows hosting both public and private repositories.
- It has over 8,000 stars on GitHub and supports features like issues, pull requests, wiki pages, and plugins.
- The developer chose Scala for its interoperability with Java libraries and broad ecosystem. This helped minimize development costs, which is important for sustainability of personal open source projects.
This document provides information about PyGTK, which allows creating graphical user interfaces for Python programs using the GTK+ toolkit. PyGTK bridges Python and GTK+ so Python programs can have windows, buttons, menus and other widgets. It is free software under the LGPL license and works cross-platform on Linux, Windows, MacOS and others. The document gives an example of basic PyGTK code to create a window and enter the main loop. It also provides contact information for the organization that created the presentation.
Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.
Rapid and Reliable Developing with HTML5 & GWT.
Manuel Carrasco Moñino proposes using modern web technologies like HTML5 and JavaScript to build rich internet applications that can run on desktops, mobile devices, and tablets from a single codebase. He suggests frameworks like Google Web Toolkit (GWT), Apache Cordova, PlayN, and NoSQL databases to develop cross-platform applications in a high-level language like Java. Carrasco provides examples of projects using these techniques and encourages contributing to open source.
This document discusses improving the usability of open source software. It explores options for developing graphical user interfaces for open source projects. Developers can work on existing open source projects or start new ones focused on areas like operating systems, applications, frontends, configuration files, or translations. Popular graphical libraries like GTK+ and Qt can be used to develop GUIs, and bindings exist for languages like Python, Perl, and C++. Tools like Glade and Qt Designer allow visual design of user interfaces. Frameworks like wxWidgets aim to create truly cross-platform applications with native looks and feels. The document provides examples of "Hello World" programs using different libraries and languages.
Castle Game Engine and the joy of making and using a custom game engineMichalis Kamburelis
Presentation about Castle Game Engine ( https://castle-engine.io/ ) at GIC 2022 conference. We briefly show Castle Game Engine features then talk about important reasons and things you should take into account if you want to be as crazy as me -- and develop your custom engine :)
Update on the open source browser space (16th GENIVI AMM)Igalia
By Jacobo Aragunde Pérez
This session will provide the latest news on the ever-changing world of Open Source browsers. We will show what's currently happening with the integration of Chromium with Wayland and the latest WebKit ports, with special attention to WPE (WebKitForWayland), the newest port.
(c) 16th GENIVI AMM
2017
https://at.projects.genivi.org/wiki/display/WIK4/16th+GENIVI+AMM
This document provides an overview of GTK+ (Gimp Toolkit), an open source GUI toolkit for creating graphical user interfaces. It discusses the core libraries that make up GTK+ like GLib, GDK, Pango and Cairo. It also summarizes SqueakGTK, which provides bindings from Squeak to GTK+ to build graphical applications in Squeak that can run on multiple platforms like Windows and Linux.
WPE, a New WebKit Port Optimised for Embedded (IBC 2017)Igalia
By Miguel Ángel Gómez.
Browsers are the killer applications that many network device manufacturers need to embed in their products. However, there are many challenges that hinder the dream of building performant web browsers for low-cost devices. With the aim of making this dream a reality, at Igalia we have released WPE WebKit, a new WebKit Port optimized for Embedded platforms. WPE WebKit is designed with simplicity and performance in mind: a hardware accelerated fullscreen browser with multimedia support, as small (both in memory usage and disk space) and light as possible, and implementing the most relevant HTML APIs defined.WPE WebKit is now part of RDK and has been accepted upstream at webkit.org as a new official port of WebKit. We expect WPE WebKit to be deployed in millions of STB by the end of Q3.
(c) IBC 2017
https://show.ibc.org/ibc-content-everywhere-hub-programme/wpe-a-new-webkit-port-optimized-for-embedded-
17-Sep-2017
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Most important New features of Oracle 23c for DBAs and Developers. You can get more idea from my youtube channel video from https://youtu.be/XvL5WtaC20A
Liberarsi dai framework con i Web Component.pptxMassimo Artizzu
In Italian
Presentazione sulle feature e l'utilizzo dei Web Component nell sviluppo di pagine e applicazioni web. Racconto delle ragioni storiche dell'avvento dei Web Component. Evidenziazione dei vantaggi e delle sfide poste, indicazione delle best practices, con particolare accento sulla possibilità di usare web component per facilitare la migrazione delle proprie applicazioni verso nuovi stack tecnologici.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Consistent toolbox talks are critical for maintaining workplace safety, as they provide regular opportunities to address specific hazards and reinforce safe practices.
These brief, focused sessions ensure that safety is a continual conversation rather than a one-time event, which helps keep safety protocols fresh in employees' minds. Studies have shown that shorter, more frequent training sessions are more effective for retention and behavior change compared to longer, infrequent sessions.
Engaging workers regularly, toolbox talks promote a culture of safety, empower employees to voice concerns, and ultimately reduce the likelihood of accidents and injuries on site.
The traditional method of conducting safety talks with paper documents and lengthy meetings is not only time-consuming but also less effective. Manual tracking of attendance and compliance is prone to errors and inconsistencies, leading to gaps in safety communication and potential non-compliance with OSHA regulations. Switching to a digital solution like Safelyio offers significant advantages.
Safelyio automates the delivery and documentation of safety talks, ensuring consistency and accessibility. The microlearning approach breaks down complex safety protocols into manageable, bite-sized pieces, making it easier for employees to absorb and retain information.
This method minimizes disruptions to work schedules, eliminates the hassle of paperwork, and ensures that all safety communications are tracked and recorded accurately. Ultimately, using a digital platform like Safelyio enhances engagement, compliance, and overall safety performance on site. https://safelyio.com/
3. What is GStreamer?
● Pipeline-based media framework
● Basic building blocks: elements connected via pads
● Set of libraries with abstract API
● Plugins for specific features
– Often wrapping other libraries, e.g. libav/ffmpeg, OpenCV,
various codec libraries
11. Alternative - gtkgst
● Renders your video into a GtkWidget provided by
the GStreamer sink
● Software implementation uses cairo into a
GtkDrawingArea
● Place the provided GtkWidget wherever in the
widget hierarchy
12. gtkgst - GL
● Gtk 3.16 has new GL support
● GStreamer 1.4 has GL support
● Why don't we try integrating them?
13. What is OpenGL?
● Low level 3D graphics API
● Been around since the 1990's
● Uses dedicated hardware
● Cross-platform
14. OpenGL in GStreamer
● Contained in the libgstgl library
● GstGLDisplay, GstGLContext are your two main
objects. Analogous to GdkDisplay and
GdkGLContext
● Element base classes, color conversion, uploaders,
GL version/extension checking
● Also contains various elements – gltestsrc,
glvideomixer, glimagesink, gleffects, etc
16. Implementation - gtkgst
● ~1000 lines of code
● Relies heavily on the GStreamer GL library and the
GL implementation
● Similar in style and scope to
avsamplebuffersink/caopengllayersink
17. gtkgst - GL
● Currently a proof of concept
● Currently X11 only
● System load causes frame jitter
● Uses Gtk+'s GL context
● Wayland might not be needed due to
efficient/correct subsurfaces
18. Uses
● Anytime you want to display video from GStreamer
into a Gtk+ application
– e.g. Videos/Totem