Tag Archives: Google Dev Library

Interview with Vanessa Aristizabal, contributor to Google’s Dev Library

Posted by the Dev Library Team

We are back with another edition of the Dev Library Contributor Spotlights - a blog series highlighting developers that are supporting the thriving development ecosystem by contributing their resources and tools to Google Dev Library.

We met with Vanessa Aristizabal, one of the many talented developers contributing to Dev Library, to discuss her journey of learning the Angular framework and what drives her to share insights regarding budding technologies with the developer community.

What is one thing that surprised you when you started using Google technology?

Talking about my journey, Angular was my first JavaScript framework. So, I was really surprised when I started using it because with only a few lines of code, I could create a good application.

What kind of challenges did you face when you were learning how to use Angular? How did you manage to overcome them?

I would like to share that maybe it’s a common practice for developers that when we are working on some requirement for a project, we look it up on Google or Stack Overflow. And if we find a solution, we copy and paste the code without internalizing that knowledge. The same happened to me. Initially, I implemented bad practices as I did not know Angular completely. This led to the bad performance of my applications.

I overcame this challenge by checking the documentation properly and doing in-depth research on Google to learn good practices of Angular and implement them effectively in my applications. This approach helped me to solve all the performance-related problems.

How and why did you start sharing your knowledge by writing blog posts?

It was really difficult to learn Angular because, in the beginning, I did not have a solid basis for the web. So, I first had to work on that. And during the process of learning Angular, I always had to research something or the other because sometimes I couldn’t find the thing that I needed in the documentation.

I had to refer to blogs, search on Google, or go through books to solve my requirements. And then I started taking some notes. From there on, I decided to start writing so I could help other developers who might be facing the same set of challenges. The idea was to help people find something useful and add value to their learning process through my articles.
Google Dev Library Logo is in the top left with Vanessa's headshot corpped into a circle. Vanessa is wearing a dark grey t-shirt and smiling, a quote card reads, 'I decided to start writing so I could help other developers who might be facing the same set of challenges. the idea was to help people find something useful and add value to their learning process through my articles' Vanessa Aristizabal Dev Library Contributor
Find out more content contributed and authored by Vanessa Aristizabal (@vanessamarely) and discover more unique tools and resources on the Google Dev Library website!

Dev Library Letters: 16th Issue

Posted by the Dev Library Team

Welcome to the 16th Issue! Our monthly newsletter curates some of the best projects developed with Google tech that have been submitted to the Google Dev Library platform.  We hope this brings you the inspiration you need for your next project!

    Content of the month

How to exclude stylesheets from the bundle and lazy load them in Angular

by Dharmen Shah

Learn how to load stylesheets only when needed without making them part of an application bundle.


    Check out content from Google Cloud, Angular, Android, ML, & Flutter


Android

  • Check out this Android library that offers dialogs and views for various use cases built with Jetpack Compose for Compose projects by Maximilian Keppeler.

  • Learn how to create and publish your own Android Library with JitPack by Matteo Macri.

Angular

  • Dive into into composition and inheritance in Angular by Dany Paredes featuring an example focused on forms that highlights why you should be careful using inheritance in components.

  • Read “Angular dependency injection understood” by Jordi Riera to gain a broader perspective of how it works, why it is important, and how to leverage it inside angular.

Cloud

  • Learn how Iris automatically assigns labels to Google Cloud resources for manageability and easier billing reporting in this post by Joshua Fox.

  • Check out Glen Yu’s hack for those in regions without access to native replication in “Pulumi DIY GCS replication” - some of these solutions will require understanding of the fundamental building blocks that make up the Google Cloud Platform.

Flutter

  • Learn how to make Flutter projects scalable by using a modularization approach in R. Rifa Fauzi Komara’s article, “Flutter: mastering modularization”.

  • Check out Let’s Draw by Festus Olusegun, a simple app made with Flutter that enables users to draw art with freehand, line, and shape tools.

  • Explore how to use Cubits from the Bloc library to manage states and get the benefits and drawbacks of this approach in Verena Zaiser’s article.

Machine Learning

  • Get an overview on Convolutional Neural Networks (CNNs, ConvNets), why they matter, and how to use them in Henry Ndubuaku’s tutorial, “Applying CNNs to images for computer vision and text for NLP”.

  • See why you should add deep learning framework Jax to your stack and get an intro to writing and training your own neural networks with Flax in this introduction tutorial by Phillip Lippe.

Want to read more? 
Check out the latest projects and community-authored content by visiting Google Dev Library.
Submit your projects to showcase your work and inspire developers!

Dev Library Letters: 15th Issue

Posted by Garima Mehra, Program Manager

Our monthly newsletter curates some of the best projects developed with Google tech that have been submitted to the Google Dev Library platform. We hope this brings you the inspiration you need for your next project!

Content of the month

Check out our shortlisted Content from Google Cloud, Angular, Android, & Flutter


Google Cloud

Solve the common question, “who parked their car in my spot?” with this clever tutorial.

Designing a data schema 

by Mustapha Adekunle

Better understand what aspects come into consideration when designing a data schema.

Learn how to set up aggregated logging in an organization that has VPC Service Controls and find a Terraform module that lets you automate the setup for your own Google Cloud infrastructure.

Explore how to generate accurate business forecasts at a large scale using state of the art ML capabilities on the Google Cloud Platform.

Angular


Understand how to implement the Compound Component Pattern in Angular using Dependency Injection and Content Projection to create an excellent API for your components.

Android


Design patterns and architecture: The Android Developer roadmap — Part 4 

by Jaewoong Eum

Check out the 2022 Android Developer Roadmap- a multi-part series covering important Android fundamentals like Languages, App Manifest, App Components, Android Jetpack, and more.

Geofencing:boost your digital campaign 

by Veronica Putri Anggraini

Read this fun application of geofencing to manage the dilemma of where to eat lunch based on which restaurant has the best deal.

Flutter


Data structures with Dart: Set 

by Daria Orlova

Get over your fear of data structures and algorithms with this helpful and snappy how-to focused on the Set.


Want to read more?
Check out the latest projects and community-authored content by visiting Google Dev Library.
Submit your projects to showcase your work and inspire developers!



Interview with Doug Duhaime, contributor to Google’s Dev Library

Posted by the Google Dev Library Team

Introducing the Dev Library Contributor Spotlights - a blog series highlighting developers that are supporting the thriving development ecosystem by contributing their resources and tools to Google Dev Library.

We met with Doug Duhaime, Full Stack Developer in Yale University's Digital Humanities Lab, to discuss his passion for Machine Learning, his processes and what inspired him to release his PixPlot project as an Open Source.

What led you to explore the field of machine learning?

I was an English major in undergrad and in graduate school. I have a PhD in English literature. My dissertation was exploring copyright history and the ways that changes in copyright law affected the book market. How does the institution of fixed duration copyright influence the book market? To answer this question, I had to mine an enormous collection of data - half a million books, published before 1800 - to look at different patterns. That was one of the key projects that got me inspired to further explore the world of Machine Learning.

In fact, one of my projects - the PixPlot library - uses computer vision to analyze image collections, which was also partially used in my research. Part of my research looked at plagiarism detection and how readily people are inclined to copy images once it becomes legal to copy them from other texts. Computer vision helps us to answer these questions and identify key patterns.

I’ve seen machine learning and programming as a way to ask new questions in historical contexts. And there's a whole field of us - we're called digital humanists. Yale University, where I've been for the last five years, has a fantastic digital humanities program where researchers are asking questions like this and using fun machine learning platforms like TensorFlow to answer those questions.

Screenshot from the PixPlot library showing Image Fields in the Meserve-Kunhardt Collection with the following identified hotspots: Boxers, Buildings, Buttons, Chairs, Gowns

Can you tell us more about the evolution of your PixPlot library project?

We started in Yale's digital humanities lab with a project called neural neighbors. And the idea here was to find patterns in the Meserve-Kunhardt Collection of images.

Meserve-Kunhardt is a collection of photographs largely from the 19th century that Yale recently acquired. After being acquired by the university, some curators were preparing to identify all this really rich metadata to describe these images. However, they had a backlog, and they needed help to try to make sense of what's in this collection. And so, Neural Neighbors was our initial attempt to answer this question.

As this project went on, we started running up against limitations and asking bigger questions. For example, instead of just looking at the pictures, what would it be like to look at the entire collection all at once? In order to answer this question, we needed a more performant rendering layer.

So we decided to utilize TensorFlow, which allowed us to extract vector representation of each image. We then compressed the dimensionality of those vectors down to 2D. But for PixPlot, we decided to use a different dimensionality reduction technique called umap. And that brought us to the first release of PixPlot.

The idea here was to take the whole collection, shoot it down into 2D, and then let you move through it and look at the images in the collection wherein we expect images with similar content to be placed close by one another.

And so it's just evolved from that early genesis and Neural Neighbors through to where it is today.

What inspired you to release PixPlot as an open source project?

In the case of PixPlot, I was working for Yale University, and we had a goal to make as much of our contributions to the software world as possible open and publicly accessible without any commercial terms.

It was a huge privilege to spend time with the lab and build software that others found useful. I would say even more generally, in my personal life, I really like building things that people find useful and, when possible, contributing back to the open source world because, I think, so many of us learn from open source.

Google Dev Library Quote: We look at other people's examples and get excited by tools and projects others are building. And many of those are non-commercial. They're just open and free to the world. And it's great to give back when we can. Doug Duhaime Dev Library Contributor

Find out more content contributed and authored by Doug Duhaime and discover more unique tools and resources on the Google Dev Library website!

How is Dev Library useful to the open-source community?

Posted by Ankita Tripathi, Community Manager (Dev Library)


Witnessing a plethora of open-source enthusiasts in the developer ecosystem in recent years gave birth to the idea of Google’s Dev Library. The inception of the platform happened in June 2021 with the only objective of giving visibility to developers who have been creating and building projects relentlessly using Google technologies. But why the Dev Library?

Why Dev Library?

Open-source communities are currently at a boom. The past 3 years have seen a surge of folks constantly building in public, talking about open-source contributions, digging into opportunities, and carving out a valuable portfolio for themselves. The idea behind the Dev Library as a whole was also to capture these open-source projects and leverage them for the benefit of other developers.

This platform acted as a gold mine for projects created using Google technologies (Android, Angular, Flutter, Firebase, Machine Learning, Google Assistant, Google Cloud).

With the platform, we also catered to the burning issue – creating a central place for the huge number of projects and articles scattered across various platforms. Therefore, the Dev Library became a one-source platform for all the open source projects and articles for Google technologies.

How can you use the Dev Library?

“It is a library full of quality projects and articles.”

External developers cannot construe Dev Library as the first platform for blog posts or projects, but the vision is bigger than being a mere platform for the display of content. It envisages the growth of developers along with tech content creation. The uniqueness of the platform lies in the curation of its submissions. Unlike other platforms, you don’t get your submitted work on the site by just clicking ‘Submit’. Behind the scenes, Dev Library has internal Google engineers for each product area who:

  • thoroughly assess each submission,
  • check for relevancy, freshness, and quality,
  • approve the ones that pass the check, and reject the others with a note.

It is a painstaking process, and Dev Library requires a 4-6 week turnaround time to complete the entire curation procedure and get your work on the site.

What we aim to do with the platform:

  • Provide visibility: Developers create open-source projects and write articles on platforms to bring visibility to their work and attract more contributions. Dev Library’s intention is to continue to provide this amplification for the efforts and time spent by external contributors.
  • Kickstart a beginner’s open-source contribution journey: The biggest challenge for a beginner to start applying their learnings to build Android or Flutter applications is ‘Where do I start my contributions from’? While we see an open-source placard unfurled everywhere, beginners still struggle to find their right place. With the Dev Library, you get a stack of quality projects hand-picked for you keeping the freshness of the tech and content quality intact. For example, Tomas Trajan, a Dev Library contributor created an Angular material starter project where they have ‘good first issues’ to start your contributions with.
  • Recognition: Your selection of the content on the Dev Library acts as recognition to the tiring hours you’ve put in to build a running open-source project and explain it well. Dev Library also delivers hero content in their monthly newsletter, features top contributors, and is in the process to gamify the developer efforts. As an example, one of our contributors created a Weather application using Android and added a badge ‘Part of Dev Library’.

    With your contributions at one place under the Author page, you can use it as a portfolio for your work while simultaneously increasing your chances to become the next Google Developer Expert (GDE).

Features on the platform

Keeping developers in mind, we’ve updated features on the platform as follows:

  • Added a new product category; Google Assistant – All Google Assistant and Smart home projects now have a designated category on the Dev Library.
  • Integrated a new way to make submissions across product areas via the Advocu form.
  • Introduced a special section to submit Cloud Champion articles on Google Cloud.
  • Included displays on each Author page indicating the expertise of individual contributors
  • Upcoming: An expertise filter to help you segment out content based on Beginner, Intermediate, or Expert levels.

To submit your idea or suggestion, refer to this form, and put down your suggestions.

Contributor Love

Dev Library as a platform is more about the contributors who lie on the cusp of creation and consumption of the available content. Here are some contributors who have utilized the platform their way. Here's how the Dev Library has helped along their journey:

Roaa Khaddam: Roaa is a Senior Flutter Mobile Developer and Co-Founder at MultiCaret Inc.

How has the Dev Library helped you?

“It gave me the opportunity to share what I created with an incredible community and look at the projects my fellow Flutter mates have created. It acts as a great learning resource.”


Somkiat Khitwongwattana: Somkiat is an Android GDE and a consistent user of Android technology from Thailand.

How has the Dev Library helped you?

“I used to discover new open source libraries and helpful articles for Android development in many places and it took me longer than necessary. But the Dev Library allows me to explore these useful resources in one place.”


Kevin Kreuzer: Kevin is an Angular developer and contributes to the community in various ways.

How has the Dev Library helped you?

“Dev Library is a great tool to find excellent Angular articles or open source projects. Dev Library offers a great filtering function and therefore makes it much easier to find the right open source library for your use case.”



What started as a platform to highlight and showcase some open-source projects has grown into a product where developers can share their learnings, inspire others, and contribute to the ecosystem at large.

Do you have an Open Source learning or project in the form of a blog or GitHub repo you'd like to share? Please submit it to the Dev Library platform. We'd love to add you to our ever growing list of developer contributors!