The document discusses issues around merging Android kernel patches into the mainline Linux kernel, including initial rejection of the patches by kernel developers, limited later acceptance, and Linaro's efforts to upstream individual fixes and improvements. It also covers Linus Torvalds' frustrations with the increasing volume and apparent duplication of work in the ARM architecture area of the kernel.
In this presentation, the unaware or indirect applications of essential computer science concepts are dicussed as showcase. Jim Huang presented in Department of Computer Science and Engineering, National Taiwan University.
The promise of the IoT won’t be fulfilled until integrated
software platforms are available that allow software
developers to develop these devices efficiently and in
the most cost-effective manner possible.
This presentation introduces F9 microkernel, new open source
implementation built from scratch, which deploys
modern kernel techniques dedicated to deeply
embedded devices.
Linaro's mission is to make it easier and quicker for ARM partners to deploy the latest technology into optimized Linux based products. This presentation covers the basic work from Linaro Android platform team.
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)Toshiharu Harada, Ph.D
TOMOYO Linux is a MAC (Mandatory Access Control) implementation which gives support to protect Linux systems as well as to learn, understand and analyze system behavior. Being lightweight, it results suitable for embedded systems too. This tutorial aims to show in a practical way how to make the best use of TOMOYO Linux potentials in order to study and protect embedded Linux systems, taking Android as a specific study case. Though Android is amazingly expanding its target to various kinds of devices, it was designed mainly for mobile phones. Then, unlike other embedded operating systems, it presents some peculiar characteristics which require a particular attention to apply MAC effectively. The session is directed to those who want to learn how to use TOMOYO Linux, to managers or developers interested in security concerning embedded Linux and Android, and even to anyone just wishing to take a closer glance at Android internals.
In this presentation, the unaware or indirect applications of essential computer science concepts are dicussed as showcase. Jim Huang presented in Department of Computer Science and Engineering, National Taiwan University.
The promise of the IoT won’t be fulfilled until integrated
software platforms are available that allow software
developers to develop these devices efficiently and in
the most cost-effective manner possible.
This presentation introduces F9 microkernel, new open source
implementation built from scratch, which deploys
modern kernel techniques dedicated to deeply
embedded devices.
Linaro's mission is to make it easier and quicker for ARM partners to deploy the latest technology into optimized Linux based products. This presentation covers the basic work from Linaro Android platform team.
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)Toshiharu Harada, Ph.D
TOMOYO Linux is a MAC (Mandatory Access Control) implementation which gives support to protect Linux systems as well as to learn, understand and analyze system behavior. Being lightweight, it results suitable for embedded systems too. This tutorial aims to show in a practical way how to make the best use of TOMOYO Linux potentials in order to study and protect embedded Linux systems, taking Android as a specific study case. Though Android is amazingly expanding its target to various kinds of devices, it was designed mainly for mobile phones. Then, unlike other embedded operating systems, it presents some peculiar characteristics which require a particular attention to apply MAC effectively. The session is directed to those who want to learn how to use TOMOYO Linux, to managers or developers interested in security concerning embedded Linux and Android, and even to anyone just wishing to take a closer glance at Android internals.
Bugs happen. Identifying and fixing them is part of the development process. This tutorial demonstrates one of the key tools in the embedded Linux developer’s toolbox: the GNU Debugger, GDB.
You will begin by using GDB to debug a program running on a target device. You will learn about debug symbols: how build them into programs and libraries, and the places that GDB will go looking for them. Next, you will perform basic debugging tasks, including setting breakpoints, stepping through code, examining variables and modifying variables. After that you will lean about GDB command files and how they can help you by automating certain tasks. You will receive a handy GDB cribsheet to help you with all of this. If time allows, we will discuss how to use GDB to analyse core dumps so that you can perform a post-mortem on a crashed program
Presentation at Android Builders Summit 2012.
Based on the experience of working with ODM companies and SoC vendors, this session would discuss how to figure out the performance hotspot of certain Android devices and then improve in various areas including graphics and boot time. This session consists of the detailed components which seem to be independent from each other in traditional view. However, the situation changes a lot in Android system view since everything is coupled in a mass. Three frequently mentioned items in Android engineering are selected as the entry points: 2D/3D graphics, runtime, and boot time. Audience: Developers who work on Android system integration and platform enablement.
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
Ok Labs Webinar Android Migration At The Speed Of LightOpen Kernel Labs
Open Kernel Labs is the global leader in open source virtualization software for mobile devices, consumer electronics and embedded systems. Backed by the largest, independent team of microkernel developers, the OKL4 embedded hypervisor is deployed on more than 250 million mobile phones worldwide. Chipset suppliers, handset OEMs, and mobile network operators depend on OK Labs to deliver high performance solutions that decrease BOM cost, reduce complexity and speed time-to-market.
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.
I have tried to present maximum detail on android booting sequence in a very abstract way. I hope it would be useful. If you find any correction needed please mention it on comments. Happy Coding :)
Software update for IoT: the current state of playChris 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
Bugs happen. Identifying and fixing them is part of the development process. This tutorial demonstrates one of the key tools in the embedded Linux developer’s toolbox: the GNU Debugger, GDB.
You will begin by using GDB to debug a program running on a target device. You will learn about debug symbols: how build them into programs and libraries, and the places that GDB will go looking for them. Next, you will perform basic debugging tasks, including setting breakpoints, stepping through code, examining variables and modifying variables. After that you will lean about GDB command files and how they can help you by automating certain tasks. You will receive a handy GDB cribsheet to help you with all of this. If time allows, we will discuss how to use GDB to analyse core dumps so that you can perform a post-mortem on a crashed program
Presentation at Android Builders Summit 2012.
Based on the experience of working with ODM companies and SoC vendors, this session would discuss how to figure out the performance hotspot of certain Android devices and then improve in various areas including graphics and boot time. This session consists of the detailed components which seem to be independent from each other in traditional view. However, the situation changes a lot in Android system view since everything is coupled in a mass. Three frequently mentioned items in Android engineering are selected as the entry points: 2D/3D graphics, runtime, and boot time. Audience: Developers who work on Android system integration and platform enablement.
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
Ok Labs Webinar Android Migration At The Speed Of LightOpen Kernel Labs
Open Kernel Labs is the global leader in open source virtualization software for mobile devices, consumer electronics and embedded systems. Backed by the largest, independent team of microkernel developers, the OKL4 embedded hypervisor is deployed on more than 250 million mobile phones worldwide. Chipset suppliers, handset OEMs, and mobile network operators depend on OK Labs to deliver high performance solutions that decrease BOM cost, reduce complexity and speed time-to-market.
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.
I have tried to present maximum detail on android booting sequence in a very abstract way. I hope it would be useful. If you find any correction needed please mention it on comments. Happy Coding :)
Software update for IoT: the current state of playChris 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
This slideshow gives feedback about using Linux in industrial projects. It is part of a conference held by our company CIO Informatique Industrielle at ERTS 2008, the European Embedded Real Time software Congress in Toulouse
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Ron Munitz
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
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...GlobalLogic Ukraine
This webinar by Roman Stratiienko (Architect, Technology, GlobalLogic) was delivered at Embedded Community Webinar #12 on May 26, 2021.
Imagine that you have the latest version of Android, a single-board computer and a whole year of free time to experiment. What would you do? Would you try to run Android on it? And now imagine that this has already been done: we present to your attention GloDroid! This is a safe (no backdoor) and inexpensive open source solution that works right out of the box without any additional manipulation. GloDroid is a project to port and adapt open source Android applications to work on widely available single-board computer platforms.
More details and presentation: https://www.globallogic.com/ua/about/events/embedded-community-webinar-12/
This presentation goes through an explanation of the architecture, new features and use cases behind Ubuntu Core 16, Ubuntu for IoT.
What you will learn:
★ Lessons learned by Ubuntu in IoT and the need for a new approach to security and software management
★ Choosing the right Operating System for your IoT devices, hardware choices and long-term maintainability
★ How Ubuntu Core is being used by various partners to build solutions across home gateways, industrial, building automation and digital signage
This presentation by Aleksandr Bulyshchenko (Consultant, Engineering, GlobalLogic, Ukraine, Kharkiv) and Maksym Prymierov (Junior Software Engineer, Engineering, Consultant, GlobalLogic, Ukraine, Kharkiv) was delivered at GlobalLogic Ukraine On Air Webinar on April 15, 2020.
Our practical experts shared their expertise and results of porting the trendy Android 10 to Orange Pi board as well as demonstrated its possible DIY applications such as the ultra-popular Android TV box.
Internet of Tiny Linux (IoTL): Episode IV - SFO17-100Linaro
Session ID: SFO17-100
Session Name: Internet of Tiny Linux (IoTL): Episode IV - SFO17-100
Speaker: Nicolas Pitre
Track: LITE
★ Session Summary ★
This is a discussion on various methods, from low hanging fruits to more
daring approaches, being put forward to reduce the size of Linux kernel
and user space binaries to make them suitable for very small IoT
applications. Latest results in terms of effectiveness and upstream
acceptance will be discussed. Spoiler Alert: With luck, a tiny demo
might be thrown in!
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/sfo17/sfo17-100/
Presentation:
Video: https://www.youtube.com/watch?v=mqkIMfYLiz4
---------------------------------------------------
★ Event Details ★
Linaro Connect San Francisco 2017 (SFO17)
25-29 September 2017
Hyatt Regency San Francisco Airport
---------------------------------------------------
Keyword:
'http://www.linaro.org'
'http://connect.linaro.org'
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961
Python: the secret weapon of Fedora - FLISoL 2015Bruno R. Zanuzzo
This presentation had the Intent to show the importance of Python for Fedora (especially as a pillar of innovation) goal is primarily to encourage new developers.
(Embedded Linux Conference Europe 2014)
Linux uses many kind of embedded products. The products include not only consumer electronics but also control systems such as programmable logic controllers. There are many type of infrastructure systems and each system has different technical requirements. The requirements include not only real-time performance but also reliability-related functions. The infrastructure systems have to meet all the requirements. This presentation gives a summary of our study and development to adapt the Linux to infrastructure systems. Then we discuss the direction of future development. Please note, this presentation doesn't focus on a specific product.
Android is an open source Platform or a software stack for mobile. It is a Google product. but still as it is a open source so anyone can develop its application It run on dalvik VM and its applications are written in java. Android is a terrifically growing mobile platform and also a user loveable OS for mobile phone. We can see that its new versions are coming with a small or can say with in a minimum interval . Recently we have android 5.0 and on its release google had announced for android 5.0.1 also.
The Android OS project was started in 2001. Initially developed by Android, Inc., which Google backed financially and later bought in 2005, Android was unveiled in 2007 along with the founding of the Open Handset Alliance.
1-HISTORY OF ANDROID:-
In 2005 Google buys android Incorporation and started dalvik. At that time it is not possible for Google to go out and buy the companies to work on android, so Google in 2007 announced Android as an Open Handset Alliance so it a point to be noted that know android is not owned by only by Google or Google is the owner of android but OHA is the owner of android. 2008 to 2010 the android become a biggest used platform for mobile, it was world wide accepted mobile platform domain. In 2011 the chairman of Google Mr. Eric had decided to more to other device also like gaming, tablets, Tv watches, Car GPRS systems, etc.
YEAR TASK
2005 Google buys ANDROID Inc.
2007 Open Handset Alliance. Announced FIRST SDK.
2008 Android become the domain of mobile platform
2011 Games, tablets, watches,etc
Why Dalvik VM not Java VM (JVM) ?
Android runs java app so why don’t we use java vm ?
because of two good reasons
1- business.
2- Technical.
Business is Java is owned by Oracle. So We have to buy license for java VM. Due to which Android will no longer be free, and there is no reason that why Google will give profit to Oracle. And it is not easy for Google to buy license from oracle for each VM After all it is the reason for its pride. There are main two technical reasons
1-battery consumption of java vm. As java is optimized and is designed to run on Intel chips easily and Intel chips need more and more power to run and in mobiles the battery in main consistent so intel chips are replaced by armed chips, so it is not possible to run java vm on it.
2- Memory consumption in java vm to run any app first we have to load it class for memory to Hard disk or RAM, so to run first we have to wait for vm to search and load class in HD or RAM. And in mobile we don’t have such a large memory that we load classes every before running any app. So it better to replace JVM with dalvik vm which use classes but there is no need to load it in RAM it run it directly.
Difference b\w Delvik and ART
0 In dalvik runtime, the JIT in bounded to CPU but ART frees the CPU from translating DEX to machine code during app’s execution thus reduce energy consumption.
o ART is faster as it directly convert. DEX byte-code to NAT
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
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
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.
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.
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.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
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!
Elevating Tactical DDD Patterns Through Object Calisthenics
Linaro and Android Kernel
1. Linaro and Android Kernel
Thanks to Matt Hsu and John Lee at 0xlabs,
AzureWave and the other organizers
for being so kind as to invite me
2. Linaro and Android Kernel
1. What is Linaro
2. Android kernel patches and Linaro
3. Angry Birds
Andy Green, TI Landing Team Lead, Linaro
With thanks to John Stultz at Linaro
3. Linaro and Android
1. What is Linaro
2. Android kernel patches and Linaro
3. ARM Wrestling with Angry Birds
Andy Green, TI Landing Team Lead, Linaro
With thanks to John Stultz at Linaro
4. Andy Green
Hardware, software and SoC design for 25 years; FPGA
early adopter in 1989; wrote HTML5 libwebsockets
Worked as kernel maintainer at Openmoko with many
people now at 0xlabs; architected txtr e-book reader
Texas Instruments Landing Team Leader at Linaro
Moving to Taiwan in August 2011 with my family
My wife is progressing learning 中國語言
I am stuck at 好, know a little にほんご though
7. Structure
Paid for by its members
“Not for profit” - money is spent on engineers and
engineering
“Core” members get a director on the board and
representatives on the “Technical Steering Committee”
Three engineering sections:
Working groups
Platform engineering
Landing Teams
8. Working Groups
Specialist teams focused on doing difficult tasks inside
their domain
Kernel – eg, pushing Device Tree, Thumb2 kernel
Toolchain – eg, advanced gcc work
Power Management – eg, idle state latency improvement,
dynamic CPU multicore hotplug
Graphics / Multimedia – eg, OpenGLES 2 compiz, prepare
upcoming ARM GPUs kernel frameworks
http://status.linaro.org
9. Landing Teams
Work closely with vendors
Three person team from Linaro works with vendor
assignees
Cooperate to get stuff upstream and in Nicolas Pitre's
linux-linaro tree
I lead the TI Landing Team, work with TI folks in Nice,
France, and Bangalore, India
OMAP4 Panda and OMAP5 stuff shortly
10. Manpower
Started with engineers from Canonical last year
Contract Engineers
Employees
Member Assignees
Over 100 engineers now in total
Some big names like Nicolas Pitre
11. Linaro Goals
Agree common problems with the vendors and try to
solve them directly, or be the basis of wider solutions
Some problems can't be solved by one vendor
Some problems might otherwise not be solved by
volunteers
Some problems require a funded, stable, trusted
organization to lead the way to the solution
12. Linaro Goals
Agree common problems with the vendors and try to
solve them directly, or be the basis of wider solutions
Some problems can't be solved by one vendor
Some problems might otherwise not be solved by
volunteers
Some problems require a funded, stable, trusted
organization to lead the way to the solution
*
14. Android becoming ubiquitous
All the SoC vendors are quite clear Android is very
important for them
Many of the vendors' customers are quite clear Android
is very important to them
Excepting a certain Finnish phone company recently for some
reason
Linaro already engages with Android and has Android
experts on board
Android is really “a Linux distro”
15. The whole Android “distro”
Linux Kernel
Android Kernel Patchset
Special minimal libc – Bionic
Other libraries
The Dalvik VM
Application Frameworks
Apps themselves
16. Just going to cover Android kernel
Linux Kernel
Android Kernel Patchset
Special minimal libc – Bionic
Other libraries
The Dalvik VM
Application Frameworks
Apps themselves
17. Android Kernel Patches Overview
All features that mainline does not offer, or improvements
18. Android Kernel Patches scope 1 / 6
Ashmem
Android Shared Memory, allows naming allocated memory and
having it visible between multiple processes
/dev/ashmem device node tracks usage count on the named
memory blocks
Under memory pressure, kernel can free blocks with no current
users
Binder
RPC scheme like CORBA
19. Android Kernel Patches scope 2 / 6
Pmem
Allows userspace to map a given range of contiguous physical
address
Used for userland talking to DSPs and similar that cannot
tolerate scatter-gather
Logger
Android's kernel logging, supports four logging buffers “main”,
“events”, “radio”, and “system”
Userland can read from the files down /dev/log/...
20. Android Kernel Patches scope 3 / 6
Early Suspend
Allows userland to coordinate a staged suspend action of four
levels
From most awake to suspended, it first allows screen to be
blanked, then stop access to the framebuffer, then turn off the
framebuffer / crtc, and lastly stop all non-wake input devices
Wakelocks
Allow userland to veto either low power state (eg, stop CPU
Clock) and / or entry to suspend; a few kernel places need to
use this too – ie, covering pending timers in input device driver
21. Android Kernel Patches scope 4 / 6
Alarm Timer
Deal with tracking elapsed time while in suspend
Schedule wakeups from RTC alarm while CPU completely OFF;
kernel already allows some of this
Low Memory Killer
More proactive and cooperative version of existing OOM Killer
Paranoid Network
Restricts certain network operations to processes with magic
group IDs
22. Android Kernel Patches scope 5 / 6
RAM Console
Debugging helper similar to EARLY_PRINTK but buffering very
early messages to RAM, good for silently dying boot
Apanic
Panic handler tries to write the panic dump to flash where it can
be recovered the next boot
ADB Gadget Driver
USB Gadget driver enables debugger operations from host PC –
also able to listen on a network interface
23. Android Kernel Patches scope 6 / 6
Timed GPIO
Adds a period capability to generic GPIO, allowing primitives like
“set this high for 50ms”
“Other”
Small hacks and fixes for ARM, MMC, Bluetooth etc
24. Android Kernel Patches
~250 patches for 2.6.38, 3.3MBytes of patches
Relatively thin layer of improvements over mainline,
adding features that are not otherwise supported
“Hey this OS is working great, let's send those patches
upstream!”
Submitted Jan 2009
25. Lkml vs Android Patches threads
emails
1000
Use DBUS!
Use OOM
Killer!
500
Binder LowMem
Killer Alarm Ashmem
0
27. Lkml vs Google 2009 experience
Proposed patchsets: 13 Accepted: 0
28. Not Invented Here
Political, cultural and practical problems dealing with a
large after-the-fact patchbomb
Google just wanted their patches accepted since they
were shipping insane volumes already; stopped caring
and got on with their job out of tree
As a compromise a copy of the Google patches (not
proposed by Google itself) allowed in staging
Some folks tried to work with kernel process but the
patches were removed from staging in 2.6.33
30. Limited re-engagement with lkml
After two years of rejection and stalled progress there
are real commits from @android.com in mainline
Over 100, > 50 from 2011
But these are not the 13 critical patchsets
Out-of-tree model works well enough
Wakelock impact on drivers makes practical difficulty
working on drivers at both mainline and Android though
Everyone would be happier if they were all in mainline
31. Now Invented Here
runtime_pm apis added to kernel to do similar job to
wakelock by Rafael Wysocki; design at least influenced by
wakelock discussion
GregKH, who removed android stuff from staging, writes
on his blog 23rd March that android drivers using this native
implementation are now welcome
http://www.kroah.com/log/linux/android-wakelock-solution.html
Competes with existing Google implementation, political as
well as technical decision for Google; how to transition?
Unclear if runtime_pm is full wakelock replacement
32. Summary
Google felt their contribution should have been taken in
mainline based on awesome Android volume success
and high quality results there.
lkml felt targeted by a fait accompli that did not consider
wider kernel architecture issues outside of phone case
If Google had included lkml in the loop to start with they
probably get easier ride, but lkml does not follow their
schedule
33. Linaro and the patchset
Controversy about some elements of the patches
overshadowed good fixes and improvements
“Trivial Tree” established; fixes split out in topic branches
and offered upstream by John Stultz from Linaro
Difficulties defending the patches as third-party;
uplevelling all the topic branches while out-of-tree is
significant effort
John also working on mainline Posix Alarm Timers that
may cover Android Alarm Timer functionality
34. Linaro Android Platform
Upstream-focused ARM Android Community getting
started
Linaro toolchain packages for Android
Cloud-based build services
ARM board farm for automated testing, validation and
benchmarking
Integration point for member SoC platform code
Based on linux-linaro tree from Nicolas Pitre
35. Linaro Android Platform
Installable images and public code for low-cost Linaro
member SoC boards
Combines latest public AOSP platform code with latest
Linaro kernel and toolchain, plus member SoC platform
code
Monthly releases
#linaro-android on Freenode IRC
*
37. Linus, Sep 1998
To Theodore Ts'o's complaints about lost patches...
“...Quite frankly, this particular discussion (and others before it) has just
made me irritable, and is ADDING pressure. Instead, I'd suggest that if
you have a complaint about how I handle patches, you think about what I
end up having to deal with for five minutes.
Go away, people. Or at least don't Cc me any more. I'm not interested, I'm
taking a vacation, and I don't want to hear about it any more. In short,
get the hell out of my mailbox.''
http://lkml.indiana.edu/hypermail/linux/kernel/9809.3/0850.html
38. Analysis
Symptom of overload due to success
This was before bitkeeper and later git, the amount of
manual work was too high - “think about what I end up
having to deal with”
With awesome tools like git, Linus was able to do much
more with the same effort and “scaled well”
Able to keep up with the ecosystem and Linux has
grown for another 12 years since then
39. Linus, June 2010
I got a bit frustrated with ten different ARM pulls per day at one point.
There's something wrong with ARM development. The amount of
pure noise in the patches is incredibly annoying. Right now, ARM is
already (despite me not reacting to some of the flood) 55% of all
arch/ changes since 2.6.34, and it's all pointless churn in
arch/arm/configs/
arch/arm/mach-xyz
arch/arm/plat-blah
and at a certain point in the merge window I simply could not find it in
me to care about it any more. http://lwn.net/Articles/392135/
40. Linus sees ARM arch overloading him
ARM architecture is growing strongly
Bit chaotic because outside the core ARM CPUs, it is
very diverse indeed
Random peripheral unit macrocells get implemented
alongside custom DSP, custom interconnect, custom
IPC hardware
Same peripheral unit may be wired on different buses on
different SoC, need “glue layer” like MUSB
41. Platform layer
RMK brings order to the chaos with “platform layer”
A platform is, eg, OMAP2+ for later TI chips, imx for
Freescale, etc, combining commonality as much as
possible and offering “just works” core code for chips
There are more specific mach- files for boards that use
some or all the platform features plus extra support for
other chips on the board
“pointless churn... arch/arm/plat... arch/arm/mach...” per-
board config in “arch/arm/configs”
42. How the ARM SoC world works
ARM SoC vendors license CPU Core from ARM
Cheaper, quicker, more certain, better tool / OS
ecosystem than proprietary... and patents
So how to differentiate?
Pile on specialized integrated peripheral units
Talk up special process sauce, eg, smartreflex biasing
Sell companion chips with special sauce (eg, OMAP4 vs twl6030
PMIC and twl6040 audio)
Twl6030 and CPU talk on dedicated serial link for voltage scaling
48. Linus, March 2011
Gaah. Guys, this whole ARM thing is a f*cking pain in the ass.
You need to stop stepping on each others toes. There is no way that your changes to those
crazy clock-data files should constantly result in those annoying conflicts, just because
different people in different ARM trees do some masturbatory renaming of some random
device. Seriously.
That usb_musb_init() thing in arch/arm/mach-omap2/usb-musb.c also seems to be totally
insane. I wonder what kind of insanity I'm missing just because I don't happen to see the merge
conflicts, just because people were lucky enough to happen to not touch the same file within a
few lines.
Somebody needs to get a grip in the ARM community. I do want to do these merges, just to
see how screwed up things are, but guys, this is just ridiculous. The pure amount of crazy
churn is annoying in itself, but when I then get these "independent" pull requests from four
different people, and they touch the same files, that indicates that something is wrong.
49. Linus, March 2011 (continued)
And stop the crazy renaming already! Just leave it off. Don't rename boards and
drivers "just because", at least not when there clearly are clashes. There's no point.
I'm not even talking about the file renames (which happened and can also make it
"fun" to try to resolve the conflicts when somebody else then makes _other_
changes), but about the stupid "change human-readable names in board files just to
annoy whoever needs to merge the crap".
Somebody in the ARM community really needs to step up and tell people to stop
dicking around.
(I'm replying to the omap pull request, because that's the one I did last, but I don't
know who to "blame". I don't care. It really doesn't matter. I realize thar ARM
vendors do crazy shit and haven't figured out this whole "platform" thing yet, but
you guys need to push back on the people sending you crap).
https://lkml.org/lkml/2011/3/17/492
50. Analysis
Overload handling merge conflicts between ARM arch trees
Renames and missed common code opportunities are “crap”
Asking for more management in ARM world
Subsequently made it clear he doesn't think Russell King
(ARM Linux maintainer) is the problem
Big crisis for ARM world, boss guy is raging but individual
maintainers unable to react alone
LOT of people dependent on flow to mainline...
51. Difficulty with MUSB – 1 / 5
Linus complained about MUSB, what is it, what's the
problem?
MUSB is Mentor's USB OTG hardware IP
MUSB is a good case study of general issue
Mentor sell hardware design tools including macrocells
Using someone else's tested CPU core has advantages:
same goes for someone else's tested USB OTG
implementation
54. Led to Generic driver + SoC glue – 4 / 5
MUSB Macrocell driver down drivers/usb/musb/
Also set of “glue layer” files for SoCs to take care of the
messy and different implementation details, eg,
blackfin.c, omap4230.c etc
For example, if power interrupts are coming from a
different chip, must be set up and enabled by that driver,
not MUSB driver, despite MUSB controls the interrupt
Seems to be “not liked” but hardware realities can
mandate this kind of setup
55. Limits of discoverability – 5 / 5
AMBA bus used to hook up peripheral units on ARM
SoC is more lightweight than PCI or USB
Probing memory with no unit leads to death by bus
exception, so we have to know what we have already
Connectivity width is NOT a property the peripheral unit
can declare, it's defined outside the unit itself
OMAP has hwmod “registry”, DT wants to claim that turf
Maybe Linus will end up improving or at least impacting
future SoC composition visibility
56. Unable to react: business as usual
linux-next churn post-Linus rant
From dirstat
80 Posted by
70
RMK Apr 14
60
50
percentage
40 Percentage
30
20
10
0
arch/arm arch/m68k arch/mips arch/x86 ?
arch
http://lists.infradead.org/pipermail/linux-arm-kernel/
2011-April/048133.html
57. Xilinx blocked from mainline
Russell King - ARM Linux linux at arm.linux.org.uk
Mon Apr 18 13:18:57 EDT 2011
I'm very sorry for people with new platforms outstanding like John Linn
who are on the sharp end of this (who have platform code ready to go)
but I see no solution at the moment. It really is the case that either
I can say no to it, or I can put it in my tree and Linus will say no to
it. So putting it in my tree *doesn't* help.
Will we ever be able to put John's code in the kernel? Honestly, I have
no idea.
http://lists.infradead.org/pipermail/linux-arm-kernel/2011-April/048553.html
58. You are going on a diet
Linus Torvalds torvalds at linux-foundation.org
Mon Apr 18 12:23:51 EDT 2011
Hint for anybody on the arm list: look at the dirstat that rmk posted,
and if your "arch/arm/{mach,plat}-xyzzy" shows up a lot, it's quite
possible that I won't be pulling your tree unless the reason it shows
up a lot is because it has a lot of code removed.
People need to realize that the endless amounts of new pointless
platform code is a problem, and since my only recourse is to say "if
you don't seem to try to make an effort to fix it, I won't pull from
you", that is what I'll eventually be doing.
Exactly when I reach that point, I don't know.
http://lists.infradead.org/pipermail/linux-arm-kernel/2011-April/048543.html
59. Linaro working to form a solution
Linaro has “good offices” and good people that can help
with a solution for all ARM SoC vendors
Eg, Thomas Gleixner, Arnd Bergmann, Nicolas Pitre
Well placed to help form a solution
Linaro in contact with all the main participants these last
weeks
*