Here you can gain advances knowledge on how to survive the Multi-Device Nightmare. It gives an introduction and samples of using different resource/ layout folders for filter specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
The presentation discusses the challenges of developing apps for Android's wide range of devices and proposes solutions. It notes the large number of Android devices and different screen sizes/densities. It recommends using resource qualifiers to target specific devices and orientations. It also suggests creating custom views and fragments for reusable UI components across layouts. The talk provides best practices for new and existing apps to better support multiple devices.
The talk gives an introduction to automatic Android application builds with continuous integration servers. It shares ImmobilienScout24's best practices and experiences on this topic.
Customer’s Choice is a AB-Test library for Android. Unlike the Amazon’s offer, you can use it in every productive application, configure it freely and it’s easily extensible. It is provided as an Open Source library that can be used within any Android project. The slides will be an introduction into the library and will present a Demo for showing the practical usage of Customer’s Choice.
Android Developer Days 2013 - MultiDevice NightmareHasan Hosgel
Here you can gain advances knowledge on how to survive the Multi-Device Nightmare. It gives an introduction and samples of using different resource/ layout folders for filter specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
MTC 2013 Berlin - Best Practices for Multi DevicesHasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Droidcon it 2014 best practices to develop for different android device class...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Droidcon nl 2013 best practices to develop for different android device class...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
The presentation discusses the challenges of developing apps for Android's wide range of devices and proposes solutions. It notes the large number of Android devices and different screen sizes/densities. It recommends using resource qualifiers to target specific devices and orientations. It also suggests creating custom views and fragments for reusable UI components across layouts. The talk provides best practices for new and existing apps to better support multiple devices.
The talk gives an introduction to automatic Android application builds with continuous integration servers. It shares ImmobilienScout24's best practices and experiences on this topic.
Customer’s Choice is a AB-Test library for Android. Unlike the Amazon’s offer, you can use it in every productive application, configure it freely and it’s easily extensible. It is provided as an Open Source library that can be used within any Android project. The slides will be an introduction into the library and will present a Demo for showing the practical usage of Customer’s Choice.
Android Developer Days 2013 - MultiDevice NightmareHasan Hosgel
Here you can gain advances knowledge on how to survive the Multi-Device Nightmare. It gives an introduction and samples of using different resource/ layout folders for filter specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
MTC 2013 Berlin - Best Practices for Multi DevicesHasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Droidcon it 2014 best practices to develop for different android device class...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Droidcon nl 2013 best practices to develop for different android device class...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
Mtc spring 2014 best practices to develop for different android device classi...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
This presentation summarizes multiple screen development difficulties, optimizations for different kinds of devices and screen sizes and gives best practices to handle multi screen problems in Android.
AdaptTo 2013 Device Detection with Apache DeviceMapConrad Woeltge
The document provides information about a meetup on Apache Sling and device detection using Apache DeviceMap and BrowserMap. It discusses detecting devices on the server side through analyzing the user-agent string and client capabilities on the client side using JavaScript. It also demonstrates how to implement BrowserMap in a project by including the necessary script files and using alternate links tagged with rel="alternate" and data attributes to control which version is loaded depending on the detected device group.
AdaptTo 2013: Slinging multichannel content the BrowserMap way / Device Detec...Andrew Savory
Sling selectors provide a powerful and flexible way to decide what content to deliver and how to present it. BrowserMap provides client-side device capability detection. By combining Sling and BrowserMap, you can quickly and easily build multichannel publishing solutions, adapting your content delivery to the capabilities of the device visiting your site. In this session we looked at how and why you should build this, and provide hints and tips on best practice.
Andrew Savory, Adobe
Conrad Woeltge, CEO & Owner, CW & Friends
Android Embedded - Smart Hubs als Schaltzentrale des IoTinovex GmbH
Android can be used as an operating system for smart hubs and embedded devices in the Internet of Things (IoT). Key advantages of using Android include its powerful graphics capabilities, ability to easily update devices over-the-air, and support for integrating various hardware protocols and devices. Android also provides a stable architecture and development process similar to building smartphone apps, making it well-suited for building smart hub and IoT devices.
Google has unveiled two new Nexus devices - the Nexus 6 smartphone and Nexus 9 tablet. The document provides guidance for developers to optimize their apps for the new devices, which have larger, higher resolution screens and ship with Android 5.0 Lollipop. Developers are advised to provide high resolution app assets, support new features like material design and 64-bit processors, and create responsive layouts that adapt to different screen sizes.
[Ultracode Munich #4] Short introduction to the new Android build system incl...BeMyApp
By Thomas Endres & Andres Würl both Senior Consultant from TNG Technology Consulting https://www.tngtech.com
Join the Ultracode Munich meetup: http://www.meetup.com/Ultracode-Munich/
Extending Spring MVC with Spring Mobile and JavaScriptRoy Clarkson
This document discusses extending Spring MVC applications to target different device platforms. It introduces Spring Mobile, which allows detecting the requesting device and directing it to a platform-specific site. It also introduces Lumbar and Thorax, which are tools for building JavaScript applications that target different platforms from a shared codebase, generating modular code for each platform. The document provides examples of how to configure Spring Mobile and build applications using Lumbar.
The specs behind the sex, mobile-friendly layout beyond the desktopbetabeers
This document discusses methodologies and techniques for optimizing websites for mobile devices, including using responsive design with CSS media queries. It presents three main approaches: building a separate mobile site, making no changes, or optimizing the main site for mobile. The bulk of the document then focuses on how to use CSS media queries to optimize websites, covering features like width, height, and orientation. It also discusses related techniques like viewport meta tags and approaches being considered for future standards.
[Droidcon Paris 2013]Multi-Versioning Android TipsKenichi Kambara
This document discusses strategies for developing Android apps that support multiple versions and devices. It begins with an introduction to the speaker and their "Sekai Phone" app. It then covers designing user interfaces to support different screen sizes and densities, using APIs that are backward compatible, and techniques like lazy loading and lint suppression to use newer APIs on older platforms. The document provides code examples and recommendations like using density-independent pixels and alternative resources to support multiple versions and configurations with as few APKs as possible.
Pantheon's Greg Anderson presents on the topic of using Composer with Drupal and Drush. Composer is a dependency manager that has become the de-facto standard for managing the components used in any sort of PHP library or application. Drupal is no exception to this, and in this presentation, Greg showed that the future is already here: it is completely possible to use native Composer functions to manage the modules and themes used in a Drupal site. In this capacity, Composer can take over the functions usually performed with drush make, drush pm-download, and drush pm-update.
Jenkins entwined with deployment and pragmatismEric Ritchie
Jenkins (to name just one CI tool) is a central pillar of agile development and does a terrific job of automating the project build process. Providing a reliable deployment path to a cluster of servers is something that it does less well and forms the challenge being faced by many today. In this talk Novadex GmbH, a leader in cloud based customer communication management, will demonstrate their pragmatic solution to this challenge which uses the toolkit provided by Zend Server
Groovy Domain Specific Languages - SpringOne2GX 2012Guillaume Laforge
Paul King, Andrew Eisenberg and Guillaume Laforge present about implementation of Domain-Specific Languages in Groovy, while at the SpringOne2GX 2012 conference in Washington DC.
Drupal as a Framework for Mobile DevelopmentRachel Jaro
The document discusses different approaches to mobile development: native, hybrid, and mDot. mDot refers to mobile browser-based applications using responsive web design. For mDot development with Drupal, the key aspects are having a content strategy, responsive design, mobile-first approach, and modules like Mobile Tools. Hybrid apps combine native mobile components with a browser interface powered by Drupal services. Native apps are built specifically for a mobile platform using its software development kit. The document demonstrates examples of mDot, hybrid, and native development integrating with Drupal.
Android is an open source platform developed by Google and the Open Handset Alliance for mobile devices. It consists of an operating system, middleware, and key applications. The document provides an overview of Android versions from 1.1 to 4.1 Jelly Bean and their market shares. It also discusses installing the Android Development Tools plugin for Eclipse, exploring a sample project's components, and developing applications considering different Android versions. The sample project demonstrates creating layouts, handling button clicks, launching a new activity, and registering activities in the manifest file.
Best Practices for Android UI by RapidValue SolutionsRapidValue
This presentation explains Tips, Tricks and Best Practices for UI Design/ Development for Android. Also includes:
1. What’s new in v7 Support Library
2. UI implementation challenges
3. How to optimise your layout
4. Use Hierarchy Viewer
5. Avoid unnecessary weight
6. Avoid Nested layouts
7. Use less Images and Draw vectors shapes
8. Apply Nine-Patch Image for Stretchable backgrounds
9. Use Toolbar, ActionBar or its support library equivalent
10. Separate Layout and Styling Elements
11. Avoid deprecated usages (ldpi,fill_parent)
12. Support for Small Screens
13. Naming Conventions for ID and Resources
14. Reuse Code in Different Projects by Generic Naming
15. What’s new in Lollipop ?
This document discusses best practices for mobile web development. It begins by noting limitations of mobile devices like less CPU/memory and smaller screens. It then provides tips for configuring the viewport, using media queries to separate styles, and detecting device properties in JavaScript. The document also covers HTML5 features like geolocation, media capture, and input types. It gives recommendations for images, gestures, and performance optimizations like minimizing redirects, requests, files sizes and using Gzip compression.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
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.
Mtc spring 2014 best practices to develop for different android device classi...Hasan Hosgel
Here you can experience the learnings, which the presenter got during development of the ImmobilienScout24 Android application. The presentation doesn't cover Design, UX or Fragments, but it gives an introduction and samples of using different resources, in special layouts. These folders can be used for filtering specific configurations, referencing other resources and using layout aliases. This session aims at people with knowledge of coding for Android.
This presentation summarizes multiple screen development difficulties, optimizations for different kinds of devices and screen sizes and gives best practices to handle multi screen problems in Android.
AdaptTo 2013 Device Detection with Apache DeviceMapConrad Woeltge
The document provides information about a meetup on Apache Sling and device detection using Apache DeviceMap and BrowserMap. It discusses detecting devices on the server side through analyzing the user-agent string and client capabilities on the client side using JavaScript. It also demonstrates how to implement BrowserMap in a project by including the necessary script files and using alternate links tagged with rel="alternate" and data attributes to control which version is loaded depending on the detected device group.
AdaptTo 2013: Slinging multichannel content the BrowserMap way / Device Detec...Andrew Savory
Sling selectors provide a powerful and flexible way to decide what content to deliver and how to present it. BrowserMap provides client-side device capability detection. By combining Sling and BrowserMap, you can quickly and easily build multichannel publishing solutions, adapting your content delivery to the capabilities of the device visiting your site. In this session we looked at how and why you should build this, and provide hints and tips on best practice.
Andrew Savory, Adobe
Conrad Woeltge, CEO & Owner, CW & Friends
Android Embedded - Smart Hubs als Schaltzentrale des IoTinovex GmbH
Android can be used as an operating system for smart hubs and embedded devices in the Internet of Things (IoT). Key advantages of using Android include its powerful graphics capabilities, ability to easily update devices over-the-air, and support for integrating various hardware protocols and devices. Android also provides a stable architecture and development process similar to building smartphone apps, making it well-suited for building smart hub and IoT devices.
Google has unveiled two new Nexus devices - the Nexus 6 smartphone and Nexus 9 tablet. The document provides guidance for developers to optimize their apps for the new devices, which have larger, higher resolution screens and ship with Android 5.0 Lollipop. Developers are advised to provide high resolution app assets, support new features like material design and 64-bit processors, and create responsive layouts that adapt to different screen sizes.
[Ultracode Munich #4] Short introduction to the new Android build system incl...BeMyApp
By Thomas Endres & Andres Würl both Senior Consultant from TNG Technology Consulting https://www.tngtech.com
Join the Ultracode Munich meetup: http://www.meetup.com/Ultracode-Munich/
Extending Spring MVC with Spring Mobile and JavaScriptRoy Clarkson
This document discusses extending Spring MVC applications to target different device platforms. It introduces Spring Mobile, which allows detecting the requesting device and directing it to a platform-specific site. It also introduces Lumbar and Thorax, which are tools for building JavaScript applications that target different platforms from a shared codebase, generating modular code for each platform. The document provides examples of how to configure Spring Mobile and build applications using Lumbar.
The specs behind the sex, mobile-friendly layout beyond the desktopbetabeers
This document discusses methodologies and techniques for optimizing websites for mobile devices, including using responsive design with CSS media queries. It presents three main approaches: building a separate mobile site, making no changes, or optimizing the main site for mobile. The bulk of the document then focuses on how to use CSS media queries to optimize websites, covering features like width, height, and orientation. It also discusses related techniques like viewport meta tags and approaches being considered for future standards.
[Droidcon Paris 2013]Multi-Versioning Android TipsKenichi Kambara
This document discusses strategies for developing Android apps that support multiple versions and devices. It begins with an introduction to the speaker and their "Sekai Phone" app. It then covers designing user interfaces to support different screen sizes and densities, using APIs that are backward compatible, and techniques like lazy loading and lint suppression to use newer APIs on older platforms. The document provides code examples and recommendations like using density-independent pixels and alternative resources to support multiple versions and configurations with as few APKs as possible.
Pantheon's Greg Anderson presents on the topic of using Composer with Drupal and Drush. Composer is a dependency manager that has become the de-facto standard for managing the components used in any sort of PHP library or application. Drupal is no exception to this, and in this presentation, Greg showed that the future is already here: it is completely possible to use native Composer functions to manage the modules and themes used in a Drupal site. In this capacity, Composer can take over the functions usually performed with drush make, drush pm-download, and drush pm-update.
Jenkins entwined with deployment and pragmatismEric Ritchie
Jenkins (to name just one CI tool) is a central pillar of agile development and does a terrific job of automating the project build process. Providing a reliable deployment path to a cluster of servers is something that it does less well and forms the challenge being faced by many today. In this talk Novadex GmbH, a leader in cloud based customer communication management, will demonstrate their pragmatic solution to this challenge which uses the toolkit provided by Zend Server
Groovy Domain Specific Languages - SpringOne2GX 2012Guillaume Laforge
Paul King, Andrew Eisenberg and Guillaume Laforge present about implementation of Domain-Specific Languages in Groovy, while at the SpringOne2GX 2012 conference in Washington DC.
Drupal as a Framework for Mobile DevelopmentRachel Jaro
The document discusses different approaches to mobile development: native, hybrid, and mDot. mDot refers to mobile browser-based applications using responsive web design. For mDot development with Drupal, the key aspects are having a content strategy, responsive design, mobile-first approach, and modules like Mobile Tools. Hybrid apps combine native mobile components with a browser interface powered by Drupal services. Native apps are built specifically for a mobile platform using its software development kit. The document demonstrates examples of mDot, hybrid, and native development integrating with Drupal.
Android is an open source platform developed by Google and the Open Handset Alliance for mobile devices. It consists of an operating system, middleware, and key applications. The document provides an overview of Android versions from 1.1 to 4.1 Jelly Bean and their market shares. It also discusses installing the Android Development Tools plugin for Eclipse, exploring a sample project's components, and developing applications considering different Android versions. The sample project demonstrates creating layouts, handling button clicks, launching a new activity, and registering activities in the manifest file.
Best Practices for Android UI by RapidValue SolutionsRapidValue
This presentation explains Tips, Tricks and Best Practices for UI Design/ Development for Android. Also includes:
1. What’s new in v7 Support Library
2. UI implementation challenges
3. How to optimise your layout
4. Use Hierarchy Viewer
5. Avoid unnecessary weight
6. Avoid Nested layouts
7. Use less Images and Draw vectors shapes
8. Apply Nine-Patch Image for Stretchable backgrounds
9. Use Toolbar, ActionBar or its support library equivalent
10. Separate Layout and Styling Elements
11. Avoid deprecated usages (ldpi,fill_parent)
12. Support for Small Screens
13. Naming Conventions for ID and Resources
14. Reuse Code in Different Projects by Generic Naming
15. What’s new in Lollipop ?
This document discusses best practices for mobile web development. It begins by noting limitations of mobile devices like less CPU/memory and smaller screens. It then provides tips for configuring the viewport, using media queries to separate styles, and detecting device properties in JavaScript. The document also covers HTML5 features like geolocation, media capture, and input types. It gives recommendations for images, gestures, and performance optimizations like minimizing redirects, requests, files sizes and using Gzip compression.
Similar to Droidcon 2013 Multidevice Nightmare (20)
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
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.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
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.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
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.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
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. About me
Hasan Hosgel
Twitter: @alosdev
Github: alosdev
Google+: Hasan Hosgel
Slideshare: hosgel
developer @ ImmobilienScout24
CO-Organizer @ GDG Android in
Berlin
& community events
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
3. Fragmentation
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
5. Here comes The Nightmare
Image source: Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
http://www.flickr.com/photos/boogeyman13/4553188509/
6. Here comes The Nightmare
For developers
Image source: Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
http://www.flickr.com/photos/boogeyman13/4553188509/
11. Resource Folders
You can use several qualifiers in the resource folders name for serving
the best matching resource. Most used qualifiers:
● Language (-en)
● Language & Region (-en-rUS)
● Smallest Width (-swXXXdp, e.g. –sw600dp)
● Screensize (-small, -normal, -large)
● Screen Orientation (-port, -land)
● Screen Pixel Densitiy (-mdpi, -hdpi, -xhdpi, -xxhdpi)
● Platform Version (-v11, -v13)
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
12. Resource Folders
If you have several resource folders, the one with the greatest
matching number qualifiers will be used. e.g. :
1. res/values/strings.xml
2. res/values-en-rUS/strings.xml
3. res/values-large/strings.xml
4. res/values-sw600dp/strings.xml
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
13. Resource Folders
If you have several resource folders, the one with the greatest
matching number qualifiers will be used. e.g. :
1. res/values/strings.xml
2. res/values-en-rUS/strings.xml
3. res/values-large/strings.xml
4. res/values-sw600dp/strings.xml
If two resources have the same number of matching qualifiers, the
ordering in the previous slide will rank the qualifiers.
e.g. Device configurations:
Nexus One: 1.
Galaxy Tab 7.0 in German: 3.
Nexus 7: 4.
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
14. Images
● Use the different qualifiers for the screen pixel density (mdpi, hdpi,
etc.)
● If you are forced to use text on images use language and region
(en, es-rUs, en-rUS, etc.)
● Better approach is to use 9-patch drawables, which stretches
automatically depending on the content inside.
More about it: developer.android.com
● You must provide different launcher icons for Froyo, Honeycomb
and above? Use the platform version. (v4, v11, v14)
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
15. Classifications For Layouts
If your minimum SDK is at least platform version 13 (Honeycomb MR2)
project-folder/res/
layout/ small phones
layout-sw320dp/ other phones
layout-sw600dp/ tablets 7”
layout-sw720dp/ tablets 10”
You should also use orientation
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
16. Classifications For Layouts
If your minimum SDK is lower than platform version 11 (Honeycomb)
project-folder/res/
layout/ phones
layout-v11/ tablets 10”
layout-v13/ small phones
layout-sw320dp/ other phones
layout-sw600dp/ tablets 7”
layout-sw720dp/ tablets 10”
The smallest width qualifier gets automatically platform version “v13”
through the packager, for avoiding problems with the number of
matching qualifiers.
You can also use the screen size qualifier, if you want to reach
small, medium and large screens previous to Honeycomb.
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
17. Classifications In Code
You can read the configurations from the device.
Smarter Approach: use boolean resources
project-folder/res/values/layouts.xml
<resources>
<bool name="is_phone_small”>false</bool>
<bool name="is_phone_other">true</bool>
<bool name="is_tablet_7”>false</bool>
<bool name="is_tablet_10”>false</bool>
</resources>
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
18. Classifications In Code
You can read the configurations from the device.
Smarter Approach: use boolean resources
project-folder/res/values/layouts.xml
<resources>
<bool name="is_phone_small”>false</bool>
<bool name="is_phone_other">true</bool>
<bool name="is_tablet_7”>false</bool>
<bool name="is_tablet_10”>false</bool>
</resources>
Usage in code:
Context.getResources().getBoolean(R.bool.is_phone_small)
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
19. Current Layout File Structure
project-folder/res/
layout/main.xml
layout-v11/main.xml
layout-v13/main.xml
layout-sw320dp/main.xml
layout-sw600dp/main.xml
layout-sw720dp/main.xml
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
20. Current Layout File Structure
project-folder/res/
layout/main.xml
layout-v11/main.xml
layout-v13/main.xml
layout-sw320dp/main.xml
layout-sw600dp/main.xml
layout-sw720dp/main.xml
Fixing one bug in the 10“ layout has to be done in two files.
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
21. Current Layout File Structure
project-folder/res/
layout/main.xml
layout-v11/main.xml
layout-v13/main.xml
layout-sw320dp/main.xml
layout-sw600dp/main.xml
layout-sw720dp/main.xml
Fixing one bug in the 10“ layout has to be done in two files.
error prone
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
22. Resource Alias
1. Put your layout files in the default folder.
project-folder/res/
layout/main.xml
layout/main_phone_other.xml
layout/main_tablet_7.xml
layout/main_tablet_10.xml
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
23. Resource Alias
1. Put the needed layout files in the default folder.
project-folder/res/
layout/main.xml
layout/main_phone_other.xml
layout/main_tablet_7.xml
layout/main_tablet_10.xml
2. Declare another resource file in the values folder and create an item
with the needed classification.
project-folder/res/values-sw600dp/layouts.xml
<item name=“main” type=“layout”>@layout/main_tablet7</item>
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
28. Sample Screen
Create custom view
Use <includes>
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
29. Sample Screen
Create custom view
If custom view has much more
business logic and need lifecycles
Create a Fragment
Use <includes>
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
31. Custom XML Attribute (main.xml)
Add to root XML node
xmlns:app="http://schemas.android.com/apk/res/de.alosdev"
Usage in custom view
<de.alosdev.CustomView
android:id="@+id/customView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:label="label 1"
app:orientation="vertical"
app:value="value 1" />
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
32. Custom XML Attribute (CustomView.java)
public class CustomView extends LinearLayout {
static final int[] ORIENTATION = new int[] { HORIZONTAL, VERTICAL
};
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
…
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.CustomView);
try {
setOrientation(ORIENTATION[
a.getInt(R.styleable.CustomView_orientation, 0)]);
} finally {
a.recycle();
}
}
…
}
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel
33. Best Practices
which learned painfully
● You have already an application
Remove orientation fixation and suppressing of orientation
change from manifest to avoid long bug analyzing.
● You start from the scratch
Focus on main classification for faster time to market
But create an overall concept for better modularization
● If you support both orientations, save the instance state while
orientation changes for more responsiveness
Especially for states, need a long computation for creation.
Make the state object Parcelable for faster write & read
Droidcon 2013 | Mutli-Device Nightmare | Hasan Hosgel