Session Presented at 1st IndicThreads.com Conference On Mobile Application Development held on 19-20 November 2010 in Pune, India
WEB: http://M10.IndicThreads.com
------------
Speaker: Anand Hariharan
Abstract:
While desktops and laptops have gotten more and more powerful, performance considerations for applications running on the desktop are not critical to the success of the app.
However, mobile devices are quickly becoming a viable computing platform and many devices now can run various applications which were only seen on the desktop previously.
As the developer community ports applications from desktop to the cell phone, performance becomes a very critical factor for success since cellphones are still under-powered as compared to the desktops.
This presentation will talk about best practices w.r.t performance while developing applications for the Android Platform. It will outline tips and techniques for extracting the best performance from android. These tips and techniques are a collation of well known java best practices that apply to Android as well as our learning at TapNTap as we go about building a next generation user interface for an Internet tablet.
Here are some of the topics that will be covered:
Java performance tips that will enhance your android app performance.
Performance Best practices which will apply even for non-android Java programming.
Architecting to avoid the dreaded “ANR (Application not responding)” dialog.
Benchmarking and tracing tools:
Caliper
Traceview
Building custom views : Tips on how to extract the best frame rate before knocking on OpenGLs door.
Precompute for performance.
Layout tricks to get the best load performance.
Differences between mobile and tablets.
Takeaways for the Audience
Best practices for Java development (performance improvement takeaways for any java app).
Tips/tools and techniques on applying these best practices.
This document primarily covers micro-optimizations that can improve overall app performance when combined, but it's unlikely that these changes will result in dramatic performance effects. Choosing the right algorithms and data structures should always be your priority, but is outside the scope of this document. You should use the tips in this document as general coding practices that you can incorporate into your habits for general code efficiency.
One of the trickiest problems you'll face when micro-optimizing an Android app is that your app is certain to be running on multiple types of hardware. Different versions of the VM running on different processors running at different speeds. It's not even generally the case that you can simply say "device X is a factor F faster/slower than device Y", and scale your results from one device to others. In particular, measurement on the emulator tells you very little about performance on any device.
To ensure your app performs well across a wide variety of devices, ensure your code is efficient at all levels and aggressively optimize your performance.
Android Performance Optimization presentation which is told on @ DevFest Ankara 2013, @ DevFest Eskişehir 2013, @ DevFest Konya 2014, @DevFest İstanbul 2014
Profiling tools and Android Performance patternsicemobile
Profiling is one of the most important steps in the development cycle of any app. Although this is well known, we as developers usually don’t know the potential of every tool that we have to help us. In this presentation we would like to introduce the most useful tools at our disposal that we may use to profile the GPU and memory performance, the most typical problems that our apps might have and how to solve them making use of the android performance patterns.
Understanding, debugging and fixing power bugslittleeye
The talk covers how to understand and debug your app's power consumption and covers optimization techniques that can be used to create efficient apps, that customers love!
This document primarily covers micro-optimizations that can improve overall app performance when combined, but it's unlikely that these changes will result in dramatic performance effects. Choosing the right algorithms and data structures should always be your priority, but is outside the scope of this document. You should use the tips in this document as general coding practices that you can incorporate into your habits for general code efficiency.
One of the trickiest problems you'll face when micro-optimizing an Android app is that your app is certain to be running on multiple types of hardware. Different versions of the VM running on different processors running at different speeds. It's not even generally the case that you can simply say "device X is a factor F faster/slower than device Y", and scale your results from one device to others. In particular, measurement on the emulator tells you very little about performance on any device.
To ensure your app performs well across a wide variety of devices, ensure your code is efficient at all levels and aggressively optimize your performance.
Android Performance Optimization presentation which is told on @ DevFest Ankara 2013, @ DevFest Eskişehir 2013, @ DevFest Konya 2014, @DevFest İstanbul 2014
Profiling tools and Android Performance patternsicemobile
Profiling is one of the most important steps in the development cycle of any app. Although this is well known, we as developers usually don’t know the potential of every tool that we have to help us. In this presentation we would like to introduce the most useful tools at our disposal that we may use to profile the GPU and memory performance, the most typical problems that our apps might have and how to solve them making use of the android performance patterns.
Understanding, debugging and fixing power bugslittleeye
The talk covers how to understand and debug your app's power consumption and covers optimization techniques that can be used to create efficient apps, that customers love!
Android devices running on battery need to be optimized for power.
When taking a look at the CPU this optimization starts typically with the race to idle, meaning to go to finish the workload as fast as possible. However typical Android devices are running on a SoC with many other parts like GPU, hardware decoders, sensors, 2G/3G/4G/Wifi modules...
All these parts need to be optimized to reduce the power consumption, but the biggest part of the problem/solution are applications themselves.
Guessing what software is actually causing high power consumption and mitigating it aren't simple tasks. In this session You will explore typical causes of high power consumption, how to debug them and provide possible solutions.
Android provides a number of APIs, OS tricks, and developer tools around power consumption, you will also get to know, learn, and understand them through this talk.
Slides for my talk at Droidcon NYC 2015: http://droidcon.nyc/2015/dcnyc/2/
In just a few weeks, we reduced by 94% the OutOfMemoryError crashes in the Square Register Android app. We built squ.re/leakcanary to automatically detect memory leaks and make it very easy to fix them. This talk will cover the principles as well as the underlying implementation details. We'll dig into a few interesting examples and lessons learned.
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...NITHIN S.S
In mobile app spaces, with all these evolving technologies and competitors, 𝗽𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 plays an important role in terms of delivering a seamless end-user experience. Improving performance has become the top priority for all global mobile app companies as it directly impacts user experience, retention rates, conversions, and ultimately revenue. Even if we deliver a brilliant feature with performance issues, people will eventually stop using those apps. As high-performing apps are user favourites, we testers should also adopt performance-centric strategies while testing mobile apps.
In this talk, you will learn about:
Basic types of mobile apps.
An overview of important performance metrics to consider.
Basics and importance of mobile app performance testing with trends and parameters.
Factors to consider while evaluating an app’s performance & ideas to prepare a performance-oriented testing strategy.
Best practices and tools to consider for providing valuable insights to stakeholders.
Quick glance at the rise of 5G and its impact in the mobile app space.
Enroll for Android Certification in Mumbai at Asterix Solution to develop your career in Android. Make your own android app after android development training in mumbai provides under guidance of expert Trainers. For more details, visit : http://www.asterixsolution.com/android-development-training.html
Going native - Taking desktop applications to mobile devicesTanzer Consulting
How does a business make informed decisions around taking their desktop apps to the mobile world? Elan Tanzer will share some of the experiences in exploring which functionality makes sense to port to mobile devices, what the differences in human/computer interaction will be, and whether it makes sense to go native to each OS or to use a more portable solution such as HTML5.
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons LearnedEneko Jon Bilbao
Lessons learned from a large enterprise mobility roll-out project for an Asset Management and maintenance workforce. Managing User expectations, testing tools, gotcha areas and what we did about them. Presentation from Mastering SAP Technology conference 2015.
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...Sencha
Andrew will share the experience he and his team have gotten from using Ext JS 6 for cross-platform app development on mobile and desktop devices. Having released Ext JS 6 apps for industries including utilities, oil & gas, construction, and transport, Andrew has learned the common pitfalls and gotchas you need to know. Using examples from recent projects, he provides tips for those who aren't yet familiar or experienced with mobile development. By the end of the session, you will know how to think like a mobile developer, develop apps with mobile user experience in mind, make the move from Ext JS 5 or Sencha Touch to Ext JS 6, deploy native apps with Cordova, and manage data on devices with limited resources.
How to Decide Technology Stack for Your Next Software Development Project?Polyxer Systems
Selecting the Perfect Tech Stack: Avoid costly mistakes & optimize performance. Learn how to pick the ideal technology stack for your project with our expert insights.
Develop, deploy, and operate services at reddit scale oscon 2018Gregory Taylor
The last few years have been a period of tremendous growth for Reddit. Process, tooling, and culture have all had to adapt to an organization that has tripled in size and ambition. Greg Taylor discusses Reddit's evolution and explains how one of the world’s busiest sites develops, deploys, and operates services at significant scale.
Presented at OSCON 2018 in Portland, Oregon
Building consumer grade mobile apps for the enterprise is possible, but requires design thinking. These are best practices for creating beautiful, useful mobile apps. It doesn't matter what technology you use or platforms you support. These principles hold true.
Android devices running on battery need to be optimized for power.
When taking a look at the CPU this optimization starts typically with the race to idle, meaning to go to finish the workload as fast as possible. However typical Android devices are running on a SoC with many other parts like GPU, hardware decoders, sensors, 2G/3G/4G/Wifi modules...
All these parts need to be optimized to reduce the power consumption, but the biggest part of the problem/solution are applications themselves.
Guessing what software is actually causing high power consumption and mitigating it aren't simple tasks. In this session You will explore typical causes of high power consumption, how to debug them and provide possible solutions.
Android provides a number of APIs, OS tricks, and developer tools around power consumption, you will also get to know, learn, and understand them through this talk.
Slides for my talk at Droidcon NYC 2015: http://droidcon.nyc/2015/dcnyc/2/
In just a few weeks, we reduced by 94% the OutOfMemoryError crashes in the Square Register Android app. We built squ.re/leakcanary to automatically detect memory leaks and make it very easy to fix them. This talk will cover the principles as well as the underlying implementation details. We'll dig into a few interesting examples and lessons learned.
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...NITHIN S.S
In mobile app spaces, with all these evolving technologies and competitors, 𝗽𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 plays an important role in terms of delivering a seamless end-user experience. Improving performance has become the top priority for all global mobile app companies as it directly impacts user experience, retention rates, conversions, and ultimately revenue. Even if we deliver a brilliant feature with performance issues, people will eventually stop using those apps. As high-performing apps are user favourites, we testers should also adopt performance-centric strategies while testing mobile apps.
In this talk, you will learn about:
Basic types of mobile apps.
An overview of important performance metrics to consider.
Basics and importance of mobile app performance testing with trends and parameters.
Factors to consider while evaluating an app’s performance & ideas to prepare a performance-oriented testing strategy.
Best practices and tools to consider for providing valuable insights to stakeholders.
Quick glance at the rise of 5G and its impact in the mobile app space.
Enroll for Android Certification in Mumbai at Asterix Solution to develop your career in Android. Make your own android app after android development training in mumbai provides under guidance of expert Trainers. For more details, visit : http://www.asterixsolution.com/android-development-training.html
Going native - Taking desktop applications to mobile devicesTanzer Consulting
How does a business make informed decisions around taking their desktop apps to the mobile world? Elan Tanzer will share some of the experiences in exploring which functionality makes sense to port to mobile devices, what the differences in human/computer interaction will be, and whether it makes sense to go native to each OS or to use a more portable solution such as HTML5.
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons LearnedEneko Jon Bilbao
Lessons learned from a large enterprise mobility roll-out project for an Asset Management and maintenance workforce. Managing User expectations, testing tools, gotcha areas and what we did about them. Presentation from Mastering SAP Technology conference 2015.
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...Sencha
Andrew will share the experience he and his team have gotten from using Ext JS 6 for cross-platform app development on mobile and desktop devices. Having released Ext JS 6 apps for industries including utilities, oil & gas, construction, and transport, Andrew has learned the common pitfalls and gotchas you need to know. Using examples from recent projects, he provides tips for those who aren't yet familiar or experienced with mobile development. By the end of the session, you will know how to think like a mobile developer, develop apps with mobile user experience in mind, make the move from Ext JS 5 or Sencha Touch to Ext JS 6, deploy native apps with Cordova, and manage data on devices with limited resources.
How to Decide Technology Stack for Your Next Software Development Project?Polyxer Systems
Selecting the Perfect Tech Stack: Avoid costly mistakes & optimize performance. Learn how to pick the ideal technology stack for your project with our expert insights.
Develop, deploy, and operate services at reddit scale oscon 2018Gregory Taylor
The last few years have been a period of tremendous growth for Reddit. Process, tooling, and culture have all had to adapt to an organization that has tripled in size and ambition. Greg Taylor discusses Reddit's evolution and explains how one of the world’s busiest sites develops, deploys, and operates services at significant scale.
Presented at OSCON 2018 in Portland, Oregon
Building consumer grade mobile apps for the enterprise is possible, but requires design thinking. These are best practices for creating beautiful, useful mobile apps. It doesn't matter what technology you use or platforms you support. These principles hold true.
Building LLM Solutions using Open Source and Closed Source Solutions in Coher...Sri Ambati
Sandeep Singh, Head of Applied AI Computer Vision, Beans.ai
H2O Open Source GenAI World SF 2023
In the modern era of machine learning, leveraging both open-source and closed-source solutions has become paramount for achieving cutting-edge results. This talk delves into the intricacies of seamlessly integrating open-source Large Language Model (LLM) solutions like Vicuna, Falcon, and Llama with industry giants such as ChatGPT and Google's Palm. As the demand for fine-tuned and specialized datasets grows, it is imperative to understand the synergy between these tools. Attendees will gain insights into best practices for building and enriching datasets tailored for fine-tuning tasks, ensuring that their LLM projects are both robust and efficient. Through real-world examples and hands-on demonstrations, this talk will equip attendees with the knowledge to harness the power of both open and closed-source tools in a coherent and effective manner.
Learn more about enterprise frameworks and why your technology business and you need to be thinking about your software application architecture at scale.
Http2 is here! And why the web needs itIndicThreads
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsIndicThreads
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Go Programming Language - Learning The Go Lang wayIndicThreads
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
How to Think in RxJava Before ReactingIndicThreads
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
IoT testing and quality assurance indicthreadsIndicThreads
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Functional Programming Past Present FutureIndicThreads
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Harnessing the Power of Java 8 Streams IndicThreads
Presented at the IndicThreads.com Software Development Conference 2016 held in Pune, India. More at http://www.IndicThreads.com and http://Pune16.IndicThreads.com
--
Internet of things architecture perspective - IndicThreads ConferenceIndicThreads
Internet of Things is gaining unprecedented amount of traction across the globe. And the large organizations are making huge investments on IoT, which is going to change the shape of the 'Connected World'. Hence, it becomes necessarily important to understand the components, technologies and their interaction in the world of IoT.
The session would cover the Introduction of IoT, its components, the forces that have brought the ecosystem to mainstream and its adoption across industries. Then along with the Reference Architecture, I would discuss a few of industry implementations in IOT area with reference to the architecture. Next would be a comparative analysis of various IOT platforms available in the market and their architectures. And finally I would take up the challenges in making IOT as pervasive as it is believed to be.
A key take away would be the architectural appreciation of IOT landscape. As of now, any and every player in the market has begun to advertise their product as an IOT platform but a comprehensive review of fundamental design and architecture would bring this plethora of products (including open source ones) in the right purview. And that's the objective of this talk.
Session at the IndicThreads.com Confence held in Pune, India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Cars and Computers: Building a Java CarputerIndicThreads
The average family car of today has significantly more computing power than got the first astronauts to the moon and back. Modern cars contain more and more computers to monitor and control every aspect of driving, from anti-lock brakes to engine management to satellite navigation.
This session will look at how Java can (and is) used in cars to add more data collection. This will cover a project that was written to collect a variety of data from a car whilst driving (including video) and then play it back later so driving style and performance could be evaluated. There will be plenty of demonstrations.
Session at the IndicThreads.com Confence held in Pune, India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Remember the last time you tried to write a MapReduce job (obviously something non trivial than a word count)? It sure did the work, but has lot of pain points from getting an idea to implement it in terms of map reduce. Did you wonder how life will be much simple if you had to code like doing collection operations and hence being transparent* to its distributed nature? Did you want/hope for more performant/low latency jobs? Well, seems like you are in luck.
In this talk, we will be covering a different way to do MapReduce kind of operations without being just limited to map and reduce, yes, we will be talking about Apache Spark. We will compare and contrast Spark programming model with Map Reduce. We will see where it shines, and why to use it, how to use it. We’ll be covering aspects like testability, maintainability, conciseness of the code, and some features like iterative processing, optional in-memory caching and others. We will see how Spark, being just a cluster computing engine, abstracts the underlying distributed storage, and cluster management aspects, giving us a uniform interface to consume/process/query the data. We will explore the basic abstraction of RDD which gives us so many awesome features making Apache Spark a very good choice for your big data applications. We will see this through some non trivial code examples.
Session at the IndicThreads.com Confence held in Pune, India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & DockerIndicThreads
Continuous Integration (CI) is one of the most important tenets of agile practices. And Continuous Delivery (CD) is impossible without continuous integration. All practices are good and enhance productivity when other good practices and tools back them. For example CI & CD without proper automation test cases can be a killer. It kills the team productivity and puts deliver on risk. Via this session I will try to share my experiences of how CI and CD can be done in optimized fashion (specifically for feature branch based development approach)
We will discuss the best practices and ways of ensuring proper CI and CD in feature branch based development approach.
I will showcase an automated Jenkins based setup, which is geared to ensure that all feature branches and master remain in cohesive harmony.
At the end we will conclude on what are the essential components for ensuring successful CI and CD. We will also discuss what are the associated must haves to make it a success.
Take away for participants
1. Understanding of CI and CD and how CI can lead to CD.
2. How a devops engineer can leverage Jenkins and scripting to automate the CI and CD for feature branch based development.
3. Demo of CI setup devloped on Jenkins.
4. Generic understanding and Q&A related to CI and CD.
5. Learning of how docker can be used in such scenarios.
Session at the IndicThreads.com Confence held in Pune India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Speed up your build pipeline for faster feedbackIndicThreads
In this talk I will share how we brought down our Jenkins build pipeline time down from over 90 minutes to under 12 minutes. I will share specific techniques which helped and also some, which logically made sense, but actually did not help. If your team is trying to optimize their build times, then this session might give you some ideas on how to approach the problem.
Development Impact – The number of builds in a day have increased over a period of time as the build time has reduced. Frequency of code check-in has increased; Wait time has reduced; failed test case faster to isolate and fix.
The sessions will look at: Why long running pipeline was hurting, Key Principles to Speed Up Your Build Pipeline, Bottlenecks , Disk IO examples and alternatives, Insights from CPU Profiling, Divide and Conquer, Fail Fast, Results
The talk will highlight: Importance of getting fast feedback, How to investigate long running tests, How to run Tests concurrently, RAM Disks, SSD, Hybrid disks, Why you should not assume; but validate your hypothesis.
Session at the IndicThreads.com Confence held in Pune India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
OpenStack – an open source initiative for cloud management – has become a sensation is today’s Infrastructure as a Service (IaaS) cloud space. With more than 10 subprojects to manage server, storage, network, security and monitoring of the cloud, OpenStack has provided a competitive and scalable open source solution in cloud space. Big giants in public and private cloud such as VMware, Amazon and IBM are actively investing into OpenStack and developing their products to integrate with it.
The session will talk about the architecture of OpenStack and will discuss why it has become a differentiating factor for business in cloud space through scalability, automation, intuitiveness and flexibility. The session will also discuss how it integrates with the Platform as a Service (PaaS) layer and scales to public and private cloud.
The session will also contain a live demo of how a simple private cloud can be set up using OpenStack. The demo will explain how OpenStack makes the cloud management easy even for universities and small enterprises to rapidly adapt to their business needs at almost no costs.
Finally, the session will discuss current challenges and trends in OpenStack community and how can one contribute to OpenStack as an enterprise or individual.
The speaker leads development of IBM’s new OpenStack based Infrastructure As A Service (IaaS) solution and will share his insights into OpenStack services and components.
Session at the IndicThreads.com Confence held in Pune, India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
Digital Transformation of the Enterprise. What IT leaders need to know!IndicThreads
This presentation will be about the changing times and nature of IT services delivered to the consumer. In the past, it used to be delivered through thick or thin clients on the desktop. Today, these are primarily delivered to the mobile in the form of a digital service.
While a lot of talk is about disruption that the smart phones have brought, the truth is, that the backend has to be more industrialised than ever before due to the massive number of transactions that terminate in the legacy IT infrastructure. Companies need both, industrial IT and innovation IT to be able to compete effectively in the digital marketplace. This presentation will be about the different imperatives the new IT leaders have to think about in the digital era.
Session at the IndicThreads.com Confence held in Pune, India on 27-28 Feb 2015
http://www.indicthreads.com
http://pune15.indicthreads.com
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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
Welcome to the first live UiPath Community Day Dubai! Join us for this unique occasion to meet our local and global UiPath Community and leaders. You will get a full view of the MEA region's automation landscape and the AI Powered automation technology capabilities of UiPath. Also, hosted by our local partners Marc Ellis, you will enjoy a half-day packed with industry insights and automation peers networking.
📕 Curious on our agenda? Wait no more!
10:00 Welcome note - UiPath Community in Dubai
Lovely Sinha, UiPath Community Chapter Leader, UiPath MVPx3, Hyper-automation Consultant, First Abu Dhabi Bank
10:20 A UiPath cross-region MEA overview
Ashraf El Zarka, VP and Managing Director MEA, UiPath
10:35: Customer Success Journey
Deepthi Deepak, Head of Intelligent Automation CoE, First Abu Dhabi Bank
11:15 The UiPath approach to GenAI with our three principles: improve accuracy, supercharge productivity, and automate more
Boris Krumrey, Global VP, Automation Innovation, UiPath
12:15 To discover how Marc Ellis leverages tech-driven solutions in recruitment and managed services.
Brendan Lingam, Director of Sales and Business Development, Marc Ellis
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.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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.
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.
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.
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.
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
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/
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.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
2. 2
How to achieve the best performance for
your applications on the android platform.
Anand Hariharan
Sr. Prod. Dev. Manager
for Tap 'n Tap at Clarice Technologies
3. 3
About
• Joined Clarice in Sept 2009 to work on an android based
tablet-pc software platform (Tap 'n Tap).
• Worked on Enterprise software development with
Symantec/Veritas prior to Clarice.
• Experience in developing User Interfaces, enterprise and
high availability software.
• Keen interest in the mobile and RIA domain.
• Clarice is an offshore product development company.
• Setup in 2008 by Symantec Alumnus.
• Strong focus on user interface development and user centric
design.
• Excellent expertise in mobile domain with customers like
Nokia, Admaxim, Tap 'n Tap.
4. 4
Topics
• Design for performance
o Understand the user
o Use recommended practices
o Pay attention to architecture
• Optimizing android applications
o Writing efficient code.
o Java tips to improve runtime performance.
o Avoiding ANRs.
o Best practices for performance.
o Tools to help improve performance.
• Q&A
5. 5
Design for performance
Make it work, Make it right, Make it fast
- attributed to Kent Beck of TDD/Extreme programming fame
Should i be thinking about performance in the design phase ?
Make it right for the user.
Make it fast only after you measure.
Do think about performance from an architectural standpoint.
6. 6
Design for performance
• Before making it work, ask questions about the application:
o How will it be used ? (Define use-cases)
o How much data is to be displayed and how ?
o Is there going to be a need for a scalable server side
component ?
o How will i manage user-perception during network or I/O
activity.
o How will my application co-exist with other applications
on the device ?
o How will my application affect battery-life and other
shared resources.
o How much memory will my application use, and how can i
minimize memory usage ?
7. 7
Design for performance
Understand the user
• What features are the bare necessity, without which the
user may feel cheated ?
o List out these features, using your head, not your heart.
e.g. copy-paste and IPhone 1.0
• Should i prioritize some features over others ? And how is
this relevant to performance ?
o Choose robustness and user-friendliness to features that
can be postponed.
o Being responsive to the user is relevant to performance.
8. 8
Design for performance
Understand the user
• What feature(s) are likely to cause frustration and
dissatisfaction ?
o Performance does not only mean speed. Its also about
managing user perception of the application. Some
techniques to improve user perception:
Cancel-able progress indication for long running tasks.
Responsiveness of the application.
Playing nice with other applications.
Frugal battery usage.
o e.g. Load time bitmaps.
9. 9
Design for performance
Use recommended practices:
• SDKs will recommend best practices.
Follow these practices to play nice with other
applications.
• e.g. Android OS recommends using services for
background long-term processing. Coding this in
an activity may cause unnecessary load on the
system.
• Example : Service vs Activity for a short periodic
check for updates.
13. 13
Optimizing android apps
Tips from d.android.com
• Avoid creation of objects
o Small objects created in a user interface loop will force a
periodic GC, causing the app to stall momentarily.
o To extract individual strings from some input data (such
as while parsing), try returning a "substring" instead. This
causes the creation of a new String() object but shares
the underlying char[] data with the input string.
o As far as possible, try not to return a String object from a
function if the same effect can be achieved by passing in
a StringBuffer to the function.
14. 14
Optimizing android apps
Tips from d.android.com
• For primitive type arrays, use a set of 1-dimensional arrays
instead of 2 dimensional arrays. For e.g.
o char dimarr [2][10], can be represented as char dim1 [10],
char dim2[10]; This is much faster than a 2 dimensional
array.
• If a function does not need to access member variables,
make it static. Static functions are invoked 15-20% faster
than virtual methods.
• Avoid use of getter function from code within the class. local
fields are accessed much faster than a trivial getter function.
With JIT, this distinction might go away in the future, but this
optimization is still good if you are targeting Froyo (2.2).
19. 19
Best practices for performance
• Keep your activity small
o Optimize images
Reducing color depth of images makes the final app
much smaller and will also use less memory overall.
A decent choice is to go for 16-bit colour if possible.
o Optimize layouts
Reduce the number of views
Avoid nesting of views.
Try to use the minimum number of views as possible.
Use hierarchyviewer to determine unnecessary levels
in layouts.
20. 20
Best practices for performance
• Track memory allocations
o Use debugging tools to identify and track memory
allocations. (Allocation tracker DDMS).
o Remember, try not to allocate memory if possible.
o Be aware of ways memory leaks can creep into code.
Specifically avoid passing the Activity Context object to
long lived widgets. Instead use the Application Context.
• Consider custom views over view hierarchies for interactive
views rather than using standard widgets
o Custom views can improve performance significantly due
to less layout related overhead.
o Consider custom views after carefully studying the
problem at hand.
21. 21
Best practices for performance
• As far as possible, let android handle orientation changes.
o Pass around any data that is expensive to load (e.g.
Images from an network source) across orientation
changes using the onRetainNonConfigurationInstance()
method. This will improve the load time of the new activity
and will lead to fast orientation changes.
• Use SoftReferences for cached data.
o Doing so will allow the garbage collector to free memory
faster, resulting in better performance for the device.
o The GC claims objects which are wrapped by a
SoftReference first.
22. 22
Best practices for performance
• If possible, avoid frequent writes to db/storage
o Writes to flash storage are slow
o Can take anywhere between 5-200ms on different
devices.
o Write performance degrades consistently with more data
on the SDCard.
o Be cognizant of how much writing the application does
and how frequently. SQLite database can be pretty heavy
on writes.
• Consider a pool of small objects if your application needs it.
o Most game creators need a large number or small
objects. A pool of these objects that can be reused will
improve performance by not allowing the GC to kick in
more often.
23. 23
Best practices for performance
• Avoid using data from multiple tables in an AdapterView
o ListAdapter for example will slow down tremendously if
there is data being read from multiple tables to render a
single list item.
o If needed add columns to the table with the data to be
presented and then serve the data using a view or
projection.
• Measure, Measure, Measure.
o It is very important to measure performance before doing
anything about it.
o Optimize Judiciously.
24. 24
Tools to help optimize android apps
layoutopt
• Tool available with the SDK to point out some obvious
problems with layouts.
o Helps you tune your layout to acheive better performance.
o Some problems that it points out:
If layout has a top level FrameLayout, it will suggest
usage of the <merge> tag to avoid one level in the view
heirarchy.
Points out when layout is too deep (10 levels)
Points out when layout has too many views (80)
Suggests replacement for widgets and best practices for
layout files.
25. 25
Tools to help optimize android apps
layoutopt : Sample output
custom_cat_list_item.xml
6:28 This tag and its children can be replaced by one <TextView/> and a compound
drawable
18:19 Use an android:layout_width of 0dip instead of wrap_content for better
performance
news_portlet_small.xml
53:70 This tag and its children can be replaced by one <TextView/> and a
compound drawable
60:60 Use an android:layout_width of 0dip instead of wrap_content for better
performance
news_item_view.xml
59:77 This LinearLayout layout or its RelativeLayout parent is useless
news.xml
-1:-1 This layout has too many views: 93 views, it should have <= 80!
174:189 Use an android:layout_width of 0dip instead of wrap_content for better
performance
26. 26
Tools to help optimize android apps
hierarchyviewer
• Generally used for viewing layout hierarchies and tuning
parameters of views.
• Provides a visual representation of your view hierarchy
which is valuable in debugging nesting in your layouts.
• Analyze the tree structure to get insights on how choosing a
different layout may solve nesting issues.
• Used in conjunction with layoutopt, hierarchyviewer is
powerful tool to help optimize your layouts.
• Most useful feature for performance is the ability to call
invalidate or requestLayout for individual views. Ends up
calling "onMeasure" and adjusts the view hierarchy. Used in
conjunction with the debugger, this can be very handy to debug
performance issues in custom views.
28. 28
Tools to help optimize android apps
Allocation tracker
• Excellent tool to trace where memory is allocated.
• Gives you insight on what code to target first to reduce
memory footprint.
• Pay special attention to functions that return small new
objects and are called very frequently.
• Available with the DDMS tool which ships with the SDK.
• To use, simply run your app, start tracking before you
perform an operation you want to test. The tool will show
you all allocations that happened during that action.
• Optimizing frequent allocations in critical paths can make a
tremendous difference in apps like games.
30. 30
Tools to help optimize android apps
traceview
• An excellent tool for identifying performance bottlenecks.
• 4 steps to tracing app performance
o Insert Debug.startMethodTracing() and
Debug.stopMethodTracing() calls in code.
Tip: To trace the full activity, call start in onStart() and
stop in onStop().
o Compile and run the app. Exercise the parts that seem
obviously slow.
o Stop the app and download the tracefile.
o Run traceview with the tracefile.
32. 32
Tools to help optimize android apps
traceview
Some tips to use the traceview information
• #0 : Only target items that stand out in the trace.
• #1 Pay attention to the % exclusive time spent in the
method. Target the calls with greatest time to optimize the
code within the method.
• #2 Pay attention to the number of calls to a function. There
may be gains in targeting methods with large number or
calls by:
o Making that method static if possible.
o Try to remove a method call by inlining the code explicitly.
33. 33
Tools to help optimize android apps
zipalign
• An optimization tool available with the SDK.
• Aligns resources on 4-byte boundaries.
• Zipalined apks load resources significantly faster.
• Unaligned apks end up running slower and using more
memory than aligned ones.
• Dont forget to align your applications before uploading them
to the market.
34. 34
A story about optimization
The practice of Programming - Brian Kernighan
This program was "too slow". The team decided to profile and
optimize. After some serious profiling, they found a single function
that was using about 40% of CPU time. Huge.
The team got to work optimizing this function. They found it was not
particularly efficient. They worked hard and long to optimize this
function, knowing that every bit of speed they could wring out of
this one routine would pay off handsomely.
When they had worked it as far as they could, they stepped back to
test. The system did not run any faster. After days of optimizing
code, finally someone realized that this routine they were
optimizing was....the idle loop.
35. 35
Moral of the optimization story
• UNDERSTAND WHAT YOU ARE OPTIMIZING.
• Leave it alone until you know its a problem
• Measure, Measure, Measure
• Use tools to profile and gain experience to cut out the noise
in the output.
• Make an optimization pass part of your development cycle.
• Dont target micro-optimizations unless warranted. Even
then, do it *after* you find the maximum gain looking at the
macro level.
• Dont write unreadable code in the name of performance.