Android Debug Bridge is a powerful tool that many of us use everyday but never took a closer look at. Among other things it allows us to access Android shell, using which we can find lots of interesting stuff and get a better idea of how Android is built. In this session I will take a closer look at the capabilities of ADB and what are the interesting quirks and features we can do and find out using Android shell.
Authentication and security concepts, especially how they relate to application data, can be very complex and easy to get wrong. This session will deep dive into the history and implementation of how the AWS team encodes these practices into the Amplify Framework and how to use data modeling techniques with GraphQL to control fine grained access to data in your applications. I'll also go into the specific differences across iOS, Android, and web technologies.
These days, humans take more than 1 trillion photos a year and there are researches that show how taking photos increases enjoyment of experiences. This could be a good reason to focus on how to develop an app that takes pictures and CameraX was one of the most popular releases at Google I/O 2019. CameraX is a Jetpack supportt library built to help us make camera app development easier. In this presentation we will discuss about simplified usage of this new API that solves many bugs and pain points by offering consistency across devices.
From being the only Android developer in a company, to being just one of the many in a huge community. Is everything the same? What are the differences between working in different size of companies? As company size increases, so do the challenges of operating effectively. As an employee changing from, or with, a small to large company, you must scale your approach to adapt to them. What has worked previously is often not sustainable with an environment change, especially in company size.
Apple's machine learning technologies open up a lot of possibilities for iOS developers. Now we can even create our own Google-like smart Q&A app, without holding a PhD in machine learning or using internet connection. In this talk, we will see a possible approach how we can do that, using CoreML, SwiftUI, Vision and Combine.
In this talk, we will consider the benefits and drawbacks of both approaches. We will also go through the pitfalls that you may encounter on these paths to a modern codebase.
By the end of this talk, you will have all the necessary knowledge to pick the best path for you when fighting with the technical debt.
In this session, you’ll learn how to get started with Kotlin in your projects, tips and tricks on how to preserve your version control history, some pitfalls when migrating from Java, and what new technologies you can make use of in your journey with Kotlin.
Nine years ago, Michal and his two friends founded the Inmite studio, which became a Czech leader in smartphone application development.
There is a growing body of science that shows what we can do to make work more fulfilling. But we rarely use this knowledge in our daily lives. In his talk, Michal will introduce the main principles of "happiness at work" from the point of view of neuroscientists and positive psychologists, and he will also look at ways of implementing this knowledge in today's digital world.
This talk covers the low-level details of processing video in realtime. We draw from the experience building the in-house video renderer that powers Halide and Spectre. We’ll cover GPU programming, data oriented design, and affordances of Swift that make it a competitive alternative to C++. Even if you use a higher level framework, you’ll walk away from the talk understanding what the frameworks do under the hood.
First, we will explore the different approaches taken by the various platforms Kotlin can target: JNI for Kotlin/JVM, C-interop for Kotlin/Native, WebAssembly for Kotlin/JS. Next, we will discuss the strategies we can use to abstract all these different mechanisms so that the native library can be loaded and accessed in Kotlin/Multiplatform common code, as well as the limitations these abstractions bring.
At Balena, we are experts in IoT Fleet Management, and all things containers on Raspberry Pi's and other single board computers. After one of our team members helped to port the Rosetta@Home protein folding project to Arm processors, we then created a ready-made Operating System (SD Card image) for the Raspberry Pi, Nvidia Jetson Nano, and other similar types of single board computers that contains an OS, the Rosetta project, and a small GUI, completely pre-configured and ready to crunch data. This allows users to very easily join the fight and provide protein folding compute power for scientists and researchers at the Baker Lab, which is based at the University of Washington. Doctors and scientists there are looking for proteins that bind to the "spike" protein on a coronavirus molecule, and the additional computation power provided by thousands of new devices lets them look for potential results quicker.
Flutter provides a set of useful APIs that enable you to support multiple languages out of the box. Hot-reload and hot-restart let you continuously update your language resources and see changes live. There is, however, small problem. Flutter uses .arb files by default and not many translation services support this. How to overcome this? How to do it efficiently and not spend minutes or hours manually editing .arb files? In this talk you'll learn how to quickly and safely add i18n to your Flutter app and combine this with several translation providers like POEditor, Localizely or Crowdin.
In this talk, we will take a deep dive into the Android keystore system, certificates and signatures, and go over key points necessary for any application's long and productive life. Also, we will explore some security tips and tricks that will help ensure your app is safe to use, even if the users are faced with its evil twin.
What do you think influences your decision making most? Your intelligence? Your expertize? Your intuition whatever source it might have? Stanford professor emeritus Philip Zimbardo and John Boyd suggest there might be an unexplored power that might have a vastly bigger influence on your life than your IQ. It´s called the Time perspective. Time perspective determins in which time zone you spend most of your thinking (past, present, future) and from which you draw your decisions in political, economical, social and personal areas of your life.
Flutter is an open-source UI software development kit created by Google and since the day that it is announced, it brought a lot of excitement to the mobile app development world. By using Flutter Developers can deploy their apps to Android, iOS, Desktop, and Web. In this talk, we are going to learn about how Flutter renders graphics, how it builds its widget trees and dig deep into widgets, elements, and render objects.
This talk is summarising my research on developing energy efficient and offline-first apps to reduce carbon and energy footprints via Xcode 11 Instruments and other tools.
In this session we will show how an attacker can reverse engineer our application: which tools does he use, what can he see, how much time does it take to get relevant data out of a production APK… We bet more than one will be surprised by how easy it is! On the second part, we will then explain the best practices that Android developers can follow to prevent this kind of attacks.
Creating and sustaining amazing user experiences on the web should be affordable and efficient for any organization, no matter the size of its developer team. Whether you are building a site from the ground up or augmenting your existing site, building with AMP is almost like subscribing to a free service that ensures your web experiences are always fast, secure, accessible, and innovative.
In this talk you’ll learn how AMP helps developers increase their productivity and ROI costs over time, making it easy to maintain user-first experiences online.
This talk is about modularization of the Android apps. Modularization is a big hot topic in the last couple of years and we've jumped on the train too here at Ackee.
But this talk will not be about rainbows and puppies and about how everything is perfect with modularized app. I would like to talk about darker sides of modularization, the questions that are shady and noone has the right answer for.
Navigation is one the most fundamental element to any Android application. We will talk about how to use Android Navigation component to get this crucial aspect of our apps right, maintainable and easy to reason with.
We will talk about how the navigation component allows us to isolate the navigation from rest of the application logic and gives a nice overview of the whole application navigation in one single graph.
I'd like to talk about the benefits of using code generation in software development. Not only about the obvious ones (having more code written in less time), but also about the hidden ones . For example, we found out that thinking deeply about code generation possibilities can lead to finding before unseen patterns and creating team conventions that in turn make more and more code generable. I'd like to sketch out a basic process of finding patterns in code, ways of making the code generable and show how this process can be applied recursively, so that entities with larger and larger scopes can be made generable. To overcome limitations with available code generation tools, we created our own open source tool called GenGen, which I would like to introduce to the audience.
In 90 minutes we'll debunk the myth of iOS being secure-by-default, walk through the various techniques of penetration testing, try out a plethora of tools for security testing and learn how to make our systems as robust as possible.
For too long, Xamarin developers have been using old tools. But thanks to .NET 5 and the introduction of MAUI in .NET 6, everything is going to change!
.NET MAUI is an exciting new framework to create native iOS and Android apps in .NET using C# Hot Reload, a Fluent API syntax and the MVU architecture.
Join me in this session where we'll discuss that new fun changes are coming for Xamarin, introduce .NET MAUI, the MVU architecture and show off the power of C# Hot Reload!