Category Archives: Google Developers Blog

News and insights on Google platforms, tools and events

Road to Google Developers Certification: Google Cloud expert shares insight

Posted by Komal Sandhu - Global Program Manager, Google Developer Groups

Get insight into Google Cloud certifications and the Road to Google Developers Certification - Google Cloud program from Google Cloud engineer, and Google Developers Group organizer, Sebastián Moreno.


Among the many inspiring experts in the Cloud developer community is Sebastián Moreno, a Google Cloud engineer and Google Developers Group(GDG) organizer for GDG Cloud Santiago Chile. He helped organize a Road to Google Developers Certification - Google Cloud event, which had over 5000 participants. His expertise expands further while having 7 Google Cloud certificates. Read on to see Sebastián share his outlook on Google Cloud and helping developers prepare for Google Cloud Certifications.

FYI: Road to Google Developers Certification - Google Cloud is a set of community-run events, hosted by Google Developer Groups, for developers who want to prepare for Google Cloud certifications.

  • Instructor led workshops
  • Support from experts and other fellow developers
  • Access to Cloud Skills Boost
  • Additional learning material on certification content and exam questions.

This program will be available until June 31, 2022.


Tell us about yourself:

“My name is Sebastián Moreno, I am a Cloud Partner Engineer at Google. I’m a Google Developers Group organizer, former Google Developer Expert, and holder of 7 Google Cloud certificates. Also before joining Google I participated in multiple Google Cloud projects related to infrastructure modernization, data management and application modernization. I also wrote a book to prepare for the Professional Cloud Developer exam.”

What is your origin story? How did you get started in Google Cloud?

“I started my career as a developer in a Startup. In that Startup I learnt a lot of things related to frontend, backend, databases and mobile app development but at this time i didn’t know anything about cloud. “

After that I continue my career as a Technical Lead in a Global System Integrator where I started using some cloud providers.

I started learning Google Cloud when a challenge was offered by my company using Coursera and Qwiklabs. After getting Google Cloud certified I started helping my peers to prepare for the certification exams.

I wanted to share my experience and knowledge so I created the first cloud community in my country called GDG Cloud Santiago.

I joined Google in 2021 and started to help other Googlers to prepare for their certification exams.

Right now I’m an active collaborator with GDG Cloud Santiago de Chile, Google C2C community and I have a Youtube channel with more than 3.000 subscribers where I create content about Google Cloud.”

Why Google Cloud?

Google Cloud is a leader when we talk about Networking, Data and AI. Google Cloud also has an amazing UX and a very good documentation portal. They also have modular solutions that work like a LEGO, so you can select multiple products and services to create your own solution.”

How has Google Cloud certificates helped you in your journey?

“Google Cloud certifications helped me validate my knowledge in the beginning of my journey. It helped me to understand which topics I should cover to start a role in Cloud and learn the best practices to deliver Cloud solutions. These certificates helped me understand real life applications, which is the most important.”

Can anyone take these certifications?

“In my opinion, everyone can take these certifications, but there are some recommendations for people that are starting their Cloud journey. I recommend starting with the Associate Cloud Engineer certification for people related to tech roles and the Cloud Digital leader for people related to sales roles. Then you can try the Professional Certifications focused on more specialized topics like Security, Networking, Machine Learning, etc. It just takes discipline and time to complete. That's all. ”

What's one( or however many) best practices that developers should know when preparing for a Google Cloud certification?

“ In my opinion they need to have the discipline to work through learning material consistently everyday. You learn easier by giving enough space and time to absorb the material.

But also learning with peers and getting help from experts. That's why the Road to Google Developers Certification - Google Cloud program was perfect for our community. Developers could help each other out and work together. Plus they had resources to learn materials like Cloud Skills Boost and a schedule they could just follow.”

Past experience with Road to Google Developers Certification - Google Cloud program:

“In 2022 we ran several Road to Google Developers Certification - Google Cloud events with more than 5000 participants. This year we already have more than 1000 participants and this is just the beginning.”

From your perspective what are the benefits of running a Road to Google Developers Certification - Google Cloud program for your community?

“The possibility to get access to the Cloud Skill Boost platform is one of the most important benefits for the participants. Cloud Skills Boost has amazing content that is both practical and useful for learning.”


Find a Google Developer Group(GDG) hosting a Road to Google Developers Certification - Google Cloud event near you.

Interested in preparing for a Google Cloud certificate with a GDG community. Find a GDG hosting a Road to Google Developers Certification - Google Cloud near you here.

#WeArePlay | Meet Valentin from Austria. More stories from Spain, Argentina and Azerbaijan

Posted by Leticia Lago, Developer Marketing

In our first batch of #WeArePlay stories for 2023, discover the inspiring app founders sharing their knowledge with millions around the world: from cooking up the best recipes, learning better ways to stay healthy, finding the best spots for photography or sharing tips to nail that next exam.

First, we begin with Valentin from Austria. With hotelier and restaurateur parents, Valentin grew up learning about the challenges of the hospitality sector. As he was a better programmer than a cook, he decided to not join the industry. But at 22 - whilst successfully working abroad - he felt his life was lacking purpose. Valentin went back to his hometown and, after hearing his parents had troubles with hiring, created a hospitality recruitment app with co-founders Tobias and Juan. When Covid hit however, Gronda transformed into a platform for chefs to share and monetize their recipes, inspiring other culinary lovers. Next, Gronda wants to help ambitious chefs worldwide unleash their full potential.
      

Next, a few more stories from around the world:

  • Clara runs a longevity clinic in rural Valencia where people learn to live a longer, healthier life. It’s powerful knowledge and she knew it could go far beyond her little village, so with husband Juan and his university friend David, they created their company Hearts Radiant. Their app, Rosita, gives seniors long term physical and mental health plans, some spanning ten years or more.

#WeArePlay Juan Clara & David Rosita Longevity Cofrentes, Spain Google Play

  • When Noel from Argentina was traveling the world, he discovered he’d missed a beautiful viewing point in Italy. This gave him the idea for NoFilter - an app compiling the best photography spots around the world. Next, Noel wants to launch more features for customized trip planning and offer travelers options to go carbon neutral.

      #WeArePlay Noel Broda Noel Cordoba, Argentina Google Play

    • After a series of hackathons and coding all-nighters, top students Amiraslan and Orkhan launched Oxuyan (“scholar” in Azerbaijani), a platform for publishing exams and testing knowledge. Education had been a ticket to so much opportunity for Amiraslan, including studying abroad and traveling Europe, so his motivation was to make learning accessible to everyone.


    #WeArePlay Amiraslan & Orkhan Oxuyan Baku, Azerbaijan Google Play

    Check out all the stories now at g.co/play/weareplay and stay tuned for even more coming soon.


    How useful did you find this blog post?

    Enable fast pass development with Google Wallet demo mode

    Posted by Google Pay Developers team

    What is demo mode?

    We want to make it easier for you to develop and test Google Wallet passes so that you can create new, engaging experiences for your customers. Today, you can sign up in the Google Pay & Wallet Console and start using the Google Wallet API immediately in “demo mode.”

    When you sign up for a Google Wallet Issuer account for the first time, your account will be in demo mode. Demo mode includes the same features and functionality as publishing mode. However, access to issue Google Wallet passes to users is restricted to any “test users” you add in the console. While in demo mode, any user who is not included in your list of test users will not be able to add a pass you create to their Google Wallet app. By default, all administrators and developers who have access to your Issuer account are already test users. The passes created by issuers in demo mode will contain the text “[TEST ONLY]” in the top of the pass until the issuer is approved to be in publishing mode.

    While in demo mode, you can do any of the following:

    When you are in the Google Pay & Wallet Console, you will see two different indicators that your Issuer account is in demo mode.

    On the Dashboard page, the Google Wallet API integration card will include a Demo mode tag.
    Google Wallet API integration card on the console dashboard
    Figure 1 - The Google Wallet API integration card on the console dashboard

    On the Google Wallet API page, on the Manage tab, you will see a larger notice stating “You’re in demo mode,” along with additional information and a link to learn more.
    The demo mode notice on the Google Wallet API console page
    Figure 2 - The demo mode notice on the Google Wallet API console page

    How can developers use the Google Wallet API?

    It’s simple! Just follow the below steps and you’ll have access to your issuer account in demo.

    1. Create a business in the Google Pay & Wallet Console
    2. Select Google Wallet API
    3. Select Build your first pass
    4. Agree to the Google Wallet API Terms of Service

    Some additional steps differ depending on whether you use the Android SDK or Web API. Please refer to the Google Wallet Developer Documentation for these other steps. After you’ve completed the steps, you’ll be ready to create your own classes and issue passes to your test users.

    How does demo mode affect new and existing accounts?

    If you have an existing account and have requested publishing access by submitting a support request, no changes are required on your end. Your Issuer account is already in publishing mode and this will be reflected in the console.

    For new accounts, this will depend on two factors:

    • The user or service account is associated with an existing Issuer account
    • The new account is being created using the issuer.insert method or the Google Pay & Wallet Console

    No existing account

    Existing account
    (demo mode)
    Existing account
    (publishing mode)
    ConsoleDemo mode

    Demo modePublishing mode

    issuer.insert

    Request fails*

    Request fails*

    Publishing mode

    *Note - Issuer accounts in demo mode are unable to create additional accounts using the issuer.insert method.

    How are test users managed?

    To add and/or remove test users without granting them access to your Issuer account, follow the below steps:

    1. Navigate to the Google Pay & Wallet Console
    2. Select Google Wallet API
    3. In the Manage tab, select Set up test accounts
    4. Add each test user’s Google Account email address on a separate line
    Select Update testers
    The test accounts window
    Figure 3 - The test accounts window where you can add test users

    How do developers go to publishing mode?

    When you’re ready to go to start issuing passes to real users, you will need to complete the following before you are able to request publishing access:

    • Create at least one pass class
    • Complete your business profile
    Once complete, you can submit the publishing access request form. A Google contact will reach out to you requesting screenshots of the pass classes and objects you are creating to ensure they adhere to our brand guidelines and acceptable use policy. This can take up to two business days to process. You will be notified by email when your request is approved, and your Issuer account will be converted to publishing mode. The status of your pass classes will not change, and any pass classes that are in APPROVED state will be available for issuing pass objects to users.

    Next steps

    Try creating a Generic pass class and object by following the Web or Android codelabs! In these codelabs, you will have the option to create a new Issuer account and try out demo mode. Follow @GooglePayDevs on Twitter for future updates. If you have questions, tag @GooglePayDevs and include #AskGooglePayDevs in your tweets.

    Interview with Top Kotlin Contributors – Highlighting their Contributions to the Google Dev Library

    Posted by Swathi Dharshna Subbaraj, Project Coordinator, Google Dev Library

    In May 2017, Google recognized the potential of Kotlin in the mobile developer community and made it an official language for Android development. As a result, talented developers in the Kotlin community used this robust programming language to build inspiring tools and open-source projects. This can be seen in the Google Dev Library, where developers have contributed extensively.

    This article will showcase some of our Kotlin Google Developer Experts (GDEs) who have made significant contributions to the Google Dev Library. We hope these projects will inspire and guide your development efforts.
     

    Contributors in Spotlight :


    Nicola Corti

    Nicola contributed Detekt to Google Dev Library, which is a static code analysis tool for Kotlin projects that helps developers detect and report on issues related to security, style, and best practices. It can be used to identify potential vulnerabilities, enforce coding standards, and improve code quality.

    How did you get started in Kotlin? Is there any particular project that inspired you?

    I began working with Kotlin in its early days of 2015. Though the experience was rocky, the ability to code Android apps in Kotlin rather than Java was a game-changer. At the time, it was challenging to convince my colleagues to switch due to the Java-dominant community. However, the official announcement of Kotlin support at Google I/O 2017 was a defining moment for the language. I am grateful for the ongoing support and development of such a powerful and versatile language, as well as the dedicated community that supports it daily.

    I am grateful for the ongoing support and development of such a powerful and versatile language, and the dedicated community that supports it daily. Nicola Corti, GDE Kotlin 

    What inspired you to inherit the Detekt project ?

    Detekt, a static code analyzer tool, is not a creation of mine, but rather a project that I inherited from a friend who sought support in managing it. I have always been impressed by the capabilities of static code analyzers, particularly in terms of their ability to detect bugs and save developer time. At the time, the market for Kotlin static analyzers was relatively new, making Detekt a valuable addition to the toolkits of many Kotlin developers.

    As a Kotlin GDE, what is the one piece of advice for someone who has just started as a Kotlin developer?

    I highly recommend getting involved in the open-source community. My contributions to open-source projects have taught me invaluable skills and knowledge that I wouldn't have gained otherwise. Additionally, I have had the opportunity to connect with incredible contributors who have since become friends. Participating in open-source not only benefits yourself, but also the wider developer community.

    John O'Reilly

    John created the PeopleInSpace project, and shared it with Google Dev Library. The project utilizes the OpenNotify API to display information about people currently in space, such as their names, nationalities, and spacecraft. The focus of the project is more about demonstrating use of Kotlin Multiplatform.

    How did you get started in Kotlin? Is there any particular project that inspired you?
    In 2010, I began my career as an Android developer, utilizing Java as my primary programming language. As a Java backend developer for the previous decade, the transition was relatively seamless. However, it wasn't until the official announcement of Kotlin support at Google I/O 2017, that I fully realized the potential impact of this new programming language. Gradually, as my team and I started migrating to Kotlin, I came to appreciate how productive and expressive a language it was to use.

    As my team and I started migrating to Kotlin, I came to appreciate how productive and expressive a language it was to use.  - John O'Reilly, GDE Kotlin

    What inspired you to develop and open source the Peopleinspace project?

    In 2018, I was introduced to Kotlin Multiplatform (KMP) and was immediately impressed by its practical and efficient approach to code sharing. At the time, there was still a lot of uncertainty and confusion surrounding KMP, and I saw a need for a simple, easy-to-understand sample project that could demonstrate the basics of KMP.

    I had an existing open-source project, GalwayBus, which I initially used to experiment with KMP, Jetpack Compose and SwiftUI as they became available. However, this project had a significant amount of legacy code and was not ideal for showcasing the essentials of KMP.

    In late 2019, I came across an article by Ken Kousen that included sample code using retrofit to retrieve a list of people in space. I realized that this could be the perfect foundation for the minimal project I had been envisioning. So, I created PeopleInSpace, a project designed to encapsulate the core elements of a KMP project, and provide a clear and concise demonstration of how the various components work together.

    As a Kotlin GDE, what is the one piece of advice for someone who has just started as a Kotlin developer?

    Kotlin is a powerful language that offers many advanced features; however, it is possible to be very productive when starting out without needing to use those, in many cases, there are simpler alternatives that can be used, and as you become more familiar with the language, you can gradually explore and implement the more advanced options.

    Join the global community of Kotlin developers and share your open source projects or technical blogs on Dev Library. To contribute, submit your content here.

    How to learn Kotlin: JetBrains, the company behind the Kotlin language, offers certificate courses and learning tools for developers and has an active user groups forum where developers get support with programming language-related issues.

    3 things to expect at the Google for Games Developer Summit

    Posted by Greg Hartrell, Product Director, Games on Play/Android

    Save the date for this year’s virtual Google for Games Developer Summit, happening on March 14 at 9 a.m. PT. You’ll hear about product updates and discover new ways to build great games, connect with players around the globe and grow your business.

    Here are three things you can expect during and after the event:

    1. Hear about Google’s newest games products for developers

    The summit kicks off at 9 a.m. PT, with keynotes from teams across Android, Google Play, Ads and Cloud. They’ll discuss the latest trends in the gaming industry and share new products we’re working on to help developers build great experiences for gamers everywhere.

    2. Learn how to grow your games business in on-demand sessions

    Following the keynotes, more than 15 on-demand sessions will be available starting at 10 a.m. PT, where you can learn more about upcoming products, watch technical deep dives and hear inspiring stories from other game developers. Whether you’re looking to expand your reach, reduce cheating or better understand in-game ad formats, there will be plenty of content to help you take your game to the next level.

    3. Join us at the Game Developers Conference

    If you’re looking for even more gaming content after the summit, join us in person for the Game Developers Conference in San Francisco. We’ll host developer sessions on March 20 and 21 to share demos, technical best practices and more.

    Visit g.co/gamedevsummit to learn more and get updates about both events, including the full agendas. See you there!

    Machine Learning Communities: Q4 ‘22 highlights and achievements

    Posted by Nari Yoon, Hee Jung, DevRel Community Manager / Soonson Kwon, DevRel Program Manager

    Let’s explore highlights and accomplishments of vast Google Machine Learning communities over the last quarter of 2022. We are enthusiastic and grateful about all the activities by the global network of ML communities. Here are the highlights!


    ML at DevFest 2022

    A group of ML Developers attending DevFest 2022

    A large number of members of ML GDE, TFUG, and 3P ML communities participated in DevFests 2022 worldwide covering various ML topics with Google products. Machine Learning with Jax: Zero to Hero (DevFest Conakry) by ML GDE Yannick Serge Obam Akou (Cameroon) and Easy ML on Google Cloud (DevFest Med) by ML GDE Nathaly Alarcon Torrico (Bolivia) hosted great sessions.

    ML Community Summit 2022

    A group of ML Developers attending ML Community Summit

    ML Community Summit 2022 was hosted on Oct 22-23, 2022, in Bangkok, Thailand. Twenty-five most active community members (ML GDE or TFUG organizer) were invited and shared their past activities and thoughts on Google’s ML products. A video sketch from ML Developer Programs team and a blog posting by ML GDE Margaret Maynard-Reid (United States) help us revisit the moments.

    TensorFlow

    MAXIM in TensorFlow by ML GDE Sayak Paul (India) shows his implementation of the MAXIM family of models in TensorFlow.

    Diagram of gMLP block

    gMLP: What it is and how to use it in practice with Tensorflow and Keras? by ML GDE Radostin Cholakov (Bulgaria) demonstrates the state-of-the-art results on NLP and computer vision tasks using a lot less trainable parameters than corresponding Transformer models. He also wrote Differentiable discrete sampling in TensorFlow.

    Building Computer Vision Model using TensorFlow: Part 2 by TFUG Pune for the developers who want to deep dive into training an object detection model on Google Colab, inspecting the TF Lite model, and deploying the model on an Android application. ML GDE Nitin Tiwari (India) covered detailed aspects for end-to-end training and deployment of object model detection.

    Advent of Code 2022 in pure TensorFlow (days 1-5) by ML GDE Paolo Galeone (Italy) solving the Advent of Code (AoC) puzzles using only TensorFlow. The articles contain a description of the solutions of the Advent of Code puzzles 1-5, in pure TensorFlow.

    tf.keras.metrics / tf.keras.optimizers by TFUG Taipei helped people learn the TF libraries. They shared basic concepts and how to use them using Colab.

    Screen shot of TensorFlow Lite on Android Project Practical Course
    A hands-on course on TensorFlow Lite projects on Android by ML GDE Xiaoxing Wang (China) is the book mainly introducing the application of TensorFlow Lite in Android development. The content focuses on applying three typical ML applications in Android development.

    Build tensorflow-lite-select-tf-ops.aar and tensorflow-lite.aar files with Colab by ML GDE George Soloupis (Greece) guides how you can shrink the final size of your Android application’s .apk by building tensorflow-lite-select-tf-ops.aar and tensorflow-lite.aar files without the need of Docker or personal PC environment.

    TensorFlow Lite and MediaPipe Application by ML GDE XuHua Hu (China) explains how to use TFLite to deploy an ML model into an application on devices. He shared experiences with developing a motion sensing game with MediaPipe, and how to solve problems that we may meet usually.

    Train and Deploy TensorFlow models in Go by ML GDE Paolo Galeone (Italy) delivered the basics of the TensorFlow Go bindings, the limitations, and how the tfgo library simplifies their usage.

    Keras

    Diagram of feature maps concatenated together and flattened

    Complete Guide on Deep Learning Architectures, Chapter 1 on ConvNets by ML GDE Merve Noyan (France) brings you into the theory of ConvNets and shows how it works with Keras.

    Hazy Image Restoration Using Keras by ML GDE Soumik Rakshit (India) provides an introduction to building an image restoration model using TensorFlow, Keras, and Weights & Biases. He also shared an article Improving Generative Images with Instructions: Prompt-to-Prompt Image Editing with Cross Attention Control.

    Mixed precision in Keras based Stable Diffusion
    Let’s Generate Images with Keras based Stable Diffusion by ML GDE Chansung Park (Korea) delivered how to generate images with given text and what stable diffusion is. He also talked about Keras-based stable diffusion, basic building blocks, and the advantages of using Keras-based stable diffusion.

    A Deep Dive into Transformers with TensorFlow and Keras: Part 1, Part 2, Part3 by ML GDE Aritra Roy Gosthipaty (India) covered the journey from the intuition of attention to formulating the multi-head self-attention. And TensorFlow port of GroupViT in 🤗 transformers library was his contribution to Hugging Face transformers library.

    TFX

    Digits + TFX banner

    How startups can benefit from TFX by ML GDE Hannes Hapke (United States) explains how the San Francisco-based FinTech startup Digits has benefitted from applying TFX early, how TFX helps Digits grow, and how other startups can benefit from TFX too.

    Usha Rengaraju (India) shared TensorFlow Extended (TFX) Tutorials (Part 1, Part 2, Part 3) and the following TF projects: TensorFlow Decision Forests Tutorial and FT Transformer TensorFlow Implementation.

    Hyperparameter Tuning and ML Pipeline by ML GDE Chansung Park (Korea) explained hyperparam tuning, why it is important; Introduction to KerasTuner, basic usage; how to visualize hyperparam tuning results with TensorBoard; and integration within ML pipeline with TFX.

    JAX/Flax

    JAX High-performance ML Research by TFUG Taipei and ML GDE Jerry Wu (Taiwan) introduced JAX and how to start using JAX to solve machine learning problems.

    [TensorFlow + TPU] GatedTabTransformer[W&B] and its JAX/Flax counterpart GatedTabTransformer-FLAX[W&B] by Usha Rengaraju (India) are tutorial series containing the implementation of GatedTabTransformer paper in both TensorFlow (TPU) and FLAX.

    Putting NeRF on a diet: Semantically consistent Few-Shot View Synthesis Implementation
    JAX implementation of Diet NeRf by ML GDE Wan Hong Lau (Singapore) implemented the paper “Putting NeRF on a Diet (DietNeRF)” in JAX/Flax. And he also implemented a JAX-and-Flax training pipeline with the ResNet model in his Kaggle notebook, 🐳HappyWhale🔥Flax/JAX⚡TPU&GPU - ResNet Baseline.

    Introduction to JAX with Flax (slides) by ML GDE Phillip Lippe (Netherlands) reviewed from the basics of the requirements we have on a DL framework to what JAX has to offer. Further, he focused on the powerful function-oriented view JAX offers and how Flax allows you to use them in training neural networks.

    Screen grab of ML GDE David Cardozo and Cristian Garcia during a live coding session of a review of new features, specifically Shared Arrays, in the recent release of JAX
    JAX Streams: Exploring JAX 0.4 by ML GDE David Cardozo (Canada) and Cristian Garcia (Colombia) showed a review of new features (specifically Shared Arrays) in the recent release of JAX and demonstrated live coding.

    [LiveCoding] Train ResNet/MNIST with JAX/Flax by ML GDE Qinghua Duan (China) demonstrated how to train ResNet using JAX by writing code online.

    Kaggle

    Low-light Image Enhancement using MirNetv2 by ML GDE Soumik Rakshit (India) demonstrated the task of Low-light Image Enhancement.

    Heart disease Prediction and Diabetes Prediction Competition hosted by TFUG Chandigarh were to familiarize participants with ML problems and find solutions using classification techniques.

    TensorFlow User Group Bangalore Sentiment Analysis Kaggle Competition 1
    TFUG Bangalore Kaggle Competition - Sentiment Analysis hosted by TFUG Bangalore was to find the best sentiment analysis algorithm. Participants were given a set of training data and asked to submit an ML/DL algorithm that could predict the sentiment of a text. The group also hosted Kaggle Challenge Finale + Vertex AI Session to support the participants and guide them in learning how to use Vertex AI in a workflow.

    Cloud AI

    Better Hardware Provisioning for ML Experiments on GCP by ML GDE Sayak Paul (India) discussed the pain points of provisioning hardware (especially for ML experiments) and how we can get better provision hardware with code using Vertex AI Workbench instances and Terraform.

    Jayesh Sharma, Platform Engineer, Zen ML; MLOps workshop with TensorFlow and Vertex AI November 12, 2022|TensorFlow User Group Chennai
    MLOps workshop with TensorFlow and Vertex AI by TFUG Chennai targeted beginners and intermediate-level practitioners to give hands-on experience on the E2E MLOps pipeline with GCP. In the workshop, they shared the various stages of an ML pipeline, the top tools to build a solution, and how to design a workflow using an open-source framework like ZenML.

    10 Predictions on the Future of Cloud Computing by 2025: Insights from Google Next Conference by ML GDE Victor Dibia (United States) includes a recap of his notes reflecting on the top 10 cloud technology predictions discussed at the Google Cloud Next 2022 keynote.
    Workflow of Google Virtual Career Center
    O uso do Vertex AI Matching Engine no Virtual Career Center (VCC) do Google Cloud by ML GDE Rubens Zimbres (Brazil) approaches the use of Vertex AI Matching Engine as part of the Google Cloud Virtual Career Center solution.

    More practical time-series model with BQML by ML GDE JeongMin Kwon (Korea) introduced BQML and time-series modeling and showed some practical applications with BQML ARIMA+ and Python implementations.

    Vertex AI Forecast - Demand Forecasting with AutoML by ML GDE Rio Kurihara (Japan) presented a time series forecast overview, time series fusion transformers, and the benefits and desired features of AutoML.

    Research & Ecosystem

    AI in Healthcare by ML GDE Sara EL-ATEIF (Morocco) introduced AI applications in healthcare and the challenges facing AI in its adoption into the health system.

    Women in AI APAC finished their journey at ML Paper Reading Club. During 10 weeks, participants gained knowledge on outstanding machine learning research, learned the latest techniques, and understood the notion of “ML research” among ML engineers. See their session here.

    A Natural Language Understanding Model LaMDA for Dialogue Applications by ML GDE Jerry Wu (Taiwan) introduced the natural language understanding (NLU) concept and shared the operation mode of LaMDA, model fine-tuning, and measurement indicators.

    Python library for Arabic NLP preprocessing (Ruqia) by ML GDE Ruqiya Bin (Saudi Arabia) is her first python library to serve Arabic NLP.

    Screengrab of ML GDEs Margaret Maynard-Reid and Akash Nain during Chat with ML GDE Akash
    Chat with ML GDE Vikram & Chat with ML GDE Aakash by ML GDE Margaret Maynard-Reid (United States) shared the stories of ML GDEs’ including how they became ML GDE and how they proceeded with their ML projects.

    Anatomy of Capstone ML Projects 🫀by ML GDE Sayak Paul (India) discussed working on capstone ML projects that will stay with you throughout your career. He covered various topics ranging from problem selection to tightening up the technical gotchas to presentation. And in Improving as an ML Practitioner he shared his learning from experience in the field working on several aspects.

    Screen grab of  statement of objectives in MLOps Development Environment by ML GDE Vinicius Carida
    MLOps Development Environment by ML GDE Vinicius Caridá (Brazil) aims to build a full development environment where you can write your own pipelines connecting MLFLow, Airflow, GCP and Streamlit, and build amazing MLOps pipelines to practice your skills.

    Transcending Scaling Laws with 0.1% Extra Compute by ML GDE Grigory Sapunov (UK) reviewed a recent Google article on UL2R. And his posting Discovering faster matrix multiplication algorithms with reinforcement learning explained how AlphaTensor works and why it is important.

    Back in Person - Prompting, Instructions and the Future of Large Language Models by TFUG Singapore and ML GDE Sam Witteveen (Singapore) and Martin Andrews (Singapore). This event covered recent advances in the field of large language models (LLMs).

    ML for Production: The art of MLOps in TensorFlow Ecosystem with GDG Casablanca by TFUG Agadir discussed the motivation behind using MLOps and how it can help organizations automate a lot of pain points in the ML production process. It also covered the tools used in the TensorFlow ecosystem.

    Google Dev Library Letter: 17th Edition

    Posted by the Dev Library Team

    We are highlighting the best projects developed with Google technologies that have been shared on the Google Dev Library platform. We hope this will spark some inspiration for your next project.


    Android - Content of the Month



    Transformers by Daichi Furiya

    See the Android transformation library providing a variety of image transformations for Coil, Glide, Picasso, and Fresco.



    Camposer by Lucas Yuji Yoshimine

    Learn how the camera library in Jetpack Compose which supports taking photos, recording videos, flash modes, zoom ratio, and more.

    Read more on DevLibrary




    ChatGPT Android by Jaewoong Eum

    Integrate ChatGPT on Android with Stream Chat SDK for Compose.

    Read more on DevLibrary




    Continue reading

    Useful Android projects from Google Dev Library to help you #DevelopwithGoogle

    Posted by Swathi Dharshna Subbaraj - Project Coordinator, Google Dev Library

    Android offers developers a rich set of tools and SDKs/APIs for building innovative and engaging mobile apps. Developers can create applications for a large and growing user base of over 2.5 billion devices worldwide.

    Google Dev Library curates open-source Android libraries created and contributed by developers from around the world. Developers can easily leverage the vast array of useful code samples, GitHub repos, and libraries featuring Compose, networking, data storage to user interface design and image processing to build your own Android apps !

    In this blog, we are sharing 7 popular projects by android contributors. These projects are some of the highest viewed projects on the platform and we hope these will give you a sneak peak into the type of interesting and innovative projects found on the platform. Let's dive into the list:

    Coil by Colin White
    Image loading for Android backed by Kotlin Coroutines

    Coil is designed to be lightweight, efficient, and easy to use, and it offers a number of features such as automatic image caching, support for various image formats, and integration with popular image loading libraries like Glide and Picasso. If you are working on an Android app and need a reliable way to load and display images, this repository is definitely worth checking out !

    LitePal by Lin Guo
    An Android library that makes developers use SQLite database extremely easy

    If you’re looking to streamline your database management processes, LitePal is an open source library for Android that helps developers with database management in your app development.

    Tivi by Chris Banes
    Tivi is a TV show tracking app that uses some of the latest Android libraries

    Tivi showcases modern development practices, including the use of Android Jetpack and other libraries. This TV show tracking Android project is helpful for developers to learn more about interesting and fun practices for Android development.

    Showkase by Vinay Gaba
    Showkase is an annotation-processor based Android library

    Showkase helps you organize, discover, search and visualize Jetpack Compose UI elements. With minimal configuration it generates a UI browser that helps you easily find your components, colors & typography.

    Pokedex by Jaewoong Eum
    Pokedex follows Google's official android architecture guidance

    Pokedex demonstrates modern Android development with Hilt, Coroutines, Flow, Jetpack (Room, ViewModel), and Material Design based on MVVM architecture. The repository includes the app's layout, features, and functionality, as well as documentation on how to implement and get resourceful.

    Resource for learning about the Android Jetpack Compose framework.

    If you are looking to learn or improve your knowledge of Jetpack Compose, Learn-Jetpack-Compose-By-Example contains a collection of example code and accompanying explanations for various components and features of Jetpack Compose. This repository aims to show the Jetpack Compose way of building common Android UI that we are accustomed to building.

    Material Dialog by Shreyas Patil
    MaterialDialog library is built upon Google's Material Design library

    The author, Shreyas Patil, goes into detail about how to use the MaterialDialog library and provides code examples to demonstrate its capabilities. The library allows developers to easily create dialogs with a variety of customization options, such as adding buttons, selecting the theme, and setting the title and content. Overall, the MaterialDialog library is a useful tool for Android developers looking to implement Material Design in your apps.


    We hope these projects will inspire and help guide your own development efforts. Join our global community of Android developers to showcase your projects and access tools and resources. To contribute, submit your content.

    Migrating from App Engine Users to Cloud Identity Platform (Module 21)

    Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

    The Serverless Migration Station series is aimed at helping developers modernize their apps running one of Google Cloud's serverless platforms. The preceding (Migration Module 20) video demonstrates how to add use of App Engine's Users service to a Python 2 App Engine sample app. Today's Module 21 video picks up from where that leaves off, migrating that usage to Cloud Identity Platform.
    How to migrate the App Engine Users to Cloud Identity Platform
    Moving away from proprietary App Engine bundled services like Users makes apps more portable, giving them enough flexibility to:

      Understanding the overall migration

      Overall, Module 21 features major changes to the Module 20 sample app, implementing a move from App Engine bundled services (NDB & Users) to standalone Cloud services (Cloud Datastore & Identity Platform). Identity Platform doesn't know anything about App Engine admins, so that must be built, requiring the use of the Cloud Resource Manager API. Apps dependent on Python 2 have additional required updates. Let's discuss in a bit more detail.

      Migration "parts"

      The following changes to the sample app are required:

      • Migrate from App Engine Users (server-side) to Cloud Identity Platform (client-side)
      • Migrate from App Engine NDB, the other bundled service used in Module 20, to Cloud NDB (requires use of the Cloud Datastore API)
      • Use the Cloud Resource Manager* (via its API) to fetch the Cloud project's IAM allow policy to collate the set of App Engine admin users for the app.
      • Use the Firebase Admin SDK to validate whether the user is an App Engine admin
      • Migrate from Python 2 to 3 (and possibly back to Python 2 [more on this below])
       
      *At the time of this writing, the Resource Manager documentation only features setup instructions for accessing the API from the lower-level Google APIs client library rather than the Resource Manager client library. To learn how to set up the latter, go to the Resource Manager client library documentation directly. The lower-level client library should only be used in circumstances when a Cloud client library doesn't exist or doesn't have the features your app needs. One such use case is Python 2, and we'll be covering that shortly.
       

        Move from App Engine bundled services to standalone Cloud services

        The NDB to Cloud NDB migration is identical to the Module 2 migration content, so it's not covered in-depth here in Module 21. The primary focus is on switching to Identity Platform to continue supporting user logins as well as implementing use of the Resource Manager and Firebase Admin SDK to build a proxy for recognizing App Engine admin users as provided by the Users service. Below is pseudocode implementing the key changes to the main application where new or updated lines of code are bolded:

        Table showing changes in code 'Before'(Module 20) and 'After'(Module 21)
        Migrating from App Engine Users to Cloud Identity Platform(click to enlarge)

        The key differences to note:

        1. The server-side Users service code vanishes from the main application, moving into the (client-side) web template (not shown here).
        2. Practically all of the new code in the Module 21 app above is for recognizing App Engine admin users. There are no changes to app operations or data models other than Cloud NDB requiring use of Python context managers to wrap all Datastore code (using Python with blocks).

        Complete versions of the app before and after the updates can be found in the Module 20 (Python 2) and Module 21 (Python 3) repo folders, respectively. In addition to the video, be sure to check out the Identity Platform documentation as well as the Module 21 codelab which leads you step-by-step through the migrations discussed.

        Aside from the necessary coding changes as well as moving from server-side to client-side, note that the Users service usage is covered by App Engine's pricing model while Identity Platform is an independent Cloud service billed by MAUs (monthly active users), so costs should be taken into account if migrating. More information can be found in the Identity Platform pricing documentation.

        Python 2 considerations

        With the sunset of Python 2, Java 8, PHP 5, and Go 1.11, by their respective communities, Google Cloud has assured users by expressing continued long-term support of these legacy App Engine runtimes, including maintaining the Python 2 runtime. So while there is no current requirement for users to migrate, developers themselves are expressing interest in updating their applications to the latest language releases.
        The primary Module 21 migration automatically includes a port from Python 2 to 3 as that's where most developers are headed. For those with dependencies requiring remaining on Python 2, some additional effort is required:


          The codelab covers this backport in-depth, so check out the specific section for Python 2 users if you're in this situation. If you don't want to think about it, just head to the repo for a working Python 2 version of the Module 21 app.

          Wrap-up

          Module 21 features migrations of App Engine bundled services to appropriate standalone Cloud services. While we recommend users modernize their App Engine apps by moving to the latest offerings from Google Cloud, these migrations are not required. In Fall 2021, the App Engine team extended support of many of the bundled services to 2nd generation runtimes (that have a 1st generation runtime), meaning you don't have to migrate to standalone services before porting your app to Python 3. You can continue using App Engine NDB and Users in Python 3 so long as you retrofit your code to access bundled services from next-generation runtimes. Then should you opt to migrate, you can do so on your own timeline.

          If you're using other App Engine legacy services be sure to check out the other Migration Modules in this series. All Serverless Migration Station content (codelabs, videos, source code [when available]) can be accessed at its open source repo. While our content initially focuses on Python users, the Cloud team is working on covering other language runtimes, so stay tuned. For additional video content, check out our broader Serverless Expeditions series.

          More Voices = More Bazel

          Posted by Lyra Levin, Technical Writer, Software Engineering

          Takeaways from the BazelCon DEI lunch panel


          In front of a standing-room-only lunch panel, Minu Puranik asks us, “If there is one thing you want to change [about Bazel’s DEI culture], what would it be and why?”

          We’d spent the last hour on three main themes: community culture, fostering trust, and growing our next generation of leaders. Moderated by Minu, the Strategy and Operations leader for DeveloperX & DevRel at Google, our panel brought together a slate of brilliant people from underrepresented genders and populations of color to give a platform to our experiences and ideas. Together with representatives and allies in the community, we explored methods to building inclusivity in our open source community and sought a better understanding of the institutional and systemic barriers to increasing diversity.

          Culture defines how we act, which informs who feels welcome to contribute. Studies show that diverse contributor backgrounds yield more and better results, so how do we create a culture where everyone feels safe to share, ask questions, and contribute? Helen Altshuler, co-founder and CEO of EngFlow, relayed her experience, “Having people that can have your back is important to get past the initial push to submit something and feeling like it’s ok. You don’t need to respond to everything in one go. Last year, Cynthia Coah and I gave a talk on how to make contributions to the Bazel community. Best practices which we can apply as a Bazel community: better beginners’ documentation, classifying GitHub issues as "good first issue", and having Slack channels where code owners can play a more active role.” Diving further, we discussed the need to make sure new contributors get positive, actionable feedback to reward them with context and resources, and encourage them to take the risk of contributing to the codebase.

          This encouragement of new contributors feeds directly into the next generation of technical influencers and leaders. Eva Howe, co-founder and Legal Counsel for Aspect, addressed the current lack of diversity in the community pipeline. “I’d like to see more trainings like the Bazel Community Day. Trainings serve 2 purposes:

          1. People can blend in, start talking to someone in the background and form connections.
          2. When someone goes through a bootcamp or CS course, Bazel is not mentioned. Nobody cares that the plumbing works until it doesn’t work. We need to educate people and give them that avenue and a good experience to move forward. I struggle with the emotional side of it - I count myself out before I get somewhere. It needs to be a safe space, which it hasn’t been in the past.”

          In addition to industry trainings, the audience and panel brought up bootcamps and university classes as rich sources to find and promote diversity, though cautioned that it takes active, ongoing effort to maintain an environment that diverse candidates are willing to stay in. There are fewer opportunities to take risks as part of an underrepresented group, and the feeling that you have to succeed for everyone who looks like you creates a high-pressure environment that is worse for learning outcomes.

          To bypass this pipeline problem, we can recruit promising candidates and sponsor them through getting the necessary experience on the job. Lyra Levin, Bazel’s internal technical writer at Google, spoke to this process of incentivizing and recognizing contributions outside the codebase, as a way to both encourage necessary glue work, and pull people into tech from parallel careers more hospitable to underrepresented candidates.

          She said, “If someone gives you an introduction to another person, recognize that. Knowing a system of people is work. Knowing where to find answers is work. Saying I’m going to be available and responding to emails is work. If you see a conversation where someone is getting unhelpful pushback, jump in and moderate it. Reward those who contribute by creating a space that can be collaborative and supportive.”

          Sophia Vargas, Program Manager in Google’s OSPO (Open Source Programs Office), chimed in, “Create ways to recognize non-code contributions. One example is a markdown file describing other forms of contribution, especially in cases that do not generate activity attached to a name on GitHub.”

          An audience member agreed, “A positive experience for the first few PRs is very critical for building trust in the community.”

          And indeed, open source is all about building trust. So how do we go about building trust? What should we do differently? Radhika Advani, Bazel’s product manager at Google, suggests that the key is to “have some amazing allies”. “Be kind and engage with empathy,” she continued, “Take your chances - there are lots of good people out there. You have to come from a place of vulnerability.”

          Sophia added some ideas for how to be an “amazing ally” and sponsor the careers of those around you. “Create safe spaces to have these conversations. Not everyone is bold enough to speak up or to ask for support, as raising issues in a public forum can be intimidating. Make yourself accessible, or provide anonymous forms for suggestions or feedback — both can serve as opportunities to educate yourself and to increase awareness of diverging opinions.” An audience member added, “If you recognize that an action is alienating to a member of your group, even just acknowledging their experience or saying something to the room can be very powerful to create a sense of safety and belonging.” Another said, “If you’re in a leadership position, when you are forthright about the limits of your knowledge, it gives people the freedom to not know everything.”

          So to Minu’s question, what should we do to improve Bazel’s culture?

          Helen: Create a governance group on Slack to ensure posts are complying with the community code of conduct guidelines. Review how this is managed for other OSS communities.

          Sophia: Institutionalize mentorship; have someone else review what you’ve done and give you the confidence to push a change. Nurture people. We need to connect new and established members of the community.

          Lyra: Recruit people in parallel careers paths with higher representation. Give them sponsorship to transition to tech.

          Radhika: Be more inclusive. All the jargon can get overwhelming, so let’s consider how we can make things simpler, including with non-technical metaphors.

          Eva: Consider what each of us can do to make the experience for people onboarding better.

          There are more ways to be a Bazel contributor than raising PRs. Being courageous, vulnerable and open contributes to the culture that creates the code. Maintainers — practice empathy and remember the human on the other side of the screen. Be a coach and a mentor, knowing that you are opening the door for more people to build the product you love, with you. Developers — be brave and see the opportunities to accept sponsorship into the space. Bazel is for everyone.

          Welcome.