My session in AnDevcon, November 2011, Burlingame, CA.
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my back-end?" to "Which cloud configuration should be used for my back-end?" Bringing up a cloud server has become an obvious choice for any Linux or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server.
In this class, we will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
LEVEL: Intermediate
AUDIENCE: Developer Essentials
For Training/Consulting requests: info@thepscg.com
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Ron Munitz
My session in the Mobile World Congress WIPJam, Barcelona 2014.
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my backend?" to "Which cloud configuration should be used for my backend?" Bringing up a cloud server has become an obvious choice for any Linux- or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server. This session will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)Ron Munitz
My session at AnDevCon, May 2014, Boston, MA
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my back-end?" to "Which cloud configuration should be used for my back-end?" Bringing up a cloud server has become an obvious choice for any Linux or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server.
In this class, we will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
LEVEL: Intermediate
AUDIENCE: Developer Essentials
For Training/Consulting requests: info@thepscg.com
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
Presentation for Tizen Developer Conference 2015 Shenzhen.
Tizen is an open source Linux based software platform for Internet of Things, mobile, wearable and embedded devices. Tizen:Common provides a generic development environment for Tizen 3 which key features include Wayland, Weston, EFL, and the Crosswalk web runtime. The Yocto Project offers easy to use tools to create meta layers for new Tizen 3 profiles that inherit and expand the features of Tizen:Common. This talk will focus the Tizen architecture and it will provide guidelines for creating and building new Tizen profiles, based on Tizen:Common, using the Yocto Project for devices with Intel or ARM processors. It will also provide information about hidden gems in Tizen on Yocto and practical examples for packaging and deploying HTML5 applications through Yocto recipes for the open source hardware development boards MinnowBoard Max (Intel) and Humming Board (Freescale I.MX6 ARM SoC).
Android is beginning to take off as an embedded operating system alongside Windows Embedded and traditional embedded Linux. What are the motivations for using Android? What are the potential problems? This presentation addresses these points, with use-cases based on real-world applications of Embedded Android
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Ron Munitz
My session in the Mobile World Congress WIPJam, Barcelona 2014.
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my backend?" to "Which cloud configuration should be used for my backend?" Bringing up a cloud server has become an obvious choice for any Linux- or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server. This session will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)Ron Munitz
My session at AnDevCon, May 2014, Boston, MA
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my back-end?" to "Which cloud configuration should be used for my back-end?" Bringing up a cloud server has become an obvious choice for any Linux or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server.
In this class, we will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
LEVEL: Intermediate
AUDIENCE: Developer Essentials
For Training/Consulting requests: info@thepscg.com
Creating new Tizen profiles using the Yocto ProjectLeon Anavi
Presentation for Tizen Developer Conference 2015 Shenzhen.
Tizen is an open source Linux based software platform for Internet of Things, mobile, wearable and embedded devices. Tizen:Common provides a generic development environment for Tizen 3 which key features include Wayland, Weston, EFL, and the Crosswalk web runtime. The Yocto Project offers easy to use tools to create meta layers for new Tizen 3 profiles that inherit and expand the features of Tizen:Common. This talk will focus the Tizen architecture and it will provide guidelines for creating and building new Tizen profiles, based on Tizen:Common, using the Yocto Project for devices with Intel or ARM processors. It will also provide information about hidden gems in Tizen on Yocto and practical examples for packaging and deploying HTML5 applications through Yocto recipes for the open source hardware development boards MinnowBoard Max (Intel) and Humming Board (Freescale I.MX6 ARM SoC).
Android is beginning to take off as an embedded operating system alongside Windows Embedded and traditional embedded Linux. What are the motivations for using Android? What are the potential problems? This presentation addresses these points, with use-cases based on real-world applications of Embedded Android
What’s Android System?
Kinds of Android Devices
Kinds of Android Type
Android Source Code
Inside Android
Boot Sequence
About init File
Hands On
Nexus7
Pandaboard
How to Debug
Some problems can only be solved by looking across a complete compute ecosystem. IoT Devices, Mobile Devices, Media Servers Gateways, Cloud Edge Devices.

This presentation covers the motivation that led the Samsung OSG to port Tizen to the Raspberry Pi2. It also goes over the technical hurdles that have been overcome and provides insight to where this project is headed in the future.
Linux is changing the way embedded systems are put together even faster than it is influencing data centres and desktops. I gave this talk at Embedded Linux Conference Europe 2012 in Barcelona
Embedded Android: Android beyond the smartphoneChris Simmonds
We are all familiar with Android as an operating system for smarphones. Looking beyond that,
Android is an open-source operating system that runs on top of Linux, which opens up a wide range
of applications in the embedded space. Using Embedded Android, you get the well-known user
interface, with it’s familiar touch screen gestures, and you get a well-known programming interface
based on Java. So, why would you not want to consider Embedded Android?
Configuring an embedded Linux system with a read-only rootfs has many advantages: reduced wear on flash memory; easier to update and trivial factory reset being among them. This presentation shows you how
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) WinningAnne Nicolas
About 5 years ago I was at a big conference on the topic of what’s needed for upstream graphics. I spent a lot of time apologizing for and ranting about the various horror shows in the DRM graphics subsystems. And eventually some engineer from a hardware vendor asked:
“If this all such crap, why should we bother with upstream graphics?“
Now I can finally and honestly answer this, because upstream supports everything, has helpers for all possible and impossible display standards, is supported by ever Linux-based OS out there and every vendor has a driver. In this talk I will present about how we got there, and especially what’s been going on recently.
Daniel Vetter
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
Every modern multimedia-oriented ARM SoC usually has a number of display controllers, to drive a screen or an LCD panel, and a GPU, to provide 3D acceleration. The Linux kernel framework of choice to support these controllers is the DRM subsystem.
This talk will walk through the DRM stack, the architecture of a DRM/KMS driver and the interaction between the display and GPU drivers. The presentation is based on the work we have done to develop a DRM driver for the Allwinner SoCs display controller with multiple outputs, such as parallel display interfaces, HDMI or MIPI-DSI. The work done to make the ARM Mali OpenGL driver work on top of a mainline DRM/KMS driver will also be detailed, as well as the more traditional, Mesa-based, solution used in a variety of other platforms.
Maxime Ripard, Free Electrons
We all want our devices to boot faster, but how much effort do you want to dedicate to optimizing and maintaining a custom kernel and apps? This presentation offers a graded list of things you can do to reduce boot time. They start with simple changes, such as adjusting the position of your main application the init sequence. Then there are the changes you can make to the kernel and bootloader configuration to speed things up, and finally, there are moderately advanced techniques such as using U-Boot in falcon mode.
All of this is done using standard configuration techniques, with the idea of being able to maintain these changes in the future. I will show the effect of each of these changes on typical a embedded dev board so that you can judge for yourself where on the journey you want to jump off.
10 ways hardware engineers can make software integration easierChris Simmonds
Sometimes it seems that hardware engineers go out of their way to may the job of software engineers difficult. Here are my top 10 tips (plus two bonus slides) that will make integration to smoothly
Software update for IoT Embedded World 2017Chris Simmonds
Many embedded Linux projects have a requirement to update the software on devices in the field. Recent security flaws in basic components such as OpenSSL and bash, combined with the interconnectedness of all things, have highlighted the problem and made it an absolute necessity
Michele Dionisio & Pietro Lorefice - Developing and testing a device driver w...linuxlab_conf
The development of device drivers usually requires hardware availability. We will try to address this issue by simulating our “missing” device thanks to a QEMU ARM machine. The fake device will be tested and debugged using bare-metal software, again running in QEMU. Finally, we will write a Linux device driver from scratch that will interact with the device and expose it to the userspace.
The training assumes some basic knowledge of the C programming language and using Linux as a development platform. During the training, we will show how to build the Linux kernel and write a simple yet complete device driver, how to use QEMU as a development platform and a few notions of bare-metal and kernel code debugging.
X86 ROM Cooking 101 (Android Builders Summit 2014)Ron Munitz
My session at the Android Builders Summit, April 2014, San Josa, CA
Video: https://www.youtube.com/watch?v=7iLeBD33Fo0
In this tutorial, you will have a hands-on journey of customizing and building Android right off the Android Open Source Project (AOSP).
We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine using the following components: Vanilla Android KitKat, Vanilla Linux Kernel, and a working QEMU. You will step out of the classroom with the ability to follow the exact steps made in the tutorial to jump-start building your own Android system for any Virtual Machine - and with the tools and knowledge to build it for any custom device!
For Training/Consulting requests: info@thepscg.com
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)Ron Munitz
My session at DroidCon Tel-Aviv, June 2014
In this tutorial, you will have a hands-on journey of building and customizing Android right off the Android Open Source Project (AOSP). We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine.
For Training/Consulting requests: info@thepscg.com
What’s Android System?
Kinds of Android Devices
Kinds of Android Type
Android Source Code
Inside Android
Boot Sequence
About init File
Hands On
Nexus7
Pandaboard
How to Debug
Some problems can only be solved by looking across a complete compute ecosystem. IoT Devices, Mobile Devices, Media Servers Gateways, Cloud Edge Devices.

This presentation covers the motivation that led the Samsung OSG to port Tizen to the Raspberry Pi2. It also goes over the technical hurdles that have been overcome and provides insight to where this project is headed in the future.
Linux is changing the way embedded systems are put together even faster than it is influencing data centres and desktops. I gave this talk at Embedded Linux Conference Europe 2012 in Barcelona
Embedded Android: Android beyond the smartphoneChris Simmonds
We are all familiar with Android as an operating system for smarphones. Looking beyond that,
Android is an open-source operating system that runs on top of Linux, which opens up a wide range
of applications in the embedded space. Using Embedded Android, you get the well-known user
interface, with it’s familiar touch screen gestures, and you get a well-known programming interface
based on Java. So, why would you not want to consider Embedded Android?
Configuring an embedded Linux system with a read-only rootfs has many advantages: reduced wear on flash memory; easier to update and trivial factory reset being among them. This presentation shows you how
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) WinningAnne Nicolas
About 5 years ago I was at a big conference on the topic of what’s needed for upstream graphics. I spent a lot of time apologizing for and ranting about the various horror shows in the DRM graphics subsystems. And eventually some engineer from a hardware vendor asked:
“If this all such crap, why should we bother with upstream graphics?“
Now I can finally and honestly answer this, because upstream supports everything, has helpers for all possible and impossible display standards, is supported by ever Linux-based OS out there and every vendor has a driver. In this talk I will present about how we got there, and especially what’s been going on recently.
Daniel Vetter
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardAnne Nicolas
Every modern multimedia-oriented ARM SoC usually has a number of display controllers, to drive a screen or an LCD panel, and a GPU, to provide 3D acceleration. The Linux kernel framework of choice to support these controllers is the DRM subsystem.
This talk will walk through the DRM stack, the architecture of a DRM/KMS driver and the interaction between the display and GPU drivers. The presentation is based on the work we have done to develop a DRM driver for the Allwinner SoCs display controller with multiple outputs, such as parallel display interfaces, HDMI or MIPI-DSI. The work done to make the ARM Mali OpenGL driver work on top of a mainline DRM/KMS driver will also be detailed, as well as the more traditional, Mesa-based, solution used in a variety of other platforms.
Maxime Ripard, Free Electrons
We all want our devices to boot faster, but how much effort do you want to dedicate to optimizing and maintaining a custom kernel and apps? This presentation offers a graded list of things you can do to reduce boot time. They start with simple changes, such as adjusting the position of your main application the init sequence. Then there are the changes you can make to the kernel and bootloader configuration to speed things up, and finally, there are moderately advanced techniques such as using U-Boot in falcon mode.
All of this is done using standard configuration techniques, with the idea of being able to maintain these changes in the future. I will show the effect of each of these changes on typical a embedded dev board so that you can judge for yourself where on the journey you want to jump off.
10 ways hardware engineers can make software integration easierChris Simmonds
Sometimes it seems that hardware engineers go out of their way to may the job of software engineers difficult. Here are my top 10 tips (plus two bonus slides) that will make integration to smoothly
Software update for IoT Embedded World 2017Chris Simmonds
Many embedded Linux projects have a requirement to update the software on devices in the field. Recent security flaws in basic components such as OpenSSL and bash, combined with the interconnectedness of all things, have highlighted the problem and made it an absolute necessity
Michele Dionisio & Pietro Lorefice - Developing and testing a device driver w...linuxlab_conf
The development of device drivers usually requires hardware availability. We will try to address this issue by simulating our “missing” device thanks to a QEMU ARM machine. The fake device will be tested and debugged using bare-metal software, again running in QEMU. Finally, we will write a Linux device driver from scratch that will interact with the device and expose it to the userspace.
The training assumes some basic knowledge of the C programming language and using Linux as a development platform. During the training, we will show how to build the Linux kernel and write a simple yet complete device driver, how to use QEMU as a development platform and a few notions of bare-metal and kernel code debugging.
X86 ROM Cooking 101 (Android Builders Summit 2014)Ron Munitz
My session at the Android Builders Summit, April 2014, San Josa, CA
Video: https://www.youtube.com/watch?v=7iLeBD33Fo0
In this tutorial, you will have a hands-on journey of customizing and building Android right off the Android Open Source Project (AOSP).
We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine using the following components: Vanilla Android KitKat, Vanilla Linux Kernel, and a working QEMU. You will step out of the classroom with the ability to follow the exact steps made in the tutorial to jump-start building your own Android system for any Virtual Machine - and with the tools and knowledge to build it for any custom device!
For Training/Consulting requests: info@thepscg.com
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)Ron Munitz
My session at DroidCon Tel-Aviv, June 2014
In this tutorial, you will have a hands-on journey of building and customizing Android right off the Android Open Source Project (AOSP). We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine.
For Training/Consulting requests: info@thepscg.com
Taiwan MOPCON2016 2016/10/30 13:00~
Hacking Linux on Android devices,
Android app and server, chroot Ubuntu debian,
OS replace, Windows Tablet, Multirom
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)Ron Munitz
My session at the Embedded Linux Conference, April 2014, San Jose, CA
Think about the software development routines in the last couple of years. Now think of how they used to be before the "explosion" of cloud services provided by Amazon, Google, Rackspace, Microsoft and the likes.
Even when putting aside distinguished niches such as Safety Critical platforms, and ignoring for the moment the buzz for project management "Agile" methodologies, you will probably notice that the Software Building Practices have completely changed.
You will notice That developing a Software product has become more of an integration effort due to the "explosion" of open source repositories for "high level" components, and that the proficient software developer has become a master of Lego craft.
Now take a look at what Embedded Systems were back at the time, and what it is becoming these days. Not only can one choose their set of components, in ever decreasing prices, sell hardware on kickstarter before even starting a prototype, but one can also replace old times designated HW/SW assembly and libraries, and choose from a variety of Powerful General Purpose Operating Systems that can run servers, desktops, phones, tablets, fitness bracelets, and their next product.
Development has definitely evolved. From mainframes to AWS.
From the V2 analog controller to processing monsters running Linux, Android, Tizen, Windows, FireFoxOS, or your next hand made operating system.
In this session, I am going to present key milestones in the evolution of the Internet of Things, focusing on the present and immediate future techniques for rapidly prototyping and building product stacks, and discuss the many similarities of building a modern Software stack, and a modern Hardware stack.
For Training/Consulting requests: info@thepscg.com
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)Ron Munitz
My workshop at DroidCon, February 2014, Torino, Italy.
In this tutorial, you will have a hands-on journey of customizing and building Android right off the Android Open Source Project (AOSP). We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine. You will step out of the classroom with the ability to follow the exact steps made in the tutorial to jump-start building your own Android system for any Virtual Machine - and with the tools and knowledge to build it for any custom device! Note: The tutorial is extremely hands on. Although it is not a strict requirement, it is strongly recommended to come prepared with a setup of Linux or OS X with the source code for an Android platform from http://source.android.com
Viva l'Italia!
For Training/Consulting requests: info@thepscg.com
Introduction to Android ROM cooking, part of my AnDevCon workshop (AnDevCon S...Ron Munitz
Part of my half day tutorial on AnDevcon, November 2013, Burlingame, CA.
In this tutorial, you will have a hands-on journey of customizing and building Android for any X86-based device. We will first introduce the concepts of Android ROM cooking for any device and architecture. You will learn what Android is made of, and will build a minimal Android configuration that will run on a Virtual Machine, using the AOSP project. We will then survey the build systems of Android-X86 and 01.org's Android-IA projects, and find our ways through customizing those projects for arbitrary needs.
You will step out of the classroom with the ability to follow the exact steps made in the tutorial to jump-start building your own Android system for any Virtual Machine - and with the tools and knowledge to build it for any X86 hardware!
Note: The tutorial is extremely hands on. Although it is not a strict requirement, it is strongly recommended to come prepared with a setup of Linux or OS X with the source code for an Android platform from either source.developer.andorid.com {http://source.developer.andorid.com/}, android-x86.org {http://www.android-x86.org/} or 01.org {https://01.org/}.
LEVEL: Advanced
AUDIENCE: Embedded Android
For Training/Consulting requests: info@thepscg.com
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...Ron Munitz
My session at AnDevCon Bostong, May 2013, Boston, MA.
This class introduces the concepts of AOSP and how to use it in order to configure and build one of the most popular Android devices available: The Android emulator, for an x86 target. You will then learn a reincarnation of the AOSP, intended to bring Android to as many x86 devices as possible. You will see its structure and compare it with the AOSP, and demonstrate how such a build works within Virtual Box, QEMU and more.
LEVEL: Intermediate
TOPIC AREA: Embedded Android
For Training/Consulting requests: info@thepscg.com
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.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
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
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
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.
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
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.
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.
Accelerate your Kubernetes clusters with Varnish Caching
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
1. Building Android for the
Cloud:
Android as A Server
Ron Munitz
Founder & CTO
ron@nubosoftware.com
ron@android-x86.org
AnDevCon
November 2013
@ronubo
2. Agenda
● Android, the cloud and I
● Android and the Cloud
● X86 Android projects
● Bringing up Android on an AWS
4. From distributed avionic systems
to distributed Android Systems
● Distributed Fault Tolerant Avionic Systems
○ Linux, VxWorks, very esoteric libraries, 0’s and 1’s
● Highly distributed video routers
○ Linux
● Android device bringups
○ Linux, Android
● Distributed Android
○ Rdroid? Cloudroid? Too busy working to get over the legal
naming, so no name is officially claimed for my open source
About://Ron Munitz
5. ● According to w3tech.com, over 60% of the server market share
is owned by Unix/Linux/BSD variants.
● Android is (?) the new Linux.
○ That is a very controversial phrase.
○ But there is no doubt about it being the most popular commercial Linux
distribution
● Android as a Server
○ #Android application developers >> #Linux Application developers
○ Powerful server-grade API’s regardless of the UI.
○ Terminal Services solutions for Android (BYOD, enterprise mobility)
● Massive server migration to the cloud
● Android server migration to the cloud
Motivation for using Android in the cloud
6. Some Legal Notes
I have been using the name
“ClouDroid” internally in the past.
This lecture is by no means related
to any commercial “ClouDroid”
product out there - it is just shorter to
write that instead of writing “Android
for The Cloud” and helps the slides
titles to be more readable.
* This slide is by no means related to
a particular black backgrounded
graphical slide at the end of the
presentation.
I really hope so anyway...
™ Droid is a registered trademark of
LucasFilm
™ Android is a registered trademark of
Google.
* I am not a lawyer
* My sister is - but she is not my lawyer
7. ● Let’s talk tech:
● Android ROM structure in a jiffy
○ For details see my workshop on Tuesday @AnDevCon
● Cloud selection architecture
○ Understanding the costs
○ Understanding the location
○ Understanding the underlying technology/Virtualization
● Linux bringup on the Cloud - with an Android ready kernel
● Replacing Linux Userspace with Android Userspace
“ClouDroid” HOWTO - The “Server” part
8. ● Android is a mobile platform ⇒ UX for is a major concern
● Display is based on Surface, OpenGL and Frame Buffers
● Need to choose Remote Display Protocol for Android
○ No display protocol currently handles that well
■ Working on the FB level is just too slow.
● Or: Develop one.
○ That’s what I have been doing for the last couple of years.
“ClouDroid” HOWTO - The “UX” part
9. ● Display protocols incur some serious issues with virtualization
techniques which are the building blocks of modern cloud
architectures. To name a few:
○ Hardware Acceleration
○ Multi-User support (big deal)
○ Noisy input and multi sensors
○ Location based services
● For the sake of the ease of discussion, let’s assume that a
remote display protocol is not an issue, and proceed with the
rest of the steps
○ It is not a big issue. It is a HUGE issue
Final words about Remote Display before we
11. Traditional terminology – whatever lies on the read-only partitions of the
device's internal flash memory:
● Recovery Mode:
○ Recovery Image (kernel + initrd)
● Operational Mode:
○ Boot Image (kernel + initrd)
○ System Image
● The magical link between the two:
○ Misc
What is not a part of the ROM?
● User data: /data, /cache, /mnt/sdcard/...
Android ROM components
12. Since Android is Linux at its core, we can examine its
storage layout via common Linux tools:
shell@android:/ $ df
Filesystem Size Used Free Blksize
/dev 487M 32K 487M 4096
/mnt/secure 487M 0K 487M 4096
/mnt/asec 487M 0K 487M 4096
/mnt/obb 487M 0K 487M 4096
/system 639M 464M 174M 4096
/cache 436M 7M 428M 4096
/data 5G 2G 3G 4096
/mnt/shell/emulated 5G 2G 3G 4096
Android ROM Storage Layout
13. shell@android:/ $ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
### Output of mount continues in next slide
Android ROM Storage layout: "Standard Linux"
16. shell@android:/ $ ls -l /dev/block/platform/sdhci-tegra.3/by-name/
lrwxrwxrwx root root 2013-02-06 03:54 APP -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2013-02-06 03:54 CAC -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2013-02-06 03:54 LNX -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2013-02-06 03:54 MDA -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2013-02-06 03:54 MSC -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2013-02-06 03:54 PER -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2013-02-06 03:54 SOS -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2013-02-06 03:54 UDA -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2013-02-06 03:54 USP -> /dev/block/mmcblk0p6
Legend: APP is system, SOS is recovery, UDA is for data...
So, where is my stuff?!
17. For a couple of reasons:
● Backup
● Recovery
● Software updates
● Error checking
● Board design
● Curiosity
● ...
● Because bringing up Android on the Cloud is
essentially building an Android device!
Why should we care about it?
18. Various forks to the Android Open Source Project:
● AOSP - (4.4+ OPENMASTER/KRT16M upstream)
○ The root of all (good?)
● Android-X86 (KRT16M upstream, JLS36I last stable release)
● Android-IA (JDQ39 upstream )
● Many other forks
○ CyanogenMod
○ Buildroid/AndroVM
○ And many others... Not all are known or Open-Sourced
Android Projects
20. ● Most Cloud Based architecture run or virtualize X86
based hardware
● Architecture set Emulation is expensive
● It is also unnecessary
● Virtualize Android for X86 architectures on the cloud
Motivation
21. X86 ROMs (by chronological order):
● Android-X86 (Debut date: 2009)
○ http://android-x86.org
● Emulator-x86 (Debut date: 2011)
○ http://source.android.com
● Android-IA (Debut date: 2012)
○ https://01.org/android-ia
Android and X86
22. The common reference, having the most recent version of the Android platform
(Userspace) versions.
Provides the QEMU based Android Emulator:
+ Works on any hosted OS
+ Supports multiple architectures
- But slow on non X86 ones
- Performs terribly if virtualized
- Has no installer for X86 devices
- Very old kernel
+/- An emulator. For better and for worse.
AOSP
23. + Developed by the open source community
+ Developer/Linux user friendly
+ Multi-Boot friendly
+ Generally supports many Intel and AMD devices
+/- But of course requires specific work on specific HW
+ VM friendly
+ Mature, Recognized and stable
- Delays in new releases (You can help!)
- Latest version (4.4) is still very buggy, but it’s been out only for a week
+/- Latest stable version (4.3) still needs some work for some devices
+ The ICS 4.0.4 release is amazing - including running ARM apps
Android-X86
24. + Installer to device
+ Relatively new versions of android and kernel
+ Works great on ivy-bridge devices
+ Integrated Ethernet Configuration Management
- Development for devices based on intel solutions only
- Very unfriendly to other OS's
- Not developer friendly – unless they make it such
- Community work can be better. But it is seems to be getting better
- Intel phones are not based on it (at the moment)
+ Made impressive progress in early 2013
- But suspended development at Android 4.2.2
? Project resumption at Kit-Kat?
Android-IA
25. ● Android is Linux
○ Therefore the required minimum to run it would be:
■ A Kernel
■ A filesystem
■ A ramdisk/initrd... Whatever makes you happy with your kernel's
init/main.c's run_init_process() calls.
See http://lxr.linux.no/linux+v3.6.9/init/main.c
○ This means that we can achieve full functionality with
■ A kernel (+ramdisk)
■ A rootfs where Android system/ will be mounted (ROM)
■ Some place to read/write data
Android is Linux
26. Android-IA is Android
Android-IA is, of course, Linux as well.
However, it was designed to conform to Android OEM's partition layout, and
has no less than 9 partitions:
○ boot - flashed boot.img (kernel+ramdisk.img)
○ recovery - Recovery image
○ misc - shared storage between boot and recovery
○ system - flashed system.img - contents of the System partition
○ cache - cache partition
○ data - data partition
○ install - Installation definition
○ bootloader - A vfat partition containing android syslinux bootloader (<4.2.2)
- A GPT partition containing gummiboot (Only option in 4.2.2)
○ fastboot - fastboot protocol (flashed droidboot.img)
Note: On android-ia-4.2.2-r1, the bootable live.img works with a single partition,
enforcing EFI. It still has its issues - but it is getting there.
27. ● One partition with two directories
○ First directory – grub (bootloader)
○ Second directory – files of android (SRC)
■ kernel
■ initrd.img
■ ramdisk.img
○ system
○ data
● This simple structure makes it very easy to work and debug
Note: Also comes with a live CD/installer. Very convenient.
Android-X86 is Linux
28. ● Start bootloader
● The bootloader starts the combined kernel + ramdisk
image (boot.img flashed to /boot)
● At the end of kernel initialization Android's
● /init runs from ramdisk
● File systems are mounted the Android way – using
fstab.common that is processed (mount_all command)
from in init.<target>.rc
Android-IA boot process
29. ● Start bootloader (GRUB)
● bootloader starts kernel + initrd (minimal linux) + kernel
command line
● At the end of kernel initialization
○ run the /init script from initrd.img
○ load some modules, etc.
○ At the end change root to the Android file system
● Run the /init binary from ramdisk.img
○ Which parses init.rc, and starts talking “Android-ish”
Android-X86 boot process
30. It depends what you need:
○ Developer options?
○ Debugging the init process?
○ Support for Hardware?
○ Support for OTA?
○ Licensing?
○ Participating in project direction?
○ Upstream features?
○ ...
There is no Black and White.
Which one is better?
31. ● Use Android-X86 installer system
● And put your desired android files (matching
kernel/ramdisk/system) in the same partition.
● Use the Android-X86 chroot mechanism
○ Critics: Does redundant stuff
○ But that's just a hack anyway – devise specific solutions for
specific problems
● This way, we can multiple boot various projects:
○ Android-IA
○ AOSP
○ Any other OS...
Note: You can also use chroot mechanism on any Linux Distribution,
from userspace! But this is significantly harder...
An hybrid approach
32. Repartition existing Linux partition (Don't do that...)
Install Android-X86
Add entries to GRUB
Reboot to Android-X86 debug mode
Copy Android-IA files from a pendrive or over SCP
For the former: cp /mnt/USB/A-IA/ /mnt && sync
/mnt is the root of Android-X86 installed partition
(e.g. (hd0,1)/...
Update GRUB entries and update GRUB
Voila :-)
Less simplified procedure: Debug GRUB... :-(
** Note: Replace Android-IA with AOSP to boot AOSP built files (system.img /
kernel / ramdisk.img) on your target device.
Multi-boot recipe with legacy GRUB (simplified)
33. ● Repartition existing Linux partition (Don't do that...)
● Create a mount point for your multi-booting android
○ Can make a partition per distribution, it doesn't really matter.
○ For this example let's assume all Android distributions will co exist on the same
partition, and that it is mounted to /media/Android-x86
● Build your images
○ AOSP: Discussed before
○ Android-x86:
■ . build/envsetup.sh && lunch android_x86-<variant>
&& make iso_img
○ Android-IA:
■ . build/envsetup.sh && lunch core_mesa-<variant>
&& make allimages
■ . build/envsetup.sh && lunch bigcore-<variant> && make allimages
** <variant> is either one of the following: user, userdebug, eng
Multi-boot recipe using GRUB2
34. ● Create directories for your projects (e.g. jb-x86, A-IA, AOSP) under your
mount point (e.g. /media/Android-x86)
● From Android-X86's out/product/target: Copy initrd.img to all projects.
○ Can of course only copy ramdisk to one location.
● From all projects – copy kernel, ramdisk.img, system/ and data/ to to
the corresponding directory under your mount point.
● Add entries to GRUB and update grub.
● # e.g. sudo vi /etc/grub.d/40_custom && update-grub
Multi-boot recipe using GRUB2 (cont.)
35. $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 451656948 394848292 34199920 93% /
udev 1954628 4 1954624 1% /dev
tmpfs 785388 1072 784316 1% /run
none 5120 0 5120 0% /run/lock
none 1963460 2628 1960832 1% /run/shm
/dev/sda1 15481360 5165416 9529464 36% /media/Android-
x86
Multi-boot recipe with GRUB2 - A numerical example
36. #### JB-X86
menuentry 'jb-x86' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
echo 'Loading Android-X86'
linux /jb-x86/kernel quiet androidboot.hardware=android_x86 video=-16 SRC=/jb-x86
initrd /jb-x86/initrd.img
}
A numerical example (cont.)- /etc/grub.d/40_custom
37. ### android-IA
menuentry 'Android-IA' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
echo 'Loading Android-IA'
linux /A-IA/kernel console=ttyS0 pci=noearly console=tty0 loglevel=8 androidboot.hardware=ivb
SRC=/A-IA
initrd /A-IA/initrd.img
}
A numerical example (cont.) - /etc/grub.d/40_custom
38. ● In the last couple of slides I essentially gave you the choice of which
Android system to use on your cloud services.
● Now I will give you the recipe:
○ Cloudroid recipe:
■ Choose an Android distribution
● Most convenient for debugging: Some sort of Android-
X86.
● Bring it up on your target architecture
○ i.e. HW, or VM
● Pack it in your cloud service instance wrapper
● DEBUG. These things are not trivial.
OK, some tricky linux stuff. why should we care?!
39. ● AWS Cloudroid recipe:
○ Choose “Local” server with HW characteristics similiar to the
target VM
○ Bring up Android-X86 on XEN
■ You can use other distributions too for the chroot part
■ In fact - in many of my projects I use the AOSP
○ Create an AMI out of that Android-X86 instance
○ Set up a new AWS instance with that AMI
● Sounds simple, right?
○ Well, it’s not. If you are up for the challenge, I would definitely
recommend hiring a top-notch, competent Linux bringup
superstar.
● There is a a bit simpler alternative...
A Numerical example - Using AWS
40. ● A couple of excellent options for the non-virtualized
Host (assuming Intel VT/AMD-V and the likes)
○ The AOSP X86 emulator/AOSP on a Virtual Machine
○ Android-X86 on a Virtual Machine
○ Android-IA on a Virtual Machine
● Problem: Can’t run a VM within a VM!
● There is an elegant solution for this problem...
Using Android from within Linux
41. Releasing an Android from a chroot jail
in two quick steps:
1. Run “Standard” Linux
2. chroot <Android ramdisk.img> <Android’s /init>
42. ● Bring up a standard Amazon Machine Instance (AMI) according to
your VM requirements (bandwidth, memory, CPU, storage, location).
● Copy Android components to the AMI
○ XEN + Android ready kernel + initramfs
○ system.img
○ data.img
○ ramdisk.img
● Update bootloader to load Replace kernel + initramfs
● Boot AMI instance
● mount system.img and data.img as loopback devices
● chroot to Android’s ramdisk.img - running Android’s /init
○ A N D R O I D
● Success!
chroot Jail - AWS recipe
43. ● The AOSP is hosted at http://source.android.com
● The Android-x86.org project is hosted at http://Android-X86.org
● The Android-IA project is hosted at https://01.org/android-ia
● Free AWS trial is available at http://aws.amazon.com/
● Android on the cloud in the real world - http://www.nubosoftware.com
● Android on IA - ROM cooking tutorial - Ron Munitz, AnDevCon November, 2013
● Introduction to Embedded Android course - by Ron Munitz.
Taught at Afeka College of Engineering, Tel-Aviv, Israel
● Android Internals course - @thePSCG
● Android Customization course - @thePSCG
References